刘丹 辽宁锦州渤海大学信息科学与技术学院
基于JAVA的在线考试系统的设计与实现
刘丹 辽宁锦州渤海大学信息科学与技术学院
本论文主要介绍了对JAVA在线考试系统的分析、设计和开发的全部过程。运用ER图,程序流程图等对在线考试系统的设计过程进行详细的说明。本系统采用MyEclipse6.5作为开发工具,使用MVC开发模式,框架使用了目前流行的Struts+Spring+Hibernate,数据库使用MySQL。该系统主要有三大模块:管理员模块主要包括对四种考题的增删查改操作;老师模块主要完成对学生考完的试题进行批阅,完成打分;学生模块主要是完成在线考试,查看自己的考试成绩。
考试系统 JAVA MVC
1.1 研究背景与意义
手工出卷、考生考试、试卷分析、人工阅卷与成绩评估组成了传统的测试。跟着测试要求的不停提升,老师的工作量也随之越来越大。随着计算机的广泛应用并迅猛发展,无纸化考试系统重复利用数据库的作用,大大简化了传统考试的反复琐碎的过程。
1.2 开发工具
本系统使用MyEclipse作为研发工具,采用MySQL开源数据库,并运用Tomcat作为应用服务器。在线考试系统选择运用jsp页面请求技术,以MVC模式为基础,并在其上进行系统研发,采用SSH框架以提高系统研发的速度。
2.1 系统需求分析
图1 系统功能需求分析图
2.2 功能模块划分
2.2.1 系统管理员模块
本模块主要描述了管理员登录考试系统后的相关功能。系统管理员的主要任务是用户管理、科目管理、试题库管理、试卷管理、成绩查询。作为管理员,其任务比较繁多。首先要添加老师用户和学生用户,以便教师和学生能够通过账号跟密码登录此系统并执行相应的功能。其次要添加考试科目信息,并将试题录入试题库以便筛选试题和创建试卷系。
①用户管理:实现用户的添加、删除、功能。
②科目管理:实现考试科目的添加、删除。
③试题库管理:对于单个试题的增、删、改、查等基本维护,针对不同题型、不同应用范围及不同科目对试题进行维护。
④试卷管理:对试题进行筛选然后组合形成考试用卷。
我们跑进厨屋,见水缸里倒插着两只小脚,僵直地指向低矮的黑暗的天空!大梁哎呀大叫一声,冲了过去。我也跟着跑上前,见她奶奶半个身子都栽进缸里,水漫得满地都是。大梁把油灯放到灶台上,伸手去水缸里捞人。缸里的水猛地涨出来,响亮地砸在地上,流水不停漫过我的脚背。
⑤成绩管理:对每次考试的学生成绩的基本信息进行维护,并提供学生成绩的统计管理。
2.2.2 老师功能模块
本模块描述了教师在考试系统中的相关功能。主要能够让教师了解学生的考试情况并进行打分和点评试题。方便老师了解学生平时学习方面的不足和改善自己授课方式。教师的主要功能权限是阅卷管理、成绩管理,即阅卷打分、点评试题和提供学生成绩统计。
①阅卷管理:对分配试卷的评卷人可以在此进行评卷打分。
②成绩查询:老师可对已阅卷过的学生进行成绩查询。
③修改密码:老师可以修改自己的登录密码。
2.2.3 学生的功能模块
学生的主要任务是参与考试,并能够在老师阅卷过后登录系统查询考试成绩和试卷相关情况。学生用户登录系统后选择需要考试的科目,在规定时间内完成测试并提交试卷。
①参加考试:学生登录考试系统,对需要测试的试卷进行填写、提交,以供老师评阅。
②成绩查询:待老师阅卷过后,学生可登录系统对自己的成绩查询,并查看老师对试题的打分和点评情况。
③修改密码:学生可以修改自己的登录密码。
2.3 数据库设计
数据库是信息管理系统中一个重要的组成部分。数据库概念模型设计首先要考虑实体之间的联系。一般情况下我们选择使用E—R图的方法来建立实体的联系。使用E—R图,我们可以客观的描绘系统管理员,学生,老师三者之间存在的联系。系统管理员管理用户、科目、试题库、试卷、成绩。学生参加考试并填写试卷。老师参加阅卷并评出成绩。本系统E-R图如图2所示。
根据系统的设计需要,数据库应包含七张表,分别用来存储考试相关信息,考试记录相关信息,课程表相关信息,试卷表相关信息,试卷条目相关信息,试题表相关信息和用户相关信息。因此我们可以建表如下:
(1)t_kaoshi(2)t_kaoshijilu,(3)t_kecheng,(4)t_shijuan,(5)t_ shijuanitem,(6)t_shiti等,以t_kaoshi为例,考试表主要负责用来存储考试相关信息,具体如表1所示。
图2 系统E-R图
表1 考试表t_kaoshi
3.1 系统登录模块
该模块主要是验证系统用户登录进系统并实现相关功能的权限。用户登录系统后,系统界面会显示管理员或者教师或是学生三个其中之一的用户角色。管理员用户进入系统后显示管理员角色,可以进行如下操作:①用户管理;②科目管理;③试题库管理;④试卷管理;⑤成绩查询。教师用户进入系统后显示教师角色,可以进行如下操作:①阅卷管理;②考试查询。当然教师还可以修改自己的登录密码。对于学生用户登录系统后显示用户角色为学生。学生可以参加考试或者查询成绩。学生也可以修改自己的登录密码。
3.2 用户管理模块
登录系统后,系统界面提示用户信息角色。登录用户管理模块后,我们可以看见用户名、真实姓名、用户角色、添加时间等信息记录。在添加新用户之前,首先要输入用户名和其真实姓名进行查询。看看将要添加的用户是否已经存在,若不存在我们便可点击添加用户信息,待页面跳转到添加用户信息界面后,按照用户姓名,真实姓名,选择用户角色三个方面进行添加。填写完成后,点击“提交”完成用户添加。添加用户后我们还可以查询该用户是否已经添加。
3.3 试题库管理模块
登录系统后,系统界面显示用户登录信息角色。登录试题库管理模块后,我们可以看见科目名称和对其试题管理操作。点击试题管理后我们可以看见科目名称、题型、问题、答案、知识点、出题时间几个信息记录。此时,我们可以完成填空题、判断题、选择题、问答题的添加和修改。完成添加试题后便可生成试题库,模块最下面显示记录数目。
3.4 试卷管理
登录系统后,系统界面提示管理员角色。进入试卷管理模块后我们可以看见卷名、科目、考试时间、总分、试卷使用状态、出卷时间、题目管理等相关信息记录。我们可以对已存在的试卷进行删除和修改以及是否启用试卷操作。我们也可以创建试卷,根据卷名、科目、考试时间依次按要求填写。完成后就可以生成一个新试卷了。注意这时还是一张空试卷,还要进行题目管理添加试题。
3.5 考试查询模块
登录系统后,系统界面提示用户以及管理角色。进入考试查询模块,管理员可以根据考试编号和用户名即学生学号进行考试记录查询。教师和学生查询考试成绩只需直接登录自己的帐号,直接查看考试记录以及试卷得分。
3.6 阅卷管理模块
登录该模块后,有权限的教师就可以参与评卷了。教师可以按学生提交试卷的先后顺序逐人阅卷打分。教师登入系统后,显示用户信息角色为教师。进入阅卷管理模块,在本模块我们可以看见阅卷相关信息,例如考生姓名、试卷名称、题目、作答、分值和得分情况。教师对试卷的选择、判断、填空、问答进行阅卷,然后根据答案在给出的分值范围内进行打分。
[1]冯燕奎,赵德奎.JSP实用案例教程[M].清华大学出版社,2014.7
[2]王宜贵.软件工程[M].北京:机械工业出版社,2012.5
[3]孙卫琴.精通hibernate[M].电子工业出版社,2011.2
[4]张洪斌.java2高级程序设计[M].中科多媒体出版社,2011.8