楊 明
(南京鐵道職業技術學院,江蘇 南京 210031)
UML系統建模的分析和應用
楊明
(南京鐵道職業技術學院,江蘇南京210031)
文章以高職院校教務管理業務作為原型基礎,通過該實例詳細地介紹了UML建模技術。包含如何進行系統模型的分類,怎樣區分外部視圖和內部視圖,如何繪制外部用例和活動圖以及如何建立系統組織單元等,最后給出了完整的類圖模型。
UML模型;教務管理;類圖
統一建模語言(Unified Modeling Language,UML)是面向對象軟件的標準化建模語言。UML因其簡單、統一的特點,并且能表達軟件設計中的動態和靜態信息,目前已成為可視化建模語言的工業標準。在信息系統軟件的開發過程中,統一建模語言可以在整個設計周期中使用,幫助設計者縮短設計時間,減少改進成本。
建模,顧名思義,就是建立模型。在本文中,就是建立教務管理系統的業務模型。之所以要建立教務管理系統的業務模型,是因為業務系統模型是開發教務管理信息系統的基礎。教務管理信息系統本質上是一個互聯網技術 (Internet Technology,IT)系統,因此掌握和理解業務環境必不可少,對業務的分析和建模是IT系統開發的重要組成部分。
業務建模通常包含如下兩部分:
一是模型的動態方面,業務過程的分析。所謂的業務過程,即為了實現某個目標而必須經歷的多個工序或者一系列事件。業務過程通常包含一些步驟,這些步驟稱為活動集。例如,在教務管理中,為了實現轉專業這個目標,必須包含的活動如圖1所示。

圖1 轉專業流程
活動可以順序執行,也可以并行執行,當學生進行轉專業申請時,其仍然可以進行網上選課。通常,業務過程中的活動是相互依賴的。這個依賴關系是由各個活動之間的交互創建的,這些活動屬于為實現某個共同目標的業務過程。
二是模型的靜態方面,業務系統中的組織結構,業務對象和信息對象分析。高職院校中常見的教務管理組織機構如圖2所示。
教務處和各個二級學院、部共同組成業務運行主體,教務的主要業務過程都在這3個核心部門運行。但是一個業務過程運行可能要跨越多個部門,需要多個業務部門共同完成,例如學生購買教材,需要教務處和財務處協助完成。

圖2 組織結構
相對于組織結構,業務對象的分析要簡單很多。業務對象,就是指在教務管理業務運行過程中產生的實物,例如轉專業申請單,成績單等。
外部視圖就是從外環境來觀察教務管理業務系統,外部環境包含學生、普通任課教師和除教務處之外的其他職能部門等,外部視圖只關心和外部環境相關的業務過程,以及教務管理系統本身能提供什么服務,而教務管理業務系統本身則是被看作一個黑匣子。
從外部視圖來觀察教務管理業務系統,只考慮那些和外部用戶相關的活動,并不關心教務管理業務系統是如何運轉的,里面的業務過程有多少個環節,只關心教務系統能輸出什么或者能給提供什么服務。
教務管理系統的輸出可以分兩種:實物輸出和服務輸出。實物輸出是有形的,例如一張學生的成績單,而服務輸出是無形的,如查詢學生成績。
內部視圖則是描述教務管理業務系統是如何給外部環境提供服務,內部視圖包含很多業務對象和業務信息,例如教務處管理人員、二級學院教學秘書以及成績單、申請表等,他們處理必要的業務過程,同時也是業務系統組織結構的一部分。內部視圖對外部環境而言是不可見的。
內部視圖描述的是教務管理業務系統內部的活動、過程、關系和結構。內部視圖通過功能向外界提供服務,功能是存在業務系統內部的,它對于外部用戶而言,既不可見,也不可以訪問,它用來表示一個內部活動,或者一個業務過程。和業務用例一樣,業務過程既可以手工執行,也可以基于IT系統執行。
本文將通過用例圖和活動圖來構建外部視圖。用例,根據OMG的定義,是由系統執行的一系列操作,該操作為其他參與者或者相關涉眾提供一個重要的結果。在教務管理系統中,用例可以是手工的,也可以是基于IT系統的。業務用例始終是由參與者發起的,或者說外部用戶可以使用業務系統提供的服務了。參與者就是使用業務系統輸出的外部用戶,在教務管理業務系統中,外部用戶就是學生、教師。參與者能夠與業務系統中的人或IT系統進行交互,例如學生輸入自己的學號,才能查詢到自己的成績。在教務管理業務系統內部的操作人員或IT啟動的活動并不是外部視圖中的業務用例。
在外部視圖中,使用UML用例圖來表示業務用例和參與者之間的交互關系。之所以采用用例圖,是因為它有很好的溝通性,不涉及具體的技術細節。無論是對于設計者、開發人員還是客戶,都能根據用例圖進行深入的溝通,雖然用例圖不能描述工序的細節,但能很好描述系統的功能。設計用例圖,首先確定教務管理業務系統的外部參與者,參與者在其中發揮重要作用。
教務管理業務系統的外部參與者羅列如下:
教師:學校的一個員工,教學活動直接參與者,向學生傳授知識技能。
學生:經過高考進入學校的一個人,在學校的目的主要是學習知識和技能。
輔導員:老師的一種,主要是從事學生的思想政治教育工作。
二級學院院長:老師的一種,主要負責二級學院的管理工作。
教務處處長:老師的一種,主要負責學校的日常教學管理工作。
其次,要標識從外部參與者來看,將會涉及的用例,如下所示:
U1:學生登陸系統可以查詢成績信息。
U2:學生可以進行網上公共選修課選課。
U3:學生可以進行網上體育課選課。
U4:選課完畢后,學生去聽課。
U5:教師可以查詢打印選課學生名單信息。
U6:教師可以查看課表。
U7:教師去上課。
U8:教師網上錄入學生成績。
最后,本文使用用例圖可完整地展示上面提到的用例示意,如圖3所示。
本文從圖3中可以解讀出如下信息:對于學生角色,他與4個業務用例進行關聯,可以執行4個業務用例。而對于教師角色,他也和4個業務用例進行關聯,可以執行4個業務用例。上課用例和錄入成績用例是包含關系,這意味著在和上課用例進行交互的過程中,將會在某個時候執行錄入成績用例。對于二級學院院長、教務處處長、輔導員的角色作了泛化,因為本質上他們都是教師的角色。

圖3 用例示意
用例圖雖然可以清楚地看到外部參與者和用例之間的關聯,但是無法描述業務用例的細節,就是教務管理業務系統的業務過程。這些缺陷可以通過活動圖來進行彌補,活動圖可以描述外部參與者和業務系統之間的交互,這種交互包含并行、分支和順序等。
活動圖與程序流程設計相關,它用于表示活動集。在外部視圖中,本文用活動圖來描述這些業務過程,也就是描述業務系統的功能,從功能的角度思考問題,對業務過程建模很有幫助。
繪制活動圖可以選擇不同的詳細程度。可以把他們逐步精細化,在外部視圖中,活動圖和用例圖類似,只是從外部視角來觀察業務過程和活動。本文不能描述業務過程的執行細節,這是內部視圖考慮的事情。
從學生的角度觀察,活動圖如圖4所示,活動圖首先從學生登陸教務管理系統這個事件開始,然后沿著控制流到達一個決策點,如果沒有登陸成功,活動結束。如果登陸成功,將會遇到一條粗線,學生可以進行選公選課或者選體育課,注意這2個用例是可以同時進行的。當這2個用例都進行完畢后,控制流進行了匯總,進行聽課的用例執行,在聽課結束后,學生可以查詢自己的個人成績。如圖4所示,相比較用例圖,本文可以看出用例之間是并行執行的還是順序執行的。

圖4 學生的活動示意
要執行內部視圖建模,首先是調查內部組織結構。組織單元結構對于教務管理業務系統內部視圖而言是很重要的。在UML中,組織單元結構使用包圖來描述,它可以包含教務處管理人員、業務對象以及其他組織單元。組織單元是能夠負責執行業務過程活動的實體,組織單元是對組織中各種個體工作的抽象。
在UML中,一個組織單元是由工作者、業務對象、其他組織單元以及它們之間的關系構成的。組織單元必須位于業務系統之中,這是一個基本原則。在業務系統之外的組織單元是參與者。
包圖可以反映每個管理單元所包含的內部工作人員和業務對象,但是包圖并不能反映內部工作人員和業務對象之間的關系,類圖可以彌補包圖的缺陷。
類圖5可以對教務管理業務系統的結構部分,即各個管理人員、業務對象以及外部參與者的關系進行描述。業務模型級的類圖盡量保持了簡化,只使用了很少部分的元素,這樣做是為了便于閱讀和溝通。因為UML所設想的目標就是簡化相關參與者之間的溝通,如果過于復雜,這一優勢就會喪失殆盡。
在圖5中本文能讀出如下信息,學籍管理人員會生成班級名單和學生名單,教學計劃任務管理人員會使用班級名單,然后生成上課地點清單和公共、專業課任務清單。公選課管理人員會根據上課地點清單生成公選課任務清單。體育選項管理人員使用上課地點清單生成體育選項任務清單。成績管理人員使用學生名單生成學生成績單。排課管理人員使用體育選項任務清單、公選課任務清單、公共課專業課任務清單、學生名單來生成學生課表和教師課表。生成的教師課表發給人事系統使用。學生名單則供學工系統、一卡通、財務、圖書館系統使用。教師和學生作為系統外部參與者可以查看教師課表和學生課表。
綜上所述,UML統一了各種方法對不同類型的系統、不同開發階段以及不同內部概念的不同觀點,從而有效地消除了各種建模語言之間不必要的差異。UML建模能力比其他面向對象建模方法更強。它不僅適合于一般系統的開發,而且對并行、分布式系統的建模尤為適宜。

圖5 類圖
[1]PATRICK G,HENRIETTE B.UML 2.0 in Action[M].Birmingham:Packt Publishing,2007.
[2]MIKE D.Object-Oriented Analysis&Design[M].United States:O'Reilly Medi,2005.
[3]GRADY B, JAMES R, IVAR J.Unified Modeling Language User Guide(Second Edition)[M].United States:Pearson education inc,2013.
[4]張海藩,倪寧.軟件工程[M].3版.北京:人民郵電出版社,2010.
Analysis and application of UML system modeling
Yang Ming
(Nanjing Institute of Railway Technology, Nanjing 210031, China)
This paper sets a high vocational college educational academic management as a prototype, introducing the UML modeling technology in details, including how to carry out the classifcation of the system modeling, how to distinguish between external view and internal view, how to draw external use cases and activity diagram, and how to set up system organization units. Finally, it gives the complete class diagram model.
UML system modeling; academic management; class diagram
江蘇高校哲社研究立項課題;項目名稱:大數據背景下職業院校教師的挑戰與發展研究;項目編號:2016SJB880057。
楊明(1978— ),男,江蘇徐州,碩士,工程師;研究方向:數據庫應用,軟件工程。