在线考试系统设计与开发论文
无论是在学习还是在工作中,大家都接触过论文吧,论文是进行各个学术领域研究和描述学术研究成果的一种说理文章。还是对论文一筹莫展吗?下面是小编为大家收集的在线考试系统设计与开发论文,欢迎大家分享。
等。本设计采用(又称ASP+)是ASP的下一代版本,它并不只是完全基于模块与组件,具有更好的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术,正是这些具有革新意义的新特性,让与Windows2000Server/AdvancedServer的完美组合,为中小型乃至企业级的web商业模型提供了一个更为稳定,高效,安全的运行环境。
由于本系统涉及到许多数据的处理,这就需要有一个强大的后台数据库管理系统支持。目前主要的数据库有:Access、FoxPro、Excel、Sybase、Oracle、Informix、SQLServer等,其中网络型的SQLServer、Oracle产品安全性远远高于桌面型的Access、FoxPro等数据库。
本系统采用的是微软公司的SQLServer2000。原因如下:第一,SQLServer与Windows2000Server服务器紧密集成,而Windows2000Server服务器具有很好的安全性,能够排除所有未经授权的非法用户的访问,确保了SQLServer2000服务器的安全性,符合系统对安全性的要求;第二,用户可以使用Web浏览器查询存储在SQLServer2000数据库中的数据,符合系统远程访问数据库的要求。第三,容量庞大,每个数据库中可创建多达20万个数据表,数据表中的记录的行数只受服务器硬盘空间的限制,符合系统的考题数目较多的要求。
1.4网络考试系统优点
(1) 可以创立电子题库,方便地实现试题的数字化管理。
所谓题库就是试题的仓库,是把许多题目集合到一起,供试卷编制者随时查询和使用的集合。为题目的保存、分类和检索提供了便利,为编制试卷提供了高效率和低成本的手段。电子题库是网络考试系统的重要组成部分,也是考试系统中最具有特色和实用价值的模块之一。
(2) 可以按照科学的策略智能组卷,从而提高出卷效率。
网络考试系统以电子题库为依托,可以按照教师制定的组卷策略自动的抽题成卷,极大的提高了出卷效率。为一些面向社会开放的常年考场,提供了海量试卷资源的有力支持。也可以被广大教师用来辅助教学和测验。
(3) 可以具有操作性和交互性。
计算机考试系统与传统纸上考试相比,有一个显著的优点和特点就是具有操作性和交互性。可以更好的“设置一定的情景让学生表现,以此衡量学生的心理品质”。如计算机应用技能的考试等,使用计算机模拟就具有纸面考试无法比拟的效果。计算机考试系统可以根据学生的反应,对试题进行调整和反馈,使一些非经典的测量理论。能够在实践中得以实现,发挥出它们的优点和长处。而网络化考试很好地继承了这个优点。
(4) 使考试和判卷更具规范性和合理性。
网络考试系统使用计算机系统来进行考试和自动判卷。具有更好的规范性和合理性。试题的呈现和判卷的标准都是严格统一的,一般不会发生学生忘记书写姓名,答题卡填写方法不正确或错位等意外丢分情况。学生答题过程中,由于系统限制也必将更加规范,不会出现笔试中经常出现的由于学生没有严格按照答题要求做,判卷时被强行扣分的事情。判卷由系统自动完成,极大的提高了准确性,防止了人工判卷时经常出现的错判、漏判和分数计算错误的情况。使考试更加公正合理,具有权威性。
(5) 实现自动判卷和数据的有效保存。
如果说考试使教师教学过程中重要工作之一的话,那么判卷又是教师在考试实施过程中最重要和最烦琐的工作之一。判卷有两个基本的要求,那就是快速和准确。学生希望在最短的时间内知道自己准确的考试成绩,在集体中的位置知道问题出现的所在和应该努力的方向。这也是考试教育功能的重要体现。如果判卷越慢这种对学生的反馈和激励的效果就会越小,达不到原有的考试目的。快速和准确对传统的教师手工判卷来说是一对矛盾,加重了教师的工作负担。而使用考试系统的自动判卷功能,能很好的解决这些问题。甚至在学生考试完成后,他就能马上看到自己的成绩。考试成绩的保存,对计算机考试系统来说,是非常简单方便的。而在手工考试中,需要教师特别的注意将成绩单存档或再输入计算机中,工作比较烦琐。
(6) 具有强大的数据统计分析功能。
计算机考试系统与传统纸上考试相比具有强大的统计功能,原来非常烦琐甚至手工难以进行的分析统计计算工作,现在可以在瞬间完成了。由于考试系统从出题、考试到判卷、统计,完全实现了数字化,不再需要教师手工地将学生成绩、答题情况等详细信息输入计算机,因此使学生成绩统计分析,试题参数的统计分析及自动调整在实际工作中成为可能。随着社会的不断发展,信息保存和分析提取的日趋重要,考试实现数字化,提高数据存储和分析的能力是不可逆转的潮流,网络考试系统的发展前景是光明的。
可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。
A社会因素方面的可行性:
本系统用于学校考试,无法律和政策方面的限制
B经济方面的可行性:
主要是对项目的经济效益进行评价,本系统作为一个实训的一个项目,无需开发经费,对于我系在经济上是可以接受的,并且本系统实施后可以显著提高考试效率,有助于学院完全实现网络化管理。所以本系统在经济上是可行的
C技术方面的可行性
技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。
软件方面,网络化考试需要的各种软件环境都已具备,数据库服务器方面则有SQLServer,均能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。其灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
D操作方面的可行性
目前,大学的校园网路覆盖了教学区和学生区的主要建筑物及部分家属宿舍,从而满足校内各学院,各职能部门,各直属单位上网需求。学校良好的网络设施为开发使用无纸化网络考试系统提供了坚实的基础。
综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快.
我们学校的计算机课程采用上机考核方式,以前所用的考试系统由于种种原因不能满足一些要求,需要添加新的功能,因此我们对考试系统重新设计和开发出一套全新的考试系统的项目,并得到老师的大力支持。我们在保持原有绝大部分功能的前提下,不仅需发完善原有功能,而且按照老师和同学的'要求,加入许多新的功能,使得题目管理,上机考试,试卷评分,考试分析更加方便完善。
该软件项目可行性研究报告是对项目课题的全面通盘考虑,是项目分析员进行进一步工作的前提,是软件开发人员正确成功的开发项目的前提与基础.写软件项目可行性研究报告可以使软件开发团体尽可能早的估计研制课题的可行性,我们首先确定考试系统需要做什么,并充分理解考试系统要实现的功能,以文档形式说明我们的分析的过程,以便我们以后的设计开发中参考,所以该软件项目可行性研究报告在整个开发过程中是非常重要的
a本系统的用户可分为教师,学生两类。
考虑到系统的安全性,本系统共分成两个部分:一个部分用于教师登录,主要负责进行基本资料、题库、试卷、成绩的管理以及查询等;另外一个部分用于考生登录,参加考试和考试前的模拟训练。
b从总体上考虑,系统应该实现下列功能:
对教师来说,包括试卷管理、题库管理、成绩管理。基本资料管理
试卷管理:教师可以将各种题型的数量等方面对某份试卷提出一定的要求生成试卷规则,在学生考试时,由系统根据试卷规则自动组卷生成满足教师要求的试卷,而不用手工组卷。同时,教师还可以对库中已有的试卷进行修改和删除,添加新试卷等。
题库管理:教师可以根据教学需求对题库中的试题进行三种基本操作:添加新的考题、删除旧有考题、修改原有考题,其中试题类型包括判断题、填空题、单选题,多选题,Microsoftoffice操作(包括word文档操作、excel文档操作、PowerPoint文档操作)、windows文档操作题和打字测试(中文,英文),windows文档操作题。
成绩管理:教师可以查看考生的考试成绩,并针对不同的课程进行成绩统计,包括考试人数、最高分、最低分、平均分以及各分数段得分人数等。
主要包括管理基本资料(包括教师、学生资料的增、删、改以及个人资料修改)
对学生来说,有两方面要求:。
模拟考试训练:学生可以任选时间进行在线测试,考试结束后,系统会根据已有的标准答案进行在线判卷,考生可以立刻知道考试成绩。
正常考试:学生只能一人只考试一次,在特殊情况下,可以由监考教师删除以往考试信息情况下,可以进行考试。
2.3.1给出所建议系统的处理流程和数据流程
图2.2模拟考试流程图
图2..2考试系统流程图
图2.3考试题库管理系统流程图
2.3.2系统数流图分析
图2.4考试系统数据流图
图示2.5考试系统管理流程图
2.3.3数据字典定义;
数据字典有四类:数据项,文件,数据流,加工
表4.1考生登陆信息
数据流名:考生登陆信息
简述:考生进入考试系统中的身份
组成:考生学号+考生姓名
注释:考生只能参加考试只能登陆一次
数流流名:空白试卷
组成:考生学号+姓名+(选择题)+(判断题)+(填空题)+(office操作题)+考试时间
注释:考生没有做题的试卷
组成:题名+题号+{问题+选项A+选项B+选项C+选项D+答案+结果}
注释:每一次生成的选择题都不一样,结果都为空
组成:题名+题号+{问题++[答案A|答案B]+结果}
数据流名:office操作题
组成:题名+题号+{问题+答案+结果}
表4.7备份答题卷
数流名:备份答题卷
简述:试卷类对象初始化的一个string型数据
组成:考生学号+姓名+(选择题)+(判断题)+(填空题)+(office操作题)+考试时间+考试剩余时间+结果
注释:每隔1分钟生成一次
表4.8考试设置信息
数据流名:考试设置信息
组成:选择题数目+选择题分值+判断题数目+判断题分值+office操作题分值+考试时间
注释:是生试卷试题和考试的要求
表4.9学生信息表
文件名:学生信息表
组成:{学生姓名+学号+班级}
表4.10学生成绩表
文件名:学生成绩表
组成:{学号+成绩+考试状态}
表4.11判断题储存表
文件名:判断题储存表
组成:{题序排列号+问题内容+答案A|答案B]+}
注释:按题序列号排列
表4.12选择题储存表
文件名:选择题储存表
组成:{题序列号+问题内容+选项A+选项B+选项C+选项D+答案}
注释:按题序列号排列
表4.13填空题储存表
文件名:填空题储存表
组成:{题序列号+问题内容+答案}
注释:按题序列号排列
文件名:Office操作题储存表
注释:按题序列号排列
表4.15答题卷备份表
文件名:答题卷备份表
组成:{学号+答题卷}
表4.16抽取选择题
加工名:抽取选取择题
激发条件:收到生成选题要求
加工逻辑:1联结数据库,
2随机抽取选择题库中考试要求数量的选题
执行次数:一人一次
表4.17抽取判断题
加工名:抽取判断题
激发条件:收到生成选题要求
加工逻辑:1联结数据库,
2随机抽取判断题库中考试要求数量的判断题
执行次数:一人一次
加工名:抽取选office操作题
激发条件:收到生成office操作题要求
加工逻辑:1联结数据库,
2随机抽取office操作题库中考试要求数量的office操作题
执行次数:一人一次
表4.19试卷备份
加工逻辑:1对考试类中对象初始化,生成二进制数据流
2将生成的二进制数据流转化这Unicode字符串
3联接数据库,将生成的字符串,保存到数据库中
执行次数:每一分钟备份一次
表4.20试卷备份
激发条件:收到恢复试卷的考生学号
加工逻辑:3联接数据库,读取该学号考生备份文件
2将生成的文件字符串的转化这二进制数据流
1对考试类中对象逆初始化,生成考试类
执行次数:当考试发生中断时执行
列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能,包括:
服务器运行配置:硬件要求:运行在内存至少在256M以上并装有网卡的微型机上
客户端:硬件要求:运行在内存至少在128M以上并装有网卡的微型机上
列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。
表2.1编程中所用到件
说明该软件同其他软件之间的接口、数据通信协议等。
在线考试系统主要是针对当前教考分离的现状设计的。主要目的是为学生平时学习和自测、大规模考试测验服务。系统可以实现如下功能:
建立完备的试题库,整合现有的考试资源,提高资源的利用率和当前的工作效率;利用计算机自动生成试卷,减少教师负担,提高试卷的科学性,同时也防止考生抄袭作弊;登陆后可以根据用户类型的不同分别进入不同的界面,身份验证严格,防止窃取权限修改成绩;考生答完卷后答案自动存储,若时间已到而试题未答完则自动保存成绩后强行退出;设定自动阅卷功能,标准化试题由于答案固定,可以让计算机自动将考生答案和标准化答案比对,自动生成成绩,确保成绩的公平和公正;最后还可以就考试情况进行分析,找出考生分数层次和薄弱知识点,从而利于教学改进。
3.1.1编写概要设计说明书目的
在分析阶段的工作结果是需求说明书,它通过需求分析,明确了解该项目的基本功能。现在我们根据需求说明书,着手开始设计如何实现这些功能,建立一个符合用户要求的软件系统。概要设计就是将系统划分成模块,并决定每模块的功能和模块间的调用关系以及模块的界面
概要设计将软件系统分解成许多模块,决定每个模块的外部特征,即每个模块的功能和界面(输入和输出),以便详细设计人员参考和进行详细设计。
根据需求说明书的分析结果和对数据流图分析,将数据流图.转换为模块结图
图3.1考试管理系统模块图
图3.2考试系统模块结构图
考试系统模块功能简介:
登陆模块:当考生登陆到考试系统窗体时,首先要求输入考生的学号和姓名,并按下确定,进行身份验证,如果没有通过身验证,根据验证结果进行不同的操作,说明没有通过的原因。返回原因可能为,学号与姓名不相配,或者是已经参加过考试,或者是某种原因,你已经处于考试状态。
身份验证模块:。在考生进入考试系统时,要求确认其考试资格,并跟据不同的情况返回不同的值。
生成试卷模块:根据读取到的考试设置,生成考试试卷。
生成选择题模块:根据考试要求,从数据库中的选择题库中随机抽取规定数量的选择试题。
生成判断题模块:根据考试要求,从数据库中的判断题库中随机抽取规定数量的判断试题
生成office操作题模块:从数据库中的office操作题库中随机抽取office操作题试题。
读取数据库信息模块:根据要求,从数据库中读取需要的信息。
做试卷模块:考生做试卷,让考生根据试题要求,输入结果或进行操作;
试卷备份模块:在考生做题时,每分钟将试卷更新到数据库中一次。
试卷恢复模块:在考生考试发生中断或出现错误时,可以数试卷恢复设置,恢复试卷,继续考试。
时间控制模块:在考试中,考试有时间限制,当考试时间结束前5分钟,将提醒考生交卷,考试时间到时,将自动交卷,并且禁止考生操作。
提交试卷模块:先将考生试卷保存到数据库中,然后评卷,并把考试分数保存到数据库中。
评卷模块:对考生试卷的答案与标准答案对比,对的加分,最后得出考试结果
保存到数据库模块:根据要求,所结果保存的数据库中。
学生考试查询模块:系统中的教师只有能登陆均可考生考试成绩和答题卷等信息
3.3.1用户接口
说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。
用户接口是用户与系统进行互动操作,为用户使用软件提供了方便。
本软件的接口一般是通过窗体控件输入输出数据,用户只需在需要操作的窗体控件以输入数据,然后点击确定就可以。
用户登陆界面设计:需要用户输入姓名和输入学号的TestBox控件TBid和TBname和一个按钮控件BTenter
图3.3用户登陆图
考生做试卷界面设计:在考试显示控件中,有4个Label控件,分别显示考生的学号,姓名,考试时间,剩余时间。另外有5个按钮控件,分别用来打开选题题界面,判断题界面各office操作题界面和提交
图3.4考试系统图
考生做选择题界面设计:选择题显示在一panel控件中,在panel控件中每一次显示8道选择题,做完之后,可以按“下一页按钮控件,显示下8个选择题,也可以按“上一页”,将显示做过的题。
图3.5选择题设计图
考生做判断题界面设计:判断题显示在一panel控件中,在panel控件中每一次显示8道判断题,做完之后,可以按“下一页按钮控件,显示下8个判断题,也可以按“上一页”,将显示做过的题。
图3.6判断题设计图
3.1.2外部接口
说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。
3.4系统数据结构设计
3.4.1数据库需求分析
所谓题库就是试题的仓库,是把许多题目集合到一起,供试卷编制者随时查询和使用的集合。为了方便所有学科组成网络题库,应遵循经典测量理论的指导,要严格按照经典测量理论的数学模型开发题库管理系统、组织试题
针对一般考试系统的需求,设计如下所示的数据项和数据结构:
学生信息,包括的数据项有:学生编号、学号、姓名、性别、班级、
试卷信息,包括的数据项有:、填空题分值、填空题数量、判断题分值、判断题数量、单选题分值、单选题数量、考试时间、office操作题等。
成绩信息,包括的数据项有:考生学号、成绩、考试状态等。
判断题信息,包括的数据项有:判断题编号、题干、正确答案。
填空题信息,包括的数据项有:填空题编号、题干、正确答案。
单选题信息,包括的数据项有:单选题编号、题干、正确答案、备选项(A、B、C、D)、等。
office操作题信息:包括数据项有:word文档内容、word操作要求、excel文档内容、excel操作要求、web内容、web操作要求。
管理考师密码信息:密码;
试卷备份表包括:考生学号、答题卷
本系统应该建立一个稳定的后台数据库系统,通过该数据库管理整个考试系统所需的信息(用户信息、试题信息、试卷信息、考试信息等)。
为了从多方面来保障考生考试信息的安全性、可信性和考试成绩的可依赖性,本系统还应该建立一套机制,这套机制至少应该包括学生和教师的账号的安全机制、后台数据库的安全机制、考试过程的控制机制。
4.2逻辑结构设计要点
给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。
表3.1学生信息表
列名数据类型长度是否这空注释
表3.2学生成绩表
列名数据类型长度是否为空注释
表3.3考试设置表
列名数据类型长度是否为空注释
表3.4管理教师密码表
列名数据类型长度是否为空注释
列名数据类型长度是否为空注释
列名数据类型长度是否为空注释
表3.7试卷备份表
列名数据类型长度是否为空注释
列名数据类型长度是否为空注释
3.4.3物理结构设计要点
给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。
对应逻辑设计的数据库名standtest,设计数据库的物理文件及相关属性如下。
初始空间:1MB,若超出空间按10%自动增长。
最大文件大小:不受限。
隶属文件组:PRIMARY。
初始空间:1MB,若超出空间按10%自动增长。
最大文件大小:不受限。
。具体软件的运行模块组合为程序多窗口的运行环境,各个模块在软件运行过程中能较好的交换信息,处理数据
运行控制:软件运行时有较友好的界面,基本能够实现用户的数据处理要求。
运行时间:系统的运行时间基本可以达到用户所提出的要求。
3.6出错处理设计
3.6.1出错输出信息
在用户登陆失败,系统给出提示:“对不起,你已经考试了,或学号错误,请重新登陆!”在考试过程中,突然发生考试中断事件,可以通过试卷恢复来恢复已经做过的考试卷,继续考试。
3.6.2.出错处理对策
由于数据在数据库中已经有备份,故在系统出错后可以依靠数据库的恢复功能,并且依靠日志文件使系统再启动,就算系统崩溃用户数据也不会丢失或遭到破坏。但有可能占用更多的数据存储空间,权衡措施由用户来决定。如在考试过程中发生了中断,可以通过试卷恢复系统来恢复试卷,继续考试。考试完了,将考试结果保存到数据库中。
3.7.安全保密设计
系统的系统用户管理保证了只有授权的用户才能进入系统进行数据操作,而且对一些重要数据,系统设置为只有更高权限的人员方可读取或是操作。系统安全保密性较高。
由于系统较小没有外加维护模块,因为维护工作比较简单,仅靠数据库的一些基本维护措施
设计设计阶段的目的是为编程制定一个周密计划。根据“由外向内”的思想方法,设计阶段分为概要设计和详细设计。在概要设计中我们把考试系统分解成多个模块,现在我们开始进行详细设计,确定每个模块的内部功能各模块内部的详细执行过程。
4.1.1编写目的
说明编写这份详细设计说明书的目的,指出预期的读者软件设计是把软件需求变换成为软件的具体设计方案,即模块结构的过程。软件设计一般分为总体设计和详细设计两个阶段。总体设计阶段根据软件需求分析所得到的数据流程或数据结构,使用结构化设计技术,导出软件的模块结构。详细设计阶段是给出软件模块的内部过程描述。内部过程描述是模块内部的算法设计。。
在详细设计说明书中,我们确定每个模块的内部详细执行过程,包括:局部数据组织,控制流。每一步的具体加工的具体加工要求及种种实现细节,该文档是直接给软件开发人员看的,以便指导编程人员编写代码。
4.2程序系统的结构
用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。
图4.1考试系统模块结构图
4.3程序设计说明
从本章开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。
4.3.1程序描述
给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点
本程序分为三个功能部分,用户登陆,考生考试和交卷部分,分别调用多个模块。
考试系统中的身份验证是很重要的,它关系到考试的严肃性。在传统的计算机考试中,简单的口令机制就能取得很好的效果,因为系统本身不会将口令泄漏出去在线考试系统也不例外。以学号这一条件限制,这就使有资格的考试者才能注册考试。考试者注册时,系统便要验证其学号和口令与考试者信息库所备案的是否一致,以及其是否己经参加过考试,这样就保证了考试者的身份是合法的
用户登陆调用身份验证模块,用于验证进入考试系统的人员身份和考试资格,通过验证后就以进行下一步的考试操作。
图4.2用户登陆模块流程图
输人项包括学生的考生的学号和考生的姓名。学号只能是长度的6的string类型,考生姓名只能是长度不能超过6的string类型
输出项是一个标志符bool类型数据,表示通过验证
给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。
当启用评卷功能时,机器首先将标准答案表和考生答案表调出来并设初始成绩为0,根据试卷中的试题标号逐个对答案进行比对(与运算),运算结果为1,则说明考生答案和标准答案相同,找到其对应的分值,则考生成绩=初始成绩+分值。逐次比对累加,直到所有试题都已批阅完毕。最后,输出考生成绩本模块用于考试试卷评分。首先是对把考生的答案与试卷标准答案对比,相同的话根据每一题的分值加分,错误不加分。
图4.3评卷模块流程图
输入项:考生的试卷答案,是一个数组项。
输出项:考生的成绩单。是一个float类型数据
时间控制模块是用来控制考试时间。时间模块中的时间是不断减小,直到考试结前5分钟,提醒考生要注意提交试卷,考试时间结时,禁止考生继续答题
时间控制模块流程图
图4.4时间控制流程图
输入项:考试时间是一个int类型数据,用来表示本次考试时间
输出项:考试剩余时间
生成试题模块有选择题模块、判断题模块,office操作题模块
这些模块抽取试题算法基本相同,现在只简单说一下判断题模块生成。判断题模块主要生成判断题。判断题是调用读取数据库存信息随机抽取数据库中题,任何一套选择题不会相同,客观上能客观防止作弊
图4.5判断题模块流程图
4.3.2注释设计
说明准备在本程序中安排的注释,如:
加在模块首部的注释;
加在各分枝点处的注释;
对各变量的功能、范围、缺省条件等所加的注释;
对使用的逻辑所加的注释等等。
软件系统的开发经历了需求分析、设计和编程三个阶段,并在分析、设计和编程中改进软件质量并尽量避免错误的产生。但是,由于分析、设计和编程都是人来完成的,人在工作中难免会犯各种各样的错误,这就需要我们对软件系统进行测试,找出可能存在的错误。系统在投入使用之前必须进行严格的测试,测试的内容包括功能测试、性能测试、可用性测试、客户端兼容性测试、安全测试等。测试完成后要上交测试报告,我们可以根据测试报告及时发现问题并提出解决方案,便于系统的维护与升级。
经过初步测试,系统在服务器端和客户端均能正常运行,对于不同显示分辨率下也能够正常显示。但由于系统对操作人员录入的错误数据和数据本身的错误所造成数据的不完整性,系统的约束力较弱,应加强数据的完整性约束提高系统数据的正确性和相容性,以及系统的容错性,加强对用户输入端的数据进行检验。
本文详细论述了B/S网上考试系统的设计与实现,该系统基本实现了需求分析中的功能要求,其中考生信息主要由数据库直接输入,考生成功登录后进入考生界面,考生界面主要由考试、成绩查询、修改个人资料,考试时考生输入准考证号码、考生姓名,核对正确后进入考场,关键实现了考生在选择后由系统随机抽题、自动组卷后进入考试页面,考试计时,考试时间到,系统强制考生退出,考完后对客观题的自动评分、存档。管理员进入管理员界面,管理员界面主要由基本资料管理、题库管理、试卷管理、成绩管理以及查询等模块组成。
由于时间和技术水平的缘故,本系统还存在着许多方面的工作尚未完善。系统对操作人员录入的错误数据和数据本身的错误所造成数据的不完整性,系统的约束力较弱,在系统的更进一步的实现阶段,应加强数据的完整性约束提高系统数据的正确性和相容性,以及系统的容错性,加强对用户输入端的数据进行检验。另外,本系统只提供了一些基本的统计与分析功能,如。这些指标还不能揭求教学过程的全貌,还需要进一步地引入新的测量指标.
本次毕业设计是在老师的精心指导下完成的。我借次机会向表示衷心的感谢!
同时,也对计算机科学与技术系全体老师的帮助和指导表示感谢!另外,还要感谢在我进行毕业设计过程中给子我帮助的同学。
最后,对阅读和评审本论文的各位专家表示衷心的感谢!
[1]朱贵良,宋庆涛,许强《基于WEB模式的网络考试系统安全性研究》计算机工程与应用,3-175.
[2]郭建波,王建国,王祥《基于Web的局域网标准化考试系统的设计与实现》唐山师范学院学报2004年3月
[3]刘福春、高昆《基于Internet的通用考试系统》长春科技大学
[4]陈敬东,陈学东《基于Internet的水平考试系统的设计与实现》内蒙古师范大学学报 (教育科学版).2004年5月
[5]张峦桥《谈开放教育的标准化考试》《开放教育研究》2002年第1期(总第35期)
[6]汤志伟,钟毅,方波.《通用在线考试管理信息系统的研究》电子科技大学学报社科版2003年(第5卷)第1期
[7]蒋东升,江效尧《通用试题库系统的开发》安庆师范学院学报(自然科学版)2001年11月第7卷第4期
[8]教育部现代远程教育资源建设委员会《现代远程教育资源建设技术规范》2000年5月
【在线考试系统设计与开发论文】相关文章:
首先非常感谢您在合作期间的付出! 现为了进一步整合资源,百度阅读即日起将停止自出版业务,其他业务不受影响。我们非常遗憾与您结束合作。现为了最大程度保障您的权益,希望您解除在注册和使用百度阅读自出版服务时与我们签订的协议。
您的书籍会在您确认解约后的3个工作日内在百度阅读平台下线,后台仍可查看,建议您做好相关备份工作;
请您于2019年12月31日23:59:59前在百度阅读平台后台申请提现;
合同规定的双方权利义务全部终止,均不再享有或履行;
以上,如有问题可以与我们邮件沟通。
1.1 Java源程序的扩展名是什么?
1.2 什么是标识符?
在java语言中能够我们自己起名的都叫标识符
1.3 标识符有哪些特点?
标识符是大小写字母、数字字符、$和_组成,不能以数字开头,也不能是java关键字,并且区分大小写
path是系统用来指定可指定文件的完整路径。Path是用来搜索所执行的可执行文件路径的,如果执行的可执行文件不在当前目录下,那就会依次搜索path中设置的路径。
classpath是指定你在程序中所使用的类(.class)文件所在的位置。
1.5 java程序经编译后产生的字节码文件扩展名是什么?
字节码文件扩展名是 .class
1.6 请说出常用的DOS命令并解释?
1.7 请解释Java语言的跨平台特性?
Java语言是跨平台运行的,其实就是不同的操作系统,使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM对上层的Java源文件是不关心的,它关注的只是由源文件生成的类文件(class file)。
2.1 注释的分类及作用?
2.2 请说出Java中数据类型的分类?基本数据类型都有哪些?
2.3 Java中数据的类型转换有几种?分别是什么?
2.4 Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中可以存储汉字。不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。
补充说明:unicode编码占用两个字节,所以,char类型的变量也是占用两个字节。
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式
&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作。
2.7 三元运算符的基本格式是什么?
三元运算符的格式是: 条件表达式 ? 表达式1 : 表达式2
2.8 三元运算符的执行流程是什么?
三元运算符的执行流程: 首先计算条件表达式的值看其返回结果是true还是false,如果是true就执行表达式1,如果是false就执行表达式2
2.9 使用键盘录入数据的三个步骤是什么?
2.10 请说明for、while、do…while三种循环的格式以及执行流程,以及它们的区别。
注意:写程序优先考虑for循环,再考虑while循环,最后考虑do…while循环
2.11 定义一个方法的格式是什么,以及方法的注意事项?
类中的成员需要私有的时候使用private关键字
可以修饰成员(成员变量和成员方法)
被private修饰的成员只在本类中才能访问
this用来解决成员变量与局部变量重名问题
this关键字代表的是本类对象引用;谁调用我,this就代表谁.
2.14 final 关键字是什么意思,可以修饰那些成员?被修饰的成员有哪些特点?
final最终的意思。
2.15 形式参数是基本类型要的是什么?是类名、抽象类名、接口名时分别要的是什么?
形式参数是基本类型要的是一个基本类型的变量或者具体的常量值
2.16 返回值类型是基本类型返回的是什么?是类名、抽象类名、接口名分别返回的是什么?
返回值是基本数据类型的时候返回的是一个具体的值
package,包的意思,其实就是文件夹,它可以对类进行分类管理
在不同包下的类之间相互访问的时候,发现,每次使用不同包下的类的时候,都需要加包的全路径。比较麻烦,这个时候,java就提供了( import )导包的功能。
使用import可以将包中的类导入进来,以后使用类的时候,不需导包,直接使用,简化了书写。
对于基本类型和引用类型 == 的作用效果是不同的,如下所示:
代码解读:因为 x 和 y 指向的是同一个引用,所以 == 也是 true,而 new String()方法则重写开辟了内存空间,所以 == 结果为 false,而 equals 比较的一直是值,所以结果都为 true。
equals 本质上就是 ==,只不过 String 和 Integer 等重写了 equals 方法,把它变成了值比较。看下面的代码就明白了。
首先来看默认情况下 equals 比较一个有相同值的对象,代码如下:
输出结果出乎我们的意料,竟然是 false?这是怎么回事,看了 equals 源码就知道了,源码如下:
那问题来了,两个相同值的 String 对象,为什么返回的是 true?代码如下:
同样的,当我们进入 String 的 equals 方法,找到了答案,代码如下:
总结 :== 对于基本类型来说是值比较,对于引用类型来说是比较的是引用;而 equals 默认情况下是引用比较,只是很多类重新了 equals 方法,比如 String、Integer 等把它变成了值比较,所以一般情况下 equals 比较的是值是否相等。
2.20 请简述泛型是什么?有什么用?在哪里用?
2.21 如何编写一个泛型方法,让它能够接受泛型参数并返回泛型类型?并举例
泛型方法,指把泛型定义在方法上,使用泛型类型来替代原始类型
2.22 请简述Java中如何使用泛型编写带有参数的类?并举例
泛型类,指把泛型定义在类上,使用泛型类型来替代原始类型
FilenameFilter是文件名过滤器,用来过滤不符合规则的文件名,并返回合格的文件。
2.24 请简述递归是什么?注意事项是什么?
所谓递归,是指程序调用自身。
注意,递归不会无休止地调用下去,它必然有一个出口,当满足条件时程序也就结束了,不然的话,那就是死循环了。
代码解读:很显然“通话”和“重地”的 hashCode() 相同,然而 equals() 则为 false,因为在散列表中,hashCode() 相等即两个键值对的哈希值相等,然而哈希值相等,并不一定能得出键值对相等。
等于 -1,因为在数轴上取值时,中间值(0.5)向右取整,所以正 0.5 是往上取整,负 0.5 是直接舍弃。
3.1 请写出Java标识符的命名规则
变量,在程序运行时,值可以被修改的量。
3.3 变量的定义格式是什么?
数据类型 变量名 = 变量值
3.4 成员变量与局部变量的区别?
3.5 静态变量与成员变量的区别?
因为字符串的特点是一旦被创建就不能被改变,所有在使用常量进行相加的时候,都是在创建新的字符串对象,最后在把字符串"abc"这个常量值赋值给引用变量s
4.4 如何实现【基本数据类型】与【基本数据封装类】之间的相互转换
String类表示内容不可以改变的字符串
StringBuffer类表示内容可以被修改的字符串
4.7 什么是正则表达式?
正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则达表示通常被用来检索、替换那些符合某个模式的文本。
不一样,因为内存的分配方式不一样。String str="i"的方式,Java 虚拟机会将其分配到常量池中;而 String str=new String(“i”) 则会被分到堆内存中。
4.12 如何将字符串反转?
5.1 类是什么? 对象是什么?举例说明
是一组相关属性和行为的集合是一个抽象的东西,对象则是该类的一个具体的体现。
举例: 学生就是一个类,然后每一个学生都是学生的一个个具体的体现,所以每一个学生就是一个学生。
5.2 类由哪些内容组成?
类由成员变量和成员方法组成
成员变量对应的就是事物的属性(就是事物固有的信息,比如: 人的属性有身高 , 姓名 , 年龄 , 学历…) , 成员方法对应的是行为(行为: 就是该事物可以做的事情,比如:人的行为有: 吃饭,睡觉…)
5.3 什么是匿名对象?什么时候使用匿名对象?
匿名对象指:没有起名字的对象
a:调用方法,仅仅只调用一次的时候
b:匿名对象可以作为实际参数传递
5.4 构造方法的作用是什么?构造方法的特点是什么?构造方法的注意事项? 构造方法中可不可以写return 语句呢?
构造方法的作用是用于给类的成员变量赋值,完成类的初始化工作
5.5 一个类的缺省构造方法可以有参数吗?
一个类的缺省构造方法没有参数
5.6 请说明一个对象的创建过程做了哪些事情?
5.7 子父类中构造方法的执行有什么特点?为什么要这样?
> 注意:super(…)或者this(…)必须出现在第一条语句上,否则,就会有父类数据的多次初始化
5.8 静态代码块,构造代码块,构造方法的执行顺序是什么以及执行特点?
5.9 抽象类是什么,抽象类的特点?
5.10 抽象类中有没有构造方法,如果有它是用来做什么的?
抽象类虽然不能进行实例化,但是抽象类中是存在构造方法,该构造方法的作用是用于子类访问父类数据时的初始化.
5.11 接口中成员变量的特点,以及成员方法的特点?
接口中的成员变量都是常量,存在默认的访问修饰符:
接口中的成员方法都是抽象方法,存在默认的访问修饰符:
5.12 请说出类与类,类与接口,以及接口与接口的关系以及特点?
只支持单继承,可以是多层继承
。 是实现的关系,可以是多实现
5.13 抽象类和接口的区别?
5.14 内部类有哪些访问特点?
5.15 匿名内部类的格式是什么?其本质是什么?
5.16 抽象类必须要有抽象方法吗?
不需要,抽象类不一定非要有抽象方法。
上面代码,抽象类并没有抽象方法但完全可以正常运行。
不能,定义抽象类就是让其他类继承的,如果定义为 final 该类就不能被继承,这样彼此就会产生矛盾,所以 final 不能修饰抽象类
6.1 请解释什么是方法的重载?
方法重载指在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
a) 与返回值类型无关,只看方法名和参数列表
b) 在调用时,虚拟机通过参数列表的不同来区分同名方法
6.2 使用面向对象【封装】的好处有哪些?
隐藏实现细节,提供公共的访问方式;
6.3 Java 中的类的继承特点是什么以及继承的注意事项?
继承的特点: 在java语言中类的继承只支持单继承,不支持多继承.但是可以多层继承。
6.4 继承的好处是什么?
6.5 this 和 super 分别是什么,他们各自的应用场景是什么?
6.6 什么是方法重写?需要注意哪些问题?
方法重写:指子类中出现了和父类中一模一样的方法声明,也被称为方法覆盖,方法复写
1. 父类中私有方法不能被重写
2. 子类重写父类方法时,访问权限不能更低
3. 父类静态方法,子类也必须通过静态方法进行重写。(其实这个算不上方法重写,但是现象确实如此)
6.7 方法重写和重载有什么区别?
6.8 什么是多态,多态的前提是什么?
一种事物在不同时刻表现出来的状态就是多态
6.9 多态中成员(成员变量,成员方法,静态成员方法)的访问特点是什么?
6.11 多态的弊端是什么,如果我们想访问子类的特有的功能我们应该怎么办?
多态的弊端,不能访问子类中特有的功能
如果我们还想使用子类中特有的功能,我们需要使用向下转型
> 向下转型: 就是将父类的引用强制转换成子类的引用,在向下转型的过程中需要注意一个异常: ClassCastException
7.1 数组有几种创建的方式?分别是什么?
2种。动态创建和静态创建。
7.2 请简述集合和数组的异同点?
7.3 迭代器Iterator是什么?怎么使用?有什么特点?
Iterator 接口提供遍历任何 Collection 的接口。我们可以从一个 Collection 中使用迭代器方法来获取迭代器实例。迭代器取代了 Java 集合框架中的 Enumeration,迭代器允许调用者在迭代过程中移除元素。
7.4 请简述常见的数据结构有哪些?
7.7 请简述并发修改异常产生的原因?如何解决?
> 在迭代器迭代的过程中,集合中的元素个数发生了改变,此时导致并发修改异常。
7.9 请简述Set集合的特点?
7.10 请简述HashSet是如何保证元素唯一性的?
7.11 请简述TreeSet是如何保证元素唯一性与排序的?
Map接口是双列集合顶层接口,每个位置存储一对元素(key, value)
Collection接口是单列集合顶层接口,每个位置存储一个元素
7.13 请说出Map集合的遍历方式
Java 容器分为 Collection 和 Map 两大类,其下又有很多子类,如下所示:
List、Set、Map 的区别主要体现在两个方面:元素是否有序、是否允许元素重复。
三者之间的区别,如下表:
对于在 Map 中插入、删除、定位一个元素这类操作,HashMap 是最好的选择,因为相对而言 HashMap 的插入会更快,但如果你要对一个 key 集合进行有序的遍历,那 TreeMap 是更好的选择。
值的 value。当 hash 冲突的个数比较少时,使用链表否则使用红黑树。
7.21 如何实现数组和 List 之间的转换?
7.25 怎么确保一个集合不能被修改?
8.1 请说说什么是异常?异常的分类?
处理程序中错误的一种机制
。8.2 请说出异常处理的方式?
8.3 请说说编译期异常和运行期异常的区别?
8.6 请说说异常的注意事项及如何使用异常处理?
8.8 请简述IO流的分类
9.1 请简述字符编码是什么?请说出常见字符编码表?
9.2 请说出学习过的IO流中的常用方法?
9.6 Files的常用方法都有哪些?
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。