




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电力系统员工业务能力测试系统的设计与实现【摘要】本文介绍了电力系统员工业务能力测试系统的设计与实现,作者调研并总结了本单位的对系统的需求,并结合相关材料进行论证,最终确定了系统设计与实施的技术路线。【关键词】 业务能力测试系统、.NET 、可维护性、设计模式1. 引言电力系统员工业务能力测试系统属于在线考试系统的范畴。在线考试系统目前已经在各个层次的教育中得到了广泛的应用,作为一种有别于传统考试的新型方式,在线考试在出题卷、改卷、考场组织等各个方面均有效率的提升。目前已经有许多人对其各个环节进行了大量的研究与设计。这些研究包含考试的各个阶段。从在线考试应用的时间上可以分为“考试前”、“考试中”“考试后”三个阶段。对于考试前,在线考试需要进行试卷的组织、考场的组织等工作。考试中则需要进行承担学生答题及作弊判断的工作。而考试后要进行改卷工作和数据挖掘与分析工作。也有一些研究从所使用的技术与架构等方面对在线考试系统进行研究,经过分析论证,本设计以提高系统的可扩展性、可维护性为重点研究内容。2. 开发背景与可行性从目前应用的在线考试系统看,可以简单的分为三个类别:1、以课程为应用对象的在线考试系统。这种考试系统具备初步的出卷答卷改卷功能,然而因其应用对象的局限,其规模往往较小。2、各种考试机构开发的在线考试系统。例如以承办各种考试为主营业务的ATA公司就开发了多种在线考试系统,并在微软的认证考试与一些银行的从业考试上使用。该类考试系统所关注的是系统的可靠性,因此在实现上并不采用复杂的结构,而是尽量的简单以减少出故障的可能性。这种考试系统中的题型有限3、以高校或培训机构为主体开发的通用在线考试系统。这一类型的系统尽可能的包含更多的课程,在题型上除了常见的选择、填空、问答之外,还提供了复杂的操作题、视听题等,该类型的考试系统因为要考试到各种复杂的情况,因此在技术实现上存在各种困难,为了支持以后的升级,在设计时采用良好的体系结构尤为重要。电力系统员工业务能力测试系统属于第三类的在线考试系统,除了传统题型之外,还需要支持声音、图像、视频及三维动画的呈现与交互。随着业务的发展,将还会出现其他各种形式新题型。如何提高该系统的可维护性,在出现新题型时尽量减少升级时的工作量是本系统设计与实现时必须考虑的一个问题。另外,由于目前使用的数据库为SQL Server,对业务进行分析后发现在后续的业务中有切换数据库的可能,因此软件的设计开发还得考虑数据库更换的可扩展性、可维护性。本研究为工程设计类型的研究,其所用的理论与实践经验都已经在一些项目上得以实施。因此在技术上是可行的,该项研究以满足企业的需求为第一要务,将重点放在提高软件可维护性、可扩展性上,具有很高的经济可行性。3、国内外的研究现状3.1 在线考试的研究现状针对试卷组织前的相关研究:在考试前需要组织试卷。针对试卷分发的相关研究:在线考试系统采用B/S结构的,不存在试卷分发的问题。然而B/S结构的在线考试系统并不适合所有的考试。在参考文献A中设计了一个C/S结构的试卷分发系统。该系统的采用.NET体系。“发卷”的过程实质上就是将服务器上共享的考试试卷复制到考试机上,而“交卷”的过程则是“发卷”的逆过程。因此利用.NET中已经提供的一些类与方法就能很容易的完成系统的设计。其主要方法有:Directory.GetFiles:获取一个路径下的所有文件Directory.Exist:判断文件是否存在Directory.GetDirectories:获取子文件夹File.Copy:复制。针对考试过程中的反作弊研究针对考试系统中的各个作弊环节与作弊手段,目前已经有不少相关的研究。针对试题答卷的保管和评阅过程中都可能会发生答卷被替换、修改和恶意篡改等舞弊行为,参考文献1给出了基于PKI 的网络考试安全机制研究成果,在身份证认、试题完整性、安全性方面提出了相关的解决方案。针对替考现象,参考文献2提出将自动人脸识别技术应用到网上考试系统中,在该研究中构建了一种考试系统实现流程框架模型,在整个在线考试过程中能不断地对考生进行身份验证,实现了考试的全程监控,这样既避免了一些作弊行为的发生,还增加了在线考试成绩的可信度。为了避免考生在考试过程中利用各种软硬件的缺陷进行作弊,往往考试系统中设计时都采用了一定的技术手段对常见作弊手段进行屏蔽。如参考文献3就采用了用系统API调用技术、注册表访问技术、消息拦截技术、回调技术、钩子技术等手段来对一些操作进行屏蔽或禁用。针对考试过程中利用网络在进行信息传递的作弊手段,参考文献4提出了以下的解决方法:针对网络环境,通过三层交换到桌面的技术,控制局域网内任两点之间的通信。利用三层交换机的具有的强大功能,对IP 地址实现过滤,数据帧过滤功能可以限制端口之间的通信,从而达到禁止局域网内用户之间互相通信的目的。参考文献5在对在线考试作弊的各情况进行分析后发现:目前许多在线考试系统中的反制作弊的手段是针对作弊手段采用堵截的方式,这种静态的被动的方式落后于考生作弊手段的发展,也不利于反作弊手段的升级。因此可以采用专家系统,借助专家的经验,针对学生的作弊手段展开主动防御。并且提出了一个新的反作弊思路,即使用专家系统对学生的答题动作进行判断,根据规律推定其是否作弊。在该文献中对实现专家系统的推理机与知识库两个核心模块进行了设计。对于考试后的改卷,有如下的研究传统的题型如填空、选择、判断等很容易用代码通过匹配的方式进行改卷。然而对于操作题、主观题等题型,难以使用计算机进行简单的判断。因此有一些学者对这一方面进行了研究。在参考文献6中针对大学计算机基础课程中的操作技能部分进行了研究,利用Office 的对象模型,对文档结果进行自动判分,以达到自动测评的目的,并对操作技能自动测评关键技术进行研究。对于试卷所有的技术架构主要为B/S结构与C/S结构,也有B/S与C/S混合使用的情况。在所采用的技术上也有不同。除软件结构外,参考文献还对在线考试的网络环境进行了研究。在该研究中使用C#对Office组件进行平台调用。微软的Office 各组件文档(例如:Microsoft.Office.Tools.Excel), 由于其带有大量专门针对于Office 文件的函数、对象,通过它们可以方便地访问到文档中的各个元素,并对它们的状态进行识别判断,通过对这些文档对象及函数分析, 获取相应的自动信息数据处理方法及考生的文档结果信息,利用Offiee 的对象模型,对文档结果进行自动判分,以达到自动测评的目的。3.2电力部门培训业务的研究由于本文研究的电力部门内部的培训系统,因此在业务的分析上参考文7 有很大的参考价值。在该文献中列举出了系统所要求具备的模块:安全知识、题库管理、学习管理、试卷管理、考务管理、在线考试和查询统计等。该系统可以提供身份证号和准考证号两种方式登录,既可用于日常练习与培训教材,也可用于考试。为更好的为学员学习提供帮助,在该系统中提供了知识录入的功能,可以按书本章节的方式进行知识的录入和阅读。系统管理员可以对系统题库管理中的所有内容进行增、删、改的维护操作,提供试题分布统计,便于对试题补充维护。设置考试计划基本信息,包括计划名称、计划说明、计划开始时间、计划结束时间等信息,并可上传该计划相关的附件。试卷可以设置加密密码。试卷出完后,如要进行修改、查看、审核都要首先输入加密密码,确保了试卷的保密性。试卷可以自己定制。采取固定试卷方式可以根据规则制定试卷,所有考试用户所考试卷为完全相同。3.3数据访问的研究可确定的是,在线考试中大量的数据存储在关系数据库中。仅从访问方式看,.NET对数据的访问有StoreProcedure、Text及DirectTable三种方式。从这三种方式中仔细分析对可维护性进行研究发现:存储过程采用的是使用SQL语句事先将业务逻辑写出,经过编译后作为数据库的一个对象保留在服务器端。因此存储过程在性能上占有优势,但由于其事前编译的因素,在业务逻辑经常变化的情况下需要反复修改。因此其扩展性差。DirectTable方式直接输出一张表,使用该方式的场合较少。对于SQL 语句,可以写在代码中,然而这种硬编码的方式更难以维护。因此,可以对SQL语句采用动态生成的技术。参考文献8提出了一种使用T-SQL来生成T-SQL的SQL动态生成技术。该文献从业务的角度出发列举了一个修改雇员字段的例子,然而现实中该字段分布于多个表中。如果逐一修改,不仅费时费力,也存在遗漏。文献中提出的解决方法基于SQL的对象。在SQL Server的设计理念中,表、视图、存储过程、用户自定义函数、触发器及各项约束等均可以被当作“对象”,并通过Sys.objects中呈现。其中type及type_desc标注对象的类型。因此可以通过对该视图的查询,使用T-SQL提供的聚合赋值和动态执行功能,结合CASE函数等各种字符串处理方法,可以在执行过程中动态生成简洁的SQL脚本,代替设计时硬编码方式的脚本编写。这种方法可以在业务发生变化时,仅少量改动就可以使系统继续运行,即提高了系统的可维护性。4、本课题的主要研究内容及思路对以上的几点研究方向与本课题的实际情况相结合研究,确定本研究以尽可能满足以后业务的变化为研究内容。要使用应用程序尽可能的满足业务的变量,则需要在不同的模板之间进行适合的解耦。针对软件开发过程中的不同模块,将从以下几个方面进行软件体系结构的设计,以提高软件的可扩展性与可维护性。4.1 组件化的程序设计使用组件化的程序设计最基本的思想将各项功能以组件、部件的方式进行开发,最终以拼接积木的方式组合在一起。在进行组件设计时需要考虑组件之间的耦合情况,尽可能采用优秀的设计来降低各组件之间的耦合性,从而提高系统的可维护性。在参考文献9、10、11中阐述了组件技术兴起的原因;并结合开发实例,进一步阐述了在软件开发过程中组件技术应用的优势以及如何构建组件。在定义组件时,需要定义好组件与外部的接口。组件发布后只能过通过已定义的接口来提供合理的、一致的服务。因此,组件的接口需要具有稳定性,不依赖于具体珠实现。组件的接口必须标准化。C#组件化程序设计方法继承并发展了面向对象的程序设计方法。它把对象技术应用于系统设计,对面向对象的程序设计的实现过程作了进一步的抽象。可以把组件化程序设计方法用作构造系统的体系结构层次的方法,并且可以使用面向对象的方法很方便地实现组件。C#组件化程序设计的方法有以下几个方面的特点:1)、编程语言和开发环境的独立性;2)、组件位置的透明性;3)、组件的进程透明性;4)、可扩充性;5)、可重用性;6)、具有强有力的基础设施;7)、系统一级的公共服务;C#语言由于其许多优点,十分适用于组件编程。4.2、使用相关的设计模式参考文献13-16对设计模式在各行业中的应用进行了研究。由于业务上存在数据库变化的可能,因此需要考虑在数据库与应用程序之间进行解耦。而设计模式就是解决软件开发中的复用性、灵活性、扩展性及维护性,因此设计模式是为满足本研究而必须涉及的一个方向。模式:每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这是关于模式最经典的定义。在软件开发过程中遇到的许多问题有着很大的相似性。对于这些问题经典的解决方法就是设计模式。设计模式有以下的基本原则:1) 单一职责原则(SRP):不要把变化原因各不相同的职责放在一起,因为不同的变化会影响到不相干的职责。2) 开放封闭原则(OCP):软件实体(类、模块、函数等)应该是可以扩展的,但是不可修改。3) 依赖倒置原则(DIP):抽象不应该依赖于细节。细节应该依赖于抽象。4) 接口隔离原则(ISP):不要强迫客户使用它们不用的方法,如果强迫用户使用它们不使用的方法,那么这些客户就会面临由于这些不使用的方法的改变所带来的改变5) 替换原则(LSP):子类型可以替换父类型。由于数据库变化的不确定,所开发的软件与数据库之间应该使用接口隔离原则将数据库的与软件之间的操作分割开。这一点在工程上已经有成熟的设计可以借鉴,即采用抽象工厂模式将数据访问层独立出来,数据库与软件通过数据访问层进行交互,而非直接进行耦合。在数据访问层需要记录数据库访问的特征,例如:服务器名、数据引擎、用户名、客码、服务库实例名等信息。这些信息如果采用硬编码方式写在代码中,则日后难以维护,因此应该采用依赖注入的方式将基本信息独立成配置文件,以减少系统各模块之间的耦合度。4.3、使用反射与ORM等技术在参考文献17-20中,均对ORM技术进行了介绍进分析其在实际案例中的应用。电力员工的业务能力测试系统中也经常由于需求的变化而需要不断升级。例如业务变化后需要记录每道题目的提交时间,则需要在原有的表T(ItemID、Question、Answer)中增加一字段time。使之成为T(ItemID、Question、Answer、time)的类型。这一结构的修改看似平淡无奇,却对设计提出了较高的要求。如果设计不当,将会造成更多的问题,比如对于如下SQL语句: INSERT INTO Table1 VALUES (A,B),在对Table1进行了修改,增加了一个新列后,该SQL语句则无法正常工作,原因就在于列的数量不匹配。在面向对象设计的思想下,数据库的表往往被映射为代码中的类。如下图所示,数据库的表与类的字段有一一对应关系。在相关的类中封装了对数据库的操作,例如增加、删除、修改、查询等。这种设计简化了代码的编写,甚至使得一些高度相似的代码可以使用代码生成器生成。但这种方法的坏处就是当数据库结构或者映射关系发生改变时,需要修改代码,这导致重新编译重新部署。业务有变化时,数据库要进行修改、对应的映射关系的代码也不得不改,这就造成了较高程度的耦合。在开发过程中应尽量减少耦合,对于该问题,可以使用.NET中的反射技术来进行处理。使用反射,可以列出任何对象类型的所有的字段,属性,方法和事件的名称,包括公开的或私有的。还可以更深入的获得字段的数据类型,成员方法的参数的个数,类型及其返回值;事件使用的委托类型等等。可以说反射技术就是.NET框架提供的只读的程序基因分析技术。在使用反射技术之后,就可以从编写好的类中还原出数据库的表结构,并在运行时动态生成SQL语句,从而降低了系统的耦合。参考文献1 王尚平, 谢小琢, 张亚玲, 牛鹏超基于PKI 的网络考试安全机制研究及实现全国大学生数学建模竞赛考试系统的研究与实现计算机工程与应用,44(24): 208211 2 张成功 自动人脸识别在网上考试系统中的应用 山西大同大学学报(自然科学版), 2009 (3):7072,803 田民格无纸化考试系统防止考生作弊的实现措施 三明学院学报, 2007(12):4564584 武伟,魏晓,魏仕民基于监控服务器的在线考试防作弊方法的研究 计算机工程与设计, 2007(4):194119435 黄玮基于专家系统在线考试反作弊模块架构设计 福建电脑, 2010(7):14156 吴立春在线计算机基础操作技能自动测评关键技术研究 现代计算机, 2010(8):1531557 刘伟斌国家电网公司安全培训考试系统介绍中国电力教育, 2010(21):2302318 王小鉴使用T-SQL生成T-SQL 程序员, 2009(11):90939 徐敏. 周定康组件技术在软件开发中的应用 计算机与现代化, 2002(2):909310 杨晓红 朱庆生组件化程序设计方法及组件标准 . 重庆大学学报(自然科学版), 2009(11)11 李勇建 贾春福 袁晓洁 涂奉生面向对象方法在企业评价诊断系统开发中的应用 . 计算机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 栗子鼠阅读测试题及答案
- 九年级英语上册 Unit 5 What are the shirts made of Section B(3a-Self Check)说课稿(新版)人教新目标版
- 六年级品德与社会上册《我们爱科学》说课稿 辽师大版
- 道法专业理论考试题及答案
- 质量专业能力考试题及答案
- DB65T 4469-2021 伊犁鹅种用品质评定技术规范
- 电石厂应急预案(3篇)
- 电力抗震应急预案(3篇)
- 电缆接续应急预案(3篇)
- 数字化技术在零售门店智能顾客数据分析与营销策略的应用研究报告
- 企业PaaS云平台应用交付方案
- 衡器检定管理办法
- 2025仓库保管员试题及答案
- 石油化工生产技术课件
- 云南省小学劳动与技术教育实验课本教案教学计划
- 企业诉讼案件管理办法
- 成都数字化档案管理办法
- 掘进安全培训课件
- 《中国儿童幽门螺杆菌感染诊治专家共识(2022)》解读
- 第2课《中国人首次进入自己的空间站》练习题2025-2026学年统编版语文八年级上册
- 山西单招考试题库及答案
评论
0/150
提交评论