基于SOA技术的试题库自动组卷系统设计与研发探析
2013-08-10段乃侠
段乃侠
(陕西国际商贸学院 陕西 咸阳 712000)
现阶段,很多高校都建立起试题库系统,但由于系统所采用的编程语言、运行的平台都不同,因此这些系统中有诸多的功能存在重复开发的现象,系统之间的信息共享难度也较大,并且各个学校在建立试题库时,没有一个统一的标准,属于专用的、封闭的系统,不符合开放性的要求。针对这些问题,文中主要提出面向服务体系的高校试题库系统,从而构建SOA架构,利用其粗粒度服务、SOA松散耦合、标准化接口等提点,使得试题库系统在SOA设计思想下,能够实现其松耦合性、开放性、重用性及跨平台性,从而实现资源共享。
1 SOA概述
传统的面向对象、紧耦合的架构模型和分布式组件对象模型被SOA所取代,SOA并不能算是一种新的技术,只不过是与传统的面向对象模型相对的又一种选择,并且SOA也没有排斥面向对象,系统的设计是面向服务,在具体到某一服务对象的设计时,可以基于面向对象。因此,SOA是允许对象存在与系统内,但其作为一个整体而言不是面向对象的,可以理解为SOA是一个更高层次的架构。与面向对象的却别主要是在接口上,SOA的接口可以给系统和组件来使用,而面向对象的接口只能给其它对象使用。在实际应用中,SOA接口的实现一般基于EJB、Web服务、CORBA等技术。和传统架构对比,SOA的优势主要有松散耦合、基于标准、粗粒度、共享服务及联合控制,和多数服务器及客户端的不同在于强调软件组件的松散耦合,接口上使用独立的标准接口。
2 SOA技术的实现
对于诸多的面向服务的架构技术来说,Web服务器技术应该是最为适合的,从内在而言,Web服务器是模块化和自描述的应用程序,其将业务逻辑可以分解成服务,然后将这些服务通过互联网发布、引用和发现。在XML标准基础上,Web服务器可以使用任何语言,通过任何协议与平台,开发出松散耦合的应用程序,作为服务的业务应用程序在分发方面就非常方便,任何人在任何地点、任何时间、任何平台上对可以对此服务进行访问。Web服务器主要包括SOAP、XML、UDDI、WSDL等技术在内的标准集合,对这些标准进行利用,建立一个松散耦合的计算环境,基于.NET平台,创建可以互操作的分布式应用程序。.NET平台可以建立其对Web服务器支持的平台,从本质来看,是Web服务的核心,在分布式计算模型及协议堆栈基础上,为构建可靠、高效、可用、可扩展、安全的Web服务提供了一系列的应用城西进行支持。
3 SOA架构
由于SOA作为松散耦合软件结构,在该结构中,通过可复用的复用组成系统功能。对于试题库而言,以往的试题库都是在特定的平台上开发的,包含特定的软件、开发工具及操作系统等,其扩展性和可复用性较低。构建SOA架构试题库系统,对这些问题可以有效的进行解决,SOA是面向服务的软件设计方法,在计算机上很容易就可以进行开发、设计、部署,这就是服务。不管对SOA做何种解释,其核心依然是服务。SOA架构中,包括服务提供者、服务使用者和服务注册中心3个部分,这3个部分可以由一个或者多个实体分别充当,往往在对客户端应用程序进行构建时,会遇到发布服务描述、查找描述、绑定描述3种关系。这3种关系如图1所示。
图1 SOA体系结构中3个角色和3种操作关系图Fig.1 SOA architecture in three characters and three kinds of operation diagram
4 基于SOA的试题库自动组卷系统
4.1 系统设计结构
在SOA架构基础上,生成该试题库组卷系统,主要是根据服务及服务的组合构建而成。由软件组件构成一个服务单元,这个服务单元和其他程序是相同的,在逻辑方式条件下,在系统内部将多个服务单元划分为数据服务层和业务层。本文主要是在.NET平台环境中进行开发,其整体结构如图2所示。
4.2 系统分层结构
根据系统的整体结构,可以将系统从外到内分为5个层次:1)表示层;2)服务层;3)业务逻辑层;4)数据访问层;5)数据库层。SOA试题库是由服务和服务组成,服务层接口和Web服务将.NET平台上的业务逻辑进行封装。该系统全部基于.NET平台,采用Visual Studio.NET2005为开发工具,采用ATL Web服务设计与创建Web服务,DLL为业务组件,数据访问则采用ADO.NET技术,采用SQL Server2005作为数据库实现技术。
图2 SOA基础上的试题库自动组卷结构图Fig.2 SOA library automatic group volume based on the structure
4.3 系统功能
根据系统的目标,系统的功能主要包含:用户信息管理(对管理员、教师信息进行管理)、试题库管理(涵盖知识点管理、试题管理模块及课程管理)、组卷管理(包括手动组卷模块和自动组卷模块)、试题管理(包含试卷添加、查询及删除等)等几个方面。
1)用户信息管理
该功能主要工作是对用户权限进行分配、系统管理员及教师管理员的添加与删除等。不同级别对系统有不同的需求,考虑到此,系统一般对用户可以划分为三个级别:系统超级管理员、系统管理员及教师管理员。根据不同级别的不同需求设置不同的权限,保证系统的安全。系统超级管理员对操作系统拥有所有的权限,对系统所有功能都可以使用,不受任何限制,其工作是对系统管理员进行管理与维护。系统管理员主要对系统进行维护,包括试题库维护、教师管理维护及试卷维护等。教师管理员的权限是最少的,主要是是使用系统组卷功能,对试卷管理模块进行查询等操作。
2)试题库管理
主要是对试题库进行维持操作,包括知识点维护、课程维护及试题管理子模块等。通过课程管理子模块,低试题库所述课程进行管理操作,试题库中的每一道试题都必须属于某一课程,知识点也相同,如果删除某一课程,相应的试题或知识点也要删除。试题管理模块主要是对试题库中的试题进行添加、删除、修改等操作。在新试题库建立之初,由于题量少,要有专人完成试题录入工作。
3)组卷管理
包含手动和自动组卷功能,该功能是本系统设计的核心,也是本文研究的重点。系统主要包含自动组卷子模块和手动组卷子模块,而本文主要对自动组卷子模块进行深入的研究。如图3所示。
图3 组卷管理功能图Fig.3 The group management functions
该系统的核心模块之一就是组卷管理模块,自动组卷子模块根据用户所输入参数,对试题库中的所有试题进行组卷。主要分为两步:参数输入和试题编辑。系统采用遗传算法对输入的参数进行计算,生成用户满意的试卷,在组卷计划、考核大纲的基础上,以参数形式上传组卷,其中这些参数主要包括题量、总分、总试卷、题型、曝光度、分布比例、知识点、难度等。自动组卷功能实际上是将用户输入的参数转换为系统可以识别的参数,然后根据这些参数在试题库中抽取试题,组成试卷。在组卷管理中,如果所组成的试题用户在确定使用以后,应该将其加入试卷库中,便于以后查找与参考。
4)试卷管理
该模块主要针对试卷进行一半的修改、查询、删除及维护等操作。
4.4 系统设计
针对试题库中的试题进行自动组卷系统的设计,所以在底层试题库中,设计与组卷的质量与效率的关系非常紧密。由于合理的、科学的试题库建立是一个复杂的过程,要在数学模型的基础上进行,需要各学科协作才能完成。因此,文中主要从概念和逻辑2个设计方面进行分析。
1)概念设计
根据用户的需求,概念设计可以满足用户与各个数据实体之间的联系,基于ER模型,对数据库概念模型进行设计。该系统数据库的功能主要是对不同课程、题型、知识点等进行存储和管理,并且对生成的试卷进行管理。所以,对系统系统库所包含的实体可以确定为:课程实体、试题实体、难度实体、知识点实体、题型实体、区分度实体、试卷实体、用户实体及教学实体,这些实体间的关系如图4所示。
图4 试题库总体ER图Fig.4 Test database ER diagram as a whole
2)逻辑设计
根据数据库概念设计要求,此时只需要选择合适的数据库管理系统即可,将概念设计转化为选择的数据模型支持的模式。逻辑设计只要是将概念设计中的ER图以表格的形式展示出来,该系统主要选用Microsoft SQL Server 2500作为数据库管理系统。该系统主要数据表类型有用户表、试题表和试卷表3种类型。
4.5 试题库管理模块设计
针对试题库中的试题维护采取试题库管理模块进行,这部分操作主要由系统管理员来完成,试题库管理模块的主要工恩那个是对课程、试题库及知识点进行添加、删除、查看及修改等操作。先关服务如下:
4.5 自动组卷整体设计
通过对用户输入的组卷参数通过自动组卷算法转化为组卷参数,然后从试题库中调取试题,完成组卷操作。
自动组卷是该系统的核心模块之一,包含参数输入和自动组卷两个部分,通过自动组卷算法,将参数转化为组卷参数,组卷参数主要针对试题的难度、区分度、知识点、题型分布等约束条件对试题进行选择组合。根据用户传递的组卷参数,对组卷个组分进行定义,本文主要针对群体结构体Cpopulation进行定义:
5 结束语
随着高校信息化建设的不断完善,对各类技术的整合,对信息的共享都促使高校试题库的完善,基于SOA架构的试题库系统,在一定程度上解决了当前试题库系统所存在的一些问题,系统的跨平台性、开放性、松散耦合性及可复用性更强。根据实际使用证明,SOA技术在试题库自动组卷系统中的应用前景必然会十分广阔。
[1]万星.从企业角度看SOA[J].中国计算机用户,2009(1):20-22.WAN Xing.Enterprises from the perspective of SOA[J].Chinese Computer Users,2009(1):20-22.
[2]邓斯红,杨立国,赖杰贤,等.SOA在数字化校园中的应用研究[J].中山大学学报:自然科学版,2009(48):11-13.DENG Si-gong,YANG Li-guo,LAI Jie-xian,et al.SOA in the application of digital campus[J].Journal of Sun Yat-sen University:Natural Science Edition,2009(48):11-13.
[3]庶炜,闰宏印,王世兵,等.基于集合随机抽选法的智能组卷的研究与应用[J].电脑开发与应用,2010(5):25-27.ZHE Wei,RUN Hong-yin,WANG Shi-bing,et al.Based on a set of random selection method of intelligent research and application[J].The Development and Application of Computer,2010(5):25-27.
[4]凌晓东.SOA综述[J].计算机应用与软件,2007(10):33-34.LING Xiao-dong.SOA review[J].Computer Application and Software,2007(5):33-34.
[5]黄勇,周勇,刘捡平.基于SOA架构的新一代高校试题库系统研究[J].江西师范大学学报:自然科学版,2008(4):39-40.HUANG Yong,ZHOU Yong,LIU Jian-ping.Based on SOA to pick up a new generation of the database system[J].Journal of Jiangxi Normal University:Natural Science Edition,2008(4):39-40.