Web的在线考试系统的设计与实现(含源码)
Web的在线考试系统的设计与实现(含源码)[20191217135730]
摘 要
在这个日新月异的时代,互联网的的地位越来越高,近几年互联网技术的应用更是达到了巅峰时代,人们总是孜孜不倦的推出新颖、夺人眼球同时又实用的互联网产品,考试制度自古以来就是中国的特色,将传统的考试基于互联网技术以一个新的形式呈现在大众的面前——基于WEB的在线考试系统就是在种的情况下孕育而生的。
进过分析选择了java语言来开发程序,后台的数据库则是用来微软的SQL2005。本系统采用的是现今非常流行同时也得到广泛应用的B/S三层结构开发。
结合用户的需求分析出该系统的主要功能并根据分析资料具体的去编码。该系统中实现了管理员、教师和学生这三大子系统。实现了考试和成绩查询,在线批改,题库管理等一些简单的功能。大大提高了考试的效率,降低了考试成本,使考试更加的方便快捷。在开发的过程中也遇到了一些困难,但经过努力,逐步解决了问题,得到了一个符合本课题的方案。
Online examination system based on Web design and implementation
Abstract
In this changing age, the status of the Internet is more and more high, the application of Internet technology in recent years is reached the peak time, people always tireless launched innovative, seize person eyeball and practical Internet products at the same time, the examination system is the characteristic of China since ancient times, the traditional examination based on Internet technology in a new form to present in front of the public - online examination system based on WEB is under the condition of the kind of inoculation.
Through analysis choose the Java language to develop the program, the background of SQL2005 database is used to Microsoft. This system USES is now very popular and widely used B/S three-tier structure development.
Combined with user requirements analysis of the main function of the system and according to the analysis data specific to the coding. This system has realized the administrators, teachers and students of the three subsystems. Implement and test query, online marking, question bank management and so on some simple function. Greatly improve the test efficiency and reduce the test cost, make the examination more convenient and quick. Also met with some difficulties in the process of development, but after efforts to gradually solve the problem, get a conforms to this topic.
Key words: The online exam;B/S model;WEB
1.引言 1
1.1 课题背景 1
1.2 国内外发展现状 1
1.3 课题意义 2
1.4 课题内容及成果 4
1.5 本章小结 4
2.系统开发技术简介 5
2.1 JSP简介 5
2.2 SQL Sever简介 5
2.3 B/S体系 5
2.3.1 B/S模式 5
2.3.2 B/S三层体系 6
2.4 本章小结 6
3.系统需求分析 7
3.1 系统总体需求分析 7
3.1.1 功能需求分析 7
3.1.2 性能需求分析 9
3.2 系统用例图 10
3.3本章小结 10
4.系统总体设计 11
4.1 系统结构设计 11
4.2数据库结构设计 11
4.2.1数据库的需求分析 11
4.2.2数据库的概念结构 12
4.2.3数据库的逻辑结构 14
4.3本章小结 16
5.系统功能实现 17
5.1系统登陆页面 17
5.2管理员功能模块 19
5.2.1课程信息管理 20
5.2.2题库信息管理 20
5.2.3试卷信息管理 21
5.2.4修改个人密码 22
5.2.5安全退出系统 22
5.4评分老师模块 24
6.系统测试 25
6.1系统测试目的与意义 25
6.2测试过程 25
6.3其他错误 25
结语 26
参考文献 27
致 谢 28
1.引言
1.1 课题背景
在21世纪网络技术得到了长足发展的背景下,如今有很多科研机构、大学院校都通过网络开设了远程教育。从第一台计算机诞生到现在,计算机的硬件的发展有了长足的进步,由于受到技术和材料的约束,可以说是遇到了一个瓶颈。所以人们更喜欢将焦点聚集到计算机软件领域,近几年教育软件更是成为大家青睐的领域,在这个形势下考试系统应运而生。随着技术的不断发展以及用户的需求不断增长对开发人员的技术要求也不断增长,开发人员只有汲取用户的要求才能更好的去改进的软件系统。现在的研究人员对在线考试系统的研发热情很高。国际上很多著名的IT公司都采用在线考试系统来举办各种认证考。在线考试系统最为一个应用系统主要是基于计算机的,由主机与客户端组成,主机通过与客户端的联系进行交互,主机主要是作为客户端的服务器,接受从理客户端发来的请求并且处理这些请求。在线考试系统可以从题库中自动抽取题目生成试卷,并且自动的批改试卷得出成绩。而教师只需要把精力放在设计题目上,这样教师的工作量就可得到很大程度的减轻。为了适应这个技术时代快速的发展,我们通过了解最先进的技术以及对用户需求的收集我们开发了考试系统的最初版,日后通过用户的反馈我们会不断地加强该系统的功能。减轻老师繁重的工作量,使老师在出题方面有着更大的精力。
1.2 国内外发展现状
现在社会上对线考试系统有着很高的开发热情,而他也得到越来越多的大学,公司的青睐。就目前而言国内外有许多的网络考试,例如美国的“高级计算机科学考试,ETS组织“计算机文化”,“托福考试”,“GRE”,是由计算机考试的组织。在亚洲的日本也有相关的应用。在我们国内的网络考试则有教育部组织的"全国计算机等级考试",电子工业部组织的“软考”,教育部的微软认证考试、CISCO认证考试等等。基于体系结构的网络考试系统及其应用技术,它可以分为以下三类:考试系统单机版,客户端和服务器(C/S)体系结构,浏览器和服务器(B/S)架构的考试系统。
(1)单机考试系统
单机考试系统顾名思义就是需要在每一台计算机上装有考试系统软件,同时该计算机上也必须要有试题的题库以及题目的答案。考生在考试的时候调用该计算机里面的数据库,考试完之后还需要将试题的答卷存储在该计算机里面的数据库中。然而它数据库管理系统以及一些别的应用都同时在一台计算机上运行的。所以这种系统对计算机硬件系统具有较高的依赖性,同时也会消耗很大的系统资源。这样一来只能在大型机上运行大型数据库的应用系统,这就使得数据库的应用很难发展起来。
(2)C/S架构的在线考试系统
基于客户端/服务器架构的考试系统,需要在每一台计算机安装一些必要的软件并利用计算机的局域网络与服务器端进行通信。通过计算机网络去收集考试信息保证考试题目的一致性,在很大程度上就提升了效率,使其自动化水平更高。然而基于C/S架构的考试系统的系统特点决定它只能适用于很小范围的网络内部,其范围又难以扩展。如果你想使它适合于广泛的网络(WAN),就必须改变它的结构,和通信协议的改进。但都必须安装客户端程序,这样就带来了升级困难和维护的不方便的问题。
(3)基于B/S架构的在线考试系统
基于浏览器和服务器(B/S)架构的在线考试系统是采用的是Web技术。Web技术采用了三层体系结构:表现层 /业务逻辑层/数据库访问层。区别于传统的"客户机/服务器(C/S)"两层结构,因此Web结构有着更好的安全性。它只要安装一个Web浏览器就能解决所有问题,B/S的客户端应用程序都是存储在Web服务器上面,所以他不像C/S架构的一样,B/S的不需要在计算机上安装任何的应用程序。像这种B/S模式的网络考试系统所建立的大型题库,是可以共享的。用户通过浏览器就可以直接登入到考试系统里,因为可以在服务器上管里数据库。从而避免了时间地理的限制,能够实现自动出题、阅题、评分。简单的考试程序使其更加的方便,同时也显得考试是否公正,是否客观,这样的考试使人们更加的信服。不管是系统的软件方面看,还是从对系统的硬件方面来说,B/S模式比C/S的要求更有优势,现在的开发人员也更加喜欢用B/S开发而不是C/S。而且有了互联网技术这一大利器,B/S模式升级系统、维护系统都比比C/S模式方便。同时它还具有可扩充性、安全性、开放性等特点。B/S模式的考试系相比其他的考试系统而言具有很大的实用性,它可以让数百个人,甚至数千人乃至上万的人在不同的地点同时进行在线考试,比如国家软件水平考试。这同时也避免了考试系统对客户机软件的过分依赖,同时减少了客户机软件的维护工作量。
1.3 课题意义
悠久的历史传统的考试模式已经被认为是一个在相当长的时间内检测的最有效的方法,它适用于各种测试。进行一次传统的考试要经历人工出题、打印试卷、组织考试现场、人工批改分数统计,这些步骤繁琐又浪费时间和精力。随着现今信息处理技术飞速的发展,人们越来越不接受传统考试方式,传统考试不如在线考试安全性,更没有在线考试方便快捷,而且在线考试的成本低,更加的经济化。跟不上时代步伐的传统考试方式已经无法满足现代考试的需求。在线考试系作为一种变革,他利用网络进行考试不仅给老师带来了方便同时又给学生提供了一个相对来说更加公平的环境,降低了师资力量的消耗同时又提高了考试的公平公正性。网络化在线考试系统具有如下几个优势:
(l)在线考试比传统考试更加安全,在传统考试的时候分发试卷等环节需要花上一段时间的,试卷的保密工作很难做,因为在上面的一些环节里,试卷所接触的人比较多。而在线考试系统在考试的时候由计算机从题库里抽取题目随机生成考卷,因为是随机抽取考题,所以各个考生所考的试卷就会不完全相同,完全不必担心考生互相之间偷看。况且试题的题库也可指定一些专门的人负责管理,增强保密性。
(2)在线考试更加的客观,传统考试需要老师先出题组成试卷、然后还要印刷试卷,而考试时一个班就那么几个人所以印试卷的套数不多,同时呢出题老师的精力也是有限的,这就造成了试卷所覆盖的知识面也是有限的,这就让很许多学生有空子可钻,他们回去专门复习所谓的“重点”或者更加直接去猜题,考试的客观性就大打折扣;同时也容易产生作弊的现象;而在线考试系统由于是采用随机抽取题目,并且试题的题库大抽取的面也广,同一时间生成多套考试试卷,这样一来试卷考查的知识面覆盖就比较大,考生的实际水平基本就能被考查出来,在线考试系统能有效的防止开考前的恶补学习即所谓的突击复习或猜测考试的重点等不合理的现象,从而就能保证考试能够客观的、准确的测出考生水平。
(3)在线考试更加简单快捷,在一定程度上能够做到公平、公正。由于考试试题的标准化,在线考试系统能够实现自动评分,比人工批改更加快捷,方便,而且因为是自动批改不存在人为因素,这样就避免了人情分及人工批改所带来的误差等问题,保证了考试的公正、公平。
(4)在线考试所需要的成本不高,对考试的管理也更加的效率。运用在线考试的方式可以解放教育者繁重的考务管理工作,从而使教育者能够有更多的精力放在出题,和维护题库上面,这样一来测试水平能够得到很大程度上的提高,节约了资源,使得考试成本得到降低。
经过以上种种分析,在线考试系统将越来越流行,越来越会被人们所认可,甚至会成为今后考试的主流方式。
1.4 课题内容及成果
本系统能够实现管理试题,自动生成试卷、自动批改、分析结果,学生也可以立马查询考试成绩这些基本的功能。
在做系统的时候我选择了用Web去实现,也就是用B/S模式去开发系统,这正是考虑到B/S模式在安全方面有着很大的优势,并且B/S模式更加的容易维护等诸多因素。用户可以通过浏览器就能直接登入系统去查看试题,这样也便于用户维护系统。本系统选择了JSP这一现今比较主流的网络编程技术,这是基于对系统的实时性、安全性等一些方面的考虑。JSP拥有以下优势:安全性高,效率也高,完全能够满足开发本系统的要求。并且采用JSP实现技术,系统就可以移植到其它平台上运行。同时本系统还运用到了struts、hibernate、spring等技术。
在本文中,介绍了在线考试系统的主要的基础功能模块以及实现这些功能的方法。该系统的主要基础功能模块包括:考试题库的管理、自动生成试卷的管理、考试的管理、试卷的批改分析、成绩查询与管理等模块。
1.5 本章小结
本章节大概讲了基于WEB的在线考试系统的课题的背景情况、现今国内外的发展状况,讨论了在线考试系统的这一课题的意义并展示了其内容和成果。
2.系统开发技术简介
2.1 JSP简介
JSP技术是编写程序的,靠的是JAVA语言,处理动态网页逻辑。使网页还能访问存在于服务端的资源。也可以通过Web访问服务脚本和tags存在的逻辑的应用。其开发Web应用程序会非常简单方便,是因为它可以反复使用JSP页面所分离的逻辑和设计。使我这个系统的应用程序开发变得快捷方便。
JSP是相同的,它是运行于服务器端,将结果或者文本返还给客户端,通过浏览器就能观看。JSP页面由HTML和Java的两种代码组成。普通的网页HTML文件中加入JSP标签以及Scriptlet来组成JSP网页,Scriptlet操纵数据库、重新发送请求,实现构建动态网站的功能。在页面客户端的要求下,服务器将对这些代码进行处理,然后再将结果页发送给客户端。JSP完全的向用户面对,而且也简单,也很安全。
2.2 SQL Sever简介
2.3 B/S体系
2.3.1 B/S模式
B/S结构即浏览器和服务器结构,它使数据及应用可通过不同平台、不同网络存取,与平台无关,伸缩性大,为企业、行业提供了开放的基于标准的综合性服务计算环境。 它将处理、储存、通讯能力移入网络,集中主机/终端和C/S 的优点,管理集中,只涉及网络服务器,NC 通过下载获得升级功能;同时信息高度分散,通过HTTP、JAVA 可访问联接任何URL 资源和应用,共享程度高,可伸缩扩展性强,具有高度开放性和灵活性,同时具备高速率和安全性,使管理员真正投资于应用而不是计算机本身[6]。
2.3.2 B/S三层体系
B/S结构是对C/S结构的一种变化或者改进的结构。C/S 是松散耦合系统,通过消息传递机制进行对话,由客户端发出请求给服务器,服务器进行相应处理后经传递机制送回客户端;B/S 模式则把C/S 模式的服务器端进一步深化,分解成应用服务器(Web 服务器) 和多个数据库服务器,同时简化C/S 中的客户端,将客户端的计算功能移至Web 服务器,仅保留其表示功能,从而成为一种由表示层( Browser) 、功能层(Web Server) 与数据库服务层( DATABASE Server)构成的三层分布式结构,结构图如图2-1所示。
图2-1 B/S三层分布结构
上图2-1中客户机端只有浏览器,一般没有应用程序,借助于VBS、JavaScript等技术可以处理一些简单的客户端处理逻辑,显示管理员界面和WebServer端的运行结果。它向URL所指定的Web服务器提出服务申请,Web服务器对管理员进行身份验证后,用TCP/IP协议把所需的文件资料传送给管理员,客户端只是接收文件资料,并显示在浏览器上。
2.4 本章小结
本章主要介绍该系统所采用的相关技术及开发工具,涉及页面开发JSP技术、Struts架构和Hibernate技术、数据库管理系统以及有关该系统的服务器及开发工具。数据库为一个系统开发必不可少的成分,数据库会渗入到整个系统的开发过程中。运行环境为系统开发提供了很好的支持,好的开发环境能够为项目的开发起到事半功倍的效果。通过对各种技术和工具的优缺点描述和对各种技术间适用性的比较,择优选取适合本系统开发的技术和工具,对提高系统开发效率和系统质量做好了基础。
3.系统需求分析
3.1 系统总体需求分析
近年来,网络技术的发展远远超出了人们的预测,人类的脚步在这个信息化的大都市下显得是那么的渺小,那些被人们推崇的古老的人类的文明的传统的方式在当下这个时代又是多微不足道。在这个信息化的时代,人们更加注重的是效率、经济。然而传统的考试方式显然与我们的需要相违背,它消耗人力物力,同时又无法做到绝对的公正、公平、合理、科学以及保密。人工的阅卷方式已经跟不上时代的发展了,既然人类创造了这个信息化的时代,我们就不应该错过这次机会,需要我们更好的去利用现有的优势。在这样的情况下,我们就应该考虑如何利用计算机代替传统的纸上考试以及手工阅卷,达到高效率高产出的需求,这样既解决了人力的浪费,又减少了物力的消耗,试卷可以存储在数据库中,考试时自动生成,教师也免去了繁琐的阅卷,改卷的工作。同时又减小了试卷泄密的机率以及作弊的机率,保证了考试最初的意义:公平性。
3.1.1 功能需求分析
一般来说,考试所针对对象不是很多,他有着特定的一些对象比如学校的学生。现今,一些企业也会对自己的员工做一些考核,有的大型企业也有自己的考核系统,这次企业形式的考核系统不在我们的考虑范围内,我们考虑的用户是一般的学生用户,对于普通学生用户的考试系统来说,基本的得有三个权限的身份,管理员、老师以及学生,所以用户进入得进行身份验证,作为考试者进入系统后首先可以看到自己需要考试的科目,每个考试的科目都可以自动生成一份试卷,处于公平性以及严谨性,每个考生的试卷都是随机生成的一般情况下是没有重复的,同时也要保证每份试卷的难抑程度是一样的。而且,系统对考试时间是有限制的,每个考生的考试时间是一致的,时间一到系统将会自动提交卷,没保存的系统会自动保存提交,这样避免了考生因没保存而造成的0分现象。教师登录系统可以阅卷以及上传学生的分数,阅卷时老师只需要批阅一些主观题,客观题由系统自动批改,同样的学生也可以在系统中查看自己的成绩,管医院主要是对教师以及学生的一些信息的维护,这样就做到了计算机代替纸考以及人工阅卷。综上所说,在线考试系统主要有如下所述的需求:
(1)合理的用户权限
前面的功能需求分析中已经提到该系统有三种权限的用户:管理员、老师以及学生,每个用户都被分配了不同的权限,只有在允许的权限内才能进行相应使用系统提供的功能及资源,每个用户都有自己的职能,如管理员主要负责系统后台的管理,他的权限最大,管理员的职能就是管理试题题库、考试科目学生和老师的信息,并进行一些必要的维护。学生则能登录系统以及参加考试并且在考完后查询成绩。老师登录系统后,可以在线阅卷的操作。
(2)安全稳定的网络环境
在线考试系统主要的运行方式为:一台或多套计算机作为主机,其余的多台作为客户机,主机主要是进行试卷的随机生成以及保存学生提交的试卷,客机为学生答题。
(3)完善的考试功能
在线考试系统应该具备传统考试的所有基本功能,根据实际需求分析,结合传统考试所涉及的基本操作,本系统应该实现的基本功能如下。
Ⅰ.参加考试功能:学生成功登入系统里面后可以查看到自己所考科目的信息,点击即可参加该门课的考试,考试的时候系统自动生成试卷,考试中系统还会提示剩余的时间,做完后就可以提交试卷,考试过程中考生可以提前交卷,时间到达后系统自动保存提交尚未提交的试卷。
Ⅱ.成绩查询功能:考生登入系统后,可以查询以往各科考试的信息。还可以查询各科考试的成绩。
III.学生管理功能:教师登入到系统里后,通过学生管理这项能就可以管理对学生的信息。
V.题库管理功能:管理员登录系统之后,他能够对系统的题库进行一些必要的维护,可以添加老师新出的题目,修改一些错误的题目和也可删除一些旧的题目。
VI.试卷管理功能:系统会自动从题库里抽取题目生成试卷,系统同时也提供了手动从题库里选择题目生成试卷的功能。
VII.考卷评分功能:主机会保存考生已经提交的试卷,系统会自动批改试卷中的选择、判断这些客观的题目,而主观判断的题目需要由教师人工批改,最终上传分数后学生可登录系统查询自己的成绩。
3.1.2 性能需求分析
对于一个好的,完善的系统来说,需要注意以下几个很关键的因素:
(1)系统的实用性:在线考试系统开发的出初衷是为了较少人力以及物力的消耗,所以应将实用性放在首位考虑。实用性主要体现在能够满足一般的客观题型的要求,及一些有固定答案的题目如:选择题、填空题以及判断题等类型的题目系统可以自动批改。在初步的对一些简单的功能作分析的同时,该系统的初步版本也有了一个大概的雏形,后期通过用户的反馈,需求的扩展不断地对系统进行完善,会迭代出满足用户需求,功能齐全的版本。
(2)系统的可靠性:可靠性就是希望系统对用户的请求能够快速的响应,互联网的用户在请求信息的时候,系统就必须在规定的时间内为用户的请求做出反应,如果现今的高考采用在线考试,可以想象全国将会有多少人同时进行考试。如果因为访问人数过多发,而服务器承受不住,系统瘫痪了,导致学生无法参加高考,这样的后果一旦发生将是灾难性的。
(3)系统的可扩展性:系统为了满足用户不断变化的需求以及业务上越变越复杂的要求而要求系统自身的可持续增长,动态的WEB系统的模型会根据需求的增长进行非线性的增长。这种增长速度是不容忽视的,用户数量的的不断增加以及用户服务的复杂性和集成性是其中最为突出的体现,而对于在线考试系统来说,这种扩展性是必不可少的,一颗系统的开发本省就是一个不断完善的过程,随着需求功能的不断强大以及用户的反馈系统才能不断地强大,所以说可扩展性是必须的。
(4)系统的安全性:无论任何的系统他都必须配有安全性这一基本的性能,系统的安全性指的是系统能够保护数据免受恶意攻击,考试系统不可避免的会有用户的基本信息,这些信息都是需要保护的,为了避免这些信息被泄露或者盗取,所以保障系统的安全是非常有必要的。
(5)系统的可管理性:一般而言,开发出一个系统都希望能够简单方便的对其进行管理,为了保证系统能够进行正常管理一般需涉及到以下的几个因素,工具、管理员以及技术人员都是维护系统服务以及使服务正常工作所必不可少的。考试系统的主机一般都毁在一个特定的地点,对于那些远程教育来说无法做到实时监察,所以系统在监控方面需做到远程管理。
3.2 系统用例图
根据以上对系统所进行的性能需求分析,得出如图3—1所示的系统管理员用例图。
3.3本章小结
本章承接上一章的内容,并按照软件工程这一学科的理论对在线考试系统的开发做了思路分析以及开发方法的探究,对系统的需求做了详细的分析,最终给出了系统所需的功能以及性能的需求,并根据这些功能需求作出系统所需的用例图。
4.系统总体设计
为了实现系统功能的需求,需要在需求分析这一环节里搞清楚系统的逻辑模型,再把逻辑模型转化为物理模型。
4.1 系统结构设计
系统的模块化在系统的概要设计中占有最重要的地位。把一个很复杂的系统划分成若干个按照某种方法连接起来的模块就叫着模块化,以此来更好的满足系统的要求。
划分模块还必须保持其独立性。做到高内聚低耦合这一特点。这样的系统其可读性、可维护性将会有很大程度的提升。奠定了设计高质量的软件结构基础。
由上面的需求分析可以设计出本系统的三个子系统:管理员模块、学生模块、老师模块。以此做出了如图4-1所示的系统功能结构。
图4-1 系统总功能结构图
4.2数据库结构设计
根据上述所描述的系统性能和功能需求分析,在此基础上进一步对系统中所用到的数据进行需求分析,下面主要完成系统数据库的逻辑和物理设计。
4.2.1数据库的需求分析
根据在线考试系统的需求,设计对应的相关数据表及其功能如下:
(1)学生信息表:这个表里面存了一切与学生有关联的信息数据。
(2)老师信息表:这个表里面存了一切与老师信息有关联的信息数据。
(3)题库信息表:该表里存了系统里面所有考题的相关信息数据。
(4)试卷信息表:该表存了所有系统里面自动和手动的试卷的信息数据。
(5)管理员信息表:该表里面存了相关的账号、登入密码等信息数据。
(6)课程信息表:该表里面存了所有也课程的相关的信息数据。
(7)交卷信息表:该表里面存了考生考试完以后提交的试卷所有信息数据。
(8)分数信息表:该表里面存了考生分数的相关信息数据。
4.2.2数据库的概念结构
(1)学生信息:
学生信息实体对象主要包括学生的姓名、学生的学号、性别、年龄、学生ID登录账号、登录密码。该实体属性图如图4-2所示。
图4—2学生信息实体属性图
(2)老师信息:
老师信息实体对象主要包括老师姓名、编号、性别、年龄、登录账号、登录密码。该实体的属性图如下图4-3所示。
(3)课程信息:
课程信息实体的对象就只包含了课程名称和课程ID这两个对象。该实体属性图如下图4-4所示。
(4)题目信息:
题目信息实体对象主要包括题目ID、题目名称、题目类型、题目答案、题目分数。该实体属性图如图4-5所示。
图4-5 题目信息实体属性图
(5)交卷信息:
交卷信息实体对象主要包括交卷编号、试卷编号、题目编号、学生编号、题目答案。该实体属性图如图4-6所示。
图4-6交卷信息实体属性图
(6)管理员信息
管理员信息实体对象主要包括管理员姓名、性别、年龄、管理员ID、登录账号、登录密码。该实体属性图如图4-7所示。
图4-7题目信息实体属性图
4.2.3数据库的逻辑结构
(1)学生信息表(t_stu):记录学生的相关信息,在这个数据库表中主要包括学生姓名、学号、性别、年龄、学生ID登入账号、登录密码。对它们的具体定义和描述如表4-1示。
表4-1学生信息表
(2)老师信息表(t_tea):记录评分老师的相关信息,主要包括老师姓名、编号、性别、年龄、登录账号、登录密码。对它们的具体定义和描述如表4-2所示。
表4-2老师信息表
(3)课程信息表(t_kecheng):记录了课程的相关信息,主要包括课程名称、课程ID。如表4-3所示。
(4)题库信息表(t_timu):记录考试题目的相关信息,主要包括题目ID、题目名称、题目类型、题目答案、题目分数。如表4-4所示。
表4-4题目信息表
(5)交卷信息表(t_jiaojuan):记录试卷的相关信息,如表4-5所示。
表4-5交卷信息表
(6)管理员表主要记录了其账号信息,主要包括管理员编号、年龄、性别、登录账号、登录密码,表结构如表4-6所示。
表4-6管理员信息表(t_admin)
4.3本章小结
本章分析了系统需求,设计了系统用到的表并且做出了系统的结构图,分析了各表间的关系,准备下一步的开发。
5.系统功能实现
软件系统的生命周期中需要经过需求分析、系统设计、概要设计等阶段,才能着手进入系统实施环节。在分析和设计系统的时候,在这个时候就需要我们把精力集中在逻辑设计,功能设计以及实现技术的设计上面,而系统实施的时候需要接受上面阶段工作的成果,然后进行物理实现。
5.1系统登陆页面
(1)系统中所实现的登录主界面如图5-1所示用户必须要输入正确的账号和密码才能登入到系统里。
图5-1 系统登陆页面设计
(2)关键代码:
5.2管理员功能模块
系统中所实现的管理员主界面如图5-2所示,在该界面中左方页面是导航栏,管理员点击进入相关的页面就可以进入子菜单,并且每个菜单下面都有与之对应的子菜单。
为了提高系统的安全性,每个J2EE页面会拦截相关用户,防止用户没有登陆页面就能进入子菜单页面。关键代码:
5.2.1课程信息管理
(1)课程信息添加:管理员需要在课程名称后面的输入栏里输入课程名称,单后单击提交按钮就可完成课程录入。程序效果图如下图5-3所示。
(2)课程信息管理:管理员点击“课程信息管理”菜单,进入该页面。程序效果图如下图5-4所示。进入界面以后可以进行删除操作,选中要删出的课程,单击删除按钮,完成删除。如果单击页面左下角的添加按钮,还可以添加新的课程。
图5-3 课程信息添加
图5-4 课程信息管理
5.2.2题库信息管理
(1)题目添加:管理员在输入题目信息的时候,在输入栏里分别输入题目名称,选项A,B,C,D的内容,以及正确答案,题目的分数。程序效果图如下图5-5所示。
图5-5题目信息添加
(2)题目信息管理:用户点击“题目信息管理”菜单,进入该页面,程序效果图如下图5-6所示。
图5-6题库管理界面设计
5.2.3试卷信息管理
(1)试卷信息添加:管理员在试卷名称栏里输入的试卷名称,在试卷介绍栏里输入试卷内容,单击提交按钮完成试卷录入。程序页面展示图如下图5-7所示。
(2)试卷信息管理:管理员用鼠标左键点击“试卷信息管理”选项菜单,程序页面展示图如下图4-8所示。
5.2.4修改个人密码
管理员修改密码需要在登录名后面的输入栏里输入登录名,在原密码后面的输入栏里输入原始密码,再在新密码的输入栏里输入想要改的密码,最后在确认栏里重新输入一遍,最后用鼠标左键单击修改按钮就可完成改密码。程序页面展示图如下图5-9所示。
5.2.5安全退出系统
系统安全退出的描述:鼠标左键单击退出系统按钮就能回到系统的登入页面。关键代码:
5.3学生用户模块
在本系统里学生可凭借学号直接登录系统而不需输入密码,也可以通过输入账号和密码登入到系统里面,在进入系统里后,点击“在线考试”的菜单,选择自己所要考的科目,点击“开始考试”,就能进入到如图5-10所示的考试界面。
5.4评分老师模块
该系统的老师模块有着的阅卷评分这一功能,在登录界面老师分别在用户名和登录密码的输入栏里,填写正确的用户名和密码,点击登录系统之后,进入到系统里,用鼠标左键点击左侧的菜单“阅卷评分”,进入到页面中选择需要批改的试题,用鼠标右键单击“确定”按钮,进入到评分阅卷界面。由于客观题,如选择题之类的系统会自动批改,给出学生所得的分数,而一些主观的题目,就需要老师去亲自批改并给出得分。其页面展示图如图5-11所示。
5.5本章小结
初步完成了系统的实现环节,接下来就要对系统进行测试了。测试是为了更好的完善系统,改进系统。
6.系统测试
6.1系统测试目的与意义
系统测试是在系统开发周期中相当重要的一个环节。尽最大可能的查出代码中的错误,以此来提升系统的可靠性。在测试环节里有模块测试、组装测试、确认测试这三个测试。当测试出问题之后找到出现问题的位置和代码,进行改正。系统的对产品进行测试,是为了保证系统满足需求规格的定义。
6.2测试过程
在测试之前,需要将那些没有实用性的数据从数据库中清理掉,然后输入有效的测试数据。测试的时候发现问题,经过反复的调试,最终把出现的问题全部解决掉了。
下面是主页面的登录模块测试的测试流程:
(1)首先打开系统首页,先输入错误的用户名和密码看看是否能够登录。
(2)输入正确的用户名和密码,看看是否能够正常登入。(3)测试结果。
6.3其他错误
在实现程序设计的的时候可能会发生各种各样的错误,当然会有例如文字错误、录入不一致、传输错误等不可预料的错误存在于在系统实行的过程中。需要不断的仔细的检查和调试,然后不断的改正才能避免以上所有的这些。比如在配置servlet路径时由于粗心大意而发生错误,如图6-1所示。
结语
本系统的目标是建立一个高效,安全,可靠的无纸化在线考试系统,本系统采用的是B/S三层体系结构,运用struts、hibernate、spring等技术,并使用Sql2005作为本系统的数据库, 操作系统是Windows7,以tomcat作为web服务器。
一开始选择方案,经过需求分析、概要设计等各个环节,在各个过程中本人从中学习到了很多以前从来没有接触到的知识。了解了一个开发团队的主要组成人员以及各岗位人员是如何互相协调完成任务的,同时也了解了怎样去开发一个基于WEB应用程序,这让我受益匪浅。
该系统名为在线考试系统,这系统还只是一个简陋的在线考试系统,许多功能还不完善,需要进一步的改进。在实际的开发过程中,由于有个人技术方面的原因,以及当时设计上思维的局限性,导致了我所开发的系统的不完善。在未来的一段时间内希望能够将该系统升华,从中再加入更多的功能模块,使得用户有着更好的体验,同时还需要提高该系统的安全性。
参考文献
[1] 杨世锡,赵辉. JSP+SQL Server/Access动态网站开发从基础到实践[M]. 北京: 电子工业出版社, 2006.4, 124~145.
[2] 周峰. 白领就业指南:JSP开发员回忆录[M]. 北京:电子工业出版社, 2000.7, 64~75.[3] 美 Christoph Wille ,Christian Koller. 24小时学通JSP. 潇湘工作室译[M]. 北京:人民邮电出版社, 2000.1, 99~110.
[4] 王珊、萨师煊.数据库系统概论[M].北京:高等教育出版社,2006.5
[5] Bruce Eckel著,陈昊鹏译.Java编程思想(第三版)[M].北京:机械工业出版社,2007.6
[6] 李书杰,李志刚. B/S三层体系结构模式[J], 河北理工学院学报,2002,卷号(24):26-34.
[7] 王行言.Java语言与面向对象程序设计[M].北京:清华大学出版社,2007.11
[8] 张孝祥.深入体验Java Web开发内幕:核心基础[M].北京:电子工业出版社,2006.10
[9] David Flanagan著,张铭泽.JavaScript权威指南(第四版)[M].北京:机械工业出版社,2003.1:7
[11] 刘亚宾,杨红.精通Eclipse[M].北京:电子工业出版社,2004.10
[12] Joshua Bloch .Effective Java.California:Addison Wesley,2001.7
[13] 李绪成.Java EE5实用教程—基于Weblogic和Eclipse[M].北京:电子工业出版社,2007.2.
[14] 郭广军.刘安丰,阳西述.Java程序设计教程[M]. 武汉:武汉大学出版社,2008.7
[15] (美)梅茨克尔(Metsker,S.J. ). (美)韦克(Wake,W.C. ). Design Patterns in Java (2nd Edition) [M].北京:人民邮电出版社,2007.6.
致 谢
短暂四年的大学生活,让我从一个青涩的少年成长为一位即将步入社会的成年人。大学即将结束,也迎来了我大学生活的最后一个阶段。即:毕业设计。在这次论文的设计中,朱苗苗老师的对我的帮助是极其重要的。在老师的教导之下我学到了很多。在做这次毕业设计之中,老师的帮助都让我提高了自身的能力,对我的以后甚至将来都有一定的意义。在这里,我很感谢我的老师,感谢她对我的帮助。
在这个毕业设计整个过程的开发中,我的系统从初始的开发然后到现在的系统的实现,然后到后面的功能实现和毕业设计的理解,让我这类系统地开发更自信了,充实了我的知识。在老师的指导下,同学的积极帮助下我的知识和具体的实践能力都得到了大大的提升,也让我完善了我的毕业设计和我的系统,让我知道了自己的错误,避免了很多的盲区。这也是这次毕业设计和开发系统最高的得益。
最后,我要感谢我的父母对的养育之恩。正是我的父母对我的细心的关怀呵护,我才能健康的成长。
查看完整论文请+Q: 351916072
关键字:
目 录
IV.科目管理功能:管理科目的一些信息,包括科目录入新的考试科目,也可以删除旧的考试科目。
摘 要
在这个日新月异的时代,互联网的的地位越来越高,近几年互联网技术的应用更是达到了巅峰时代,人们总是孜孜不倦的推出新颖、夺人眼球同时又实用的互联网产品,考试制度自古以来就是中国的特色,将传统的考试基于互联网技术以一个新的形式呈现在大众的面前——基于WEB的在线考试系统就是在种的情况下孕育而生的。
进过分析选择了java语言来开发程序,后台的数据库则是用来微软的SQL2005。本系统采用的是现今非常流行同时也得到广泛应用的B/S三层结构开发。
结合用户的需求分析出该系统的主要功能并根据分析资料具体的去编码。该系统中实现了管理员、教师和学生这三大子系统。实现了考试和成绩查询,在线批改,题库管理等一些简单的功能。大大提高了考试的效率,降低了考试成本,使考试更加的方便快捷。在开发的过程中也遇到了一些困难,但经过努力,逐步解决了问题,得到了一个符合本课题的方案。
Online examination system based on Web design and implementation
Abstract
In this changing age, the status of the Internet is more and more high, the application of Internet technology in recent years is reached the peak time, people always tireless launched innovative, seize person eyeball and practical Internet products at the same time, the examination system is the characteristic of China since ancient times, the traditional examination based on Internet technology in a new form to present in front of the public - online examination system based on WEB is under the condition of the kind of inoculation.
Through analysis choose the Java language to develop the program, the background of SQL2005 database is used to Microsoft. This system USES is now very popular and widely used B/S three-tier structure development.
Combined with user requirements analysis of the main function of the system and according to the analysis data specific to the coding. This system has realized the administrators, teachers and students of the three subsystems. Implement and test query, online marking, question bank management and so on some simple function. Greatly improve the test efficiency and reduce the test cost, make the examination more convenient and quick. Also met with some difficulties in the process of development, but after efforts to gradually solve the problem, get a conforms to this topic.
Key words: The online exam;B/S model;WEB
1.引言 1
1.1 课题背景 1
1.2 国内外发展现状 1
1.3 课题意义 2
1.4 课题内容及成果 4
1.5 本章小结 4
2.系统开发技术简介 5
2.1 JSP简介 5
2.2 SQL Sever简介 5
2.3 B/S体系 5
2.3.1 B/S模式 5
2.3.2 B/S三层体系 6
2.4 本章小结 6
3.系统需求分析 7
3.1 系统总体需求分析 7
3.1.1 功能需求分析 7
3.1.2 性能需求分析 9
3.2 系统用例图 10
3.3本章小结 10
4.系统总体设计 11
4.1 系统结构设计 11
4.2数据库结构设计 11
4.2.1数据库的需求分析 11
4.2.2数据库的概念结构 12
4.2.3数据库的逻辑结构 14
4.3本章小结 16
5.系统功能实现 17
5.1系统登陆页面 17
5.2管理员功能模块 19
5.2.1课程信息管理 20
5.2.2题库信息管理 20
5.2.3试卷信息管理 21
5.2.4修改个人密码 22
5.2.5安全退出系统 22
5.4评分老师模块 24
6.系统测试 25
6.1系统测试目的与意义 25
6.2测试过程 25
6.3其他错误 25
结语 26
参考文献 27
致 谢 28
1.引言
1.1 课题背景
在21世纪网络技术得到了长足发展的背景下,如今有很多科研机构、大学院校都通过网络开设了远程教育。从第一台计算机诞生到现在,计算机的硬件的发展有了长足的进步,由于受到技术和材料的约束,可以说是遇到了一个瓶颈。所以人们更喜欢将焦点聚集到计算机软件领域,近几年教育软件更是成为大家青睐的领域,在这个形势下考试系统应运而生。随着技术的不断发展以及用户的需求不断增长对开发人员的技术要求也不断增长,开发人员只有汲取用户的要求才能更好的去改进的软件系统。现在的研究人员对在线考试系统的研发热情很高。国际上很多著名的IT公司都采用在线考试系统来举办各种认证考。在线考试系统最为一个应用系统主要是基于计算机的,由主机与客户端组成,主机通过与客户端的联系进行交互,主机主要是作为客户端的服务器,接受从理客户端发来的请求并且处理这些请求。在线考试系统可以从题库中自动抽取题目生成试卷,并且自动的批改试卷得出成绩。而教师只需要把精力放在设计题目上,这样教师的工作量就可得到很大程度的减轻。为了适应这个技术时代快速的发展,我们通过了解最先进的技术以及对用户需求的收集我们开发了考试系统的最初版,日后通过用户的反馈我们会不断地加强该系统的功能。减轻老师繁重的工作量,使老师在出题方面有着更大的精力。
1.2 国内外发展现状
现在社会上对线考试系统有着很高的开发热情,而他也得到越来越多的大学,公司的青睐。就目前而言国内外有许多的网络考试,例如美国的“高级计算机科学考试,ETS组织“计算机文化”,“托福考试”,“GRE”,是由计算机考试的组织。在亚洲的日本也有相关的应用。在我们国内的网络考试则有教育部组织的"全国计算机等级考试",电子工业部组织的“软考”,教育部的微软认证考试、CISCO认证考试等等。基于体系结构的网络考试系统及其应用技术,它可以分为以下三类:考试系统单机版,客户端和服务器(C/S)体系结构,浏览器和服务器(B/S)架构的考试系统。
(1)单机考试系统
单机考试系统顾名思义就是需要在每一台计算机上装有考试系统软件,同时该计算机上也必须要有试题的题库以及题目的答案。考生在考试的时候调用该计算机里面的数据库,考试完之后还需要将试题的答卷存储在该计算机里面的数据库中。然而它数据库管理系统以及一些别的应用都同时在一台计算机上运行的。所以这种系统对计算机硬件系统具有较高的依赖性,同时也会消耗很大的系统资源。这样一来只能在大型机上运行大型数据库的应用系统,这就使得数据库的应用很难发展起来。
(2)C/S架构的在线考试系统
基于客户端/服务器架构的考试系统,需要在每一台计算机安装一些必要的软件并利用计算机的局域网络与服务器端进行通信。通过计算机网络去收集考试信息保证考试题目的一致性,在很大程度上就提升了效率,使其自动化水平更高。然而基于C/S架构的考试系统的系统特点决定它只能适用于很小范围的网络内部,其范围又难以扩展。如果你想使它适合于广泛的网络(WAN),就必须改变它的结构,和通信协议的改进。但都必须安装客户端程序,这样就带来了升级困难和维护的不方便的问题。
(3)基于B/S架构的在线考试系统
基于浏览器和服务器(B/S)架构的在线考试系统是采用的是Web技术。Web技术采用了三层体系结构:表现层 /业务逻辑层/数据库访问层。区别于传统的"客户机/服务器(C/S)"两层结构,因此Web结构有着更好的安全性。它只要安装一个Web浏览器就能解决所有问题,B/S的客户端应用程序都是存储在Web服务器上面,所以他不像C/S架构的一样,B/S的不需要在计算机上安装任何的应用程序。像这种B/S模式的网络考试系统所建立的大型题库,是可以共享的。用户通过浏览器就可以直接登入到考试系统里,因为可以在服务器上管里数据库。从而避免了时间地理的限制,能够实现自动出题、阅题、评分。简单的考试程序使其更加的方便,同时也显得考试是否公正,是否客观,这样的考试使人们更加的信服。不管是系统的软件方面看,还是从对系统的硬件方面来说,B/S模式比C/S的要求更有优势,现在的开发人员也更加喜欢用B/S开发而不是C/S。而且有了互联网技术这一大利器,B/S模式升级系统、维护系统都比比C/S模式方便。同时它还具有可扩充性、安全性、开放性等特点。B/S模式的考试系相比其他的考试系统而言具有很大的实用性,它可以让数百个人,甚至数千人乃至上万的人在不同的地点同时进行在线考试,比如国家软件水平考试。这同时也避免了考试系统对客户机软件的过分依赖,同时减少了客户机软件的维护工作量。
1.3 课题意义
悠久的历史传统的考试模式已经被认为是一个在相当长的时间内检测的最有效的方法,它适用于各种测试。进行一次传统的考试要经历人工出题、打印试卷、组织考试现场、人工批改分数统计,这些步骤繁琐又浪费时间和精力。随着现今信息处理技术飞速的发展,人们越来越不接受传统考试方式,传统考试不如在线考试安全性,更没有在线考试方便快捷,而且在线考试的成本低,更加的经济化。跟不上时代步伐的传统考试方式已经无法满足现代考试的需求。在线考试系作为一种变革,他利用网络进行考试不仅给老师带来了方便同时又给学生提供了一个相对来说更加公平的环境,降低了师资力量的消耗同时又提高了考试的公平公正性。网络化在线考试系统具有如下几个优势:
(l)在线考试比传统考试更加安全,在传统考试的时候分发试卷等环节需要花上一段时间的,试卷的保密工作很难做,因为在上面的一些环节里,试卷所接触的人比较多。而在线考试系统在考试的时候由计算机从题库里抽取题目随机生成考卷,因为是随机抽取考题,所以各个考生所考的试卷就会不完全相同,完全不必担心考生互相之间偷看。况且试题的题库也可指定一些专门的人负责管理,增强保密性。
(2)在线考试更加的客观,传统考试需要老师先出题组成试卷、然后还要印刷试卷,而考试时一个班就那么几个人所以印试卷的套数不多,同时呢出题老师的精力也是有限的,这就造成了试卷所覆盖的知识面也是有限的,这就让很许多学生有空子可钻,他们回去专门复习所谓的“重点”或者更加直接去猜题,考试的客观性就大打折扣;同时也容易产生作弊的现象;而在线考试系统由于是采用随机抽取题目,并且试题的题库大抽取的面也广,同一时间生成多套考试试卷,这样一来试卷考查的知识面覆盖就比较大,考生的实际水平基本就能被考查出来,在线考试系统能有效的防止开考前的恶补学习即所谓的突击复习或猜测考试的重点等不合理的现象,从而就能保证考试能够客观的、准确的测出考生水平。
(3)在线考试更加简单快捷,在一定程度上能够做到公平、公正。由于考试试题的标准化,在线考试系统能够实现自动评分,比人工批改更加快捷,方便,而且因为是自动批改不存在人为因素,这样就避免了人情分及人工批改所带来的误差等问题,保证了考试的公正、公平。
(4)在线考试所需要的成本不高,对考试的管理也更加的效率。运用在线考试的方式可以解放教育者繁重的考务管理工作,从而使教育者能够有更多的精力放在出题,和维护题库上面,这样一来测试水平能够得到很大程度上的提高,节约了资源,使得考试成本得到降低。
经过以上种种分析,在线考试系统将越来越流行,越来越会被人们所认可,甚至会成为今后考试的主流方式。
1.4 课题内容及成果
本系统能够实现管理试题,自动生成试卷、自动批改、分析结果,学生也可以立马查询考试成绩这些基本的功能。
在做系统的时候我选择了用Web去实现,也就是用B/S模式去开发系统,这正是考虑到B/S模式在安全方面有着很大的优势,并且B/S模式更加的容易维护等诸多因素。用户可以通过浏览器就能直接登入系统去查看试题,这样也便于用户维护系统。本系统选择了JSP这一现今比较主流的网络编程技术,这是基于对系统的实时性、安全性等一些方面的考虑。JSP拥有以下优势:安全性高,效率也高,完全能够满足开发本系统的要求。并且采用JSP实现技术,系统就可以移植到其它平台上运行。同时本系统还运用到了struts、hibernate、spring等技术。
在本文中,介绍了在线考试系统的主要的基础功能模块以及实现这些功能的方法。该系统的主要基础功能模块包括:考试题库的管理、自动生成试卷的管理、考试的管理、试卷的批改分析、成绩查询与管理等模块。
1.5 本章小结
本章节大概讲了基于WEB的在线考试系统的课题的背景情况、现今国内外的发展状况,讨论了在线考试系统的这一课题的意义并展示了其内容和成果。
2.系统开发技术简介
2.1 JSP简介
JSP技术是编写程序的,靠的是JAVA语言,处理动态网页逻辑。使网页还能访问存在于服务端的资源。也可以通过Web访问服务脚本和tags存在的逻辑的应用。其开发Web应用程序会非常简单方便,是因为它可以反复使用JSP页面所分离的逻辑和设计。使我这个系统的应用程序开发变得快捷方便。
JSP是相同的,它是运行于服务器端,将结果或者文本返还给客户端,通过浏览器就能观看。JSP页面由HTML和Java的两种代码组成。普通的网页HTML文件中加入JSP标签以及Scriptlet来组成JSP网页,Scriptlet操纵数据库、重新发送请求,实现构建动态网站的功能。在页面客户端的要求下,服务器将对这些代码进行处理,然后再将结果页发送给客户端。JSP完全的向用户面对,而且也简单,也很安全。
2.2 SQL Sever简介
2.3 B/S体系
2.3.1 B/S模式
B/S结构即浏览器和服务器结构,它使数据及应用可通过不同平台、不同网络存取,与平台无关,伸缩性大,为企业、行业提供了开放的基于标准的综合性服务计算环境。 它将处理、储存、通讯能力移入网络,集中主机/终端和C/S 的优点,管理集中,只涉及网络服务器,NC 通过下载获得升级功能;同时信息高度分散,通过HTTP、JAVA 可访问联接任何URL 资源和应用,共享程度高,可伸缩扩展性强,具有高度开放性和灵活性,同时具备高速率和安全性,使管理员真正投资于应用而不是计算机本身[6]。
2.3.2 B/S三层体系
B/S结构是对C/S结构的一种变化或者改进的结构。C/S 是松散耦合系统,通过消息传递机制进行对话,由客户端发出请求给服务器,服务器进行相应处理后经传递机制送回客户端;B/S 模式则把C/S 模式的服务器端进一步深化,分解成应用服务器(Web 服务器) 和多个数据库服务器,同时简化C/S 中的客户端,将客户端的计算功能移至Web 服务器,仅保留其表示功能,从而成为一种由表示层( Browser) 、功能层(Web Server) 与数据库服务层( DATABASE Server)构成的三层分布式结构,结构图如图2-1所示。
图2-1 B/S三层分布结构
上图2-1中客户机端只有浏览器,一般没有应用程序,借助于VBS、JavaScript等技术可以处理一些简单的客户端处理逻辑,显示管理员界面和WebServer端的运行结果。它向URL所指定的Web服务器提出服务申请,Web服务器对管理员进行身份验证后,用TCP/IP协议把所需的文件资料传送给管理员,客户端只是接收文件资料,并显示在浏览器上。
2.4 本章小结
本章主要介绍该系统所采用的相关技术及开发工具,涉及页面开发JSP技术、Struts架构和Hibernate技术、数据库管理系统以及有关该系统的服务器及开发工具。数据库为一个系统开发必不可少的成分,数据库会渗入到整个系统的开发过程中。运行环境为系统开发提供了很好的支持,好的开发环境能够为项目的开发起到事半功倍的效果。通过对各种技术和工具的优缺点描述和对各种技术间适用性的比较,择优选取适合本系统开发的技术和工具,对提高系统开发效率和系统质量做好了基础。
3.系统需求分析
3.1 系统总体需求分析
近年来,网络技术的发展远远超出了人们的预测,人类的脚步在这个信息化的大都市下显得是那么的渺小,那些被人们推崇的古老的人类的文明的传统的方式在当下这个时代又是多微不足道。在这个信息化的时代,人们更加注重的是效率、经济。然而传统的考试方式显然与我们的需要相违背,它消耗人力物力,同时又无法做到绝对的公正、公平、合理、科学以及保密。人工的阅卷方式已经跟不上时代的发展了,既然人类创造了这个信息化的时代,我们就不应该错过这次机会,需要我们更好的去利用现有的优势。在这样的情况下,我们就应该考虑如何利用计算机代替传统的纸上考试以及手工阅卷,达到高效率高产出的需求,这样既解决了人力的浪费,又减少了物力的消耗,试卷可以存储在数据库中,考试时自动生成,教师也免去了繁琐的阅卷,改卷的工作。同时又减小了试卷泄密的机率以及作弊的机率,保证了考试最初的意义:公平性。
3.1.1 功能需求分析
一般来说,考试所针对对象不是很多,他有着特定的一些对象比如学校的学生。现今,一些企业也会对自己的员工做一些考核,有的大型企业也有自己的考核系统,这次企业形式的考核系统不在我们的考虑范围内,我们考虑的用户是一般的学生用户,对于普通学生用户的考试系统来说,基本的得有三个权限的身份,管理员、老师以及学生,所以用户进入得进行身份验证,作为考试者进入系统后首先可以看到自己需要考试的科目,每个考试的科目都可以自动生成一份试卷,处于公平性以及严谨性,每个考生的试卷都是随机生成的一般情况下是没有重复的,同时也要保证每份试卷的难抑程度是一样的。而且,系统对考试时间是有限制的,每个考生的考试时间是一致的,时间一到系统将会自动提交卷,没保存的系统会自动保存提交,这样避免了考生因没保存而造成的0分现象。教师登录系统可以阅卷以及上传学生的分数,阅卷时老师只需要批阅一些主观题,客观题由系统自动批改,同样的学生也可以在系统中查看自己的成绩,管医院主要是对教师以及学生的一些信息的维护,这样就做到了计算机代替纸考以及人工阅卷。综上所说,在线考试系统主要有如下所述的需求:
(1)合理的用户权限
前面的功能需求分析中已经提到该系统有三种权限的用户:管理员、老师以及学生,每个用户都被分配了不同的权限,只有在允许的权限内才能进行相应使用系统提供的功能及资源,每个用户都有自己的职能,如管理员主要负责系统后台的管理,他的权限最大,管理员的职能就是管理试题题库、考试科目学生和老师的信息,并进行一些必要的维护。学生则能登录系统以及参加考试并且在考完后查询成绩。老师登录系统后,可以在线阅卷的操作。
(2)安全稳定的网络环境
在线考试系统主要的运行方式为:一台或多套计算机作为主机,其余的多台作为客户机,主机主要是进行试卷的随机生成以及保存学生提交的试卷,客机为学生答题。
(3)完善的考试功能
在线考试系统应该具备传统考试的所有基本功能,根据实际需求分析,结合传统考试所涉及的基本操作,本系统应该实现的基本功能如下。
Ⅰ.参加考试功能:学生成功登入系统里面后可以查看到自己所考科目的信息,点击即可参加该门课的考试,考试的时候系统自动生成试卷,考试中系统还会提示剩余的时间,做完后就可以提交试卷,考试过程中考生可以提前交卷,时间到达后系统自动保存提交尚未提交的试卷。
Ⅱ.成绩查询功能:考生登入系统后,可以查询以往各科考试的信息。还可以查询各科考试的成绩。
III.学生管理功能:教师登入到系统里后,通过学生管理这项能就可以管理对学生的信息。
V.题库管理功能:管理员登录系统之后,他能够对系统的题库进行一些必要的维护,可以添加老师新出的题目,修改一些错误的题目和也可删除一些旧的题目。
VI.试卷管理功能:系统会自动从题库里抽取题目生成试卷,系统同时也提供了手动从题库里选择题目生成试卷的功能。
VII.考卷评分功能:主机会保存考生已经提交的试卷,系统会自动批改试卷中的选择、判断这些客观的题目,而主观判断的题目需要由教师人工批改,最终上传分数后学生可登录系统查询自己的成绩。
3.1.2 性能需求分析
对于一个好的,完善的系统来说,需要注意以下几个很关键的因素:
(1)系统的实用性:在线考试系统开发的出初衷是为了较少人力以及物力的消耗,所以应将实用性放在首位考虑。实用性主要体现在能够满足一般的客观题型的要求,及一些有固定答案的题目如:选择题、填空题以及判断题等类型的题目系统可以自动批改。在初步的对一些简单的功能作分析的同时,该系统的初步版本也有了一个大概的雏形,后期通过用户的反馈,需求的扩展不断地对系统进行完善,会迭代出满足用户需求,功能齐全的版本。
(2)系统的可靠性:可靠性就是希望系统对用户的请求能够快速的响应,互联网的用户在请求信息的时候,系统就必须在规定的时间内为用户的请求做出反应,如果现今的高考采用在线考试,可以想象全国将会有多少人同时进行考试。如果因为访问人数过多发,而服务器承受不住,系统瘫痪了,导致学生无法参加高考,这样的后果一旦发生将是灾难性的。
(3)系统的可扩展性:系统为了满足用户不断变化的需求以及业务上越变越复杂的要求而要求系统自身的可持续增长,动态的WEB系统的模型会根据需求的增长进行非线性的增长。这种增长速度是不容忽视的,用户数量的的不断增加以及用户服务的复杂性和集成性是其中最为突出的体现,而对于在线考试系统来说,这种扩展性是必不可少的,一颗系统的开发本省就是一个不断完善的过程,随着需求功能的不断强大以及用户的反馈系统才能不断地强大,所以说可扩展性是必须的。
(4)系统的安全性:无论任何的系统他都必须配有安全性这一基本的性能,系统的安全性指的是系统能够保护数据免受恶意攻击,考试系统不可避免的会有用户的基本信息,这些信息都是需要保护的,为了避免这些信息被泄露或者盗取,所以保障系统的安全是非常有必要的。
(5)系统的可管理性:一般而言,开发出一个系统都希望能够简单方便的对其进行管理,为了保证系统能够进行正常管理一般需涉及到以下的几个因素,工具、管理员以及技术人员都是维护系统服务以及使服务正常工作所必不可少的。考试系统的主机一般都毁在一个特定的地点,对于那些远程教育来说无法做到实时监察,所以系统在监控方面需做到远程管理。
3.2 系统用例图
根据以上对系统所进行的性能需求分析,得出如图3—1所示的系统管理员用例图。
3.3本章小结
本章承接上一章的内容,并按照软件工程这一学科的理论对在线考试系统的开发做了思路分析以及开发方法的探究,对系统的需求做了详细的分析,最终给出了系统所需的功能以及性能的需求,并根据这些功能需求作出系统所需的用例图。
4.系统总体设计
为了实现系统功能的需求,需要在需求分析这一环节里搞清楚系统的逻辑模型,再把逻辑模型转化为物理模型。
4.1 系统结构设计
系统的模块化在系统的概要设计中占有最重要的地位。把一个很复杂的系统划分成若干个按照某种方法连接起来的模块就叫着模块化,以此来更好的满足系统的要求。
划分模块还必须保持其独立性。做到高内聚低耦合这一特点。这样的系统其可读性、可维护性将会有很大程度的提升。奠定了设计高质量的软件结构基础。
由上面的需求分析可以设计出本系统的三个子系统:管理员模块、学生模块、老师模块。以此做出了如图4-1所示的系统功能结构。
图4-1 系统总功能结构图
4.2数据库结构设计
根据上述所描述的系统性能和功能需求分析,在此基础上进一步对系统中所用到的数据进行需求分析,下面主要完成系统数据库的逻辑和物理设计。
4.2.1数据库的需求分析
根据在线考试系统的需求,设计对应的相关数据表及其功能如下:
(1)学生信息表:这个表里面存了一切与学生有关联的信息数据。
(2)老师信息表:这个表里面存了一切与老师信息有关联的信息数据。
(3)题库信息表:该表里存了系统里面所有考题的相关信息数据。
(4)试卷信息表:该表存了所有系统里面自动和手动的试卷的信息数据。
(5)管理员信息表:该表里面存了相关的账号、登入密码等信息数据。
(6)课程信息表:该表里面存了所有也课程的相关的信息数据。
(7)交卷信息表:该表里面存了考生考试完以后提交的试卷所有信息数据。
(8)分数信息表:该表里面存了考生分数的相关信息数据。
4.2.2数据库的概念结构
(1)学生信息:
学生信息实体对象主要包括学生的姓名、学生的学号、性别、年龄、学生ID登录账号、登录密码。该实体属性图如图4-2所示。
图4—2学生信息实体属性图
(2)老师信息:
老师信息实体对象主要包括老师姓名、编号、性别、年龄、登录账号、登录密码。该实体的属性图如下图4-3所示。
(3)课程信息:
课程信息实体的对象就只包含了课程名称和课程ID这两个对象。该实体属性图如下图4-4所示。
(4)题目信息:
题目信息实体对象主要包括题目ID、题目名称、题目类型、题目答案、题目分数。该实体属性图如图4-5所示。
图4-5 题目信息实体属性图
(5)交卷信息:
交卷信息实体对象主要包括交卷编号、试卷编号、题目编号、学生编号、题目答案。该实体属性图如图4-6所示。
图4-6交卷信息实体属性图
(6)管理员信息
管理员信息实体对象主要包括管理员姓名、性别、年龄、管理员ID、登录账号、登录密码。该实体属性图如图4-7所示。
图4-7题目信息实体属性图
4.2.3数据库的逻辑结构
(1)学生信息表(t_stu):记录学生的相关信息,在这个数据库表中主要包括学生姓名、学号、性别、年龄、学生ID登入账号、登录密码。对它们的具体定义和描述如表4-1示。
表4-1学生信息表
(2)老师信息表(t_tea):记录评分老师的相关信息,主要包括老师姓名、编号、性别、年龄、登录账号、登录密码。对它们的具体定义和描述如表4-2所示。
表4-2老师信息表
(3)课程信息表(t_kecheng):记录了课程的相关信息,主要包括课程名称、课程ID。如表4-3所示。
(4)题库信息表(t_timu):记录考试题目的相关信息,主要包括题目ID、题目名称、题目类型、题目答案、题目分数。如表4-4所示。
表4-4题目信息表
(5)交卷信息表(t_jiaojuan):记录试卷的相关信息,如表4-5所示。
表4-5交卷信息表
(6)管理员表主要记录了其账号信息,主要包括管理员编号、年龄、性别、登录账号、登录密码,表结构如表4-6所示。
表4-6管理员信息表(t_admin)
4.3本章小结
本章分析了系统需求,设计了系统用到的表并且做出了系统的结构图,分析了各表间的关系,准备下一步的开发。
5.系统功能实现
软件系统的生命周期中需要经过需求分析、系统设计、概要设计等阶段,才能着手进入系统实施环节。在分析和设计系统的时候,在这个时候就需要我们把精力集中在逻辑设计,功能设计以及实现技术的设计上面,而系统实施的时候需要接受上面阶段工作的成果,然后进行物理实现。
5.1系统登陆页面
(1)系统中所实现的登录主界面如图5-1所示用户必须要输入正确的账号和密码才能登入到系统里。
图5-1 系统登陆页面设计
(2)关键代码:
5.2管理员功能模块
系统中所实现的管理员主界面如图5-2所示,在该界面中左方页面是导航栏,管理员点击进入相关的页面就可以进入子菜单,并且每个菜单下面都有与之对应的子菜单。
为了提高系统的安全性,每个J2EE页面会拦截相关用户,防止用户没有登陆页面就能进入子菜单页面。关键代码:
5.2.1课程信息管理
(1)课程信息添加:管理员需要在课程名称后面的输入栏里输入课程名称,单后单击提交按钮就可完成课程录入。程序效果图如下图5-3所示。
(2)课程信息管理:管理员点击“课程信息管理”菜单,进入该页面。程序效果图如下图5-4所示。进入界面以后可以进行删除操作,选中要删出的课程,单击删除按钮,完成删除。如果单击页面左下角的添加按钮,还可以添加新的课程。
图5-3 课程信息添加
图5-4 课程信息管理
5.2.2题库信息管理
(1)题目添加:管理员在输入题目信息的时候,在输入栏里分别输入题目名称,选项A,B,C,D的内容,以及正确答案,题目的分数。程序效果图如下图5-5所示。
图5-5题目信息添加
(2)题目信息管理:用户点击“题目信息管理”菜单,进入该页面,程序效果图如下图5-6所示。
图5-6题库管理界面设计
5.2.3试卷信息管理
(1)试卷信息添加:管理员在试卷名称栏里输入的试卷名称,在试卷介绍栏里输入试卷内容,单击提交按钮完成试卷录入。程序页面展示图如下图5-7所示。
(2)试卷信息管理:管理员用鼠标左键点击“试卷信息管理”选项菜单,程序页面展示图如下图4-8所示。
5.2.4修改个人密码
管理员修改密码需要在登录名后面的输入栏里输入登录名,在原密码后面的输入栏里输入原始密码,再在新密码的输入栏里输入想要改的密码,最后在确认栏里重新输入一遍,最后用鼠标左键单击修改按钮就可完成改密码。程序页面展示图如下图5-9所示。
5.2.5安全退出系统
系统安全退出的描述:鼠标左键单击退出系统按钮就能回到系统的登入页面。关键代码:
5.3学生用户模块
在本系统里学生可凭借学号直接登录系统而不需输入密码,也可以通过输入账号和密码登入到系统里面,在进入系统里后,点击“在线考试”的菜单,选择自己所要考的科目,点击“开始考试”,就能进入到如图5-10所示的考试界面。
5.4评分老师模块
该系统的老师模块有着的阅卷评分这一功能,在登录界面老师分别在用户名和登录密码的输入栏里,填写正确的用户名和密码,点击登录系统之后,进入到系统里,用鼠标左键点击左侧的菜单“阅卷评分”,进入到页面中选择需要批改的试题,用鼠标右键单击“确定”按钮,进入到评分阅卷界面。由于客观题,如选择题之类的系统会自动批改,给出学生所得的分数,而一些主观的题目,就需要老师去亲自批改并给出得分。其页面展示图如图5-11所示。
5.5本章小结
初步完成了系统的实现环节,接下来就要对系统进行测试了。测试是为了更好的完善系统,改进系统。
6.系统测试
6.1系统测试目的与意义
系统测试是在系统开发周期中相当重要的一个环节。尽最大可能的查出代码中的错误,以此来提升系统的可靠性。在测试环节里有模块测试、组装测试、确认测试这三个测试。当测试出问题之后找到出现问题的位置和代码,进行改正。系统的对产品进行测试,是为了保证系统满足需求规格的定义。
6.2测试过程
在测试之前,需要将那些没有实用性的数据从数据库中清理掉,然后输入有效的测试数据。测试的时候发现问题,经过反复的调试,最终把出现的问题全部解决掉了。
下面是主页面的登录模块测试的测试流程:
(1)首先打开系统首页,先输入错误的用户名和密码看看是否能够登录。
(2)输入正确的用户名和密码,看看是否能够正常登入。(3)测试结果。
6.3其他错误
在实现程序设计的的时候可能会发生各种各样的错误,当然会有例如文字错误、录入不一致、传输错误等不可预料的错误存在于在系统实行的过程中。需要不断的仔细的检查和调试,然后不断的改正才能避免以上所有的这些。比如在配置servlet路径时由于粗心大意而发生错误,如图6-1所示。
结语
本系统的目标是建立一个高效,安全,可靠的无纸化在线考试系统,本系统采用的是B/S三层体系结构,运用struts、hibernate、spring等技术,并使用Sql2005作为本系统的数据库, 操作系统是Windows7,以tomcat作为web服务器。
一开始选择方案,经过需求分析、概要设计等各个环节,在各个过程中本人从中学习到了很多以前从来没有接触到的知识。了解了一个开发团队的主要组成人员以及各岗位人员是如何互相协调完成任务的,同时也了解了怎样去开发一个基于WEB应用程序,这让我受益匪浅。
该系统名为在线考试系统,这系统还只是一个简陋的在线考试系统,许多功能还不完善,需要进一步的改进。在实际的开发过程中,由于有个人技术方面的原因,以及当时设计上思维的局限性,导致了我所开发的系统的不完善。在未来的一段时间内希望能够将该系统升华,从中再加入更多的功能模块,使得用户有着更好的体验,同时还需要提高该系统的安全性。
参考文献
[1] 杨世锡,赵辉. JSP+SQL Server/Access动态网站开发从基础到实践[M]. 北京: 电子工业出版社, 2006.4, 124~145.
[2] 周峰. 白领就业指南:JSP开发员回忆录[M]. 北京:电子工业出版社, 2000.7, 64~75.[3] 美 Christoph Wille ,Christian Koller. 24小时学通JSP. 潇湘工作室译[M]. 北京:人民邮电出版社, 2000.1, 99~110.
[4] 王珊、萨师煊.数据库系统概论[M].北京:高等教育出版社,2006.5
[5] Bruce Eckel著,陈昊鹏译.Java编程思想(第三版)[M].北京:机械工业出版社,2007.6
[6] 李书杰,李志刚. B/S三层体系结构模式[J], 河北理工学院学报,2002,卷号(24):26-34.
[7] 王行言.Java语言与面向对象程序设计[M].北京:清华大学出版社,2007.11
[8] 张孝祥.深入体验Java Web开发内幕:核心基础[M].北京:电子工业出版社,2006.10
[9] David Flanagan著,张铭泽.JavaScript权威指南(第四版)[M].北京:机械工业出版社,2003.1:7
[11] 刘亚宾,杨红.精通Eclipse[M].北京:电子工业出版社,2004.10
[12] Joshua Bloch .Effective Java.California:Addison Wesley,2001.7
[13] 李绪成.Java EE5实用教程—基于Weblogic和Eclipse[M].北京:电子工业出版社,2007.2.
[14] 郭广军.刘安丰,阳西述.Java程序设计教程[M]. 武汉:武汉大学出版社,2008.7
[15] (美)梅茨克尔(Metsker,S.J. ). (美)韦克(Wake,W.C. ). Design Patterns in Java (2nd Edition) [M].北京:人民邮电出版社,2007.6.
致 谢
短暂四年的大学生活,让我从一个青涩的少年成长为一位即将步入社会的成年人。大学即将结束,也迎来了我大学生活的最后一个阶段。即:毕业设计。在这次论文的设计中,朱苗苗老师的对我的帮助是极其重要的。在老师的教导之下我学到了很多。在做这次毕业设计之中,老师的帮助都让我提高了自身的能力,对我的以后甚至将来都有一定的意义。在这里,我很感谢我的老师,感谢她对我的帮助。
在这个毕业设计整个过程的开发中,我的系统从初始的开发然后到现在的系统的实现,然后到后面的功能实现和毕业设计的理解,让我这类系统地开发更自信了,充实了我的知识。在老师的指导下,同学的积极帮助下我的知识和具体的实践能力都得到了大大的提升,也让我完善了我的毕业设计和我的系统,让我知道了自己的错误,避免了很多的盲区。这也是这次毕业设计和开发系统最高的得益。
最后,我要感谢我的父母对的养育之恩。正是我的父母对我的细心的关怀呵护,我才能健康的成长。
查看完整论文请+Q: 351916072
关键字:
目 录
IV.科目管理功能:管理科目的一些信息,包括科目录入新的考试科目,也可以删除旧的考试科目。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/1999.html