詳解UML圖之類圖連結
詳情點選連結
產品經理的必備技能之一是畫UML圖,本文就告訴你怎麼畫標準的類圖吧。本文結合網路資料和個人心得所成,不當之處,請多指教。
1、為什麼需要類圖?類圖的作用
我們做專案的需求分析,最開始往往得到的是一堆文字,請看下面這堆文字:
本專案是在一期的基礎上增加對電纜、通訊工程的管理和施工詳細資料的記錄和統計,使整個系統更好的管理各工程專案從中標開始到竣工驗收的全部過程和資料和分析施工過程的資料。
本系統將一條或一個標段的架空電力線路工程定為一個單位工程,即系統中的一個工程專案;每個單位工程分為若干個分部工程;每個分部工程分為若干個分項工程;每個分項工程中又分為若干相同單元工程。
這是關於系統情況的一段概述,裡面充斥了大量的術語、概念,如果你不是專業人士,恐怕難以讀懂上述文字。
專案初期,我們往往對業務一無所知,我們最急迫需要解決的問題就是理清楚這些業務概念以及它們的關係,如果能用好類圖,你將能深入地剖析系統業務。
用下面這個UML圖來描述是否清晰了許多呢?
在上圖中,各個類之間是關聯關係,也就是擁有的關係。
類圖(Class diagram)主要用於描述系統的結構化設計。類圖也是最常用的UML圖,用類圖可以顯示出類、介面以及它們之間的靜態結構和關係。
2、怎麼畫類圖?用什麼工具?
使用工具:Visio或者processon線上作圖
在類圖中一共包含了以下幾種模型元素,分別是:類(Class)、介面(Interface)以及類之間的關係。
2.1 類(Class)
在面向物件(OO) 程式設計中,類是對現實世界中一組具有相同特徵的物體的抽象。
2.2 介面(Interface)
介面是一種特殊的類,具有類的結構但不可被例項化,只可以被實現(繼承)。在UML中,介面使用一個帶有名稱的小圓圈來進行表示。
2.3、類圖中關係(relation)
在UML類圖中,常見的有以下幾種關係: 泛化(Generalization), 實現(Realization),關聯(Association),聚合(Aggregation),組合(Composition),依賴(Dependency)
1. 泛化(Generalization)
【泛化關係】:是一種繼承關係,表示一般與特殊的關係,它指定了子類如何特化父類的所有特徵和行為。
例如:老虎是動物的一種,即有老虎的特性也有動物的共性。
【箭頭指向】:帶三角箭頭的實線,箭頭指向父類