1、软件工程课程设计 设 计 说 明 书 考试系统的设计与开发 学 生 姓 名 学 号 班 级 成 绩 指 导 教 师 数学与计算机科学学院 2012 年 12 月 26 日 软件工程课程设计评阅书 题 目 考试系统的设计与开发 学生姓名 学号 指导教师评语及成绩 成绩: 教师签名: 年 月 日 答辩教师评语及成绩 成绩: 教师签名: 年 月 日 教研室意见 总成绩: 室主任签名: 年 月 日 课程设计任务书 2012 2013 学年第 一学期 专业: 学号: 姓名: 课程设计名称: 软件工程课程设计 设计题目: 考试系统的设计与开发 完成期限:自 2012 年 12 月 17 日至 2012 年
2、 12 月 28 日共 2 周 设计依据、要求及主要内容(可另加附页): 考试是教师检查教学效质量的手段之一,也是教学工作的重要组成部分。随 着网络技术的发展,在线考试受到越来越多人的青睐,同时也减少了因考试而 消耗的不必要的人力和物力,结合本校考试管理工作情况及存在的问题,按软 件工程开发软件的思想开发考试系统,实现对学生考试全过程的管理,基本功 能要求如下: 1用户管理模块:教师,学生,管理员; 2. 题库管理模块:对试题进行添加、删除、更新及相关操作; 3试卷管理模块:抽试卷,答试卷,试卷备份,提交试卷等相关操作; 6成绩管理模块:查看成绩、统计成绩等; 5设计思想阐述清晰,界面友好,软
3、件测试方案合理、有效,软件能正 常运行。 指导教师(签字): 教研室主任(签字): 批准日期: 年 月 日 摘 要 在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局 域网进行,方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程 教育。我主要开发系统的后台管理系统JAVA 在线考试管理子系统,它包括试题管理、 考生管理、在线制作试卷、控制学生考试的设置、试卷审批等功能。本论文主要介绍了对 JAVA 在线考试管理子系统的分析、设计和开发的全部过程。运用 ER 图,程序流程图等 对在线管理子系统的设计过程进行详细的说明。 关键词:在线考试 ;j2EE 目
4、录 1 课题描述 7 1.1 开发背景 .7 1.2 系统开发目标 7 1.3 开发工具的选择 7 2 需求分析 8 2.1 背景分析 8 2.2 可行性分析 8 2.2.1 技术可行性分析 8 2.2.2 经济可行性 8 2.2.3 方案可行性 8 2.3 概要设计 8 2.4 总体设计 9 2.4.1 系统的功能模块图 9 2.4.2 系统功能模块 10 3 数据库设计 11 3.1 数据字典 .11 3.2 数据库的连接 13 4 详细设计 14 4.1 公共类设计 14 4.2 在线考试模块设计 15 4.3 查看考生试卷模块设计 16 4.4 考试设置信息维护模块设计 16 4.5
5、用户管理模块设计 17 5 程序调试与测试 19 5.1 系统运行环境 .19 5.2 测试目的 19 5.3 各功能模块测试 19 5.3.1 在线考试模块测试 19 5.3.2 查看试卷测试 20 5.3.3 管理员模块 21 5.3.4 用户管理模块测试 23 总 结 25 参考文献 25 1 课题描述 1.1 开发背景 在二十一世纪的新时代,随着计算机技术的发展及计算机的日益普及,基于在线考试 与无纸化办公一样已成为大势所趋。在线考试系统也越来越成为学校的好帮手,它的优势 不但体现在人力上也体现在物力上,在线考试系统的采用自动评阅、计分、成绩存档功能 将有效地避免资源的浪费,有利于环保
6、,减少人员,提高效率 。 1.2 系统开发目标 该系统是一个基于 B/S 模式的 Web 在线考试系统,根据科目出相应的考卷。 学生可以 进行考试,查看考试情况等操作。当考试完成后系统能自动地考试题评分。教师登陆时系 统可以还原学生考试试卷,可以查看学生总分,并生成各分数段情况信息,供给老师参考, 以便能够了解学生的学习情况。 1.3 开发工具的选择 本系统开发语言为 JAVA,从各 IDE 的性能和价格考虑所使用的开发工具主要是 MyEclipse。由于本系统数据量和负载量都比较大,从经济和效率上考虑本系统选用 mysql 数据库。 Web 服务器选 Apache 开源组织提供的 TomCa
7、t,TomCat 是一个免费的开源软件是 SUN 公司推荐的 web 服务器。 2 需求分析 2.1 背景分析 网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育 的发展形成新的推动力。随着 Internet/Intranet 的迅速发展和广泛普及,建立在其上的远 程教育成为现代教育技术未来发展方向之一,考试测试作为远程教育的一个子系统也成为 一个重要的研究领域。现代远程教育作为一种新的教学手段已经开始进入我们的生活,正 在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。 相比传统的考试方式,在线考试系统的主要好处是一方面可以动态地管理各种考试信 息,教师可
8、以网上出题,之后学生便可以网上进行答题,从而使得考教分离。 2.2 可行性分析 2.2.1 技术可行性分析 系统开发将要用到 JSP、ssh2、JavaBean、mysql 数据库技术。另外,硬件只需要一 台 pc 机,装上软件 MyEclipse,DreamWeaver 等开发工具 ,利用 mysql 作为后台的数据库, 利用 Tomcat 作为 Web 服务器,所以在这方面来说是可行的。已经掌握了开发考试系统方法 和开发工具,并且在调查过程中,已经了解和熟悉了在线考试系统的业务流程。综上所述 本系统开发从技术上是可行的。 2.2.2 经济可行性 从经济效益来分析,软件的开发成本不大,而其它
9、的投入也只是电脑。电脑的普及也 带来了低成本投入。由于系统运行的基础环境均已具备,无需重新开发建设,所以系统开 发、运行所需的费用是比较低的。而系统的效益很高可以提高管理效率实现计算机化、系 统化、规范化操作,效率大于投入,可行性很高。 2.2.3 方案可行性 根据系统的分析,本系统充分从适用性出发,全面为不同的使用用户考虑。使系统的许 多功能与规则都可根据用户的习惯进行定制,包括软件界面、操作方式、录入方式等。本 系统的设计充分从使用用户和教务教学任务考虑。 2.3 概要设计 本考试系统用户主要分为三类:学生,教师,管理员。 1.学生需求 学生登陆系统主要进行两类操作:在线考试,成绩查询。
10、(1)在线考试 学生登录后,学生选择考试科目,之后从备选试卷中选择要参考的试卷。学生在考试过 程中页面将提供考试时间倒计时功能,使考生随时了解考试剩余时间。在考试时间到时, 系统将自动地将学生考试试卷提交。当考试试卷提交时,系统自动评分,并且即使反馈给 考生。 (2)成绩查询 学生可以登陆系统查询各科成绩,其中成绩查询是查询自己的考卷,了解自己的考试 情况。 2.教师需求 教师登陆系统主要有三类操作:添加科目,添加试卷,添加学生和查看学生试卷,查 看相应试卷各分数段统计。 (1)添加科目 教师可以登录系统,添加自己所教科目。 (2)添加试卷 教师选择所要添加的科目后,便可以添加新的试卷,试卷包
11、括试卷考试时间,题目以 及每道题目的分值及选项,答案等。 (3)添加学生 教师登陆系统之后可以添加新的学生。 (6)查看学生试卷 教师登陆系统之后可以查看到参加该门考试的学生的考试情况。 (5)查看相应试卷各分数段统计 教师登陆系统之后可以查看到考试的分数段情况。 3.管理员 系统管理员登陆系统后主要进行一类操作:添加教师信息以及具有老师的一切权限 (1)添加教师信息 管理员可以添加教师信息。 (2)具有老师的一切权限 管理员可以查看所有老师出的试卷,并进行删除操作,并且自己可以独立进行添加科 目,添加试卷,添加学生等操作。 2.4 总体设计 2.4.1 系统的功能模块图 根据 2.3 所述需
12、求,设计出系统功能模块如图 2-1 所示: 图 2-1 系统的功能模块图 2.4.2 系统功能模块 1、 在线考试 在线考试的流程如下: 首先考生进入系统后选择科目,之后进行试卷的选择进行答题操作。答题必须在规定 的时间内进行,此时间是由教师在出试卷时设置好的,如在规定的时间内没有完成答题, 系统将强制提交学生考试试卷进。考生在试卷提交后系统自动地为试题进行评分,本系统 的试题主要有单选题,双选题,多选题。其数据流图如 3.3 所示。 图 2-2 第 2 层在线考试数据流图 2、成绩查询 考生根据用户编号查询考试成绩信息。成绩信息包括单选题得分,多选题得分等详细信 息。页面提供对相应科目试卷的
13、链接,使得学生还可以查询自己的考卷,了解自己的考试 情况。 3、试题维护 试题维护是后台教师的重要功能,它包括对试题的添加,修改,删除操作。为了使界 面更友好,管理员在试题维护时系统会先将考试试题读出,再提供给管理员操作。其数据 流图如图 2-3 所示 6 . 1 查看考题信 息 考题信息 6 . 2 添加考题信 息 6 . 2 更新考题信 息 考题信息考题维护请求 考题信息 考题信息 考题信息 考题信息 考题信息 图 2-3 第 2 层考题维护数据流图 4、用户管理 用户管理是管理员对系统用户信息的管理。这些用户包括学生和教师。用户管理操作包 括添加用户和删除用户。管理用户时,系统会先将用户
14、信息读出供给管理员参考,再提供 给管理员操作。其数据流图如图 2-4 所示。 8 . 1 查看用户信 息 用户信息 8 . 2 添加用户信 息 8 . 2 更新用户信 息 用户信息用户管理请求 考试设置信息 用户信息 用户信息 用户信息 用户信息 图 2-4 第 2 层用户管理数据流图 3 数据库设计 3.1 数据字典 通过对系统功能的分析可知,本系统主要包括如下的数据库信息: (1)管理员表,该表保存了系统管理员的基本信息,属性有管理员编号、管理员名称、 管理员密码。其中管理员编号为主码,它是用户信息的唯一标识。表结构如表 3-1 所示。 (2)学生表,该表保存了学生的基本信息,属性有学生编
15、号、学生名称、学生密码。 其中学生编号为主码,它是用户信息的唯一标识。表结构如表 3-2 所示。 (3)考题表,该表用于保存考题的基本信息,属性有考题编号,考题类型,本题分数 等。其中考题编号为主码。表结构如表 3-3 所示。 (6)科目表,该表用于保存考试科目的基本信息,属性有科目编号,科目名称。其中 科目编号为主码。表结构如表 3-6 所示。 (5)试卷表,该表用于保存考生的试卷信息,属性有试卷编号,试卷名称,试卷状态, 考试时间等。其中试卷编号作为主码。表结构如表 3-5 所示。 (6)成绩表,该表用于保存考生的考试成绩信息,属性有成绩编号,考生编号,课程 编号,总得分。其中成绩编号作为
16、主码。表结构如表 3-6 所示。 (7)答案表,该表用于保存试题的答案信息,属性有答案编号,所属题目编号,答案 内容等。其中答案编号作为主码。表结构如表 3-7 所示。 (8)学生答案表,该表用于保存考生考试的答案信息,属性有答案编号,所属学生编 号,答案内容,试题编号等。其中答案编号作为主码。表结构如表 3-8 所示。 系统表结构如下: 表 3-1 教师或管理员表(t_admin) 字段 类型 允许为空 说明 备注 Id int(11) 否 用户编号 pk username varchar(50) 否 教师或管理 员姓名 管理员只有一个,教师 可以有多个 password varchar(5
17、0) 否 密码 表 3-2 学生表(t_student) 字段 类型 允许为空 说明 备注 id int(11) 否 用户编号 pk username varchar(50) 否 学生名 password varchar(50) 否 密码 表 3-3 考题表(t_question) 字段 类型 允许为空 说明 备注 id int(11) 否 考题编号 pk 自增长 type varchar(10) 否 考题类型 单选 多选 双选 Point int(11) 否 考题分数 content text 否 题目 paperId int(11) 否 所属试卷 外键 表 3-6 科目表(t_subjec
18、t) 字段 类型 允许为空 说明 备注 id int(11) 否 科目 id pk name varchar(50) 否 科目名称 表 3-5 试卷表(t_paper) 字段 类型 允许为空 说明 备注 id int(11) 否 试卷 id pk name varchar(50) 否 试卷名称 state Varchar(20 否 试卷状态 开放和关闭两种状态 ) time int(11) 否 考试时间 以分钟为单位 adminId int(11) 否 所属管理员 fk subjectId int(11) 否 所属科目 fk 表 3-6 成绩表(t_score) 字段 类型 允许为空 说明 备
19、注 id Varchar(10 ) 否 成绩编号 pk mark Varchar(20 ) 否 成绩值 student_Id float 否 考生 ID fk paper_Id float 否 科目 ID fk 表 3-7 答案表(t_answer) 字段 类型 允许为空 说明 备注 id int(10) 否 答案编号 pk aitem varchar(50 ) 否 A 选项内容 bitem varchar(50 ) 否 B 选项内容 citem varchar(50 ) 否 C 选项内容 ditem varchar(50 ) 否 D 选项内容 content varchar(50 ) 否 正
20、确答案 questionId int(11) 否 所属问题 ID fk 表 3-8 学生答案表(t_studentanswer) 字段 类型 允许为 空 说明 备注 id int(10) 否 学生答案编号 pk questionIdList varchar(255 ) 否 学生答题题目 ID 序 列 学生所答试卷题目 的有序序列 answerList varchar(255 ) 否 学生答题答案序列 学生答卷的答案序 列 studentId int(11) 否 学生 ID fk 3.2 数据库的连接 在本系统中我们使用 JDBC-ODBC 桥连接,要进行数据库连接首先要配置数据源。按 3.3.
21、1 设计,设计好数据库 exam_online,再建一个名为 exam_online 的数据源。系统连接数据 库的流程图如图 3-1 所示: 开始 注册驱动 建立连接 找到数据 源 ? 操作数据库 关闭连接 结束 抛出异常 是 否 图 3-1 系统连接数据库流程图 4 详细设计 4.1 公共类设计 1Domain 类设计 由于数据库使用的类系统模型,而 java 数据为对象模型,使得其模型不匹配。为了方 便关系模型和对象模型间的转换,建应的 Domain 类,即数据库中每个表对应一个类,表中 类属性对应表的各属性,再为各个属性设计一个读方法(get)和一个写方法(set)如学 生类: pack
22、age com.exam_online.model; public class Student private int id; private String username; private String password; public int getId() return id; public void setId(int id) this.id = id; public String getUsername() return username; public void setUsername(String username) this.username = username; publ
23、ic String getPassword() return password; public void setPassword(String password) this.password = password; 表和类的对应关系如下: 教师(管理员)表(t_admin)教师(管理员)类(Admin) 答案表(t_answer)答案类(Answer) 试卷表(t_paper)试卷类(Paper) 题目表(t_question)题目类(Question) 成绩表(t_score)成绩类(Score) 学生表(t_student)成绩类(Student) 学生考卷答案表(t_studentans
24、wer)学生考卷答案类(StudentAnswer) 科目表(t_subject)科目类(Subject) 2.公具类设计 根据系统设计需求,设计如下工具类: 数据库连接工具类,主要提供连接数据操作等相关方法。 字符加密类,主要对密码进行加密处理。 4.2 在线考试模块设计 在线考试流程为:首先系统将考试信息和考生个人信息提供给考生,并要求考生核对 个人信息。考生在选好试卷后进行答题操作。答题必须在规定的时间内进行,此时间是由 管理员事先设置好的,如在规定的时间内没有完成答题,系统将强制提交学生考试试卷进。 考生在试卷提交后系统自动地为试卷进行评分,并将试卷保存,供给老师查看或修改。在 线考试
25、 流程图如图 3-2 所示。 图 3-2 在线考试流程 4.3 查看考生试卷模块设计 教师登陆后,可以对考生试卷进行查看和修改。系统首先将考生的试卷读出,教师可 能看到学生的大体情况。 主要思路:教师点击查看,可以通过数据库成绩表查到考生考试信息,通过考试信息 生成 jsp 页面,显示出考生的考卷情况,从而对学生的考试情况有个了解。 4.4 考试设置信息维护模块设计 考试设置信息维护是管理员对考试设置信息维护,它包括对考试设置信息的添加,修 改,删除。这些考试信息包括考试时间,各题的数量和分值等。设置时,系统先读取已存 在的考试设置信息供给管理员查询,再提供给管理员操作。考试设置信护流程图如图
26、 3-3 所示。 开始 读取试卷设置 信息 选择操作 添加试卷设置 修改试卷设置 册除试卷设置 等待管理员输 入信息 获取输入信息 添加试卷设置 信息 添加成 功 ? 重新绑定数 据 结束 等待管理员输 入信息 获取输入信息 修改试卷设置 信息 修改成 功 ? 重新绑定数 据 确认删除 ? 删除试卷设置 信息 删除成功 重新绑定数 据 是 否 是 否 是 否 是 否 图 3-3 考试设置信息维护流程 4.5 用户管理模块设计 用户管理是管理员对系统用户信息的管理。这些用户包括学生和教师。用户管理操作 包括添加用户和删除用户。添加用户时,删除管理用户时,系统会先将用户信息读出供给 管理员参考,再
27、提供给管理员操作。修改用户时用户编号和用户密码不能被修改其它均能 被修改;用户时,系统会先提醒管理员是否删除,若果确认删除才能删除用户。用户管理 流程图如图 3-4 所示。 开始 读取用户信息 选择操作 添加用户 更新用户信息 册除用户信息 等待管理员输 入信息 获取输入信息 添加用户信息 信息 添加成 功 ? 重新绑定数 据 结束 等待管理员输 入信息 获取输入信息 更新用户信息 信息 更新成 功 ? 重新绑定数 据 确认删除 ? 删除用户信息 信息 删除成功 重新绑定数 据 是 否 是 否 是 否 是 否 图 3-4 用户管理流程 5 程序调试与测试 5.1 系统运行环境 数据库:mysq
28、l Web 服务器:Tomcat6.0 及以上版本 操作系统:能运行 java 虚拟机的操作系统均可 5.2 测试目的 系统测试是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错 误的测试。 测试的目的就是希望能以最少的人力和时间发现潜在的各种错误和缺陷。应根据开发 各阶段的需求、设计等文档或程序的内部结构精心设计测试用例,并利用这些实例来运行 程序,以便发现错误。系统测试应包括软件测试、硬件测试和网络测试。硬件测试、网络 测试可以根据具体的性能指标来进行,此处所说的测试更多的是指软件测试。系统测试是 保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析系统设计和实施的
29、最 后复查。 5.3 各功能模块测试 将工程导入 Tomcat 的项目文件夹生即 webapps 文件夹中, 再启动 TomCat 服务器。在 浏览器中输入工程的 URL,可进入系统操作界面,用户可以选择操作。 5.3.1 在线考试模块测试 在主界面点击学生考试,可以进入学生登陆界面。此界面在提交数据时有简单验证功 能,如学号不能为空等,用户名是否正确等,如图 5-2 所示。 图 5-2 学生登陆界面 成功登录后进入考卷选择界面,如图 5-3 所示。系统通过学生所选科目,产生相应科 目考试列表,供给考生选择。 2 图 5-3 试卷选择页面 点击开始考试,将进入到考试页面,考生开始答题,如图 5
30、-4 所示。在答题时系统提 供剩余时间倒计时功能,以方便了角答题时间。当考试剩余时间为 0 时系统将自动提交试 卷。 图 5-4 学生考试页面 5.3.2 查看试卷测试 考生答完题后,试卷即可给出相应答案,如图 5-5 所示。 3 图 5-5 成绩显示 5.3.3 管理员模块 在浏览器中输入“http:/127.0.0.1:8080/exam_online_lxb/frame_login.jsp”进入 管理员登录页面。当提交登陆信息时,系统会进行简单的数据验证,如验证码输入的正确 性,如图 5-6 所示。 图 5-6 管理员登陆界面 输入正确的登陆信息后,进入试题管理界面,如图 5-7 所示。
31、 图 5-7 管理员管理界面 4 在试题管理界面上,点击创建题库,即可进行添加科目的操作,如图 5-8 所示。 图 5-8 添加科目 点击添加题目,即可进行题目的添加操作,如图 5-9 所示。 图 4-11 添加题目 现点击右侧导航栏的试卷管理中的添加试卷,即可进行添加试卷的操作,如图图 图 5-9 添加题目 试题整理完成,即可发布试卷,如图 5-10 所示。 5 图 5-10 试卷发布 5.3.4 用户管理模块测试 进入用户管理界面,然后创建用户,如图 5-11 所示。 图 5-11 添加用户 6 创建好的用户及其相应权限显示,如图 5-12 所示。 图 5-12 查看所有用户信息 7 总
32、结 从电子文档、多媒体的应用,到利用 Internet 做尝试,网络已经渗入到教育体系的各 个环节网上考试系统作为这场变革中必不可少的环节之一,受到越来越多的关注网上 考试系统不仅和传统考试方式一样要权衡公平性,而且还具有一些新特点 13 1)从管理的角度看,在线考试系统可以帮助教师完成一个考试从题目设计,考试安排, 考试实施,考卷批改到分数统计总结的所有工作,系统实现了无纸化管理,提高了管理的 效率;所有的考试数据和其他数据库需要一种主流的方式进行存储和管理,例如使用数据 库技术,题库对于每个出题者都只是显示了部分视图,很好地实现了教考分离 2)在不改变传统考试基本步骤的条件下,只要有考试客户端可以连接到考试应用服务 器,指定考生可以在任何地方进行身份确认,都能完成考试 3)考试结果反馈及时准确考试的结果在提交试卷后就可以知道,同时提供一个机会 让考生知道自己哪里做错了考生的考试结果可以被保存下来,供教师进行分析统计和察 看。 8 参考文献 1 软件工程导论.北京:清华大学出版社.张海藩 2008.2 2 软件工程(第二版).北京:人民邮电出版社.张海藩 2006 3 高级软件开发过程.北京:清华大学出版社.金敏,周翔 2005 4 数据库系统原理及应用教程.北京:机械工业出版社.苗雪兰 2007.8
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。