1.5 任务概述
1)由于考试对应的是特定的对象,所以系统需要经过有效的身份验证才可以登陆。
- 4 -
在线考试系统——需求分析
2)系统的权限一般分为四种:系统管理员,院级管理员,老师和学生。不同的身份使用不同的权限和功能。
3)老师需要参与阅卷,负责试题的录入及更新和修改,对试题的分类,每次考试前,需要对试场环境和考生状态进行考前初始化工作。查看学生的成绩等等。
4)院级管理员不仅具有老师有得功能之外,还需要对考试,用户进行有效的管理,
5)系统要有良好的试卷提交功能,确保信息传送的正确性。
6)系统要有一个友善的界面,确保考生考试的顺利进行。
7)因为试卷中的主观题需要老师批改,可能需要一段时间才能查询到成绩。但如果试卷是由客观题型组成的,考生就可以在考试结束后查询到自己的成绩了。
8)系统提供对考生成绩的统计和查询等管理功能。
9)系统应具有良好的安全性管理
1.5.1 目标
目前国内基于B/S、C/S结构的在线考试系统产品已经有许多,然后通过仔细分析,提出了目前的这些系统还存有系统更新和维护等种种弊端,仍不够成熟。基于对现有产品的思考,结合J2EE的成熟技术,我们想到了是否可以将该技术运用在在线考试系统中,提出了一个基于J2EE架构的在线考试系统。通过将该架构与已有结构的在线考试系统进行比较,分析了该架构的优势,重点介绍了该框架的整体构造以及相关的概念和技术。并通过设计了
- 5 -
在线考试系统——需求分析
一个基于J2EE架构的在线考试系统对该架构做了一个比较深入的剖析。最后,对J2EE技术做了一个总结性的展望,认为该技术有着良好的发展空间和广阔的前景。
1.5.2 用户的特点
考虑到使用该系统的是在校的学生,老师,及计算机相关的系统管理员,所以在使用本系统方面相信不会有太大困难,并且本系统旨在提供友好化,人性化界面。
1.6 运行环境
1.6.1 软件环境
操作系统:Microsoft Windows xp
支持环境:测试服务器tomcat6.0
数 据 库:Microsoft SQL Server 2000;
1.6.2 硬件环境
客户端:内存1G,IE浏览器5以上
服务器端:硬盘容量要求较大,处理器要求较高
1.7 需求规定
- 6 -
在线考试系统——需求分析
1.7.1 系统边界
本系统从用户角度出发,考虑用户角色不同,主要使用的功能也不相同,所以从用户角色划分为四个模块,即:学生,老师,院级管理员和系统管理员。
1.7.2 各子模块功能的描述
1.7.2.1学生
1.7.2.1.1学生用例图
- 7 -
在线考试系统——需求分析
ASAA1.2 查询学生信息< 学生角色用例图 1.7.2.1.2学生功能模块用例描述 登录: 1) 进入页面后,将看到页面上显示以下内容 用户名,密码,以及验证码 2) 输入用户名,密码,验证码 - 8 - 在线考试系统——需求分析 在信息输入后,将有对格式,长度等的基本验证,若不符合规范,则提示其不符合规范。 3) 单击登录,若验证码错误,则提示验证码错误; 若验证码无误,则检索数据库,该用户存在则允许其进入相应页面; 否则提示用户名或密码错误。 考试: 前置条件:开考前 事件流: 1、在考试规定的时间内,考生登陆本系统,用例开始 2、老师在题库中保存要进行考试的试题,学生选择考试科目,点击开始考试,则系统自动从题库中抽出一张完整的试题 3、当学生要进行提交试卷时,点击提交,试卷自动保存。 4、如果到了规定交卷的时间,学生尚未交卷,则系统将自动交卷。 后置条件:学生提交答卷系统自动保存 - 9 - 在线考试系统——需求分析 查看成绩: 前置条件:一个合法的用户成功登陆本系统 1、用户成功登陆本系统,用例开始 2、考生可在开考之前查看考试时间,题型结构 3、考生也可在考试之后查看自己的成绩 后置条件:用户退出本系统 1.7.2.1.3学生功能描述 (1)登录:只有当学生进行登陆之后才可以进行各种功能的操作,如:做题,提交试卷、修改个人资料、查询成绩等等。 (2)参加考试:当学生进入页面后选择本次考试的试卷,然后点击开始考试,系统会给出一张试卷,试卷上有考试的规定时间,当学生做完试卷后可以点击提交,进行提交操作,当学生做题时间超过了本次考试的答卷时间,那么试卷会被强制提交。 (3)查看信息:在考试之前,学生可以登录系统查看自己的考试信息,包括考试科目,考试时间,试卷类型,总分等等一些关于本次考试相关的信息,学生也可以查询老师的信息。 (4)查询成绩:考试结束后,将等待老师发布本次考试成绩之后,学生登录即可查到 - 10 - 在线考试系统——需求分析 本次考试的详细信息,包括每题得分情况,正确错误等等。 (5)修改密码:学生可以修改自己的登录密码。 1.7.2.2老师 1.7.2.2.1老师用例图 ASAA1.2 查询学生信息< 老师角色用例图 1.7.2.2.2老师用例描述 AST_1 登录 - 11 - 在线考试系统——需求分析 登录: 前置条件:用户访问本站首页 事件流: 1、 输入用户名,密码以及验证码,以及登录身份 2、 若验证码错误,则不进行用户名密码的判断,请用户重新输入验证码; 否则查找数据库相对应表记录 若用户名和密码存在,则表示该用户存在,则允许该用户进入用户角色对应的操作界面;否则请用户重新输入,系统重复以上操作,直至用户成功登录或者用户取消操作。 T_1管理试卷: 管理试卷用例图: - 12 - 在线考试系统——需求分析 MMT_1.1 维护试卷MM< T_1.2阅卷管理: 前置条件:当考生提交试卷,考试结束之后 事件流: 1、当学生提交答卷完成后,用例开始 2、阅卷老师调出考生提交的答卷并进行评阅,给出各题的分值 3、评阅完成后,老师将改卷进行保存,并给出总分 4、评卷完成后,老师可查看考试答卷的各题的出错率 5、老师可修改自己的登陆密码 后置条件:评卷完成提交,系统会自动保存改卷后 - 13 - 在线考试系统——需求分析 T_1.1维护试卷: MT_1.1.1 组卷MMT_1.1 维护试卷T_1.1.2 查找试卷MT_1.1.3 删除试卷 组卷: 前置条件:老师已经登录到该系统 事件流: 1、 老师点击开始组一份新试卷 2、 输入试卷名称,考试时间,试卷总分 3、 选择组卷方式(综合组卷) 4、 选择题型,给定数量,选择知识点,给定分值(组卷的总分必须和输入的总分相等)点击确定 - 14 - 在线考试系统——需求分析 5、 系统将自动生成一份试卷,根据组卷方式,老师可以更改某些试题 6、 试卷符合老师的要求,点击确定。若不符合老师要求可以删除这份试卷。 7、 确定后,系统将对这份试卷进行保存。 T_2管理考试 管理考试用例图 AA_2.1 开关考试MMAA_2.2 发布成绩MM< 开放关闭考试系统: 前置条件:老师以院级管理员的身份已经登录到该系统 事件流: - 15 - 在线考试系统——需求分析 1、 老师登录系统后,点击管理考试 2、 进入页面选择本时间段考试的科目及其所用试卷 3、 选择试卷的使用者是何年级的学生 4、 确认无误后,分别点击确定 5、 系统将对老师的操作进行反馈,告之是否成功操作 6、 若是成功,则考生即可登入系统进行考试;否则,需要重新进行以上操作 发布成绩: 前置条件:院级管理员已经登录到该系统,考生试卷批阅已经完成 事件流: 1、 老师登入系统后,点击管理成绩 2、 进入页面后,选择试卷名称,点击确定 3、 系统将对老师的操作给予反馈,告之是否成功操作 4、 若是成功,则考生登录即可查看此次考试的分值;否则,需要重新进行以上操作 - 16 - 在线考试系统——需求分析 查看成绩与分析: 老师: 前置条件:老师登录到该系统 事件流: 1、 点击管理考试 2、 选择查看成绩与分析 3、 选择想要查看的试卷,老师可查看自己所教课程的试卷分析。 4、 若是选择查看成绩,则列出本班考试所有参考人的成绩 若是选择查看试题分析,页面将显示本次每道试题的基本得分情况 若是选择查看成绩概况,则显示参考人优秀率,及格率等等 院级管理员: 前置条件:院级管理员登录到该系统 事件流: - 17 - 在线考试系统——需求分析 1、 点击查看成绩与分析 2、 院级管理员可以查看本学院所有参加考试的学生的成绩分析 3、 若是选择查看成绩概况,则显示本学院参考人的优秀率,及格率等等。 若是选择查看试题分析,页面将显示本次每道试题的基本得分情况 T_3管理题库 管理题库用例图 MT_3.1 维护题型MM< T_3.1 维护题型 - 18 - 在线考试系统——需求分析 T_3.2.1 维护科目 T_3.2.2 维护知识点 MT_3.2.1.1 增加科目MMT_3.2.1.2 删除科目T_3.2.1 维护科目MT_3.2.1.3 修改科目- 19 - 在线考试系统——需求分析 MT_3.2.2.1 添加知识点MMT_3.2.2 维护知识点T_3.2.2.2 修改知识点MT_3.2.2.3 删除知识点 - 20 - 在线考试系统——需求分析 T_3.3 维护题目 MT_3.3.1 添加题目MMT_3.3 维护题目MT_3.3.2 修改题目T_3.3.3 删除题目 T_4.1 查询教师信息 MMASAA 1.1.1 按教工号查找教师ASAA1.1 查询教师信息MASAA 1.1.2 按名字查找教师 T_4.2 查询学生信息 - 21 - 在线考试系统——需求分析 MMASAA 1.2.1 按学号查找学生MASAA1.2 查询学生信息ASAA 1.2.2 按姓名查找学生 1.7.2.3.3老师功能描述 (1) 登录:由于系统是针对特定对象,所以在进入系统之前都必须通过身份验证,即用户登录,包括用户名和密码的验证及身份验证,以及确定使用系统的权限。 (2) 管理试卷:老师可以参与组卷,也可以对试题进行设置,由系统自动生成试卷。老师也可以查看历史试卷,删除试卷等等。 (3) 管理考试:每场考试都有限定的时间,院级管理员在规定的时间内开放,关闭考试系统。确定本次参加考试的年级。老师可在考试结束之后,登录本系统老师评阅学生的答卷。由于有些试卷中难免会有主观题,所以院级管理员需要对晚点控制成绩的发布,通知学生可以查询成绩。老师也可以登录系统查看学生成绩以及考试总体的概况。 (4) 管理题库:组卷的试题来源于题库中的数据,所以需要老师对其进行维护,题库中的数据并不能是一层不变的,老师可以增加知识点,增加修改考试题型,对已经不需要的试题进行删除等等操作。 (5) 信息管理:老师可以查询指定学生的信息,也可以查看自己所教的课程。 - 22 - 在线考试系统——需求分析 (6) 管理老师和学生:随着毕业,转学等等一些因素的影响,学生的信息常常需要进行修改删除,添加学生,所以院级管理员需要对本学院学生资料进行管理。对于老师身份来说 也是如此,院级管理员根据老师身份给予相应的权限。 (7) 修改密码:老师可以修改自己的登录密码 1.7.2.4院级管理员 1.7.2.4.1院级管理员用例 < AA_1管理用户 - 23 - 在线考试系统——需求分析 MAA_11 管理教师M< AA_1.1 管理教师 AA_1.2 管理学生 - 24 - 在线考试系统——需求分析 - 25 - 在线考试系统——需求分析 AA_2 管理课程 AA_2.1 批量添加课程信息MMMAA_2 管理课程AA_2.2 修改课程信息MAA_2.3 删除课程信息 AA_3 管理考试 AA_2.1 开关考试MMAA_2.2 发布成绩MM< AA_4 管理授课信息 - 26 - 在线考试系统——需求分析 AA_4.1 批量添加授课信息MMMAA_4.2 修改授课信息AA_4 管理授课信息MAA_4.3 删除授课信息 AA_5 管理选课信息 AA_5.1 批量添加选课信息MMMAA_5.2 修改选课信息AA_5 管理选课信息MAA_5.3 删除选课信息 1.7.2.4系统管理员 1.7.2.4.1系统管理员用例图 - 27 - 在线考试系统——需求分析 < 管理员角色用例图 1.7.2.4.2系统管理员用例描述 管理学院信息用例图: 管理基础信息: 1) 点击进入页面后,添加S1,查看S2 2) S1(点击添加):选择添加的信息(下拉列表框),有以下选择 学院(点击后,弹出小窗口——添加学院信息,输入学院号,学院名称,点击确定,弹出警告框提示是否添加成功) - 28 - 在线考试系统——需求分析 专业(点击后,弹出小窗口——添加专业信息,选择学院,输入专业号,专业名称,点击确定,弹出警告框提示是否添加成功) 班级(点击后,弹出小窗口——添加班级信息,选择学院,选择专业号,输入班级号,班级名称,年级,点击确定,弹出警告框提示是否添加成功) 3) S2(点击查看):选择学院S2.1,即可显示所有学院的信息,比如: 学院号 学院名称 67 软件学院 删除S2.1.1 修改S2.1.2 S2.1.1(点击删除):弹出警告框提醒管理员是否要删除,若确定要删除,点击警告框上的确定,否则单击取消。若删除成功,则弹出警告框提示管理员成功删除;否则弹出警告框提示该学院还有学生,不得删除。 S2.1.2(点击修改):弹出小窗口——修改学院信息 在该小窗口之内显示以下内容,在修改之前,显示的内容是学院本来的信息: 学院号(文本框,可修改) 学院名称(文本框,可修改) 修改完成后点击确定,弹出警告框提示是否修改成功 - 29 - 在线考试系统——需求分析 选择专业S2.2,即可显示所有专业的信息,比如: 学院号 学院名称 专业号 专业名称 67 软件学院 10 软件工程 删除S2.2.1 修改S2.2.2 S2.2.1(点击删除):弹出警告框提醒管理员是否要删除,若确定要删除,点击警告框上的确定,否则单击取消。若删除成功,则弹出警告框提示管理员删除成功;否则弹出警告框提示该专业还有学生,不得删除。 S2.2.2(点击修改)弹出小窗口——修改专业信息 在该小窗口之内显示以下内容,在修改之前,显示的内容是专业本来的信息: 专业号(文本框,可修改) 专业名称(文本框,可修改) 修改完成后点击确定,弹出警告框提示是否修改成功。 选择班级S2.3,即可显示所有班级的信息,比如: 学院号 学院名称 专业号 专业名称 年级 班级号 班级名称 删除S2.3.1 修改S2.3.2 - 30 - 在线考试系统——需求分析 S2.3.1(点击删除):弹出警告框提醒管理员是否要删除,若确定要删除,点击警告框上的确定,否则单击取消。若删除成功,则弹出警告框提示管理员删除成功;否则弹出警告框提示该班级还有学生,不得删除。 S2.3.2(点击修改)弹出小窗口——修改班级信息 在该小窗口之内显示以下内容,在修改之前,显示的内容是专业本来的信息: 年级(下拉列表框,可修改) 班级号(文本框,可修改) 班级名称(文本框,可修改) 修改完成后点击确定,弹出警告框提示是否修改成功。 1.7.2.4.3系统管理员功能说明 (1)登录:由于系统是针对特定对象,所以在进入系统之前都必须通过身份验证,即用户登录,包括用户名和密码的验证及身份验证,以及确定使用系统的权限。 (2)学校信息管理:学校发布的最新信息栏以及一些表彰公告等。 (3)数据库备份与还原:有一些表需要及时备份,然后清空以减轻数据库的负担,提高数据库访问效率。 - 31 - 在线考试系统——需求分析 (4)管理学院信息:不同的年份,学校的每个学院会增加一些新的年级班级,也有可能增加一些新的专业,所以需要对各个学院、各个专业以及各个班级进行增加删除和修改。 1.7.3 系统数据库设计 数据库表的初步设计: 学生表(学号,姓名,密码,年级,性别,班级,号,学院代号) 考务人员表(教工编号,姓名,密码,性别,考务人员类属,学院代号) 管理员(账号,密码) 试题表(testId,试卷代号,试题代号,答案,题目,得分率,分值,答案长度,所属大题) 考试明细表(id,试卷代号,题型代号,数量,分值,大题) 试卷信息表(试卷代号,科目号,试卷名称,考试时间,数量,总分,教师名称,考试用时) 题型(题型代号,题型) 科目表(科目号,科目,学院代号) 选课表(id,科目号,ST_id) - 32 - 在线考试系统——需求分析 授课表(ST_id,教工编号,班级,科目号,授课试卷) 题库表(题目编号,题目,答案,题型,科目号,答案长度,知识代号) 考试关系表(id,试卷代号,考试状态,科目号,班级) 考生答题表(id,学号,考生答案,所得分值,testId,试卷代号) 考生成绩表(id,学号,试卷代号,科目号,科目,成绩,考试时间) 章节表(章节代号,科目号,章节名称) 知识点表(知识点代号,章节代号,知识点) 学院(学院代号,学院名称) 专业表(号,学院代号,专业名称) 班级(班级代号,学院代号,班级,年级,专业号) 1.7.4 对非功能性的需求 1.7.4.1对性能的规定 由于在线考试系统是面向考生的,所以系统应该能支持200个用户同时访问,对于每个用户应该能够及时给出反馈信息,避免因用户长时间等待而感觉不安。 - 33 - 在线考试系统——需求分析 1.7.4.2数据管理能力要求 考试系统避免不了需要存储试题库,而试题库中往往有上千条甚至上万条记录,拥有的表也会相对复杂,所以在对数据库进行操作的时候,需要数据库响应时间在人们能够接受的范围之内。 1.7.4.3故障处理要求 系统对于用户错误输入的处理也应该相对友好,尽量做到以最大限度提升用户体验为前提。 偶尔会遇到个别考生考试意外中断的现象,如某台计算机意外断电等。这就涉及到如何在最大程度上保护学生的考试现场问题。我们的做法是,将考生的主观性试题、试卷以及结果,保存到服务器端硬盘上。因为正式考试是集中在学校机房里面进行的,我们可以在安装机房的应用软件时进行设置。例如:将系统的自动保存时间设置在合理的范围之内,最大程度的保存学生考试过程中试题的考试现场。 - 34 -