计算机软件信管专业优秀毕业论文--在线考试系统_第1页
计算机软件信管专业优秀毕业论文--在线考试系统_第2页
计算机软件信管专业优秀毕业论文--在线考试系统_第3页
计算机软件信管专业优秀毕业论文--在线考试系统_第4页
计算机软件信管专业优秀毕业论文--在线考试系统_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、*大学计算机学院优秀毕业论文大学计算机学院优秀毕业论文毕毕 业业 设设 计计 ( (论论 文文) )题 目 基于 web 在线考试系统的设计与实现 学生姓名学生姓名 专业班级专业班级 指导教师指导教师 职职 称称 所在单位所在单位 教研室主任教研室主任 计算机、软件专业优秀毕业论文,有软件计算机、软件专业优秀毕业论文,有软件+ +源代码源代码+ +完整版毕业论文完整版毕业论文+ +答辩答辩PPTPPT,有需要的师弟师妹请加,有需要的师弟师妹请加 Q Q:23173096902317309690。摘摘要要计算机技术和网络通讯技术的发展使得以网络为中心的信息系统获得广泛应用,而以数据库和网络通讯技

2、术为基础的在线考试系统近年来也越来越受到人们的青睐,其中在线考试系统是基于 WEB 的专一性考试平台。在线考试系统实现了在线考试的需求,对于减轻教师的工作负担,激发学生的学习兴趣与激情,促进考试公平公正,在一定程度上缓解因地域、经济等诸因素造成的教育资源不平衡有十分积极的意义。此外,相比于传统考试方法,在线考试系统具有以下明显优势:在线考试系统完全实现了无纸化,减少了资源的浪费;效率高、操作方便,试卷题库可以“一次编写,动态加载” ,从而在一定程度上减轻了教师的工作负担,也免去了传统考试方式下组织考试各工作环节的麻烦;在线考试打破了传统考试方式地域的限制,实现了基于 Internet 或局域网

3、的地域覆盖,数据信息安全性高,有利于维护考试的公平公正,在一定程度上提高了考试质量。本课题借鉴目前国内外主流在线考试系统的设计和实现方式,考虑在线考试系统在实践中的业务流程和处理方式,综合各方面的客观因素,采用浏览器/服务器模式开发,使用目前最受欢迎的 Java 语言进行程序的编写,保证了软件的健壮性和可维护性,实现了跨平台运行。系统连接 SQL Server 2000 数据库。实现了用户登录、考生注册、在线考试、成绩查询、用户信息管理、试卷管理、试题管理等主要功能,此外系统根据用户的特殊需求和在线考试系统本身的特点,还实现了用户密码找回、考试环境设定、试卷统计分析等辅助功能,方便用户操作,做

4、到和在线考试模块的功能配套,提高了系统的健壮性和可用性。在具体的设计和实现中,各个功能模块均使用了 UML 进行了详细的设计,使用 JSP 技术对系统界面的编写和 DREAMWEAVER 等开发工具,力求做到功能实用、界面美观,系统高效。本文将对在线考试系统的具体设计和实现做详细论述。关键词:关键词:在线考试系统Java浏览器/服务器模式SQL Server 2000 数据库ABSTRACTThe development of computer technology and network communication technology make the network-centric in

5、formation systems widely available. And the on-line examination systems based on database and network communication technology have become more and more popular in recent years, of which the Java online examination system is a Web-based specificity test platform.Key words: the online examination sys

6、temJavabrowser / server modethe SQL Server 2000 database目目 录录1 1 前前言言.11.11.1课题来源及研究意义课题来源及研究意义.11.21.2国内外在线考试系统现状分析国内外在线考试系统现状分析.21.31.3本课题的研究内容本课题的研究内容.32 2 考试系统相关理论及技术概述考试系统相关理论及技术概述.52.12.1在线考试系统理论简介在线考试系统理论简介.52.22.2在线考试系统开发技术简介在线考试系统开发技术简介.52.2.1Java 技术.52.2.2B/S 模式(浏览器/服务器模式).62.2.3JSP 技术.62.

7、2.4SQL Server 2000 数据库.73 3 系统需求分析及可行性研究系统需求分析及可行性研究.83.13.1系统需求分析系统需求分析.83.1.1系统功能分析.83.1.2系统性能分析.93.23.2系统可行性研究系统可行性研究.93.2.1经济可行性分析.93.2.2技术可行性分析.103.2.3管理可行性分析.104 4 系统总体设计系统总体设计.114.14.1系统功能设计系统功能设计.114.24.2系统数据分析系统数据分析.134.34.3数据库设计数据库设计.144.3.1数据库概念设计.144.3.2数据库逻辑设计.175 5 系统详细设计系统详细设计.225.15.

8、1考生信息模块的设计与实现考生信息模块的设计与实现.225.1.1考生注册功能的实现.225.1.2密码找回功能的实现.245.25.2在线考试模块的设计与实现在线考试模块的设计与实现.275.2.1选择考试科目功能的实现.275.2.2试题显示功能的实现.285.2.3自动判卷并显示成绩功能的实现.295.35.3后台管理模块的设计与实现后台管理模块的设计与实现.295.3.1查看试题信息列表功能的设计与实现.315.3.2添加试题信息功能的设计与实现.325.3.3修改试题信息功能的设计与实现.325.3.4删除试题信息功能的设计与实现.336 6 系统测试系统测试.356.16.1系统功

9、能测试系统功能测试.356.1.1在线考试功能模块测试.356.1.2试题管理功能模块测试.366.26.2系统性能测试系统性能测试.37结结论论.38谢谢辞辞.39参考文献参考文献.40*大学计算机学院 2010 届本科生毕业设计(论文)11 1 前前言言1.11.1课题来源及研究意义课题来源及研究意义进入到 21 世纪的信息时代,计算机和网络信息技术取得了跨越性发展,计算机技术和网络信息技术也更加广泛地应用到科研和教学实践中。 “教育现代化”和“学习型社会”的理念已深入人心。教育现代化不是单指一种行为、步骤或教育方式方法的现代化,它是一种理念范畴,涵盖教育思想、教育制度、教育结构、教育布局

10、、教育内容、教育方法和教育管理等诸多内容。实现教育现代化是我国 21 世纪一项伟大的工程,它需要国家科技、经济、资源的支持,需要教师、学校、社会的努力,需要全民的积极参与。在教育现代化的进程中,教育测量学理论是其重要组成部分,而标准化考试的形成则是教育测量学理论发展史上的一座里程碑。学校教育(包括现在的远程教育)普遍采用考试的方法来检查学生的学习和知识掌握应用情况。从某种程度上来说,学生的考试成绩可以作为老师教学质量和学生学习情况的间接反映,它为改进教学方式方法、拓展教学内容、提高教学质量提供了参考依据。纵观国内外的标准化考试,绝大部分还是依照传统考试方式进行,即学生在试卷上进行笔试。这不仅组

11、织考试的工作量大、效率低,还对试题编制的质和量都提出了严格要求,而且在实际操作中也会遇到许多问题,这就为在线考试系统的研究和开发提供了现实依据。所以,在线考试系统在设计和开发的过程中,必须要克服传统考试方法的一些弊端,树立自己的特点和优势,这样才可能更好地应用于教学实践。从目前国内外标准考试发展的现状和对在线考试系统本身的特点进行分析,可以发现对在线考试系统进行深入研究具有以下几个方面的积极意义:(1)在一定程度上缓解教育资源分布的不平衡,促进资源合理流动,扩大资源共享的覆盖面。在线考试系统最大的优势就是实现了在线考试的需求,这就为实现异地实时的大规模考试提供了前提条件,教育资源相对落后的地区

12、可以通过 Internet 接入系统,实现考试资源共享,减少因地域、经济等因素造成的信息资源不对称。(2)在线考试系统实现简单,部署容易,客户端不需安装任何应用程序,考生通过 Internet 或局域网进行在线注册,便可登录系统,进行在线考试。 (3)系统高效,减少了组织考试的工作负担。在线考试系统的题库可以 “一次编写、动态加载” ,且系统业务逻辑处理均是基于计算机的“智能化”操作,避免了传统考试方式下各工作环节的麻烦。(4)系统安全性高。在线考试系统将试卷题库信息封装在数据库中,严格根据系统权限进行操作,防止考前泄题的发生。(5)在线考试系统完全实现了无纸化,相对降低了考试成本,减少了资源

13、浪费。*大学计算机学院 2010 届本科生毕业设计(论文)2(6)系统操作简单,管理员对系统用户信息、试卷信息和试题信息进行集中管理和维护,减轻了管理员的工作负担,提高了管理效率。(7)在线考试系统适应性强,应用广泛。除了应用于学校教学实践中,也可用于公司、企业等内部的技能培训和知识考核,还可作为某些标准化认证考试的专一平台。基于在线考试系统应用于实践中的积极意义和其相对于传统考试方式的明显优势,考虑到目前国内外在线考试系统在某些方面存在的不足,结合在线考试系统的发展趋势,本课题对在线考试系统进行深入研究和分析,以开发出更好应用于实践的系统。1.21.2国内外在线考试系统现状分析国内外在线考试

14、系统现状分析国内外的基于 WEB 的在线考试系统一般应用于适合机考的标准化考试或者企业、学校等单位的员工培训和知识考核。为了客观、准确的描述国内外在线考试系统的研究现状,介绍以下三个典型的在线考试系统:(1)ATA 智能化考试服务系统。ATA 是国外比较有影响的机器考试系统,由全美测评软件系统 ATA 公司研究开发。其主要目标是模拟真实考试环境,特别是适合计算机操作性题目的标准化考试。ATA 考试服务系统拥有世界先进水平的智能化电子题库,可根据考试类别、考试科目、试题难易程度等进行考试环境的设定,可为同场考生抽取难度等值的不同考卷;也可抽取同场考试中考核同一考生不同科目的试卷。实现了系统题库的

15、智能化和试卷自动加载功能。ATA 考试系统使用的核心技术包括:DST 技术(动态模拟考试技术) 、RET 技术(真实环境考试技术) 、SRAT 技术(全真环境下动态转换技术) 、LAS 技术(智能化考试结果判定技术) 、ZNM 技术(智能化、非线性多元组卷模版技术)以及 ATAML 技术(标准化试题技术) 。ATA 考试系统的智能化自动归集、整理、分析、统计考生及相关信息,使得信息处理变得更加便捷、准确。整个系统有很多可取之处,但 ATA 考试系统更多的是应用于开展计算机信息技术的考试,考试的管理也是由 ATA 公司专人负责,这对于考试环境、考试内容随着现实需要发生变化的各类考试来说,具有相当

16、的局限性。同时使用该系统的单位公司对 ATA 公司也有较强的依赖性。通过对上述三个典型在线考试系统的研究与分析,我们可以更深层次的了解目前国内外在线考试系统的研究现状和发展趋势,以及在某些方面存在的不足和局限。因此,在本系统的设计过程中,通过对系统需求的认真分析,模拟实践应用中在线考试系统处理事务的流程,并对其进行优化改进,参考借鉴目前的主流技术。特对在线考试系统在操作性、智能化、开放性方面作了改进,使其能符合现时的需要和未来的发展趋势,从而更好地应用于实践。1.31.3本课题的研究内容本课题的研究内容本课题通过对在线考试系统的需求分析,从系统的设计方法和实现过程进行深入*大学计算机学院 20

17、10 届本科生毕业设计(论文)3探讨,主要研究内容包括:(1)系统功能:通过对在线考试系统处理业务流程的分析和对其本身特点的考虑,在线考试系统应包括以下基本功能:考生注册、考生登录、在线考试、查询成绩、修改个人资料、系统用户信息管理、课程信息管理、试题信息管理、试卷信息管理和考生成绩管理;(2)本课题针对在线考试系统的 B/S 模式和C/S 模式各自优缺点的比较,深入分析了 B/S 模式下系统服务器端三层模型的特点和实现方法;(3)本课题还分析了以 JSP 技术为支持,以 SQL Server 2000 数据库为后台数据库的在线考试系统的体系结构;(4)通过对当前国内外主流在线考试系统的现状分

18、析,本课题除了实现在线考试系统的基本功能外,还在用户交互界面和系统题库的智能化和开放性等方面做了一些改进。课题共分为七个部分,详细介绍了在线考试系统的设计方法和实现细节。其中第一部分对课题来源及研究意义进行论述,分析了目前国内外在线考试系统的研究现状,进行课题立项;第二部分介绍了在线考试系统的相关理论和使用的主要技术,包括 B/S架构、Java 语言、JSP 技术和 SQL Server 2000 数据库;第三部分通过对在线考试系统的功能和性能进行需求分析,从系统实现的经济、技术和管理三个方面进行可行性论证;第四部分根据软件开发的流程和组织结构的设计原则,论述了在线考试系统开发的系统目标、总体

19、结构和数据库设计。第五部分详细描述了在线考试系统各个功能模块的设计方法和实现细节;第六部分对系统的功能和性能进行测试,验证系统是否符合用户需求;第七部分对所开发的系统进行概括总结,指出系统有所突破的可取之处和存在的缺陷与不足,提出改进方法,并对在线考试系统的发展趋势和应用前景进行展望。*大学计算机学院 2010 届本科生毕业设计(论文)42 2 考试系统相关理论及技术概述考试系统相关理论及技术概述2.12.1在线考试系统理论简介在线考试系统理论简介考试是考查学生对所学知识掌握应用情况的一种方式,是自我检测的一种手段。通常的考试都是以笔试、面试的方式进行,而在线考试是近几年随着计算机技术和网络信

20、息技术的广泛应用而产生的一种新的考试方式,它改变了人们通常的考试观念,以技术为支撑,满足现实社会的特定需要。我们对传统考试方法的流程都比较清楚,大概包括以下几个步骤:编写试卷、组织考试、参加考试、教师阅卷、成绩评定、试卷统计分析等。传统考试之所以在各种考试中均被采用,是因为传统考试的试题设置比较灵活,可以满足不同的考试需要。可是这种方法也有一个很大的缺点,那就是组织考试的工作量大,各个环节都需要投入大量的人力、物力去完成。而在线考试系统正是以其明显的优势填补了这项空缺,也越来越受到人们的青睐,而更广泛地被应用于实践。在线考试系统是一种基于Internet 或局域网的考试应用系统,它能实现用户在

21、线考试的功能。主要包括前台功能模块和后台管理模块。对于考生来说,参加考试的流程包括:考生注册、考生登录、在线考试、提交试卷、查看成绩等。在线考试系统之所以能大大减少组织考试的工作量,最重要的原因是系统题库的完美设计。题库是在线考试系统的核心,一个开放式、智能化高、保密性好的题库是提高考试质量的前提,用户可以通过设置相应参数对考试环境进行设定,完成考试试题“一次编写,动态导入” ,从而减少了重复编制试题和人工阅卷的工作量。在目前的基于 WEB 考试系统中,大多采用了 DST 技术(动态模拟考试技术) 、LAS 技术(智能化考试结果判定技术) 、ZNM 技术(智能化、非线性多元组卷模版技术)以及

22、ATAML 技术(标准化试题技术) ,使得题库的智能化程度进一步提高,增强了在线考试系统的功能,也使得用户的操作更加简便高效。2.22.2在线考试系统开发技术简介在线考试系统开发技术简介2.2.1Java 技术Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由 Sun 公司于1995 年推出。Java 语言一经发布就吸引了全世界编程人员的广泛关注。Java 语言是完全面向对象的,将数据方法封装于类中。利用类的优点,实现了程序的简洁性和可维护性。而类的封装性、继承性等有关对象的特性,使 Java 程序代码只需一次编译,然后通过上述特性可反复利用。程序员只需把主要精力用在类和接口的

23、设计和应用上,减轻了程序员开发代码和编写方法的工作负担。Java 还提供了继承机制,子类通过继*大学计算机学院 2010 届本科生毕业设计(论文)5承就可使用父类中的变量和方法。Java 语言的另一特点是与平台无关性,即 Java 能在不同的平台上运行。通过Java 虚拟机(Java Virtual Machine) ,实现不同平台间的 Java 接口。Java 的数据类型与机器无关,它不针对 CPU 芯片进行编译,而是把源程序编译成一种“中间代码”(二进制字节码) ,然后在提供了 Java 虚拟机的任何系统平台上被解释执行,从而实现了“一次编译、处处运行”的跨平台特性。Java 语言还有以下

24、特性:健壮性;Java的强类型转换机制、异常处理、废料的自动收集等都是 Java 程序健壮性的重要保证,此外 Java 的安全检查机制使得 Java 能在程序编译和运行中更容易发现错误。多线程;Java 支持多线程。多线程允许同时执行多个任务,但在单核的处理器中实际上同一时刻只允许一个任务占用处理器,执行一个线程,但处理器可在多个线程之间进行快速地切换, Java 支持多线程,并提供多线程之间的同步机制。解释型;Java 程序在Java 平台上被编译成二进制字节码,由 Java 虚拟机对这些字节码进行解释执行。动态性;Java 程序在运行过程中,所需的类是可以动态加载的,这就使得 Java 可

25、以在分布环境中动态的维护程序及类库,这也便于程序的升级。安全性;Java 对程序提供了安全管理器,将应用程序限制在 Java 运行环境中,防止程序的非法访问。在数据库连接方面,Java 提供了 JDBC API,为数据库开发提供了标准的应用程序编程接口。Java Soft 公司制定的 JDBC 是第一个标准的、支持 Java 程序的数据库API,它包括一系列用 Java 语言编写的类和接口,作为数据源,可以为多种关系数据库提供统一访问。程序开发人员只需编写一个使用 JDBC API 的应用程序,就可完成应用程序与数据库的交互操作。基于 Java 语言的可移植性、分布性、高性能和健壮性,在线考试

26、系统使用 Java语言开发,以实现程序的跨平台运行,保证系统的健壮性。2.2.2B/S 模式(浏览器/服务器模式)2.2.3JSP 技术2.2.4SQL Server 2008 数据库*大学计算机学院 2010 届本科生毕业设计(论文)63 3 系统需求分析及可行性研究系统需求分析及可行性研究3.13.1系统需求分析系统需求分析系统需求分析的基本任务就是准确地回答“系统必须做什么”这个问题。它的任务仅仅是确定系统必须要完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。要设计实现一个系统,首先应该进行需求分析,这样才能使设计出来的软件满足用户的各项要求。根据在线考试系统本身的特性和

27、实际应用中的要求,从系统功能和性能两个方面进行需求分析。3.1.1系统功能分析基于 Java 的在线考试系统为了能更好的实现在线考试的主功能,以打破传统考试方式地域的限制,减轻组织考试者的工作负担,提高考试效率,保证考试质量。通过对传统考试方式各工作环节的分析,以及对在线考试系统各业务流程的优化,认为在线考试系统应该具备以下功能:(1)考生注册:考生可输入自己的个人信息进行系统注册。(2)考生登录:考生输入用户名、密码进行系统验证登录,以实现在线考试、查看成绩、修改个人资料等功能。(3)在线考试:这是系统的核心功能。考生可以选择当前已经开放的考试科目进行考试。系统应在考试过程中进行严格监控,显

28、示考试计时,考试环境的维护,不允许考生进行超越权限的非法操作。(4)成绩查询:考生提交考试后,应可以查看自己已考科目的考试成绩。(5)个人资料的修改和密码找回:(6)用户信息管理:(7)考生成绩管理:(8)题库信息管理:(9)试卷信息管理: (10)客观题系统自动判卷:(11)退出系统: 3.1.2系统性能分析如果说系统的功能需求是对软件系统开发的一项基本需求,那系统性能分析则是决定产品质量好坏、系统实现价值大小的关键。由于人们通常比较关心系统实现的具*大学计算机学院 2010 届本科生毕业设计(论文)7体功能,而往往轻视了系统性能分析的重要性。系统性能需求是指系统为满足用户需求而必须具有的功

29、能之外的任何系统特性,它是系统功能的延伸。通常包括响应速度、并行处理请求能力、容量大小、数据信息安全性等方面。通过对在线考试系统的性能分析和应用中实际问题的考虑,系统应满足以下方面的性能要求:(1)并行处理用户请求的能力:在线考试系统采用 B/S 模式,用户通过浏览器对系统服务器进行访问。因此,系统应能有足够强壮的处理用户请求的能力,以支持多人同时在线考试的要求。(2)响应速度:对用户请求的响应速度是衡量系统性能的一项重要指标。在线考试系统对响应速度有严格要求,最好不超过 5 秒,不能出现让用户等待甚至的情况。(3)数据信息安全:在线考试系统的用户信息、试题试卷信息比较敏感,要求系统有良好的保

30、密功能、安全性要求比较高。(4)可扩展性:(5)可维护性:(6)稳定性:(7)可操作性: 3.23.2系统可行性研究系统可行性研究3.2.1经济可行性分析3.2.2技术可行性分析3.2.3管理可行性分析*大学计算机学院 2010 届本科生毕业设计(论文)84 4 系统总体设计系统总体设计系统总体设计也称概要设计,其基本目的就是要回答“概括地说,系统应该如何实现?”这个问题,其过程包括两个主要阶段:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。4.14.1系统功能设计系统功能设计为了在功能和性能上实现最终的目标系统,确定软件结构。将系统复杂的功能采用模块化的方法进行一一分解。

31、确定系统由哪些模块组成,以及这些模块之间的关系。根据在线考试系统的功能分解和数据流图的进一步细化,将其分为系统前台功能模块和系统后台管理模块,并逐一实现。其功能结构图分别为: 图 4-1 系统前台功能模块图 图 4-2 系统后台管理模块图(1)系统前台功能模块:系统前台功能模块主要实现考生用户注册、登录、在线考试、成绩查询、修改个人资料、密码找回等功能。(2)系统后台管理模块:系统后台管理模块主要实现系统管理员对系统用户信息、课程信息、考生成绩、题库信息、试卷信息进行管理。其中各子功能的详细说明如下:前台功能模块:(1)考生注册:考生通过 Internet 或局域网访问系统的考生注册页面,按要

32、求输入相关考生信息进行在线注册,注册成功后系统自动分配一个考生编号,用于该考生进行系统登录、在线考试、查询成绩的唯一标示。(2)考生登录:考生输入考生编号和密码登录系统,可以进行在线考试、查询成绩、修改个人资料等操作。系统前台功能模块块考生注册修改个人资料考生登录成绩查询退出系统在线考试系统后台管理模块课程信息管理试题信息管理考生成绩管理试卷信息管理系统用户信息管理退出系统*大学计算机学院 2010 届本科生毕业设计(论文)9(3)在线考试:考生在成功登录系统后,可选择当前已经开放的考试科目进行考试,在同意考试规则后,系统根据考生选择的考试科目导入相关试卷并在考试界面显示试题,同时系统开始考试

33、计时,并对考试环境进行锁定,防止考生非法操作。(4)成绩查询:考生在提交考试后,可以对自己已考的科目成绩进行查看。(5)修改个人资料:考生在登录系统后,可对自己的注册信息进行修改,点击“保存” ,系统更新该考生的个人信息。(6)密码找回:这是系统为方便用户操作,提高系统的健壮性而设置的辅助功能。考生通过密码找回功能,根据系统提示操作输入考生编号和和在注册时设置的密保问题答案,进行密码找回。后台功能模块:(1)系统用户信息管理:系统管理员可对系统用户信息进行统一管理和维护,这是管理员对考生成绩、考试科目进行管理的前提,通过已注册的考生信息动态掌握系统当前的容量和承载负荷。(2)课程信息管理:系统

34、管理员可在课程信息管理界面中对课程信息进行添加、删除等操作。(3)试卷信息管理:系统管理员可在试卷信息列表中根据课程信息对其试卷信息进行归类管理,可对试卷信息进行添加、删除、修改等操作。(4)试题信息管理:系统管理员可在试题信息列表中对试题信息进行集中管理和维护。管理员可根据课程添加考试题目,修改题目类型、题干和试题答案,删除不需要的试题信息。(5)成绩信息管理:系统管理员可在成绩信息列表中根据考试科目、考试时间和考生编号查看考生成绩,对全部的考生成绩信息进行管理和维护。(6)退出后台管理:当系统管理员执行完相关操作后退出后台管理,系统记录该管理员的该次操作信息,生成相应日志文件,并对数据库中

35、的数据文件进行更新。为了更清楚的描述在线考试系统的业务流程,便于在设计过程中处理各子模块之间的关系,力求做到高内聚、低耦合。通过对在线考试系统业务流程的分析,设计系统流程图如下所示:*大学计算机学院 2010 届本科生毕业设计(论文)10图 4-5 系统一级数据流图4.34.3数据库设计数据库设计4.3.1数据库概念设计数据库概念结构设计就是将数据库需求分析得到的用户需求抽象为信息结构(即概念模型)的过程,它是整个数据库设计的关键。概念结构设计的目标是把数据信息表达为用户能够理解的表现形式,而与数据库系统的具体细节无关,且独立于 DBMS 和计算机硬件,因此可以在任何 DBMS 和计算机硬件系

36、统中实现。考生信息实体:考生编号、姓名、密码、性别、年龄、专业、注册时间、密保问题、密保答案、身份证号;图 4-6 考生信息实体 E-R 图考生信息实体考生编号姓 名密保答案密 码年 龄专 业注册时间密保问题性 别*大学计算机学院 2010 届本科生毕业设计(论文)11试题信息实体:题目编号、题干、题目类型、所属课程、选项 A、选项 B、选项C、选项 D、正确答案、难度系数、加入时间、备注;图 4-10 试题信息实体 E-R 图4.3.2数据库逻辑设计数据库逻辑结构设计就是将概念结构设计所得到的信息结构转换为特定 DBMS 支持下的数据模型。一般分为以下 3 个步骤:(1)将概念结构转化为一般

37、的关系、网状、层次、面向对象模型;(2)将转化的关系、网状、层次、面向对象模型向特定 DBMS 支持下的数据模型转换;(3)对数据模型进行优化。(1)命名规范: (2)函数依赖:(3)范式:(4)模式分解:通过上述分析,对关系模式进行分解优化,使其满足第三范式的要求。在线考试系统数据库包含以下数据表结构:考生信息表、管理员信息表、课程表、试题表、试卷表、成绩表。各数据表结构如下所示:(1)考生信息表:表 4-1 tb_StudentInfo 表结构字段名数据类型长 度是否主键默认值描 述SIDVarchar10Yes考生编号SNameVarchar20NoNull考生姓名PWDVarchar2

38、0NoNull登录密码SexVarchar2No男性别AgeInt2NoNull年龄试题信息实体正确答案题目编号题目类型所属课程加入时间难度系数选项 A选项 D选项 C备 注选项 B*大学计算机学院 2010 届本科生毕业设计(论文)12DeptVarchar10NoNull专业JoinTimeDatetime8NogetDate()注册时间QuestionVarchar30NoNull密保问题AnswerVarchar30NoNull密保答案CardNoVarchar20NoNull身份证号 *大学计算机学院 2010 届本科生毕业设计(论文)135 5 系统详细设计系统详细设计详细设计阶段

39、的根本目标是确定应该怎样具体地实现所要求的系统,通过利用各种设计工具,获得对目标系统的精确描述,从而实现在编码阶段可以把这种描述直接翻译成某种程序设计语言书写的程序。在线考试系统根据功能模块的划分,详细论述各个子功能模块的设计实现过程。5.15.1考生信息模块的设计与实现考生信息模块的设计与实现5.1.1考生注册功能的实现5.1.2密码找回功能的实现5.25.2在线考试模块的设计与实现在线考试模块的设计与实现在线考试模块的主要功能是实现考生的在线考试功能。在在线考试功能主界面中,考生须阅读考试规则,点击“同意”后,跳转到选择考试科目页面,查看当前已开放的考试科目,在考试科目下拉列表中选择要进行

40、的考试科目,点击“确定”按钮,系统给出相应提示,单击“开始考试”按钮,进入考试答题页面,开始作答,系统自动计时,考试时间到或者考生自行提交试卷,考试结束,在页面显示该次考试成绩。其系统流程图如下所示: 图 5-6 在线考试模块系统流程图5.2.1选择考试科目功能的实现考生在进行考试前,可对当前已向自己开放的考试科目进行选择,在考试科目下拉列表中选择自己想要参加的考试科目,点击“确定”按钮,跳转到系统提示页面,点击“开始考试”按钮进行考试答题。在选择考试科目功能中,需用到数据库中的tb_Lesson (课程信息表)、tb_Paper(试卷信息表)和 tb_Question(试题信息表)数据表,通

41、过获取考试科目下拉列表中选取的考试科目信息,调取数据库中相应的试卷信息。*大学计算机学院 2010 届本科生毕业设计(论文)14具体实现过程如下:当考生点击“同意”考试规则时,系统调用查询当前考生需要进行考试的课程的 selectLesson()方法。在该方法中,首先获取考生编号,然后调用LessonDAO 类中的 query()方法,查询该考生当前可参加的考试科目,并返回这些科目的 List 集,跳转到选择考试科目页面,实现选择考试科目功能。查询指定考生当前可参加考试科目的 query()方法的具体代码如下:/ query()方法:public List query(String stude

42、ntID) List lessonList = new ArrayList(); LessonForm lessonForm1 = null; String sql=SELECT * FROM tb_lesson WHERE CNO in(SELECT distinct CNO FROM +(SELECT CNO,PNO FROM tb_Paper GROUP BY PID,CNO) + as lessonTaoTi GROUP BY CNO,QID HAVING COUNT(PID) 1) AND + name not in (SELECT distinct CNO FROM tb_stuR

43、esult WHERE SID=+studentID+); ResultSet rs = conn.executeQuery(sql); try while (rs.next() lessonForm1 = new LessonForm(); lessonForm1.setID(rs.getInt(1); lessonForm1.setName(rs.getString(2); lessonList.add(lessonForm1); catch (Exception ex) return lessonList; 5.2.2试题显示功能的实现考生选择相应考试科目进行考试,系统根据获取的考试课程

44、号从题库中调取对应的试卷在界面显示,以便考生作答。为了在界面中显示考试试题,首先需在显示试题的页面中添加一个用于收集试题信息的表单,然后应用 struts 框架中的 Logic 和 HTML标签设置收集试题的表单元素。该页面实现起来比较简单,故不作详细论述,其页面效果图如下所示:*大学计算机学院 2010 届本科生毕业设计(论文)15 图 5-7 试题显示界面图5.2.3自动判卷并显示成绩功能的实现当考生答题完毕点击“提交”按钮或者考试时间已到系统自动提交答案结束考试,系统对提交的考试信息进行保存,并获取考生答案信息,与之前存在数据表中的正确答案进行比对,计算出成绩并在界面显示。在此过程中,系

45、统将用到 tb_Paper(试卷信息表)和 tb_StuResult(考生成绩信息表)数据表,并对考生成绩表中该考试科目的成绩进行更新。具体实现过程如下:当提交试卷后,系统自动调用 StartExamDAO 类中的getRightAnswer()和 savaResult()方法,根据提交的试卷编号作为getRightAnswer()方法的参数,获取该试卷相应题目编号的试题对应的正确答案,返回该答案并与考生提交的答案信息进行比对,判断出对错,并记录题目的分数,计算出成绩;在保存考试成绩的 savaResult()方法中,首先需要根据传递的试卷编号获取对应的试卷名称,然后根据考生的编号和试卷名称更

46、新考生该次考试成绩。savaResult()方法的具体代码如下:/savaResult()方法: public int saveResult(String StudentID,int PaperID,int resSingle,int resMore) String lesson=(LessonForm)lessonDAO.query(PID).get(0).getName(); String sql=UPDATE tb_StuResult set resSingle=+resSingle+,resMore=+resMore+ WHERE SID=+StudentID+ AND PID=+Pa

47、perID+; System.out.println(sql); int ret=conn.executeUpdate(sql); return ret; *大学计算机学院 2010 届本科生毕业设计(论文)165.35.3后台管理模块的设计与实现后台管理模块的设计与实现图 5-8 系统后台管理模块的界面图管理员信息管理模块:包括管理员信息列表,系统超级管理员可对管理员信息进行添加和删除操作。考生信息管理模块:包括考生信息列表,管理员可对考生信息进行查 看和删除。课程管理模块:试卷信息管理模块:考生成绩管理模块:管理员可根据考生编号、课程和考试时间等查看各考生的成绩,并对其进行管理和数据维护。

48、退出后台管理模块:管理员退出后台管理,系统记录该管理员当次操作信息,并更新系统日志。*大学计算机学院 2010 届本科生毕业设计(论文)17 图 5-9 试题信息管理模块界面图5.3.1查看试题信息列表功能的设计与实现管理员登录系统后,在系统后台管理主页面点击“试题信息管理”超链接,即可查看已创建的各课程试题信息列表,在表中记录所属课程、试题名称、题干内容、试题类型等试题信息。在该子功能模块中,主要使用到数据库中的 tb_Question(试题信息表),用于记录各试题的相关信息。具体实现过程如下:当管理员点击“试题信息管理”超链接时,系统会自动调用用于查看试题信息列表的 questionsQu

49、ery()方法,在该方法中,首先调用 QuestionDAO 类中的 Query()方法查询题库中所有的试题信息,然后再将返回的查询结果保存到 HttpServletRequest 对象的 questionsQuery 参数中。用于查看试题信息列表的 questionsQuery()方法的主要代码如下:/questionsQuery()方法Private ActionForward questionsQuery(ActionMapping mapping,ActionForm form,HttpServletRequest request, HttpServletResponse respon

50、se) request.setAttribute(questionsQuery, questionsDAO.query(0); return mapping.findForward(questionsQuery); 为了将 questionsQuery()方法查询到的试题信息结果显示在查看试题信息列表的页面上,首先需通过 Struts 框架中的 Logic 标签将除所属课程和所属试卷两个属性之外的数据以列表形式显示在页面中,然后再使用 Struts 中的 Bean 标签定义两个变量,分别用于保存所属课程的课程号 CNO 和所属试卷的试卷编号 PID,再通过调用JavaBean 中的相关方法获取

51、并显示所属课程和所属试卷信息,以实现在页面中查看试题信息列表的功能。*大学计算机学院 2010 届本科生毕业设计(论文)185.3.2添加试题信息功能的设计与实现添加试题信息的界面图如下所示: 图 5-10 添加试题信息界面图添加试题信息的页面主要用于收集输入的题目信息,以及通过自定义的JavaScript 函数验证输入的数据是否合法,页面的表单采用 Struts 框架的 HTML 标签完成,由于实现比较简单,在这不作详细论述。需要指出的是页面中所属试卷下拉列表中的试卷信息是应用 Ajax 技术根据所选课程动态生成并加载的。5.3.3修改试题信息功能的设计与实现在试题信息管理模块中,可对已创建

52、的试题信息进行修改。在试题管理主页面的试题信息列表中点击试题右侧的“修改”超链接,就可对该试题的题干内容、题目类型、答案选项、正确答案和备注等信息进行修改,点击保存完成试题的修改。修改试题信息的界面图如下所示:*大学计算机学院 2010 届本科生毕业设计(论文)19图 5-11 修改试题信息界面图5.3.4删除试题信息功能的设计与实现*大学计算机学院 2010 届本科生毕业设计(论文)206 6 系统测试系统测试测试是“为了发现程序中的错误而执行程序的过程” ,其目的就是在系统正式应用之前,根据不同的测试要求使用不同的测试方法,尽可能多的找出系统中的错误并进行纠正。通过对在线考试系统的需求分析

53、,对其从功能和性能两个方面进行系统测试。6.16.1系统功能测试系统功能测试系统功能测试主要是测试系统的功能是否正确实现。根据系统需求文档,对系统的功能一一进行测试,看是否存在功能上的缺陷或偏差。系统功能测试一般采用黑盒技术,把整个系统看作是一个不透明的黑盒子,通过等价划分的方法把程序的输入域划分为若干个数据类,据此导出测试用例。黑盒测试技术能有效地测试系统的输入输出,对系统边界值进行分析,以发现系统功能上的缺陷。6.1.1在线考试功能模块测试(1)测试目标:验证系统是否能支持多人同时在线考试,各个考生对系统的操作是否能正确独立的完成;单独的一个考生是否能准确完成在线考试的一系列操作。(2)测

54、试项说明:测试能否进行新用户注册;测试是否能正常登录;测试是否能修改个人资料和查看成绩;测试是否能支持多人同时进行在线考试。(3)测试用例:(4)测试评价:所测试功能基本实现,测试结果比较满意;系统性能:系统并发处理用户请求和数据处理能力比较好,能满足用户操作的基本需求;存在不足:在进行多人同时在线考试测试时,当多个用户同时访问服务器端的同一资源,其中的一部分用户会出现系统反应延迟情况。例如:当三个独立用户在同时选择同一科目的同一试卷进行考试时,其中一用户的试卷加载页面明显出现延迟。排除网络因素的影响,说明系统的并行处理能力有欠缺。测试结论:系统基本实现在线考试功能,能完成单独用户的各项基本操

55、作,系统在可操作性和并行处理用户请求能力方面存在不足,可通过对服务器进行升级解决。6.1.2试题管理功能模块测试(1)测试目标:测试系统是否能完成管理员对试题管理的各项操作,包括试题的创建、修改、删除和查看试题信息列表,评估系统的可操作性,验证试题信息管理功*大学计算机学院 2010 届本科生毕业设计(论文)21能。(2)测试项说明:系统管理员能否创建试题信息,并更新到相关课程和相关试卷的题库中;系统管理员能否在试题信息列表中对试题信息进行修改或删除;系统管理员能否根据课程名、试卷名、试题创建时间等参数查看试题列表中的相关试题信息。(3)测试用例:(4)测试评价:6.26.2系统性能测试系统性能测试系统性能测试就是根据需求文档对系统的各性能参数进行测试,验证系统是否满足用户所提出的各项性能指标,同时发现系统性能上的不足,并对其进行优化改进,从而使之符合用户的需求。*大学计算机学院 2010 届本科生毕业设计(论文)22结结论论Java 在线考试系统是为了减轻教师负担,提高考试效率而设计的。本文围绕在线考试系统的设计与实现,对国内外在线考试系统的现状进行了调查研究,通过对传统考试方式下组织考试各工作环节的分析,优化改进在线考试

温馨提示

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

评论

0/150

提交评论