UML
出自 MBA智库百科(https://wiki.mbalib.com/)
統一建模語言(Unified Modeling Language,UML)
目錄 |
統一建模語言(UML,Unified Modeling Language)是非專利的第三代建模和規約語言。UML是一種開放的方法,用於說明、可視化、構建和編寫一個正在開發的、面向對象的、軟體密集系統的製品的開放方法。UML展現了一系列最佳工程實踐,這些最佳實踐在對大規模,複雜系統進行建模方面,特別是在軟體架構層次已經被驗證有效。
UML集成了Booch,OMT和麵向對象軟體工程的概念,將這些方法融合為單一的,通用的,並且可以廣泛使用的建模語言。UML打算成為可以對併發和分散式系統的標準建模語言。
UML並不是一個工業標準,但在Object Management Group的主持和資助下,UML正在逐漸成為工業標準。OMG 之前曾經呼籲業界向其提供有關物件導向的理論及實現的方法,以便製作一個嚴謹的軟體塑模語言(software modeling language)。有很多業界的領袖亦真誠地回應OMG,幫助她建立一個業界標準。
在UML系統開發中有三個主要的模型:
- 功能模型:從用戶的角度展示系統的功能,包括用例圖。
- 對象模型:採用對象,屬性,操作,關聯等概念展示系統的結構和基礎,包括類圖。
- 動態模型:展現系統的內部行為。包括序列圖,活動圖,狀態圖。
區分UML模型和UML圖是非常重要的,UML圖,包括用例圖、協作圖、活動圖、序列圖、部署圖、構件圖、類圖、狀態圖,是模型中信息的圖形表達方式,但是UML模型獨立於UML圖存在。XML的當前版本只提供了模型信息的交換,而沒有提供圖信息的交換。
UML使用一套與Java語言或其他面向對象語言等價物,同時也是本體論等價物的圖形標記。
UML並不是一個方法學,也不要求使用一個方法學,但是UML對於Rational 統一過程來說是必不可少的。
UML 2.0 中一共定義了13 種圖示(diagrams)。為方便瞭解,可分類成右側的結構。
結構性圖形(Structure diagrams) 強調的是系統式的建模:
- 類別圖 (Class Diagram)
- 元件圖(Component diagram)
- 複合結構圖(Composite structure diagram)
- 部署圖(Deployment diagram)
- 物件圖(Object diagram)
- 包圖(Package diagram)
行為式圖形(Behavior diagrams) 強調系統模型中觸發的事件:
- 活動圖(Activity diagram)
- 狀態機圖 (State Machine diagram)
- 使用個案圖 (Use Case Diagram)
溝通性圖形(Interaction diagrams), 屬於行為圖形的子集合,強調系統模型中的資料流程:
- 通信圖(Communication diagram]]
- 交互概述圖(Interaction overview diagram) (UML 2.0)
- 循序圖(Sequence diagram)
- 時間圖(UML Timing Diagram) (UML 2.0)
協定狀態機是狀態機的子變種。它用來塑造網路通訊協定模型。
UML 並不限定 UML 要素型別非得是某圖形上的型別。一般來說,每個 UML 要素大約會出現在圖的所有型別。這種彈性在 UML 2.0 部分被限定。
為了要保持工程圖的傳統,在您的 UML 圖上加註用途、約束、或意圖永遠無傷大雅。
UML 從來源中使用相當多的概念. 我們將之定義於統一建模語言術語彙表。下麵僅列代表性的概念.
- 對於結構而言
執行者,屬性,類,元件,介面,對象,包。
- 對於行為而言
活動,事件,訊息,方法,操作,狀態,用例。
- 對於關係而言
聚合,關聯,組合,相依,廣義化 (or 繼承)。
- 其他概念
- 構造型 — 這規範符號應用到的模型
- 多重性 — 多重性標記法與資料庫塑模基數對應,例如: 1, 0..1, 1..*
- 角色