UML的構造塊
(1)事物
(2)關係
(3)圖
事物是對模型中首要成分的抽象:
關係把事物結合在一起;圖聚集了相關的事物。
1.UML中的事物
在UML中有 4 種事物:
(1)結構事物
(2)行爲事物
(3)分組事物
(4)註釋事物
這些事物是UML中基本的面向對象的構造塊,用它們可以寫出結構良好的模型。
結構事物 (structural thing)
第一,類(class)是對一組具有形同屬性、相同操作、相同關係和相同語義的對象的描述。
在圖形上: 把類畫成一個矩形,矩形中通常包括:
名稱、屬性和操作。
第二,接口(Interface)是一組操作的集合,每個操作描述了類或構件的一個服務。
第三,協作(collaboration)定義了一個交互,它是由一組共同工作以提供某種協作行爲的角色和其他元素構成的一個羣體,這些協作行爲大於所有元素的各自行爲的總和。
第四,用況(use case)是對一組動作序列的描述,系統執行這些動作將產生特定的參與者有價值而且可觀察的結果。
用況用於構造模型中的行爲事物。
在圖形上,把用況畫成實線橢圓,通常僅包含它的名稱。
第五,主動類(active class)是這樣的類,其對象至少擁有一個進程或線程,因此它能夠啓動控制活動。
主動類的對象所表現的元素的行爲與其他元素的行爲併發,除了這一點之外,它和類是一樣的。
在圖形上,把主動類繪製成類圖符,只是它的左右外框是雙線,通常它包含:名稱、屬性和操作。
第六,構件 (component)是系統設計的模塊化部件,將實現隱藏在一組外部接口之後。
第七,製品(artifact) 是系統中物理的而且可代替的部件,它包括物理信息(“比特”)。
第八,結點(node)是在運行時存在的物理元素,它表示一個計算機資源,通常至少有一些記憶能力和處理能力。
一組構件可以駐留在一個結點內,也可以從一個結點遷移到另一個結點。
在圖形上,把結點畫成一個立方體,通常在立方體中寫它的名稱
行爲事物 (behavioral thing)是UML模型的動態部分。
他們是模型中的動詞,代表了跨越時間和空間的行爲。
共有 3 類主要的行爲事物:
第一,交互(interaction)是這樣一種行爲,它由在特定語境中共同完成一定任務的一組對象或角色之間的交換的消息組成。
一個對象羣體的行爲或者單個操作的行爲可以用一個交互來描述。
交互涉及一些其他元素,包括消息、動作和連接件(對象間的連接)。
在圖形上,把消息畫成一條有方向的直線,通常在其上總是帶有操作名。
第二,狀態機(state machine) 是這樣一種行爲,它描述了一個對象或一個交互在生命期內響應事件所經歷的狀態序列以及對這些事件的響應。單個類或一組類之間協作的行爲可以用一個狀態機來描述。
狀態機涉及到一些其他元素,包括狀態、轉移(從一個狀態到另一個狀態的流)、事件(觸發轉換的事物)和活動(對一個轉移的響應)。
在圖形上,把狀態畫成一個圓角矩形,通常在其中含有狀態的名字及子狀態(如果有的話)
第三,活動(Activity)是這樣一種行爲,它描述了計算過程執行的步驟序列。
交互所注重的是一系列相互作用的對象,狀態機所注重的是一定時間內一個對象的生命週期,活動所注重的是步驟之間的流而不關心哪個對象執行哪個步驟。活動的一個步驟稱爲一個動作。
在圖形上,把動作換成一個圓角矩形,在其中含有指明其用途的名字。
狀態和動作靠不同的語境得以區別:
分組事物(grouping thing):
是 UML模型的組織部分。它們是一些由模型分解成的“盒子”。
主要的分組事物是包。
包(package)用於對設計本身進行組織的通用機制,與類不同,類是用來組織實現構造物。
結構事物、行爲事物甚至其他的分組事物都可以放進包內。
包不像構件(構件在運行時存在),它純粹是概念上的(即它僅在開發時存在)。
它也有變體,如框架、模型和子系統(它們是包的不同種類)。
註釋事物(annotational thing)
它是UML模型的解釋部分。
這些註釋事物用來描述、說明和標註模型的任何元素。
有一種主要的註釋事物,稱爲註解。註解(note)是依附於一個元素或一組元素之上對其進行約束或解釋的簡單符號。
在圖形上,把註解畫成一個右上角是折角的矩形,其中帶有文字或圖形解釋,