《通用考试系统设计与实现.doc》由会员分享,可在线阅读,更多相关《通用考试系统设计与实现.doc(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流通用考试系统设计与实现.精品文档.引 言当前的管理信息系统已经发展为集成了计算机网络技术、通信技术、信息处理技术,对信进行收集、传递、存储及加工处理,用于辅助决策进行事务管理的一种人机交互的智能化计算机系统。随着管理信息系统的发展及其广泛的应用,数据库管理技术已逐步趋于成熟,其应用也已经遍及各个领域。在学校中,信息管理系统已经涉及到教育教学的各个方面,从学生教师管理,到考试安排成绩统计等,都通过信息管理系统来的到高效的运行。同时,学校管理中的在线考试管理也提出了相应的要求。为了满足考试管理的要求,需要设计与制作一个通用考试系统。通用考试系统实
2、现了对整个在线考试管理的系统化,规范化,无纸化。整个系统使用户操作起来简便快捷,对减轻学生,教师的劳动强度,提高工作效率与管理水平,具有很大的使用价值。第一章 绪 论1.1 背景网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。随着Internet/Intranet的迅速发展和广泛普及,建立在其上的远程教育成为现代教育技术未来发展方向之一,考试测试作为远程教育的一个子系统也成为一个重要的研究领域。现代远程教育作为一种新的教学手段已经开始进入我们的生活,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。Internet技术的发展使得考试
3、的技术手段和载体发生了革命性的变化,Internet的开放性、分布性的特点和基于Internet的巨大的计算能力使得考试突破了时间和空间的限制。基于Internet的考试系统正成为人们的研究热点之一。与传统考试模式相比,网上考试具有无可比拟的优越性,它可以将传统考试过程中的试卷组织、审定印制、传送收集、登记发放、评判归档各个环节缩小到一至两个环节,几乎屏蔽了所有人工直接干预考试活动的可能性,不但能够节约大量的时日、人力、物力与财力,而且还可以大幅度提高考试成绩的客观性和公正性。在线考试系统课题产生的背景是当今教育信息化的趋势及我国高校教育信息化系统的建设;目的是充分利用学校现有的计算机软、硬件
4、资源和网络资源实现无纸化考试以避免传统手工考试的不足。与传统考试模式相比,网上考试渗入了更多的技术环节,对实现安全性的途径、方法也提出了更高的技术要求。通过Internet/Intranet来实现网上考试,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现教考分离以及考务工作的全自动化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,可以大规模的实行考试,实现考试的客观、公证性,自动化组卷、阅卷可以减轻教师的工作强度。传统考试要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷。这是一个漫长而复杂的过程,已经越来越不
5、适应现代教学的需要。网络考试系统是传统考场的延伸,它可以利用网络的无限广阔空间,随时随地的对学生进行考试,加上Web数据库技术的利用,大大简化了传统考试的过程。本文以Internet为平台,研究了基于Web考试系统的设计与实现,包括系统需求分析和系统功能设计以及数据库设计。重点阐述了用户登录模块、题库管理模块和试卷管理模块的设计。特别是在题库管理模块中对自动组卷功能常用的算法进行了比较。对于较流行的验证码技术也给出了具体实现。1.2 动态网页技术由于系统的操作界面都是Web页面形式,而且需要对各种用户的具体请求进行动态处理并返回结果,这是一般静态Web页面技术所无法实现的,所以采用动态网页技术
6、。目前动态网页技术有很多,可以说是层出不穷,比如CGI、PHP、JSP、ASP、ASP.NET等。本设计采用ASP.NET技术。ASP.NET(又称ASP+)是ASP的下一代版本,它并不只是ASP 4.0,它是一个用于 Web开发的全新框架,其中包含了许多新的特性。ASP.NET完全基于模块与组件,具有更好的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术,正是这些具有革新意义的新特性,让ASP.NET远远超越了ASP,同时也提供给Web开发人员更好的灵活性,有效缩短了Web应用程序的开发周期。ASP.NET与Windows 2000 Server/Advanced Server
7、的完美组合,为中小型乃至企业级的web商业模型提供了一个更为稳定,高效,安全的运行环境。1.3 数据库技术由于本系统涉及到许多数据的处理,这就需要有一个强大的后台数据库管理系统支持。目前主要的数据库有:Access、FoxPro、Excel、Sybase、Oracle、Informix、SQL Server等,其中网络型的SQL Server、Oracle产品安全性远远高于桌面型的Access、FoxPro等数据库。本系统采用的是微软公司的SQL Server 2000。原因如下:第一,SQL Server与Windows 2000 Server服务器紧密集成,而Windows 2000 Se
8、rver服务器具有很好的安全性,能够排除所有未经授权的非法用户的访问,确保了SQL Server 2000服务器的安全性,符合系统对安全性的要求;第二,用户可以使用Web浏览器查询存储在SQL Server 2000数据库中的数据,符合系统远程访问数据库的要求。第三,容量庞大,每个数据库中可创建多达20万个数据表,数据表中的记录的行数只受服务器硬盘空间的限制,符合系统的考题数目较多的要求。1.4 通用考试系统优点(1)可以创立电子题库,方便地实现试题的数字化管理。所谓题库就是试题的仓库,是把许多题目集合到一起,供试卷编制者随时查询和使用的集合。为题目的保存、分类和检索提供了便利,为编制试卷提供
9、了高效率和低成本的手段。电子题库是网络考试系统的重要组成部分,也是考试系统中最具有特色和实用价值的模块之一。(2)可以按照科学的策略智能组卷,从而提高出卷效率。网络考试系统以电子题库为依托,可以按照教师制定的组卷策略自动的抽题成卷,极大的提高了出卷效率。为一些面向社会开放的常年考场,提供了海量试卷资源的有力支持。也可以被广大教师用来辅助教学和测验。(3)可以具有操作性和交互性。计算机考试系统与传统纸上考试相比,有一个显著的优点和特点就是具有操作性和交互性。可以更好的“设置一定的情景让学生表现,以此衡量学生的心理品质”。如计算机应用技能的考试等,使用计算机模拟就具有纸面考试无法比拟的效果。计算机
10、考试系统可以根据学生的反应,对试题进行调整和反馈,使一些非经典的测量理论。能够在实践中得以实现,发挥出它们的优点和长处。而网络化考试很好地继承了这个优点。(4)使考试和判卷更具规范性和合理性。网络考试系统使用计算机系统来进行考试和自动判卷。具有更好的规范性和合理性。试题的呈现和判卷的标准都是严格统一的,一般不会发生学生忘记书写姓名,答题卡填写方法不正确或错位等意外丢分情况。学生答题过程中,由于系统限制也必将更加规范,不会出现笔试中经常出现的由于学生没有严格按照答题要求做,判卷时被强行扣分的事情。判卷由系统自动完成,极大的提高了准确性,防止了人工判卷时经常出现的错判、漏判和分数计算错误的情况。使
11、考试更加公正合理,具有权威性。(5)实现自动判卷和数据的有效保存。如果说考试使教师教学过程中重要工作之一的话,那么判卷又是教师在考试实施过程中最重要和最烦琐的工作之一。判卷有两个基本的要求,那就是快速和准确。学生希望在最短的时间内知道自己准确的考试成绩,在集体中的位置知道问题出现的所在和应该努力的方向。这也是考试教育功能的重要体现。如果判卷越慢这种对学生的反馈和激励的效果就会越小,达不到原有的考试目的。快速和准确对传统的教师手工判卷来说是一对矛盾,加重了教师的工作负担。而使用考试系统的自动判卷功能,能很好的解决这些问题。甚至在学生考试完成后,他就能马上看到自己的成绩。考试成绩的保存,对计算机考
12、试系统来说,是非常简单方便的。而在手工考试中,需要教师特别的注意将成绩单存档或再输入计算机中,工作比较烦琐。(6)具有强大的数据统计分析功能。计算机考试系统与传统纸上考试相比具有强大的统计功能,原来非常烦琐甚至手工难以进行的分析统计计算工作,现在可以在瞬间完成了。由于考试系统从出题、考试到判卷、统计,完全实现了数字化,不再需要教师手工地将学生成绩、答题情况等详细信息输入计算机,因此使学生成绩统计分析,试题参数的统计分析及自动调整在实际工作中成为可能。随着社会的不断发展,信息保存和分析提取的日趋重要,考试实现数字化,提高数据存储和分析的能力是不可逆转的潮流,网络考试系统的发展前景是光明的。1.5
13、 可行性分析可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。A 社会因素方面的可行性:本系统用于学校考试,无法律和政策方面的限制。B 经济方面的可行性:主要是对项目的经济效益进行评价,本系统作为一个实训的一个项目,无需开发经费,对于我系在经济上是可以接受的,并且本系统实施后可以显著提高考试效率,有助于学院完全实现网络化管理。所以本系统在经济上是可行
14、的。C 技术方面的可行性:技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。软件方面,网络化考试需要的各种软件环境都已具备,数据库服务器方面有SQL Server,均能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。其灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。D 操作方面的可行性:目前,大学的校园网路覆盖了教学区和学生区的主要建筑物及部分家属宿舍,从而满足校内各学院,
15、各职能部门,各直属单位上网需求。学校良好的网络设施为开发使用无纸化网络考试系统提供了坚实的基础。综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。第二章 系统分析和设计2.1 系统的总体结构a .本系统的用户可分为教师,学生两类。考虑到系统的安全性,本系统共分成三个部分:一部分用于管理员登陆(用户权限为超级用户),主要负责帐号管理,比如添加帐号、删除帐号、修改密码、用户浏览等;一个部分用于教师登录(用户权限为题库维护),主要负责进行基本资料、题库、试卷、成绩的管理以及查询等;另外一个部分用于考生登录(用户权限为一般用户),参加考试和考试前的模拟训练。b .从总体上考
16、虑,系统应该实现下列功能:对管理员来说,主要管理基本资料,包括教师、学生资料的增、删、改以及个人资料修改。对教师来说,包括试卷管理、题库管理、成绩管理、基本资料管理。试卷管理:教师可以将各种题型的数量等方面对某份试卷提出一定的要求生成试卷规则,在学生考试时,由系统根据试卷规则自动组卷生成满足教师要求的试卷,而不用手工组卷。同时,教师还可以对库中已有的试卷进行修改和删除,添加新试卷等。题库管理:教师可以根据教学需求对题库中的试题进行三种基本操作:添加新的考题、删除旧有考题、修改原有考题。成绩管理:教师可以查看考生的考试成绩,并针对不同的课程进行成绩统计,包括考试人数、最高分、最低分、平均分以及各
17、分数段得分人数等。对学生来说,有两方面要求:模拟考试训练:学生可以任选时间进行在线测试,考试结束后,系统会根据已有的标准答案进行在线判卷,考生可以立刻知道考试成绩。正常考试:学生只能一人只考试一次,在特殊情况下,可以由监考教师删除以往考试信息情况下,可以进行考试。2.2 处理流程考 生生成模拟 试卷做试卷评 卷模拟试卷 分 析图2.1 模拟考试流程图教 师考 生身份验证验证失败生成试卷做试卷交 卷评 卷学生信息 表身份验证学生信息表验证失败试卷恢复试卷备份学生答题卷表学生成绩图2.2 考试系统流程图教 师教师身份验证身份验证失败教师信息表选择任务考试设置添加题库考试查询 考试复核考试设置信息表
18、考试试题表考试成绩表考试答题题表图2.3 考试题库管理系统流程图管理员管理员身份验证身份验证失败管理员信息表执行操作修改教师信息修改学生信息修改密码教师信息表学生信息表图2.4 考试系统管理流程图2.3 系统开发工具本系统以Windows操作系统为服务平台,后台数据库采用SQL Server 2000数据库,使用Macromedia Dreamweaver MX创建ASP语言构建服务页面,并搭配客户端的JavaScript脚本程序对用户提交的数据进行客户端验证以减轻服务器运行压力。SQL Server 2000的主要特性:SQL Server目前正日益成为Windows操作系统上面最为重要的一
19、种数据库管理系统,随着SQL Server 2000的推出,微软的这种数据库服务系统在WindowsNT/2000系列操作系统里更加占有垄断地位,因为其与WindowsNT/2000系列操作系统完全集成,可以利用操作系统来完成客户机的身份、发送和接收消息等。SQL Server的特性主要包括以下五个方面:第一,Internet集成。SQL Server 2000数据库引擎提供完整的XML支持。它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2000程序设计模型与Windows DNA构架集成,用以开发Web应用程序,并且SQL Server 2
20、000支持English Query和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。第二,可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行Windows 98的便携式电脑,到运行Windews 2003数据中心版的大型多处理器服务器。SQL Server 2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到Web站点所需的性能级别。第三,企业级数据库功能。SQL Server 2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最
21、小。SQL Server 2000分布式查询使您得以引用来自不同数据源的数据,就好像这些数据是SQL Server 2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。第四,易于安装、部署和使用。SQL Server 2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQL Server的过程。SQL Server 2000还支持基于标准的、与Windows DNA集成的程
22、序设计模型,使SQL Server数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付SQL Server应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。第五,数据仓库。SQL Server 2000中包括析取和分析汇总数据以进行联机分析处理(OLAP)的工具。SQL Server中还包括一些工具,可用来直观地设计数据库并通过English Query来分析数据。SQL(Structured Query Language,译为结构化查询语言)在关系型数据库中的地位就犹如英语在世界上的地位。它是数据库系统的通用语言,利用它,用户可以用几乎同样的语句在不
23、同的数据库系统上执行同样的操作。比如“select * from数据表名”代表要从某个数据表中取出全部数据,在Oracle 9i、SQL Server 2000、Foxpro等关系型数据库中都可以使用这条语句。SQL已经被ANSI(美国国家标准化组织)确定为数据库系统的工业标准。存储过程是SQL Server数据库系统中很重要的一个概念,其是SQL Server数据库中存放的查询,而不是客户机上前端代码中存放的查询。合理的使用存储过程,可以有效的提高程序的性能,假如在网络上某个查询操作有几百户到几千户同时执行,则从客户机通过网络向服务器发送这个查询需要增加大量网络通信流,即使不造成拥塞,也使网
24、络速度(以及用户速度)大大减慢,要避免拥塞和让网络全速运行,就应该减少客户机通过网络向服务器发送代码量,从而减少网络的通信流。为此,需将代码存放在服务器中,即将查询放进存储过程中,生成存储过程后,用户要取得数据,只需在网络上发送代码EXEC stored_procedure_ name即可。并且将查询逻辑封装在数据库系统中的存储过程中,可以大大提高整个软件系统的可维护性,当你的查询逻辑发生了改变的时候,不再需要修改并编译客户端应用程序以及重新分发他们到为数众多的用户手中,你只需要修改位于服务器端的实现相应查询逻辑的存储过程即可。合理的编写自己需要的存储过程,可以最大限度的利用SQL Serve
25、r的各种资源。ASP技术概述ASP是Active Server Pages的简称,它是一种在微软公司的Web服务器IIS (Internet Information Server)上开发交互网页的技术,是一种新型开放的、免编译的应用开发环境,HTML页面、Script语言和动态服务器扩展结合在一起,为企业提供一个服务开发和信息管理的解决方案。微软公司最初在IIS 3. 0版上使用它以取代CGI。随着Windows NT在WWW上的使用日益增多,ASP己成为了开发动态网站、构筑Internet和Internet应用的较佳选择。ASP的含义可以从其字面上三个方面去理解:(1)Active:ASP使
26、用的Microsoft的ActiveX技术。ActiveX(COM)技术是现在Microsoft软件的重要基础。它采用封装对象,程序调用对象的技术,简化编程,加强程序间合作。ASP本身封装了一些基本如件和常用组件,只要你可以在服务器上安装这些组件,通过访问组件你就可以快速、简易的建立自己Web应用。(2)Server:ASP运行在服务器端。这样就不必担心浏览器是否支持ASP所使用的编程语言。ASP的编程语言可以是VBScript和JScript。(3)Pages:ASP返回标准的HTML页面,可以正常地在常用的浏览器中显示。浏览者查看页面源文件时,看到的是ASP生成的HTML代码,而不是ASP
27、程序代码。在ASP中主要包含5个内置对象:Request对象,从游览器获取信息; Response对象,发送信息到浏览器;Server对象,对服务器端ActiveX组件提供访问其方法、属性的功能;Session对象,存储用户任务的信息;Application对象,保留用户共享一个程序的信息。ASP正是通过这5个内置对象来实现服务器和客户机的交互。由此可见,ASP是在IIS下开发Web应用的一种简单、方便的编程工具。在了解了VBScript的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的ASP系统。浏览器向Web服务器发出请求,要求返回.asp文件的内容。Web服务器在
28、接到请求后,发现它的后缀为.asp,于是就将这个文件交给专门的ASP处理程序,这个程序扫描.asp的文件,把其中用括起来的代码解释并执行,最后把执行的结果再传回Web服务器,Web服务器把结果通过HTTP协议传回到浏览器,浏览器所获得的仅仅是结果,是一些标准的HTML标记。正是由于脚本在服务器上而不是在客户端运行,传送到浏览器上的Web页是在Web服务器上生成的。所以用不着担心浏览器能否处理脚本,Web服务器已经完成了所有脚本的处理,并将标准的HTML传输到浏览器。由于只有脚本的结果返回到浏览器,所以服务器端脚本不易复制。这样就可以防止别人抄袭程序。ASP是基于Web的一种编程技术,可以说是C
29、GI的一种。它可以完成以往CGI程序的所有功能,如计数器、留言簿、公告板、聊天室等等。ASP可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,ASP可以完成无比强大的功能。如使用FileSystemObject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等等。还有ADO (Active Database Object,动态数据库对象)的支持,ASP对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。第三章 数据库设计3.1 数据库需
30、求分析所谓题库就是试题的仓库,是把许多题目集合到一起,供试卷编制者随时查询和使用的集合。为了方便所有学科组成网络题库,应遵循经典测量理论的指导,要严格按照经典测量理论的数学模型开发题库管理系统、组织试题针对一般考试系统的需求,设计如下所示的数据项和数据结构:学生信息,包括的数据项有:学生编号、姓名、密码。试卷信息,包括的数据项有:判断题分值、判断题数量、单选题分值、单选题数量、多选题分值、多选题数量、多选题分值、排序题数量、排序题分值考试时间等。成绩信息,包括的数据项有:考生姓名、成绩、考试状态等。判断题信息,包括的数据项有:判断题编号、题干、正确答案。选择题信息,包括的数据项有:选择题编号、
31、题干、正确答案、备选项(A、B、C、D)、等。排序题信息,包括数据项有: 排序题标号、题干、正确答案、备选项等。管理员信息:管理员编号、用户名、密码。教师信息;教师编号、用户名、密码。试卷备份表包括:考生学号、答题卷。本系统应该建立一个稳定的后台数据库系统,通过该数据库管理整个考试系统所需的信息(用户信息、试题信息、试卷信息、考试信息等)。 为了从多方面来保障考生考试信息的安全性、可信性和考试成绩的可依赖性,本系统还应该建立一套机制,这套机制至少应该包括管理员、学生、教师的账号的安全机制、后台数据库的安全机制、考试过程的控制机制。3.2 逻辑结构设计要点给出本系统内所使用的每个数据结构的名称、
32、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。表3.1 管理员信息表列名数据类型长度是否为空注释IdBigint8关键字IDAdminnameNvarchar10No用户名AdminpasswordNvarchar10No密码表3.2 教师信息表列名数据类型长度是否为空注释IdBigint 8关键字IDTeachernameNvarchar10No用户名TeacherpasswordNvarchar10No密码表3.3 学生信息表列名数据类型长度是否为空注释Id Bigint 8关键字学号PasswordNvarchar10No密码Name
33、Nvarchar10No用户名表3.4 学生成绩表列名数据类型长度是否为空注释IdBigint 8No编号ScoreFloat8Yes分数Name Nvarchar 10No 用户名StateInt 4No考试状态表3.5 考试设置表列名数据类型长度是否为空注释TesttimeSmalldatetime8No考试时间NumberofjudgeInt4Yes判断题数量ValueofjudgeInt4Yes判断题每小题分数NumberofselectInt4Yes单项选择题数量ValueofselectInt4Yes单项选择题每小题分数NumberofmselectInt4Yes多项选择题数量Va
34、luerofmselectInt4Yes多项选择题每小题分数NumberofpaixuInt4Yes排序题数量ValuerofpaixuInt4Yes排序题每小题分数表3.6 判断题库列名数据类型长度是否为空注释IdInt4No顺序号ContentNvarchar250Yes问题AnswersBit1Yes答案表3.7 选择题库列名数据类型长度是否为空注释IdInt 4No 顺序号Content Nvarchar 250Yes 问题Keya Nvarchar 100Yes选项AKeyb Nvarchar 100Yes 选项BKeycNvarchar 100Yes 选项CKeyd Nvarcha
35、r 100Yes 选项DAnswers Nvarchar 100Yes 答案表3.8 排序题库列名数据类型长度是否为空注释IdInt4No顺序号ContentNvarchar250Yes问题answerNvarchar100Yes答案3.3 物理结构设计要点给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。对应逻辑设计的数据库名test,设计数据库的物理文件及相关属性如下。主数据文件: test.mdf。初始空间:1MB,若超出空间按10%自动增长。存放路径:c:program filesMicrosoft
36、 SQL ServerMSSQLData。最大文件大小:不受限。隶属文件组:PRIMARY。日志文件: test_log.ldf。初始空间:1MB,若超出空间按10%自动增长。存放路径:c:program filesMicrosoft SQL ServerMSSQLData。最大文件大小:不受限。第四章 系统详细设计4.1 程序描述给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点。本程序分为三个功能部分,用户登陆、考生考试和交卷部分,分别调用多个模块。(1) 身份验证模块考试系统中的身份验证是很重要的,它关系到考试的严肃性。在传统的计算机考试中,简单的口令机
37、制就能取得很好的效果,因为系统本身不会将口令泄漏出去在线考试系统也不例外。以学号这一条件限制,这就使有资格的考试者才能注册考试。考试者注册时,系统便要验证其学号和口令与考试者信息库所备案的是否一致,以及其是否己经参加过考试,这样就保证了考试者的身份是合法的。用户登陆调用身份验证模块,用于验证进入考试系统的人员身份和考试资格,通过验证后就以进行下一步的考试操作。ID name调用读取数据库模块,得到考试状态Not rs.eofresponse.redirect mainselect.aspY通知登陆失败N图4.1 用户登陆模块流程图输人项包括考生的用户名和考生的密码。用户名和密码只能是长度为10
38、的Nvarchar类型。输出项表示通过验证。给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。(2) 时间控制模块时间控制模块是用来控制考试时间。时间模块中的时间是不断减小,直到考试结前10分钟,提醒考生要注意提交试卷,考试时间结束时,禁止考生继续答题。考试时间cdate(time1)#00:00:00#禁止考试结束ss_time=ss_time-1YNdate(time1)#00:10:00#提醒考生还有最后10分钟Y图4.2 时间控制模块流程图(3) 评卷模块当启用评卷功能时,机器首先将
39、标准答案表和考生答案表调出来并设初始成绩为0,根据试卷中的试题标号逐个对答案进行比对,考生答案和标准答案相同,找到其对应的分值,则考生成绩=初始成绩+分值。逐次比对累加,直到所有试题都已批阅完毕。最后,输出考生成绩本模块用于考试试卷评分。首先是对把考生的答案与试卷标准答案对比,相同的话根据每一题的分值加分,错误不加分。(4) 生成试题模块生成试题模块有选择题模块、判断题模块,排序题模块。这些模块抽取试题算法基本相同,现在只简单说一下判断题模块生成。判断题模块主要生成判断题。判断题是调用读取数据库存信息随机抽取数据库中题,任何一套选择题不会相同,客观上能客观防止作弊4.2 数据字典定义数据字典有
40、四类:数据项,文件,数据流,加工。a) 数据流定义表4.1考生登陆信息数据流名考生登陆信息简述 考生进入考试系统中的身份组成 考生用户名+考生密码注释 考生只能参加考试只能登陆一次表4.2空白试卷数流流名空白试卷组成 考生用户名+(单项选择题)+(多项选择题)+(判断题)+(排序题)+考试时间注释考生没有做题的试卷表4.3单项选择题数据流名单项选择题组成题名+题号+问题+选项A+选项B+选项C+选项D+答案+结果注释每一次生成的选择题都不一样表4.4判断题数据流名 判断题组成题名+题号+问题+ 答案A|答案B+结果注释 结果为空表4.5 多项选择题数据流名 多项选择题组成题名+题号+问题+选项
41、A+选项B+选项C+选项D+答案+结果注释每一次生成的选择题都不一样,结果都为空表4.6排序题数据流名 排序题组成题名+题号+问题+答案+结果注释 结果为空表4.7备份答题卷数流名 备份答题卷简述 试卷类对象初始化的一个string 型数据组成 考生用户名+(单项选择题)+(多项选择题)+(判断题)+(排序题)+考试时间+考试剩余时间+结果注释每隔1分钟生成一次表4.8考试设置信息数据流名考试设置信息组成单项选择题数目+单项选择题分值+多项选择题数目+多项选择题分值+判断题数目+判断题分值+排序题数目+排序题分值+考试时间注释是生试卷试题和考试的要求表4.9学生信息表数据流名 学生信息表组成学
42、生编号+用户名+密码注释 按学生编号排列表4.10 学生成绩表数据流名 学生成绩表组成用户名+试卷名+总分+成绩注释按学生编号排列表4.11 判断题储存表数据流名 判断题储存表组成题序排列号+问题内容+答案A|答案B+答案注释 按题序列号排列表4.12 单项选择题储存表数据流名单项选择题储存表组成题序列号+问题内容+选项A+选项B+选项C+选项D+答案注释按题序列号排列表4.13 多项选择题储存表数据流名 多项选择题储存表组成题序列号+问题内容+选项A+选项B+选项C+选项D+答案注释按题序列号排列表4.14 排序题储存表数据流名 排序题储存表组成题序列号+问题内容+答案注释 按题序列号排列表
43、4.15 答题卷备份表数据流名 答题卷备份表组成考生编号+答题卷注释按考生编号排列表4.16 抽取选择题加工名抽取选取择题激发条件收到生成选题要求加工逻辑1.联结数据库,2.随机抽取选择题库中考试要求数量的选题执行次数一人一次表4.17抽取判断题加工名抽取判断题激发条件收到生成选题要求加工逻辑1.联结数据库,2.随机抽取判断题库中考试要求数量的判断题执行次数一人一次表4.18抽取排序题加工名抽取选排序题激发条件收到生成排序题要求加工逻辑1.联结数据库,2.随机抽取排序题库中考试要求数量的排序题执行次数 一人一次表4.19试卷备份加工名 试卷备份激发条件 每一分钟加工逻辑1.对考试类中对象初始化
44、,生成二进制数据流2.将生成的二进制数据流转化这Unicode 字符串3.联接数据库,将生成的字符串,保存到数据库中4.执行次数:每一分钟备份一次表4.20试卷备份加工名试卷恢复激发条件收到恢复试卷的考生编号加工逻辑1.联接数据库,读取该学号考生备份文件2.将生成的文件字符串的转化这二进制数据流3.对考试类中对象逆初始化,生成考试类执行次数当考试发生中断时执行4.3 运行设计运行模块的组合:具体软件的运行模块组合为程序多窗口的运行环境,各个模块在软件运行过程中能较好的交换信息,处理数据。运行控制 : 软件运行时有较友好的界面,基本能够实现用户的数据处理要求。运行时间 : 系统的运行时间基本可以
45、达到用户所提出的要求。4.4 出错处理设计1. 出错输出信息在用户登陆失败,系统给出提示:“对不起,你已经考试了,或者用户名或口令错误,请重新登陆!”在考试过程中,突然发生考试中断事件,可以通过试卷恢复来恢复已经做过的考试卷,继续考试。2. 出错处理对策 由于数据在数据库中已经有备份,故在系统出错后可以依靠数据库的恢复功能,并且依靠日志文件使系统再启动,就算系统崩溃用户数据也不会丢失或遭到破坏。但有可能占用更多的数据存储空间,权衡措施由用户来决定。如在考试过程中发生了中断,可以通过试卷恢复系统来恢复试卷,继续考试。考试完了,将考试结果保存到数据库中。4.5 安全保密设计 系统的系统用户管理保证了只有授权的用户才能进入系统进行数据操作,而且对一些重要数据,系统设置为只有更高权限的人员方可读取或是操作。系统安全保密性较高。4.6 维护设计 由于系统较小没有外加维护模块,因为维护工作比较简单,仅靠数据库的一些基本维护措施。4.7 运行环境规定(1) 设备列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能
限制150内