1、1在线考试系统概要设计说明书21 引言. 31.1 编写目的. 31.2 项目背景. 31.3 定义. 41.4 参考资料. 42 任务概述. 4 2.1 目标. 42.2 运行环境. 43 总体设计. 43.1 基本设计概述和处理流程. 43.2 系统总体结构和模块外部设计. 54 接口设计. 54.1 外部接口. 54.2 内部接口. 65 数据结构设计. 65.1 逻辑结构设计. 65.2 物理结构设计. 65.3 数据结构与程序的关系.106 运行设计.106.1 运行模块的组合.106.2 运行控制.106.3 运行时间.107 出错处理设计.107.1 出错输出信息.107.2 出
2、错补救措施.108 维护设计.1131 引言1.1 编写目的由前面的需求分析,的除了系统的基本需求,和基本的用例图,要实现整个系统,需要对用户的需求进行设计,概要设计主要是利用比较抽象的语言对整个需求进行概括,确定对系统的物理配置,确定整个系统的处理流程和系统的数据结构,接口设计,实现对系统的初步设计。预期读者为客户代表及程序设计人员。1.2 项目背景随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件
3、设计人员提出了更高的设计要求。远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应
4、用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。伴随着远程教育的蓬勃发展,作为教学当中不可分割的一部分的在线考试系统也得到了当今远程教育研究者的关注,考试是考察学生对所学习知识的接受和理解程度的重要手段,无纸化的考卷,考试的随时性,随地性,这些特点都是研究并开发网络考试系统主要的原因,网络考试系统远远超越了传统考试固定时间,固定地点的考试模式的限制,将给学生和老师带来极大的便利。随着 Int
5、ernet 的相关技术的发展,特别是 Web 技术的出现,人们开始致力于研究和开发基于 Internet 考试系统,这也大大推动了远程教育的发展2。如今世界上对于基于 Internet 的远程考试系统所进行的研究开发工作不是很长,但是基于 web 技术构建的在线考试系统已然成为发展的主流。数据库安全、共享、数据传输过程的安全性、访问控制技术、身份识别技术都是构建考试系统要考虑的问题。 目前,一些远程教育机构已经开发出了在线考试系统,基本实现了基于 Internet 的 B/S 结构在线考试。通过 Server 端的后台试题库动态生成考卷和对于标准化的试题即时评定成绩。但是与传统的4纸面考试相比
6、,目前的在线测试都是基于标准化考试的,而且一般只能用于非正规的考试,因为对于很多方面考虑的还不是很完善,因而使得在线考试在近段时间很难完全替代传统的考试。1.3 定义SQL Server2005:数据库管理软件DBMS:数据库管理系统Windows 2000/2003/XP:运行环境Java:软件开发语言Tomcat:服务器1.4 参考资料SQL Server 2000 中文版入门与提高.周绪,管丽娜,白海波著 清华大学出版社基于 B/S 结构的高校教务办公自动化系统的设计与实现徐琳 吕磊 洪志全 电脑与信息技术 2001 年第 3 期2 任务概述2.1 目标该软件用于学生课后学习的补充。随着
7、该学习的规模扩大,学员逐年成数倍增长,课程的设置管理,成绩的管理工作越来越繁重,急需一个软件系统解决这些问题。本软件应能结合当前学生学习传统作业的流程以及将来业务发展的需要,对学生信息管理业务中学生信息、课程题库信息等等的查询、维护提供完全的计算机管理。2.2 运行环境服务器端:软件环境是操作系统:windows XP 数据库:SQL SERVER 2005硬件环境是内存 256M 以上;客户端:软件环境是 IE6.0 及以上 硬件环境是能支持软件的最低配置。2.3 限制描述系统从数据库中存取数据的传输速度较慢3 总体设计3.1 基本设计概述和处理流程5考生考生身份验证学生信息表生成试卷教师教
8、师身份验证身份验证失败学生信息表试卷恢复做试卷 试卷备份 学生答题卷表交卷评卷 学生成绩图 3.1.1 系统流程图 3.2 系统总体结构和模块外部设计4 接口设计4.1 外部接口无硬件接口;网上考试系统学生端 管理端教师端交卷答卷选择试卷出卷判卷统计成绩上成绩权限管理系统维护6软件接口是通过 JDBC 对 SQL Server 数据库进行连接。4.2 内部接口通过 JSP+Servlet+Javabean,结合 Xml 语言实现系统各模块功能的结合及实现。5 数据结构设计5.1 逻辑结构设计整个系统各实体可以用一下关系来表示(其中主键使用下划线表示)管理员(管理员编号,管理员名字,管理员密码)
9、教师(教师号,教师名,密码,教师职称,职务,电话,通讯地址,E-mail,简介)学生(学号,姓名,密码,出生日期,性别,年龄,家庭地址,专业,班级编号)班级(班级编号,班级名,系院编号)课程(课程编号,教师编号,科目名称)试卷(试卷号,课程编号,开始时间,结束时间)试卷班级(试卷号,所属班级)成绩(试卷号,学生学号,成绩)分值(试卷号,题型,数量,分值)组卷(试卷号,试题序号,题型,试题号)答卷(编号,试卷号,学生学号,题型,试题序号,学生答案,学生得分)教师反馈(试卷号,学生编号,教师号,反馈信息)题型(题型编号,题型名称,所属科目)章节(章节编号,章节名,课程编号)主观题(试题号,题型编号
10、,试题题目,答案,章节编号)选择题(试题号,试题题目,A,B,C,D,正确答案,章节编号)判断题(试题号,试题题目,正确答案,章节编号)试卷是否提交(学生编号,试卷编号,是否提交)5.2 物理结构设计表 5.2.1 管理员表序号 列名 列名说明数据类型长度 主键 是否为空1 GuanliyuanID 管理员编号Char 20 是 否2 GuanliyuanName 管理员名字Char 20 否 否3 Guanliyuanmima 管理员密码Char 20 否 否表 5.2.2 教师表序号 列名 列名说明数据类型长度 主键 是否为空1 TeacherID 教师号 Char 20 是 否2 Tea
11、chername 教师姓 Char 20 否 否7名3 Teachermima 密码 Char 20 否 否4 Teacherzhicheng 教师职称Char 20 否 是5 Teacherzhiwu 职务 Char 20 否 是6 Teachernuber 电话 Char 20 否 是7 Teacherzip 通讯地址Char 20 否 是8 TeacherE-mail E-mail Char 20 否 是9 Teacherjianjei 简介 Char 20 否 是表 5.2.3 学生信息表序号 列名 列名说明 数据类型 长度 主键是否为空1 studentid 学生编号 Varchar
12、 20 是 否2 studentname 学生姓名 Varchar 20 否 是3 studentpwd 密码 Varchar 20 否 是4 studentbrith 出生年月 Varchar 20 否 是5 studentsex 性别 Varchar 4 否 是6 studentage 年龄 Int 否 是7 studentaddress 家庭住址 Varchar 20 否 是8 studentmajor 所属系部 Varchar 20 否 是9 classid 所属班级 Varchar 20 否 是表 5.2.4 班级信息表序号 列名 列名说明 数据类型 长度 主键 是否为空1 clas
13、sid 班级编号 Varchar 20 是 否2 classname 班级名称 Varchar 20 否 是3 depid 系部编号 Varchar 20 否 是2 depname 系部名称 Varchar 20 否 是表 5.2.5 课程编号序号 列名 列名说明 数据类型 长度 主键 是否为空1 课程编号 Char 20 是 否2 教师编号 Char 20 否 否3 科目名称 Char 20 否 否表 5.2.6 试卷信息表表 5.2.7 试卷班级序号 列名 列名说明 数据类型 长度 主键 是否为空1 paperid 试卷编号 Varchar 20 是 否2 courseid 科目编号 Va
14、rchar 20 否 是3 startime 开始时间 Datetime 否 是4 endtime 结束时间 Datetime 否 是8表 5.2.8 学生成绩信息表序号 列名 列名说明 数据类型 长度 主键 是否为空1 paperid 试卷编号 Varchar 20 否 是2 stuid 学生编号 Varchar 20 否 是3 score 成绩 int 否 是表 5.2.9 试卷分值管理表序号 列名 列名说明数据类型长度主键 是否为空1 paperid 试卷编号Varchar 20 是 否2 questiontypename 题型名 Varchar 20 否 是3 number 出题个数I
15、nt 否 是4 value 分值 Int 否 是表 5.2.10 生成试卷表表 5.2.11 学生答卷信息表序号 列名 列名说明数据类型长度主键是否为空1 id 编号 Varchar 20 是 否2 paperid 试卷编号Varchar 20 否 是3 stuid 学生编号Varchar 20 否 是4 questiontypename 题型名 Varchar 20 否 是5 questionid 试题编号Varchar 20 否 是6 stuanswer 学生答案Varchar 20 否 是7 stuscore 学生得分Varchar 20 否 是序号 列名 列名说明 数据类型长度 主键
16、是否为空1 paperid 试卷编号 Varchar 20 否 是2 classid 班级编号 Varchar 20 否 是序号 列名 列名说明数据类型长度主键 是否为空1 paperid 试卷编号Varchar 20 是 否2 questionsort 顺序 Varchar 20 否 是3 questiontypename 题型名 Int 否 是4 questionid 试题编号Iint 否 是9表 5.2.12 教师反馈信息表序号 列名 列名说明 数据类型 长度 主键 是否为空1 paperid 试卷编号 Varchar 20 否 是2 stuid 学生编号 Varchar 20 否 是3
17、 teacherid 教师编号 Varchar 20 否 是4 back 反馈意见 Varchar 40000 否 是表 5.2.13 题型管理信息表序号 列名 列名说明 数据类型长度主键 是否为空1 typeid 题型编号 Varchar 20 是 否2 questiontypename 题型名 Varchar 20 否 是3 courseid 所属科目编号Varchar 20 否 是表 5.2.14 章节信息表序号 列名 列名说明 数据类型 长度 主键是否为空1 chapterid 章节编号 Varchar 20 是 否2 chaptername 章节名称 Varchar 20 否 是3
18、courserid 科目编号 Varchar 20 否 是表 5.2.15 判断题信息表序号 列名 列名说明 数据类型 长度 主键是否为空1 selectid 判断题编号Varchar 20 是 否2 questiontitle 判断题题目Varchar 100 否 是3 answer 正确答案 Varchar 20 否 是4 chapterid 章节编号 Varchar 20 否 是表 5.2.16 选择题信息表序号 列名 列名说明 数据类型 长度 主键是否为空1 selectid 选择题编号Varchar 20 是 否2 questiontitle 选择题题目Varchar 100 否 是
19、3 A A 答案 Varchar 20 否 是4 B B 答案 Varchar 20 否 是5 C C 答案 Varchar 20 否 是6 D D 答案 Varchar 20 否 是7 answer 正确答案 Varchar 20 否 是8 chapterid 章节编号 Varchar 20 否 是表 5.2.17 客观题信息表10序号 列名 列名说明 数据类型长度 主键 是否为空1 subid 客观题编号 Varchar 20 是 否2 typeid 客观题题型编号Varchar 20 否 是3 questiontitle 客观题题题目Varchar 100 否 是4 answer 正确答
20、案 Varchar 8000 否 是5 chapterid 章节编号 Varchar 20 否 是表 5.2.18 试卷是否提交表序号 列名 列名说明 数据类型 长度 主键 是否为空1 stuid 学生编号 Varchar 20 否 是2 paperid 试卷编号 Varchar 20 否 是3 startime 开始时间 datetime 否 是4 endtime 结束时间 datetime 否 是5 submit 是否提交 Varchar 20 否 是6 resulttime 剩余时间 int 否 是5.3 数据结构与程序的关系数据结构为关系型数据库,所以,在程序中可以通过标准的 SQL
21、语句与数据结构进行交互,交互过程中采用通用的数据访问接口。为了保持良好的程序架构,对数据库访问采用 DAO 设计模式实现,提高维护性急扩展性。6 运行设计6.1 运行模块的组合本系统是由多个 JSP 页面及 Servlet 构成,通过页面跳转来实现各个模块之间不同功能的链接和组合。各模块之间相对独立,属于高内聚低耦合,可以执性好。各模块之间主要通过 JSP 的内置对象以及动作指令标记实现模块之间的合作和数据共享。6.2 运行控制符合操作说明,用户根据自己身份进行登录以及进行权限内的操作。对输入信息无特别限制,系统自行处理异常并给出提示信息。6.3 运行时间由于是直接从数据库中存取相关信息,页面产生速度可能不够理想,但基本上可以接受的。7 出错处理设计7.1 出错输出信息