网络考试系统的设计与实现.doc
《网络考试系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《网络考试系统的设计与实现.doc(18页珍藏版)》请在咨信网上搜索。
网络考试系统的设计与实现 考号: 姓名: 〔内容摘要〕 随着计算机科学与互联网技术的发展,网络考试显示出其广阔前景.由于考试本身所具有的公正性及特殊要求再加之技术原因,在线考试系统一直未得到提倡。本系统在分析了传统考试与在线考试的特点之后,尝试给出一个包括试卷生成与管理及阅卷与成绩管理的在线考试解决方案。 本文重点分析了系统实现过程中几个关键问题:将组卷抽象为组合优化问题,并设置试题属性,依据属性建立试题库;采用改进编码的遗传算法作为组卷方法,取代传统二进制编码,提高了组卷的效率与成功率;阅卷采用计算机阅卷与人工阅卷相结合的方法,减轻教师的负担;成绩自动生成、分析、发布,方便老师和学生。 本系统采用B/S三层结构作为系统的开发结构,使用ASP.NET技术进行开发,后台数据库使用SQL Server 2005,实现了网络考试系统。 〔关键词〕自动组卷 在线考试 遗传算法 ASP。NET SQL C# 第一章 绪论 1。1背景 目前我校大多数课程进行的考试都采用传统的考试方式,组织一次考试至少要经过几个步骤,即人工出题、教研组组长与主管教学的系领导审核批准制卷、试卷打印、考生考试、人工阅卷、成绩评定、试卷分析,并且在出试卷时必须要求制作一套完整的试卷(包括A卷和B卷)及相应的评分标准和参考答案,再加上考试教室的安排、监考老师的分配等,使学校消耗大量的人力、物力、财力、时间。显然,随着学生人数的增多,考试类型的不断增加及考试要求的不断提高,学校的开支越来越大,教师的工作量也将会越来越大,从而严重影响学校的工作效率,并且考试本身就是一件十分繁琐和非常容易出错的事情,传统的考试方式已经越来越不能适应现代教学要求,应改变传统的纸张考试的方式,充分利用计算机和网络技术,实现计算机考试,从而使考试更加公正、客观。 随着新校区学生数量越来越大,学校在计算机和网络方面的投入也越来越大,学生上网越来越方便。因此,本课题拟用学校现有的软硬件资源设计并开发一个适合我校管理实际,能针对不同课程科目进行考试的网络考试系统,从而提高学校在考试组织和考务管理方面的工作效率和工作质量,减轻教师和考务人员的工作负担,降低学校开销,对推动学校管理机制的进一步完善,充分体现高校管理工作的先进性,具有重要意义。 1。2 国内外研究状况 计算机网络考试在美国诞生,历经多年,在国外得到广泛的运用。目前,世界上许多国际考试都采用网络考试的方式,比如微软认证,思科认证,惠普认证,以及TOFEL,GRE,这些考试都是通过网络实时进行的。并且国际电气和电子工程师协会的一些工作小组,开展了相关标准的制定和修订工作。 在我国,将计算机与网络运用在考试上比较晚,但也有一些投入使用的考试系统,如计算机等级考试,驾驶员理论考试,以及最近投入使用的大学英语四六级考试等。我国教育部于2000年5月推出《现代远程教育资源建设技术规范》,其中对网络题库、考试系统的建设规范进行了定义。教育部组织国内8所重点高校的有关专家成立教育部教育信息化技术标准委员会,开展网络教育技术标准研制,制定中国现代教育技术标准CELTS。 1.3 考试系统的设计的目的和意义 近几年来我校教学体制不断改革,对检验教师教学效果和学生学习效果的手段也一直在探讨中,但是除了计算机文化基础之外,其他科目还是利用教师手工出卷――学生答卷的传统模式进行考试,而且多数情况下对试卷的处理还是沿用传统的手工处理的方式,虽然传统的手工方式对处理主观性试卷有一定的优越性,但是从整个考试环节看,又不可避免的出现以下几个问题。 1.试卷缺乏随机性:由教师手工编写具体的试卷,其中每道题均由教师指定,每次考试学生面临的试卷相同。试卷从老师向学生传递的过程中会发生不同程度和形式的泄密,并且考生在考试时难以从技术上避免作弊行为的发生。 2.教师工作量极大,负担重:这主要表现在出卷和阅卷环节上。教师需要花费时间总结、整理本学期课程的内容和知识点,然后还要手工出题组卷。考试完毕后,还需教师评阅,登记,分析。在整个过程中工作量大,效率低。 3.考试场所缺乏灵活性:参加同一门考试的学生必须在同一时间内参加考试,需要教务部门专门安排考场和监考人员,这是一笔不小的开销。 相比传统考试形式,网络考试系统的主要好处是一方面可以动态管理各种考试信息,只要准备试题量足够大、试题足够标准的试题库,老师便可以根据该课程的教学大纲和教学内容制定组卷策略,设计试题的编制要求,计算机则可以根据一定算法按照要求从题库中取出满足条件的试题并生成试卷;另一方面利用该系统考试时间灵活,可以充分利用网络无限广阔的空间,随时对学生进行考试.简化传统考试过程,减轻繁重的考务工作,避免考试过称中的人为因素,提高考试考核水平和管理水平。此外,网上考试系统阅卷速度快,迅速给出客观题成绩,减轻老师阅卷负担。 目前我校在许多方面都实现了信息化、网络化,但是期末考试大多数科目仍是传统考试模式。大量时间浪费在重复劳动上。计算机网络考试系统不但充分发挥校园网的功能,而且可以节约考试用纸,是考试方便、灵活,有效防止作弊,提高学校在考试组织和考务方面的工作效率和质量。 1.4 课题研究的主要内容 目前常见的网络考试系统有两种,一种是基于客户机/服务器(即Client/Server,简称C/S)模式。另一种是基于浏览器/服务器(即Brower/Server,简称B/S)模式.采用C/S模式的考试系统,需在考试前在客户机安装考试应用程序、对数据库进行配置,系统维护困难,成本较高。在B/S模式下,用户界面是通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,减轻系统维护与升级的成本和工作量. 在比较两种体系结构的优缺点的基础上,本系统设计采用B/S模式,将SQL Server 2005与ASP。NET 2.0技术结合起来,实现系统的主要功能。 本课题主要解决问题如下: 1.建立标准化试题库,方便实现试题的数字化管理。 所谓题库就是试题的仓库,把经过教师认真编制或者仔细挑选出来的题目集合到一起,供试卷编制者随时查询和使用的集合,为题目的保存、分类和检索提供了便利,为试卷编制提供了高效率和低成本的手段。试题库是网络考试系统重要组成部分。 2.按照科学的策略智能组卷,从而提高出卷效率. 网络考试系统试题库为依托,系统可以按照教师制定的组卷策略自动抽题组卷,从而提高出卷效率。 3.实现自动组卷、人工阅卷相结合和数据的有效保存。 4.实现管理员、老师、学生、试卷的信息管理. 管理员维护系统,不同的老师具有不同的权限去查看、修改、添加试题库,老师可以批改试卷、管理学生成绩,学生可以查看考试成绩。 1.5本文章节安排 本文包含以下几个部分: 第一章 介绍课题选题背景、国内外研究现状、考试系统设计的目的和意义以及本文的工作内容。 第二章 对系统所用开发技术进行相关介绍. 第三章 对系统进行需求分析和总体设计。 第四章 在线考试系统的实现。 - 18 - 第二章 系统开发所用的相关技术 2.1 SQL Server 2005 在该考试系统设计中,选择SQL Server 2005作为后台数据库工具。SQL Server 2005是Microsoft公司SQL Server系列产品的第九版即SQL Server 9。0。它继承了SQL Server以前版本的优点,同时又增加了许多功能,如企业数据管理,开发工作效率和商务智能等。与Microsoft公司的其他产品有良好的兼容性。它提供的几十种向导,覆盖了几乎所以的数据库操作(数据库的创建、维护、作业、警告、数据复制、转换等).SQL Server 2005是微软公司开发的一个高性能的、多用户的关系型数据库管理系统。它是专为客户服务器计算环境设计的,是当前最流行的数据库服务器系统之一,它提供的内置数据复制功能、强大的管理工具和开放式的系统体系结构为基于事务的信息管理方案提供了一个卓越的平台。它是一个全面的数据库平台,使用集成的商业智能工具提供了企业级的数据管理。MS SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用性和高性能的数据应用程序。它有一套很好的安全性控制机制,可以保证数据库和数据库中数据的安全。采用SQL Server 2005为后台数据库,在库记录检索中,用简单查询、多条件组合式查询和基于内容的搜索式查询;在记录集显示中,采用记录集多页显示技术、数据库访问直接采用,这方便系统移植,数据库访问效率更高。 2。2 ADO.NET技术 ADO。NET 对 Microsoft SQL Server 和 XML 等数据源以及通过 OLE DB 和 XML 公开的数据源提供一致的访问.数据共享使用者应用程序可以使用 ADO.NET 来连接到这些数据源,并检索、处理和更新所包含的数据。 ADO.NET是。NET Framework的一部分,可以让应用更加容易的管理和维护基于文件的或者基于服务器的数据存储。ADO。NET类在System。Data命名空间下,这些类包括连接到数据源,执行命令,存储,控制,获取数据的功能.所用ADO.NET技术如下: ADO.NET对象模型中有五个主要的部件,分别是: Connection物件:Connection对象主要是开启程序和数据库之间的连接.没有利用连接对象将数据库打开,书无法从数据库中取得数据的,这个物件在ADO。NET的最底层。 Command物件:Command对象主要可以用来对数据库发出一些指令(查询、新增、修改、删除等). DataAdapter物件:DataAdapter对象主要是在数据源以及DataSet之间执行数据传输工作,他可以通过Command对象下达命令后,并将取得的数据放入DataSet对象中。这个对象是架构在Command对象上,并提供了许多配合DataSet使用的功能。 DataSet物件:DataSet对象可以视为一个暂存区(Cache),可以把从数据库中查询到的数据保留起来,甚至可以将这个数据库显示出来。Dataset不仅可以存储多个数据表,而且可以通过DataAdapter取得数据表的结构,并可以记录数据表之间的关联。DataSet对象是ADO.NET中的重要对象,架构在DataAdapter上。 DataReader物件:当只需要读取数据而不需要其他操作时,使用DataReader对象.DataReader对象一次只读取一笔数据,并且这些数据是只读的,不允许其他操作.这样节约资源,效率很高,并且不用把数据全部传回,可以降低网络负载. 2.3 ASP.NET技术 ASP.NET是一项功能强大的、非常灵活的服务器端技术,他用于创建动态Web页面。ASP.NET是微软公司的ASP 和.NET Franmework在两项技术的结合。ASP。NET允许使用.NET Franmework的任何语言(如VB。NET,C#等)创建Web应用程序。 与更高级的编程语言相比,一个主要区别是ASP.NET提供了完整的服务器端对象模型,可以在运行期间使用。ASP。NET可以在环境中把页面上的所有控件作为对象来访问。在服务器端,还可以访问其他。NET类,与许多有用的服务集成起来。在页面上使用的控件有许多功能,实际上可以完成Windows Form类的几乎所有功能,有非常大的灵活性。因此,生成HTML内容的ASP.NET通常称为Web窗体. ASP。NET提供许多比过去的Web开发模型更加优异的功能. 第一,ASP.NET实现了应用程序代码与HTML分离,产生易于阅读的代码模块。在传统的ASP页中两种代码是混合在一起的,非常不利于开发人员纠错和系统后期维护和扩展.ASP.NET已经很好的解决了这个问题,HTML代码*。aspx文件中,而事件的 处理代码保存在*。aspx。cs中.这样使前台后台分离,同时增加了系统的安全性. 第二,ASP.NET是一个编译式的。NET环境,开发者可以使用。NET Framework下的语言编写ASP。NET,从而开发出快速可靠的动态网页。本设计选择C#语言。 第三,ASP.NET不仅能够享受到。NET Framework运行时在效率上的诸多强化,他本身也是经过重新设计,使其效率大幅超越ASP和其他Web开发平台。 第三章 在线考试系统需求和总体设计 3。1对系统的综合要求 本系统是一个基于校园网的考试系统,系统设计必须满足一下要求: 1.安全性 操作人员进入系统时首先应进行登录,只有通过身份验证后才能操作,以防止误权限的人员进入系统。 2.保密性 考试系统中的试题是要严格保密的,信息不得泄露。这是考试系统最重要的要求。 3.完整性 考试系统的信息在存储或传输过程中保持不会被修改、不被破坏和不丢失的特性。 4.可用性 可用性是指系统中的数据可被合法用于访问并按照要求的特性使用,当操作人员使用时应能够正常准确无误地存取。 5.可控性 可控性是指对在线考试的信息及系统实施安全监控。 3。2用户需求分析 要设计一个性能良好的管理系统,明确用户的应用环境对系统的要求是首要的和基本的。本系统从以下几个方面对用户的需求进行了分析: 1.用户的信息需求:考生能查询有关考试通知、考试成绩;系统管理员和教师都能够查询题库信息、系别班级信息、考生成绩信息; 2.用户的处理需求:教师能对题库执行增加、删除可修改操作,可以按照一定策略组卷,批改试卷;管理员能对考试科目、试题类型、人员信息进行增加、删除和修改,可以设置考试信息,经考试主管领导的审核后就可考试;在考试时,系统根据考试信息的设置自动生成试卷;系统控制考试时间、考试成绩自动生成、多功能查询等。 3.对系统的适应性、通用性要求:要求系统能够不受未来课程设置变化的影响,仍然能照常使用。通用性方面,要求系统不仅能够进行计算机考试,而且其他系或专业稍作设置或改动也能使用本系统进行无纸化网络考试. 4.对系统的安全性要求:要求进入系统必须进行口令校验。 3.3系统的功能需求分析 本系统的用可分为管理员,教师,学生三类. 考虑到系统的安全性,本系统供分为两个界面:一个界面用于管理员和教师登录,主要负责进行基本资料、题库、试卷、成绩的管理和查询等;另一个界面用于考生登录,主要负责在线考试、成绩查询等。 总体上考虑,该考试系统应该实现下列功能: 对管理员来说,主要包括管理基本资料(包括教师、学生资料的增、删、改以及个人资料修改)、控制与分配用户的访问权限,保障系统的安全性,防止非法访问。 对教师来说,包括试卷管理、题库管理、成绩管理。 1.试卷管理:教师可以从课程,难度系数,各种题型的数量等方面对某份试卷提出一定要求生成若干份试卷,在学生考试时,由系统根据学生信息随机选一份试卷分发给学生,不需要手工组卷。同时,教师还可以对生成的试卷进行修改删除。 2.题库管理:教师可以根据教学需求对题库中进行添加新的考题,删除旧的考题,修改原有考题,其中试题类型包括判断题、填空题、单选题、多选题、简答题、计算题等;对于每种题型,教师可以设置题干、答案、难度系数、所属科目、所属章节、估计答题时间等属性。 3.成绩管理:对于计算机无法判断的主观题,由人工批阅,然后系统自动将成绩统计出来进行分析,包括各个分数段人数、及格人数、不及格人数等 。 对于学生来说,包括查询考试信息、在线考试、查询以往考试成绩。 1.考生可以查询即将开始的考试. 2.在线考试:考虑到我院实际情况,学生必须在计算中心集中参加考试,答完一种题型,就将试题答案提交到服务器,不允许返回修改.本系统添加考试计时器,一方面提醒考生注意考试时间,一方面当考试结束时,强制提交试卷。 3.查询以往考试成绩:学生可以在线查询以前参加过的考试的成绩。 3.4系统的体系结构 本系统的体系结构设计主要采用B/S的三层结构:表示层、应用层、数据层.其中,表示层是客户端浏览器;应用层是具有应用程序扩展功能的Web服务器,包括事物处理逻辑,位于服务器端;数据层即数据库服务器。这种结构的工作流程是:用户通过浏览器向网络中的某一Web服务器提出请求,Web服务器对用户验明身份后,首先执行相应的扩展应用程序与数据库联通,通过SQL语句向数据库发出数据处理申请,然后将数据库处理结果交给Web服务器后,在由Web服务器传送到客户端浏览器。三层体系结构如下图3-1所示. 图3-1三层体系结构 3.5系统的功能模块划分 本考试系统可分为管理员模块、教师模块、学生模块。 系统总体模块划分如图3—2所示。 图3-2 系统功能模块图 下面对本考试系统的主要功能模块进行详细介绍。 一、管理员模块 1.管理员登录:管理员通过验证登录进入系统管理界面。 2.考试信息管理:管理员发布最近一段时间的考试信息,方便考生查询。 3.科目管理:管理员可以对考试科目进行添加、修改删除。 4.用户管理:管理员可以对用户账号、用户信息、用户权限进行管理。 5.题型管理:考虑到本考试系统的通用性,允许添加新的题型,但是需要以管理员身份添加. 二、教师模块 1.教师登录:通过验证身份,教师进入教师界面。 2.题库管理:教师可以对试题库进行添加、编辑、删除。 3.学生管理:教师可以管理参加考试的学生信息。考生信息包账号、密码、姓名、院系等。考生信息来自教务部门,考生无需注册。 4.试卷管理:教师可以按照一定组卷策略,从试题库中抽取试题,组成试卷,并且可以对试卷进行修改和删除。 5.成绩管理:包括试卷主观题批阅功能。系统会将计算机阅卷部分与人工阅卷部分的分值相加,存储在数据库中.系统对考试成绩进行统计和分析,教师、学生可以查看成绩。 三、学生模块 1.学生登录:首先对考生进行身份验证,才能进入系统. 2.在线考试:学生选择自己将要参加的的考试科目,到考试时间后,学生开始考试,客户端时间与服务器时间同步。考试方式为做完一种题型,便将答案提交至服务器,不允许返回修改。考试结束,强制提交试卷.客观题由系统批阅,主观题由教师批阅. 3.成绩查看:阅卷完毕后,考生可以查看考试成绩信息。 3。6数据库设计 网络考试系统的数据库功能主要体现在对各种信息的提供、保存、更新和查询上,包括用户信息、试题信息、试卷信息、学生成绩信息等。本文参与设计的数据表如下: 一、题目表(problem)3—1: 表3—1题目表 字段名 数据类型 字段说明 键引用 备注 problemid int 题目编号 PK 主键(自动增1) problem varchar(2000) 题干 choosea varchar(100) 选项A chooseb varchar(100) 选项B choosec varchar(100) 选项C choosed varchar(100) 选项D answer varchar(2000) 参考答案 difflevel double 难度系数 estimatetime smallint 估计答题时间 score smallint 分值 chapterid smallint 章节 problemtypeid smallint 试题类型号 FK 引用试题类型表的problemtypeid courseid smallint 科目 FK 引用课程表的courseid 二、考生答题表(stuproblemscore) 3—2: 表3-2考生答题表 字段名 数据类型 字段说明 键引用 备注 indexno int PK 主键(自动增1) stuid int 学生号 FK 引用学生表的stuid problemid int 题目编号 FK 引用题目表的problemid stuanswer varchar(2000) 学生答案 papername varchar(10) 试卷名称 stugetscore smallint 应得分数 problemtypeid smallint 试题类型 FK 引用试题类型表的problemtypeid answer varchar(2000) 参考答案 ifchange bit 标志是否批改 score smallint 分值 problem varchar(2000) 题干 courseid smallint 科目 FK 引用科目表的courseid 三、试卷信息表(paperinformation)3-3: 表3—3试卷信息表 字段名 数据类型 字段说明 键引用 备注 papername varchar(10) 试卷名称 PK 主键 courseid smallint 课程号 FK 引用课程表的courseid maketime datetime 制作时间 tarttime datetime 开始考试时间 studepartment nchar(20) 院系 参加考试考生的院系 papertype nchar(20) 试卷类型 testtype nachar(20) 测试方式 endtime datetime 考试结束时间 stumajor nchar(20) 考生专业 difflevel double 难度系数 ifchange bit 标志此卷是否批改 ifcommision bit 标志此卷是否批准使用 coursename varchar(20) 课程名称 四、学生成绩表(studentscore)3-4: 表3-4学生成绩表 字段名 数据类型 字段说明 键引用 备注 stuid int 学生号 PK,FK 引用学生表的stuid courseid smallint 课程号 PK,FK 引用课程表的courseid score smallint 分数 五、题目类型表(problemtype)3-5: 表3—5题目类型表 字段名 数据类型 字段说明 键引用 备注 problemtypeid smallint 试题类型号 PK 主键(自动增1) problemname varchar(20) 试题类型名称 六、试卷表(temper)3-6 表3-6试卷表 字段名 数据类型 字段说明 键引用 备注 number int PK 主键(自动增1) papername varchar(10) 试卷名称 FK 引用试卷信息表的papername problemid int 试题编号 FK 引用题目表的problemid problem varchar(2000) 题目 choosea varchar(100) 选项A chooseb varchar(100) 选项B choosec varchar(100) 选项C choosed varchar(100) 选项D answer varchar(2000) 参考答案 score smallint 分值 problemname varchar(20) 试题类型名称 difflevel double 难度系数 estimatetime smallint 估计答题时间 chaptered smallint 章节 problemtypeid smallint 题目类型 FK 引用试题类型表的problemtypeid courseid smallint 课程号 FK 引用课程表的courseid 3.7数据表的逻辑结构 在本系统中,设计到多个数据表的操作,其中有些表会与多个表有关联,各表的逻辑结构见图 3-3所示。 第四章 在线考试系统的实现 4。1在线考试子系统功能实现 在线考试子系统的主要功能: (1) 考生登录。 (2) 考生在线作答试题。 (3) 系统计时并在考试临近结束时给出提示。 (4) 考生提交试卷。 这里考生提交试卷实现为:做完一种题型就将本题型所有试题提交,若要返回修改,则需要重新作答。若考生掉线,则返回重新登录,已经提交的试题则会保存起来,未提交的试题,则需要重新作答。在线考试子系统流程图如图4—1所示。 图 3-3 数据表逻辑结构图 图4-1在线考试子系统流程图 学生登录考试系统后,进入考试界面,点击“开始考试”,则本次考试出现的大题类型将进入下拉框,没有将所有题型一次列举出来,是因为考虑到系统扩展性,每次考试题型可以不同。学生选择相应题型之后,点击“确定”,则该大题所有小题将出现。做完本大题之后,点击提交,则学生所做答案将提交至服务器.考试界面显示考生信息、服务器时间等。在线考试界面如图4-2所示。 图4-2在线考试界面 4。2试卷管理子系统功能实现 教师登录系统后,选择进入出题规则界面,制定试卷总体控制参数,如总分、难度系数、章节、分值以及题量等。设定设置后,点击“确定”后,系统采用遗传算法出题,试题将放入试卷表中,试卷信息将放入试卷信息表中。出题规则界面如图4-3所示。 图4-3出题规则界面 4。3成绩管理子系统的实现 学生提交的答案将保存在考生答题表中.教师进入成绩管理子系统时,点击“计算机阅卷”之后,系统自动判阅客观题.系统将计算机不能判阅的题目以及其参考答案、标准答案、分值显示出来,供教员判阅。最后生成考试成绩。阅卷管理界面如图4-4所示。 图4—4阅卷管理界面 生成成绩后,教师可以进入查询界面查看学生成绩。同时本次考试不及格人数、不及格人员的姓名、各分数段人数等奖显示出来,供教师参考,同时可以生成考试分析报告格式,部分内容由教师亲自填写。成绩查询分析界面如图4—5所示. 图4-5成绩查询分析界面 4.4遗传算法的实现 基于遗传算法的组卷方法在实现时,首先选择出符合出卷人要求章节、题型的试题,设定试题号、试题难度系数、章节号、题目类型号、估计时间、分值等属性作为参数,然后对各项数据进行处理。算法编码采用C#语言。 一、数据的获取 遗传算法进行操作时,需要用到试题号、试题难度系数、章节号、题目类型号、估计时间、分值。这些属性需要导入内存,遗传算法才能运行。试题库中的题量是巨大的,所以,先选择出符合出卷人所要求的章节、题型的试题,再将这些属性导入内存,才能提高效率。数据获取的流程如图4—6所示。 图4—6数据获取流程图 二、数据处理 数据处理步骤如下: 1. 数据预处理 由于染色体编码采用整数编码,所以对内存中的记录进行重新编号后,才能使用随机函数。使用ADO.NET技术中的DataTable,增加一列作为主键,从1开始,以1为步长增长,并记录题目总量problemno。这些数据存放在数据集DataSet中的数据表中,表示为ds。Tables[“problem”].数据预处理部分代码如下: public void getproblem()//获取试题并编号 { DataTable fun = new DataTable(”problem”); DataColumn primarykey = new DataColumn(); primarykey.DataType = System。Type.GetType(”System。Int32”); primarykey。AutoIncrement = true; primarykey。AutoIncrementSeed = 1; primarykey。ColumnName = "key”; fun.Columns。Add(primarykey); fun。PrimaryKey = new DataColumn[] { fun.Columns["key”] }; } 2.种群初始化 种群初始化就是要构造若干条染色体,每条染色体长度为试卷题目总量questionno,由出卷人指定。染色体中的基因为试题在内存中的编号,在1~problemno中随机产生。本系统将染色体个数设为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++) { dr[j] = ra.Next(1, problemno); } gadatattable.Rows.Add(dr); } } 3.计算评价值 扫描gadatattable(“ga”)中一条染色体的基因,表示为t,然后采用ds。Tables[“problem”].Rows.Find(t)方法从ds。Tables[“problem"]找到相应记录。将章节号、试题类型号、难度系数、估计时间、分值存入一张DataTable中。一条染色体的属性需要一张DataTable存储,表示为temptable。使用方法getchapter、probtype、getdifficult、gettime、scor分别评价该条染色体在章节、试题类型、难度系数、估计时间、分值方面是否达到要求。最后将这些评价值按照各自权重w[i]计算出整卷指标F。评价值计算流程图如图4-7所示。 图4—7评价值计算流程图 4.轮盘选择 按照轮盘选择法,产生新的种群.轮盘选择流程图如图4—8所示。 图4-8轮盘选择流程图 5.杂交 首先根据杂交概率=0.25,随机产生杂交染色体,染色体个数须为偶数个。然后再随机产生每对染色体杂交的位置,俩个染色体对该位置之后的片段进行交换。杂交流程图如图4-9所示。 图4-9杂交流程图 6.变异 种群中每个染色体中的每个基因变异的概率是相等的,产生20*questionno个随机数,如果小于=0.01则变异此位。变异流程图如图4—10所示。 图4-10变异流程图 三、数据保存 将循环最后一次种群中最好的染色体选出,根据试题号,将完整的题目从数据库中导出,存放到试卷表中。数据保存流程图如图4-11所示。 图4—11数据保存流程图 4。5算法总控制程序 算法总控制程序部分代码如下: public void ga() { farray =this.f();//计算评价值 this。lunpan(farray, gadatattable);//新的染色体 this.zaijiao(gadatattable);//杂交 this.bianyi(gadatattable);//变异 } public void chujuan() //出卷 { ArrayList temper = new ArrayList(); this。initialize(); for (int I = 0; I < problemno/2; I++) this.ga(); temper=this.lastchoose(); this.getpapter(temper); } public void lunpan(){}//轮盘选择法 public void zaijiao(){}//杂交 public void bianyi(){}//变异 考试在教育中起着举足轻重的作用,它为教育者提供检测教学效果的手段.利用计算机取代传统纸张考试模式,具有公正、快捷、高效的特点。 本文对组卷部分进行了重点研究,将组卷问题抽象为组合优化问题,通过对其建立数学模型,详细阐述如何利用该模型将遗传算法应用到组卷当中去。本系统以C#语言作为编程语言,以ASP.NET 2。0为开发平台,采用B/S结构,进行了系统开发与部分功能实现。 〔参考文献〕 1、 Z。米凯利维茨.演化程序-遗传算法和数据编码的结合.科学出版社,2001:25—26 2、Sahil Malik. Pro ADO。NET 2.0.Apress, 2005:1-10 3、Christian Nagel,Bill Evjen,Jay Glynn.C#高级编程。清华大学出版社,2005:3-16 4、萨师煊,王珊。数据库系统概论.高等教育出版社,2006:3-20 5、朱玉祥,苗春生,孙承佼。基于遗传算法的试题库智能组卷系统研究.南京气象学院学报。2006。4 6、仇明.基于改进遗传算法的组卷研究.湘南学院学报.2009.10 7、杨青.基于遗传算法的试题库自动组卷问题的研究。济南大学学报。2004.9 8、李涛。网络在线考试系统研究与实现.昆明理工大学。2007:1-3;40-46 9、Bill Evjen等。ASP。NET 2。0高级编程.清华大学出版社,2005:1-17 10、王小平,曹立明。遗传算法-理论、应用与软件实现。西安交通大学出版社。2001:38-49 11、郭素蓉。学校通用考试系统的设计与实现.电子科技大学。2007:1-5 12、兰秀芹。基于WEB的题库系统的设计与实现。大连海事大学。2007:39—43- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 考试 系统 设计 实现
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文