吳其林,袁志祥,屈嚴偉,羅 標 (安徽工業大學研究生學院,安徽 馬鞍山 243002)
UML在網上課程檔案系統設計中的應用
吳其林,袁志祥,屈嚴偉,羅 標 (安徽工業大學研究生學院,安徽 馬鞍山 243002)
UML統一建模語言是一種面向對象的可視化建模語言,是一種定義良好、易于表達、功能強大且普遍適用的建模語言。以網上課程檔案系統的設計為例,詳細闡述了使用UML對系統進行需求建模的全過程,并給出了系統設計和實現結果。
UML;網上課程檔案系統;需求建模
隨著研究生培養手段的多樣化和學校數字化校園的發展,原有的信息化管理手段已經不能完全滿足研究生培養發展的需要。網上檔案系統以“導師-學生”互動為基礎,管理部門提供服務的新模式對研究生整個培養環節進行流程監控和管理。以往系統設計所采用基于過程的瀑布生存周期模型將過程和數據分離,軟件開發效率低,軟件可重用性和擴展性差[1]。而面向對象的分析與設計(OOA&D)方法解決了這些問題,其中UML(Unified Modeling Language,統一建模語言)就是其中的典型產物。UML是一種定義良好、易于表達、功能強大且普遍使用的建模語言。它結合了軟件工程領域新的思想、方法和技術,支持面向對象的分析與設計從需求分析開始的軟件開發全過程[2-4]。下面,筆者以網上課程檔案系統為例,探討了UML建模方法。
UML的建模機制包括靜態建模和動態建模2類,其中靜態建模是整個建模的基礎,包括用例圖、類圖、包、對象圖、構件圖和配置圖,定義了系統中重要對象的屬性和操作以及對象之間的相互關系;動態建模包括狀態圖、活動圖、順序圖和協作圖,定義了對象的時序性以及對象之間交互和通信的機制。基于UML的系統分析和設計主要依據以下3步:①需求分析。描述系統的功能需要;②靜態建模。根據需求分析確立系統的靜態模型,構造系統的框架;③動態建模。根據靜態建模結果分析各對象之間的時序狀態或交互關系,建立動態模型,描述系統的行為。

圖1 系統功能模塊需求圖
1)功能模塊需求 網上課程檔案系統實現的是對研究生培養環節的信息化管理和監控,是學生-導師-學院-研究生管理部門互動的過程,因此根據研究生培養環節中的內容將系統功能需求分為以下幾個方面:個人培養計劃管理、開題報告管理、中期考核管理、答辯公告管理、預答辯管理、學位申請管理、培養質量監控管理、學術報告管理及用戶信息管理,功能模塊需求圖如圖1所示。

圖2 系統用例圖
2)用例圖設計 用例圖源于Jacobson的OOSE方法[5],通過用例來捕獲系統的需求,再結合參與者進行系統功能需求的分析和設計。用例圖可視化地描述了系統外部的使用者和使用者使用系統時,系統為這些使用者提供的一系列服務,并清晰地描述了他們之間的關系,所以從用例圖中可以得到對于被定義系統的一個總體印象,是對系統需求的規范化描述。另外,用例圖方法是完全從外部來定義系統功能,它把需求和設計完全分離了開來,而不用關心系統內部是如何完成各種功能的。導師、學生、學院、研究生管理部門是系統中的參與者,用戶登錄、培養計劃管理、開題報告管理、中期考核管理、答辯公告管理、預答辯、學位申請管理、培養質量監控、學術報告管理、個人信息管理及查詢管理都是系統的功能需求,用例和參與者之間的聯系表示了參與者對用例的操作。以用例開題報告為例,學生先需要填寫開題報告并提交,導師才能看到開題報告的內容并審核,導師審核之后學院和研究生管理部門進行雙重批準后才能在查詢模塊中查看。用例圖如圖2所示。

圖3 系統類圖
系統靜態結構描述由類圖、對象圖、包圖來實現,其中類圖是系統設計中最核心的部分。類圖顯示了系統的靜態結構,而系統的靜態結構構成了系統的概念基礎。在類圖中不僅包含為系統定義的各種類,也包含了它們之間的關系,類圖就是用于對系統中的各種概念進行建模,并描繪出它們之間關系的圖,在整個系統生命周期內都是有效的。
靜態結構的建立首先需要根據用例圖識別類,然后確定類的屬性和操作,最后進一步分析類之間的聯系。在網上課程檔案系統中,實體類有學生、導師、學院秘書、研究生管理部門、個人培養計劃管理、開題報告管理、中期考核管理、預答辯管理、答辯公告管理、學位申請管理、培養質量監控管理、學術報告管理及查詢管理。邊界類為用戶登錄界面,它是系統內部與外界參與者實現交互作用的紐帶。系統靜態模型如圖3所示。

圖4 開題報告流程時序圖
動態模型是通過序列圖、協作圖和狀態圖描述對象間的交互關系、對象的生命周期和生命周期中對象的可能存在的狀態以及狀態間的轉換約束[6]。序列圖是一種交互圖,表示對象之間的動態合作關系,用于表現一個交互,側重于強調時間順序。主要由角色、對象、消息、生命線和控制焦點組成。用垂直虛線來表示生命線,水平方向上用一個帶有垂直虛線的矩形框表示不同的對象,對象間的通信通過對象的生命線間的消息來表示。消息的箭頭指明消息的類型[7]。因為系統功能繁多,圖4僅對開題報告申請完成的流程進行動態建模,首先學生登錄系統,填寫開題報告,完成后提交,提交后導師可以在自己的客戶端看到開題內容并進行審核,導師審核后開題報告提交到學院端,學院秘書審核后開題報告才可以提交到查詢窗口供師生查詢。在提交到查詢窗口之前,每個階段都可以返回上一階段對填寫內容進行修改。
在建模完成后,利用Rational Rose工具可以生成程序代碼框架,并根據實際需求對代碼框架進行不斷地修改和補充,形成了完整的代碼[8]。依據具體情況,總體架構為B/S模式,根據建立的系統模型,采用PHP+MySQL作為實現工具,并在實現系統的過程中,進行產品測試、系統部署、用戶培訓及售后服務的過程[6]。
在面向對象系統設計中,UML建模語言具有重要的作用,它使復雜的設計工作變的簡單易行。網上課程檔案系統使研究生信息化管理水平上了一個新的臺階,過去復雜繁瑣的培養環節現在通過系統監控就可以得知。基于UML網上課程檔案系統的成功開發和運用,改變了傳統的研究生管理手段,為研究生管理工作走向正規化和信息化提供了寶貴的平臺和手段,同時實踐證明了UML建模在面向對象開發中能夠發揮巨大的作用。
[1]常曉,王鳳霞,張景,等.基于RUP的UML建模方法研究[J].計算機工程與應用,2004,40(21):126-130.
[2]Seanhe.UML全解[EB/OL].http://www.testage.net/html/4-4/n-42944.html,2007-06-11.
[3]Booch G,Rumbaugh J,Jacobson I.The Unified Modeling L-anguage USER guide Second Edition[M].Addison Wesley Profes-sional,2005.
[4]謝星星.UML基礎與Rose建模實用教程[M].北京:清華大學出版社,2011.
[5]Jacobson I,Christerson M,Johnsson P,et al.Object-Orineted Software Engineering: A Use Case Driven Approach[M].Prentice-Hall,1992.
[6]Vahid Garousi,Lionel C.Briand,Y van Labiche.Traffic-aware stress testing of istributed real-time systems based on UML models using genetic algorithms[J].Journal of Systems and Software,2008,8(2): 161-185.
[7]徐寶文,周毓明,盧紅敏.UML與軟件建模[M].北京:清華大學出版社,2006.
[8]Boggs W,Boggs M,邱仲潘,等.UML with Rational Rose從入門到精通[M].北京:電子工業出版社,2000.
10.3969/j.issn.1673-1409(N).2012.08.045
TP311
A
1673-1409(2012)08-N137-03
2012-05-27
吳其林(1981-),男,2004年大學畢業,碩士,實驗師,現主要從事數據庫、軟件工程方面的教學與研究工作。
[編輯] 洪云飛