已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
考试管理系统开发目 录摘要iabstractii第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.net103.1.2 网络编程技术(c/s模式)、数据通信、文件传输技术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致谢语33参考文献35附录36考 试 管 理 系 统 开 发摘要:计算机考试管理系统是计算机辅助教学的重要环节,同时也是评教的有效工具,系统的研制结合了多学科知识的综合的应用,这些思想始终贯彻在考试系统的分析和设计中。本论文研制了一个通用的计算机考试管理系统工具软件。该系统为用户建立试题库进行微机管理提供环境及工具,使得一般用户在无需计算机专业系统开发人员的参与下,借助于该平台就可实现本学科试题库的建立及微机化的管理。该系统是一个集试题库管理、组卷与考试为一体的应用软件系统,它在c # + sql server2000数据库管理系统下实现。本论文阐述了计算机管理系统的设计原理及方法,给出了计算机管理环境下的题型分类、试卷评测体系和指标。从科学、实用的角度构造系统功能结构,包括题库录入、题库维护、生成试卷、阅卷功能。在试题生成方面,采用自动生成试卷策略,同时充分考虑成卷试题难度的均匀分布性,系统用到了遗传算法进行组卷。关键字: ;面向对像;遗传算法;组卷;考试管理系统the development of examination management systemweimin ling(department of computer science, hunnan city university, yiyang, hunnan 413000, china)abstract:the computer managing in examination system is the important link of the computer-assisted instruction, comment 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 this 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 system 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 organic 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, practical 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 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 第ii页第1章 绪 论1.1 课题研究背景随着internet 互联网的高速发展,网络已经逐步发展成为现代人生活中不可缺少的一部分,各种网路应用软件层出不穷,网络应用更是应有尽有。与此同时网络教学应用应运而生,可以说网络无纸化考试系统的出现开辟了考试史的新纪元,它使得考试形式不再单纯依赖于纸张,达到了考生考试自动化,使广大莘莘学子上网实时考试的梦想变为现实。然而,仅仅使用无纸化考试系统进行整个考试过程的管理是远远不够的,目前现存的大部分网络无纸化考试系统只提供了考试内容的显示及考试答案的上传等简单的考试功能。缺少如,考试报名管理,用于协助考试管理人员顺利进行考生报名工作;考试安排管理,安排考生及监考人员的考场和考试时间的分配;考试过程管理,用于控制整个考试过程如验证入场考生的身份、为考生分配考试机器,查询考生参加考试情况、查询考场内考试进行情况、处理考生违纪情况、处理临时考试过程中出现的故障;系统管理如为考试相关人员分配权限,对每个考试系统的子系统的开关进行控制,等方面对整个考试过程而言不可缺少的管理功能。因此,开展考试管理系统的探索与实践研究有着十分重要的意义。1.2 国内外的研究现状(1) 考试管理系统的设计理论与方法的研究缺乏系统性通过对国内外有关的学术刊物(如电化教育研究、中国电化教育、educational technology等)、教育网站和国际国内有关学术会议(gccce、icce、cbe等)的论文集进行分析,考试管理系统的设计研究缺乏系统的研究。可以说,考试管理系统的设计理论的研究还处于初级阶段,还有很多问题需要去研究和探索。例如,在网络环境下如何利用网络资源进行远程考试,都值得我们去研究。(2) 管理系统开发研究才刚刚起步随着internet应用的普及,实现无纸考试已成为一种重要的考试方式。然而,与传统考试相比,在线考试系统的质量保证体系却显得不够完善、健全。(3) 现有网络考试系统的说明网络考试系统目前有两类:一是基于局域网的网络考试系统,一是基于web的网络考试系统。基于局域网的网络考试系统通常用于比较正式的考试,如计算机等级考试、职业技能考试、行业考试等;基于web的网络考试系统通常用于考生自测或网络教学系统。以下介绍两个典型的网络考试系统,用以说明国内外对网络考试系统的研究状况:1、ata智能化考试服务系统 国外比较有影响的机器考试是a0ca公司的考试系统,主要目标是模拟真实考试环境,特别适合计算机操作性题目的考试。ata在产品和服务中使用的核心技术包括:dst技术(动态模拟考试技术)、ret技术(真实环境考试技术)、srat技术(全真环境下动态转换技术)、las技术(智能化考试结果判定技术)、znm技术智能化、非线性多元组卷模板技术。dst技术是动态模拟考试、培训的技术,它基于图论的语义状态转换理论,在ata e-testing通用平台上模拟全真环境的应用软件和系统软件的操作过程及步骤。其a拟过程体现了全真环境的动态特点,对于考试、培训的过程、结果全程跟踪。dst技术摆脱了软件产品对运行环境的依赖性,完全独立于真实的执行环境。ret技术是基于组件对象模型,以多进程运行方式,允许用户在全真环境下操作,然后插捉操作过程及操作结果,在操作过程中实现智能提示及个性化教学、培训。srat技术是面向m络考试中的主观题(如编程题)而专门设计的,该技术可判断在各种语言软件、数据库应用软件坏境下,可在模拟一全真环境下动态的自动双向转换。ata公司的产品和服务中使用的核心技术,有较多可取之处。但ata考试软件更多的是用于开展计算机信息技术的考试,考试的管理也基本上由ata公司专人负责,这对于考试环境、内容随着时代的发展而发生很快变化的各类考试来说,具有相当的局限性。2、计算机等级考试系统国内计算机等级考试较早地采用了网络考试系统。这种考试系统一般采用局域网的形式,在考试之前,由专门的考试网站提供相关的报名、考务安排等软件,然后在开始考试时,将题库统一安装在各考点的服务器上。为了测试系统的方便,在正式考试之前,一般给每个考生测试一次的机会。考试采用现场打分的方式,考生只要一提交试卷,系统就给出相应的分数。为了安全起见,一般还要求考生到服务器上确认。除此之外,一些政府部门、一些行业管理机构和教育机构也先后采用了网络考试系统。这些考试系统有一个共同特点,那就是:考题基本上都是选择题,偶尔也有少量的主观题。对于主观题,如计算机二级等级考试编程题,仍然采用的是单机考试模式。四川省计算机二级等级考试主观题考试包括一道程序设计题与一道改错题。在单机模式下,每个考生必须有一张软盘,软盘上包含考试题目与改错题原题。所以,考试组织者先将考试题目给每一个考生复制一张软盘,然后发给每个考生,让考生考试完毕后将答案复制到软盘上,最后统一将软盘收集起来阅卷。这种考试方式,不仅需要大量的人力物力,而且容易出现软盘损坏,考生的数据读不出来的情况。正是在这种情况下,如何在网络下考核考生的主观题的应试能力,引起了许多研究网络考试的关注。四川工业学院计算机科学系的老师为了解决这个问题,设计了一套旨在通过网络考查学生编程的软件。他们的这套系统基本上实现了不要软盘考试,系统先自动给给每个学生建立一个文件夹,然后采用了ftp上传文件的方式,将考试结果直接传到服务器。这套系统与单机考试相比,自然是很大的一个进步。美中不足的是,学生结果文件以文件的形式保存,安全性能不好,最好是能够采用数据库的形式。1.3 课题研究的意义当今社会已经进入了信息化时代,信息传递的高速化,信息产业的多样化,信息科技的高新化已经成为全球经济和社会发展的基本特征。随着计算机应用的日益普及和深入,传统的考试方式也面临着变革,而利用计算机考试系统实现无纸化考试已经成为一种重要的考试方式。基于计算机技术的在线考试系统可以借助于遍布全球的internet进行,因此考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。试卷可以根据题库中的内容即时生成,可避免考试前的压题;而且可以采用大量标准化试题,从而使用计算机阅卷,大大提高阅卷效率;还可以直接把成绩送到数据库中,进行统计、排序等操作。所以现在较好的考试方法为在线考试,试题内容放在服务器上,考生通过姓名、准考证号码和口令进行登录,然后进行头相采集(防止舞弊),考试答案也存放在服务器中,这样考试的公平性、答案的安全性可以得到有效的保证。因此,采用在线考试方式将是以后考试发展的趋势。在各学校开始逐步引入计算机的今天,试卷作为考察教学成果的重要手段之一,一直没有得到较好的改善,试卷的编辑、整理工作占了很大的工作量。传统的手工出卷过程,存在不少弊端.如出现不必要的重复劳动,造成人力资源及时间上的浪费;缺乏科学的衡量、评价及统一试卷难易度、试卷质量的有效手段;存在自教自考,考前漏题的情况;试卷容易出现错漏缺现象,引起不必要的麻烦。针对这些情况,我进行总结分析,开发考试管理系统。本系统希望利用计算机强大的数据处理功能,由计算机逐步代替传统的人工出卷,并且规范出卷程序,使出卷工作更加科学化、现代化,使教育工作更上一层楼。1.4 考试管理系统优点(1) 可以创立电子题库,方便地实现试题的数字化管理所谓题库就是试题的仓库,是把许多题目集合到一起,供试卷编制者随时查询和使用的集合。为题目的保存、分类和检索提供了便利,为编制试卷提供了高效率和低成本的手段。电子题库是网络考试系统的重要组成部分,也是考试系统中最具有特色和实用价值的模块之一。(2) 可以按照科学的策略智能组卷,从而提高出卷效率网络考试系统以电子题库为依托,可以按照教师制定的组卷策略自动的抽题成卷,极大的提高了出卷效率。为一些面向社会开放的常年考场,提供了海量试卷资源的有力支持。也可以被广大教师用来辅助教学和测验。(3) 可以具有操作性和交互性计算机考试系统与传统纸上考试相比,有一个显著的优点和特点就是具有操作性和交互性。可以更好的“设置一定的情景让学生表现,以此衡量学生的心理品质”。如计算机应用技能的考试等,使用计算机模拟就具有纸面考试无法比拟的效果。计算机考试系统可以根据学生的反应,对试题进行调整和反馈,使一些非经典的测量理论。能够在实践中得以实现,发挥出它们的优点和长处。而网络化考试很好地继承了这个优点。(4) 使考试和判卷更具规范性和合理性考试管理系统使用计算机系统来进行考试和自动判卷。具有更好的规范性和合理性。试题的呈现和判卷的标准都是严格统一的,一般不会发生学生忘记书写姓名,答题卡填写方法不正确或错位等意外丢分情况。学生答题过程中,由于系统限制也必将更加规范,不会出现笔试中经常出现的由于学生没有严格按照答题要求做,判卷时被强行扣分的事情。判卷由系统自动完成,极大的提高了准确性,防止了人工判卷时经常出现的错判、漏判和分数计算错误的情况。使考试更加公正合理,具有权威性。(5) 实现自动判卷和数据的有效保存如果说考试使教师教学过程中重要工作之一的话,那么判卷又是教师在考试实施过程中最重要和最烦琐的工作之一。判卷有两个基本的要求,那就是快速和准确。学生希望在最短的时间内知道自己准确的考试成绩,在集体中的位置知道问题出现的所在和应该努力的方向。这也是考试教育功能的重要体现。如果判卷越慢这种对学生的反馈和激励的效果就会越小,达不到原有的考试目的。快速和准确对传统的教师手工判卷来说是一对矛盾,加重了教师的工作负担。而使用考试系统的自动判卷功能,能很好的解决这些问题。甚至在学生考试完成后,他就能马上看到自己的成绩。考试成绩的保存,对计算机考试系统来说,是非常简单方便的。而在手工考试中,需要教师特别的注意将成绩单存档或再输入计算机中,工作比较烦琐。(6) 具有强大的数据统计分析功能计算机考试系统与传统纸上考试相比具有强大的统计功能,原来非常烦琐甚至手工难以进行的分析统计计算工作,现在可以在瞬间完成了。由于考试系统从出题、考试到判卷、统计,完全实现了数字化,不再需要教师手工地将学生成绩、答题情况等详细信息输入计算机,因此使学生成绩统计分析,试题参数的统计分析及自动调整在实际工作中成为可能。随着社会的不断发展,信息保存和分析提取的日趋重要,考试实现数字化,提高数据存储和分析的能力是不可逆转的潮流,网络考试系统的发展前景是光明的。第2章 系统需求分析考试管理是教务管理中一个极为重要的环节,是检验学生学习情况的一个重要途径。面对种类繁多的数据和报表,手工处理方式已经很难适应现代化管理的要求。随着计算机及通信技术的飞速发展,高等教育对考试管理工作提出了更高的要求。尽快改变传统的管理模式,运用现代化手段进行科学管理,已经成为整个教育系统亟待解决的课题之一。2.1 考试管理系统的基本功能通过查阅资料和对现在已有的考试管理系统进行分析,了解到一个好的考试管理系统应包括如图2.1所示的几大功能。除此之外系统还应包括信息系统必须具备的通用功能,例如系统管理、权限设置、数据备份与恢复等。图2.1 考试管理系统应包括的基本功能考生管理:对考生信息进行管理,这个模块主要完成考生报名库信息录入,能实现考生信息增加、修改、删除、维护、浏览等功能。此模块在录入信息时,考生准考证号将自动智能的生成。监考老师管理:对监考老师信息进入管理,这个模块主要完成监考老师信息录入,能实现监考老师信息增加、修改、删除、维护、浏览等功能。考场管理:主要完成考场信息录入,对考场信息进行添加、修改、删除、维护、查询操作。成绩管理:考试成绩管理这部分主要是用来管理学生的考试成绩,因为是机器阅卷,分数由系统自动给出,所以成绩管理模块主要是成绩统计,管理员根据相关条件,对成绩进入各种统计:例如:每次考试的最高分,最低分,平均分,成绩分布图。 通过成绩统计可以得出很多重要的数据。考试过程管理:这是系统的核心的部分,监考老师通过服务器端控制考试的整个过程,考生通过客户端登录,输入考生信息,把输入的信息传送给服务器,服务器对其身份进行验证,验证完成后,向客户端发送确认信息,如果用户验证成功,服务器就将考试试题传送给相应客户端。考生考试前,先进行头相采集,然后进行考试,完成考试后,提交试卷,把考试答案传送回服务器。这样就完成了整个考试过程。2.2 考试管理系统数据库分析根据以上的需求分析,实现考试管理系统要建立如下数据表:试题库,系统管理员信息表,考场信息表,监考员信息表,考生报名信息表,考生成绩表,校区信息表,系部信息表,专业信息表,考试信息表,考生考试信息表(临时表)。基中,试题库,考生信息表,考生考试信息表,考生成绩是关键的表,试题库用于存放试题,考试生成试卷时,用抽题程序从数据库中读取试题,自动组卷;考生信息表用于存储考生报名信息,考生登录考试时,服务器在表中查询用户信息,验证考生信息来确认是允许用户进入考试;考生考试信息表,用于存放考生考试时的状态信息,便于监考老师对考试过程进行监控;考生成绩表存放考生考试成绩,考生可以通过web输入身份信息,查询自己的考试成绩,管理员,可以在服务器登录,查询、统计、维护考生成绩。下面列出一些重要表的名称及其用途,如表2.1所示:表2.1 考试管理系统表清单表名称 表用途select_question 保存选择题信息fill_question 保存填空题信息judge_question 保存判断题信息program_question 保存程序题信息student_msg 保存考生信息stu_examing 保存考生考试信息exam_score 保存考生成绩admin_table 保存管理员信息exam_monitors 保存监考老师信息xiaoqu 保存校区信息exam_msg 保存考试类别信息exam_rooms 保存考场信息zy 保存专业信息xi 保存系别信息2.3 可行性分析可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。2.3.1 社会因素方面的可行性本系统用于学校考试,无法律和政策方面的限制。2.3.2 经济方面的可行性主要是对项目的经济效益进行评价,本系统作为一个实训的一个项目,无需开发经费,对于我系在经济上是可以接受的,并且本系统实施后可以显著高考试效率,有助于学院完全实现网络化管理。所以本系统在经济上是可行的。2.3.3 技术方面的可行性1) 技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。2) 软件方面,网络化考试需要的各种软件环境都已具备,数据库服务器方面则有sql server,均能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。其灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。3) 硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。4) 操作方面的可行性目前,大学的校园网路覆盖了教学区和学生区的主要建筑物及部分家属宿舍,从而满足校内各学院,各职能部门,各直属单位上网需求。学校良好的网络设施为开发使用无纸化网络考试系统提供了坚实的基础。综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快.第3章 关键技术3.1 关键技术3.1.1 ado.netado.net(activex data objects.net)是.net平台内用于访问数据源的一组类。其名称说明它是具有同样用途的对象模型ado的后续版本,但ado.net比ado有了本质上的重大改进。ado.net具有全新且更好的对象模型,该模型主要使用xml作为主要的数据传输格式,同时它使得用户对无关联数据的操作变得更加简单。比起它的前辈ado来说,ado.net的主要优点在于:编程更简便、性能更高、伸缩性更强、对单个数据源特性的依赖更小以及与其他平台的交互性更强。下面介绍一下ado.net的工作原理,如图 3.1所示。客 户 dataset datasetcommand command datareader 可管理支持程序 connection数 据 源 图3.1 ado.net工作原理图该图中的阴影框表示各个对象,它们均为ado.net的一部分。黑体字表示通过连接对象从数据源中获取数据的方式,而command和datareader两个对象则表示通往connection对象的两条路由。ado.net保存数据的基本对象是dataset。dataset是.net类system.data.dataset的一个实例,它代表数据库中用户所感兴趣的部分在内在中的备份甚至还可以代表整个数据库。它不是一个单独的表,而是一组包含了表结构数据(如主关键字)的表,同时它还包括表之间的所有关系。dataset中包含了一个丰富对象模型,该对象模型允许用户访问其中的表、行、列和关系。需要特别强调的是,dataset是整个或部分数据库的一个无关联备份。通常在进行数据操作时,用户通常需要示例dataset,从数据库中将其填充,然后再对其进行操作。当用户更改了数据并准备将更改结果发送加数据源时,可以一次性完成发送操作,这是因为dataset是一个非常智能化的对象。例如,它可以记住自己以前的状态并将用户对它的修改进行标注,其结果是只有数据中被更改的部分发送回数据库。利用ado,recordset可以通过其他ado对象与数据库进行数据交换,而在ado.net中,dataset则是一个独立的可包含某些数据的实体,与recordset不同的是,它不能与任何数据源进行数据交换。发挥数据交换作用的是可管理支持程序(managed providers)。每个可管理支持程序可以被认为是介于dataset和数据源之间的一组对象。这些中间对象负责与给定的数据源进行通信,这就意味着dataset无须了解任何有关数据源的问题,同时也表明,对用户来说学习如何用dataset编码变得更加容易,原因在于不再依赖任何数据源。3.1.2 网络编程技术(c/s模式)、数据通信、文件传输技术随着网络的调整发展,如今的编程语言对网络编程的支持已经是不可或缺的。作为新一代的与.net framework关系甚密切的c#语言,更是从极细微的方面全方位地对网络编程进行了支持,而且具有许多新特性,譬如支持现有的网络编程新标准及新技术;c#程序员可以在microsoft.net平台上很轻松地构建出应用程序的扩展框架;包含了内置的特性,使任何组件可以简易地转化为xml网络服务,通过internet被不同操作系统上运行的任何程序调用。c#程序员还可以方便地使用面向对象的编程技艺来开发利用现有的cml网络服务。(1)client/server模式当今,网络应用模式由最初的对等模式发展到client/server(客户端/服务器)模式,直到现在广泛应用的三层client/server模式,即:用户使用标准的客户端(如microsoft的internet explorer等常用的网络工具)访问应用服务器,由应用服务器对数据库进行操作。当然,c#的网络开发也将遵循client/server模式。(2)网络连接的流程客户端和服务器端程序的基本动作流程(tcp方式),如图3.2所示:网络初始化网络初始化工厂 请求连接 connect() 获得服务端接字socket socket 数据传输 read/write etc.关闭连接client.close()连 接 确 认 监听端口listener()获得客户端套接字socket socket数据传输 read/write etc关闭连接listener.close()图3.2 tcp动作流程设计中,利用system.net.socket中的tcpclient类和tcplistener类实现client/server模式的一个做法。server端启动服务程序,监听clinet端的连接请求;client端在启动时必须提供server端的ip地址和端口号。3.1.3 头相采集技术考试管理系统,利用摄像机对考生进行头相当场采集,可以有效地防止考生代考的现象。计算机在安装摄像头驱动程序后,一般可以找到一个avicap32.dll文件,这就是一个关于摄像机的类,调用它,可以使应用程序接上摄像头,对考生进行摄像。3.1.4 数据库存储图片文件将图片存到数据库中时,首先要将其转化成二进制流,新建一个内存流,把图片存放到二进制流中,然后将二进制流中的内容按字节读入到字节数组中,存放数据到数据库时,只要把该字节数组存放到数据库中,就可以实现数据库存储图片。1、图片存入数据库的实现代码如下:try /新建一个内存流memorystream ms=new memorystream();/把图片内容存到二进制流中去filestream fsimage = new filestream(c:examdatac.bmp,filemode.open, fileaccess.read);/把内存流中的内容按字节读入字节数组中byte mydata=new bytefsimage.length;fsimage.position=0;fsimage.read(mydata,0,convert.toint32(fsimage.length);/将字节数组存储到数据的操作 catch(exception ex) messagebox.show(ex.tostring().trim(),提示信息,messageboxbuttons.ok,messageboxicon.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 c+或visual basic等语言中,由于没有可视化的设计界面来设计打印面,实现打印有时会比实现用户界面所需要的代码量还要多。所以在这些语言中,主要通过两种方式实现打印:通过第三方软件或利用office vba的功能实现文档打印。第三方软件比如水晶报表或activereport等,都拥有图形化的设计界面,可快速实现打印功能,实现简单、使用方便、有强大的功能。使用office vba实现报表或文档的打印具有灵活性,配合office提供的宏记录功能,可较为快速的实现编程。使用office,并且在报表格式改变后,需要重新更改代码。.net框架在实现报表打印上提供了灵活简便的方案结合与打印相关的类,通过明确编码可实现复杂格式的报表打印,如常用的打印预览和将报表输出到打印机上等。另外,微软公司提供的aql server report server产品适用于企业级报表的生成,具备强大的报表的生成和打印功能,援用类似于office word的表格设计功能,在支持net的语言中,可通过增加web引用实现对某一报表的引用。sql server report在报表格式更改后,不需要更改程序代码,对于需要实现企业级报表的开发项目来说,是一个极好的选择。由于初学.net,水平有限,加之设计时间很紧,本次设计我采用了最方便的第三控件:水晶报表,对考生报名信息进行打印。3.1.6 数据加密、解密技术数据加密,是保证数据安全最重要的手段。考试管理系统的设计,像考生答案和分数这样的字段是必须加密码的,如果不加密,很容易被恶意的修改,考虑到考试的公平、公正,数据的安全等问题,采用数据加密技术,对数据库中一些重要字段进行加密。要正确显示读取加密后的数据,所以在读取加密码数据时必须对其进行解密,才能显示出正确的信息。此次设计的加密算法采用rijndael算法,是今后的几年内,在许多密码术的应用中rijndael将逐步取代数据加密标准(des)以及后来的triple des。这个算法是由两个比利时密码学家vincent rijmen和joan daemen设计的。rijndael算法是新一代的对称区块密码,它支持128,192,还有256比特的金钥大小,数据以128比特的区块来处理,但不同于aes设计标准的是,区块大小能反映金钥的大小。根据不同的金钥/区块大小,rijndael使用不同的回合数,如下所示: 如果金钥/区块大小为128比特,则回合数为9。 如果金钥/区块大小为192比特,则回合数为11。 如果金钥/区块大小为256比特,则回合数为13。 rijndael是一个取代线性变换密码,它不需要feistel网络。rijndael使用了三个离散可倒转统一变换(层),它们是:线性混合变换(linear mix transform),非线性变换(non-linear transform),以及金钥加法变换(key addition transform)。在第一个回合前就执行了一个简单的金钥加法层,这样就增加了安全性。这之后就是nr-1个回合以及一个终止回合(final round)。这变换形成了一个开始后但又是整个过程结束前的状态(state)。 这个state可以认为是一个矩阵,行数为4,列数为区块长度(block length)除以比特长度(比如,除以32)。密码金钥同样也是一个行数为4的矩阵,不同的是列数为金钥长度除以32。而区块可以看作是4字节线性矩阵的向量。 实际的变换是这样的:位元组取代转换是非线性的取代转换,每个state字节都将独立地执行位元组取代转换,其中s-box(取代表)由两个变换构成,并且它们是可逆的。移列变换使state的每一列以不同的位移作偏移。偏移的位移取决于这个state的区块长度。换行变换把state列看作一个存在gf(28)中的多项式,并且对一个固定的多项式作乘法,如果发生溢位,则再模x4+1。最后,对state用回合金钥变换作异或。金钥排程(key schedule)通过金钥扩充(key expansion)和回合的选择来帮助加密金钥(cipher key)决定回合金钥(round key)。 总的来说,rijndael的结构体现了一种高度的结构化的设计,这使得在克服未来任何袭击对算法作出修改时将比过去的算法设计容易得多。第4章 核心算法4.1 智能组卷算法自动组卷是考试系统自动化操作的核心目标之一,而如何保证生成的试卷能最大程度的满足用户的不同需要,并具有随机性、科学性、合理性,这是实现中的一个难点。尤其在交互式环境下用户对于组卷速度要求较高,而一个理论上较完美的算法可能会以牺牲时间作为代价,往往不能达到预期的效果。因此,选择一个高效、科学、合理的算法是自动组卷的关键。以往的具有自动组卷功能的考试系统大多采用随机选取法和回溯试探法。随机选取法根据状态空间的控制指标,由计算机随机的抽取一道试题放入试题库,此过程不断重复,直到组卷完毕,或已无法从题库中抽取满足控制指标的试题为止。该方法结构简单,对于单道题的抽取运行速度较快,但是对于整个组卷过程来说组卷成功率低,即使组卷成功,花费时间也令人难以忍受。尤其是当题库中各状态类型平均出题量较低时,组卷往往以失败而告终。回溯试探法这是将随机选取法产生的每一状态类型纪录下来,当搜索失败时释放上次纪录的状态类型,然后再依据一定的规律(正是这种规律破坏了选取试题的随机性)变换一种新的状态类型进行试探,通过不断的回溯试探直到试卷生成完毕或退回出发点为止,这种有条件的深度优先算法,对于状态类型和出题量都较少的题库系统而言,组卷成功率较好,但是在实际到一个应用时发现这种算法对内存的占用量很大,程序结构相对比较复杂,而且选取试题缺乏随机性,组卷时间长,后两点是用户无法接受的,因此它也不是一种很好的用来自动组卷的算法。分析上述两种算法的优缺点,不难发现,在限制条件状态空间的控制下,随机选取法有时能够抽取出一组令用户满意的试题。只不过由于它随机选取试题的范围太大,无法确定目前条件下哪些区域能够抽取合适的试题,反而可能在那些已经证明是无法抽取合适试题的区域内反复选题,进行大量的无效操作进入死循环,最终导致组卷失败。回溯试探法组卷成功率高,但它是以牺牲大量的时间为代价的,对于现今越来越流行的考生网上随机即时调题的考试过程来说,它已不符合要求。因此,必须结合以上两种方法寻找一种新的改进算法,这种算法要具有全局寻优和收敛速度快的特点。遗传算法(genetic algorithms)以其具有自适应全局寻优和智能搜索技术,并且有收敛性好的特性,能很好的满足自动考试组卷的要求。4.2 遗传算法的基本步骤holland 1975年提出的传统的ga。它的主要步骤如下:第一步:编码:ga在进行搜索之前先将解空间的解数据表示成遗传空间的基因型串结构数据,这些串结构数据的不同组合便构成了不同的点。第二步:初始群体的生成:随机产生n个初始串结构数据,每个串结构数据称为一个个体, n个个体构成了一个群体。ga以这n个串结构数据作为初始点开始迭代。第三步:适应性值评估检测:适应性函数表明个体或解的优劣性。不同的问题,适应性函数的定义方式也不同。第四步:选择:选择的目的是为了从当前群体中选出优良的个体,使它们有机会作为父代为下一代繁殖子孙。遗传算法通过选择过程体现这一思想,进行选择的原则是适应性强的个体为下一代贡献一个或多个后代的概率大。选择实现了达尔文的适者生存原则。第五步:交换:交换操作是遗传算法中最主要的遗传操作。通过交换操作可以得到新一代个体,新个体组合了其父辈个体的特性。交换体现了信息交换的思想。第六步:变异:变异首先在群体中随机选择一个个体,对于选中的个体以一定的概率随机地改变串结构数据中某个串的值。同生物界一样,ga中变异发生的概率很低,通常取值在0.0010.01之间。变异为新个体的产生提供了机会。ga的计算过程如图4.1:选择编码方式产生初始群体计算初始群体的适应性值选择 交换 变异计算新一代群体的适应性值y 如果不满足条件n 计算完成图4.1 ga的计算过程图4.3 遗传算法描述遗传算法是一种并行的、能够有效优化的算法,以morgan的基因理论及eldridge 与gould间断平衡理论为依据,同时融合了mayr的边缘物种形成理论和bertalanffv一般系统理论的一些思想,模拟达尔文的自然界遗传学:继承(基因遗传)、进化(基因突变)优胜劣汰(优的基因大量被遗传复制,劣的基因较少被遗传复制)。其实质就是一种把自然界有机体的优胜劣汰的自然选择、适者生存的进化机制与同一群体中个体与个体间的随机信息交换机制相结合的搜索算法。运用遗传算法求解问题首先需将所要求解的问题表示成二进制编码,然后根据环境进行基本的操作:selection,crossover,mutation这样进行不断的所谓“生存选择”,最后收敛到一个最适应环境条件的个体上,得到问题的最优解。simple_genetic_algorithm() t:=1; /*变量t表示迭代代数*/ 初始化候选解群体population(t); 计算各个解的适应值; do while(终止条件不满足) 随机地将群中的个体两两配对,进行交配操作; 执行变异操作; 利用选择机制形成下一代候选取:population(t+1):=selection(population(t); t:=t+1; 4.4 遗传算法应用一般来说,用户在自动组卷时会对试卷的质量提出多方面的要求,如总题量、平均难度、题型比例等,自动组卷就应最大程度的满足用户的要求。因此,在组卷之前,我们首先为自动组卷过程建立控制指标相应状态空间d,d=,d的每一行由某一试题的控制指标组成,如题号、题型、分值、难度等,并且这些属性指标都进行编码表示成二进制形式,而
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 技术入股权益分配协议
- 跨国工程项目贷款合同示范文本
- 商品鸡苗购销协议书2024年
- 第5章-核反应堆流体力学-核工程概论课件
- 商用场所装修合同
- 加工贸易协议范本
- 大数据分析技术合作合同样本
- 授权额度借款合同范本
- 餐厅转让合同书
- 应届毕业生就业实习合同样本
- 2024-2030年中国市政公用工程行业市场发展分析及发展潜力与投资研究报告
- 服务营销《(第6版)》 课件全套 郭国庆 第1-14章 服务与服务营销 - 服务文化与顾客关系管理
- 2024-2030年天津市轨道交通行业市场发展分析及发展前景与投资研究报告
- 2020-2021学年浙江省杭州市余杭区八年级(上)期中数学试卷(附答案详解)
- 中医与辅助生殖
- 职业技术学校建筑工程施工专业调研报告
- 北京市海淀区人大附中2022年数学八上期末联考试题含解析
- 英国医疗保险幻灯片
- 2024年装饰美工(四级)职业鉴定理论考试题库(含答案)
- 八年级月考质量分析
- 自愿让利协议书
评论
0/150
提交评论