這是關於UML類圖的簡短教程。我們將討論它們是什麼,為什麼需要它們,一些技術性的東西,然後我們將深入研究一個例子。
什麼是類圖?
假設你必須設計一個系統。在實現一堆類之前,您需要對系統有一個概念性的理解 - 也就是說,我需要哪些類?這些課程有哪些功能和信息?他們如何互相交流?誰能看到這些課程?等等。這就是類圖的用武之地。類圖是在實際開始編碼之前可視化系統中各類的一種巧妙方法。它們是系統結構的靜態表示。
類圖示例:訂單系統
類圖示例:GUI
類圖還可以附加到類或關係的註釋。
為什麼我們需要類圖?
- 提前規劃和建模使編程更容易。
- 除此之外,對類圖進行更改很容易,而在事實有點煩人之後編碼不同的功能。
- 當有人想要建房子時,他們不只是抓住一把錘子去上班。他們需要有一個藍圖 - 一個設計計劃 - 所以他們可以分析和修改他們的系統。
- 您不需要太多技術/語言特定的知識來理解它。
UML中的類表示
類表示封裝狀態(屬性)和行為(操作)的概念。每個屬性都有一個類型。每個操作都有一個簽名。類名是唯一的必填信息。
班級名稱:
- 類的名稱出現在第一個分區中。
類屬性:
- 屬性顯示在第二個分區中。
- 冒號後顯示屬性類型。
- 屬性映射到代碼中的成員變量(數據成員)。
班級操作(方法):
- 操作顯示在第三個分區中。它們是班級提供的服務。
- 方法的返回類型顯示在方法簽名末尾的冒號之後。
- 方法參數的返回類型顯示在參數名稱後面的冒號之後。操作映射到代碼中的類方法
類可見性
類中的屬性和操作名稱之前的+, - 和#符號表示屬性和操作的可見性。
- +表示公共屬性或操作
- - 表示私有屬性或操作
- #表示受保護的屬性或操作
參數方向性
操作(方法)中的每個參數可以表示為in,out或inout,其指定其相對於調用者的方向。此方向性顯示在參數名稱之前。
類圖的視角
透視的選擇取決於您在開發過程中的距離。例如,在域模型的製定過程中,您很少會超越概念角度。分析模型通常包含概念和規範視角的混合。設計模型開發通常首先著重於規範視角,並演變為實現視角。
可以從各種角度解釋圖表:
- 概念:代表域中的概念
- 規範:重點是軟件中抽像數據類型(ADT)的接口
- 實現:描述類如何實現其接口
視角影響要提供的細節量以及值得呈現的關係類型。如上所述,類名是唯一的必填信息。