在线考试系统毕业设计.doc

上传人:h**** 文档编号:1233087 上传时间:2019-01-03 格式:DOC 页数:54 大小:792.50KB
下载 相关 举报
在线考试系统毕业设计.doc_第1页
第1页 / 共54页
在线考试系统毕业设计.doc_第2页
第2页 / 共54页
在线考试系统毕业设计.doc_第3页
第3页 / 共54页
在线考试系统毕业设计.doc_第4页
第4页 / 共54页
在线考试系统毕业设计.doc_第5页
第5页 / 共54页
点击查看更多>>
资源描述

1、软件工程硕士学位论文1第 1 章 考试系统概述1.1 计算机考试系统的研究意义传统的基于纸和笔的考试老师要花费大量的时间和精力出题、改卷、统计分数等,存在诸多弊端:工作量大、周期长、反馈能力弱、人为的因素影响考试成绩。随着高校扩招和各类考试自动化出卷批改的要求,迫切需要一种高效、快捷、科学的考试方式。随着计算机技术与网络技术的不断发展,利用计算机网络技术实现的计算机网上考试取代传统的手工考试成为一种趋势。利用计算机对数据库的并发存取功能和网络传输特性,实现高效、准确和科学的网上考试将成为现代教育方式中的一种重要手段。它的优点主要体现在以下几个方面:1.出卷方便快捷。通过现成的题库系统,只要输入

2、考卷的难度级别、试卷的题型题量等约束条件,软件会自动生成符合要求的试卷,简便、快捷、公平;2.阅卷准确快速。通过计算机阅卷,可以大大减轻教师阅卷的工作量,提高教师的工作效率,同时提高阅卷的准确性;3.成绩分析统计科学直观。成绩分析统计由计算机自动完成,可以方便地统计及格率、优秀率和每题的得分情况等。计算机考试方式的优越性较之传统方式,既灵活方便,又高效可靠,还能及时反馈教学情况,减少诸多中间环节,提高教学效率 1。我校有一万多学生,每个学期都要组织大规模的考试,耗费老师大量的时间和精力,如果能够把本课题的考试系统应用到教学实践,一定能够节省很多的时间和精力,提高阅卷效率和正确率。1.2 计算机

3、考试系统国内外研究现状计算机考试系统指的是由计算机软件来辅助测试,计算机辅助测试简称CAT。60 年代初 CAT 起源于美国,经过 40 多年的发展,已经在国内外得到了广泛应用。1.2.1 国内外在用的考试系统国外有许多专门的考试机构采用计算机辅助测试对考试对象进行考核,比较著名的有美国 Sylvan Learning System Inc,它在全世界一百多个国家和地区有数千个考试中心,提供近百个不同类型,一千多种考试。国内也有许多考试采用了计算机考试系统。软件工程硕士学位论文21.2000 年开始 TOEFL 考试在中国采用计算机考试模式 1;2.人事部组织的专业人员计算机应用能力考试;3.

4、微软认证、Cisco 认证等;4.全国范围内的“全国计算机等级考试” , “NIT 考试”都采用计算机考试模式;5.浙江省大学生计算机一级等级考试全部采用计算机考试,二级等级考试的部分内容采用了计算机考试;6.还有很多大学和科研机构采用了自主研发的考试系统,例如浙江大学、浙江师范大学等院校;7.交通管理部门组织的驾驶员理论考试。以上的考试系统大多比较完善,但是一些计算机基础考试系统还有一些不足,比如试题的实用性程度不高;为了方便计算机批改,操作题比较死板;批卷的智能化有待提高。1.2.2 考试系统分类以题库构成为标准可以把计算机考试系统分为三种:1.不以题库为基础的考试,试卷以单份为主,多用于

5、心理测验和调查研究;2.题库由试卷库构成,试卷库指多份试卷,随机抽取一份给学生考试;3.题库由试题库构成,试题库指海量试题,海量试题按照一定组卷策略组卷 2。对计算机辅助测试系统的分类还有很多方法。按试卷是否基于题库可分为基于题库的考试系统和非基于题库的考试系统;按题量是否定长可分为定长和不定长的考试系统;按采用的测试理论可分为基于经典测试理论和基于项目反应理论的考试系统;按是否是自适应考试可分为传统的和自适应的考试系统,自适应组卷指依靠大型题库,自行适应被测试人员水平,灵活实施测试难度。1.2.3 组卷算法分类和进展 34组卷算法的好坏直接关系到试卷的成卷质量,是考试系统的一个研究重点。试题

6、库组卷的计算机考试系统根据组卷算法的不同可以分为以下几种:1.随机组卷,这是最低级的组卷算法,随机地从试题库中抽取一定数量的试题组成试卷,对抽取的题目没有任何约束条件 5。2.多重目标约束组卷,试题设置题号、难度、分值、重要性、知识点等属性值,然后根据多种属性值的约束条件组卷。可以使用深度优先或者广度优先算法搜索试题。该组卷算法较之于随机组卷算法有很大进步,生成试卷的质量软件工程硕士学位论文3比较高。3.基于遗传算法的组卷算法,遗传算法是一种模拟大自然生物进化过程的计算模型。遗传算法的群体搜索策略为多目标优化提供了非常合适的解决方案 6。4.遗传算法的改进,例如判断优化目标个体优劣的基于偏好的

7、多目标调和遗传算法 7。5.多种人工智能算法的组合,例如遗传算法与模拟退火算法的结合 8,遗传算法与蚂蚁算法的结合 9。6.各类算法的扩展,例如基于学生BOSM模型的智能组卷算法 10;分段随机抽选法对随机组卷的改进 11;增加信息反馈提高试题属性质量,将学生答题的情况反馈给试题,修正试题的难度等 12。组卷算法的发展方向是在海量试题库的基础上运用人工智能生成试卷。1.2.4 考试系统的实现模式分类从逻辑上来说,一个典型网络应用由三部分组成:表示逻辑层、业务逻辑层和数据逻辑层。其中表示逻辑层直接面向用户,主要完成应用的前端界面处理,即人机界面处理;业务逻辑层实现应用的业务规则处理,决定程序的流

8、程;数据逻辑层是应用中对数据进行管理的部分,主要完成应用对数据的存取、更新、管理等工作以及访问数据的安全性、完整性、一致性。计算机考试系统有两种主要模式:客户机/服务器模式( Client/Server)和浏览器/ 服务器(Browser/Server )模式。C/S模式于1989年由麻省剑桥的ForesterResearch 首先提出 13,是客户进程从服务进程中请求服务的一种计算方式,属于协同处理的范畴。根据表示层、应用层、数据层分布在几层,C/S模式可以分成两层C/S模式和三层C/S 模式。两层模式将一个考试系统的三个逻辑层分布在Client端和Server端,Client和Server

9、通过网络联结起来。通常Client端和Server端分别运行在不同的计算机中,Client端一般安装于普通计算机,Server端一般安装在功能更强的服务器。将业务逻辑独立出来,就产生了三层C/S模式。在三层C/S模式中,表示逻辑位置不变,仍放在Client端,业务逻辑则放在一个独立的中间服务器上,数据逻辑在另一个服务器上 14。随着网络的发展,出现了B/S模式。B/S 模式在本质上也是一种C/S 结构,它由传统的C/S结构发展而来,是一种在Web上的应用。与传统C/S结构不同的是,软件工程硕士学位论文4B/S的表示层为Web浏览器,功能层为Web 服务器,使用 ASP、JSP或PHP等技术。相

10、对C/S结构而言,B/S结构的优点有:简化客户端;易于维护;易于升级;用户操作简便易学;便于网上发布消息。但是B/S结构也有一些缺点:1.交互性弱。C/S模式的客户端是完整的应用程序,在出错提示、帮助等方面都有强大的功能并且可以在子程序间自由切换。B/S模式虽然由JavaScript、VBScript提供了一定的交互能力,但和C/S相比功能就少多了;2.安全性低。由于采用开放的TCP/IP协议和解释型的脚本语言编程,数据的流向不固定,容易被截取破译,其安全性有限;3.数据处理能力弱。B/S模式的数据处理多用解释脚本语言实现,无法开发出利用可视化工具开发的功能强大的编译型应用程序。C/S和B/S

11、模式各有优缺点,适合不同的场合。一般而言,B/S 模式的缺点就是C/S模式的优点,而B/S模式的优点就是C/S模式的缺点。C/S模式相比而言有以下优点:1.保密性好。可以设置专门的加密函数,针对不同的数据设置不同的加密方式和加密等级。而B/S模式采用开放的TCP/IP 协议和解释型的脚本语言编程,安全性较低;2.数据处理能力强。可以连接多种关系数据库;3.交互性强。相对浏览器而言可以生成更加复杂的图形界面和允许更多的用户交互方式 15;4.可控性好。服务端可以控制连接的时间、连接的IP、连接用户等信息,适合安全性要求高的应用;5.数据分析统计功能强。可以批改多种题型的试题,并且进行复杂的数据分

12、析和统计。本课题的网上考试系统是使用 Java 语言实现的二层 C/S 模式系统。根据使用对象和实现功能的不同,客户端分为三种类型:学生使用的客户端,教师使用的客户端和管理员使用的客户端。1.2.6 考试系统的开发平台分类考试系统由应用程序和数据库组成,开发程序主要有微软的 Visual Basic、Visual C+、Visual FoxPro(VFP)和 PowerBuilder、Delphi、JBuilder 等,数据库主要有本地数据库 Access 和网络数据库 SQL 软件工程硕士学位论文5Server、MYSQL 、ORACLE 等。从理论上说开发平台可以由任何一种开发程序和数据库

13、组成,也就是任意两两组合,但是综合考虑系统需求、软件的兼容性等方面,往往有比较合适的组合。对于数据库的选择,可以考虑数据存取速度、容量和网络存取等要求。如果考试系统是单机版的,那么可以选择 Access 数据库;如果数据库数据的容量在几十万行之内,并且要求网络存取,那么可以选择 SQL Server;如果数据库中的数据非常大,那么从安全性和速度等方面考虑采用 ORACLE 是最好的选择。如果数据库采用 SQL Server,有很多开发程序支持它,分别使用不同的技术连接和管理数据库。1.VB+SQL Server,DAOs 方法、ODBC API 或 VBSQL 方法管理数据库;2.VC+SQL

14、 Server,开放数据库连接 Open Database Connectivity(ODBC)实现数据库访问;3.Delphi+SQL Server,数据库引擎 BorlandDatabaseEngine 实现连接;4.VFP+SQL Server,SQL Pass Through(SPT )技术直接访问 ODBC 函数,并把 SQL 语句发送给服务器执行;5.Java+SQL Server,JDBC 实现数据库访问。1.2.7 计算机考试系统的发展趋势 16计算机考试系统朝着智能化的方向发展,例如组卷的智能化,批卷的智能化等。另外考试系统对学生答题情况的统计和成绩分析的要求也越来越高,据此

15、掌握教学质量。出于考试的严肃性,网上考试系统对安全性、容错性和保密性的要求也越来越高。1.3 J2SE 实现网上考试系统现在已经有了多种实用的考试系统,应用于各种类型的考试,那么为什么要开发本网上考试系统呢,主要出于以下几点考虑:1.虽然各种类型考试系统研究很多,但是和操作系统无关或者支持多操作系统的考试系统的研究还比较少。Java 语言和平台无关,可以使用 JBuilder 开发多平台下的 J2SE 程序。2.商品化软件一般只能获得考试系统的学生端,出于系统保密的原因,有时甚至不能批改试卷,例如省计算机一级考试下发到学校的是考试客户端,考试结束后学生答题数据包统一上交批改。但是教师希望批改后

16、统计和分析学生软件工程硕士学位论文6成绩,并且以直观的方式显示,从而发现问题改进教学。3.自主控制考试题目,可以用于单元学习后的单元测试。4.自主扩充修改题库,随时增加修改题目。现有的考试系统不能完全符合我校定制的需求。我校的老师对考试系统有特定的要求,例如可以在,多种方式分析成绩等。结合教学和研究的需要,本人开发了基于 J2SE 的网上考试系统。本考试系统采用 C/S 模式的软件体系结构,客户端使用 Java 集成开发环境 JBuilder 开发调试生成,数据库使用 Microsoft SQL Server2000 技术,使用 JDBC 技术连接数据库。1.3.1 J2SE 概念本课题中的考

17、试系统是基于 J2SE 的 C/S 模式考试系统,具体使用 Java 的开发平台 JBuilder 实现。JBuilder 的集成开发环境 IDE 广受业界赞誉,其可视化集成开发环境包括文本编辑器、工程创建工具、对象浏览器和调试器等。JBuilder 集成了软件开发、调试、部署、管理、版本控制等工具,提高了项目开发速度 17。Java 的开发平台称之为 JDK,运行平台称之为 JRE。为了对 Java 技术的使用方向和范围进行区分,避免开发中关注不必要的技术特性,Sun 公司将 Java平台划分成 3 个版本:1.J2SE(Java2 Platform Standard Edition):核心

18、用于桌面系统的 Java2 平台标准版,主要用于桌面应用软件的编程。2.J2EE(Java2 Platform Enterprise Edition):针对企业级软件开发和应用的Java2 平台企业版。用于创建服务器应用程序和服务,主要用于分布式的网络程序的开发,如电子商务网站和 ERP 系统。3.J2ME(Java2 Platform Micro Edition):适用于嵌入式系统开发的 Java2 平台微型版,如手机和 PDA 的编程。开发环境主要包括: Java Virtual Machine(JVM)、核心 API、集成 API、用户界面工具、部署技术、部署工具及 API18。1.3.

19、2 J2SE 特点J2SE 主要用于实现桌面应用软件开发,其实现的系统有以下特点:1.支持多平台:Java 是一种与系统平台无关的语言。在 J2SE 的开发模式下,使用 JBuilder 的 Native Executable Builder 工具可以生成在不同的系统和处理器平台下执行的程序,目前支持的平台有 Dos、Windows、Linux、Solaris 和 Mac 软件工程硕士学位论文7OS。2.分布性:Java 带有强大有关网络协议族的库,使 Java 网络编程高效易用。3.面向对象:设计重点放在对象及对象的接口上。4.简单性:Java 的语法比 C+简单,只能在一个类中定义公用和静

20、态的变量来实现一个全局变量,不支持 goto 语句,自动管理内存并且进行垃圾收集。5.可靠性和安全性:Java 可以用来构建一定程度防病毒和防攻击的系统。6.其余特性:多线程、动态性、解释、结构中立性、可移植性、鲁棒性。软件工程硕士学位论文8第 2 章 需求分析和软件估计2.1 软件开发概述本课题“基于 J2SE 的网上考试系统的设计与实现”在软件工程思想指导下开发。软件工程 Software Engineering 指应用计算机科学理论和技术以及工程管理原则和方法,按照预算和进度,实现满足用户要求的软件产品的定义、开发、发布和维护。在软件开发过程中遵循模块化、信息隐藏、局部化、一致性、构造性

21、和集成组装性等原则。开发过程中实施有效的工程管理,例如配置管理、质量保证等。2.1.1 软件开发方法软件开发方法指使用定义好的技术和表示符号来组织软件生产过程的方法。经过多年的软件工程实践,有多种软件开发方法获得了推广。1.结构化方法:由 E.Yourdon 和 L.L.Constantine 提出,认为软件系统均以一定的结构形式存在,由若干子系统构成,子系统本身又是一个系统,软件实现过程有结构化分析 SA、结构化设计 SD 和结构化编程 SP。实现结构化方法的技术有面向数据流图的方法、Jackson 方法、LCP 方法等 19。2.原型化方法:迅速开发出一个可以让用户看得见、摸得着的精简系统

22、,适用于需求反复修改的情况。原型化开发的优点有 2021:有助于确定系统的可行性;原型法修改比最终软件修改快且代价小;容易定义需求不确定的 22。由于用户在实际软件方面的介入,开发组和用户有更高层次的交流和沟通。3.净室方法:测试之前程序设计开发组就开发出几乎无错的系统。4.形式化 Formal Methods 方法:以严密的数学证明为基础,包括形式化分析 Formal Analysis、形式化设计 Formal Design 和翻译 Translation。5.面向对象方法:认为客观世界是由对象组成的,不同对象间的相互作用和联系构成不同的系统,以对象为中心来构造模型、组织系统。6.基于组件的

23、软件方法:应用逻辑和实现分离,提供标准接口和框架,使软件开发变成组件的组合。模型有 Sun 公司的 EJB、微软公司的COM+/DCOM、OMG 的 CORBA/ORB20。7.敏捷软件开发:着眼于快速交付高质量软件,并使客户满意,包括极限编程 Extreme Programming(XP)、动态系统开发方法 Dynamic System Development Method、SCRUM、Crystal 和 Lean 等。敏捷软件开发有四个核心价值:沟通 Communication、反馈 Feedback、勇气 Courage 和简单 Simplicity14。软件工程硕士学位论文9选择何种软

24、件开发方法需综合考虑各种因素。首先考虑软件项目的特点;还有支持环境,如若没有相应的快速原型工具,就不可能采用快速原型方法;以及技术支持,如软件工程规范、软件工程管理经验、软件人员的技术基础和经验等。软件的开发可以选用开发方法中的一种,也可以选用几种方法的结合。考虑到本考试系统由 JBuilder 开发,使用面向对象的开发语言 Java 语言实现,所以本系统主要采用了面向对象的软件开发方法。在开发的部分阶段,还使用了原型化方法,这两种方法的结合既具有稳定性好、可复用性和可维护性的优点又方便了系统开发者和最终用户的沟通。2.1.2 软件工程活动的阶段软件工程活动的定义是:生产一个达到工程目标并且满

25、足用户需求的软件产品所需要的步骤,主要包括需求分析、设计、实现、确认以及维护等活动。随着软件工程思想的普及,大家认识到软件开发必须以软件工程活动中定义的步骤指导软件开发,采用工程的概念、原理、技术和方法开发和维护软件,提高软件开发的效率,减少软件开发和维护中的问题。系统开发的过程一般包括:1.需求阶段建立系统模型,是软件开发人员和客户之间合同约定的基础,是下一步设计阶段的基本输入;2.设计阶段定义实现需求所需的软件结构;3.实现阶段将软件设计转换为代码;4.验证是一项评估活动,贯穿于整个开发过程;5.维护指软件发布之后所进行的修改,包括对发现错误的修正,环境变化后进行的必要调整等 23。软件开

26、发生存周期模型用来描述软件从项目需求定义开始到开发成功投入使用一直到维护,软件生命周期结束。随着软件工程学的发展,相继提出了演化模型、螺旋模型、快速原型化模型、快速应用开发模型、增量模型、喷泉模型等。本考试系统采用面向对象的软件开发方法,开发步骤遵循面向对象软件开发的四个阶段:1.面向对象分析 Object-Oriented Analysis(OOA)。系统分析员对将要开发的系统的定义和分析,主要描述工具是用例图,这个阶段的目的是建立系统提出问题领域的模型。这一阶段的模型产品是用例图。2.面向对象设计 Object-Oriented Design(OOD)。将 OOA 的结果转化为适合软件工程

27、硕士学位论文10于程序设计语言的具体描述,主要描述工具是各类静态和动态模型图,这个阶段的目的是设计实现的类和方法,以及类之间的联系,以满足系统的功能要求和质量要求。OOA 的重点是做什么,而 OOD 的重点是如何做。这一阶段的模型产品是静态图和动态图。3.面向对象程序设计 Object-Oriented Programming(OOP)。程序设计人员根据 OOD 得到的模型,采用面向对象程序设计语言实现程序,该网上考试系统使用 JBuilder 开发。这一阶段的产品是类文件。4.面向对象测试 Object-Oriented Testing(OOT)。类的测试和类间测试等,和传统测试的区别是可以

28、从静态和动态模型图获取信息辅助测试。2.2 需求分析的目标和内容需求分析回答系统必须“做什么”的问题,是软件开发的第一个阶段,也是非常重要的阶段,直接关系到软件开发成败。2.2.1 需求分析的目标和实现阶段 19在进行需求分析之前我们必须弄清楚需求分析的目标和实现目标的阶段,如表 2-1 所示。表 2-1 需求分析的阶段和目标阶段 目标可行性研究 决定是否建立一个系统需求导出和分析 理解用户需要系统解决哪些问题;引出这些问题和系统的一些相关问题;提供解决这些问题和系统的基础;决定系统应该做什么;决定系统不应该做什么;生成文档 生成需求规格说明需求有效性验证 验证需求有效性2.2.2 可行性研究需求分析的第一件事情就是决定是否建立一个系统,也就是进行系统的可行性分析,可以从操作可行性、技术可行性和经济可行性三个方面着手分析。操作可行性分析系统是否符合总体目标。本考试系统有许多相对于笔试的优点,对学校的大学生计算机文化基础考试有很大的帮助。技术可行性考虑系统是否可能在现有的技术条件、预算和时间限制内完成,能否与已经存在的其它系统

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 试题真题

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。