基于Web在线考试系统的设计与实现
这是一个课程设计的文档,源码及文档数据库我都修改过了,貌似这里复制过来的时候图片不能贴出
下载地址:链接:https://pan.baidu.com/s/1cOzutS31VrvelaYyq4T6pQ
提取码:erzt
数据库原理课程设计说明书
目 录
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
1 课题背景与意义
1.1课题开发背景
当今社会,考试已经是我们必不可少的东西了,从小到大我们已经考过无数次了,以后还要考,不管是国内还是国外的各大厂家,都在不断的推出一系列的考试、认证。又是要我们去考试。我们国家的自考或是成考,以及各省市的各种考试,现在都在朝着信息化的道路前进在走。我们相信在今后这一系列的考试将会走向网络化考试的。这样才是符合信息技术发展的方向。我们要给不同的考试同一个好的解决方案。这个方案在技术上来讲我们是采用B/S模式。 在windows/Linux平台上,使用IE浏览器,完成抽题、考试、交卷等考试任务。方便,简单的完成各种考试,这也是我们的目的所在。
考点模块通过网络获取题库,按照题库中的抽题策略,自动给每个考生生成一份试卷,考生在线作答,考试结果数据通过网络回收,系统自动进行判分,生成考试成绩和统计数据。“在线考试系统”是集合现代考试理论、方法和现代信息技术手段的智能化网上考试系统,为学生个性化学习提供“灵活、方便、科学、公平”的“个别化考试服务”,是终结性评价系统。学生可以随时、随地进行课程结业考试。
1.2 课题开发意义
用Browser/Web模式来设计考试系统比较合适,服务器端我们采用SQL SERVER数据库系统和JSP组件来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,应用JAVA Server Page技术,开发了基于B/S模式多用户在线考试系统这一程序。它运用方便、操作简单,效率很高(同时,它要求计算机配置也很高,尤其是服务器端).基于Web技术的网络考试系统可以借助于遍布全球的因特网进行,因此考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。试卷可以根据题库中的内容即时生成,可避免考试前的压题;而且可以采用大量标准化试题,从而使用计算机判卷,大大提高阅卷效率;还可以直接把成绩送到数据库中,进行统计、排序等操作。考生通过姓名、准考证号码和口令进行登录,考试答案也存放在服务器中,这样考试的公平性、答案的安全性可以得到有效的保证。因此,采用网络考试方式将是以后考试发展的趋势。
2 系统需求分析
2.1 项目要求
本系统作为一个在线的考试系统,要求实现网络考试系统的各项基本功能。从维护和安全的角度看,可以把系统设计成B/S模式的,可以让用户通过浏览器直接访问位于服务器上的考试题以及对系统进行远程维护。
系统前台主要有考生注册和登录模块、在线考试模块、查询成绩模块以及退出登录等;系统后台主要有考生信息、考题信息、考试成绩信息、考试套题和课程信息等管理模块。其中
(1)注册和登录模块
考生要进入考试系统,首先需要注册一个学生证号。在注册页中输入考生的基本信息,包括学生证号、学生姓名、密码、密码问题、问题答案、性别和所学专业等。其中为防止注册的学生证号重复,在这里应用了AJAX无刷新检测用户名的技术。登录只需核实注册信息即可。
(2)在线考试
当考生准备考试时,首先需要阅读考试规则,在同意所列出的考试规则的前提下,才能选择专业和考试课程,然后才能进入考试页面开始答题。当考生提交试卷或者到达考试结束时间,系统将自动对考生提交的试卷进行评分,并给出最终成绩。
(3)考试套题管理
考试套题管理主要包括对考试题进行添加、查询、修改和删除操作。
(4)考试题目管理
考试题目管理主要包括对考试题进行添加、查询、修改和删除操作。除此之外,根据实际需要,还可以对数据库中的信息(学生信息、试题)进行维护。
要求:
①操作简单方便、界面简洁美化。
②具有实时性,已注册的用户无论身处在何地,通过Internet浏览器,都可登录考试系统进行考试。
③系统提供的自动交卷功能使考试到结束时间时,系统自动交卷。
④提供考试时间倒计时功能,让考生随时了解考试剩余时间。
⑤考生可以随时查看成绩。
⑦对考生注册信息进行管理。
⑧系统自动交卷、阅卷,保证成绩真实,准确。
⑨系统运行稳定、安全。
2.2 开发方案
选择MySql作为后台的数据库,选择myeclipse作为应用程序开发工具,应用JAVA、JSP、JavaScript、Html、Tomcat服务器技术,整个系统完全基于B/S (Browser/Server)模式进行设计,采用strus框架进行架构。
2.3开发环境
在开发网络在线考试系统时,需要具备下面的软件环境:
a) 操作系统:Windows8.1。
b) Web服务器:Tomcat7.0。
c) Java开发包:JDK1.7。
d) 开发工具:myeclipse2015。
e) 数据库:MySQL及其图形化管理工具SQLyog。
f) 浏览器:火狐游览器。
3 总体开发
3.1 开发思想
3.1.1 B/S结构开发思想
3.1.2面向对象机制的设计思想
所有计算机均由两种元素组成:代码和数据。精确的说,有些程序是围绕着"什么正在发生"而编写,有些则是围绕"谁正在受影响"而编写的。
第一种编程方式叫做"面向过程的模型",按这种模型编写的程序以一系列的线性步骤(代码)为特征,可被理解为作用于数据的代码。如 C 等过程化语言。
3.1.3 代码分层思想
3.2 系统功能结构设计
3.3 业务流程图设计
4 数据库设计
4.1 数据库概念设计
根据对系统所做的需求分析和系统设计,规划出本系统中使用的数据库实体分别为考生档案实体、管理员档案实体、课程档案实体、套题实体、考试题目实体和考生成绩实体。
4.1.1考生档案实体
考生档案实体包括编号、姓名、密码、性别、注册时间、提示问题、问题答案、专业和身份证号属性。考生档案实体的E-R图如图5所示:
4.1.2管理员档案实体
管理员档案实体包括编号、管理员名、管理员密码属性。管理员档案实体的E-R图如图6所示:
4.1.3课程档案实体
课程档案实体包括课程编号、课程名、添加时间属性。课程档案实体的E-R图如图7所示:
4.1.4考试题目实体
考试题目实体包括编号、问题类型、所属课程、所属套题、选项A、选项B、选项C、选项D、添加时间、正确答案和备注等属性。考试题目实体的E-R图如图8所示:
4.1.5考生成绩实体
考生成绩实体包括编号、准考证号、所属课程、单选题分数、多选题分数、合计分数、添加时间属性。考生成绩实体的E-R图如图9所示:
4.2 数据库逻辑设计
4.2.1 tb_manager(管理员信息表)
4.2.2 tb_Student(考生信息表)
4.2.3 tb_stuResult(考生成绩信息表)
考生成绩信息表用来保存考生成绩,该表中的所属课程字段whichLesson与tb_Lesson表中的Name字段相关联,并且设置为级联更新。考生成绩信息表的结构如表3所示:
4.2.4 tb_TaoTi(套题信息表)
套题信息表用来保存套题信息,该表中保存着所属套题ID,套题名称,套题所属课程以及套题的添加时间信息。该表的结构如表4所示:
4.2.5 tb_Lesson(课程信息表)
课程信息表用来保存课程信息,该表中保存着所属课程的ID,课程名以及课程的添加时间信息。该表的结构如表5所示:
4.2.6 tb_Questions(考试题目信息表)
考试题目信息表用来保存考试题目信息。考试题目信息表的结构如表6所示:
4.3 数据表关系设计
本系统设计了如图10所示的数据表之间的关系,该关系实际上也反映了系统中各个实体之间的关系。
5 详细设计
5.1前台首页模块设计
考生通过“考生登录”模块的验证后,可以登录到网络在线考试的前台首页,如图11所示。前台首页主要用于实现前台功能导航,在该页面中只包括在线考试、成绩查询、修改个人资料和退出4个导航链接。
5.2 考生信息模块设计
5.3 在线考试模块设计
5.4 考试题目管理模块设计
网络在线考试系统的后台首页是管理员对网站信息进行管理的首页面。在该页面中,管理员可以清楚地了解网站后台管理系统包含的基本操作。
a)管理员信息管理:主要包括管理员信息列表、添加管理员、修改管理员和删除管理员。
b)考生信息管理:主要包括查看注册考生信息列表和删除已注册的考生信息。
c)考生成绩查询:主要用于根据准考证号、考试课程或考试时间模糊查询考生成绩。
d)课程信息管理:主要包括查看课程列表、添加课程信息和删除课程信息。
e)套题信息管理:主要包括查看套题信息列表、添加套题信息、修改套题信息
f)考试题目管理:主要包括查看考试题目列表、添加考试题目、修改考试题目
为了方便管理员管理,在网络在线考试系统的后台首页中显示考生成绩查询页
6 软件测试
6.1 软件开发技术概述
6.2通过Ajax技术实现计时与显示剩余时间
参考文献
[1] 刘东祥.动态网页JSP技术探究[J].时代教育,2010,(10):14-17.
[2] 何文辉.基于JSP的动态网站开发技术[J].吉林省教育学院学报,2012,(8):18-20.
[3] 郭利周,于长虹,郭晓萍.基于的网上考试安全体系的设计与构建[J].洛阳师范学院学 报,2013,(5):25-28.
[4] 张洪伟.Tomcat Web开发及整合应用[M].北京.清华大学出版社. 2010.8:10-230
[5] 周玫,袁振武.浅谈在线考试系统[J].科技广场,2008,(7):11-14.
[6] 覃远霞.在线考试系统的设计与运用[J].应用科学,2010,(1):34-36.
[7] 四维科技,杨易编著.JSP网络编程技术与案例[M].北京:人民邮电出版社,2006.
[8] 范云之.基于Web数据库在线考试系统的设计与实现研究[J].商丘师范学院学报第22卷第5期 2006.10:1-20
[9] 刘中兵,李伯华,邹晨编著.JSP数据库项目案例导航[M].北京:清华大学出版社,2013.
[10] 覃远霞.在线考试系统的设计与运用[J].应用科学,2013,(1):34-36.
[13] (美)Marty Hall.Servlet与JSP权威指南[M].北京v机械工业出版社. 2008.10:30-350
[14](美)Marty Hall.JavaScript高级程序设计[M].北京.人民邮电出版社. 2009.11:50-200
[15](美)DavidFlanagan.JavaScript权威指南[M].北京.机械工业出版社. 2013.1:10-200
附录:数据库源程序
`ID` INT(11) NOT NULL AUTO_INCREMENT,
`Name` VARCHAR(60) DEFAULT NULL,
`JoinTime` DATETIME DEFAULT NULL,
) ENGINE=INNODBAUTO_INCREMENT=34 DEFAULT CHARSET=utf-8;
`ID` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(30) DEFAULT NULL,
`PWD` VARCHAR(30) DEFAULT NULL,
) ENGINE=INNODBAUTO_INCREMENT=15 DEFAULT CHARSET=utf8;
INSERT INTO`tb_manager`(`ID`,`name`,`PWD`) VALUES (1,'admin','admin'),(2,'tf111','tf111');
`id` INT(11) NOT NULL AUTO_INCREMENT,
`subject` VARCHAR(50) DEFAULT NULL,
`joinTime` DATETIME DEFAULT NULL,
`lessonId` INT(11) DEFAULT NULL,
`taoTiId` INT(11) DEFAULT NULL,
`optionA` VARCHAR(50) DEFAULT NULL,
`optionB` VARCHAR(50) DEFAULT NULL,
`optionC` VARCHAR(50) DEFAULT NULL,
`optionD` VARCHAR(50) DEFAULT NULL,
`answer` VARCHAR(10) DEFAULT NULL,
`note` VARCHAR(50) DEFAULT NULL,
) ENGINE=INNODBAUTO_INCREMENT=52 DEFAULT CHARSET=utf8;
`ID` VARCHAR(16) DEFAULT NULL,
`name` VARCHAR(20) DEFAULT NULL,
`pwd` VARCHAR(20) DEFAULT NULL,
`sex` VARCHAR(2) DEFAULT NULL,
`joinTime` DATETIME DEFAULT NULL,
`question` VARCHAR(50) DEFAULT NULL,
`answer` VARCHAR(50) DEFAULT NULL,
`profession` VARCHAR(30) DEFAULT NULL,
`cardNo` VARCHAR(18) DEFAULT NULL
) ENGINE=INNODBDEFAULT CHARSET=utf8;
`id` INT(11) NOT NULL AUTO_INCREMENT,
`stuId` VARCHAR(16) DEFAULT NULL,
`whichLesson` VARCHAR(60) DEFAULT NULL,
`resSingle` INT(11) DEFAULT NULL,
`resMore` INT(11) DEFAULT NULL,
`resTotal` INT(11) DEFAULT NULL,
`joinTime` DATETIME DEFAULT NULL,
) ENGINE=INNODBAUTO_INCREMENT=43 DEFAULT CHARSET=utf8;
`ID` INT(11) NOT NULL AUTO_INCREMENT,
`Name` VARCHAR(50) DEFAULT NULL,
`LessonID` INT(11) DEFAULT NULL,
`JoinTime` DATETIME DEFAULT NULL,
) ENGINE=INNODBAUTO_INCREMENT=21 DEFAULT CHARSET=utf8;
基于Web在线考试系统的设计与实现相关推荐
- 基于web的在线考试系统的设计与开发
欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye2 在线考试系统的设计与开发 目录 TOC 1-3 第一章 绪论 1 1.1在线考试系统的研究背景 ...
- 基于Springboot和mybatis在线考试系统的设计与实现
基于Springboot和mybatis在线考试系统的设计与实现 源码获取:https://www.bilibili.com/video/BV1Ne4y1g7dC/ 本系统实现了 考试系统的主要功能, ...
- 基于B/S架构的在线考试系统的设计与实现
前言 这个是我的Web课程设计,用到的主要是JSP技术并使用了大量JSTL标签,所有代码已经上传到了我的Github仓库里,地址:https://github.com/quanbisen/online ...
- (附源码)基于PHP初中英语在线考试系统的设计与实现-计算机毕设87564
PHP初中英语在线考试系统的设计与实现 摘 要 本文研究的初中英语在线考试系统主要功能模块包括:学生用户管理.考试信息.成绩分析.通知公告管理,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好 ...
- pop客户机程序流程图_基于.NET的在线考试系统的设计与实现
基于.NET的在线考试系统的设计与实现(包含任务书,开题报告,毕业论文19000字,程序代码,数据库) 摘 要 随着互联网的发展,人们已经进入了信息时代.在这种环境下,学生希望得到个性化的满足,这使 ...
- 考试 mysql 数据库设计_基于MySQL的在线考试系统数据库设计
2017年第8期信息通信2017 (总第176 期)INFORMATION & COMMUNICATIONS (Sum. No 176) 基于M ySQL的在线考试系统数据库设计 陈松楠,侯丽 ...
- php考试系统毕业论文,基于PHP的在线考试系统的设计与实现
摘 要 本文讲述基于PHP的在线考试系统的设计与实现.首先将题目从题库中抽取出来保存在数组中,然后再对题目数组进行随机抽题,将抽取的题目保存在每个考生的信息中.在做题的过程中还要将考生的答题情况也保存 ...
- 基于php的在线考试系统论文,基于php的在线考试系统的设计与实现 论文.docx
郑州轻工业学院本科生毕业设计(论文)题 目:基于PHP的在线考试系统的设计与实现学生姓名:XXX专业班级:计算机科学与技术X班学 号: XXXXXXXX院 (系):国际教育学院指导教师(职称):XX( ...
- 【论文写作】在线考试系统的设计原理如何写
2.3在线考试系统的设计原理 本网上考试系统采用ASP.HTML.JavaScript.VBScript.FrontPage2000.Access2000等技术与工具,通过基于WEB服务器访问纯WEB ...
- 在线考试系统的设计与实现
摘 要:随着互联网迅速发展,人们的生活已经越来越离不开互联网,人们足不出户就可以工作.买卖.学习等.对于在校学生,通过网络教育不仅可以随时进行网络学习,也可以根据学习的情况自我检测,有利于学生高效.快 ...
最新文章
- 微调torchvision 0.3的目标检测模型
- 哈佛博士生教你轻松愉快地读博
- NeHe OpenGL第二十八课:贝塞尔曲面
- ASP.Net调试过程中弹出的浏览器端口和asp.net development server的端口不一样
- Centos/Red Hat6.8 安装、配置、启动Gitlab (内网环境)
- Python笔记-使用SSIM找两张图不同及使用Opencv显示
- devops 分支管理策略_DevOps招聘策略以吸引顶尖人才
- html width设置没用,html style的width不起作用
- sql语句区分大小写吗?
- mac high sierra开机按option怎么只有一个磁盘_Mac降级重装必备 | MacOS 制作启动U盘及安装方法!...
- Dev-C++/Cpp使用入门详解
- 5G火车站来了!上海虹桥火车站5G网络建设正式启动...
- 互联网面试六大常见问题及应对技巧,2021不再入坑!
- colab读取Google Drive
- apache性能调优(转)
- 送书!我觉得说啥都不如送几本新书
- GPS导航电文——第四、五子帧数据解析
- 给曾经爱过、正在爱着、将要爱的人们!
- 修改谷歌浏览器缓存位置总结
- netty源码分析及优点
热门文章
- WebGoat Client side -- HTML tampering
- 计算机显卡风扇有异响,电脑运行中有异响,拍一拍就好了,原来好多人还不知道问题在哪!...
- 使用命令修改dns服务器地址,Windows下使用命令行设置ip地址的DNS服务器
- html自动排版 vs,Visual Stidio Code (vscode)自定义HTML页面自动生成格式
- 【数学基础】线性方程组解情况整理
- Android 录屏+录音,原生代码,无需root权限,好用更好懂
- PS透明婚纱抠图(超详细)
- es进行curl请求时报错:missing authentication token for REST request
- 西工大计算机学院导师赵歆波,黎永前_西北工业大学研究生导师信息
- python 生信分析_生信分析之Python学习1