一、為什麼要學習UML
二、UML的曆史
三、UML的特點
四、UML中的視圖
五、UML模組化工具
六、UML的應用領域
七、UML的構成
1、需求階段如何書寫Use Case
2、設計階段如何畫用例圖(Use-Case Diagram)
3、類與類之間的關系圖(Class Diagram,UML圖)
4、UML模組化之活動圖介紹(Activity Diagram)
5、UML模組化之狀态圖(Statechart Diagram)
6、UML模組化之時序圖(Sequence Diagram)
7、UML模組化之業務處理模型(Business Process Model,BPM)
8、UML模組化之資料模組化(Data Model Diagram)
八、總結
UML是Unified Modeling Language(統一模組化語言)的簡稱。UML是對軟體密集型系統中的制品進行可視化、詳述、構造和文檔化的語言。制品{Artifact}是指軟體開發過程中産生的各種各樣的産物,如模型、源代碼、測試用例等。
Ø UML模組化可以達到以下目的:
Ø 使用模型可以更好地了解問題
Ø 使用模型可以加強人員之間的溝通
Ø 使用模型可以更早地發現錯誤或疏漏的地方
Ø 使用模型可以獲得設計結果
Ø 模型為最後的代碼提供依據
1997年,OMG組織(Object Management Group對象管理組織)釋出了統一模組化語言(Unified Modeling Language,UML)。UML的目标之一就是為開發團隊提供标準通用的設計語言來開發和建構計算機應用。UML提出了一套IT專業人員期待多年的統一的标準模組化符号。通過使用UML,這些人員能夠閱讀和交流系統架構和設計規劃--就像建築勞工多年來所使用的建築設計圖一樣。
2003年,UML已經獲得了業界的認同。在所見過的專業人員的履歷中,75%都聲稱具備UML的知識。然而,在同絕大多數求職人員面談之後,可以明顯地看出他們并不真正了解UML。通常地,他們将UML用作一個術語,或對UML一知半解。大家對UML缺乏了解的這種狀況,促進我撰寫這篇關于UML 1.4的快速入門文章。當閱讀完本文時,您還不具備足夠的知識可以在履歷上聲稱自己掌握了UML,但是您已具有了進一步鑽研該語言的良好起點。

Ø UML的主要特點包括:
Ø 統一的标準
Ø 面向對象。UML是支援面向對象軟體開發的模組化語言。
Ø 可視化、表現能力強
Ø 獨立于過程,UML不依賴于特定的軟體開發過程。
Ø 概念明确,模組化表示法簡潔,圖形結構清晰,容易掌握和使用。
UML中的視圖包括用例視圖(Use Case View)、邏輯視圖(Logical View)、實作視圖(Implementation View)、程序視圖(Process View)、部署視圖(Deployment View)等,這5個視圖被稱作”4+1”視圖.如下圖所示:
邏輯視圖。邏輯視圖關注功能,不僅包括使用者可見的功能,還包括為實作使用者功能而必須提供的"輔助功能子產品";它們可能是邏輯層、功能子產品等。
開發視圖。開發視圖關注程式包,不僅包括要編寫的源程式,還包括可以直接使用的第三方SDK和現成架構、類庫,以及開發的系統将運作于其上的系統軟體或中間件。開發視圖和邏輯視圖之間可能存在一定的映射關系:比如邏輯層一般會映射到多個程式包等。
處理視圖。處理視圖關注程序、線程、對象等運作時概念,以及相關的并發、同步、通信等問題。處理視圖和開發視圖的關系:開發視圖一般偏重程式包在編譯時期的靜态依賴關系,而這些程式運作起來之後會表現為對象、線程、程序,處理視圖比較關注的正是這些運作時單元的互動問題。
實體視圖。實體視圖關注"目标程式及其依賴的運作庫和系統軟體"最終如何安裝或部署到實體機器,以及如何部署機器和網絡來配合軟體系統的可靠性、可伸縮性等要求。實體視圖和處理視圖的關系:處理視圖特别關注目标程式的動态執行情況,而實體視圖重視目标程式的靜态位置問題;實體視圖是綜合考慮軟體系統和整個IT系統互相影響的架構視圖。
UML具有很廣泛的應用領域,其中最常用的是為軟體系統模組化,主要領域有:企業資訊系統、銀行金融系統、電信、交通、國防、航空、零售領域、科學計算、分布式的基于Web的服務。UML還可以用來描述其他非軟體系統,比如一個機構的組成和機構的工作流程等等。
用例描述文檔的書寫是系統分析人員對使用者需求的深刻了解的展現。是後期時序圖和實際開發的重要依據。也可以對作為項目估算的依據,以及根據UC複雜度和開發周期來衡量開發人員的工作效率。是以UC的書寫規範及其重要,就工作用的一些經驗,比如書寫格式、書寫内容及其注意事項與大家分享。
例試圖描概括了用例中角色和系統之間的關系,描述了系統功能需求,角色和系統的互動以及系統的反應。是客戶和開發人員全貌了解項目需求功能比較好的一個方式,也是後續功能疊代的依據和方向。
本文針對類之間常用的關系進行了簡單的描述,主要有:關聯關系、泛化、依賴、聚合群組合。
活動圖描述的是對象活動的順序關系所遵循的規則,它着重表現的是系統的行為,而非系統的處理過程。活動圖能夠表示并發活動的情形,活動圖是面向對象的。
狀态圖重點在于描述對象的狀态及其狀态之間的轉移,狀态圖的基本元素主要有:狀态、轉移、動作、自身轉移、組合狀态、進入節點、退出節點、曆史狀态、并發區域等,狀态中的事件分為調用事件(Call)、變化事件(Change)、時間事件(Time)和信号事件(Singal)。最後以執行個體對狀态對進行了分析。
時序圖(Sequence Diagram)是顯示對象之間互動的圖,這些對象是按時間順序排列的。順序圖中顯示的是參與互動的對象及其對象之間消息互動的順序。時序圖中包括的模組化元素主要有:對象(Actor)、生命線(Lifeline)、控制焦點(Focus of control)、消息(Message)等等。最後,以課程建立功能示範一時序圖執行個體。
業務處理模型是一組活動的集合,描述了活動從開始到結束在時間或者空間上的順序,以及輸入和輸出。業務處理模型最終輸出要能夠滿足業務需要。包括輸入、輸出、資源、消息和目标等元素。最後以執行個體進一步說明了業務邏輯模型。
主要介紹了資料庫模組化所涉及模組化元素,主要包括模式 Schema、主鍵 Primary、外鍵 Foreign key、關系 Relationship、限制 constraint、索引 Index、觸發器 Trigger、存儲過程 Stored Procedure、視圖 View等等,并配以執行個體加以說明。
最後以一本UML書中的一個例子結束:
如果以建造房子比喻,那麼學習UML的過程,就是學習如何從建築勞工成長為建築師的過程。一個軟體工程師不能簡單地隻是掌握堆砌磚瓦的技術,還應該有設計高樓大廈的能力。
版權
作者:靈動生活 郝憲玮
如果你認為此文章有用,請點選底端的【推薦】讓其他人也了解此文章,
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。