葛安華,王飛虎
(東北林業大學,哈爾濱 150040)
事業單位招考的規模在擴大,使得招考報名工作十分繁瑣,網上報名系統轉變了傳統的現場集中報名模式,方便了考生報名,減輕了報名管理工作的負荷,提升了工作效率,提高了考試管理機構的服務質量和服務水平,實現了報名工作的制度化、程序化、規范化和信息化。
本文應用UML建模技術對事業單位招考網上報名系統進行建模分析,使用UML中的用例視圖對網上報名系統的功能模塊進行分析,用靜態模型詳細描述了系統模型的靜態結構,用動態模型描述系統的行為和動作以及用例和對象的內部工作過程。
UML是一種可視化的面向對象的模型分析語言。它的主要作用是幫助用戶對系統進行面向對象的描述和建模。這種描述可以表示出這個軟件開發過程從需求分析到實現和測試的全過程[1]。UML主要利用5種圖進行建模,5種圖分別如下。
(1)用例圖:從用戶角度來描述系統功能,指出各個功能的操作者,并定義系統的邊界。
(2)靜態圖:包括類圖、對象圖和包圖。類圖用于描述系統中類的結構和類之間的關系;對象圖相當于類圖的實例;包圖是由包或類組成的,表示包與包之間的關系。
(3)行為圖:用于描述系統的動態模型和組成對象間的交互關系。
(4)交互圖:用于描述對象之間的交互關系,包括順序圖和協作圖。
(5)實現圖:包括構件圖和配置圖。構件圖用于顯示系統中的軟件組件及其相互關系;配置圖用于顯示軟硬件的物理體系結構。
UML的建模分為2個部分:靜態建模和動態建模。建模過程分為以下3個步驟:
(1)根據需求分析,得到系統UML用例圖,對網上報名系統進行描述;
(2)應用UML類圖建立系統各部分的靜態模型;
(3)通過分析流程,得出系統的動態模型。
開發系統的目標是滿足用戶的需求,給用戶的工作帶來方便。事業單位招考網上報名系統主要用戶是考生和系統管理員,所以建模時必須包括他們需要的功能模塊,這樣開發出來的系統才有意義。
本文采用訪談調查的方法對部分考生和系統管理員進行了訪問,記錄下來他們對系統有哪些功能需求。主要有以下這些功能需求:
(1)考生主要功能需求:①可以瀏覽考試相關信息;②可以通過瀏覽器進行網上報名 (填報信息、上傳照片、網上支付);③可以在指定時間范圍內修改報名信息或取消報名;④可以在指定的時間內打印準考證;⑤可以在成績公布后查詢考試成績。
(2)系統管理員功能需求:①可以對網站進行維護 (信息的更新,界面的維護等);②可以控制報名功能啟動和停止;③可以導出報名表并上報考試中心;④依托銀行和第三方系統——網上支付系統進行報名費的收取;⑤可以對報名表進行統計報表、費用結算;⑥考試中心下發成績后,可以將成績單上傳系統;⑦可以對成績進行瀏覽、查詢、分析統計和打印報表。
建立用例模型的目的是描述系統的功能。建立用例模型首先要指出系統的邊界和參入者 (用戶),從用戶需求中提取用例,其次描述操作者和系統的交互。由于在事業單位網上報名系統中,涉及到很多的用例和參入者,為此,按與系統交互對象的不同,將系統分為3個包。如圖1所示。

圖1 系統包圖Fig.1 System package diagram
考生與系統交互包主要描述考生使用系統的哪些功能 (用例),向系統輸入哪些信息,從系統獲取哪些信息。考生與系統交互的用例模型如圖2所示:當考生登錄系統以后,首先瀏覽考試信息,再填入報名信息、上傳照片,報名成功后再支付報名費,打印準考證。如果報名信息有誤或者放棄考試,考生重新登錄修改信息或取消報名。
系統管理員與系統交互的用例模型如圖3所示:系統管理員在報名開始時啟動報名系統,在報名截止時間停止報名系統。對系統的維護包括更新信息和系統界面的維護。對考生報名表進行編輯和維護。還可以對考生報名信息查詢和打印報表。

圖2 考生與系統交互的用例模型Fig.2 Use-case model between examinee and system interaction

圖3 系統管理員和系統交互的用例模型Fig.3 Use-case model between system administrator and system interaction

圖4 本系統和其他系統交互的用例模型Fig.4 Use-case model between native system and other systems interaction
本系統和其他系統交互的用例模型如圖4所示:考生支付報名費需要網上支付系統和銀行的參入,考生試卷由考試中心批閱,成績出來以后由考試中心成績管理系統上傳到各個網上報名系統。
靜態結構模型是網上報名系統靜態結構的描述,主要是類圖。類圖是展現一系列類、接口、協作、包及其關系的視圖[2]。它不僅定義系統中的類,表示類之間的聯系如關聯、依賴、泛化和實現等,也包括類的內部結構 (類的屬性和操作)。
在建立靜態模型之前,得先找出類。首先通過特定領域分析考察用例,抽象出類,并描述類之間的關系,再根據系統的具體情況和UML設計的原則,采用高度抽象的方法,可將系統的基本模型元素和元素間的基本關系明確表示出來。在本網上報名系統中,抽象出來的實體類有系統用戶、考生、系統管理員、成績和考試等。用戶類與系統管理員類和考生類之間是泛化關系,考試類與申論考試類和行測考試類也是泛化關系,考試中心 (接口)完成成績的上傳。
限于篇幅,本文只對網上報名系統的實體類進行建模,來實現系統的總體的靜態關系。事業單位網上報名系統的總體類圖如圖5所示。

圖5 系統總體類圖Fig.5 Overall class diagram of system
在面向對象的系統中,系統功能是由對象的相互作用來實現的。用動態模型來刻畫用例的實現過程,以及對象間的動態行為[3]。在 UML的表現上,動態模型主要是建立系統的交互圖和行為圖。
(1)建立順序圖。交互圖包括順序圖和協作圖,但他們的側重點不一樣,順序圖著重體現交互的時間順序,協作圖著重體現交互對象的靜態鏈接關系[4]。本建模系統主要強調時間和順序,因此選擇建立順序圖來分析系統。如圖6所示是網上報名用例的順序圖。圖中涉及到5個對象:考生、報名界面、報考信息、報名和報名表。考生在網上報名時,首先登錄報名系統的界面,閱讀報考信息及政策再填寫報名信息,若填寫的信息有誤可以修改,不想報考了,還可以取消報考。
(2)建立活動圖。行為圖包括狀態圖和活動圖。通常用狀態圖來表示單個對象在其生命周期中的行為,活動圖描述滿足用例要求所要進行的活動以及活動間的約束關系,且識別并行活動[5]。在本系統中的網上報名用例有多個參入對象,要進行多個活動,因此選擇活動圖來描述。

圖6 網上報名用例的順序圖Fig.6 Sequence diagram of use case for online registration
圖7是網上報名用例的活動圖。其發生的第一個事件是閱讀報考政策,如果考生不能滿足此政策要求,就不能報考,整個活動結束。滿足報考政策的考生填入個人信息和上傳個人照片,完成后提交信息。同時需數據庫系統對個人信息和照片進行識別,符合要求網上報名完成,如果不符合要求,考生進行修改,再提交如此循環,直到符合要求為止。
本文首先建立了事業單位招考報名系統的用例模型,在用例模型的基礎上,用類圖把事業單位網上報名系統網上報名模塊的靜態結構進行了描述,用順序圖和活動圖把該系統的上網報名模塊的動態行為進行了描述。從建模過程可以看出UML在系統建模和開發過程的優越性。它通過統一語義和符號使得大家愿意在建模上發揮自己的能力,把軟件開發從原來的寫程序發展到可以有很規范的結構和建模的方式。

圖7 網上報名模塊的活動圖Fig.7 Activity diagram of the online registration module
[1]吳 建,鄭 潮,汪 杰.UML基礎與Rose建模案例 [M].北京:人民郵電出版社,2004.
[2]陳 靜,楊甜娜.面向高校學生個人信用評價系統的UML建模方法[J].重慶大學學報,2005,28(11):62-64.
[3]郭 霞,趙 政.基于UML的網上報名系統設計與實現[D].天津:天津大學,2006.
[4]楊正甫.面向對象分析與設計 [M].北京:中國鐵道出版社,2001.
[5]高 翔.全國計算機等級考試網上報名管理系統[J].北京:電腦知識與技術,2005(12):12-15.