UML画图总结
? ?在畫圖的時候,主要畫的就是九種圖,接下來就和小編一起看看有什么吧!
九種圖:
用例圖:需求分析階段;
? ?用例是一種案例(狀況)。在用例中,系統用來滿足一或多個用戶需求,而用例捕
捉系統所提供功能的片段。用例是模型的核心。
? ?行為者:Actor
? ?
? ?用例:
? ?
類圖:分析階段、設計階段、測試階段(單元測試);
? ?類是任何面向對象系統的核心。系統的結構由一組通常稱為對象的片段構成。類
描述系統中不同對象的類型,而類圖則顯示出這些類及彼此間的關系。
? ?什么是類?
? ?類比物是吉他,我有一把吉他,這就是它的標識:這是我的那一把吉他。但是一
家公司不會只生產一把吉他,所以這個類型的吉他就是作為一個吉他類存在。
??
? ?抽象化:在給定的語境里丟棄不相關的細節叫做抽象化。也就是說在設定的條件
下,從宏觀的角度出發,將無意義的條件去掉。
? ?例如給我的吉他創建一個類,那它的屬性則要根據具體的情況而定,假如在修理
店中就需要添加有關刮痕的屬性;如果是在工廠系統中,這個屬性就沒有存在的必
要。
? ?可見性:Public(+)、Protected(#)、Package(~)、Private(-)
? ?
? ?關系:泛化、依賴、關聯、實現。在關聯中又有組合和聚合。
? ?泛化:用于描述一個類是另一個類的類型(is a type of)。
? ?箭頭端指向父類,指被繼承的較泛化類。繼承其他類的較特殊化類通常稱為子類。
? ?舉例:牛屬于動物,牛具有動物的特征同時還具有自己的功能。
? ?
? ?依賴:兩個類之間的依賴,聲明一個類需要知道另一個類,以使用該類的對象。
? ?箭頭指向被依賴類。
? ?舉例:人、動物的生存都要依賴空氣、水、食物等。
? ?
? ?關聯:意味著類實際上以屬性的形式包含對其他類的一個或多個對象的引用。
? ?舉例:天氣和人的出行,人需要知道第二天的天氣,才能選擇適合的衣物出行。
天氣與人的出行是一種關聯。
? ?
? ? ? ? ? ? ? ? ?聚合:是關聯的加強版,用來表明一個類實際上擁有但可能共享另一個類的對
象。
? ? ? ? ?舉例:電腦和外接鍵盤,電腦擁有鍵盤,但是實際上來說它們兩個互相獨立,并
且電腦可以和其他外接設備共享鍵盤。
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ?組合:類關系再加強一步是組合。組合是比聚合還強的關系。
? ? ? ? 舉例:鳥和翅膀,鳥需要翅膀才能夠飛翔。
? ? ? ? ? ? ? ??
構件圖(組件圖):為系統的組件建模;開發視圖
? ? ? ? 組件用于將系統組織成可管理、可重用及可替換的軟件片段。(組成軟件)
? ? 部署圖:集成與交付階段;為部署系統建模;實體視圖
? ? ???顯示系統的實體視圖,通過顯示軟件如何被分配到硬件上,以及那些片段如何通
信,可以將軟件帶入現實的世界。
? ? ? ?節點:node是能夠駐留(host)軟件或相關文件的軟硬件資源。
? ? ? ?常見硬件節點:服務器、臺式PC、光驅
? ? ???執行環境節點:操作系統、J2EE容器、Web服務器、應用程序服務器
對象圖:類的實例,將類引入實踐;簡單來說就是類圖的一個實例。
? ?與類圖相比,對象圖的表示法非常簡單,能夠描述系統內的對象如何在特定情境
下一同工作。
? ?鏈接:對象圖上對象之間的鏈接顯示兩個對象能彼此通信,但是不能隨便將任意
兩個對象鏈接在一起。如果在兩個對象之間建立鏈接,其類之間必定有相應的關聯。
? ?
活動圖:為系統工作流程建模;
? ?用例顯示系統應該做什么,活動圖則指明系統將如何實現它的目標。活動圖顯示
鏈接在一起的高級動作,代表系統中發生的流程。
? ?動作:是流程的完成過程中所進行的步驟。
? ?活動:是被建模的流程。動作則是整體活動里的一個步驟。
? ?
? ?活動分區或泳道:
? ?使用活動分區顯示哪個參與者負責哪些動作。活動分區將活動圖劃分成欄或列,
并且包含負責群組所完成的動作。這些欄或列有時又稱為泳道。
? ?
序列圖(順序圖):交互圖的重要成員,為系統各組成部分之間重要的運行時交
互進行建模。描述的是一個具體的功能,強調時間。
? ?捕捉系統各組成部分之間交互的次序有關。次序也就是時間,所以說序列圖是與
時間有關的圖。
? ?事件、信號、消息:
? ?事件:交互中的最小部分是事件。事件是交互過程中某件事情發生的一個點。事
件是由信號和消息所組成。
? ?同步消息:消息調用者在繼續它的工作之前,可能想要等待消息的返回。
? ?異步消息:消息調用者希望在消息發送給消息接收者之后,不等待返回消息就繼
續工作。
? ?返回消息:可選擇的表示法,能在活動條的末端使用,以顯示活動的控制流返回
給傳遞原始消息的參與者。
? ?
協作圖(通信圖):交互的鏈接;
? ?順序圖的主要目的在于顯示涉及特定交互時系統各組成部分之間事件發生的次
序,通信圖通過集中處理參與者之間的鏈接為交互添加另一種視角。
? ?通信圖尤其擅長顯示參與者之間需要哪些鏈接以傳送交互的消息。
? ?順序圖強調時間,通信圖強調上下級關系。
? ?通信圖由三部分組成:參與者、參與者之間的通信鏈接,以及能夠沿著這些通信
鏈接傳遞的消息。
? ?
狀態圖:為對象狀態建模;
? ?為對象的狀態及造成狀態改變的事件。狀態圖由狀態(state,繪成圓角矩形)
與轉換(transition,繪成連接狀態的箭頭)組成。
? ?轉換代表狀態的改變,或是如何從一個狀態到達下一個狀態。當通過轉換被進入
時,該狀態是活躍的(active);當通過轉換被推出時,則變成不活躍的
(inactive)。
? ?狀態:是在某特定時間的狀況。狀態可能是被動的性質,例如:燈的On或者
Off。也可能是主動的性質或者對象正在做的某些事情,例如:咖啡機正在煮咖啡的
Brewing狀態。
? ?轉換:以箭頭顯示,描述狀態從源狀態(source state)到目標狀態(target
?state)的改變。
? ?
? ?對于UML的理解還有待加深,隨著不斷的學習,相信自己的博客也會得到進一步的優化。
總結
- 上一篇: 水瓶与天蝎的八年爱恋(图
- 下一篇: A. Red and Blue Bean