UML五種檢視、九種圖+包圖
五種檢視
包括:用例檢視、邏輯檢視、元件檢視、配置檢視、併發檢視(不常用,且在Rational Rose中不存在)
五種檢視 |
使用者 |
定義 |
用例檢視 |
使用者 |
描述系統應具備的功能 |
邏輯檢視 |
設計人員和開發人員 |
描述用例檢視中提出的系統功能的實現。 |
元件檢視 |
開發人員 |
顯示程式碼元件的組織結構。 |
配置檢視 |
開發人員、系統整合人員、測試人員 |
顯示系統的具體部署。部署是指將系統配置到由計算機和裝置組成的物理結構上。 |
併發檢視 |
開發人員、系統整合人員 |
顯示系統的併發性,解決在併發系統中存在的通訊和同步問題。 |
九種圖
包括:用例圖
靜態圖(包括類圖和物件圖)
行為圖(狀態圖和活動圖)
互動圖(時序圖和協作圖)
實現圖(元件圖和配置圖)
1、用例圖(UseCase Diagram)
定義:用來描述使用者的需求,從使用者的角度描述系統的功能,並指出各功能的執行者,強調誰在使用系統,系統為執行者完成哪些功能。
在UML中,通常用兩種圖來描述Use Case,它們就是順序圖(Sequence Diagram)和協作圖(Collaboration Diagram)。
基本元素:角色(Actor)、用例(Use Case)、關係。
角色(Actor)參與者是指存在於被定義系統外部並與該系統發生互動的人或其他系統,他們代表的是系統的使用者或使用環境。
關係包括:關聯、泛化、包含、擴充套件。
關係型別 |
定義 |
表示符號 |
關聯 |
描述了兩個或多個類之間的結構性關係(角色和用例之間的關係) |
|
泛化 |
表示繼承關係,箭頭指向父類(角色之間或用例之間的關係) |
|
包含 |
用於將部分工作流程分離出去(用例之間的關係) |
|
擴充套件 |
將擴充套件用例與基本用例連線起來,通過在基本用例中引用擴充套件點,可以定義基本用例中的那些位置插入擴充套件用例 |
|
2、類圖(ClassDiagram)
定義:用於定義系統中的類,包括描述類的內部結構和類之間的關係。類圖主要用於描述系統的靜態結構。
基本元素:類、介面(用小圓圈表示)、包、子系統、、關係(包括關聯、依賴、泛化、實現)
關係型別 |
定義 |
表示符號 |
關聯 |
描述了兩個或多個類之間的結構性關係 |
|
組合 |
幾個獨立部分組成的整體 |
|
聚合 |
分散的聚到一起 |
|
依賴 |
表示使用關係,箭頭指向被依賴的一方 |
|
泛化 |
表示繼承關係,箭頭指向父類 |
|
實現 |
是類元之間的語義關係,在該關係中一個類元描述了另一個類元保證實現的契約 |
3、物件圖(ObjectDiagram)
定義:物件圖是類圖的一個例項,描述了系統的具體時間點上所包含的物件以及各個物件之間的關係,它使用與類圖相似的符號描述,不同之處在於物件圖顯示的是類的多個物件例項而非實際的類。可以說物件圖是類圖的一個例子,物件圖與類圖表示的不同之處在於它用帶下劃線的物件名稱類表示物件,顯示一個關係中的所有例項。
基本元素:物件(物件圖和類圖的區別是:物件圖沒有方法)、連線、包
4、狀態圖(StateDiagram)
定義:用來描述類的物件所有可能的狀態以及事件發生時狀態的轉移條件。實際建模時,並不需要為所有的類都繪製狀態圖,僅對那些具有多個明確狀態並且這些狀態會影響和改變其行為的類才有繪製狀態圖的必要。此外,還可以為系統繪製整體狀態圖。
基本元素:狀態、起點(黑色實心圓圈)、終點、轉移(直線箭頭)
5、活動圖(ActivityDiagram)
定義:活動圖是狀態圖的一個變體,用來描述執行演算法的工作流程中涉及的活動。活動狀態代表了一個活動,即一個工作流步驟或一個操作的執行。活動圖由多個動作狀態組成,當一個動作完成後,動作狀態將會改變,轉換為一個新的狀態。
基本元素:活動狀態、判斷、同步條、起點和終點(與狀態圖一樣)、泳道、活動狀態之間的轉移(用直線箭頭表示)、保證條件
6、時序圖(SequenceDiagram)
定義:描述物件之間的互動順序,著重體現物件間訊息傳遞的時間順序,強調物件之間訊息的傳送順序,同時也顯示物件之間的互動過程。
基本元素:物件、生命線、訊息、註釋、約束
訊息型別 |
定義 |
表示符號 |
簡單訊息 |
表示簡單的控制流 |
|
同步訊息 |
表示巢狀的控制流 |
|
非同步訊息 |
表示非同步的控制流 |
|
返回訊息 |
表示返回的控制流 |
|
同步且立即返回訊息 |
表示同步且立即返回的控制流 |
7、協作圖(CollaborationDiagram)
定義:描述物件之間的合作關係,更側重於說明哪些物件之間的訊息的傳遞。除了顯示訊息的互動以外,協作圖也顯示物件以及它們之間的關係。時序圖和協作圖都可以表示各物件間的互動關係,但它們的側重點不同。時序圖用訊息的幾何排列關係來表達訊息的時間順序,各角色之間的關係是隱含的。協作圖用各個角色排列來表示角色之間的關係,並用訊息類說明這些關係。在實際應用中可以根據需要選用這兩種圖:如果需要重點強調時間或順序,那麼選擇時序圖;如果需要重點強調上下文,那麼選擇協作圖。
8、元件圖(ComponentDiagram)
定義:UML語言中的元件圖是用程式碼元件來顯示程式碼物理結構。一個元件包含它所實現的一個或多個邏輯類的相關資訊。通常元件圖用於實際的程式設計工作中。
元件的畫法:
9、配置圖(DeploymentDiagram)
定義:配置圖用於顯示系統中的硬體和物理結構,用來描述實際的物理裝置以及他們之間的連線關係。
節點的畫法:
圖型別 |
組成 |
關係 |
|
元件圖 |
元件、介面、關係 |
四種(關聯、依賴、泛化、實現) |
軟體之間的關係 |
配置圖 |
節點、關係 |
兩種(依賴、關聯) |
軟體和硬體之間的關係 |
包圖(包圖並非正式的UML圖)
1、定義:包圖是在 UML 中用類似於資料夾的符號表示的模型元素的組合
2、簡要介紹:包圖是一種維護和描述系統總體結構的模型的重要建模工具,通過對包中各個包以及包之間關係的描述,展現出系統的模組與模組之間的依賴關係。
包圖的作用:描述你的需求高階概述;描述你的設計高階概述;組織原始碼。
一個包圖可以由任何一種UML圖組成,通常是UML用例圖或是UML類圖。
包圖的基本元素:類、介面、元件、用例、其他包等。
包與包之間的關係:泛化、細化、依賴
包圖的畫法: