文档库 最新最全的文档下载
当前位置:文档库 › 在线考试系统毕业设计

在线考试系统毕业设计

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

第1章考试系统概述

1.1 计算机考试系统的研究意义

传统的基于纸和笔的考试老师要花费大量的时间和精力出题、改卷、统计分数等,存在诸多弊端:工作量大、周期长、反馈能力弱、人为的因素影响考试成绩。随着高校扩招和各类考试自动化出卷批改的要求,迫切需要一种高效、快捷、科学的考试方式。随着计算机技术与网络技术的不断发展,利用计算机网络技术实现的计算机网上考试取代传统的手工考试成为一种趋势。

利用计算机对数据库的并发存取功能和网络传输特性,实现高效、准确和科学的网上考试将成为现代教育方式中的一种重要手段。它的优点主要体现在以下几个方面:

1.出卷方便快捷。通过现成的题库系统,只要输入考卷的难度级别、试卷的题型题量等约束条件,软件会自动生成符合要求的试卷,简便、快捷、公平;

2.阅卷准确快速。通过计算机阅卷,可以大大减轻教师阅卷的工作量,提高教师的工作效率,同时提高阅卷的准确性;

3.成绩分析统计科学直观。成绩分析统计由计算机自动完成,可以方便地统计及格率、优秀率和每题的得分情况等。

计算机考试方式的优越性较之传统方式,既灵活方便,又高效可靠,还能及时反馈教学情况,减少诸多中间环节,提高教学效率[1]。

我校有一万多学生,每个学期都要组织大规模的考试,耗费老师大量的时间和精力,如果能够把本课题的考试系统应用到教学实践,一定能够节省很多的时间和精力,提高阅卷效率和正确率。

1.2 计算机考试系统国内外研究现状

计算机考试系统指的是由计算机软件来辅助测试,计算机辅助测试简称CAT。60年代初CAT起源于美国,经过40多年的发展,已经在国内外得到了广泛应用。

1.2.1 国内外在用的考试系统

国外有许多专门的考试机构采用计算机辅助测试对考试对象进行考核,比较著名的有美国Sylvan Learning System Inc,它在全世界一百多个国家和地区有数千个考试中心,提供近百个不同类型,一千多种考试。国内也有许多考试采用了计算机考试系统。

1.2000年开始TOEFL考试在中国采用计算机考试模式[1];

2.人事部组织的专业人员计算机应用能力考试;

3.微软认证、Cisco认证等;

4.全国范围内的“全国计算机等级考试”,“NIT考试”都采用计算机考试模式;

5.浙江省大学生计算机一级等级考试全部采用计算机考试,二级等级考试的部分内容采用了计算机考试;

6.还有很多大学和科研机构采用了自主研发的考试系统,例如浙江大学、浙江师范大学等院校;

7.交通管理部门组织的驾驶员理论考试。

以上的考试系统大多比较完善,但是一些计算机基础考试系统还有一些不足,比如试题的实用性程度不高;为了方便计算机批改,操作题比较死板;批卷的智能化有待提高。

1.2.2 考试系统分类

以题库构成为标准可以把计算机考试系统分为三种:1.不以题库为基础的考试,试卷以单份为主,多用于心理测验和调查研究;2.题库由试卷库构成,试卷库指多份试卷,随机抽取一份给学生考试;3.题库由试题库构成,试题库指海量试题,海量试题按照一定组卷策略组卷[2]。

对计算机辅助测试系统的分类还有很多方法。按试卷是否基于题库可分为基于题库的考试系统和非基于题库的考试系统;按题量是否定长可分为定长和不定长的考试系统;按采用的测试理论可分为基于经典测试理论和基于项目反应理论的考试系统;按是否是自适应考试可分为传统的和自适应的考试系统,自适应组卷指依靠大型题库,自行适应被测试人员水平,灵活实施测试难度。

1.2.3 组卷算法分类和进展[3][4]

组卷算法的好坏直接关系到试卷的成卷质量,是考试系统的一个研究重点。试题库组卷的计算机考试系统根据组卷算法的不同可以分为以下几种:

1.随机组卷,这是最低级的组卷算法,随机地从试题库中抽取一定数量的试题组成试卷,对抽取的题目没有任何约束条件[5]。

2.多重目标约束组卷,试题设置题号、难度、分值、重要性、知识点等属性值,然后根据多种属性值的约束条件组卷。可以使用深度优先或者广度优先算法搜索试题。该组卷算法较之于随机组卷算法有很大进步,生成试卷的质量比较高。

3.基于遗传算法的组卷算法,遗传算法是一种模拟大自然生物进化过程的计

算模型。遗传算法的群体搜索策略为多目标优化提供了非常合适的解决方案[6]。

4.遗传算法的改进,例如判断优化目标个体优劣的基于偏好的多目标调和遗传算法[7]。

5.多种人工智能算法的组合,例如遗传算法与模拟退火算法的结合[8],遗传算法与蚂蚁算法的结合[9]。

6.各类算法的扩展,例如基于学生BOSM模型的智能组卷算法[10];分段随机抽选法对随机组卷的改进[11];增加信息反馈提高试题属性质量,将学生答题的情况反馈给试题,修正试题的难度等[12]。

组卷算法的发展方向是在海量试题库的基础上运用人工智能生成试卷。

1.2.4 考试系统的实现模式分类

从逻辑上来说,一个典型网络应用由三部分组成:表示逻辑层、业务逻辑层和数据逻辑层。其中表示逻辑层直接面向用户,主要完成应用的前端界面处理,即人机界面处理;业务逻辑层实现应用的业务规则处理,决定程序的流程;数据逻辑层是应用中对数据进行管理的部分,主要完成应用对数据的存取、更新、管理等工作以及访问数据的安全性、完整性、一致性。

计算机考试系统有两种主要模式:客户机/服务器模式(Client/Server)和浏览器/服务器(Browser/Server)模式。

C/S模式于1989年由麻省剑桥的ForesterResearch首先提出[13],是客户进程从服务进程中请求服务的一种计算方式,属于协同处理的范畴。

根据表示层、应用层、数据层分布在几层,C/S模式可以分成两层C/S模式和三层C/S模式。两层模式将一个考试系统的三个逻辑层分布在Client端和Server端,Client和Server通过网络联结起来。通常Client端和Server端分别运行在不同的计算机中,Client端一般安装于普通计算机,Server端一般安装在功能更强的服务器。将业务逻辑独立出来,就产生了三层C/S模式。在三层C/S模式中,表示逻辑位置不变,仍放在Client端,业务逻辑则放在一个独立的中间服务器上,数据逻辑在另一个服务器上[14]。

随着网络的发展,出现了B/S模式。B/S模式在本质上也是一种C/S结构,它由传统的C/S结构发展而来,是一种在Web上的应用。与传统C/S结构不同的是,B/S的表示层为Web浏览器,功能层为Web服务器,使用ASP、JSP或PHP等技术。

相对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模式各有优缺点,适合不同的场合。一般而言,B/S模式的缺点就是C/S模式的优点,而B/S模式的优点就是C/S模式的缺点。C/S模式相比而言有以下优点:

1.保密性好。可以设置专门的加密函数,针对不同的数据设置不同的加密方式和加密等级。而B/S模式采用开放的TCP/IP协议和解释型的脚本语言编程,安全性较低;

2.数据处理能力强。可以连接多种关系数据库;

3.交互性强。相对浏览器而言可以生成更加复杂的图形界面和允许更多的用户交互方式[15];

4.可控性好。服务端可以控制连接的时间、连接的IP、连接用户等信息,适合安全性要求高的应用;

5.数据分析统计功能强。可以批改多种题型的试题,并且进行复杂的数据分析和统计。

本课题的网上考试系统是使用Java语言实现的二层C/S模式系统。根据使用对象和实现功能的不同,客户端分为三种类型:学生使用的客户端,教师使用的客户端和管理员使用的客户端。

1.2.6 考试系统的开发平台分类

考试系统由应用程序和数据库组成,开发程序主要有微软的Visual Basic、Visual C++、Visual FoxPro(VFP)和PowerBuilder、Delphi、JBuilder等,数据库主要有本地数据库Access和网络数据库SQL Server、MYSQL、ORACLE等。从理论上说开发平台可以由任何一种开发程序和数据库组成,也就是任意两两组合,但是综合考虑系统需求、软件的兼容性等方面,往往有比较合适的组合。

对于数据库的选择,可以考虑数据存取速度、容量和网络存取等要求。如果考试系统是单机版的,那么可以选择Access数据库;如果数据库数据的容量在

几十万行之内,并且要求网络存取,那么可以选择SQL Server;如果数据库中的数据非常大,那么从安全性和速度等方面考虑采用ORACLE是最好的选择。

如果数据库采用SQL Server,有很多开发程序支持它,分别使用不同的技术连接和管理数据库。

1.VB+SQL Server,DAOs方法、ODBC API或VBSQL方法管理数据库;

2.VC+SQL 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]

计算机考试系统朝着智能化的方向发展,例如组卷的智能化,批卷的智能化等。另外考试系统对学生答题情况的统计和成绩分析的要求也越来越高,据此掌握教学质量。出于考试的严肃性,网上考试系统对安全性、容错性和保密性的要求也越来越高。

1.3 J2SE实现网上考试系统

现在已经有了多种实用的考试系统,应用于各种类型的考试,那么为什么要开发本网上考试系统呢,主要出于以下几点考虑:

1.虽然各种类型考试系统研究很多,但是和操作系统无关或者支持多操作系统的考试系统的研究还比较少。Java语言和平台无关,可以使用JBuilder开发多平台下的J2SE程序。

2.商品化软件一般只能获得考试系统的学生端,出于系统保密的原因,有时甚至不能批改试卷,例如省计算机一级考试下发到学校的是考试客户端,考试结束后学生答题数据包统一上交批改。但是教师希望批改后统计和分析学生成绩,并且以直观的方式显示,从而发现问题改进教学。

3.自主控制考试题目,可以用于单元学习后的单元测试。

4.自主扩充修改题库,随时增加修改题目。

现有的考试系统不能完全符合我校定制的需求。我校的老师对考试系统有特定的要求,例如可以在,多种方式分析成绩等。

结合教学和研究的需要,本人开发了基于J2SE的网上考试系统。本考试系

统采用C/S模式的软件体系结构,客户端使用Java集成开发环境JBuilder开发调试生成,数据库使用Microsoft SQL Server2000技术,使用JDBC技术连接数据库。

1.3.1 J2SE概念

本课题中的考试系统是基于J2SE的C/S模式考试系统,具体使用Java的开发平台JBuilder实现。JBuilder的集成开发环境IDE广受业界赞誉,其可视化集成开发环境包括文本编辑器、工程创建工具、对象浏览器和调试器等。JBuilder 集成了软件开发、调试、部署、管理、版本控制等工具,提高了项目开发速度[17]。

Java的开发平台称之为JDK,运行平台称之为JRE。为了对Java技术的使用方向和范围进行区分,避免开发中关注不必要的技术特性,Sun公司将Java 平台划分成3个版本:

1.J2SE(Java2 Platform Standard Edition):核心用于桌面系统的Java2平台标准版,主要用于桌面应用软件的编程。

2.J2EE(Java2 Platform Enterprise Edition):针对企业级软件开发和应用的Java2平台企业版。用于创建服务器应用程序和服务,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

3.J2ME(Java2 Platform Micro Edition):适用于嵌入式系统开发的Java2平台微型版,如手机和PDA的编程。开发环境主要包括:Java Virtual Machine(JVM)、核心API、集成API、用户界面工具、部署技术、部署工具及API[18]。

1.3.2 J2SE特点

J2SE主要用于实现桌面应用软件开发,其实现的系统有以下特点:

1.支持多平台:Java是一种与系统平台无关的语言。在J2SE的开发模式下,使用JBuilder的Native Executable Builder工具可以生成在不同的系统和处理器平台下执行的程序,目前支持的平台有Dos、Windows、Linux、Solaris和Mac OS。

2.分布性:Java带有强大有关网络协议族的库,使Java网络编程高效易用。

3.面向对象:设计重点放在对象及对象的接口上。

4.简单性:Java的语法比C++简单,只能在一个类中定义公用和静态的变量来实现一个全局变量,不支持goto语句,自动管理内存并且进行垃圾收集。

5.可靠性和安全性:Java可以用来构建一定程度防病毒和防攻击的系统。

6.其余特性:多线程、动态性、解释、结构中立性、可移植性、鲁棒性。

第2章需求分析和软件估计

2.1 软件开发概述

本课题“基于J2SE的网上考试系统的设计与实现”在软件工程思想指导下开发。软件工程Software Engineering指应用计算机科学理论和技术以及工程管理原则和方法,按照预算和进度,实现满足用户要求的软件产品的定义、开发、发布和维护。在软件开发过程中遵循模块化、信息隐藏、局部化、一致性、构造性和集成组装性等原则。开发过程中实施有效的工程管理,例如配置管理、质量保证等。

2.1.1 软件开发方法

软件开发方法指使用定义好的技术和表示符号来组织软件生产过程的方法。经过多年的软件工程实践,有多种软件开发方法获得了推广。

1.结构化方法:由E.Yourdon 和L.L.Constantine 提出,认为软件系统均以一定的结构形式存在,由若干子系统构成,子系统本身又是一个系统,软件实现过程有结构化分析SA、结构化设计SD和结构化编程SP。实现结构化方法的技术有面向数据流图的方法、Jackson方法、LCP方法等[19]。

2.原型化方法:迅速开发出一个可以让用户看得见、摸得着的精简系统,适用于需求反复修改的情况。原型化开发的优点有[20][21]:有助于确定系统的可行性;原型法修改比最终软件修改快且代价小;容易定义需求不确定的[22]。由于用户在实际软件方面的介入,开发组和用户有更高层次的交流和沟通。

3.净室方法:测试之前程序设计开发组就开发出几乎无错的系统。

4.形式化Formal Methods方法:以严密的数学证明为基础,包括形式化分析Formal Analysis、形式化设计Formal Design和翻译Translation。

5.面向对象方法:认为客观世界是由对象组成的,不同对象间的相互作用和联系构成不同的系统,以对象为中心来构造模型、组织系统。

6.基于组件的软件方法:应用逻辑和实现分离,提供标准接口和框架,使软件开发变成组件的组合。模型有Sun公司的EJB、微软公司的COM+/DCOM、OMG的CORBA/ORB[20]。

7.敏捷软件开发:着眼于快速交付高质量软件,并使客户满意,包括极限编程Extreme Programming(XP)、动态系统开发方法Dynamic System Development Method、SCRUM、Crystal和Lean等。敏捷软件开发有四个核心价值:沟通Communication、反馈Feedback、勇气Courage和简单Simplicity[14]。

选择何种软件开发方法需综合考虑各种因素。首先考虑软件项目的特点;还有支持环境,如若没有相应的快速原型工具,就不可能采用快速原型方法;以及技术支持,如软件工程规范、软件工程管理经验、软件人员的技术基础和经验等。

软件的开发可以选用开发方法中的一种,也可以选用几种方法的结合。考虑到本考试系统由JBuilder开发,使用面向对象的开发语言Java语言实现,所以本系统主要采用了面向对象的软件开发方法。在开发的部分阶段,还使用了原型化方法,这两种方法的结合既具有稳定性好、可复用性和可维护性的优点又方便了系统开发者和最终用户的沟通。

2.1.2 软件工程活动的阶段

软件工程活动的定义是:生产一个达到工程目标并且满足用户需求的软件产品所需要的步骤,主要包括需求分析、设计、实现、确认以及维护等活动。随着软件工程思想的普及,大家认识到软件开发必须以软件工程活动中定义的步骤指导软件开发,采用工程的概念、原理、技术和方法开发和维护软件,提高软件开发的效率,减少软件开发和维护中的问题。

系统开发的过程一般包括:1.需求阶段建立系统模型,是软件开发人员和客户之间合同约定的基础,是下一步设计阶段的基本输入;2.设计阶段定义实现需求所需的软件结构;3.实现阶段将软件设计转换为代码;4.验证是一项评估活动,贯穿于整个开发过程;5.维护指软件发布之后所进行的修改,包括对发现错误的修正,环境变化后进行的必要调整等[23]。

软件开发生存周期模型用来描述软件从项目需求定义开始到开发成功投入使用一直到维护,软件生命周期结束。随着软件工程学的发展,相继提出了演化模型、螺旋模型、快速原型化模型、快速应用开发模型、增量模型、喷泉模型等。

本考试系统采用面向对象的软件开发方法,开发步骤遵循面向对象软件开发的四个阶段:

1.面向对象分析Object-Oriented Analysis(OOA)。系统分析员对将要开发的系统的定义和分析,主要描述工具是用例图,这个阶段的目的是建立系统提出问题领域的模型。这一阶段的模型产品是用例图。

2.面向对象设计Object-Oriented Design(OOD)。将OOA的结果转化为适合于程序设计语言的具体描述,主要描述工具是各类静态和动态模型图,这个阶段的目的是设计实现的类和方法,以及类之间的联系,以满足系统的功能要求和质量要求。OOA的重点是做什么,而OOD的重点是如何做。这一阶段的模型产品

是静态图和动态图。

3.面向对象程序设计Object-Oriented Programming(OOP)。程序设计人员根据OOD得到的模型,采用面向对象程序设计语言实现程序,该网上考试系统使用JBuilder开发。这一阶段的产品是类文件。

4.面向对象测试Object-Oriented Testing(OOT)。类的测试和类间测试等,和传统测试的区别是可以从静态和动态模型图获取信息辅助测试。

2.2 需求分析的目标和内容

需求分析回答系统必须“做什么”的问题,是软件开发的第一个阶段,也是非常重要的阶段,直接关系到软件开发成败。

2.2.1 需求分析的目标和实现阶段[19]

在进行需求分析之前我们必须弄清楚需求分析的目标和实现目标的阶段,如表2-1所示。

表2-1需求分析的阶段和目标

2.2.2 可行性研究

需求分析的第一件事情就是决定是否建立一个系统,也就是进行系统的可行性分析,可以从操作可行性、技术可行性和经济可行性三个方面着手分析。操作可行性分析系统是否符合总体目标。本考试系统有许多相对于笔试的优点,对学校的大学生计算机文化基础考试有很大的帮助。技术可行性考虑系统是否可能在现有的技术条件、预算和时间限制内完成,能否与已经存在的其它系统集成。经济可行性考虑本考试系统受学校教改项目支持,投入使用后可以产生比较大的经济和社会效益。

2.2.3 需求收集和分析

可行性研究阶段结束后,如果系统分析员认为系统可行就进入系统开发的需求收集和分析阶段。需求收集的内容包括1.信息需求,开发系统处理的信息的属性、内容等;2.功能需求,开发系统必须具备的功能;3.性能需求,开发系统的技术性能指标,例如响应时间,存储容量等;4.环境需求,运行的软硬件环境。

软件工程要求软件的开发非常重视需求过程,如果需求做得比较精确不但可以使开发人员清楚地了解用户的想法,减少开发时间,还可以更容易交付软件获得用户认可。本系统充分运用软件工程学总结的需求收集方法来收集需求,具体需求收集的方法有:

1.会谈。开发组成员和用户就开发的系统面对面地交谈,这是收集用户需求的一种重要的方式。会谈结束后,开发小组尽快将会谈的结果整理出来,并且将整理出的会谈资料交给用户。

2.问卷调查。事先准备好问卷调查资料,将资料发给用户方。这种方法的好处有两个:一是问题集中和精确,二是用户回答问题的时间可以自由掌握。

3.调查用户当前使用系统。如果用户现在的操作方式是手工的,那么收集用户手工操作的工作流程,如果用户现在已经使用软件辅助工作,那么收集现在的软件操作的相关表格和资料。

4.用例分析。用例驱动获取需求已经成为面向对象方法的重要组成部分,是OOA阶段的主要方法。

5.使用场景获取需求。访问及观察用户的工作情况,得到一系列用户场景,并根据用户意见修改场景。本系统经过分析可以得出考生考试、教师考前准备试题、设置组卷规则、考后批改试卷、分析统计成绩、用户管理等场景。用例和场景是相辅相成的,可以从场景获取系统用例[24]。

6.快速原型。快速建立一个能够展示系统关键功能的模型,使用快速原型作为收集用户需求的一种方法。

2.3 面向对象分析

面向对象分析方法将客观世界中与应用有关的实体及其属性抽象为问题领域的对象及其属性。分析人员通过对象、对象间消息传递等语言机制直接模拟问题领域的对象及其行为。OOD方法为需求建模提供了直观、自然的语言支持和方法学指导,其核心思想是寻找系统中最稳定的因素——对象。

在本考试系统的需求获取阶段综合运用了多种方法,比如建立快速原型、会

谈、场景分析等方法,主要使用用例分析Use Case Analysis获取用户需求。

用例驱动[25]指以用例为驱动力驱动软件开发。用例驱动的方法基于面向对象技术,即从用例出发,首先将用户需求转换为用例,使用用例描述用户需求,并根据用例的描述和分析,使用静态图描述系统核心类,然后进一步描述系统动态行为等。用例驱动需求分析之后设计、编码、测试等阶段的工作,将用例驱动的思想与UML这种面向对象分析设计语言有机结合。

2.3.1 用例分析概述

用例是对一组动作序列的描述,用于描述系统的功能,也就是从外部用户的角度观察系统应支持哪些功能,帮助分析人员理解系统的行为,它是对系统功能的宏观描述。在用例模型中系统是实现各种用例的“黑盒子”,我们只关心该系统实现了哪些功能,并不关心内部的具体实现细节。用例建模从组成系统的实际操作入手,站在使用者的角度观察软件,密切贴近实际。主要应用在工程开发的初期需求分析阶段[26]。

引入用例的主要目的是确定清晰地描述系统的功能要求;为系统验证打下基础;提供从功能需求到实际类和操作的跟踪能力。

要分析用例,首先要找到用例的执行者Actor,在一个实际的工程项目中可以通过以下方法发现Actor:使用系统主要功能的人;维护、管理和维持系统的日常运行的人;系统需要控制的硬件设备;系统需要交互的其他系统和对系统的结果感兴趣的人。根据以上的方法分析本考试系统,得出三种类型的Actor:学生、教师和管理员。

2.3.2 用例分析结果

用例分析过程中通过和系统的典型用户交谈等活动,得出本考试系统的Actor实现以下活动:

1.学生通过客户端连接上服务器,登陆后可以修改密码,自动随机获取试题,试题以单项选择题、多项选择题和填空题等客观题为主。学生在一定的时间里面完成考试,在考试时间内考生可以手动交卷,如果考试时间到了学生还没有手动交卷,则系统自动结束考试强制交卷。

2.教师的活动是学生的所有活动+制定组卷规则,设置考试参数,批改学生试题得出每个学生的分数,查询试题,统计和分析学生成绩。

3.管理员的活动是教师的所有活动+用户管理。

三类用户的用例的活动是包容关系,教师的活动包括了学生的所有活动,管

理员的活动包括了教师的活动。这样考虑的原因是本考试系统目前仅仅在学校小范围使用,这样设置便于系统维护,如果下一步考试系统推向更广泛范围,可以缩减一部分教师和管理员的权限。下图2-1是考试系统的学生的用例图,图2-2是教师的用例图,图2-3是管理员的用例图。

图2-1 学生用例图

图2-2 教师用例图

图2-3 管理员用例图

在用例图中,参与者和用例都比较简单,还需要进一步描述。参与者描述包括参与者名称,是否抽象参与,对参与者的简要描述。用例描述说明执行者与系统如何交互,该说明要清晰明了,没有二义性,包括用例的目标、最终任务;用例被启动的方式;Actor和用例之间的消息流。用例描述可以分成文字和图形两种方法。

1.使用文字的方法有:(1)简单文字描述;(2)模板描述,套用模板描述用例,说明用例的名称、时间流、特殊需求、前置和后置条件;(3)表格描述,使用表格描述用户动作。例如图2-2中教师设置组卷规则的用例可以进一步用文字描述:设置组卷规则用例的最终任务是设置一次考试的试卷生成规则,得到一个由多条子规则组成组卷规则。该用例由教师或者管理员启动,启动的前置条件是用户正确登陆。参与者通过定义各个约束点来设置规则。

2.图形描述方法有用例图、顺序图和活动图等,这一部分在论文的面向对象设计部分有详细说明。

2.3.3 面向对象建模

对象表示现实世界的概念,它们的协同工作实现某一功能,面向对象的方法是一种思考问题的方式,描述与模仿问题领域发生的事,其基本原则有:一切事物都是对象;任何系统都由对象组成;系统的运行都是由系统的内部对象和外部对象之间或者内部对象和内部对象之间的相互作用完成。

面向对象的特征是:客观世界都由对象组成;所有的对象都划分为各种类,每个类有属性和方法;各个类组成一个层次结构的系统;对象之间通过传递消息进行通信。以上四点特征可以用公式(2-1)描述。

面向对象= 对象+类+继承+消息通信式(2-1)

Object-Oriented=Objects+ Classes+ Inheritances+ Communication with Messages

formula (2-1) 现在,面向对象在很多领域获得了广泛的应用,它相对于面向过程有许多优点。例如组件有利于代码重用;设计模式Design patterns有利于设计方法重用;接口有利于代码的灵活性和健壮性;使用接口合理分配个人和开发组职责,有利于提高开发组的工作效率;低耦合度和模块性提高软件可扩展性、灵活性、可重用性;封装实现信息隐藏;对象的模块性和信息隐藏,使得逻辑的变动被自然地隔离,软件比较容易实现变动,且易于维护;OO中间件提供了平台和语言的透明性;更好地支持原型开发和演化交付;OO技术有利于分布式系统的实现和应用。

2.3.4 统一建模语言UML

面向对象技术出现以来出现了很多建模技术,统一建模语言Unified Modeling Language (UML)使之标准化和统一化。UML是由Grady Booch、James Rumbaugh和Ivar Jacobson“三位好朋友”起草的用于面向对象开发的统一建模

语言[27] [28]。UML是一种简单而易于使用的、表达能力强的、可视的建模语言,方便用户形象化描述系统,提供了一种独立于过程、独立于编程语言的交流和表达工具。

UML的功能非常强大,可以用于描述软件系统,帮助构建精确、无歧义和完整的模型;以预先统一定义的符号可视化地表示软件系统,无歧义地解释由另一个开发者写的模型;构造可与种种不同的编程语言直接通信的软件系统模型,并且直接生成框架代码;在开发和部署阶段,通过表达系统的需求使软件系统的模型文档化。

UML提供各种图来描述系统的结构和行为,有用例图use case diagram、类图class diagram、状态图statechart diagram、活动图activity diagram、顺序图sequence diagram、协作图collaboration diagram、构件图component diagram、配置图deployment diagram[29]等。

面向对象分析的目标是建立一系列的模型用来描述软件。所有系统均可表示为两个方面:静态结构和动态行为。根据模型描述对象的不同,建模可以分为三种[30]:

1.用例建模:使用用例分析获取用例模型。

2.静态建模:系统的静态结构说明系统包含什么对象以及对象之间的关系,但它并不解释系统中的各个对象是如何协作来实现系统的功能。使用类图将现实生活中的各种对象以及它们之间的关系抽象成类图等模型。

3.动态建模:系统的动态行为指对象是如何进行通信以及通信的结果如何,使用交互时序图、协作图和活动图描述。

根据观察系统的不同角度,UML模型可以分成5类,10种模型图。

1.用例图,从用户角度描述系统功能并指出各功能的操作者。

2.静态图,包括类图、对象图和包图。其中类图描述系统中类的静态结构。对象图是类图的实例,只能在系统某一时间段存在。包由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。

3.行为图(Behavior diagram),描述系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。活动图描述满足用例要求所进行的活动以及活动间的约束关系。

4.交互图(Interactive diagram),描述对象间的交互关系。交互图包括顺序图和合作图。其中顺序图显示对象之间的动态合作关系,强调对象之间消息发送的

顺序,同时显示对象之间的交互;合作图描述对象间的协作关系,与顺序图相似,显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。顺序图强调时间和顺序;合作图强调上下级关系。

5.实现图(Implementation diagram),其中构件图描述代码部件的物理结构及各部件之间的依赖关系。构件图有助于分析和理解部件之间相互影响的程度。配置图定义系统中软硬件的物理体系结构。

各个模型图之间的关系如图2-4所示[31],如果把该图当作一棵树的话,则所有的叶子结点为UML定义的模型。

图2-4 UML的10种模型图

2.4 软件估计

1.软件项目计划概述

需求分析后,如果项目可行,就进入了项目计划阶段。软件项目计划是软件工程管理的主要任务之一,包括资源、成本、风险、进度和项目组织进行合理的估计分析和调度,其具体内容有:

(1)成本估计。估计软件费用,有自顶向下成本估计,自底向上成本估计,基于经验模型成本估计,COCOMO模型成本估计[32]。

(2)风险分析。在开发工作开始之前,找到潜在的风险,评估风险出现的概率和影响,然后建立管理风险计划。

(3)进度安排。将工作量分解为特定的软件工程任务,可以用甘特图完成。

(4)项目组织。合理地组织开发小组的各类人员,最大限度地发挥每一个人的作用。整个项目组的结构有层次型和矩阵型等。

在本网上考试系统具体开发之前,对软件开发进行了成本估计、风险分析、进度安排和项目组织。重点说明对本考试系统的软件开发的成本估计。成本估计

的方法有许多种,使用COCOMO模型成本估计软件开发时间是一种比较精确估计的方法。有两个步骤,首先估计系统代码行,然后估计工作量。

2.代码行估计

代码行估计的一种方法是根据项目特征和算法计算功能点,然后通过功能点计算代码行。本系统的代码行估算对此方法进行扩展,把功能点估算法和经验估算法结合,首先分析此前已经完成的系统的功能点个数,并且统计其代码行,然后估算本考试系统的功能点,由这三个值计算本系统的代码行。

功能点估算的方法是:首先分析系统的输入、输出、查询、文件、外部接口,由表2-2获得各种功能的权值,再由公式2-2计算总权值,最后根据公式2-3进行复杂度加权因子调整,计算功能点数FP。

表2-2功能类型对应权值表

总权值=4×输入点数+5×输出点数+4×查询点数+10×控制文件数+7×接口数式(2-2) FP=总权值×(0.65+0.01× Fi) 式(2-3)

公式(2-3)中Fi指复杂度调整因子,一共有14个调整因子,根据项目不同取值0~5之间,限于篇幅不一一列出。

分析计算得到三个值:前一个项目的功能点记为FP0,前一个项目的千行代码数记为KLOC0,本系统的功能点记为FP1,则本系统千行代码数KLOC1=(KLOC0×FP l) / FP0。最后估计得到本系统的代码行数是42KLOC。

3.工作量估计

COCOMO模型按照估计的详细程度分为三个层次:基本层模型、中间层模型和详细层模型,每个层次的模型按照软件复杂度又可划分为组织型、嵌入型和半独立型[33]。COCOMO模型的分类如图2-5所示。

图2-5 COCOMO 模型软件划分图

软件开发的基本层模型将软件开发工作量及成本作为程序规模的函数进行计算;中间层模型从产品、硬件、人员和项目等因素考虑15个调节因子;详细层模型考虑调节因子对不同开发阶段的影响。组织型软件要求不高,程序规模不大,在50000行之内;嵌入型系统和硬件设备紧密结合;半独立型介于两者之间。

COCOMO 模型数学公式为: MM=a(SIZE)b

=15

1i i

f

式(2-4) TDEV=c(PM)d

式(2-5)

其中MM 为开发工作量,单位人月。SIZE 为源代码行数,单位千行。f i 为调节因子。TDEV 为开发时间,单位月。a 、b 、c 、d 为可变系数。

本考试系统采用中间层模型的组织型来估计成本,a=3.2,b=1.05,c=2.5,d=0.38。仔细分析软件开发的15个调节因子,得f 1×f 2×…×f 15=0.674;

考虑本人一直在开发仓库管理系统,有一些类可以直接复用于考试系统,例如数据库连接类、查询类、排序类、登录类,有一些类可以部分复用,例如用户管理类。前面功能点计算得知系统SIZE ≈42,减去复用类加权和,还需要生成22KLOC 。使用JBuilder 开发,集成开发环境会自动生成许多界面和数据库方面的代码,根据开发经验需要自己手动编写6KLOC 。

MM=3.2×(6)1.05×0.674=14人月; TDEV=2.5×(14)0.38=6.8月。

本系统从2月份需求分析开始到8月份测试完成实际开发花费了半年时间,基本符合COCOMO 模型估计开发时间。

第3章 软件架构和系统设计

3.1 软件架构

软件架构又称为软件体系结构,指所有的软件部件组合成系统的一个总的结构、接口和通讯机制。软件架构可以进一步划分为企业级和应用级架构[34]。

3.1.1 企业级架构

企业级架构反映了企业的长期投资,包括硬件和软件的设施、网络布局等。企业级架构的核心是技术架构,也就是对网络、数据、应用、安全和信息系统的整体集成等制定的实现蓝图,分别称为网络架构、数据架构、应用架构、安全架构和集成架构等。重点说明网上考试系统的网络物理连接图,如图3-1所示。

图3-1 网络物理连接图

3.1.2 应用级架构[35]

本网上考试系统基于C/S 模式,C/S 模式的分类和特点在1.2.4小节做了说明。C/S 软件体系结构基于资源的不对等,该结构由三部分组成:数据库服务器、客户端应用程序和网络。C/S 体系结构需要定义工作站和服务器的连接方式,从而实现数据和应用分布到多个客户机上。

在应用架构开发过程中通常要做以下工作:1.层之间进行功能划分;2.领域对象建模;3.各层之间的联系方式;4.分析已有的和需要开发的组件。

数据库服务端管理系统数据库资源,其任务是数据库安全性控制,数据库访问并发性控制,数据完整性控制,数据库的备份和恢复。

客户端应用程序的任务是提供交互界面,向数据库提交用户请求并且接收数据,利用客户端应用程序处理数据并且在需要的时候传回数据库。

题库型考试自动组卷系统数据库设计

辽东学院本科毕业论文(设计) 题库型考试自动组卷系统的设计与实现 The Design and Implementation of Auto-Generating Examination Paper about the Item Bank Type Examination 学生姓名:艾萍 学院:信息技术学院 专业:信息管理与信息系统 班级:B0601 学号:0911060101 指导教师:陈志勇 审阅教师: 完成日期:2010年5月25日 辽东学院 Eastern Liaoning University

独创性说明 作者郑重声明:本毕业论文(设计)是我个人在指导教师指导下进行的研究工作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,毕业论文(设计)中不包含其他人已经发表或撰写的研究成果,也不包含为获得辽东学院或其他单位的学位或证书所使用过的材料。与我一同工作的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。 作者签名:___________ 日期:__ __

摘要 组卷考试在计算机网络下完成,可以大大提高考试工作的效率和质量。项目采用Visual Studio 2005开发平台和SQL Server 2005数据库技术,依据面向对象的分析方法,开发出了基于C/S模式的题库型考试自动组卷系统。 本文从题库型考试自动组卷系统在考试中发挥的作用出发,详细阐述了一个功能较完善的组卷系统的服务器端和客户端开发过程。首先进行了项目概述,简单介绍了项目开发的背景及项目开发的意义;接下来是系统规划阶段,首先对项目开发的可行性进行了分析;在需求分析阶段,通过对实际考试的功能需求分析,得到了系统用例;系统设计阶段主要完成了开发模式的选择、功能模块的划分、动态图的绘制、类的设计、数据库的设计;系统实现阶段介绍系统主要功能的关键代码。 本系统的设计实施为题库型考试自动组卷系统的运行做基础,同时为组卷考试系统的开发提供一个参考模式,并进一步推动高校的校园信息化建设。 关键词:题库;自动化;试卷;在线考试

本科毕业设计-在线考试系统

1.绪论 1.1 开发背景 近年来,计算机科学技术的发展迅猛异常,日新月异。网络技术、多媒体技术、面向对象的技术日趋成熟,为计算机的应用揭开了新篇章。为了适应计算机技术的发展,网上教育也以受众广、投入低、不受师资和校舍等办学基础设施等条件限制、容易开展高水平教学、教学质量相对容易保证等特点而受到教育界的广泛重视,网上教育促进了教育思想、教育方法、教育手段的更新。信息时代的未来教育,具有创造性、多样性、开发性和个性化的特点。未来教育发展层次的高低,与教育网络的建设与否息息相关。落后的教学手段与封闭的教学模式,再也不能适应未来教育的需求。 在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革和更新,而网络考试则是一个很重要的发展方向。基于Web技术的网络考试系统可以借助于遍布全球的因特网进行,因此考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。试卷可以根据题库中的内容按条件组成,可避免考试前的压题;而且可以采用大量标准化试题,从而使用计算机判卷评分,大大提高阅卷的效率;还可以直接把成绩送到数据库中,进行统计分析、排序等操作。所以现在较好的考试方法是采用网络考试,试题内容放在服务器上,考生通用户名密码进行登录,登录后进行考试,考试答案也存放在服务器中,这样考试的公平性、答案的安全性可以得到有效的保证。因此,采用网络考试方式将是以后考试发展的趋势。网上考试是这个课程建设其中的一部分,本文将重点介绍网上考试系统。 1.2 系统的总体概述及其研究意义 网络考试系统的实现技术有多种,可以采用传统的架构,即试题内容放在远程的服务器上,在考试机上安装考试应用程序和数据库客户机配置,因此每次考试时要对机器进行安装、配置,考务工作比较烦琐,而且考试程序放在客户机上,安全性也受到一定影响,因此本文讨论的网络考试系统采用Web 技术实现。Web 技术采用了三层体系结构:用户界面层/事务层/数据库层,因此Web结构有着更好的安全性,在用户机上不需要安装任何的应用程序,应用程序可以安装在事务层所在的计算机上,试题存放在数据库服务器上,当然,事务层和数据库可以是同一台机器(如果条件允许,还是应该把这两层分开在不同的计算机上)。本文

网上考试系统设计毕业论文

网上考试系统设计毕业论文 目录 1 前言 (1) 2 技术支持 (3) 2.1 B/S(Browser/Server)模式 (3) 2.2 https://www.wendangku.net/doc/3717329484.html, (4) 2.3 IIS(Internet Information Services)简介 (9) 3 系统设计 (10) 3.1 需求分析 (10) 3.1.1 系统功能分析 (11) 3.1.2 系统性能分析 (12) 3.2 前台设计 (12) 3.2.1 界面设计目标 (12) 3.2.2 界面设计思路 (13) 3.3 后台设计 (13) 3.3.1 系统总体设计 (13) 3.3.2 子系统设计 (14) 3.3.3 公用模块设计 (23) 3.4 数据库设计 (24) 3.4.1 数据库概念设计 (24) 3.4.2 数据库物理结构设计 (27) 4 系统实现 (31) 4.1 系统网络实现 (31) 4.2 系统数据库实现 (33) 4.3 系统前台实现 (36) 4.3.1 学生子系统 (36) 4.3.2 教师子系统 (39) 4.3.3 管理员子系统 (40)

4.3.4 公共模块 (41) 4.4 系统功能实现 (46) 5 小结与展望 (51) 5.1 小结 (51) 5.2 展望 (51) 致谢 (53) 参考文献 (54)

1 前言 随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。 远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是网上考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行网上考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。 网上考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的网上考试系统可以使用户在网上学习过后及时检验自己的学习效果,以发现自己的不足,使得学习效率得到很大提高。网上考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来. 目前,网络应用软件运行的模式主要有二类:Client/server模式,Browser/Web 模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是Web Server ,而Web Server与数据库和应用服务器的紧密结合,使得这种模式的应

自动组卷及在线考试系统的设计

工程硕士专业学位论文开题报告 领域名称:计算机技术 研究生姓名: 入学时间:2010年5月 研究方向:智能计算 论文题目:自动组卷及在线考试系统的设计校内指导教师姓名: 企业指导教师姓名: 填表时间:2011年9月28日 研究生学院制

工程硕士专业学位论文开题报告程序 1、开题报告由研究生本人在完成文献阅读、科研调查的基础上和导师根据导师研究方向及实际条件共同准备。 2、各学院主管院长组织本单位所属领域工程硕士论文开题报告答辩委员会,并且组织学生及导师进行开题报告答辩工作。答辩委员会成员应由各学院分学术委员会成员及相关企业导师组成,答辩会议由各学院分学术委员会主席主持。答辩会议应坚持公开、公正、严肃、认真的原则。 3、各领域工程硕士论文开题报告答辩委员会成员在学生答辩后应采取表决方式,依据同意人数超过总人数三分之二的原则来决定该学生的开题报告是否合格,并由各学院主管院长在开题报告的院意见栏内签署意见。 4、各学院主管院长应在论文开题报告答辩会议前一周将答辩会议日程安排报研究生学院。 5、各学院论文开题报告答辩结束后,二天内应汇总全部开题报告送研究生学院审批。研究生学院在一周内将审批结果通知各单位,各单位应立即将审批结果告知导师及学生。开题报告留研究生学院及各学院存档。 6、各领域工程硕士开题报告的答辩审核工作应在研究生学院的规定时间内完成。对于因学生或导师的原因在规定时间内完不成开题报告,或开题报告选题不符合工程硕士培养目标,开题报告答辩未予通过等情况,研究生学院可提出延长该生在校学习时间,上报学校学术委员会审批。 本报告一式两份。一份交研究生学院作为论文检查的依据;一份由研究生本人保存,按照计划进行论文工作。

基于JavaWeb的在线考试系统的设计与实现毕业论文

毕业论文 题目:Java Web应用开发—— 在线模拟考试系统的设计与实现学院:计算机与信息工程学院 专业:软件工程

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部容。 作者签名:日期:

学位论文原创性声明 本人重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

在线考试系统---毕业设计开题报告

毕业设计开题报告 题目名称基于.net 在线考试系统设计 院(系)计算机科学学院 专业班级XXXXXXXX 学生姓名XXXXX 指导教师XXXX 辅导教师XXX 开题报告日期2015年1月9日 在线考试系统设计 学生:XXX,计算机科学学院 指导老师:XXX,计算机科学学院 一、题目来源 生产/社会实际等 二、研究的目的和意义 目前,社会行行业业需要人才,而人才选拔的重要途径是通过考试来判定。现阶段,学校考试大都是传统的考试方式:由老师纸上出题,学生纸上答题,老师人工阅卷,以及人工试卷分析四大步骤组成。这样做一是给老师带来工作上的繁琐,不利于老师工作效率的提高;

二是人工的考试方式由于工作量大从而容易出错;三是人为因素的不确定性,可能会造成选题范围过于狭窄。随着各种考试类型的不断增加和考试要求的不断提高,传统的考试方式已不能满足现在考试的需求。 计算机应用及网络技术的迅猛发展,人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担以及提高工作效率,提高考试的质量。从而使考试更趋于公正、客观。由于计算机自动组卷、阅卷,不仅能节省教师大量宝贵时间,而且能彻底消除出卷人的主观影响,考试工作更加规范化,更加客观、真实、全面的反映教学的实际效果,有助于促进教学质量的提高,有助于实现考、教分离,促使教师严格按照教学大纲的要求认真备课,认真组织教学内容,改进教学方法,对提高教学质量和整体教学水平有着非常重要的意义。现阶段,基于互联网应用技术的在线考试系统,由于客户端配置可以极为简单,考试不受地域的局限,是高校研究开发的一个热点。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,发现自己的不足,使得学习效率得到提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,也具有相当大的经济意义。 三、阅读的主要参考文献及资料名称 [1].《网站开发实践》,邵丽萍,电子工业出版社,2007 年

试卷自动生成系统的设计与实现

四川师范大学成都学院本科毕业设计试卷自动生成系统的设计与实现 学生姓名李锦超 学号2012101149 所在学院通信工程学院 专业名称通信工程 班级2012级宽带通信2班 指导教师石彬 四川师范大学成都学院 二○一六年五月

试卷自动生成系统的设计与实现 学生:李锦超指导教师:石彬 内容摘要:试卷自动生成系统,即用户通过自定义选择设置试题的类型、难度、分数、时间等多个因素自动生成考试试题并给予对错验证。随着互联网络的飞速发展、网络教育的不断普及与提升,传统的出题考试方式已经不能满足所有的需求,一概而论不“因材施教”的出题方式不利于考核不同类型的学生,也不满足现代教育的发展需要。因此,现在已经逐渐开始流行自定义、有难度、时间、类型选择控制的出题方式来迎合当前社会考试所需。试卷自动生成系统的诞生油然而生。 该设计主要目的是帮助出题者以及试题训练者能够根据不同人群自定义设置难度、类型生成考试试题的系统。系统为用户提供用户登录、开始试卷定制、选择题型、选择所占分数比例、最高分数设定、考试时间限制设定、考试难度选择、生成试卷以及答案查看等功能,将用户的需要“因材施教”、“分门别类”地提供,由用户自定义选取,从而达到针对不同层次的考生的训练和考验。同时,也方便了出题者逐个进行试卷试题的选取,省去了出题者挨个设定的过程,既提升了出题的速度,也提高了出题的整体质量。 本次设计主要是以服务出题者、试题训练人等人群方便快速地完成试题的构造并提升自身所需检测为目的的试卷自动生成系统。整体设计使用的是JAVA语言开发的B/S (浏览器/服务器)应用系统。用户登录该系统后可以根据自己的能力选择生成题目的难度,根据自己的弱项针对题目类型进行生成试题,亦可根据自己的熟练度选择答题时间。 本系统的代码框架采用了现在比较流行的SSH(Spring+Struts+Hibernate)进行设计,在功能模型的实现和页面处理方面严格遵从了MVC(Model,View,Controller)的思想体系。配合Javascript以及Xml对页面提取处理。数据库方面采用了中小型的Mysql 数据库进行处理,数据库工具使用了当下主流的navicat进行操作,以减轻代码量的负担和方便代码编写和功能实现。 关键词:试卷自动生成 B/S Java MySQL数据库

通用考试系统设计与实现毕业论文

引言 当前的管理信息系统已经发展为集成了计算机网络技术、通信技术、信息处理技术,对信进行收集、传递、存储及加工处理,用于辅助决策进行事务管理的一种人机交互的智能化计算机系统。 随着管理信息系统的发展及其广泛的应用,数据库管理技术已逐步趋于成熟,其应用也已经遍及各个领域。在学校中,信息管理系统已经涉及到教育教学的各个方面,从学生教师管理,到考试安排成绩统计等,都通过信息管理系统来的到高效的运行。同时,学校管理中的在线考试管理也提出了相应的要求。为了满足考试管理的要求,需要设计与制作一个通用考试系统。通用考试系统实现了对整个在线考试管理的系统化,规化,无纸化。整个系统使用户操作起来简便快捷,对减轻学生,教师的劳动强度,提高工作效率与管理水平,具有很大的使用价值。

第一章绪论 1.1背景 网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。随着Internet/Intranet的迅速发展和广泛普及,建立在其上的远程教育成为现代教育技术未来发展方向之一,考试测试作为远程教育的一个子系统也成为一个重要的研究领域。现代远程教育作为一种新的教学手段已经开始进入我们的生活,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。Internet技术的发展使得考试的技术手段和载体发生了革命性的变化,Internet的开放性、分布性的特点和基于Internet的巨大的计算能力使得考试突破了时间和空间的限制。基于Internet的考试系统正成为人们的研究热点之一。与传统考试模式相比,网上考试具有无可比拟的优越性,它可以将传统考试过程中的试卷组织、审定印制、传送收集、登记发放、评判归档各个环节缩小到一至两个环节,几乎屏蔽了所有人工直接干预考试活动的可能性,不但能够节约大量的时日、人力、物力与财力,而且还可以大幅度提高考试成绩的客观性和公正性。在线考试系统课题产生的背景是当今教育信息化的趋势及我国高校教育信息化系统的建设;目的是充分利用学校现有的计算机软、硬件资源和网络资源实现无纸化考试以避免传统手工考试的不足。与传统考试模式相比,网上考试渗入了更多的技术环节,对实现安全性的途径、方法也提出了更高的技术要求。通过Internet/Intranet来实现网上考试,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现教考分离以及考务工作的全自动化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,可以大规模的实行考试,实现考试的客观、公证性,自动化组卷、阅卷可以减轻教师的工作强度。传统考试要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷。这是一个漫长而复杂的过程,已经越来越不适应现代教学的需要。网络考试系统是传统考场的延伸,它可以利用网络的无限广阔空间,随时随地的对学生进行考试,加上Web数据库技术的利用,大大简化了传统考试的过程。 本文以Internet为平台,研究了基于Web考试系统的设计与实现,包括系统需求分析和系统功能设计以及数据库设计。重点阐述了用户登录模块、题库管理模块和试卷管

基于java的考试系统毕业设计论文

毕业论文声明 本人郑重声明: 1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。本人完全意识到本声明的法律结果由本人承担。 2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。 3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。 4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。 学位论文作者(签名):

年月

关于毕业论文使用授权的声明 本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。本人完全了解大学有关保存,使用毕业论文的规定。同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据库和收录到《中国学位论文全文数据库》进行信息服务。在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 论文作者签名:日期:

自动组卷系统开发毕业设计

本科毕业设计(论文) 题目:自动组卷系统开发 Development Of Test paper Auto-production System

本文首先分析了自动组卷系统在具体的教学活动过程中的实际需求,然后以C语言程序设计的教学为背景,设计与实现了一个实际通用的自动组卷系统,对其中的数据库结构设计以及各个主要模块的实现进行了详细的介绍。 本系统可以从试题库中自动的查找和组织出一些不同题型、不同难度、不同章节范围内的试题来组成一份合理的试卷。它采用的是利用试卷的一组特征值,记录用户提供的试卷题目类型、章节分布、难易程度等条件,采用随机算法,借助于系统中的一系列数据文件,使具体课程的相关数据动态地抽象成逻辑数据,用以解决通用问题,线性的规划出一份约束满足的、合理的试卷。 本系统的开发工具是powerbuilder 9.0,使用的数据库为Access 2003。系统分为题库编辑、自动组卷、试卷存储、试卷打印等功能。 关键词:自动组卷题库管理数据库 powerbuilder9.0

This paper analyses the actual demand of auto-production for test paper system in the course of concrete teaching activity at first. Then taking teaching of C language program design as the background,it designs and realizes a Test paper auto-production system. First, it Explains the design for the database structure, then introduces the detailed one to the realization of each main module among them. It can automatically find and organize a certain number of test questions in various types with different degrees of difficulty in certain scope in the database to form a reasonable test paper. What it adopt is to make use of to try a characteristic value of winding, recording the customer to provide of try a topic type, chapter to distribute, difficult easy degree etc. condition, adoption random calculate way, ask for help from a series of data document within system, make the related data dynamic state ground of the concrete course abstract the logic data, resolve the in general use problem in order to, line program a stipulation of to satisfy of, try book reasonablely. The development tool of this system is powerbuilder 9.0, the database of is Access 2003.The system is divided into database edit, test paper auto-production, test paper saving, test paper printing etc. function. Keywords: Test Paper Auto-production ; Database Management of Test Questions ; Database ; Powerbuilder 9.0

基于java的在线考试系统_毕业设计论文

本科生毕业设计报告课题:基于java的在线考试系统

在线考试系统与传统考试相比,可以实现考务工作的全自动化管理,并有效地利用校园网的软硬件资源,实现考试的客观性和公证性;自动化组卷、阅卷、判分的流程更是大大的减轻教师的工作强度。在线考试系统旨在实现考试的无纸化管理,基于计算机和网络技术进行在线考试系统的使用,方便校方对考试的管理。 本程序是基于eclipse的在线考试系统,利用MVC架构编写,将功能分为3个模块,分别是视图,模型和控制器。将数据分为3个层次,分别为UI层,业务层,实体数据层,各层之间模块独立化,便于数据管理,易于系统维护 关键词: Eclipse,MVC架构,Java语言,三层结构。 Abstract Compared with the traditional test, online examination can realize the automation management work of the thesis, and effective use of the software and hardware of the campus network resources, realizing the objectivity of the exam and real; Automation group rolls, scoring, the process is the scores were greatly reduce teachers working strength. On-line examination system designed to achieve examination of the paperless management, based on the computer and network technology online examination system use, convenient to school examination management. The program is based on the eclipse of the online examination system, with the MVC framework to write, will function is divided into three modules, respectively is the view, model and the controller. Data is divided into three levels, respectively UI layer, business layer, the entity data layer, between each layer DuLiHua module, facilitate data management, and is easy to maintain the system. Keywords: Eclipse, MVC framework, Java language,the Three-tier Structure

(完整版)学生在线考试系统毕业设计

作者姓名: 所在系部: 信息系 班级名称: 计算机0941 指导教师: 沈宫新 2012 年 4 月

毕业设计(论文)任务书

注:1、此表一式三份,系部、指导教师、学生各一份。 2、类别是指毕业论文或毕业设计,类型指应用型、理论研究型和其

他。 摘要 学生考试系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 本设计利用基于Windows 的高级开发工具Visual Basic 6.0中文版和大型数据库开发工具Access 2000 开发了考试系统.其目标在于针对考试管理的弊端,根据现有考试的基本流程,实现考试管理的电子化、无纸化,减少人为因素的干扰,减轻教师、学生以及管理人员的负担,快速方便的实现考试过程中的各项任务。 关键字:信息管理系统(MIS),数据库,考试系统,无纸化 Abstract Students' test system is the typical information management system (MIS), its development mainly include the setting and maintenance of database and development of front application program of two aspects. The former required set up data consistency and integrality, data security good storehouse. For the latter requires the application program function complete, easy to use, etc. This design using Windows based senior development tools Visual Basic 6.0 Chinese version and large database development

在线考试系统毕业设计论文(精品推荐)

中原工学院软件学院 三级实践课题设计任务书

在线考试系统 摘要 随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证!客观!更加激发学生的学习兴趣。在线考试系统是为了方面学生考试、老师阅卷、提高考试的公正性、公平。本文主要包括系统的需求分析、概要设计、总体设计(部分)、详细设计 关键词:需求分析;概要设计;总体

目录 摘要 (2) 第一章系统需求分析 (4) 1.1 功能需求 (4) 1.2 性能需求 (4) 1.3 可靠性和可用性 (4) 1.4 系统ER图 (5) 1.5 工具选择 (5) 1.6实现环境 (6) 第二章总体设计 (7) 2.1 系统模块 (7) 2.1.1 系统模块图 (7) 2.1.2用例图 (8) 2.1.3管理员功能模块 (9) 2.1.4教师功能模块 (10) 2.1.5学生功能模块 (10) 2.2 数据库设计 (10) 第三章详细设计 (11) 3.1 数据表 (11) 3.2 具体模块设计 (15) 3.2.1 学生信息管理模块 (16) 3.2.2 教师信息管理模块 (20) 3.2.3 试卷信息管理 (22) 3.2.4 科目信息管理 (24) 3.2.5 班级信息管理模块 (26) 第四章系统测试 (28) 4.1 所预见的问题 (28) 4.2 系统测试 (28) 第五章结束语 (29)

第一章系统需求分析 1.1 功能需求 本系统要实现的是在线考试系统,在设计时应该有友好的用户界面,便用户的操作。系统应具基本功能如下: 科目管理 章节管理 题库管理(选择题,填空题,判断题,简答题,问答题) 系部管理 班级管理 学生管理 教师管理 管理员信息管理 手动组卷 随机组卷(可以完全随机组卷,也可以按章节比重进行随机组卷) 考试页面 阅卷管理 成绩查询 1.2 性能需求 由于此系统为在线考试系统,响应速度一定要快,要在5秒以内,安全性要高,服务器的磁盘容量要大,主存容量要大,信息处理速率要高。 1.3 可靠性和可用性 由此系统的性质决定,它的可靠性一定要高,尽量减少系统运行中错误的出现,要保持在一定量的范围内。系统可用性也一定要高,尽量避免不可用几率的发生。

计算机考试系统设计大学毕设论文

北京工业大学毕业论文 题目:计算机考试系统 姓名: 专业:计算机科学与技术 学号: 指导教师: 日期:

北京工业大学 毕业设计(论文)任务书 题目:计算机考试系统 专业:计算机科学与技术学号姓名: 主要内容、基本要求、主要参考资料等: 主要内容为:制作计算机考试系统 基本要求是:实现试题录入、自动组卷、随机出题、自动判分,以及成绩显示、打印等 主要参考资料有:《中文Access2000》大连理工出版社 《网页制作教程》人民邮电出版社《轻松学习——ASP网络实用编程》清华大学出版社 完成期限:年 6 月15 日 指导教师签章: 专业负责人签章: 摘要

利用网络和数据库技术,结合目前网络大力建设的有利优势,基于B/S模式研究开发了在线考试系统这一ASP应用程序。它运用方便、操作简单,效率很高,现阶段虽只实现了试卷的客观题部分,但已具有试题(卷)录入、修改和查询,自动组卷以及进行在线考试等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生考试并迅速获得成绩,同时也可大大减轻教师出题、组卷和改卷等繁重的工作量。 制作这一系统,希望其尽快在考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来,并使教学质量获得提高! Abstract This ASP for on-line examination system is developed with network and database technologies, in combination with the advantages of current network construction, and on the basis of B/S mode. It is convenient to use and easy to operate, and has high efficiency. Although at current stage, it only applies to the objective questions in examination papers, it has such important functions as input of examination questions, amendment and inquiry, automatic arrangement of papers and on-line examination. In other words, the non-paper examination has been realized indeed. Therefore, any authorized examinee can take examination by this program and get the score very soon. Meanwhile, this program can also reduce a large amount of teachers' work in setting questions, arranging papers and scoring papers, etc. This system is completed with a view to playing high-efficiency and convenient functions in examination as soon as possible, extricating teachers from heavy tasks, and improving the teaching quality! 目录

在线考试系统的设计和实现毕设参考

软件工程课程设计设计说明书 考试系统的设计及开发 学生姓名 学号 班级 成绩 指导教师 数学及计算机科学学院 2012年12月26日

软件工程课程设计评阅书

课程设计任务书 2012 —2013 学年第一学期 专业:学号:姓名: 课程设计名称:软件工程课程设计 设计题目:考试系统的设计及开发 完成期限:自2012 年12 月17 日至2012 年12 月28 日共2 周设计依据、要求及主要内容(可另加附页): 指导教师(签字):教研室主任(签字): 批准日期:年月日

在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局域网进行,方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。我主要开发系统的后台管理系统—JAVA在线考试管理子系统,它包括试题管理、考生管理、在线制作试卷、控制学生考试的设置、试卷审批等功能。本论文主要介绍了对JAVA在线考试管理子系统的分析、设计和开发的全部过程。运用ER图,程序流程图等对在线管理子系统的设计过程进行详细的说明。 关键词:在线考试;j2EE

1 课题描述 (3) 1.1 开发背景 (4) 1.2 系统开发目标 (4) 1.3 开发工具的选择 (4) 2 需求分析 (5) 2.1 背景分析 (5) 2.2 可行性分析 (5) 2.2.1 技术可行性分析 (5) 2.2.2 经济可行性 (5) 2.2.3 方案可行性 (5) 2.3 概要设计 (5) 2.4 总体设计 (6) 2.4.1 系统的功能模块图 (6) 2.4.2 系统功能模块 (7) 3 数据库设计 (8) 3.1数据字典 (8) 3.2 数据库的连接 (10) 4 详细设计 (11) 4.1 公共类设计 (11) 4.2 在线考试模块设计 (12) 4.3 查看考生试卷模块设计 (13) 4.4 考试设置信息维护模块设计 (13) 4.5 用户管理模块设计 (14) 5 程序调试及测试 (1) 5.1 系统运行环境 (1) 5.2 测试目的 (1) 5.3 各功能模块测试 (1) 5.3.1 在线考试模块测试 (1) 5.3.2 查看试卷测试 (2) 5.3.3 管理员模块 (3) 5.3.4 用户管理模块测试 (5) 总结 (7) 参考文献 (8)

毕业论文考试系统

5.1.4 考场广播的设计与实现 在考场上,监考老师需要向考生说明各种注意事项和考卷中出现的问题,在考试将要结束的时候需要提醒考生填写答题纸。在该考试系统中添加了考试广播功能,监考老师可以在线向所有考生发送广播信息。 实现方法: { for(int i=0;i

网上考试系统毕业设计论文

网上考试系统毕业设计论文 1 绪论 1.1课题背景 随着人们对信息管理及其运用需求的日益迫切及信息技术的迅速发展,信息系统的整合及运用在办公管理中得到越来越广泛和深入的应用。在线考试系统是典型的集管理信息系统以及网络编程技术,是高校教学工作的重要工作容之一。但随着高等学校管理工作的容、对象不断变化,烦琐的手工操作和一般的计算机软件已经不能满足现代化考试的需要。运用先进的管理信息系统及友好的界面,对学生息资源以及试题资源进行科学化和系统化管理,己经成为高校考试系统的发展趋势。 目前,几乎所有高校的教学工作部门都已经建立了针对日常职能工作的管理信息系统,例如,财务处的财务管理信息系统、教务处综合教务系统、科研处的科研管理信息系统、图书馆的图书检索信息系统等。这些系统在很大程度上提高了部门的工作效率和管理水平。然而,对于高校中的在线考试系统来说,目前还缺乏较为完善的系统化信息管理及其有效利用。 正是认识到在线考试系统在整个学校信息化过程中的重要地位,才需要利用先进的系统开发工具和技术,实现管理工作的信息化、科学化管理;真正做到“充分利用现有资源和信息”,开发出对现有信息的充分整合及操作,减少不必要的、繁杂的手工劳动,提高办公效率,加快教育体制改革的进程。因此,建设开发一个功能完备、操作简便的在线考试系统己经迫在眉睫。 1.2主要容及目的 在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,进行

相关文档
相关文档 最新文档