在线考试系统

指导老师:朱瑞英

开发小组成员:何茹、吴琳娜、王艳茹

1. 问题定义
随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证!客观!更加激发学生的学习兴趣。在线考试系统是为了方面学生考试、老师阅卷、提高考试的公正性、公平考试是检验教学效果的重要手段,也是促进学生学习的重要手段,是教学过程中的一个重要环节。学生考试成绩的优劣,不但反映其对教学内容和应掌握知识的分析、理解、吸收、运用的能力,更反映教师对教学内容的把握和熟练程度。
传统的学校教学中,进行一场考试,要求老师编写试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这是一个繁杂的过程,需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需要。尤其在远程网络教学中,学生分布广,不易统一集中安排考试,给校方和学生带来了众多的不便。
而网上考试系统不仅减轻了在组织考试、评卷、成绩统计等方面所花费的人力和物力,并且突破了时间与空间的限制,不仅节省了资源,而且提高了评分的客观性、公正性和准确度,大大改善了考试工作的效率。加上数据库技术的利用,大大简化了传统考试的过程,因此在线考试是电子化教学的不可缺少的辅助手段。在当今信息时代,计算机技术与网络技术越来越广地应用于各个领域,改变着人们的学习、工作、生活乃至思维方式,也引起了教育领域的重大变革。
在线考试系统开发思想:
将计算机与网络技术应用于现代高等教育中,是现代高等教育发展的需要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段。尽量采用学校现有的软硬件环境,及先进的管理系统开发方案,从而达到充分利用学校现有资源,提高系统开发水平和应用效果的目的。
系统应符合学校学校信息管理的规定,满足对学校学生日常管理的需要,并达到操作过程中的直观、方便、实用、安全等要求。
系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于参与开发的技术维护人员补充、维护。
系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。
2.可行性研究
2.1.可行性分析报告
2.1.1 编写目的:
可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解,经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。
2.1.2. 项目背景:
开发软件名称:在线考试系统。
项目与其他软件,系统的关系:
开发工具:jdk-6u10-windows-i586-p.exe
2.1.3 参考资料:
《软件工程导论》,张海藩,清华大学出版社。
2.2 可行性研究的前提
2.2.1要求
主要功能:为学生提供考试服务,方便学校对学生信息和成绩信息的管理工作,提高考试服务质量和服务效率。
安全与保密要求:管理员享有对学生信息和考试信息的管理与更新、删除、添加。
2.2.2目标:
系统实现后,大大提高学校对学生提供考试服务的效率及管理信息的效率。降低阅卷以及管理服务中的错误发生率,减少信息交流的烦琐过程及其带来的开销。
2.2.3条件,假定和限制
建议软件寿命:5年。
硬件条件:普通 PIII以上pc机。
运行环境:windows 2000/xp.
2.3决定可行性的主要因素
成本/效益分析结果,效益 >成本。
技术可行,现有技术可完全承担开发任务。
操作可行,软件能被原有工作人员快速接受。
2.4 技术可行性分析
2.4.1系统简要描述
由于时间紧迫,系统暂时开发为单机版,网络版为后期开发版本。系统安装在单机上来完成系统功能。主要任务是让学生方便考试,同时对学生的各种信息及成绩进行日常管理、如查询、修改、增加、删除等。
系统流程图如下:



2.4.2数据流图
系统数据流程图如下图所示:

2.4.3 用户使用可行性
使用本软件人员要求有一定计算机基础的人员,系统管理员要求由计算机的专业知识,所有人员都要经过培训.
2.4.4结论意见
由于投资效益比远大于100%, 技术、经济、操作都有可行性,可以进行开发。
3.
3.1现状分析
传统的考试方法要求组织者提前命题试卷,然后约定一个统一时间,让所有考生到考场里进行考试。这种模式如图所示:



 

这种模式存在有较多的问题:
命题:由于考试要求统一进行,所有考生都考同样的一份试卷,所以试卷的命题工作便一定得非常谨慎小心,试题太难或太容易,都达不到考试目的,尤其是对于一个大规模的考试,(比如计算机等级考试等),如何正确把握试卷的难度,一直都是让命题教师最为头痛的问题之一。
试卷印刷:对于大规模的考试,试卷印刷费工费时,成本高,对纸张资源也是一种浪费。对于涉及地域范围较广的考试,还要考虑试卷大的长途运送费用。在考试的印刷和运输过程中同样有试题泄漏出去的问题,任何一个环节出了问题,都可能使前面有的工作付诸流水。
考场的安排:监考人员的培训与管理。对于大规模的考试,尤其是到了考试密集期(如期末,期中)。诸多学科的考试都要陆续开始的时候,对于教室资源和
教师数量相对紧张的学校,如何安排考场,调配监考人员,是一件相对繁琐而又复杂的事情。如果考试再涉及到不同地域之间的同步,如英语四,六级的考试,还要考虑更多的问题。
进行考试:由于同一次考试的试卷相同,要杜绝考生作弊是一个普遍的难题,因此,历届组织考试的人动了很多脑筋,如分AB卷,加强监考,加重对作弊者的惩罚程度等,但这些都没能从根本上杜绝作弊。不同地域监考的严格程度,考试时问控制的严格程度,也很难达到统一。过多人为因素的加入,也使得考试的公正性下降。
判卷:考试结束后,采用人工判卷比较容易出错,并可能出现人为造成的不公正现象。
3.2可行性分析
可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、管理的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。
3.2.1经济可行性
主要是对项目的经济效益进行评价,利用计算机来实现网上考试以成为适应当今教学管理的方式。开发一套能满足网上考试系统的软件是十分必要的,实现试卷管理和试卷生成自动化,在减少由于认为失误而早成损失的同时,也可以使教师减少工作量。本系统在经济上是可以接受的,并且本系统实施后可以显著提高考试效率,有助于学院完全实现网络化管理。所以本系统在经济上是可行的。
3.2.2技术可行性
技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。
软件方面,网络化考试需要的各种软件环境都已具备,数据库服务器方面则有MySQL,均能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。其灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
3.3设计目标
在线考试系统的总体目标:
在线考试系统可以帮助教师完成一个考试从题目设计,考试安排,考试实施,考卷批改到分数计算总结的所有工作。
所有的考试数据和其它数据库需要一种主流的方式进行存储和管理,例如使用数据库技术。
考试数据的存放和处理必须对考试保密,需要一定的安全性保障。
题目最好有一定的稳定性和随机性。稳定性可以保证每一次考试对每一个考生是公平的,随机性可以避免作弊的发生。
考试的部分客观题在考生考完之后系统就能自动评分,并保存考生的主观题答案。
3.4、实现功能:
用户类别:登录系统的身份定为两种,一是管理员,二是学生。
考生登录功能:考生输入身份和密码登陆系统后可以登录,同时查看考生的信息,选择对应的试卷可进行考试。考试结束时提交系统将自动对题进行评分。
管理员管理:考生输入身份和密码登陆系统后可以登录。管理员可添加考生成绩、查询考生成绩、修改考生成绩、删除考生成绩信息。
数据库设计
E-R图:

3.5数据库表结构
在线考试系统所采用的数据库为Mysql,数据库名称为exam,包含2张数表。

数据表概要说明
数据库名:exam.
数据表:student、score
主要数据表的结构
(1)student(学生信息表)
学生信息表用来保存考生的相关信息。
Student表结构如下:


字段名

数据类型

空否

主键否

备注

number

varchar(10)

no

PRI

准考证号

name

varchar(10)

Yes

(null)

考生姓名

sex

varchar(6)

Yes

(null)

考生性别

class

varchar(20)

Yes

(null)

考生班级

degree

varchar(10)

yes

(null)

考生学历

telephone

int

Yes

(null)

考生电话

(2)score(成绩表)
成绩表用来保存考生的考试成绩信息,便于管理员的管理。
score表的结构如下:


字段名

数据类型

空否

主键否

备注

number

Varchar(10)

no

PRI

准考证号

name

varchar(8)

no

(null)

考生姓名

english

int

yes

(null)

英语成绩

maths

int

yes

(null)

数学成绩

chinese

int

yes

(null)

语文成绩

zonghe

int

yes

(null)

综合成绩

 

4.
4.1 系统模块
本系统分为用户管理模块、科目管理模块、章节管理模块、班级管理模块、系部管理模块、题库管理模块、试卷生成管理模块、考试页面管理模块、阅卷管理模块、考试结果管理模块、考试查询模块十一个模块
4.1.1 系统模块图



图4.1系统模块图、

4.1.2用例图
学生用例图:



图2.2学生用例图
教师用例图:

 


图2.3教师用例图

管理员用例图:


 

图2.4管理员用例图
4.1.3管理员功能模块
此模块包括用户管理、科目管理、成绩查询、章节管理、试卷管理五个部分。
用户管理:此模块包括学生管理、教师管理、管理员管理
学生管理:对学生信息进行添加、修改和删除。
教师管理:对教师信息进行添加、修改和删除。
管理员管理:只修改管理员密码。
科目管理:对科目信息进行添加、修改和删除。
成绩查询:对学生考试的结果进行查询。
章节管理:对各科的章节进行添加、修改和删除。
试卷管理:对试卷进行删除。
班级管理:对班级进行添加修改和删除。
系部管理:对院系进行添加、修改和删除
4.1.4教师功能模块
此模块包括题库管理、试卷生成、阅卷管理、信息修改四个部分
题库管理:此模块包括试题管理和试题查询。
试题管理:对试题进行添加、修改、删除。
试题查询:对试题进查询。
试卷生成:此模块包括手动组卷和随机组卷。
手动组卷:手动选择题型、题数进行组卷。
随机组卷:按固定的题型和分值进行组卷。
阅卷管理:对试卷进行批阅,客观题进行自动阅卷,主观题由教师进行阅卷
信息修改:只限教师对自己的密码进行修改。
4.1.5学生功能模块
此模块包括考试页面和个人信息修改两个部分。
考试页面:学生进行做题的页面。
个人信息修改:只限修改密码。

5.
采用模块化设计思想,可以大大提高设计的效率,并且可以最大限度的减少不必要的错误。
各个功能模块的创建:
5.1系统主界面
系统主界面是用户进入系统后主要接触的界面,由他可以进入各个功能模块。
运行效果图如下:



5.1.1成绩管理模块



6.程序代码

7.测试

测试方法:

黑盒测试

白盒测试

测试步骤:

模块测试:

经过完全测试,每个模块都成功地完成了预期定义的子功能,而且这个子系统和同级其他模块的功能之间没有相互依赖关系,没有发现编码和详细设计的错误。

系统测试:

经过完全测试,没有发现设计或编码的错误,一切正常,系统确实能提供需求说明中指定的功能,而且系统的动态也符合与要求 。

 测试结果:

经过完全测试,得出结论,该系统完全符合要求。