《UML建模技术课程设计》课题名称:专业:班级:学号:姓名:指导教师:成绩:第一章需求分析1.1、系统的性能需求为了保证考试系统能长期、稳定、安全、可靠、高效地运行,系统应满足以下的一些性能需求:①系统处理的准确性和及时性:准确性和及时性是考试系统的必要性能。在系统设计和开发过程中,要充分考虑系统目前和将来可能承受的工作量,使系统的处理能力和响应时间能满足用户要求。②系统的开放和系统可扩充性:考试系统在开发过程中,应充分考虑以后的可扩充性。例如,系统要能够承载课程的题库、试卷库等来实现课程考试。题库、试卷库或单套试卷可以随时进行增加、删除和修改等维护。要求系统提供足够的手段进行功能的调整和扩充。可以实现简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。③系统的易用性和易维护性:要求系统应该尽量使用用户熟悉的术语和中文信息的界面。系统界面应友好易用,应有详细的系统使用说明,对一些容易出现的误操作应该有相应的提示以及处理办法。考试系统要具有易用性、友好性,系统安装方便、维护简单。④系统的安全性:充分考虑用户、题库、服务器等的安全。系统对系统不同等级的用户分别设置不同的权限。考试期间由于机器死机重新启动机器后,计时器应合理进行计时。考试期间由于机器原因需要更换考试用机,学生重新登录考试系统后应能继续做题,考试服务器应能及时保存学生的操作结果。1.2、系统主要功能系统主要功能包括学生管理、试卷管理、教师管理、学生在线考试等等,下面就系统的主要功能做简要分析:①用户信息管理学生可以登录系统,登录以后可以参加考试和查询成绩。管理员可以添加、修改、删除学生和教师信息。教师登录后可以添加、修改、删除试题,并且可以不同类型题目组合试卷,也可以按照试卷专业或者试卷名称查询试卷。③在线考试学生登录以后出现学生信息包括学号、姓名、考试课程等,学生确认信息后开始考试,考试结束后需要提交试卷。④题库管理教师或者管理员可以在题库里面增加、修改、删除试卷。⑤成绩管理管理员可以查询学生的成绩,也可以删除学生的成绩,但是不能对学生的成绩做出修改。1.3功能模块需求分析1.3.1、用户管理模块系统的用户包括考生用户、教师用户以及系统管理员用户。用户管理模块实现对学生用户、教师用户和管理者用户的信息管理。三种用户在参与系统活动的时候,都能进行用户信息的登录。管理员功能包括:录入用户信息、查询用户信息、授权用户角色等。不同用户具有不同用户权限,相同用户可执行相同的功能,同一个角色的用户具有的用户权限相同。1.3.2题库管理模块题库管理模块包括试题信息管理、题型信息管理。试题录入将试题的所属课程、题型、知识点、答案、编号等内容输入到题库中。教师用户根据给定的相关条件(如编号、题型、知识点等)对试题库中的试题进行查找、筛选、修改、增加、删除等操作。题型信息管理实现对考试题型信息的设置。1.3.3在线考试模块学生登录考试系统后,输入学生学号后选择在线考试,进入在线考试页面,页面上方显示考生的学号、姓名、考试试题等信息以方便考生核对。考生确认参加的考试课程后,系统给出考场规则和考试时间进行倒计时,系统提醒考生开始考试。系统根据定制的题型、分数分布、题目数量、难度等级分布、章节分布等参数的设置规则,随机从试题库中抽取满足规则的试题,为参加考试的考生自动生成互不相同的试卷。页面上呈现出的考试试卷与考生平时参加的纸试化考试试卷差别不大:单选试题和判断试题各选项前为单选框;多选试题和不定项选择试题各选项前为复选框;填空试题每空为文本框;主观题每个问题后面有一个多行文本框,以便考生编辑答案。考生的答案首先保存到本地临时数据文件中,然后定时发送回考试服务器。如果考试结束时间已到,系统会自动锁定并提交试卷;如果考试结束时间未到,考生可以提前交卷,考生服务器会将其考试数据保存,并退出考试系统。1.3.4成绩管理模块在考试结束后,系统要对考生答卷进行评阅。阅卷方式分为两种,自动阅卷和手动阅卷。对于客观题和部分主观题系统实现自动评分并保存考生得分;对于分析题和操作题,系统给出参考答案和评分细则,由阅卷教师评分。考虑到系统的安全性,由管理员在系统考试结束后启动阅卷系统进行自动阅卷;系统自动计算各大题得分,得到考生的最后得分。同时,对其它试题采用教师网上人工阅卷。对考生所有的考试结果进行评卷,保存每一个考生每道题的得分,并对考生考试成绩能够进行统计、分析和汇总。对学生提供所考课程的分数查询;对老师提供试卷、所授课程的学生分数的查询。教师在查询分数时,可以查询某一个考生的考试成绩,也可以查询某个专业某个班的课程总平分数、各分数段的人数情况、不及格的学生名单等统计信息。1.3.6试卷管理模块教师可以对试卷进行管理,试卷管理包括对试卷管理、试卷信息的管理和对试卷试题的维护。教师可以查看、删除试卷并且可以对试卷信息进行管理,包括对试卷名字、科目、考试时间、出题人、总分等信息进行管理。教师可以对试卷中的试题进行管理,可以直接新增试题,并且对加入试卷的试题设置分值。1.4本章小结本章对单独招生在线考试进行了功能性和非功能性的需求分析。结合系统的需求,经过分析与提炼,确定了系统的业务流程与主要功能,并对系统的性能需求等进行了分析。第二章在线考试系统的设计2.1系统结构设计为了系统开发、维护和升级的方便,考试系统采用B/S模式的3层架构:第一层是用户层,为不同用户设计了相应的接口,学生可进行网上在线考试,教师可生成试卷、组织考试,管理员可对考试进行设置管理。用户通过浏览器向考试的Web服务器提出服务请求,Web服务器对用户验证身份后把所需的网页传送给客户端浏览器。第二层是应用层,负责题库管理,试卷的生成、分发和接收,管理和监控考试过程。当Web服务器接收到用户请求时,将要执行相应的应用程序与数据库进行连接,通过SQL方式向数据库服务器发出数据处理请求,数据库服务器将处理结果交给Web服务器,再由其送回到客户端。第三层是数据层,实现用户管理和试题管理。数据库服务器接受来自Web服务器的请求,实现对数据库的操作和存储,并将处理结果返回Web服务器。系统的整体层次架构如图所示。2.2考试流程设计考生在考试用机上通过web浏览器访问考试系统主页,考生输入其姓名和考号信息后,考试系统对考生的学号及姓名进行验证,如系统通过验证,则可点击进入考试页面进行考试;系统自动把试卷分发到考试用机,考生在线进行考试,按要求完成考试内容。如考号或姓名有误,则可点击取消考试按钮,返回系统主页。考生进入考试页面后系统开始自动倒计时,考试过程中答案即时保存到考试服务器上。考生提前完成考试内容后可主动提交试卷,或者系统倒计时完毕时自动收卷,交卷或收卷时由系统将自动把考生的操作结果提交给考试服务器上保存。考试结束后,教师对考生提交上来的试卷进行批改并保存考生得分,判卷结束后教学管理者可以对考试试卷、考生答卷和教师判卷进行管理。教学管理者还可以对用户的基本信息、课程基本信息和题库信息等进行管理。基于J2EE的在线考试系统的整体系统流程如图所示。2.3数据库设计数据库的设计遵循了安全性、可伸缩性、数据交换可靠性、有效的并发控制的原则,考虑到考试中有多种不同的题型以及各题型有各自的特点,按照试题类别把不同的考试题目要求和具体说明单独存放,以便于管理和维护,提高数据库存取的效率。2.3.1数据库E-R图通过对系统进行需求分析、网站流程设计以及系统功能结构的确定,规划出系统中使用的实体对象分别为管理员信息、考试试卷、考生信息、考生成绩信息。①管理员信息试题E-R图管理员信息包括管理员编号、管理员姓名、管理员密码和注册时间。②考试试卷实体考试试卷试题包括试卷名称、所属课程、添加时间和有效时间等属性。③考生信息实体考生信息实体包括学生证号、姓名、性别、所学专业、注册时间、登陆网站密码、密码提示问题、密码提示答案以及所学专业等属性。④考生成绩实体考生答完考题后可以对自己的成绩进行查询,后台管理员也可对考试成绩进行管理。考生成绩信息实体包括学生证号、所学课程、考生总等。2.3.2数据库表设计单独在线考试系统建立了多张数据表,表4.1列出了考试系统中的部分数据表。系统主要建立了主要包含用户信息表、试题表、试题类型表、试卷表、试题答案表、考试信息表等,如表所示。①用户信息表,结构如表所示。②试题表,结构如表所示。③试题类型表,结构如表所示。④试卷表,也称为试卷种类表,它并不能标识这套试卷所包含的具体试题,也正因为如此,才能保证每套试卷的随机性。试卷表结构如表所示⑤考试信息表,结构如表所示。⑥试题答案表,结构如表所示。2.4系统功能模块设计根据用户需求调研,考试系统的用户包括学生用户,教师用户和教学管理员用户。三类不同的用户具有不同的访问权限,成功登录以后可以访问相应的模块。教师用户主要实现的功能包括在线出题、组卷,在线批改学生答卷,在线查询成绩和试卷。学生用户实现的功能是进行在线考试,查阅考试分数。教学管理者用户实现的功能包括题库管理,在线卷纸管理,在线用户信息管理。根据以上要实现的功能把考试系统划分为以下六个模块:用户管理模块、题库管理模块、在线考试模块、系统阅卷模块、卷纸管理模块和综合查询模块。系统的功能模块如图所示。2.4.1用户管理的设计用户管理模块包括学生信息管理、教师信息管理和管理员信息管理。用户管理结构图如图所示。①学生信息管理:考生可以注册系统,但是不能修改和删除自己的信息,管理员可以添加、修改、删除学生信息。②教师信息管理:教师可以注册系统,但是不能修改和删除自己的信息,管理员可以添加、修改、删除教师信息。2.4.2题库管理的设计题库管理包括题型管理、试题管理和题库类型管理。题库管理结构图如图所示。①题型管理:管理员可以添加、修改和删除题型。②试题管理:管理员和教师都可以对试题进行管理,教师可以自己的试题进行管理,而管理员可以对所有试题进行管理。③题库类型管理:管理员可以添加、修改、删除题库类型。2.4.3在线考试的设计在线考试模块实现考生在规定考试时间进行在线实时考试。考生通过身份验证登录进入考试系统,系统生成试卷,并对考试时间进行倒计时,考生完成试卷并交卷。在线考试的流程图如图所示。2.4.4成绩管理的设计成绩管理包括成绩查询和成绩删除。结构图如图4.11所示。①成绩查询:学生可以查询自己的成绩,管理员可以查询所有同学的成绩。②成绩删除:管理员可以删除所有同学的成绩,但是学生不能删除自己的成绩。2.4.6试卷管理设计试卷管理模块可以实现对试卷中试题的添加、修改、删除、移动,试题内容编辑等操作。大题的信息包括大题类型、大题分值、小题数量。试题的内容包括题目说明、题号、题干和答案。试卷管理模块的流程图如图4.13所示。2.5关键类设计考试系统主要实现了八个类,分别是User、Administrator、Teacher、Student、Course、Test、TestPaper、StudentPaper。其中User类用来管理用户的信息,Student类继承User类用来管理考生的信息,Teacher类继承User类用来管理教师的信息,Administrator类继承User类用来管理教学管理员的信息,Course类用来管理课程信息,Test类用来管理考试信息,TestPaper类用来管理考试试卷信息,StudentPaper类用来管理考生答卷信息,考试系统的类图如图4.所示。3、动态建模3.1.1用户信息管理活动图3.1.2题库信息管理活动图3.1.3在线考试活动图3.2状态图每次考试由“学生”将“考试ID和密码”“登录”状态;如果“学生”登录正确转换到“考试规则阅读”状态,否则转换到“登录”状态继续登录;如果“学生”“三次输入错误”考试结束;处于“考试规则阅读”状态时有一定的阅读时间,“阅读时间到”就转换到“选择考试试题”状态;考试试题选择完成后“学生”就装换到“准备考试”状态;处于“准备考试”状态时,有一定的准备考试时间,当“准备考试时间到”时就转换到“在线考试答题”状态,如果“在线答题考试”