一、UML概述 UML(UnifiedModelingLanguage)統一建模語言,是面向對象軟體的標準化建模語言。由於面向對象軟體開發需要經過OOA(面向對象分析),OOD(面向對象設計),OOP(面向對象編程)三個階段,每個階段都需要統一的符號設計描述和交流,而UML就是這種統一的符號表示。 ...
一、UML概述
UML(UnifiedModelingLanguage)統一建模語言,是面向對象軟體的標準化建模語言。由於面向對象軟體開發需要經過OOA(面向對象分析),OOD(面向對象設計),OOP(面向對象編程)三個階段,每個階段都需要統一的符號設計描述和交流,而UML就是這種統一的符號表示。
本文主要講述UML2.0(最新版本)的各種圖的定義及用法,UML2.0一共包括13種圖形(大致分成靜態圖和動態圖兩類):活動圖,類圖,通信圖(對應UML1.x的協作圖),組件圖,複合結構圖(UML2.0新增),部署圖,交互概觀圖(UML2.0新增),對象圖,包圖,順序圖,狀態機圖,定時圖(UML2.0新增),用例圖,如下圖所示:
其中,最常用的UML圖包括:用例圖,類圖,組件圖,部署圖,順序圖,活動圖,狀態機圖等。
二、用例圖
用例圖主要應用於系統需求分析階段,從用戶角度描述系統的需求功能,方便與客戶交流,保證需求的唯一性。
用例圖包括用例、角色、用例和角色的關係,其中,用例以一個橢圓表示,用例的名稱放在橢圓得中心或下麵;角色以一個人形符號表示與系統交互的實體;用例和角色的關係用線段來表示。
用例圖所表示的要麼是整個系統的全部用例,要麼是某一具體功能的一組用例。下圖是一個簡單的用戶管理模塊的部分用例示意圖:
從用例圖中可以很容易看出,普通用戶有登錄、修改密碼、查看個人信息的功能;管理員功能包括:新增用戶、查看用戶信息、修改用戶信息、刪除用戶、修改密碼。
三、類圖
類圖表示系統中有哪些實體及其它們之間的關係,用於系統設計階段。
類圖用三個矩形表示,最上面的部分標識類的名稱;中間的部分標識類的屬性;最下麵的部分標識類的方法,如下圖所示:
類之間的基本關係:關聯(包含聚合和組合)、泛化(繼承)、實現、依賴
♣ 關聯
關聯是一種擁有的關係,具有方向性,如果一個類單方向的訪問另一個類,則稱為單向關聯(用一個箭頭的實線表示);如果兩個類對象可以互相訪問,則稱為雙向關聯(用兩個箭頭或不用箭頭的實線表示);一個對象能訪問關聯對象的數目叫做“多重性”。
【箭頭及指向】:帶普通箭頭的實線,指向被擁有者。 或不用箭頭的實線。
♣ 聚合
整體與部分的關係,當某個實體聚合成另一個實體時,該實體還可以是另一個實體的部分,例如,學生既可以是足球俱樂部的成員,也可以是羽毛球俱樂部的成員。
【箭頭及指向】:帶空心菱形的實線,菱形指向整體。
♣ 組合
整體與部分的關係,組合比聚合更加嚴格,當某個實體組合成另一個實體時,該實體還不可以是另一個實體的部分,例如手臂和人之間存在的是組合關係。
【箭頭及指向】:帶實心菱形的實線,菱形指向整體。
♣ 泛化
泛化與繼承是同一個概念。
【箭頭及指向】:帶三角箭頭的實線,箭頭指向父類。
♣ 實現
一種類與介面的關係。
【箭頭及指向】:帶三角箭頭的虛線,箭頭指向父介面。
♣ 依賴
如果一個類的改動會影響到另一個類,則兩個類之間存在依賴關係,一般而言,依賴是單向的。
【箭頭及指向】:帶普通箭頭的虛線,箭頭指向被依賴者。
下麵用一張圖涵蓋類圖中類的基本關係:
四、組件圖
組件圖用來表示組件與組件之間、類或介面與組件之間的關係圖,使用符號表示組件,使用圓圈表示介面。
組件除了可以對外提供服務介面外,組件還可能依賴某個介面,下圖顯示包含組件關係的組件圖:
其中,Oder組件提供了OrderQuery介面,Order組件需要依賴於Customer組件提供的CustomerLookup介面和Product組件提供的ProductQuery介面。
五、部署圖
部署圖包括了組件圖中的符號,另外還增加了節點的概念,節點主要包括處理器(如電腦主機)和設備(如印表機),UML圖中使用三維立方體表示節點,節點的名稱位於立方體的頂部。如下圖所示:
六、順序圖
順序圖也叫時序圖,描述對象之間消息的發送順序,強調時間順序。用箭頭表示消息、用豎虛線表示對象生命線。如下圖所示:
如需轉載,請註明作者(冰湖一角)和鏈接 https://www.cnblogs.com/bingyimeiling/p/10235223.html
歡迎關註微信公眾號【Java典籍】,收看更多Java技術乾貨!
▼微信掃一掃下圖↓↓↓二維碼關註