基于MVC模式的高职院校在线考试系统的设计

 一、引言 
  对于高职院校来说,考试是人才培养方案中的极为重要的组成部分,考试对于一门课程、对于一个学生来说,都有着非常重要的意义;同时,考试也是学校中广大教师最为关心的内容,对于考试的内容、考试的方法的改革,一直是教育界最为关心的话题。 
  目前,高职院校的考试还是以传统的考试方法为主,这种传统的纸质化考试的方法已经运行了多年,存在着诸多弊端。在高职院校中引入在线考试,具备如下优势: 
  (1)提高了考试命题、组织等一系列考务的工作效率。 
  (2)在线考试有标准化的题库支持,试卷命题由系统随机抽题完成组卷,这种出卷方式更加科学合理,题型和题量分布也更有利于考核学生的能力。 
  (3)抽题、评分由系统自动完成,试题由系统从题库中随机抽取,能更好地保证考试的公平公正和评分的准确性。 
  (4)学生参加考试的时间和地点不受限制,参加考试的方式也更加灵活。 
  二、系统需求分析 
  在线考试系统的用户包括管理员、教师和学生3种用户。 
  管理员具有系统最高权限,负责对整个考试系统的维护管理,一般来说,高职院校的考试系统平时一般比较空闲,访问用户量相对较少,并且系统平时对学生并不开放权限,只允许教师用户访问。只有在期中考试和期末考试相对集中的时间段内,系统访问的人数才比较多,系统的负荷也相对较重。因此,管理员可以针对系统用户设置访问时间段,以减轻系统并发访问量。 
  教师用户的权限相对管理员来说要少,但也是系统的主要用户。在平时系统空闲阶段,教师主要根据自身所教课程,负责各种题型题库的建立、维护和更新。为了保证在线考试的质量,目前对课程题库的要求也越来越高,课程的题库要做到题量大,题型丰富、内容先进,能够跟上学科新知识、新内容的要求。因此,该项任务工作量大,要求高。 
  学生在考试系统中的权限是3种用户中最小的,学生平时除了可以进行系统的网上自测练习外,基本上是不能登录系统的。只有在考试系统开放的有效时间范围内,学生才能登录,登录后可以查看管理员发布的各种考试通知,修改自己的个人资料,在指定的考试时间内参加考试,同时在考试结束后可以查询自己的成绩。 
  三、系统开发的主要技术 
  3.1 MVC 框架技术 
  MVC 框架技术是近年来非常流行的软件框架,这种软件设计模式最初由Xerox PARC在二十世纪八十年代提出,而后被广泛使用。 
  MVC设计模式把整个软件分为模型、视图和控制器三大部分,其中视图相当于传统软件架构中的表示层,即用户界面;模型负责数据的处理和交互,主要负责数据处理逻辑的设计与实现,是整个MVC中的重点和难点;控制器处理用户的交互,控制着整个程序运行的核心和流程,负责整个程序的运行和管理。 
  3.2 LINQ技术 
  LINQ,是Language Integrated Query(语言集成查询)技术,通过该技术,我们可以使用相同的API,利用C#语言来对不同的数据源进行操作。 
  LINQ包括五个部分:LINQ to Objects、LINQ to XML、LINQ to SQL、LINQ to DataSet、LINQ to Entities。 
  LINQ查询操作的语法相对传统的SQL语句更为简洁。LINQ查询表达式包含的关键字与SQL关键字相类似,不同的是,LINQ要以from子句开头,以select子句或group子句结束。 
  3.3 EF数据模型框架 
  EF数据模型框架,全称是Entity Framework(实体框架),这是微软公司在.NET平台上以ADO.NET技术为基础开发出来的一个ORM(对象关系映射)框架。 
  EF数据模型框架由三种模型和映射文件进行定義: 
  (1).csdl文件:用于定义概念架构模型,其中定义的实体、主键、属性、关联等都是对应于.NET Framework中的类型。 
  (2).ssdl文件:用于定义存储架构模型,其中主要描述表、列、关系、主键等主要概念。 
  (3).msl文件:用于定义概念模型和存储模型的映射关系,即CSDL中属性与SSDL中列的对应关系。 
  四、系统总体设计 
  4.1 体系结构和总体框架 
  系统分为前端和后台两部分。前端技术上,采用流行的HTML 5、CSS 3和JQuery技术,具体地讲,HTML 5使用bootstrap开源框架,此框架在业界多个前端开源项目得到了广泛的应用;CSS 3采用flexbox弹性布局技术,并广泛应用动画、过渡等效果;JavaScript采用AngularJS框架相结合的技术,可以有效地控制页面并制作出美观的动态效果。 
  后台技术上,采用的是业界流行的.NET的MVC框架技术进行开发,分为view、controller、model三个部分。Controller负责整个程序的维护,负责处理用户请求;model用于和后台数据库打交道,这里采用LINQ TO SQL数据模型和EF数据模型相结合;view用于显示结果,采用了更为简洁的语法输出数据结果。 
  4.2 功能模块划分 
  在线考试系统分为五大功能模块,即用户信息管理、考试管理、题库管理、试卷管理和成绩管理。下面对这五个模块分别介绍。
(1)用户信息管理:该模块是所有软件系统的通用模块,包含登录、用户信息导入和密码修改三大功能。 
  (2)考试管理模块:核心模块,包含考试安排、考试信息查询、学生在线考试和考试信息维护几大功能。 
  (3)题库管理模块:核心模块,包含题库创建、题库维护、题库查询、题库更新几大功能。 
  (4)试卷管理模块:核心模块,包含试卷定制、试卷维护、试卷信息查询、样卷查看几大功能。 
  (5)成绩管理模块:核心模块,包含系统评卷、成绩统计、成绩查询几大功能。 
  五、系统详细设计 
  本系统的核心模块由考试管理、题库管理、试卷管理3个模块组成。下面着重对这3个模块分析详细设计思路。 
  5.1 题库管理模块 
  题库管理模块是教师用户操作的一个重要模块,也是后续试卷管理、考试管理的基础,只有具备一个数量庞大、内容先进的题库,才能保证试卷和考试的质量。 
  本系统题库目前支持的题型有单选题、多选题和判断题3种客观题题型。 
  模块的设计核心在于题库业务逻辑类的设计,该模块的业务逻辑层类由单选题类、多选题类和判断题类组成,3个类的属性设计基本与数据库中单选题表、多选题表和判断题表相对应,由于3个类的属性设计比较类似,这里就以单选题类为例进行说明,其余2个类不再赘述。 
  单选题类的属性包括题目顺序号(用于组卷)、题目编号、题干、各个选项内容(A-F)、答案、题目难易度(分为非常难、较难、适中、较简单、非常简单5个层次)、属于课内知识还是课外知识等等。除了以上基本属性之外,还包括参加的考试编号、学生答案两个扩展属性及单选题录入、查询、编辑和删除几个基本方法。 
  5.2 试卷管理模块 
  试卷管理的业务逻辑层类由试卷类和试卷题型章节分布类组成。试卷类的属性设计基本与数据库试卷表中的字段相对应,包括试卷编号、试卷名称、组卷方式(人工组卷、系统抽题)、组卷人、组卷时间、单选题数量、单选题分值、多选题数量、多选题分值、判断题数量、判断题分值、总分、课程编号等等。除了以上基本属性之外,还包括单选题题库、多选题题库和判断题题库3个属性和字段。 
  试卷管理的核心功能在于智能组卷,从组卷的具体算法来说,流行的算法有回溯试探组卷算法、专家系统的组卷算法和遗传算法的组卷算法、基于随机数选取的组卷算法。本文采用的是基于随机数选取的组卷算法,利用计算机提供的随机生成函数在题库中按照设定的试题参数要求随机生成试题编号,由于该编号是随机生成,且在一定范围内是独一无二的,因此不会产生重复现象。重复这个随机试题编号的生成过程,即可得到试题集合,直到满足试卷要求的所有试题都已经选择完毕。 
  5.3 考试管理模块 
  考试管理模块中最为核心的两个功能是管理员安排考试以及学生在线考试。考试安排分为两步,一是录入考试基本信息,二是录入参加考试的学生信息。在录入参加考试的学生的基本信息的同时,还要对考生答题记录进行初始化操作。 
  学生在线考试是整个考试管理的重中之重的功能。该功能是否能够正常使用,是确保整个系统运行的必要条件。 
  学生在线考试过程中,主要解决两个问题:一是时间问题,二是考生答案的保存问题。因此,需要设置2个计时器控件,一个计时器控件对考试进行监控,包括确定开考时间、考试结束时间以及实时剩余时间提示,另一个计时器控件在设置的间隔时间内保存考生答题的答案,主要为了解决考生答案丢失的问题。此外,考生交卷也设置了两种方式,一是手动提交,二是考生结束后系统自动提交试卷。 
  在线考试结束后的数据处理问题也是一个重点问题。由于考生答案信息数据量非常大, 一名考生一次考试就将产生20~30条记录,一次考试的数据量估计约为几千条记录,如果考试次数多,则学生答卷表的数据量非常大,这样会降低索引和查询效率。因此,可以考虑为每次考试专门建立一张数据表,用于存放每次考试考生答卷信息。这样数据表的数量虽然多一些,但是可以有效地提高索引的效率。 
  六、总结 
  本文利用ASP.NET的MVC技术,结合LINQ技术和EF数据模型,从需求分析开始,完整地阐述了在线考试系统的设计方案。其中,对智能组卷和考生在线考试两个核心模块作了重点研究和讨论。 
  参考文献: 
  [1] J R Quilan.Induction of decision trees[J].Machine learning,1986(1)81-106 .
  [2] W Buntine,T Niblett.A Further comparison of splitting rules for decision-tree induction[J].Machine Learning,1992(8):75-76 . 
  [3] J.H.Holland.Adaptation in Natural and Artificial Systems[J]. The .University of Michigan Press, Ann Arbor, MI,1975. 
  [4] 姜春風,许薇.基于 B/S 模式的考试系统设计与实现[J].吉林农业科技学院学报, 2007,16(4):22-24 . 
  [5] 刘晓林.B/S 通用题库考试系统的设计与实现[D].长沙:湖南大学, 2005,10-13 . 
  [6] 赵睿.基于 java 技术的网上在线考试系统设计与实现[D].兰州:兰州理工大学,2006,10-11 .
浏览次数:  更新时间:2017-12-07 08:17:04
上一篇:人体解剖学理论实验一体化教学在临床医学专业教学中的实施与思考
下一篇:提高学生班长管理能力的微观方法
网友评论《基于MVC模式的高职院校在线考试系统的设计》
Top