基于JSP的网上考试系统的设计与实现毕业论文设计.doc_第1页
基于JSP的网上考试系统的设计与实现毕业论文设计.doc_第2页
基于JSP的网上考试系统的设计与实现毕业论文设计.doc_第3页
基于JSP的网上考试系统的设计与实现毕业论文设计.doc_第4页
基于JSP的网上考试系统的设计与实现毕业论文设计.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于JSP的网上考试系统的设计与实现毕业论文(设计)目 录第1章 开发背景及相关技术11.1 系统开发背景11.2 系统开发的目的和意义11.3 开发技术简介21.3.1 开发语言Java简介21.3.2 SQLServer2005简介31.3.3 TomCat简介51.3.4 开发方案简介51.3.5 B/S开发模式6第2章 系统分析72.1 可行性分析72.2 系统的总体需求分析72.2.1 网上考试系统的使用范围72.2.2 系统功能描述72.2.3 网上考试系统的用户特征82.3系统功能模块需求82.3.1 考生登录模块82.3.2 考生功能模块82.3.3 管理员登录模块82.3.4 管理员功能模块92.3.5 教师登录模块92.3.6 教师功能模块9第3章 系统设计103.1 指导思想103.2 数据库设计113.2.1 概念结构设计113.2.2 数据库的设计133.3 系统结构设计153.4 系统界面设计17第4章 系统的实现、测试与维护214.1 系统的实现214.2 系统的测试254.3 系统维护26第5章 结论与展望275.1 系统总结275.2 前景展望27参考文献28致 谢29附 录30巢湖学院2013届本科毕业论文(设计)第1章 开发背景及相关技术1.1 系统开发背景 每个人从进入学校的那天开始就与考试结下了不解之缘,每个地区每个学校的教学模式不同,考试的形式也会略有差异,有的学校考试频繁,有的学校定期组织,但是都有一个共同点,每每进行考试的时候学生就会看到这样熟悉的场景:老师抱着一大堆试卷匆忙走向班级,以至于有些学生看到这样的场景都觉得害怕。现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一场考试要花费教师大量的时间和精力去策划试卷,并且还要考虑到试卷的难易和知识点覆盖程度,试卷出好后还要经过打印,又要花费不少金钱。另外,对于学生来讲,也不能得到随时能进行自我测评的锻炼,综合各方面,可以明显看出传统的考试模式已经不能适应现代考试的需要。并且随着计算机应用的不断发展,网络应用不断扩大,人们迫切要求利用这些技术来减轻目前繁琐而又沉重的考试负担。值得关注的是,网上考试不仅减轻了教师的工作负担而且提高了工作效率,同时更提高了考试的质量,从而也让学生感到了前所未有的公平感,更加激发了学生的学习兴趣和积极性。本系统是基于B/S模式的网上考试系统,它能够从试题库中随机抽取试题组成试卷,有效避免了考试作弊、相互抄袭的弊端。既然是考试系统,人们当然希望它能实现考试的基本功能和一些管理功能,所以开发网上考试系统,至少要实现以下几项任务:(1)考生登录功能:为考生提供登陆系统服务。先将每个考生的各自学号和初始密码等信息放入数据库,这些将是学生的登录验证信息;(2)考生考试和个人管理功能:为考生提供网上考生的服务。学生登录进去以后可以自己选择考试科目,并维护个人信息和查询考试成绩;(3)管理员功能:为管理员提供管理考试信息的服务。管理员负责用户、试题和考试设置的管理工作,也能够对个人信息进行维护;(4)教师管理功能:为教师提供管理考试的服务。教师可以进行试卷的查看和评阅,网上考试系统的最大特点就是能够自动阅卷,现场给出客观题得分,让学生感到了很大的公平感。1.2 系统开发的目的和意义网上考试系统是通过计算机方式集中进行考试的系统,其主要的目的就是能够最大限度地利用现有的考试资源,建立完备的试题库,提高资源的利用率和当前的工作效率,利用计算机来组织考试,既提高了考试的科学性又减轻了教师的负担,同时也可以防止考生作弊,考试结束后系统将自动评阅试题,经过处理后自动给出分数,方便学生查询1。而且,考生只能通过访问web服务器进入考试系统,答完考卷后答案自动存储,若到达考试规定时间,系统会给出相应交卷提示。设定自动阅卷功能,标准化试题由于答案固定,可以让计算机自动将考生答案和标准化答案比对,自动生成成绩,确保成绩的公平和公正,从而利于教学改进。传统的教学考试中,进行一场考试,老师要经过多个步骤:策划试卷、整理试卷、考虑试卷知识点覆盖程度、安排考试、评阅试卷和分析试卷,这是一个繁重的过程,需要投入大量的人力、物力与时间,已经越来越不能满足学校信息化建设与现代教学的需要。而网上考试系统,正是趋于信息化的标志,它是传统考场的拓展和延伸,它可以利用学校的局域网技术很方便地在任何合理时间内对学生进行考试,加上数据库技术的运用,大大简化了传统考试复杂的过程,因此网上考试系统是电子化教学不可缺少的辅助工具。将计算机与数据库技术应用于现代高等教育中,是现代高等教育发展的需要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段。1.3 开发技术简介 1.3.1 开发语言Java简介Java是一门优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,是目前软件设计中极为健壮的编程语言。Java不仅可以用来开发大型的应用程序,而且特别适合于Internet的应用开发2。1995年6月SUN公司将Java这种革命性的编程语言引进到这个世界,且在同一年,被美国的著名杂志PC Magazine评为十大优秀科技作品之一。之所以称Java编程语言具有革命性,是因为传统的软件往往依赖于具体的实现环境,环境一旦有所变化就要对软件进行相应改动,耗时费力,而Java编写的软件能在执行码上实现兼容。Java的具体特点有以下几项:(1)简单:指这门编程语言既易学又好用,不要将简单误解成这门编程语言很干瘪。如果从语言的简单性方面看,Java要比C+简单,C+中有很多容易混淆的概念,或者被Java弃之不用了,或者以一种更清楚更容易理解的方式实现。这样对于初学者来说不至于那么难入门,也增加了人们学习的积极性。(2)面向对象:出于人的思维模式的考虑,面向对象的编程思想,使人们更容易编写程序。(3)与平台无关:Java最大的优势就是与平台无关。其他编程语言程序普遍遇到的一个重要问题就是:CPU升级、核心系统资源变化和操作系统的变化,都可能会产生程序错误或无法运行的结果,但是这个问题却被Java虚拟机成功解决。(4)解释型:我们知道C,C+等语言的编译对象是CPU芯片,在此基础上生成机器码,其运行就依赖于特定的CPU。而Java的编译并不针对CPU芯片,它是把源代码编译成一种“中间代码”字节码文件。该文件与机器码很接近,可以在提供了Java虚拟机(JVM)的任何系统上被解释执行。(5)多线程:内置对多线程的支持又是Java的一大特点,多线程可以同时进行多项任务。多线程之所以使人产生能够并发执行多个任务的错觉,是因为处理器可以快速切换于不同线程之间,实际上,计算机处理器在同一时刻仍旧只能处理一个线程3。而C+没有内置的多线程机制,因此它如果想要进行多线程程序的设计就必须调用操作系统的多线程功能。(6)安全:Java的安全性被认为是字节码和虚拟机的安全性,在语言级上提供了很好的安全措施。在支持Java的浏览器上可以放心的运行Java的小应用程序(Java Applet),另外Java提供了诸如jca之类的安全框架,能够给应用程序提供很好的安全保障。(7)动态:类是Java的基本组成单位,类的种类很多,有些可以直接从类库中引入,有些要自己编写。Java可以在分布式环境中动态地维护程序及类库,无需修改程序,因为它的类在运行时是动态装载的。而C+类库升级之后,如果想让程序具有新类库提供的功能,就需要对程序进行修改和重新编译4。1.3.2 SQLServer2005简介SQL Server是一种关系数据库管理系统,一个完整的商务智能平台,提供各种特性、工具和功能,可用于构建典型和创新的分析应用程序。SQL Server 2005 通过在可伸缩性、数据集成、开发工具和强大的分析等方面的革新更好地确立了微软在BI领域的领导地位。SQL Server 2005 能够把关键的信息及时的传递到组织内员工的手中,从而实现了可伸缩的商业智能。从CEO 到信息工作者,员工可以快速地、容易地处理数据,以更快更好地做出决策。SQL Server 2005全面的集成、分析和报表功能使企业能够提高他们已有应用的价值,即便这些应用是在不同的平台上。SQL Server数据库系统采用最常见的数据库管理语言-结构化查询语言(SQL)进行数据库管理。SQL 即Structured Query Language全称是结构化查询语言, SQL Server 2005是微软公司开发的一个大型的关系数据库系统,它为用户提供了一个安全、可靠、易管理和高端的客户/服务器平台,而且SQL语言有统一的操作规范、操作方式集合化、简单智能化、功能强大、语句简洁和简单易学等特点,便于使用者掌握和使用5。SQL是一个通用的、功能极强的关系数据库语言,包含4个部分: (1)数据查询语言DQL-Data Query Language SELECT; (2)数据操纵语言DQL-Data Manipulation Language INSERT, UPDATE, DELETE; (3)数据定义语言DQL-Data Definition Language CREATE, ALTER, DROP; (4) 数据控制语言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK.SQL能受到广泛关注并成为国际标准,是因为它是一种功能强大、综合性强同时又简捷易学的语言。无论是数据库管理员还是应用程序员或者是终端用户都感觉受益匪浅。SQL具有如下的优点: (1)SQL是一种非过程化的语言,它采用一次一记录的方式,对数据提供自动导航。SQL允许用户将工作提升到高层的数据结构上,可以对记录集进行操作,并非单个记录。SQL的集合特性允许SQL语句采用嵌套查询的方式,在一条SQL语句中插入另一条语句。 SQL不限定数据的存放方法, 这种特性使用户更易集中精力于要得到的结果。(2)统一的语言所有用户的DB活动模型都可以采用SQL,比如:数据库管理员、系统管理员、系统决策支持人员、应用程序员以及其它类型的终端用户。基本的SQL 命令简单易学,就连最高级的命令也只要几天时间便可掌握。SQL为许多任务提供了命令,包括: 查询数据 在表中插入、修改和删除记录 建立、修改和删除数据对象 控制对数据和数据对象的存取 保证数据库一致性和完整性 以前的数据库管理系统为上述各类操作提供单独的语言,而SQL 将全部任务统一在一种语言中。(3)所有关系数据库的公共语言由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个6。所有用SQL编写的程序都是可以移植的。1.3.3 TomCat简介本系统的Web服务器选用Apache开元组织提供的TomCat,因为TomCat是一个免费的开元软件是SUN公司推荐的web服务器。它因为技术先进、性能稳定而深受Java开发者的喜爱和部分软件开发商的认可,更重要的是它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发系统常用的功能。另外,TomCat是一个轻量级服务器,在中小型系统和并发用户不是很多的情况下被普遍使用,是开发和调试JSP程序的首选7。1.3.4 开发方案简介本系统的开发工具是Eclipse和MyEclipse,Eclipse 是一个开放源代码的,基于Java的可扩展开发平台。就其本身而言,他只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,其中就包括Java开发工具(Java Development Tools,JDT)。MyEclipse是Eclipse的插件,集成了对Spring,Struts,Hibernate等主流Java EE组件开发插件的支持,大大简化了Java EE应用的开发8。对于开发框架,本系统采用JSP+ Struts的整合,其实任何一种框架都可以完成我们的项目,但我们选择两种框架的组合是因为两种框架各有好处,我们利用它们的优点,来避免它们的缺点,充分利用Java技术在web上的应用。1JSPJSP的全称是Java Server Pages,它是SUN推出的一种动态网页技术标准。它在传统的静态页面文件(*.html,*.htm)中加入Java程序片段和JSP标记,就构成了JSP页面9。JSP具有以下的优点:(1)将业务层与表示层分离:使用JSP技术,网络开发人员可充分使用HTML来设计页面显示部分(如字体颜色等),并使用JSP指令或者Java程序片段来生成网页上的动态内容;(2)能够跨平台:JSP支持绝大部分平台,包括现在非常流行的LINUX系统,应用非常广泛的Apache服务器也提供了支持JSP的服务;组件的开发和使用很方便:如ASP的组件是由C+,VB等语言开发的,并需要注册才能使用;而JSP的组件是用Java开发的,可以直接使用;(3)一次编写,处处运行:作为Java开发平台的一部分,JSP具有Java的所有优点,包括Write once , Run everywhere。2. StrutsStruts是一个为开发基于模型(Model)视图(View)控制器(Controller)模式的应用架构的开源框架,实现了MVC框架,是利用Servlet,JSP和Custom Tag library构建web应用的一项非常有用的技术。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速。它使用服务层框架可以将JavaBeans从JSP/Servlet中分离出来,而使用表现层框架则可以将JSP中剩余的JavaBeans完全分离,这部分JavaBeans主要负责显示相关信息,一般是通过标签库(Taglibrary)实现,不同框架有自己不同的标签库,Struts是应用比较广泛的一种表现层框架10。1.3.5 B/S开发模式B/S(Browser/Server,浏览器/服务器)模式又称为B/S结构,是一种软件系统体系结构,随着Internet的兴起而逐渐发展起来,是对C/S结构的扩展。运行维护简便是B/S结构的最大好处,它能够满足不同的人员,从不同的地点,以不同的接入方式访问和操作共同的数据。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Internet模式下数据库应用,相对易于把握、成本也是较低的。系统性能方面,B/S具有异地浏览和灵活采集信息的优势,客户端除了浏览器,一般无需任何用户程序,只需从web服务器上下载程序到本地来执行。在下载过程中若遇到与数据库有关的指令,则由web服务器交给数据库服务器来解释执行,并返回给web服务器,再传输给用户。这种结构中,可以将许许多多的网连接到一起,形成一个巨大的网,即全球网。并且各个企业可以在此结构的基础上建立属于自己的Internet。而我所开发的这个系统正是针对于学校而言,用户主体是学生,事件场合是考试,基于以上的阐述,再结合本文考试系统的用户特点,采用B/S模式最适合不过。45第2章 系统分析2.1 可行性分析可行性分析是对系统存在的问题是否值得去解决这一问题进行解答,必须分析几种可能的解法的利弊,从而判断原定系统的规模和目标是否现实,系统开发后所能带来的效益,决定是否值得去投资开发这个系统。可行性研究的目的不是解决问题,而是能够话费最小的代价在最短的时间内确定问题是否值得去解决。本系统从以下几个方面内容进行可行性研究。1技术可行性:本系统采用了比较实用的Java语言、JSP开发框架和SQLServer2005数据库作为进行开发。2经济可行性:本系统主要是针对学校开发,开发经费对于一个院校来说在经济上是可以接受的。3操作可行性:主要是管理人员和学生是否支持,严格区分服务端和客户端,有严格规章制度和管理要求,操作简单方便。明确的规章制度和管理方法为系统的建设提供了制度保障。 综合上述,本系统的开发目的已明确,在经济和技术操作等方面都可行,并且开发成本低,成效明显,因此开发本系统是完全可行的11。2.2 系统的总体需求分析2.2.1 网上考试系统的使用范围网上考试系统主要针对学校的考试管理与使用而开发的,所以其主要适用于学校教师对学生考试各方面信息的管理。2.2.2 系统功能描述网上考试系统实现的是方便学校对学生进行考试的管理,通过以上对网上考试系统的任务和目标的分析可以看出,一个标准的网上考试系统主要功能模块分为以下两个:一个考生前台,一个后台管理,考生前台主要是能够实现登录和考试的功能,后台管理的功能比较丰富,管理员负责将考生信息添加到数据库,对考生信息有相应操作的权限,管理员最重要的是进行题库的管理,还有对考试设置信息的管理。本系统还包括一个教师管理的功能,主要进行考生试卷的评阅和个人信息的维护。1考生前台的主要功能是:每个学生都有自己的学号和密码,这就是各自的登录信息,在服务器开启的情况下,考生可以分别选择进入考生管理和考生考试,选择考试科目,就可以进入相应的考试界面,如果考试时间已到,系统会自动提示考生交卷。考生可以进行分数和试卷信息的查询,方便简单,同时也给考生感觉很大的公平感。考生页面功能丰富详细,简单大方,看起来舒适方便,考生可以很清楚自己的考题类型和考试时间,考生过程中还可以自由跳转,查看题目的完成情况,是否有漏答和想要更改答案的题目,大大增加了考试的灵活性。2. 教师管理的主要功能是:教师的主要功能是查看学生试卷,评阅考生试卷主观题,并且对考生的成绩得分有个分数段统计,以便进行教学研究。3后台管理的主要功能是:对于设置了管理员权限的用户可以登录服务器端,对系统进行整体的管理和信息更新。管理员目前的主要功能有试题管理、考试设置管理、用户管理和个人信息维护,试题管理主要包括添加、修改和删除试题;考试设置管理包括添加、修改和删除考试课程;用户管理包括添加、修改和删除用户;个人信息维护包括修改个人信息和密码,当然查询功能是最基本的。2.2.3 网上考试系统的用户特征网上考试系统的使用者是学生、教师和管理员,一个是服务端,一个是客户端,进行了严格的划分,学生和教师分别是进行考试和试卷评阅的普通用户,管理员是整个网上考试系统的管理人员。2.3系统功能模块需求 2.3.1 考生登录模块考生登录的是客户端,所以用户界面要求符合用户的使用习惯,让用户感到自然、合理、舒适、简单,由于本系统是网上考试系统,所以在正确输入学号和密码之后,就可以进入考试界面进行考试了。2.3.2 考生功能模块考生可以选择考试科目,每种科目的考试时间有所不同,考生认真答完每一题过后,可以检查是否是有漏答或者想改动的题目,确认无误后可以点击交卷按钮进行交卷,考生可以查询考试成绩和自己的试卷信息,简单方便。考生还可以进行个人管理,查询自己的考试成绩和维护个人信息。2.3.3 管理员登录模块管理员登录的是服务器端,登录界面也要求简单大方,管理员应该有特定的用户名和密码,而且相对于客户端来说应该具有一定的安全隐蔽性。2.3.4 管理员功能模块1.试题管理管理员控制试题的管理,可以对任意题型进行添加、修改和删除。2.考试设置管理(1)添加考试课程 管理员可以添加新的考试科目,丰富考试类型。(2)修改考试课程 管理员可以修改已有考试科目的信息,包括题量和分值的修改。(3)删除考试课程 管理员可以对已经过时的考试课程进行删除操作。3.用户管理(1)添加用户 管理员可以添加用户,并赋予用户具体的用户类型和相应的操作权限。(2)删除用户 管理员可以查询用户信息时删除用户。(3)修改用户信息 管理员可以对用户信息进行维护和更新。4. 个人信息维护(1)修改个人信息 管理员可以修改自己的用户信息。(2)修改密码 管理员可以修改自己的登录密码,保证安全性。2.3.5 教师登录模块 每个教师有自己的教师编号,正确输入教师号和密码并且选择科目,就能进入相应的操作界面。2.3.6 教师功能模块1. 查看/修改试卷若选择的科目下有学生考试的话,则会自动将考生的试卷信息进行动态加载,教师点击相应试卷即能进行评阅,给出得分后将自动保存到数据库,以方便学生查询。2. 分数段统计教师可以根据学生的得分情况进行分数段统计,算出相应比例,可以很清楚地显示出相应时间段内学生的学习情况,有利于教学研究。3. 个人信息维护教师可以对个人信息进行修改和维护,还可以修改登录密码。第3章 系统设计 3.1 指导思想1. B/S 结构开发思想基于本系统的开发背景和开发目的,衡量之下采用B/S结构更适合,B/S结构可以将客户操作界面设计个性化,具有直观、简单、方便的特点,可以满足客户个性化的操作要求。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在Java这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。2. 系统工程的流程思想我们在系统开发过程中,采用工程的概念、原理、技术和方法来开发与维护软件,秉承软件工程的思想,将技术与管理紧密结合。软件工程的主要环节如图1所示。 图1 软件工程的主要环节 3. 面向对象机制的设计思想代码和数据是组成所有计算机的基本元素。更准确的说,有些程序是围绕着正在发生的事物而编写的,有些则是围绕正在受影响的事物而编写的。第一种编程思想是面向过程的编程思想,按这种模式编写的程序以一系列的代码为特征,这些代码可以被理解为用作于数据。如 C 等过程化语言。第二种编程思想是面向对象的编程思想,按这种模式编写的程序根据程序的对象和针对该对象而严格定义的接口来组织程序,它的特点是把控制权转移到数据上,代码的访问由数据控制。面向对象的模型在组织方式上有:封装、继承、抽象和多态的好处8。3.2 数据库设计 3.2.1 概念结构设计任何软件产品的开发都要追溯到用户需求,概念结构设计就是要将需求分析阶段得到的用户需求抽象为信息结构的过程。首先要能够将需求分析阶段所得到的应用需求进行抽象化,抽取所关心的共同特性,并将其用各种精确的概念加以描述,才能更准确地、更好地用某一DBMS来实现。1. 能准确、真实地反映现实世界中事物和事物之间的联系,能满足用户需求,是对现实世界的抽象,并且应该是一个真实模型。2便于理解,即使用户不熟悉计算机,也能够通过它交换对系统的意见和想法。3. 便于修改,当用户需求发生改变时,能够方便地对概念模型进行修改和扩充。4. 易于向层次、关系、网状等其他各种数据模型转换。本系统的概念结构设计采用的方法是自底向上设计方法,首先定义各局部应用的概念结构,然后将他们集成起来得到全局概念结构5。网上考试系统的主要实体图和系统E-R图如下: 图2 用户实体图 图3 试卷实体图 图4 试题实体图 图5 考生成绩实体图 图6 考试设置实体图 整个系统的E-R图如图7所示: 图7 系统E-R图3.2.2 数据库的设计通过对系统功能的分析可知,本系统主要包括如下的数据库信息:(1)用户表:该表保存了系统用户的基本信息,属性有用户编号、用户名称、用户类型、用户性别。其中用户编号为主码,它是用户信息的唯一标识。表结构如表1所示。(2)考生标记表:该表用于保存考生是否已经考试的标识信息,属性有用户编号、课程名称、标识信息。其中用户编号和课课程名称共同作为主码。表结构如表2所示。(3)考题表:该表用于保存考题的基本信息,属性有考题编号,课程名称,考题类型,题目级参考答案等。其中考题编号为主码。表结构如表3所示。(4)试卷设置表:该表用于记录相应课程的考试设置的相关信息,属性有课程名称,单选题、多选题、判断题、简答题、编程题数量和分值,考试时间等。其中课程名称为主码。表结构如表4所示。(5)试卷表:该表用于保存考生的试卷信息,属性有考生编号,课程名称,考题类型,考生答案和得分等。其中考生编号和课程名称共同作为主码。表结构如表5所示。(6)成绩表:该表用于保存考生的考试成绩信息,属性有考生编号,课程名称,各考题得分,总得分。其中考生编号和课程名称共同作为主码。表结构如表6所示。系统数据库表结构如下:表1 用户表(UserInfo)字段类型允许为空说明备注UidVarchar(10)否用户编号pknameVarchar(50)是用户姓名utypeInt是用户类型1为学生,2为教师,3为管理员passwordVarchar(10)是密码sexVarchar(2)是性别 表2 用户标记表(userflag)字段类型允许为空说明备注UidVarchar(10)否用户编号pkCourseVarchar(20)否课程名称pkflagInt否用户标记0试卷未提交 1试卷已提交表3 考题表(Question)字段类型允许为空说明备注QidInt否考题编号pk 自增长qtypeInt是考题类型1单选题 2多选题 3判断题 4简答题 5编程题courseVarchar(20)是课程名称quesText是题目keyAVarchar(50)是选项AkeyBVarchar(50)是选项BkeyCVarchar(50)是选项CkeyDVarchar(50)是选项DanswerText是参考答案表4 考试设置表(TestSet)字段类型允许为空说明备注courseVarchar(20)否科目pksincInt否单选题数persinInt否每个单选题的分值mulcInt否多选题数permulInt否每个多选题的分值judgeInt否判断题数perjuInt否每个判断题的分值 续表4字段类型允许为空说明备注jdInt否简答题数perjdInt否每个简答题的分值programInt否编程题数perproInt否每个编程题的分值totaltimeInt否考试时间表5 试卷表(test)字段类型允许为空说明备注UidVarchar(10)否用户编号pkQidInt否考题编号pk 题库中的题号CourseVarchar(20)否课程名称QtypeInt否考题类型1单选题 2多选题 3判断题 4简答题 5编程题answerText是考生答案TnumberInt否题目编号试卷中的第几题scorefloat是得分表6 成绩表(TestScore)字段类型允许为空说明备注UidVarchar(10)否用户编号pkCourseVarchar(20)否课程名称pkscorefloat否总得分singlefloat否单选题得分multiplyfloat否多选题得分judgefloat否判断题得分jdfloat否简答题得分programfloat否编程题得分3.3 系统结构设计 1. 系统结构图本系统为考生前台子系统、后台管理子系统和教师管理子系统,考生前台分为考生考试和考生管理两大模块;后台管理员主要对考试和用户还有试题库等进行全面管理;教师主要是对考生试卷主观题进行评阅,并对考生成绩进行分数段统计等。整个系统的层次方框图如图8所示: 图8 系统层次框架图2. 接口设计用户接口身份验证:在用户使用本系统之初,首先需要登录,即进行身份认证。此时,用户需要输入自己的用户名和密码。若不成功,系统会提示重新输入,若成功,则进入各功能界面。用户信息管理:对用户的信息进行管理。例如:用户编号、用户名称、密码、用户类型、性别等信息进行的管理。 外部接口硬件接口:支持数据库操作。软件接口:运行于Windows 2000/XP或更高的版本的操作系统之上,服务器需要安装数据库。内部接口身份认证:完成对用户的身份认证。初始化功能:在身份验证过后,系统调用初始化操作,执行完毕后进入相应的用户界面。用户权限管理人员具有网上考试系统的所有权限;普通用户即考生和教师具有考试和阅卷的功能。3.4 系统界面设计在设计系统的界面时,主要考虑到的是系统信息与用户的交流是否简单易懂,对于用户的操作要考虑到少操作。设计是主要从以下几个方面做要求:在网上考试系统的同一用户界面,所有的菜单选择,命令输入等应保持同样的风格对用户的错误输入有一定的容忍度提高系统提示,增加用户对系统的理解度信息显示要明确,避免晦涩难懂1系统登录模块系统用户登录界面有两个输入项:用户名和密码,选择用户类型,在登录界面中输入用户信息(用户名,密码),经过验证正确后进入系统。图9 系统主界面2. 考生功能模块考生正确输入学号和密码,可以分别选择进入考生考试和考生管理子模块,进入考生考试模块,核对个人信息和考试科目无误后,考生就可以进行在线考试;在考生管理模块中,考生可以查询自己的考试成绩并且对个人信息进行维护更新。 图10 系统登录界面考生进入考生考试页面后,会进行信息核对,显示考生学号、姓名、考试科目以及考试类型的相关信息,考生核对信息无误后点击“开始考试”按钮,即可进行考试。如图11和图12所示: 图11 考生信息核对界面 图12 考试界面 考生管理模块是提供给考生自己的一个操作平台,考生可以进行成绩查询和个人信息的维护。如图13所示: 图13 考生管理界面3. 教师功能模块教师正确输入教师号和密码,就可以进入教师管理界面,查看试卷信息和评阅试卷主观题部分,并且可以统计分数段。如图14所示: 图14 教师管理界面4. 管理员功能模块管理员输入特定的用户名和密码,经过验证即可进入管理员界面,对整个网上考试系统进行管理。 图15 管理员功能界面第4章 系统的实现、测试与维护网上考试系统前台开发语言是Java,开发框架采用JSP+Struts,后台数据库采用的是SQL Server2005。系统的实现主要是对网上考试系统的各个模块的功能实现和整体功能协调,主要是代码设计,在代码设计之后是对系统进行测试,主要测试其功能是否全面和代码编写是否有误,系统的维护是在系统交付之后的工作,主要是用户在使用过程中遇到的错误和想添加的一些功能。4.1 系统的实现对于主要的功能模块其实现如下:1. 考生管理模块考生管理主要包括查询成绩和个人信息维护两大块,考生完成考试后,在教师进行试卷批改之后方能查询自己的整体成绩。如图16和图17所示: 图16 考试成绩查询界面(无显示) 图17 考生成绩查询界面(有显示)考生可以查询自己的个人信息,并且对个人信息进行维护更新,修改个人密码,首先应正确输入原密码,然后输入你想修改的新密码,在确认新密码无误的情况下,点击“修改”按钮,即可修改密码。如图18所示: 图18 修改密码界面2. 教师管理模块本系统的教师管理模块的主要功能就是教师评阅,教师可以对参加考试的考生的试卷进行查看和主观题的批改。如图19所示: 图19 教师评阅界面教师除了批改考生试卷外,还可以针对考生的成绩进行分数段的统计,分数段分及格、60-69、70-79、80-89和90-100等几个阶段。分数是教师教学和考生学习情况的反馈,进行分数段统计可以有利于教师实施教学改进。如图20所示: 图20 分数段统计界面3. 管理员模块管理员模块是本系统的一大核心模块,管理员主要负责整个网上考试系统的管理,试题管理是其中的一个重点,他可以在原有试题的基础上进行改进和完善,提高试题质量,还可以增加新题型,让试题库更加丰富充实,可以有效提高考生的学习效率。如图21和图22所示: 图21 试题修改界面 图22 试题添加界面管理员的另一个主要功能就是进行考试设置,他可以对试卷的试题组合进行修改,可以根据试题库中的试题难易程度进行分值和考试时间的重新设置,保证考试的合理性和公平性。如图23所示: 图23 考试设置界面管理员,顾名思义是进行管理活动的,那对考生和教师的信息就必然存在管理操作,管理员可以对用户信息进行修改和更新,还可以根据考生需要进行用户表的更新,添加用户信息,并赋予相应权限。如图24和图25所示: 图24 用户信息维护更新界面图25 添加用户界面4.2 系统的测试系统测试采用的是黑盒测试,黑盒测试旨在测试软件是否满足功能需求它主要诊断以下几类错误: 不正确或遗漏的功能 界面错误 数据结构或外部数据库访问错误 性能错误 初始化或终止条件错误根据黑盒测试原则设计测试用例对系统进行功能测试。1. 登录测试用例1:用户名:admin 密码:123456期望结果:管理员成功登录,进入管理员界面实际结果:管理员成功登录,进入管理员界面测试用例2:用户名:admin 密码:123期望结果:管理员登录失败,系统提示失败信息实际结果:管理员登录失败,系统提示用户名及密码错误测试用例3:学号:08010086 密码:123期望结果:考生成功登录,进入相应界面实际结果:考生成功登录,进入相应界面测试用例4:学号:08010086 密码:123456期望结果:考生登录失败,系统提示失败信息实际结果:考生登录失败,系统提示密码错误测试用例5:教师号:10010 密码:123456期望结果:教师登录成功,进入教师管理界面实际结果:教师登录成功,进入教师管理界面测试用例6:教师号:10010 密码:000期望结果:教师登录失败,系统提示失败信息实际结果:教师登录失败,系统提示密码错误2. 添加用户测试用例1:用户编号:123456 姓名:张三 用户类型:学生 性别:男期望结果:添加用户成功,系统提示成功信息实际结果:添加用户成功,系统提示成功信息测试用例2:用户编号:08010086 姓名:赵庭 用户类型:学生 性别:女期望结果:添加用户失败,系统提示失败信息实际结果:添加用户失败,系统提示该用户已存在3. 修改密码测试用例1:旧密码:123 新密码:000 确认密码:000期望结果:修改密码成功,系统提示成功信息实际结果:修改密码成功,系统提示成功信息测试用例2:旧密码:123 新密码:000 确认密码:111 期望结果:修改密码失败,系统提示失败信息实际结果:修改密码失败,系统提示密码不一致4.3 系统维护 网上考试系统的维护主要有以下几个方面:1纠错性维护:在开发网上考试系统时,其主要的开发工作由一人承担,在各个方面都存在一定的不足之处,假如系统投入使用,用户将在使用过程中遇到系统的错误,并及时通知开发人员进行维护。2适应性维护:网上考试系统是针对不同用户的,所以不同的用户的规则和相关规定和要求不同。在系统交付使用是还应该对其进行适应性维护。3改善性维护:因为此系统是针对不同的用户,各个用户的情况不同,在使用中也会有不同的要求来修改系统,所以要有改善性维护。第5章 结论与展望5.1 系统总结通过网上考试系统的设计与实现,让本人对于开发一个简单的软件系统过程有了一定的了解,熟悉了开发软件的思路和基本步骤。首先对网上考试的相关工作进行调查,通过调查及对调查结果的总结分析过程中,了解网上考试系统所要完成的主要功能,并根据调研结果对系统的功能模块进行粗略地划分;其次是从经济、技术等方面考虑系统开发的可行性,确定系统的初步开发方案,搜集开发工具相关方面的资料;再次就是对系统进行需求分析,需求分析是以后系统的开发等的基础,划分出了系统模块,所以是重点的工作;最后进行的系统设计与测试,系统设计主要的是概要设计、数据库设计和详细设计三个方面,设计完成后进行系统地测试。并通过Java进行了应用程序开发,实现了所有的系统模块。但是由于本人的知识和能力有限,在软件开发这方面涉世不深,没有开发经验可言,只能根据自己的摸索和借鉴已有资料,同时在请教老师和同学的情况进行系统的开发。所以系统中还存在一些缺陷和不足,基本功能是实现了,可是还不完善,自身还要进行反思和更深一步的学习。5.2 前景展望至此,一个简单的网上考试就完成了,基本上实现了网上考试的功能,但是很显然还有很多不足之处,还需要根据近来的考试实际情况进行相应功能的调整和优化,以更好地满足用户需求。 通过设计网上考试系统掌握了开发小型系统的各个重要环节以及基本步骤,进一步巩固和加强基本知识和技能的训练,提高了多学科理论、知识与技能综合运用能力,培养了分析问题、解决问题的能力。参考文献1 范云之.基于Web数据库在线考试系统的设计与实现研究J.商丘师范学院学报,2006,22(5):1-20.2 洪维恩,何嘉. Java2面向对象程序设计M.北京:中国铁道出版社,2005.3 郝玉龙JavaEE 编程技术M.北京:清华大学出版社,2008.4 尉哲明,李慧哲等. Java技术教程M.北京:清华大学出版社,2002.5 萨师煊,王珊.数据库系统概论M.北京:高等教育出版社,2000.6 孙一林,彭波. Java数据库编程实例M .北京:清华大学出版社,2002.7 孙卫琴. Tomcat与JavaWeb 开发技术详解M.北京:电子工业出版社,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论