Agile Principles, Patterns, and Practices in C# 無瑕的程式碼 敏捷完整篇 第13章 寫給C#程式設計師的UML概述

        第十三章簡介類別圖、物件圖、循序圖、協作圖和狀態圖,類別圖和狀態圖比較常見。


統一塑模語言是用來繪製軟體概念圖的一種圖形符號。


本書關注規格說明層級和實作層級。


UML包含三種主要圖示。


靜態圖


描述類別、物件、資料結構及它們之間的關係,展現出軟體元素那些「不變」的邏輯結構。


動態圖


軟體實現在執行過程中是如何變化,其中描述了執行流程或實體改變狀態的方式。


實體圖


展示了軟體實體「不變」的物理結構,其中描述原始檔、程式庫、二進位檔、資料檔等物理實體。


類別圖


類別圖展示了程式中主要的類別和關係。


圖13-2


矩形表示類別,箭頭表示關係。


本圖中所有的關係都是關聯關係。關聯是簡單的資料關係,其中一個物件持有對另一個物件的參考或呼叫了其方法。


關聯上的名字對應的是持有該參考的變數名稱。


箭頭相鄰的數字表示關係所包容的實例個數,數字比1大,意味著是某種容器,通常是陣列。


類別圖可分為多個隔間,最上面的隔間放類別的名稱,其他隔間放描述函數和變數。


interface 代表介面


物件圖


物件圖展示系統執行時,某個特定時刻的物件關係,可看做記憶體快照。


圖13-3


矩形表示物件,名稱下方有底線作為識別。冒號後面的名稱是所屬類別的名稱。每個物件的下層顯示該物件的key變數值。


物件之間的關係稱為鍊link。


循序圖


圖13-4描繪了TreeMap.Add方法如何實作。


人形線條圖代表一個未知呼叫者。


方括號[]中的布林運算式稱為監護條件,指出應該選擇哪一個路徑。


終結在TreeMapNode圖示上的箭頭訊息表示物件建造。


帶有小圓圈的箭頭稱為資料標記


協作圖


協作圖包含了循序圖中包含相同的資訊。循序圖為了表達訊息的順序,協作圖為了表達物件之間的關係。


物件被稱為鏈的關係給連接起來,只要一個物件可以向另外一個物件發送訊息就存在鏈的關係。


鏈上傳遞訊息,用小一點的箭頭表示。訊息上標記了訊息名稱、訊息順序號碼以及任何使用到的監護條件。


帶點的順序號碼表示呼叫的層次結構。訊息1.1是訊息1所呼叫的函式發送的第一條訊息。


狀態圖


UML能夠全面地表達有限狀態機FSM。


圖中的箭頭稱為遷移,其上標記有觸發遷移的事件及該遷移執行的動作。當一個遷移被觸發時,會導致系統的狀態發生改變。


狀態圖用於了解系統的行為,透過狀態圖可知系統如何動作。


 



留言

這個網誌中的熱門文章

異世界NTR web版第三章 觀後感 喧賓奪主 ,反派實力過強

泛而不精的我被逐出了勇者隊伍 web第三章 觀後感 菲莉真能打; 露娜超爽der

持有縮小技能的D級冒險者,與聖女結婚並加入勇者團隊 漫畫 01-04 觀後感 大我與小我