一、用例圖
它從外部角色的視角來展示系統的功能,用例視圖是系統中與實現無關的視圖。
元素:
1、參與者:是指存在於系統外部並直接與系統進行交互的人、系統、子系統或類的外部實體的抽象。
2、參與者間的的關系:由於參與者實質上也是類,所以它擁有與類相同的關系描述,即參與者與參與者之間主要是泛化關系(或稱為“繼承”關系)。
3、 系統邊界:系統是相對的,一個系統本身又可以是另一個更大系統的組成部分,因此,系統與系統之間需要使用系統邊界進行區分開來。
用例之間的關系:
1、包含:含關系指用例可以簡單地包含其他用例具有的行為,並把它所包含的用例行為作為自身行為的一部分。
2、擴展:在一定條件下,把新的行為加入到已有的用例中,獲得的新用例叫做擴展用例(Extension),原有的用例叫做基礎用例(Base),從擴展用例到基礎用例的關系就是擴展關系。
3、泛化:用例的泛化指的是一個父用例可以被特化形成多個子用例,而父用例和子用例之間的關系就是泛化關系。
二、類圖
關系:
1、泛化關系:繼承關系
2、實現關系
3、聚合關系
4、組合關系
5、依賴關系
三、狀態圖
狀態圖用來描述一個特定對象的所有可能狀態以及由於各種事件的發生而引起的狀態之間的轉移,方框是狀態,箭頭為事件。
四、活動圖
常被用來建立算法模型,使用流程圖可以表示一個算法的執行序列、過程、判定點、分支和循環
1、活動狀態圖(Activity)——活動狀態用於表達狀態機中的非原子的運行
2、動作狀態(Actions)—— 動作狀態是指原子的,不可中斷的動作,並在此動作完成后通過完成轉換轉向另一個狀態。
3、動作狀態約束(Action Constraints)——動作狀態約束:用來約束動作狀態。
4、動作流(Control Flow)——動作之間的轉換稱之為動作流活動圖的轉換
5、開始節點(Initial Node)——活動開始節點
6、終止節點(Final Node)——分為活動終止節點(activity final nodes)和流程終止節點(flow final nodes)
7、對象(Objects)
8、數據存儲對象(DataStore) ——使用關鍵字«datastore»
9、對象流(Object Flows)——對象流是動作狀態或者活動狀態與對象之間的依賴關系,表示動作使用對象或動作對對象的影響。
10、分支與合並(Decision and Merge Nodes)——選擇分支
11、分叉與匯合(Fork and Join Nodes)——分叉用於將動作流分為兩個或多個並發運行的分支,而匯合則用於同步這些並發分支,以達到共同完成一項事務的目的。
12、時間信號
13、發送信號
14、接收信號
15、泳道(Partition)——泳道將活動圖中的活動划分為若干組,並把每一組指定給負責這組活動的業務組織,即對象。
五、時序圖
時序圖(Sequence Diagram),又名序列圖、循序圖,是一種UML交互圖。它通過描述對象之間發送消息的時間順序顯示多個對象之間的動態協作。
時序圖的元素:
1、角色(Actor):系統角色,可以是人或者其他系統,子系統。以一個小人圖標表示。
2、對象(Object):
對象位於時序圖的頂部,以一個矩形表示。對象的命名方式一般有三種:
(1)對象名和類名。
(2)只顯示類名,不顯示對象,即為一個匿名類。
(3)只顯示對象名,不顯示類名。
3、生命線(LifeLine):時序圖中每個對象和底部中心都有一條垂直的虛線,這就是對象的生命線(對象的時間線)。以一條垂直的虛線表。
4、控制焦點(Activation):控制焦點代表時序圖中在對象時間線上某段時期執行的操作。以一個很窄的矩形表示。
5、消息(Message):
表現代表對象之間發送的信息。消息分為三種類型:
(1)同步消息(Synchronous Message):消息的發送者把控制傳遞給消息的接收者,然后停止活動,等待消息的接收者放棄或者返回控制。用來表示同步的意義。以一條實線+實心箭頭表示。
(2)異步消息(Asynchronous Message):消息發送者通過消息把信號傳遞給消息的接收者,然后繼續自己的活動,不等待接受者返回消息或者控制。異步消息的接收者和發送者是並發工作的。以一條實線+大於號表示。
(3)返回消息(Return Message):返回消息表示從過程調用返回。以小於號+虛線表示。
6、自關聯消息:表示方法的自身調用或者一個對象內的一個方法調用另外一個方法。以一個半閉合的長方形+下方實心剪頭表示。