段乃俠
(陜西國際商貿學院 陜西 咸陽 712000)
現階段,很多高校都建立起試題庫系統,但由于系統所采用的編程語言、運行的平臺都不同,因此這些系統中有諸多的功能存在重復開發的現象,系統之間的信息共享難度也較大,并且各個學校在建立試題庫時,沒有一個統一的標準,屬于專用的、封閉的系統,不符合開放性的要求。針對這些問題,文中主要提出面向服務體系的高校試題庫系統,從而構建SOA架構,利用其粗粒度服務、SOA松散耦合、標準化接口等提點,使得試題庫系統在SOA設計思想下,能夠實現其松耦合性、開放性、重用性及跨平臺性,從而實現資源共享。
傳統的面向對象、緊耦合的架構模型和分布式組件對象模型被SOA所取代,SOA并不能算是一種新的技術,只不過是與傳統的面向對象模型相對的又一種選擇,并且SOA也沒有排斥面向對象,系統的設計是面向服務,在具體到某一服務對象的設計時,可以基于面向對象。因此,SOA是允許對象存在與系統內,但其作為一個整體而言不是面向對象的,可以理解為SOA是一個更高層次的架構。與面向對象的卻別主要是在接口上,SOA的接口可以給系統和組件來使用,而面向對象的接口只能給其它對象使用。在實際應用中,SOA接口的實現一般基于EJB、Web服務、CORBA等技術。和傳統架構對比,SOA的優勢主要有松散耦合、基于標準、粗粒度、共享服務及聯合控制,和多數服務器及客戶端的不同在于強調軟件組件的松散耦合,接口上使用獨立的標準接口。
對于諸多的面向服務的架構技術來說,Web服務器技術應該是最為適合的,從內在而言,Web服務器是模塊化和自描述的應用程序,其將業務邏輯可以分解成服務,然后將這些服務通過互聯網發布、引用和發現。在XML標準基礎上,Web服務器可以使用任何語言,通過任何協議與平臺,開發出松散耦合的應用程序,作為服務的業務應用程序在分發方面就非常方便,任何人在任何地點、任何時間、任何平臺上對可以對此服務進行訪問。Web服務器主要包括SOAP、XML、UDDI、WSDL等技術在內的標準集合,對這些標準進行利用,建立一個松散耦合的計算環境,基于.NET平臺,創建可以互操作的分布式應用程序。.NET平臺可以建立其對Web服務器支持的平臺,從本質來看,是Web服務的核心,在分布式計算模型及協議堆棧基礎上,為構建可靠、高效、可用、可擴展、安全的Web服務提供了一系列的應用城西進行支持。
由于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
在SOA架構基礎上,生成該試題庫組卷系統,主要是根據服務及服務的組合構建而成。由軟件組件構成一個服務單元,這個服務單元和其他程序是相同的,在邏輯方式條件下,在系統內部將多個服務單元劃分為數據服務層和業務層。本文主要是在.NET平臺環境中進行開發,其整體結構如圖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
根據系統的目標,系統的功能主要包含:用戶信息管理(對管理員、教師信息進行管理)、試題庫管理(涵蓋知識點管理、試題管理模塊及課程管理)、組卷管理(包括手動組卷模塊和自動組卷模塊)、試題管理(包含試卷添加、查詢及刪除等)等幾個方面。
1)用戶信息管理
該功能主要工作是對用戶權限進行分配、系統管理員及教師管理員的添加與刪除等。不同級別對系統有不同的需求,考慮到此,系統一般對用戶可以劃分為三個級別:系統超級管理員、系統管理員及教師管理員。根據不同級別的不同需求設置不同的權限,保證系統的安全。系統超級管理員對操作系統擁有所有的權限,對系統所有功能都可以使用,不受任何限制,其工作是對系統管理員進行管理與維護。系統管理員主要對系統進行維護,包括試題庫維護、教師管理維護及試卷維護等。教師管理員的權限是最少的,主要是是使用系統組卷功能,對試卷管理模塊進行查詢等操作。
2)試題庫管理
主要是對試題庫進行維持操作,包括知識點維護、課程維護及試題管理子模塊等。通過課程管理子模塊,低試題庫所述課程進行管理操作,試題庫中的每一道試題都必須屬于某一課程,知識點也相同,如果刪除某一課程,相應的試題或知識點也要刪除。試題管理模塊主要是對試題庫中的試題進行添加、刪除、修改等操作。在新試題庫建立之初,由于題量少,要有專人完成試題錄入工作。
3)組卷管理
包含手動和自動組卷功能,該功能是本系統設計的核心,也是本文研究的重點。系統主要包含自動組卷子模塊和手動組卷子模塊,而本文主要對自動組卷子模塊進行深入的研究。如圖3所示。

圖3 組卷管理功能圖Fig.3 The group management functions
該系統的核心模塊之一就是組卷管理模塊,自動組卷子模塊根據用戶所輸入參數,對試題庫中的所有試題進行組卷。主要分為兩步:參數輸入和試題編輯。系統采用遺傳算法對輸入的參數進行計算,生成用戶滿意的試卷,在組卷計劃、考核大綱的基礎上,以參數形式上傳組卷,其中這些參數主要包括題量、總分、總試卷、題型、曝光度、分布比例、知識點、難度等。自動組卷功能實際上是將用戶輸入的參數轉換為系統可以識別的參數,然后根據這些參數在試題庫中抽取試題,組成試卷。在組卷管理中,如果所組成的試題用戶在確定使用以后,應該將其加入試卷庫中,便于以后查找與參考。
4)試卷管理
該模塊主要針對試卷進行一半的修改、查詢、刪除及維護等操作。
針對試題庫中的試題進行自動組卷系統的設計,所以在底層試題庫中,設計與組卷的質量與效率的關系非常緊密。由于合理的、科學的試題庫建立是一個復雜的過程,要在數學模型的基礎上進行,需要各學科協作才能完成。因此,文中主要從概念和邏輯2個設計方面進行分析。
1)概念設計
根據用戶的需求,概念設計可以滿足用戶與各個數據實體之間的聯系,基于ER模型,對數據庫概念模型進行設計。該系統數據庫的功能主要是對不同課程、題型、知識點等進行存儲和管理,并且對生成的試卷進行管理。所以,對系統系統庫所包含的實體可以確定為:課程實體、試題實體、難度實體、知識點實體、題型實體、區分度實體、試卷實體、用戶實體及教學實體,這些實體間的關系如圖4所示。

圖4 試題庫總體ER圖Fig.4 Test database ER diagram as a whole
2)邏輯設計
根據數據庫概念設計要求,此時只需要選擇合適的數據庫管理系統即可,將概念設計轉化為選擇的數據模型支持的模式。邏輯設計只要是將概念設計中的ER圖以表格的形式展示出來,該系統主要選用Microsoft SQL Server 2500作為數據庫管理系統。該系統主要數據表類型有用戶表、試題表和試卷表3種類型。
針對試題庫中的試題維護采取試題庫管理模塊進行,這部分操作主要由系統管理員來完成,試題庫管理模塊的主要工恩那個是對課程、試題庫及知識點進行添加、刪除、查看及修改等操作。先關服務如下:

通過對用戶輸入的組卷參數通過自動組卷算法轉化為組卷參數,然后從試題庫中調取試題,完成組卷操作。
自動組卷是該系統的核心模塊之一,包含參數輸入和自動組卷兩個部分,通過自動組卷算法,將參數轉化為組卷參數,組卷參數主要針對試題的難度、區分度、知識點、題型分布等約束條件對試題進行選擇組合。根據用戶傳遞的組卷參數,對組卷個組分進行定義,本文主要針對群體結構體Cpopulation進行定義:

隨著高校信息化建設的不斷完善,對各類技術的整合,對信息的共享都促使高校試題庫的完善,基于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.