類圖
一個類(class)是一類或者一組具有類似屬性和共同行為的事物。
例如:洗衣機(washing machine)具有品牌、型號、序列號、容量等屬性;具有加衣物、洗滌劑、開機、關機等操作行為。
用一個UML表示法表示洗衣機的屬性和行為:
對象圖
對象(object)是一個類的實例,是具有具體屬性值的一個具體事物。
例如:你的洗衣機的品牌可能是“LD”,型號為“”,序列號為“GL007”,容量為16磅。
用UML表示對象:
用例圖
用例(use case)是從用戶的觀點對系統行為的一個描述。
例如:你使用一臺洗衣機,顯然就是為了洗衣服。
我們用UML來描述這個需求:
1、小人稱為參與者(actor),是發起用例的實體,可以是一個人也可以是另一個系統。
2、橢圓代表用例。
需要注意:用例位于一個代表著系統的矩形中,而參與者在矩形外
在任一給定的時刻,一個對象總是處于某一特定的狀態。
例如:一臺洗衣機可以處于浸泡(soaking)、洗滌(washing)、漂洗(rinsing)、脫水()、關機(off)等狀態。
用UML的狀態圖來描述上面所提及的狀態:
1、該圖說明洗衣機可以從一個狀態轉移到另一個狀態。
2、最頂端的符號代表起始狀態,最底端的符號代表終止狀態。
注意:從一個狀態到另一個狀態的轉換并不總是線性的。有時候,條件會指明不同的路徑。
順序圖
類圖和對象圖表達的是系統的靜態結構。
在一個運行的系統中,對象之間要發生交互,并且經歷一段時間,UML的順序圖所表達的就是這種基于時間的動態交互。
例如:洗衣機包含一個定時器(timer)、一個注水的進水管(water piper)和一個用來裝衣物的洗滌缸(drum)等構件。這些構件也是對象,一個對象之中還可以包含其他對象。
該順序圖表示執行“洗衣服”用例時發生的事:
活動圖
用例和對象的行為中的各個活動之間通常具有時間順序。
用UML活動圖描述部分洗衣機工作:
協作圖
順序圖和協作圖都能夠表示對象之間的交互,UML中把它們合稱為交互圖。
但是兩者并不相同,協作圖不是按照垂直方向表示時間順序,而是通過消息標記前面的數字來表示時間順序的。
構件圖
UML 1.x 版本中的軟件構件圖標:
UML 2.0 中的軟件構件圖標:
部署圖
UML部署圖顯示了基于計算機系統的物理體系結構。
它可以描述計算機,展示它們之間的連接,以及駐留在每臺機器中的軟件。
每臺計算機用一個立方體來表示,立方體之間的連接線表示這些計算機之間的通信關系。