摘 要: 基于UML簡單直觀的圖形化方式描述的優(yōu)點,運用UML對智能評閱系統(tǒng)進(jìn)行面向?qū)ο蠓治?、設(shè)計及實現(xiàn)等問題的建模研究,完成智能評閱系統(tǒng)軟件框架的開發(fā)和設(shè)計。
關(guān)鍵詞: UML;智能評閱系統(tǒng);建模
智能評閱已成為在線考試系統(tǒng)、網(wǎng)上作業(yè)自動評閱的關(guān)鍵技術(shù)之一,傳統(tǒng)的系統(tǒng)開發(fā)集成分析設(shè)計方法已難以保證質(zhì)量和效率。基于智能評閱系統(tǒng)自身要求和UML具有面向?qū)ο?、可視化、獨立性?qiáng)及易于掌握使用等特點,利用UML描述系統(tǒng)設(shè)計中的問題與細(xì)節(jié),對智能評閱系統(tǒng)建模進(jìn)行研究,完成智能評閱系統(tǒng)的開發(fā)設(shè)計。
1 UML的概述
統(tǒng)一建模語言UML(Unified Modeling Language)是面向?qū)ο蠹夹g(shù)發(fā)展的最新成果,對目前面向?qū)ο蟮姆椒?如DOSE、OMT和Booch等)進(jìn)行了統(tǒng)一,其融合了組件技術(shù)、分布式計算等熱門技術(shù)成果,是編制系統(tǒng)藍(lán)圖所使用的標(biāo)準(zhǔn)化語言。為適應(yīng)未來軟件工程發(fā)展要求,為軟件系統(tǒng)的可視化分析、構(gòu)建以及文檔的產(chǎn)生提供了一致的語言[1]。
UML通過三類模型描述圖來建立系統(tǒng)模型:合作圖(描述對象之間的交互關(guān)系以及對象之間的聯(lián)系)、靜態(tài)結(jié)構(gòu)圖(對象圖、類圖、組件圖、配置圖)和動態(tài)行為圖(順序圖、協(xié)作圖、狀態(tài)圖、活動圖)。這些圖的使用,使系統(tǒng)實現(xiàn)可視化,更易理解。UML包含七個事務(wù):類、對象、接口、包、用例、組件及節(jié)點。關(guān)系與事務(wù)都在模型描述圖中以圖表示。UML適用于各種規(guī)模的系統(tǒng)開發(fā),能促進(jìn)軟件復(fù)用,集成已有系統(tǒng)并有效減少開發(fā)風(fēng)險。
2 基于UML的智能評閱系統(tǒng)的建模過程
智能評閱系統(tǒng)對學(xué)生平時學(xué)習(xí)成績進(jìn)行檢測和反饋,具備學(xué)生網(wǎng)上考試及教師網(wǎng)上評閱的功能,提升了工作效率和教學(xué)質(zhì)量,降低了教學(xué)成本。為保證系統(tǒng)完全實現(xiàn)這些目標(biāo),為系統(tǒng)建立一個完善的模型至關(guān)重要。
本系統(tǒng)建模采用可視化的建模設(shè)計工具Rational Rose,可將 UML 模型直接轉(zhuǎn)換為高級語言代碼,從而節(jié)約開發(fā)時間,減少軟件代碼錯誤率。具體建模過程主要有需求分析、建立系統(tǒng)靜態(tài)和動態(tài)模型等過程。
2.1 系統(tǒng)需求分析
需求分析是軟件開發(fā)最為關(guān)鍵的一步。利用UML中的用例圖對智能評閱系統(tǒng)的用戶需求進(jìn)行捕捉,從用戶的角度對系統(tǒng)功能需求進(jìn)行描述。
智能評閱系統(tǒng)必須包含試題庫、答卷庫及成績庫等核心數(shù)據(jù)庫管理功能,內(nèi)置明細(xì)評分標(biāo)準(zhǔn)及詳細(xì)的閱卷分析。系統(tǒng)由身份識別、試卷生成管理、網(wǎng)上考試、自動閱卷管理、成績查詢、教師統(tǒng)計分析管理和信息發(fā)布模塊七個子系統(tǒng)組成,每個子系統(tǒng)下面都可以包含數(shù)據(jù)處理、查詢統(tǒng)計、報表打印等功能。該系統(tǒng)具備網(wǎng)上登錄、在線考試及評閱和成績管理功能。
下面是詳細(xì)的需求分析。
(1)與網(wǎng)上登錄相關(guān)的需求。系統(tǒng)用戶主要由系統(tǒng)管理員、教師、學(xué)生和教務(wù)管理員等多角色用戶管理。系統(tǒng)管理員擁有對各用戶進(jìn)行增加、刪除、修改以及權(quán)限分配的權(quán)力。任課教師對該班學(xué)生用戶進(jìn)行增加、刪除、修改;教務(wù)管理員由各院系負(fù)責(zé)教學(xué)的教務(wù)員進(jìn)行管理。
(2)與在線考試相關(guān)的需求。包含試題庫管理、設(shè)置試題屬性、組卷管理。其中試題根據(jù)不同的考試科目與題目類型建立相應(yīng)的數(shù)據(jù)表,進(jìn)行自行組卷。試題屬性則應(yīng)設(shè)置試題的難度、區(qū)分度、曝光度、出題時間、知識點、題型等多個屬性,以確保試題易于區(qū)分與歸類。組卷管理中教師應(yīng)設(shè)定題目類型、題型數(shù)量、不同題型題目分值和試題難易程度等若干參數(shù),試卷由系統(tǒng)自動出卷生成。考生必需登錄考試界面身份驗證無誤后才能進(jìn)入在線考試??荚嚱Y(jié)束后,系統(tǒng)應(yīng)自動保存時間并強(qiáng)制交卷。為防止考試過程中意外情況的發(fā)生,系統(tǒng)應(yīng)對試卷每5分鐘進(jìn)行自動保存,以保證考試的公平。
(3)與評閱相關(guān)的需求??忌峤辉嚲砗?,系統(tǒng)自動對考生的試卷進(jìn)行評分。試卷題型包括客觀題和主觀題,計算機(jī)應(yīng)實現(xiàn)自動閱卷或者提供評分參考。為確保評閱結(jié)果正確性,系統(tǒng)應(yīng)具備教師登錄后可手動選擇主觀題閱卷的功能,批閱時教師既能看到學(xué)生的答案及正確答案,又能看到電腦智能評分給出的分值,教師再根據(jù)這些信息進(jìn)行比對或修改分值。
(4)與成績管理相關(guān)的需求。計算機(jī)自動生成每個考生的成績,結(jié)果保存于不同考生的成績數(shù)據(jù)庫,考生依據(jù)權(quán)限,在規(guī)定時間內(nèi)可對自己的成績、試卷等信息進(jìn)行查詢。而試卷統(tǒng)計分析中,教師可對一個班級的成績進(jìn)行全面的分析,如平均分、考分分值分布等。同時,系統(tǒng)能自動對試卷整體情況進(jìn)行分析,如難度分析、區(qū)分度分析、信度分析、效度分析等。
2.2 模型建立
在充分獲得功能需求的基礎(chǔ)上,系統(tǒng)建模的第一步驟就是建立用例模型。確定參與者,對其進(jìn)行用例定義,從而建立完善的用例模型。
2.2.1 用例建模
為了從用戶的觀點來描述系統(tǒng)功能,并把此功能完整表述出來,須建立用例模型。根據(jù)用戶需求對整個系統(tǒng)進(jìn)行定義用例,即劃分系統(tǒng)功能模塊、確定系統(tǒng)的功能需求、通過系統(tǒng)功能確立系統(tǒng)的用例模型。
確定參與者是建立用例模型的關(guān)鍵。智能評閱系統(tǒng)的參與者是系統(tǒng)管理員、教師、教務(wù)管理員和學(xué)生。其中,學(xué)生、教師和教務(wù)管理員有多個,系統(tǒng)管理員只有一個。在角色明確后,根據(jù)系統(tǒng)需求分析設(shè)計出系統(tǒng)總用例圖,如圖1所示。
智能評閱系統(tǒng)相關(guān)用例具體如下:
(1)系統(tǒng)管理員相關(guān)用例:用戶管理和服務(wù)器管理。其負(fù)責(zé)更改用戶的權(quán)限、日志維護(hù)、增加用戶、刪除用戶和管理系統(tǒng)后臺數(shù)據(jù)等。
(2)教師相關(guān)用例:出題、題庫管理、組卷管理、閱卷管理、試卷分析和評教查詢。其作用是建立和修改個人信息、試題庫、設(shè)置組卷參數(shù)、修改部分試卷和分?jǐn)?shù)、考試成績管理、評教查詢等。
(3)教務(wù)管理員相關(guān)的用例:用戶管理和題庫管理。它們管理考試基本信息以及維護(hù)數(shù)據(jù)庫等。
(4)學(xué)生相關(guān)用例:網(wǎng)上考試、評教查詢和成績查詢。其功能為學(xué)生考試以及對教師評教輸入、個人信息的錄入與查詢等。
2.2.2 靜態(tài)建模
建立靜態(tài)結(jié)構(gòu)模型是系統(tǒng)建模的第二步。依據(jù)系統(tǒng)結(jié)構(gòu)從靜態(tài)觀點描述系統(tǒng)的視圖,稱為靜態(tài)模型。靜態(tài)模型是指類及類之間的相互關(guān)系和類的內(nèi)部結(jié)構(gòu),它主要定義系統(tǒng)中的對象、類的屬性和操作。在智能評閱系統(tǒng)中存在各種各樣的類,分為報表類、學(xué)生類、教師類和系統(tǒng)管理員類。
在UML中,類用一個分成三部分的矩形來表示,從上到下分別為:類名稱、類屬性和方法。圖2所示為“教師”類的類圖。其中teaID是教師編號,teaName是教師姓名,teaSex是教師性別,depID是教師所在部門編號等類屬性,包含教師的一些最基本的信息。teaID是教師類中的關(guān)鍵字。
2.2.3 動態(tài)建模
建立動態(tài)行為模型是系統(tǒng)建模的第三步。動態(tài)建模的前提是必須在系統(tǒng)靜態(tài)建模建立之后才能進(jìn)行。它描述如何完成系統(tǒng)的各項功能,通過合理正確使用順序圖、活動圖、狀態(tài)圖和協(xié)作圖等作圖方法,從不同角度描述對象和對象之間的一種交互活動,最終得到動態(tài)行為模型。
交互關(guān)系在順序圖中用一個二維圖表示??v向是時間軸,時間沿豎線向下延伸。橫向軸表示在協(xié)作中各獨立對象的類元角色(用生命線表示)。角色以哪種形式存在,主要是看生命線的表示。生命線是一條虛線時,表示對象存在;生命線是一雙線時,表示對象的過程處于激活狀態(tài)。在順序圖的實際創(chuàng)建中,用從一個對象的生命線到另一個對象生命線的箭頭表示消息。箭頭以時間順序從上到下排列。
圖3給出了智能評閱中教師的順序圖。教師在輸入用戶名和密碼后,身份識別模塊根據(jù)信息正確與否決定是否讓其進(jìn)行登錄系統(tǒng)。若用戶名和密碼正確,則進(jìn)入教師主界面。教師可以在試題數(shù)據(jù)庫中進(jìn)行試題的錄入,并進(jìn)行選擇組卷,同時可對試卷信息與題量進(jìn)行設(shè)置,也可以在學(xué)生成績統(tǒng)計分析模塊中對學(xué)生所取得的成績進(jìn)行分析與點評,同時利用信息發(fā)布模塊對一些需要重點點評題進(jìn)行信息的發(fā)布。
在動態(tài)行為模型中,描述對象之間的交互活動的另一種表現(xiàn)形式是狀態(tài)圖,它通過建立類對象的生存周期模型來描述對象隨時間變化的動態(tài)行為。其建模步驟主要為:(1)確定對象;(2)確定對象的起始狀態(tài)和結(jié)束狀態(tài);(3)確定控制狀態(tài);(4)尋找狀態(tài)之間的轉(zhuǎn)換;(5)補(bǔ)充引起轉(zhuǎn)換的事件;(6)用UML建模工具畫狀態(tài)圖及補(bǔ)充必要的文檔。
下面以學(xué)生考試作為對象,考生輸入登錄信息為起始狀態(tài),輸入信息錯誤退出及最終交卷為結(jié)束狀態(tài),對其進(jìn)行狀態(tài)圖的分析。
(1)考生登錄操作。輸入考生信息,若登錄信息正確則進(jìn)入系統(tǒng),否則退出登錄。
(2)進(jìn)入考試系統(tǒng)后,考生選擇考試科目,信息正確則進(jìn)入考試界面,否則提示錯誤信息,重新回到選擇考試信息界面進(jìn)行選擇。
(3)由于考試系統(tǒng)有自動計時功能,故在考試過程中,系統(tǒng)會提示考生還剩余多少時間,同時還可判斷考試時間是否在考試狀態(tài)中。若非0,考生則可繼續(xù)答題或提前交卷;若為0,則表示考試時間結(jié)束,系統(tǒng)會自動強(qiáng)制交卷,考試結(jié)束。
2.2.4 智能評閱的實現(xiàn)及測試
系統(tǒng)建模最后一個步驟就是檢查系統(tǒng)的一致性,檢查系統(tǒng)是否達(dá)到預(yù)期需求,是否與靜態(tài)模型中的用例屬性一致及是否與動態(tài)模型中的行為相吻合。通過系統(tǒng)的實現(xiàn)、測試進(jìn)行驗證。
在UML中,描述系統(tǒng)的實現(xiàn)有組件圖和配置圖兩種機(jī)制,組件圖主要顯示系統(tǒng)軟件方面的邏輯結(jié)構(gòu),以顯示系統(tǒng)組件之間的結(jié)構(gòu)關(guān)系為主要目的。配置圖定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu),其主要目的是說明如何配置系統(tǒng)的軟件和硬件。經(jīng)過比較細(xì)致的系統(tǒng)分析與設(shè)計后,系統(tǒng)根據(jù)設(shè)計模型在具體的環(huán)境中得以實現(xiàn)。同時,UML建模工具Rational Rose則根據(jù)系統(tǒng)的構(gòu)件圖生成系統(tǒng)的框架代碼及可執(zhí)行程序和軟件文檔,完成代碼編寫,最終實現(xiàn)系統(tǒng)功能。
系統(tǒng)測試是系統(tǒng)開發(fā)中的關(guān)鍵步驟,包括鏈接測試、性能測試和安全性測試。安全性測試包括用戶身份認(rèn)證測試、網(wǎng)絡(luò)安全性測試以及數(shù)據(jù)庫安全測試。這幾種測試對保證系統(tǒng)質(zhì)量和可靠性具有至關(guān)重要的作用,是對系統(tǒng)開發(fā)過程中的系統(tǒng)分析、設(shè)計和實施的最后復(fù)查,通過各種專業(yè)的測試和周密的排錯,最大程度地保證一個無錯的系統(tǒng)實現(xiàn),從而符合預(yù)定要求。
本文主要從構(gòu)建智能評閱系統(tǒng)的角度對系統(tǒng)進(jìn)行UML建模,重點分析了智能評閱系統(tǒng)的構(gòu)建問題。其實際開發(fā)過程涉及主觀題的自動批閱,對系統(tǒng)在語義方面的匹配要求較高,使得該系統(tǒng)的開發(fā)較為復(fù)雜。隨著人工智能、模式識別及自然語言理解等諸多技術(shù)的快速發(fā)展,智能評閱系統(tǒng)各方面功能將會進(jìn)一步完善,并具有廣闊的應(yīng)用前景。
參考文獻(xiàn)
[1] 張衛(wèi)山,巫家敏,嚴(yán)新民.基于UML的管理信息系統(tǒng)開發(fā)[J].計算機(jī)工程,1999,12(12).
[2] 王祥金.一個智能在線考試系統(tǒng)設(shè)計與實現(xiàn)[D].山東:山東大學(xué),2009.
[3] 陸錫聰.基于WEB的學(xué)生作業(yè)評閱系統(tǒng)的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2006(2).
[4] 丁衛(wèi)平,管致錦,陳建平.基于程序設(shè)計主觀題智能閱卷算法的應(yīng)用研究[J].計算機(jī)技術(shù)與發(fā)展,2007,11(11)
[5] 楊斌,朱仲英.基于UML的期刊管理信息系統(tǒng)開發(fā)[J].微型電腦應(yīng)用,2003,19(7).