段乃俠
(陜西國際商貿(mào)學(xué)院 陜西 咸陽 712000)
現(xiàn)階段,很多高校都建立起試題庫系統(tǒng),但由于系統(tǒng)所采用的編程語言、運(yùn)行的平臺都不同,因此這些系統(tǒng)中有諸多的功能存在重復(fù)開發(fā)的現(xiàn)象,系統(tǒng)之間的信息共享難度也較大,并且各個學(xué)校在建立試題庫時,沒有一個統(tǒng)一的標(biāo)準(zhǔn),屬于專用的、封閉的系統(tǒng),不符合開放性的要求。針對這些問題,文中主要提出面向服務(wù)體系的高校試題庫系統(tǒng),從而構(gòu)建SOA架構(gòu),利用其粗粒度服務(wù)、SOA松散耦合、標(biāo)準(zhǔn)化接口等提點(diǎn),使得試題庫系統(tǒng)在SOA設(shè)計思想下,能夠?qū)崿F(xiàn)其松耦合性、開放性、重用性及跨平臺性,從而實(shí)現(xiàn)資源共享。
傳統(tǒng)的面向?qū)ο?、緊耦合的架構(gòu)模型和分布式組件對象模型被SOA所取代,SOA并不能算是一種新的技術(shù),只不過是與傳統(tǒng)的面向?qū)ο竽P拖鄬Φ挠忠环N選擇,并且SOA也沒有排斥面向?qū)ο?,系統(tǒng)的設(shè)計是面向服務(wù),在具體到某一服務(wù)對象的設(shè)計時,可以基于面向?qū)ο蟆R虼?,SOA是允許對象存在與系統(tǒng)內(nèi),但其作為一個整體而言不是面向?qū)ο蟮?,可以理解為SOA是一個更高層次的架構(gòu)。與面向?qū)ο蟮膮s別主要是在接口上,SOA的接口可以給系統(tǒng)和組件來使用,而面向?qū)ο蟮慕涌谥荒芙o其它對象使用。在實(shí)際應(yīng)用中,SOA接口的實(shí)現(xiàn)一般基于EJB、Web服務(wù)、CORBA等技術(shù)。和傳統(tǒng)架構(gòu)對比,SOA的優(yōu)勢主要有松散耦合、基于標(biāo)準(zhǔn)、粗粒度、共享服務(wù)及聯(lián)合控制,和多數(shù)服務(wù)器及客戶端的不同在于強(qiáng)調(diào)軟件組件的松散耦合,接口上使用獨(dú)立的標(biāo)準(zhǔn)接口。
對于諸多的面向服務(wù)的架構(gòu)技術(shù)來說,Web服務(wù)器技術(shù)應(yīng)該是最為適合的,從內(nèi)在而言,Web服務(wù)器是模塊化和自描述的應(yīng)用程序,其將業(yè)務(wù)邏輯可以分解成服務(wù),然后將這些服務(wù)通過互聯(lián)網(wǎng)發(fā)布、引用和發(fā)現(xiàn)。在XML標(biāo)準(zhǔn)基礎(chǔ)上,Web服務(wù)器可以使用任何語言,通過任何協(xié)議與平臺,開發(fā)出松散耦合的應(yīng)用程序,作為服務(wù)的業(yè)務(wù)應(yīng)用程序在分發(fā)方面就非常方便,任何人在任何地點(diǎn)、任何時間、任何平臺上對可以對此服務(wù)進(jìn)行訪問。Web服務(wù)器主要包括SOAP、XML、UDDI、WSDL等技術(shù)在內(nèi)的標(biāo)準(zhǔn)集合,對這些標(biāo)準(zhǔn)進(jìn)行利用,建立一個松散耦合的計算環(huán)境,基于.NET平臺,創(chuàng)建可以互操作的分布式應(yīng)用程序。.NET平臺可以建立其對Web服務(wù)器支持的平臺,從本質(zhì)來看,是Web服務(wù)的核心,在分布式計算模型及協(xié)議堆?;A(chǔ)上,為構(gòu)建可靠、高效、可用、可擴(kuò)展、安全的Web服務(wù)提供了一系列的應(yīng)用城西進(jìn)行支持。
由于SOA作為松散耦合軟件結(jié)構(gòu),在該結(jié)構(gòu)中,通過可復(fù)用的復(fù)用組成系統(tǒng)功能。對于試題庫而言,以往的試題庫都是在特定的平臺上開發(fā)的,包含特定的軟件、開發(fā)工具及操作系統(tǒng)等,其擴(kuò)展性和可復(fù)用性較低。構(gòu)建SOA架構(gòu)試題庫系統(tǒng),對這些問題可以有效的進(jìn)行解決,SOA是面向服務(wù)的軟件設(shè)計方法,在計算機(jī)上很容易就可以進(jìn)行開發(fā)、設(shè)計、部署,這就是服務(wù)。不管對SOA做何種解釋,其核心依然是服務(wù)。SOA架構(gòu)中,包括服務(wù)提供者、服務(wù)使用者和服務(wù)注冊中心3個部分,這3個部分可以由一個或者多個實(shí)體分別充當(dāng),往往在對客戶端應(yīng)用程序進(jìn)行構(gòu)建時,會遇到發(fā)布服務(wù)描述、查找描述、綁定描述3種關(guān)系。這3種關(guān)系如圖1所示。
圖1 SOA體系結(jié)構(gòu)中3個角色和3種操作關(guān)系圖Fig.1 SOA architecture in three characters and three kinds of operation diagram
在SOA架構(gòu)基礎(chǔ)上,生成該試題庫組卷系統(tǒng),主要是根據(jù)服務(wù)及服務(wù)的組合構(gòu)建而成。由軟件組件構(gòu)成一個服務(wù)單元,這個服務(wù)單元和其他程序是相同的,在邏輯方式條件下,在系統(tǒng)內(nèi)部將多個服務(wù)單元劃分為數(shù)據(jù)服務(wù)層和業(yè)務(wù)層。本文主要是在.NET平臺環(huán)境中進(jìn)行開發(fā),其整體結(jié)構(gòu)如圖2所示。
根據(jù)系統(tǒng)的整體結(jié)構(gòu),可以將系統(tǒng)從外到內(nèi)分為5個層次:1)表示層;2)服務(wù)層;3)業(yè)務(wù)邏輯層;4)數(shù)據(jù)訪問層;5)數(shù)據(jù)庫層。SOA試題庫是由服務(wù)和服務(wù)組成,服務(wù)層接口和Web服務(wù)將.NET平臺上的業(yè)務(wù)邏輯進(jìn)行封裝。該系統(tǒng)全部基于.NET平臺,采用Visual Studio.NET2005為開發(fā)工具,采用ATL Web服務(wù)設(shè)計與創(chuàng)建Web服務(wù),DLL為業(yè)務(wù)組件,數(shù)據(jù)訪問則采用ADO.NET技術(shù),采用SQL Server2005作為數(shù)據(jù)庫實(shí)現(xiàn)技術(shù)。
圖2 SOA基礎(chǔ)上的試題庫自動組卷結(jié)構(gòu)圖Fig.2 SOA library automatic group volume based on the structure
根據(jù)系統(tǒng)的目標(biāo),系統(tǒng)的功能主要包含:用戶信息管理(對管理員、教師信息進(jìn)行管理)、試題庫管理(涵蓋知識點(diǎn)管理、試題管理模塊及課程管理)、組卷管理(包括手動組卷模塊和自動組卷模塊)、試題管理(包含試卷添加、查詢及刪除等)等幾個方面。
1)用戶信息管理
該功能主要工作是對用戶權(quán)限進(jìn)行分配、系統(tǒng)管理員及教師管理員的添加與刪除等。不同級別對系統(tǒng)有不同的需求,考慮到此,系統(tǒng)一般對用戶可以劃分為三個級別:系統(tǒng)超級管理員、系統(tǒng)管理員及教師管理員。根據(jù)不同級別的不同需求設(shè)置不同的權(quán)限,保證系統(tǒng)的安全。系統(tǒng)超級管理員對操作系統(tǒng)擁有所有的權(quán)限,對系統(tǒng)所有功能都可以使用,不受任何限制,其工作是對系統(tǒng)管理員進(jìn)行管理與維護(hù)。系統(tǒng)管理員主要對系統(tǒng)進(jìn)行維護(hù),包括試題庫維護(hù)、教師管理維護(hù)及試卷維護(hù)等。教師管理員的權(quán)限是最少的,主要是是使用系統(tǒng)組卷功能,對試卷管理模塊進(jìn)行查詢等操作。
2)試題庫管理
主要是對試題庫進(jìn)行維持操作,包括知識點(diǎn)維護(hù)、課程維護(hù)及試題管理子模塊等。通過課程管理子模塊,低試題庫所述課程進(jìn)行管理操作,試題庫中的每一道試題都必須屬于某一課程,知識點(diǎn)也相同,如果刪除某一課程,相應(yīng)的試題或知識點(diǎn)也要刪除。試題管理模塊主要是對試題庫中的試題進(jìn)行添加、刪除、修改等操作。在新試題庫建立之初,由于題量少,要有專人完成試題錄入工作。
3)組卷管理
包含手動和自動組卷功能,該功能是本系統(tǒng)設(shè)計的核心,也是本文研究的重點(diǎn)。系統(tǒng)主要包含自動組卷子模塊和手動組卷子模塊,而本文主要對自動組卷子模塊進(jìn)行深入的研究。如圖3所示。
圖3 組卷管理功能圖Fig.3 The group management functions
該系統(tǒng)的核心模塊之一就是組卷管理模塊,自動組卷子模塊根據(jù)用戶所輸入?yún)?shù),對試題庫中的所有試題進(jìn)行組卷。主要分為兩步:參數(shù)輸入和試題編輯。系統(tǒng)采用遺傳算法對輸入的參數(shù)進(jìn)行計算,生成用戶滿意的試卷,在組卷計劃、考核大綱的基礎(chǔ)上,以參數(shù)形式上傳組卷,其中這些參數(shù)主要包括題量、總分、總試卷、題型、曝光度、分布比例、知識點(diǎn)、難度等。自動組卷功能實(shí)際上是將用戶輸入的參數(shù)轉(zhuǎn)換為系統(tǒng)可以識別的參數(shù),然后根據(jù)這些參數(shù)在試題庫中抽取試題,組成試卷。在組卷管理中,如果所組成的試題用戶在確定使用以后,應(yīng)該將其加入試卷庫中,便于以后查找與參考。
4)試卷管理
該模塊主要針對試卷進(jìn)行一半的修改、查詢、刪除及維護(hù)等操作。
針對試題庫中的試題進(jìn)行自動組卷系統(tǒng)的設(shè)計,所以在底層試題庫中,設(shè)計與組卷的質(zhì)量與效率的關(guān)系非常緊密。由于合理的、科學(xué)的試題庫建立是一個復(fù)雜的過程,要在數(shù)學(xué)模型的基礎(chǔ)上進(jìn)行,需要各學(xué)科協(xié)作才能完成。因此,文中主要從概念和邏輯2個設(shè)計方面進(jìn)行分析。
1)概念設(shè)計
根據(jù)用戶的需求,概念設(shè)計可以滿足用戶與各個數(shù)據(jù)實(shí)體之間的聯(lián)系,基于ER模型,對數(shù)據(jù)庫概念模型進(jìn)行設(shè)計。該系統(tǒng)數(shù)據(jù)庫的功能主要是對不同課程、題型、知識點(diǎn)等進(jìn)行存儲和管理,并且對生成的試卷進(jìn)行管理。所以,對系統(tǒng)系統(tǒng)庫所包含的實(shí)體可以確定為:課程實(shí)體、試題實(shí)體、難度實(shí)體、知識點(diǎn)實(shí)體、題型實(shí)體、區(qū)分度實(shí)體、試卷實(shí)體、用戶實(shí)體及教學(xué)實(shí)體,這些實(shí)體間的關(guān)系如圖4所示。
圖4 試題庫總體ER圖Fig.4 Test database ER diagram as a whole
2)邏輯設(shè)計
根據(jù)數(shù)據(jù)庫概念設(shè)計要求,此時只需要選擇合適的數(shù)據(jù)庫管理系統(tǒng)即可,將概念設(shè)計轉(zhuǎn)化為選擇的數(shù)據(jù)模型支持的模式。邏輯設(shè)計只要是將概念設(shè)計中的ER圖以表格的形式展示出來,該系統(tǒng)主要選用Microsoft SQL Server 2500作為數(shù)據(jù)庫管理系統(tǒng)。該系統(tǒng)主要數(shù)據(jù)表類型有用戶表、試題表和試卷表3種類型。
針對試題庫中的試題維護(hù)采取試題庫管理模塊進(jìn)行,這部分操作主要由系統(tǒng)管理員來完成,試題庫管理模塊的主要工恩那個是對課程、試題庫及知識點(diǎn)進(jìn)行添加、刪除、查看及修改等操作。先關(guān)服務(wù)如下:
通過對用戶輸入的組卷參數(shù)通過自動組卷算法轉(zhuǎn)化為組卷參數(shù),然后從試題庫中調(diào)取試題,完成組卷操作。
自動組卷是該系統(tǒng)的核心模塊之一,包含參數(shù)輸入和自動組卷兩個部分,通過自動組卷算法,將參數(shù)轉(zhuǎn)化為組卷參數(shù),組卷參數(shù)主要針對試題的難度、區(qū)分度、知識點(diǎn)、題型分布等約束條件對試題進(jìn)行選擇組合。根據(jù)用戶傳遞的組卷參數(shù),對組卷個組分進(jìn)行定義,本文主要針對群體結(jié)構(gòu)體Cpopulation進(jìn)行定義:
隨著高校信息化建設(shè)的不斷完善,對各類技術(shù)的整合,對信息的共享都促使高校試題庫的完善,基于SOA架構(gòu)的試題庫系統(tǒng),在一定程度上解決了當(dāng)前試題庫系統(tǒng)所存在的一些問題,系統(tǒng)的跨平臺性、開放性、松散耦合性及可復(fù)用性更強(qiáng)。根據(jù)實(shí)際使用證明,SOA技術(shù)在試題庫自動組卷系統(tǒng)中的應(yīng)用前景必然會十分廣闊。
[1]萬星.從企業(yè)角度看SOA[J].中國計算機(jī)用戶,2009(1):20-22.WAN Xing.Enterprises from the perspective of SOA[J].Chinese Computer Users,2009(1):20-22.
[2]鄧斯紅,楊立國,賴杰賢,等.SOA在數(shù)字化校園中的應(yīng)用研究[J].中山大學(xué)學(xué)報:自然科學(xué)版,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ī)抽選法的智能組卷的研究與應(yīng)用[J].電腦開發(fā)與應(yīng)用,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].計算機(jī)應(yīng)用與軟件,2007(10):33-34.LING Xiao-dong.SOA review[J].Computer Application and Software,2007(5):33-34.
[5]黃勇,周勇,劉撿平.基于SOA架構(gòu)的新一代高校試題庫系統(tǒng)研究[J].江西師范大學(xué)學(xué)報:自然科學(xué)版,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.