基于Web在线考试系统的设计与实现
数据库原理课程设计说明书
基于Web在线考试系统的设计与实现
⽬ 录
1 课题背景与意义.3
1.1课题开发背景.3
1.2 课题开发意义.3
2 系统需求分析.4
2.1 项⽬要求.4
2.2 开发⽅案.5
2.3开发环境.5
3 总体开发.5
3.1 开发思想.5
3.2 系统功能结构设计.7
3.3 业务流程图设计.8
4 数据库设计.8
4.1 数据库概念设计.8
4.1.1考⽣档案实体.8
4.1.2管理员档案实体.9
4.1.3课程档案实体.9
4.1.4考试题⽬实体.10
4.1.5考⽣成绩实体.10
4.2 数据库逻辑设计.11
4.2.1 tb_manager(管理员信息表).11
4.2.2 tb_Student(考⽣信息表).11
4.2.3 tb_stuResult(考⽣成绩信息表).11
4.2.4 tb_TaoTi(套题信息表).12
4.2.5 tb_Lesson(课程信息表).12
4.2.6 tb_Questions(考试题⽬信息表).12
在线代码运行器4.3 数据表关系设计.13
5 详细设计.14
5.1前台⾸页模块设计.14
5.2 考⽣信息模块设计.14
5.3 在线考试模块设计.15
5.4 考试题⽬管理模块设计.17
6 软件测试.18
6.1 软件开发技术概述.18
6.2通过Ajax技术实现计时与显⽰剩余时间.19
参考⽂献.19
附录:数据库源程序.20
课题背景与意义
课题开发背景
当今社会,考试已经是我们必不可少的东西了,从⼩到⼤我们已经考过⽆数次了,以后还要考,不管是国内还是国外的各⼤⼚家,都在不断的推出⼀系列的考试、认证。⼜是要我们去考试。我们国家的⾃考或是成考,以及各省市的各种考试,现在都在朝着信息化的道路前进在⾛。我们相信在今后这⼀
系列的考试将会⾛向⽹络化考试的。这样才是符合信息技术发展的⽅向。我们要给不同的考试同⼀个好的解决⽅案。这个⽅案在技术上来讲我们是采⽤B/S模式。 在windows/Linux平台上,使⽤IE浏览器,完成抽题、考试、交卷等考试任务。⽅便,简单的完成各种考试,这也是我们的⽬的所在。
考点模块通过⽹络获取题库,按照题库中的抽题策略,⾃动给每个考⽣⽣成⼀份试卷,考⽣在线作答,考试结果数据通过⽹络回收,系统⾃动进⾏判分,⽣成考试成绩和统计数据。“在线考试系统”是集合现试理论、⽅法和现代信息技术⼿段的智能化⽹上考试系统,为学⽣个性化学习提供“灵活、⽅便、科学、公平”的“个别化考试服务”,是终结性评价系统。学⽣可以随时、随地进⾏课程结业考试。
课题开发意义
⽤Browser/Web模式来设计考试系统⽐较合适,服务器端我们采⽤SQL SERVER数据库系统和JSP组件来构成考试的应⽤服务系统;客户端采⽤浏览器来完成考试全过程,同时可进⾏远程系统维护和管理。利⽤⽹络和数据库技术,结合⽬前硬件价格普遍下跌与宽带⽹⼤⼒建设的有利优势,应⽤JAVA Server Page技术,开发了基于B/S模式多⽤户在线考试系统这⼀程序。它运⽤⽅便、操作简单,效率很⾼(同时,它要求计算机配置也很⾼,尤其是服务器端).基于Web技术的⽹络考试系统可以借助于遍布全球的因特⽹进⾏,因此考试既可以在本地进⾏,也可以在异地进⾏,⼤⼤拓展了考试的灵活性。试卷可以根据题库中的内容即时⽣成,可避免考试前的压题;⽽且可以采⽤⼤量标准化试题,从
⽽使⽤计算机判卷,⼤⼤提⾼阅卷效率;还可以直接把成绩送到数据库中,进⾏统计、排序等操作。考⽣通过姓名、准考证号码和⼝令进⾏登录,考试答案也存放在服务器中,这样考试的公平性、答案的安全性可以得到有效的保证。因此,采⽤⽹络考试⽅式将是以后考试发展的趋势。
系统需求分析
项⽬要求
本系统作为⼀个在线的考试系统,要求实现⽹络考试系统的各项基本功能。从维护和安全的⾓度看,可以把系统设计成B/S模式的,可以让⽤户通过浏览器直接访问位于服务器上的考试题以及对系统进⾏远程维护。
系统前台主要有考⽣注册和登录模块、在线考试模块、查询成绩模块以及退出登录等;系统后台主要有考⽣信息、考题信息、考试成绩信息、考试套题和课程信息等管理模块。其中
(1)注册和登录模块
考⽣要进⼊考试系统,⾸先需要注册⼀个学⽣证号。在注册页中输⼊考⽣的基本信息,包括学⽣证号、学⽣姓名、密码、密码问题、问题答案、性别和所学专业等。其中为防⽌注册的学⽣证号重复,在这⾥应⽤了AJAX⽆刷新检测⽤户名的技术。登录只需核实注册信息即可。
(2)在线考试
当考⽣准备考试时,⾸先需要阅读考试规则,在同意所列出的考试规则的前提下,才能选择专业和考试课程,然后才能进⼊考试页⾯开始答题。当考⽣提交试卷或者到达考试结束时间,系统将⾃动对考⽣提交的试卷进⾏评分,并给出最终成绩。
(3)考试套题管理
考试套题管理主要包括对考试题进⾏添加、查询、修改和删除操作。
(4)考试题⽬管理
考试题⽬管理主要包括对考试题进⾏添加、查询、修改和删除操作。除此之外,根据实际需要,还可以对数据库中的信息(学⽣信息、试题)进⾏维护。
要求:
①操作简单⽅便、界⾯简洁美化。
②具有实时性,已注册的⽤户⽆论⾝处在何地,通过Internet浏览器,都可登录考试系统进⾏考试。
③系统提供的⾃动交卷功能使考试到结束时间时,系统⾃动交卷。
④提供考试时间倒计时功能,让考⽣随时了解考试剩余时间。
⑤考⽣可以随时查看成绩。
⑦对考⽣注册信息进⾏管理。
⑧系统⾃动交卷、阅卷,保证成绩真实,准确。
⑨系统运⾏稳定、安全。
开发⽅案
选择MySql作为后台的数据库,选择myeclipse作为应⽤程序开发⼯具,应⽤JAVA、JSP、JavaScript、Html、Tomcat服务器技术,整个系统完全基于B/S (Browser/Server)模式进⾏设计,采⽤strus框架进⾏架构。
开发环境
在开发⽹络在线考试系统时,需要具备下⾯的软件环境:
a) 操作系统:Windows8.1。
b) Web服务器:Tomcat7.0。
c) Java开发包:JDK1.7。
d) 开发⼯具:myeclipse2015。
e) 数据库:MySQL及其图形化管理⼯具SQLyog。
f) 浏览器:⽕狐游览器。
总体开发
开发思想
结构开发思想
B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的⼀种变化或者改进的结构。在这种结构下,⽤户⼯作界⾯是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层(3-tier)结
构。⼀个三层架构的应⽤程序由三部分组成,这三部分各⾃分布在⽹络中的不同地⽅。这三个部分分别是:⼯作站或表⽰层接⼝、事务逻辑、数据库以及与其相关的程序设计。在⼀个典型的三层架构应⽤程序中,应⽤程序的⽤户⼯作站包括提供图形⽤户界⾯(GUI)的程序设计和具体的应⽤程序⼊⼝表格或交互式窗⼝。
以⽬前的技术看,局域⽹建⽴B/S结构的⽹络应⽤,并通过Internet/Intranet模式下数据库应⽤,相对易于把握、成本也是较低的。它是⼀次性到位的开发,能实现不同的⼈员,从不同的地点,以不同的接⼊⽅式(⽐如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语⾔出现之后,B/S架构管理软件更是⽅便、快捷、⾼效。
⾯向对象机制的设计思想
所有计算机均由两种元素组成:代码和数据。精确的说,有些程序是围绕着"什么正在发⽣"⽽编写,有些则是围绕"谁正在受影响"⽽编写的。
第⼀种编程⽅式叫做"⾯向过程的模型",按这种模型编写的程序以⼀系列的线性步骤(代码)为特征,可被理解为作⽤于数据的代码。如 C 等过程化语⾔。
第⼆种编程⽅式叫做"⾯向对象的模型",按这种模型编写的程序围绕着程序的数据(对象)和针对该对象⽽严格定义的接⼝来组织程序,它的特点是数据控制代码的访问.通过把控制权转移到数据上,⾯向对象的模型在组织⽅式上有:抽象、封装、继承和多态的好处。
代码分层思想
由于采⽤B/S设计模式分层思想,同时根据软件⼯程的管理思想及系统分析的设计与分析的思想进⾏系统的开发,利⽤Java语⾔开发Web应⽤程序,提供String+Hibernate+Spring框架对系统的程序代码结构进⾏分层。分层的策略如下:
图1 Struts-Spring-Hibernate架构
系统功能结构设计
根据⽹络在线考试系统的特点,可以将其分为前台和后台两个部分进⾏设计。前台主要⽤于考⽣注册和登录系统、在线考试、查询成绩以及修改个⼈资料等;后台主要⽤于管理员对考⽣信息、课程信息、考题信息和考⽣成绩信息等进⾏管理。 ⽹络在线考试系统的前台功能如图2所⽰:
图2 系统前台功能图
⽹络在线考试系统的后台功能结构如图3所⽰:
图3 系统后台功能图
业务流程图设计
⽹络在线考试的系统业务流程如图4所⽰:
图4 系统业务流程图
数据库设计
数据库概念设计
根据对系统所做的需求分析和系统设计,规划出本系统中使⽤的数据库实体分别为考⽣档案实体、管理员档案实体、课程档案实体、套题实体、考试题⽬实体和考⽣成绩实体。
考⽣档案实体
考⽣档案实体包括编号、姓名、密码、性别、注册时间、提⽰问题、问题答案、专业和⾝份证号属性。考⽣档案实体的E-R图如图5所⽰:
图5 考⽣档案实体的E-R图
管理员档案实体
管理员档案实体包括编号、管理员名、管理员密码属性。管理员档案实体的E-R图如图6所⽰:
图6 管理员档案实体的E-R图
课程档案实体
课程档案实体包括课程编号、课程名、添加时间属性。课程档案实体的E-R图如图7所⽰:
图7 课程档案实体的E-R图
考试题⽬实体
考试题⽬实体包括编号、问题类型、所属课程、所属套题、选项A、选项B、选项C、选项D、添加时间、正确答案和备注等属性。考试题⽬实体的E-R图如图8所⽰:
图8 考试题⽬实体的E-R图
考⽣成绩实体
考⽣成绩实体包括编号、准考证号、所属课程、单选题分数、多选题分数、合计分数、添加时间属性。考⽣成绩实体的E-R图如图9所⽰:
图9 考⽣成绩实体的E-R图
数据库逻辑设计
(管理员信息表)
管理员信息表⽤来保存管理员信息,该表的结构如表1所⽰:
表1 tb_stuResult表的结构
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论