版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网络考试系统的设计与实现考号: 姓名: 内容摘要 随着计算机科学与互联网技术的发展,网络考试显示出其广阔前景。由于考试本身所具有的公正性及特殊要求再加之技术原因,在线考试系统一直未得到提倡。本系统在分析了传统考试与在线考试的特点之后,尝试给出一个包括试卷生成与管理及阅卷与成绩管理的在线考试解决方案。 本文重点分析了系统实现过程中几个关键问题:将组卷抽象为组合优化问题,并设置试题属性,依据属性建立试题库;采用改进编码的遗传算法作为组卷方法,取代传统二进制编码,提高了组卷的效率与成功率;阅卷采用计算机阅卷与人工阅卷相结合的方法,减轻教师的负担;成绩自动生成、分析、发布,方便老师和学生。 本系统采用
2、B/S三层结构作为系统的开发结构,使用ASP.NET技术进行开发,后台数据库使用SQL Server 2005,实现了网络考试系统。 关键词自动组卷 在线考试 遗传算法 ASP.NET SQL C# 第一章 绪论 1.1背景 目前我校大多数课程进行的考试都采用传统的考试方式,组织一次考试至少要经过几个步骤,即人工出题、教研组组长与主管教学的系领导审核批准制卷、试卷打印、考生考试、人工阅卷、成绩评定、试卷分析,并且在出试卷时必须要求制作一套完整的试卷(包括A卷和B卷)及相应的评分标准和参考答案,再加上考试教室的安排、监考老师的分配等,使学校消耗大量的人力、物力、财力、时间。显然,随着学生人数的增
3、多,考试类型的不断增加及考试要求的不断提高,学校的开支越来越大,教师的工作量也将会越来越大,从而严重影响学校的工作效率,并且考试本身就是一件十分繁琐和非常容易出错的事情,传统的考试方式已经越来越不能适应现代教学要求,应改变传统的纸张考试的方式,充分利用计算机和网络技术,实现计算机考试,从而使考试更加公正、客观。 随着新校区学生数量越来越大,学校在计算机和网络方面的投入也越来越大,学生上网越来越方便。因此,本课题拟用学校现有的软硬件资源设计并开发一个适合我校管理实际,能针对不同课程科目进行考试的网络考试系统,从而提高学校在考试组织和考务管理方面的工作效率和工作质量,减轻教师和考务人员的工作负担,
4、降低学校开销,对推动学校管理机制的进一步完善,充分体现高校管理工作的先进性,具有重要意义。 1.2 国内外研究状况 计算机网络考试在美国诞生,历经多年,在国外得到广泛的运用。目前,世界上许多国际考试都采用网络考试的方式,比如微软认证,思科认证,惠普认证,以及TOFEL,GRE,这些考试都是通过网络实时进行的。并且国际电气和电子工程师协会的一些工作小组,开展了相关标准的制定和修订工作。 在我国,将计算机与网络运用在考试上比较晚,但也有一些投入使用的考试系统,如计算机等级考试,驾驶员理论考试,以及最近投入使用的大学英语四六级考试等。我国教育部于2000年5月推出现代远程教育资源建设技术规范,其中对
5、网络题库、考试系统的建设规范进行了定义。教育部组织国内8所重点高校的有关专家成立教育部教育信息化技术标准委员会,开展网络教育技术标准研制,制定中国现代教育技术标准CELTS。 考试系统的设计的目的和意义1.3 近几年来我校教学体制不断改革,对检验教师教学效果和学生学习效果的手段也一直在探讨中,但是除了计算机文化基础之外,其他科目还是利用教师手工出卷学生答卷的传统模式进行考试,而且多数情况下对试卷的处理还是沿用传统的手工处理的方式,虽然传统的手工方式对处理主观性试卷有一定的优越性,但是从整个考试环节看,又不可避免的出现以下几个问题。 1试卷缺乏随机性:由教师手工编写具体的试卷,其中每道题均由教师
6、指定,每次考试学生面临的试卷相同。试卷从老师向学生传递的过程中会发生不同程度和形式的泄密,并且考生在考试时难以从技术上避免作弊行为的发生。 2教师工作量极大,负担重:这主要表现在出卷和阅卷环节上。教师需要花费时间总结、整理本学期课程的内容和知识点,然后还要手工出题组卷。考试完毕后,还需教师评阅,登记,分析。在整个过程中工作量大,效率低。 3考试场所缺乏灵活性:参加同一门考试的学生必须在同一时间内参加考试,需要教务部门专门安排考场和监考人员,这是一笔不小的开销。 相比传统考试形式,网络考试系统的主要好处是一方面可以动态管理各种考试信息,只要准备试题量足够大、试题足够标准的试题库,老师便可以根据该
7、课程的教学大纲和教学内容制定组卷策略,设计试题的编制要求,计算机则可以根据一定算法按照要求从题库中取出满足条件的试题并生成试卷;另一方面利用该系统考试时间灵活,可以充分利用网络无限广阔的空间,随时对学生进行考试。简化传统考试过程,减轻繁重的考务工作,避免考试过称中的人为因素,提高考试考核水平和管理水平。此外,网上考试系统阅卷速度快,迅速给出客观题成绩,减轻老师阅卷负担。 目前我校在许多方面都实现了信息化、网络化,但是期末考试大多数科目仍是传统考试模式。大量时间浪费在重复劳动上。计算机网络考试系统不但充分发挥校园网的功能,而且可以节约考试用纸,是考试方便、灵活,有效防止作弊,提高学校在考试组织和
8、考务方面的工作效率和质量。 1.4 课题研究的主要内容 目前常见的网络考试系统有两种,一种是基于客户机/服务器(即Client/Server,简称C/S)模式。另一种是基于浏览器/服务器(即Brower/Server,简称B/S)模式。采用C/S模式的考试系统,需在考试前在客户机安装考试应用程序、对数据库进行配置,系统浏览器实现,极少部分事务逻WWW模式下,用户界面是通过B/S维护困难,成本较高。在辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,减轻系统维护与升级的成本和工作量。 在比较两种体系结构的优缺点的基础上,本系统设计采用B/S模式,将SQL Server
9、2005与ASP.NET 2.0技术结合起来,实现系统的主要功能。 本课题主要解决问题如下: 1建立标准化试题库,方便实现试题的数字化管理。 所谓题库就是试题的仓库,把经过教师认真编制或者仔细挑选出来的题目集合到一起,供试卷编制者随时查询和使用的集合,为题目的保存、分类和检索提供了便利,为试卷编制提供了高效率和低成本的手段。试题库是网络考试系统重要组成部分。 2按照科学的策略智能组卷,从而提高出卷效率。 网络考试系统试题库为依托,系统可以按照教师制定的组卷策略自动抽题组卷,从而提高出卷效率。 3实现自动组卷、人工阅卷相结合和数据的有效保存。 4实现管理员、老师、学生、试卷的信息管理。 管理员维
10、护系统,不同的老师具有不同的权限去查看、修改、添加试题库,老师可以批改试卷、管理学生成绩,学生可以查看考试成绩。 1.5本文章节安排 本文包含以下几个部分: 第一章 介绍课题选题背景、国内外研究现状、考试系统设计的目的和意义以及本文的工作内容。 第二章 对系统所用开发技术进行相关介绍。 第三章 对系统进行需求分析和总体设计。 在线考试系统的实现。 第四章第二章 系统开发所用的相关技术 2.1 SQL Server 2005 在该考试系统设计中,选择SQL Server 2005作为后台数据库工具。SQL Server 2005是Microsoft公司SQL Server系列产品的第九版即SQL
11、 Server 9.0。它继承了SQL Server以前版本的优点,同时又增加了许多功能,如企业数据管理,开发工作效率和商务智能等。与Microsoft公司的其他产品有良好的兼容性。它提供的几十种向导,覆盖了几乎所以的数据库操作(数据库的创建、维护、作业、警告、数据复制、转换等)。SQL Server 2005是微软公司开发的一个高性能的、多用户的关系型数据库管理系统。它是专为客户服务器计算环境设计的,是当前最流行的数据库服务器系统之一,它提供的内置数据复制功能、强大的管理工具和开放式的系统体系结构为基于事务的信息管理方案提供了一个卓越的平台。它是一个全面的数据库平台,使用集成的商业智能工具提
12、供了企业级的数据管理。MS SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用性和高性能的数据应用程序。它有一套很好的安全性控制机制,可以保证数据库和数据库中数据的安全。采用SQL Server 2005为后台数据库,在库记录检索中,用简单查询、多条件组合式查询和基于内容的搜索式查询;在记录集显示中,采用记录集多页显示技术、数据库访问直接采用,这方便系统移植,数据库访问效率更高。 2.2 ADO.NET技术 ADO.NET 对 Microsoft SQL Server 和 XML 等数据源以及通过 OLE DB 和 XML
13、 公开的数据源提供一致的访问。数据共享使用者应用程序可以使用 ADO.NET 来连接到这些数据源,并检索、处理和更新所包含的数据。 ADO.NET是.NET Framework的一部分,可以让应用更加容易的管理和维护基于文件的或者基于服务器的数据存储。ADO.NET类在System.Data命名空间下,这些类包括连接到数据源,执行命令,存储,控制,获取数据的功能。所用ADO.NET技术如下: ADO.NET对象模型中有五个主要的部件,分别是: Connection物件:Connection对象主要是开启程序和数据库之间的连接。没有利用连接对象将数据库打开,书无法从数据库中取得数据的,这个物件在
14、ADO.NET的最底层。 对象主要可以用来对数据库发出一些指令(查询、新增、修Command物件:Command改、删除等)。 DataAdapter物件:DataAdapter对象主要是在数据源以及DataSet之间执行数据传输工作,他可以通过Command对象下达命令后,并将取得的数据放入DataSet对象中。这个对象是架构在Command对象上,并提供了许多配合DataSet使用的功能。 DataSet物件:DataSet对象可以视为一个暂存区(Cache),可以把从数据库中查询到的数据保留起来,甚至可以将这个数据库显示出来。Dataset不仅可以存储多个数据表,而且可以通过DataAd
15、apter取得数据表的结构,并可以记录数据表之间的关联。DataSet对象是ADO.NET中的重要对象,架构在DataAdapter上。 DataReader物件:当只需要读取数据而不需要其他操作时,使用DataReader对象。DataReader对象一次只读取一笔数据,并且这些数据是只读的,不允许其他操作。这样节约资源,效率很高,并且不用把数据全部传回,可以降低网络负载。 2.3 ASP.NET技术 ASP.NET是一项功能强大的、非常灵活的服务器端技术,他用于创建动态Web页面。ASP.NET是微软公司的ASP 和.NET Franmework在两项技术的结合。ASP.NET允许使用.N
16、ET Franmework的任何语言(如VB.NET,C#等)创建Web应用程序。 与更高级的编程语言相比,一个主要区别是ASP.NET提供了完整的服务器端对象模型,可以在运行期间使用。ASP.NET可以在环境中把页面上的所有控件作为对象来访问。在服务器端,还可以访问其他.NET类,与许多有用的服务集成起来。在页面上使用的控件有许多功能,实际上可以完成Windows Form类的几乎所有功能,有非常大的灵活性。因此,生成HTML内容的ASP.NET通常称为Web窗体。 ASP.NET提供许多比过去的Web开发模型更加优异的功能。 第一,ASP.NET实现了应用程序代码与HTML分离,产生易于阅
17、读的代码模块。在传统的ASP页中两种代码是混合在一起的,非常不利于开发人员纠错和系统后期维护和扩展。ASP.NET已经很好的解决了这个问题,HTML代码*.aspx文件中,而事件的 处理代码保存在*.aspx.cs中。这样使前台后台分离,同时增加了系统的安全性。 第二,ASP.NET是一个编译式的.NET环境,开发者可以使用.NET Framework下的语言编写ASP.NET,从而开发出快速可靠的动态网页。本设计选择C#语言。 第三,ASP.NET不仅能够享受到.NET Framework运行时在效率上的诸多强化,他本身 开发平台。Web和其他ASP也是经过重新设计,使其效率大幅超越第三章
18、在线考试系统需求和总体设计 3.1对系统的综合要求 本系统是一个基于校园网的考试系统,系统设计必须满足一下要求: 1安全性 操作人员进入系统时首先应进行登录,只有通过身份验证后才能操作,以防止误权限的人员进入系统。 2保密性 考试系统中的试题是要严格保密的,信息不得泄露。这是考试系统最重要的要求。 3完整性 考试系统的信息在存储或传输过程中保持不会被修改、不被破坏和不丢失的特性。 4可用性 可用性是指系统中的数据可被合法用于访问并按照要求的特性使用,当操作人员使用时应能够正常准确无误地存取。 5可控性 可控性是指对在线考试的信息及系统实施安全监控。 3.2用户需求分析 要设计一个性能良好的管理
19、系统,明确用户的应用环境对系统的要求是首要的和基本的。本系统从以下几个方面对用户的需求进行了分析: 1用户的信息需求:考生能查询有关考试通知、考试成绩;系统管理员和教师都能够查询题库信息、系别班级信息、考生成绩信息; 2用户的处理需求:教师能对题库执行增加、删除可修改操作,可以按照一定策略组卷,批改试卷;管理员能对考试科目、试题类型、人员信息进行增加、删除和修改,可以设置考试信息,经考试主管领导的审核后就可考试;在考试时,系统根据考试信息的设置自动生成试卷;系统控制考试时间、考试成绩自动生成、多功能查询等。 3对系统的适应性、通用性要求:要求系统能够不受未来课程设置变化的影响,仍然能照常使用。
20、通用性方面,要求系统不仅能够进行计算机考试,而且其他系或专业稍作设置或改动也能使用本系统进行无纸化网络考试。 对系统的安全性要求:要求进入系统必须进行口令校验。43.3系统的功能需求分析 本系统的用可分为管理员,教师,学生三类。 考虑到系统的安全性,本系统供分为两个界面:一个界面用于管理员和教师登录,主要负责进行基本资料、题库、试卷、成绩的管理和查询等;另一个界面用于考生登录,主要负责在线考试、成绩查询等。 总体上考虑,该考试系统应该实现下列功能: 对管理员来说,主要包括管理基本资料(包括教师、学生资料的增、删、改以及个人资料修改)、控制与分配用户的访问权限,保障系统的安全性,防止非法访问。
21、对教师来说,包括试卷管理、题库管理、成绩管理。 1试卷管理:教师可以从课程,难度系数,各种题型的数量等方面对某份试卷提出一定要求生成若干份试卷,在学生考试时,由系统根据学生信息随机选一份试卷分发给学生,不需要手工组卷。同时,教师还可以对生成的试卷进行修改删除。 2题库管理:教师可以根据教学需求对题库中进行添加新的考题,删除旧的考题,修改原有考题,其中试题类型包括判断题、填空题、单选题、多选题、简答题、计算题等;对于每种题型,教师可以设置题干、答案、难度系数、所属科目、所属章节、估计答题时间等属性。 3成绩管理:对于计算机无法判断的主观题,由人工批阅,然后系统自动将成绩统计出来进行分析,包括各个
22、分数段人数、及格人数、不及格人数等 。 对于学生来说,包括查询考试信息、在线考试、查询以往考试成绩。 1考生可以查询即将开始的考试。 2在线考试:考虑到我院实际情况,学生必须在计算中心集中参加考试,答完一种题型,就将试题答案提交到服务器,不允许返回修改。本系统添加考试计时器,一方面提醒考生注意考试时间,一方面当考试结束时,强制提交试卷。 3查询以往考试成绩:学生可以在线查询以前参加过的考试的成绩。 3.4系统的体系结构 本系统的体系结构设计主要采用B/S的三层结构:表示层、应用层、数据层。其中,表示层是客户端浏览器;应用层是具有应用程序扩展功能的Web服务器,包括事物处理逻辑,位于服务器端;数
23、据层即数据库服务器。这种结构的工作流程是:用户通过浏览器向服务器对用户验明身份后,首先执行相应的扩展Web服务器提出请求,Web网络中的某一应用程序与数据库联通,通过SQL语句向数据库发出数据处理申请,然后将数据库处理结果交给Web服务器后,在由Web服务器传送到客户端浏览器。三层体系结构如下图3-1所示。 图3-1三层体系结构 3.5系统的功能模块划分 本考试系统可分为管理员模块、教师模块、学生模块。 系统总体模块划分如图3-2所示。 图3-2 系统功能模块图 下面对本考试系统的主要功能模块进行详细介绍。 一、管理员模块 1管理员登录:管理员通过验证登录进入系统管理界面。 2考试信息管理:管
24、理员发布最近一段时间的考试信息,方便考生查询。 3科目管理:管理员可以对考试科目进行添加、修改删除。 用户管理:管理员可以对用户账号、用户信息、用户权限进行管理。45题型管理:考虑到本考试系统的通用性,允许添加新的题型,但是需要以管理员身份添加。 二、教师模块 1教师登录:通过验证身份,教师进入教师界面。 2题库管理:教师可以对试题库进行添加、编辑、删除。 3学生管理:教师可以管理参加考试的学生信息。考生信息包账号、密码、姓名、院系等。考生信息来自教务部门,考生无需注册。 4试卷管理:教师可以按照一定组卷策略,从试题库中抽取试题,组成试卷,并且可以对试卷进行修改和删除。 5成绩管理:包括试卷主
25、观题批阅功能。系统会将计算机阅卷部分与人工阅卷部分的分值相加,存储在数据库中。系统对考试成绩进行统计和分析,教师、学生可以查看成绩。 三、学生模块 1学生登录:首先对考生进行身份验证,才能进入系统。 2在线考试:学生选择自己将要参加的的考试科目,到考试时间后,学生开始考试,客户端时间与服务器时间同步。考试方式为做完一种题型,便将答案提交至服务器,不允许返回修改。考试结束,强制提交试卷。客观题由系统批阅,主观题由教师批阅。 3成绩查看:阅卷完毕后,考生可以查看考试成绩信息。 3.6数据库设计 网络考试系统的数据库功能主要体现在对各种信息的提供、保存、更新和查询上,包括用户信息、试题信息、试卷信息
26、、学生成绩信息等。本文参与设计的数据表如下: 一、题目表(problem)3-1: 表3-1题目表 字段名 数据类型 字段说明 键引用 备注 主键(自动增1PK ) problemid int 题目编号 problem varchar(2000) 题干 选项A choosea varchar(100) 选项B varchar(100) chooseb 选项C varchar(100) choosec 选项D varchar(100) choosed 参考答案varchar(2000) answer difflevel double 难度系数 估计答题时间estimatetime smallin
27、t score分smallint章smallintchapterid引用试题类型表FKsmallint试题类型problemtypeidproblemtypeid引用课程表FKsmallintcourseid科courseid 二、考生答题表(stuproblemscore) 3-2: 表3-2考生答题表 字段数据类字段说键引备主键(自动indexnointPK引用学生表intFKstuid学生stuid引用题目表problemidFK题目编intproblemidvarchar(2000)学生答stuanswervarchar(10)试卷名papername应得分stugetscoresma
28、llint 引用试题类型表的problemtypeid smallint FK 试题类型 problemtypeid 参考答案varchar(2000) answer ifchange bit 标志是否批改 score smallint 分值 题干varchar(2000) problem 引用科目表的smallint 科目courseid FK courseid 三、试卷信息表(paperinformation)3-3: 表3-3试卷信息表 字段名 数据类型 字段说明 键引用 备注 主键PK papername varchar(10) 试卷名称引用课程表的 FK courseid small
29、int 课程号courseid maketime datetime 制作时间 tarttime datetime 开始考试时间参加考试考生的院系studepartment nchar(20) 院系 试卷类型nchar(20) papertype testtype nachar(20) 测试方式 endtime 考试结束时间datetime nchar(20)stumajor考生专double难度系difflevel标志此卷是否ifchangebitbitifcommision标志此卷是否准使varchar(20)coursename课程名称四、学生成绩表(studentscore)3-4: 表
30、3-4学生成绩表 字段名 数据类型 字段说明 键引用 备注 引用学生表的 stuid FK stuid int PK,学生号引用课程表的PK,FK courseid 课程号 smallint courseid 分数 smallint score 五、题目类型表(problemtype)3-5: 表3-5题目类型表 字段名 数据类型 字段说明 键引用 备注 主键(自动增smallint 1PK 试题类型号 problemtypeid ) varchar(20) 试题类型名称 problemname 六、试卷表(temper)3-6 表3-6试卷表 字段名 数据类型 字段说明 键引用 备注 主键(
31、自动增1number int PK ) 引用试卷信息表的试卷名称 FK papername varchar(10) papername 引用题目表的 problemid int FK 试题编号problemid problem varchar(2000) 题目 选项A varchar(100) choosea 选项chooseb varchar(100) B 选项choosec varchar(100) C varchar(100) 选项D choosed 参考答案varchar(2000) answer score smallint 分值 试题类型名称varchar(20) problemn
32、ame difflevel double 难度系数 estimatetime smallint 估计答题时chaptered章smallint引用试题类型表smallintFK题目类problemtypeidproblemtypeid引用课程表smallint课程courseidFKcourseid 3.7数据表的逻辑结构 在本系统中,设计到多个数据表的操作,其中有些表会与多个表有关联,各表的逻辑结构见图 3-3所示。 第四章 在线考试系统的实现 4.1在线考试子系统功能实现 在线考试子系统的主要功能: (1) 考生登录。 (2) 考生在线作答试题。 (3) 系统计时并在考试临近结束时给出提示
33、。 (4) 考生提交试卷。 这里考生提交试卷实现为:做完一种题型就将本题型所有试题提交,若要返回修改,则需要重新作答。若考生掉线,则返回重新登录,已经提交的试题则会保存起来,未提交的试题,则需要重新作答。在线考试子系统流程图如图4-1所示。 teacheradministratorproblemtype inidadmteachidproblemtypeid teachnaadinnaproblenae inpwdteachpwdadm inrightadmteachrightpaperinformationstuproblemscorestudentscore papername index
34、no stuid courseid stuidcourseid maketime idproblemscore starttime stuanswer studepartment epapernam papertype typeidproblem testtype stugetscore endtime answer stumajor ifchange difflevel score ifchange problem ifcommision courseid coursenamecourse courseid coursenametemperproblem number problemid p
35、apername problem problemid choosea problem chooseb choosea choosec chooseb choosed choosec answer choosed courseid studentanswer difflevel score stuid estimatetime problemnameestunam score difflevelstupwd chapterid estimatetimeentstudepartm problemtypeid problemtypeidajorstum problemname courseid 数据
36、表逻辑结构图3-3 图 图4-1在线考试子系统流程图 学生登录考试系统后,进入考试界面,点击“开始考试”,则本次考试出现的大题类型将进入下拉框,没有将所有题型一次列举出来,是因为考虑到系统扩展性,每次考试题型可以不同。学生选择相应题型之后,点击“确定”,则该大题所有小题将出现。做完本大题之后,点击提交,则学生所做答案将提交至服务器。考试界面显示 所示。4-2考生信息、服务器时间等。在线考试界面如图 图4-2在线考试界面 4.2试卷管理子系统功能实现 教师登录系统后,选择进入出题规则界面,制定试卷总体控制参数,如总分、难度系数、章节、分值以及题量等。设定设置后,点击“确定”后,系统采用遗传算法出
37、题,试题将放入试卷表中,试卷信息将放入试卷信息表中。出题规则界面如图4-3所示。 出题规则界面4-3图4.3成绩管理子系统的实现 学生提交的答案将保存在考生答题表中。教师进入成绩管理子系统时,点击“计算机阅卷”之后,系统自动判阅客观题。系统将计算机不能判阅的题目以及其参考答案、标准答案、分值显示出来,供教员判阅。最后生成考试成绩。阅卷管理界面如图4-4所示。 图4-4阅卷管理界面 生成成绩后,教师可以进入查询界面查看学生成绩。同时本次考试不及格人数、不及格人员的姓名、各分数段人数等奖显示出来,供教师参考,同时可以生成考试分析报告格式,部分内容由教师亲自填写。成绩查询分析界面如图4-5所示。 成
38、绩查询分析界面4-5图4.4遗传算法的实现 基于遗传算法的组卷方法在实现时,首先选择出符合出卷人要求章节、题型的试题,设定试题号、试题难度系数、章节号、题目类型号、估计时间、分值等属性作为参数,然后对各项数据进行处理。算法编码采用C#语言。 一、数据的获取 遗传算法进行操作时,需要用到试题号、试题难度系数、章节号、题目类型号、估计时间、分值。这些属性需要导入内存,遗传算法才能运行。试题库中的题量是巨大的,所以,先选择出符合出卷人所要求的章节、题型的试题,再将这些属性导入内存,才能提高效率。数据获取的流程如图4-6所示。 图4-6数据获取流程图 二、数据处理 数据处理步骤如下: 1. 数据预处理
39、 由于染色体编码采用整数编码,所以对内存中的记录进行重新编号后,才能使用随机函数。使用ADO.NET技术中的DataTable,增加一列作为主键,从1开始,以1为步长增长,并记录题目总量problemno。这些数据存放在数据集DataSet中的数据表中,表示为ds.Tables“problem”。数据预处理部分代码如下: public void getproblem()/获取试题并编号 DataTable fun = new DataTable(problem); DataColumn primarykey = new DataColumn(); primarykey.DataType = S
40、ystem.Type.GetType(System.Int32); primarykey.AutoIncrement = true; primarykey.AutoIncrementSeed = 1; primarykey.ColumnName = key; fun.Columns.Add(primarykey); fun.PrimaryKey = new DataColumn fun.Columnskey ; 2种群初始化 种群初始化就是要构造若干条染色体,每条染色体长度为试卷题目总量questionno,由出卷人指定。染色体中的基因为试题在内存中的编号,在1problemno中随机产生。本
41、系统将染色体个数设为20条,并将这些染色体存放在一个DataTable中,表示为gadatattable(“ga”)。种群初始化部分代码如下: public void initialize()/种群初始化 Random ra = new Random(); for (int k = 0; k 20; k+) DataRow dr = gadatattable.NewRow(); for (int j = 0; j question; j+) drj = ra.Next(1, problemno); gadatattable.Rows.Add(dr); 3计算评价值 扫描gadatattable
42、(“ga”)中一条染色体的基因,表示为t,然后采用ds.Tables“problem”.Rows.Find(t)方法从ds.Tables“problem”找到相应记录。将章节号、试题类型号、难度系数、估计时间、分值存入一张DataTable中。一、getchapter使用方法。temptable表示为存储,DataTable条染色体的属性需要一张probtype、getdifficult、gettime、scor分别评价该条染色体在章节、试题类型、难度系数、估计时间、分值方面是否达到要求。最后将这些评价值按照各自权重wi计算出整卷指标F。评价值计算流程图如图4-7所示。 图4-7评价值计算流程图 4轮盘选择 所示。4-8按照轮盘选择法,产生新的种群。轮盘选择流程图如图 图4-8轮盘选择流程图 5杂交 P=0.25,随机产生
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 心脏疾病手术名称
- 拖地推尘培训
- 小班体育游戏教案:球儿跑得快2
- 4.3 海洋与人类 课件高一上学期 地理 湘教版(2019)必修一
- 椎间盘与矫形术后护理
- 制造业 蓝领技能管理案例集 -稳定产业工人队伍 大力培养大国工匠 2024
- 艾滋病的发展历史
- 硬膜外血肿的护理
- 翡翠直播运营职业规划
- 肺动脉栓塞护理查房
- 现代艺术体系1951克里斯特勒
- 高一分文理科语文第一课
- 青春期多囊卵巢综合征诊治共识.ppt
- 施工标准化措施
- 维宏系统百问汇总整编
- 深圳市福田区大学生实习基地实习协议.doc
- 商品交易信息管理系统
- (完整版)风电开发协议-分散式风电
- 无机材料学报投稿模板
- (完整版)企业常年法律顾问服务方案
- 植物蛋白肽项目可行性研究报告立项申请
评论
0/150
提交评论