收藏 分销(赏)

考试管理系统开发-毕业设计.pdf

上传人:曲**** 文档编号:238376 上传时间:2023-04-13 格式:PDF 页数:46 大小:1.97MB
下载 相关 举报
考试管理系统开发-毕业设计.pdf_第1页
第1页 / 共46页
考试管理系统开发-毕业设计.pdf_第2页
第2页 / 共46页
考试管理系统开发-毕业设计.pdf_第3页
第3页 / 共46页
考试管理系统开发-毕业设计.pdf_第4页
第4页 / 共46页
考试管理系统开发-毕业设计.pdf_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、 2007届学生 派毕业论文(设计)材料派(四)米 应口 序号学生毕业论文(设计)课题名称 考试管理系统开发 目录摘要.IAbstract.II第1章绪论.11.1课题研究背景.11.2 国内外的研究现状.11.3 课题研究的意义.31.4 考试管理系统优点.4第2章 系统需求分析.62.1 考试管理系统的基本功能.62.2 考试管理系统数据库分析.72.3 可行性分析.82.3.1 社会因素方面的可行性.82.3.2 经济方面的可行性.92.3.3 技术方面的可行性.9第3章关键技术.103.1关键技术.103.1.1 ADO.NET.103.1.2 网络编程技术(C/S模式)、数据通信、文

2、件传输技术.113.1.3 头相采集技术.123.1.4 数据库存储图片文件.133.1.5 报表技术.143.1.6 数据加密、解密技术.15第4章核心算法.174.1智能组卷算法.174.2 遗传算法的基本步骤.184.3 遗传算法描述.194.4 遗传算法应用.20第5章系统设计与实现.225.1 模块及流程设计.225.1.1 系统基本模块结构.225.1.2 系统界面设计.225.1.3系统流程设计.245.2数据库设计.275.2.1试题库数据表.285.2.2 考生报名信息表.295.2.3 考生考试情况表.30第6章结论和展望.316.1 结论.316.2 展望.31致谢语.3

3、3参考文献.35附录.36考试 管理系 统开发摘要:计算机考试管理系统是计算机辅助教学的重要环节,同时也是评教的有效工具,系统的研制结合了多学科知识的综合的应用,这些思想始终贯彻在考试系统的分析和设计 中。本论文研制了一个通用的计算机考试管理系统工具软件。该系统为用户建立试题库进行 微机管理提供环境及工具,使得一般用户在无需计算机专业系统开发人员的参与下,借助于 该平台就可实现本学科试题库的建立及微机化的管理。该系统是一个集试题库管理、组卷与考试为一体的应用软件系统,它在C#+SQL Server2000数据库管理系统下实现。本论文阐述了计算机管理系统的设计原理及方法,给出 了计算机管理环境下

4、的题型分类、试卷评测体系和指标。从科学、实用的角度构造系统功能 结构,包括题库录入、题库维护、生成试卷、阅卷功能。在试题生成方面,采用自动生成试卷策略,同时充分考虑成卷试题难度的均匀分布性,系统用到了遗传算法进行组卷。关键字:;面向对像;遗传算法;组卷;考试管理系统The Development of Examination Management System Abstract:The computer managing in examination system is the important link of the computer-assisted instruction,commen

5、t the effective tool taught too at the same time,systematic research combine more application of knowledges,multi-disciplinary comprehensive application of knowledge to wait upon,thought these carry out in auxiliary to have an examination of the systematic analysis and design all the time.Thesis thi

6、s develop one in common use computer irradiation have an examination the tool software of administrative system.This system offers environment and tool for the thing that users set up and try the exam pool to manage the computer,make general users under needing participation of the professional syst

7、em developer of the computer,can realize copies of discipline foundation and computer management to try on exam pool with the aid of platform this.This system is a application software system incorporating trying the management of the exam pool,group to analyse with the result beautifully into an or

8、ganic whole,it is in c#+SQL Server 2000 data base management system.This thesis has explained design principle and method of the computer managing system,provide the question type under the computer management environment and classify,the paper assesses and tests the system and index.From science,pr

9、actical narrow systematic function structure of structure,including the exam pool is input,exam pool manage,turns into the paper,goes over examination papers.Produce the respect in the examination question,adopt and produce artificially automatically,fully consider into the chapter of an examination

10、 question and even distribution of the degree of difficulty at the same time,rolls of condition the wanton make up the artificial to adopt by window and menu technology mutual.Key words:;Object-Oriented;Genetic Algorithms(GA);test paper production;Exam management system第1章绪论1.1 课题研究背景随着Internet互联网的高

11、速发展,网络已经逐步发展成为现代人生活中不 可缺少的一部分,各种网路应用软件层出不穷,网络应用更是应有尽有。与此同 时网络教学应用应运而生,可以说网络无纸化考试系统的出现开辟了考试史的新 纪元,它使得考试形式不再单纯依赖于纸张,达到了考生考试自动化,使广大莘 莘学子上网实时考试的梦想变为现实。然而,仅仅使用无纸化考试系统进行整个考试过程的管理是远远不够的,目 前现存的大部分网络无纸化考试系统只提供了考试内容的显示及考试答案的上 传等简单的考试功能。缺少如,考试报名管理,用于协助考试管理人员顺利进行 考生报名工作;考试安排管理,安排考生及监考人员的考场和考试时间的分配;考试过程管理,用于控制整个

12、考试过程如验证入场考生的身份、为考生分配考试 机器,查询考生参加考试情况、查询考场内考试进行情况、处理考生违纪情况、处理临时考试过程中出现的故障;系统管理如为考试相关人员分配权限,对每个 考试系统的子系统的开关进行控制,等方面对整个考试过程而言不可缺少的管理 功能。因此,开展考试管理系统的探索与实践研究有着十分重要的意义。1.2 国内外的研究现状(1)考试管理系统的设计理论与方法的研究缺乏系统性通过对国内外有关的学术刊物(如电化教育研究、中国电化教育、(Educational Technology!等)、教育网站和国际国内有关学术会议(GCCCE、ICCE、CBE等)的论文集进行分析,考试管理

13、系统的设计研究缺乏系统的研究。可以说,考试管理系统的设计理论的研究还处于初级阶段,还有很多问题需要去 研究和探索。例如,在网络环境下如何利用网络资源进行远程考试,都值得我们 去研究。(2)管理系统开发研究才刚刚起步随着Internet应用的普及,实现无纸考试已成为一种重要的考试方式。然 而,与传统考试相比,在线考试系统的质量保证体系却显得不够完善、健全。(3)现有网络考试系统的说明网络考试系统目前有两类:一是基于局域网的网络考试系统,一是基于web 的网络考试系统。基于局域网的网络考试系统通常用于比较正式的考试,如计算 机等级考试、职业技能考试、行业考试等;基于WEB的网络考试系统通常用于考

14、生自测或网络教学系统。以下介绍两个典型的网络考试系统,用以说明国内外对 网络考试系统的研究状况:1、ATA智能化考试服务系统国外比较有影响的机器考试是AOCA公司的考试系统,主要目标是模拟真实 考试环境,特别适合计算机操作性题目的考试。ATA在产品和服务中使用的核心 技术包括:DST技术(动态模拟考试技术)、RET技术(真实环境考试技术)、SRAT 技术(全真环境下动态转换技术)、LAS技术(智能化考试结果判定技术)、ZNM技 术(智能化、非线性多元组卷模板技术)。DST技术是动态模拟考试、培训的技 术,它基于图论的语义状态转换理论,在ATAe-Testing通用平台上模拟全真环 境的应用软件

15、和系统软件的操作过程及步骤。其A拟过程体现了全真环境的动态 特点,对于考试、培训的过程、结果全程跟踪。DST技术摆脱了软件产品对运行 环境的依赖性,完全独立于真实的执行环境。RET技术是基于组件对象模型,以 多进程运行方式,允许用户在全真环境下操作,然后插捉操作过程及操作结果,在操作过程中实现智能提示及个性化教学、培训。SRAT技术是面向m络考试中 的主观题(如编程题)而专门设计的,该技术可判断在各种语言软件、数据库应用 软件坏境下,可在模拟一全真环境下动态的自动双向转换。ATA公司的产品和服 务中使用的核心技术,有较多可取之处。但ATA考试软件更多的是用于开展计算 机信息技术的考试,考试的管

16、理也基本上由ATA公司专人负责,这对于考试环境、内容随着时代的发展而发生很快变化的各类考试来说,具有相当的局限性。2、计算机等级考试系统国内计算机等级考试较早地采用了网络考试系统。这种考试系统一般采用局 域网的形式,在考试之前,由专门的考试网站提供相关的报名、考务安排等软件,然后在开始考试时,将题库统一安装在各考点的服务器上。为了测试系统的方便,在正式考试之前,一般给每个考生测试一次的机会。考试采用现场打分的方式,考生只要一提交试卷,系统就给出相应的分数。为了安全起见,一般还要求考生 到服务器上确认。除此之外,一些政府部门、一些行业管理机构和教育机构也先 后采用了网络考试系统。这些考试系统有一

17、个共同特点,那就是:考题基本上都 是选择题,偶尔也有少量的主观题。对于主观题,如计算机二级等级考试编程题,仍然采用的是单机考试模式。四川省计算机二级等级考试主观题考试包括一道程 序设计题与一道改错题。在单机模式下,每个考生必须有一张软盘,软盘上包含 考试题目与改错题原题。所以,考试组织者先将考试题目给每一个考生复制一张 软盘,然后发给每个考生,让考生考试完毕后将答案复制到软盘上,最后统一将 软盘收集起来阅卷。这种考试方式,不仅需要大量的人力物力,而且容易出现软 盘损坏,考生的数据读不出来的情况。正是在这种情况下,如何在网络下考核考 生的主观题的应试能力,引起了许多研究网络考试的关注。四川工业学

18、院计算机 科学系的老师为了解决这个问题,设计了一套旨在通过网络考查学生编程的软 件。他们的这套系统基本上实现了不要软盘考试,系统先自动给给每个学生建立 一个文件夹,然后采用了 FTP上传文件的方式,将考试结果直接传到服务器。这 套系统与单机考试相比,自然是很大的一个进步。美中不足的是,学生结果文件 以文件的形式保存,安全性能不好,最好是能够采用数据库的形式。1.3 课题研究的意义当今社会已经进入了信息化时代,信息传递的高速化,信息产业的多样化,信息科技的高新化已经成为全球经济和社会发展的基本特征。随着计算机应用的 日益普及和深入,传统的考试方式也面临着变革,而利用计算机考试系统实现无 纸化考试

19、已经成为一种重要的考试方式。基于计算机技术的在线考试系统可以借 助于遍布全球的Internet进行,因此考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。试卷可以根据题库中的内容即时生成,可避免考试前 的压题;而且可以采用大量标准化试题,从而使用计算机阅卷,大大提高阅卷效 率;还可以直接把成绩送到数据库中,进行统计、排序等操作。所以现在较好的 考试方法为在线考试,试题内容放在服务器上,考生通过姓名、准考证号码和口 令进行登录,然后进行头相采集(防止舞弊),考试答案也存放在服务器中,这 样考试的公平性、答案的安全性可以得到有效的保证。因此,采用在线考试方式 将是以后考试发展的趋势。

20、在各学校开始逐步引入计算机的今天,试卷作为考察教学成果的重要手段之 一,一直没有得到较好的改善,试卷的编辑、整理工作占了很大的工作量。传统 的手工出卷过程,存在不少弊端.如出现不必要的重复劳动,造成人力资源及时 间上的浪费;缺乏科学的衡量、评价及统一试卷难易度、试卷质量的有效手段;存在自教自考,考前漏题的情况;试卷容易出现错漏缺现象,引起不必要的麻烦。针对这些情况,我进行总结分析,开发考试管理系统。本系统希望利用计算 机强大的数据处理功能,由计算机逐步代替传统的人工出卷,并且规范出卷程序,使出卷工作更加科学化、现代化,使教育工作更上一层楼。1.4考试管理系统优点(1)可以创立电子题库,方便地实

21、现试题的数字化管理所谓题库就是试题的仓库,是把许多题目集合到一起,供试卷编制者随时查 询和使用的集合。为题目的保存、分类和检索提供了便利,为编制试卷提供了高 效率和低成本的手段。电子题库是网络考试系统的重要组成部分,也是考试系统 中最具有特色和实用价值的模块之一。(2)可以按照科学的策略智能组卷,从而提高出卷效率网络考试系统以电子题库为依托,可以按照教师制定的组卷策略自动的抽题 成卷,极大的提高了出卷效率。为一些面向社会开放的常年考场,提供了海量试 卷资源的有力支持。也可以被广大教师用来辅助教学和测验。(3)可以具有操作性和交互性计算机考试系统与传统纸上考试相比,有一个显著的优点和特点就是具有

22、操 作性和交互性。可以更好的“设置一定的情景让学生表现,以此衡量学生的心理 品质”。如计算机应用技能的考试等,使用计算机模拟就具有纸面考试无法比拟 的效果。计算机考试系统可以根据学生的反应,对试题进行调整和反馈,使一些 非经典的测量理论。能够在实践中得以实现,发挥出它们的优点和长处。而网络 化考试很好地继承了这个优点。(4)使考试和判卷更具规范性和合理性考试管理系统使用计算机系统来进行考试和自动判卷。具有更好的规范性和 合理性。试题的呈现和判卷的标准都是严格统一的,一般不会发生学生忘记书写 姓名,答题卡填写方法不正确或错位等意外丢分情况。学生答题过程中,由于系 统限制也必将更加规范,不会出现笔

23、试中经常出现的由于学生没有严格按照答题 要求做,判卷时被强行扣分的事情。判卷由系统自动完成,极大的提高了准确性,防止了人工判卷时经常出现的错判、漏判和分数计算错误的情况。使考试更加公 正合理,具有权威性。(5)实现自动判卷和数据的有效保存如果说考试使教师教学过程中重要工作之一的话,那么判卷又是教师在考试 实施过程中最重要和最烦琐的工作之一。判卷有两个基本的要求,那就是快速和 准确。学生希望在最短的时间内知道自己准确的考试成绩,在集体中的位置知道 问题出现的所在和应该努力的方向。这也是考试教育功能的重要体现。如果判卷 越慢这种对学生的反馈和激励的效果就会越小,达不到原有的考试目的。快速和 准确对

24、传统的教师手工判卷来说是一对矛盾,加重了教师的工作负担。而使用考 试系统的自动判卷功能,能很好的解决这些问题。甚至在学生考试完成后,他就 能马上看到自己的成绩。考试成绩的保存,对计算机考试系统来说,是非常简单 方便的。而在手工考试中,需要教师特别的注意将成绩单存档或再输入计算机中,工作比较烦琐。(6)具有强大的数据统计分析功能计算机考试系统与传统纸上考试相比具有强大的统计功能,原来非常烦琐甚 至手工难以进行的分析统计计算工作,现在可以在瞬间完成了。由于考试系统从 出题、考试到判卷、统计,完全实现了数字化,不再需要教师手工地将学生成绩、答题情况等详细信息输入计算机,因此使学生成绩统计分析,试题参

25、数的统计分 析及自动调整在实际工作中成为可能。随着社会的不断发展,信息保存和分析提 取的日趋重要,考试实现数字化,提高数据存储和分析的能力是不可逆转的潮流,网络考试系统的发展前景是光明的。第2章系统需求分析考试管理是教务管理中一个极为重要的环节,是检验学生学习情况的一个重 要途径。面对种类繁多的数据和报表,手工处理方式已经很难适应现代化管理的 要求。随着计算机及通信技术的飞速发展,高等教育对考试管理工作提出了更高 的要求。尽快改变传统的管理模式,运用现代化手段进行科学管理,已经成为整 个教育系统亟待解决的课题之一。2.1考试管理系统的基本功能通过查阅资料和对现在已有的考试管理系统进行分析,了解

26、到一个好的考试 管理系统应包括如图2.1所示的几大功能。除此之外系统还应包括信息系统必须 具备的通用功能,例如系统管理、权限设置、数据备份与恢复等。图2.1考试管理系统应包括的基本功能考生管理:对考生信息进行管理,这个模块主要完成考生报名库信息录入,能实现考生信息增加、修改、删除、维护、浏览等功能。此模块在录入信息时,考生准考证号将自动智能的生成。监考老师管理:对监考老师信息进入管理,这个模块主要完成监考老师信息 录入,能实现监考老师信息增加、修改、删除、维护、浏览等功能。考场管理:主要完成考场信息录入,对考场信息进行添加、修改、删除、维 护、查询操作。成绩管理:考试成绩管理这部分主要是用来管

27、理学生的考试成绩,因为是机 器阅卷,分数由系统自动给出,所以成绩管理模块主要是成绩统计,管理员根据 相关条件,对成绩进入各种统计:例如:每次考试的最高分,最低分,平均分,成绩分布图。通过成绩统计可以得出很多重要的数据。考试过程管理:这是系统的核心的部分,监考老师通过服务器端控制考试的 整个过程,考生通过客户端登录,输入考生信息,把输入的信息传送给服务器,服务器对其身份进行验证,验证完成后,向客户端发送确认信息,如果用户验证 成功,服务器就将考试试题传送给相应客户端。考生考试前,先进行头相采集,然后进行考试,完成考试后,提交试卷,把考试答案传送回服务器。这样就完成 了整个考试过程。2.2 考试管

28、理系统数据库分析根据以上的需求分析,实现考试管理系统要建立如下数据表:试题库,系统 管理员信息表,考场信息表,监考员信息表,考生报名信息表,考生成绩表,校 区信息表,系部信息表,专业信息表,考试信息表,考生考试信息表(临时表)。基中,试题库,考生信息表,考生考试信息表,考生成绩是关键的表,试题库用 于存放试题,考试生成试卷时,用抽题程序从数据库中读取试题,自动组卷;考 生信息表用于存储考生报名信息,考生登录考试时,服务器在表中查询用户信息,验证考生信息来确认是允许用户进入考试;考生考试信息表,用于存放考生考试 时的状态信息,便于监考老师对考试过程进行监控;考生成绩表存放考生考试成 绩,考生可以

29、通过Web输入身份信息,查询自己的考试成绩,管理员,可以在 服务器登录,查询、统计、维护考生成绩。卜面列出一些重要表的名称及其用途,如表2.1所示:表2.1考试管理系统表清单表名称表用途select_question保存选择题信息fill_question保存填空题信息judge_question保存判断题信息program_q uestion保存程序题信息student_msg保存考生信息stu_examing保存考生考试信息exam_score保存考生成绩admin_table保存管理员信息exam_monitors保存监考老师信息XiaoQu保存校区信息Exam_msg保存考试类别信息e

30、xam_rooms保存考场信息zy保存专业信息xi保存系别信息2.3 可行性分析可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开 发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分 析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用 最小的代价在尽可能短的时间内确定问题是否能够解决.该系统的可行性分析包 括以下儿个方面的内容。2.3.1社会因素方面的可行性本系统用于学校考试,无法律和政策方面的限制。2.3.2 经济方面的可行性主要是对项目的经济效益进行评价,本系统作为一个实训的一个项目,无需 开发经费,对于我系在经济上是可以接受的,并且

31、本系统实施后可以显著高考试 效率,有助于学院完全实现网络化管理。所以本系统在经济上是可行的。2.3.3 技术方面的可行性1)技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。2)软件方面,网络化考试需要的各种软件环境都已具备,数据库服务器 方面则有SQLServer,均能够处理大量数据,同时保持数据的完整性并提供许多 高级管理功能。其灵活性、安全性和易用性为数据库编程提供了良好的条件。因 此,系统的软件开发平台已成熟可行。3)硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越 来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需

32、要。4)操作方面的可行性目前,大学的校园网路覆盖了教学区和学生区的主要建筑物及部分家属宿 舍,从而满足校内各学院,各职能部门,各直属单位上网需求。学校良好的网络 设施为开发使用无纸化网络考试系统提供了坚实的基础。综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入 少、见效快.第3章关键技术 3.1关键技术3.1.1 ADO.NETADO.NET(ActiveX Data Objects.NET)是.NET平台内用于访问数据源的一 组类。其名称说明它是具有同样用途的对象模型ADO的后续版本,但ADO.NET比 ADO有了本质上的重大改进。ADO.NET具有全新且更好的对象模型,该

33、模型主要 使用XML作为主要的数据传输格式,同时它使得用户对无关联数据的操作变得更 加简单。比起它的前辈ADO来说,ADO.NET的主要优点在于:编程更简便、性能 更高、伸缩性更强、对单个数据源特性的依赖更小以及与其他平台的交互性更强。下面介绍一下ADO.NET的工作原理,如图3.1所示。图3.1 ADO.NET工作原理图该图中的阴影框表示各个对象,它们均为ADO.NET的一部分。黑体字表示通 过连接对象从数据源中获取数据的方式,而Command和DataReader两个对象则 表示通往Connection对象的两条路由。ADO.NET保存数据的基本对象是DataSet。DataSet是.NE

34、T类 System.Data.DataSet的一个实例,它代表数据库中用户所感兴趣的部分在内在 中的备份甚至还可以代表整个数据库。它不是一个单独的表,而是一组包含了表 结构数据(如主关键字)的表,同时它还包括表之间的所有关系。DataSet中包 含了一个丰富对象模型,该对象模型允许用户访问其中的表、行、列和关系。需 要特别强调的是,DataSet是整个或部分数据库的一个无关联备份。通常在进行 数据操作时,用户通常需要示例DataSet,从数据库中将其填充,然后再对其进 行操作。当用户更改了数据并准备将更改结果发送加数据源时,可以一次性完成 发送操作,这是因为DataSet是一个非常智能化的对象

35、。例如,它可以记住自己 以前的状态并将用户对它的修改进行标注,其结果是只有数据中被更改的部分发 送回数据库。利用ADO,Recordset可以通过其他ADO对象与数据库进行数据交换,而在 ADO.NET中,DataSet则是一个独立的可包含某些数据的实体,与Recordset不 同的是,它不能与任何数据源进行数据交换。发挥数据交换作用的是可管理支持 程序(managed providers)o每个可管理支持程序可以被认为是介于DataSet和 数据源之间的一组对象。这些中间对象负责与给定的数据源进行通信,这就意味 着DataSet无须了解任何有关数据源的问题,同时也表明,对用户来说学习如何 用

36、DataSet编码变得更加容易,原因在于不再依赖任何数据源。3.1.2网络编程技术(C/S模式)、数据通信、文件传输技术随着网络的调整发展,如今的编程语言对网络编程的支持已经是不可或缺 的。作为新一代的与.NET Framework关系甚密切的C#语言,更是从极细微的方 面全方位地对网络编程进行了支持,而且具有许多新特性,譬如支持现有的网络 编程新标准及新技术;C#程序员可以在Microsoft.NET平台上很轻松地构建出应 用程序的扩展框架;包含了内置的特性,使任何组件可以简易地转化为XML网络 服务,通过Internet被不同操作系统上运行的任何程序调用。C#程序员还可以 方便地使用面向对

37、象的编程技艺来开发利用现有的CML网络服务。(1)Client/Server 模式当今,网络应用模式由最初的对等模式发展到Client/server(客户端/服 务器)模式,直到现在广泛应用的三层Client/Server模式,即:用户使用标准 的客户端(如Microsoft的Internet Explorer等常用的网络工具)访问应用服务器,由应用服务器对数据库进行操作。当然,C#的网络开发也将遵循 Client/Server 模式。(2)网络连接的流程客户端和服务器端程序的基本动作流程(TCP方式),如图3.2所示:网络初始化网络初始化连接确认监听端口请求连接 Connect()二List

38、ener().V获得服务端 接字Socket socket获得客户端套 接字Socket socket数据传输 Read/Write数据传输Read/Write etc关闭连接Client,close关闭连接Listener,close()图3.2 TCP动作流程设计中,利用 System.NET.Socket 中的 TcpClient 类和 TcpListener 类实 现Client/Server模式的一个做法。Server端启动服务程序,监听Clinet端的 连接请求;Client端在启动时必须提供Server端的IP地址和端口号。3.1.3头相采集技术考试管理系统,利用摄像机对考生进行

39、头相当场采集,可以有效地防止考生代考的现象。计算机在安装摄像头驱动程序后,一般可以找到一个avicap32.dll 文件,这就是一个关于摄像机的类,调用它,可以使应用程序接上摄像头,对考 生进行摄像。3.1.4数据库存储图片文件将图片存到数据库中时,首先要将其转化成二进制流,新建一个内存流,把 图片存放到二进制流中,然后将二进制流中的内容按字节读入到字节数组中,存 放数据到数据库时,只要把该字节数组存放到数据库中,就可以实现数据库存储 图片。1、图片存入数据库的实现代码如下:新建一个内存流MemoryStream ms=new MemoryStream();把图片内容存到二进制流中去FileS

40、tream fsImage=newFileStream(C:ExamDatac.bmp,FileMode.Open,FileAccess.Read);把内存流中的内容按字节读入字节数组中byte myData=new Bytefslmage.Length;fslmage.P osition=0;fslmage.Read(myData,0,Convert.Tolnt32(fslmage.Length);将字节数组存储到数据的操作catch(Exception ex)MessageBox.Show(ex.ToString().Trim(),“提示信息,MessageBoxButtons.OK,Me

41、ssageBoxIcon.Information);return;2、从数据库中读取图片的实现代码如下:以字节为单位传入数据byte myDate=new byte0;myData=(byte)dr图片”;dr图片为图片数据字段值int bmpSize=myData.Length;建立一个内存流MemoryStream ms=new memoryStream();把图片内容写入该内存流ms.Write(myData,0,bmpSize);Bitmap bmp;根据内存流的内容新建图片 bmp=new Bitmap(ms);3.1.5报表技术每个应用程序都需要打印报表或文档的功能。在Visual

42、 C+或visual Basic 等语言中,由于没有可视化的设计界面来设计打印面,实现打印有时会比实现用 户界面所需要的代码量还要多o所以在这些语言中,主要通过两种方式实现打印:通过第三方软件或利用Office VBA的功能实现文档打印。第三方软件比如水晶报表或ActiveReport等,都拥有图形化的设计界面,可快速实现打印功能,实现简单、使用方便、有强大的功能。使用Office VBA实现报表或文档的打印具有灵活性,配合Office提供的宏 记录功能,可较为快速的实现编程。使用Office,并且在报表格式改变后,需 要重新更改代码。.NET框架在实现报表打印上提供了灵活简便的方案结合与打印

43、相关的类,通过明确编码可实现复杂格式的报表打印,如常用的打印预览和将报表输出到打 印机上等。另外,微软公司提供的AQL Server report Server产品适用于企业 级报表的生成,具备强大的报表的生成和打印功能,援用类似于Office word的 表格设计功能,在支持.NET的语言中,可通过增加Web引用实现对某一报表的 引用。SQL Server report在报表格式更改后,不需要更改程序代码,对于需要 实现企业级报表的开发项目来说,是一个极好的选择。由于初学.NET,水平有限,加之设计时间很紧,本次设计我采用了最方便的 第三控件:水晶报表,对考生报名信息进行打印。3.1.6数据

44、加密、解密技术数据加密,是保证数据安全最重要的手段。考试管理系统的设计,像考生答 案和分数这样的字段是必须加密码的,如果不加密,很容易被恶意的修改,考虑 到考试的公平、公正,数据的安全等问题,采用数据加密技术,对数据库中一些 重要字段进行加密。要正确显示读取加密后的数据,所以在读取加密码数据时必 须对其进行解密,才能显示出正确的信息。此次设计的加密算法采用Rijndael算法,是今后的几年内,在许多密码术的 应用中Rijndael将逐步取代数据加密标准(DES)以及后来的Triple DES。这个 算法是由两个比利时密码学家Vincent Rijmen和J oan Daemen设计的。Rijn

45、dael算法是新一代的对称区块密码,它支持128,192,还有256比特的 金钥大小,数据以128比特的区块来处理,但不同于AES设计标准的是,区块 大小能反映金钥的大小。根据不同的金钥/区块大小,Rijndael使用不同的回合数,如下所示:如果金钥/区块大小为128比特,则回合数为9o如果金钥/区块大小为192比特,则回合数为11。如果金钥/区块大小为256比特,则回合数为13。Rijndael是一个取代线性变换密码,它不需要Feistel网络。Rijndael使用了 二个离散可倒转统一变换(层),它们是:线性混合变换(Linear Mix Transform),非线性变换(Non-line

46、ar Transform),以及金钥加法变换(Key Addition Transform)o 在第一个回合前就执行了一个简单的金钥加法层,这样就增加了安全性。这之后 就是Nr-1个回合以及一个终止回合(final round)o这变换形成了一个开始后但 又是整个过程结束前的状态(State)o这个State可以认为是一个矩阵,行数为4,列数为区块长度(block length)除以比特长度(比如,除以32)。密码金钥同样也是一个行数为4的矩阵,不同 的是列数为金钥长度除以32o而区块可以看作是4字节线性矩阵的向量。实际的变换是这样的:位元组取代转换是非线性的取代转换,每个State字 节都将

47、独立地执行位元组取代转换,其中S-box(取代表)由两个变换构成,并 且它们是可逆的。移列变换使State的每一列以不同的位移作偏移。偏移的位移 取决于这个State的区块长度。换行变换把State列看作一个存在GF(28)中的多 项式,并且对一个固定的多项式作乘法,如果发生溢位,则再模x4+l。最后,对State 用回合金钥变换作异或。金钥排程(key schedule)通过金钥扩充(key expansion)和回合的选择来帮助加密金钥(Cipher Key)决定回合金钥(Round Key)。总的来说,Rijndael的结构体现了一种高度的结构化的设计,这使得在克服 未来任何袭击对算法作

48、出修改时将比过去的算法设计容易得多。第4章核心算法4.1 智能组卷算法自动组卷是考试系统自动化操作的核心目标之一,而如何保证生成的试卷能 最大程度的满足用户的不同需要,并具有随机性、科学性、合理性,这是实现中的 一个难点。尤其在交互式环境下用户对于组卷速度要求较高,而一个理论上较完 美的算法可能会以牺牲时间作为代价,往往不能达到预期的效果。因此,选择一 个高效、科学、合理的算法是自动组卷的关键。以往的具有自动组卷功能的考试系统大多采用随机选取法和回溯试探法。随 机选取法根据状态空间的控制指标,由计算机随机的抽取一道试题放入试题库,此过程不断重复,直到组卷完毕,或已无法从题库中抽取满足控制指标的

49、试题为 止。该方法结构简单,对于单道题的抽取运行速度较快,但是对于整个组卷过程 来说组卷成功率低,即使组卷成功,花费时间也令人难以忍受。尤其是当题库中 各状态类型平均出题量较低时,组卷往往以失败而告终。回溯试探法这是将随机选取法产生的每一状态类型纪录下来,当搜索失败时 释放上次纪录的状态类型,然后再依据一定的规律(正是这种规律破坏了选取试 题的随机性)变换一种新的状态类型进行试探,通过不断的回溯试探直到试卷生 成完毕或退回出发点为止,这种有条件的深度优先算法,对于状态类型和出题量 都较少的题库系统而言,组卷成功率较好,但是在实际到一个应用时发现这种算 法对内存的占用量很大,程序结构相对比较复杂

50、,而且选取试题缺乏随机性,组 卷时间长,后两点是用户无法接受的,因此它也不是一种很好的用来自动组卷的 算法。分析上述两种算法的优缺点,不难发现,在限制条件状态空间的控制下,随 机选取法有时能够抽取出一组令用户满意的试题。只不过由于它随机选取试题的 范围太大,无法确定目前条件下哪些区域能够抽取合适的试题,反而可能在那些 已经证明是无法抽取合适试题的区域内反复选题,进行大量的无效操作进入死循 环,最终导致组卷失败。回溯试探法组卷成功率高,但它是以牺牲大量的时间为 代价的,对于现今越来越流行的考生网上随机即时调题的考试过程来说,它已不 符合要求。因此,必须结合以上两种方法寻找一种新的改进算法,这种算

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 自考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服