UML(學習筆記)

UML:統一建模語言(Unfied Modeling Language)是描述、構造和文檔化系統製品的可視化語言。
建模:給現實世界的事物建立被人所理解的模型。
UML是一個龐大的圖形化表示法體系。(UML僅僅是一種圖形表示法。)
應用UML的三種形式:草圖、藍圖、編程語言
UML的要素:表示法(圖形)、過程(UML與過程無關,但最好用於RUP)、工具(如StarUML、Ratinal Rose)
RUP:統一軟件開發過程

1.面向對象分析與設計(OOA/D)

分析------對問題和需求的調查研究
設計------滿足需求的概念上的解決方案(設計是對分析的一種細化)
面向對象分析-----在問題域內發現和描述對象
面向對象設計-----如何定義軟件對象以及它們之間如何協作以實現需求
軟件建模----動態模型(如何交互)與靜態建模(都有哪些東西(對象))
分析與設計過程:定義用例->定義領域模型->定義交互圖->定義設計類圖
—>1.定義用例(用例是需求分析的一種工具,它是一些情節的描述)
—>2.定義領域模型(OOA)(識別問題中的概念,它是對真實世界領域中的概念和想象可視化,與具體實現的軟件技術無關)
—>3.分配對象職責並繪製交互圖(動態建模)。OOD關注的是軟件對象的定義(職責與協作)
—>4.定義設計類圖(靜態建模)。 從領域模型以及交互圖中獲得啓示,定義軟件類,包括屬性、方法等等

例子在這裏插入圖片描述

分析與設計過程:定義用例->定義領域模型->定義交互圖->定義設計類圖
1.定義用例(用例是需求分析的一種工具,它是一些情節的描述)
------1)遊戲者請求骰子
------2)系統展示結果:如果投資總點數是7,則贏,否則遊戲者輸
2.定義領域模型(OOA)(識別問題中的概念,它是對真實世界領域中的概念和想象可視化,與具體實現的軟件技術無關)
-----1)遊戲者
-----2)骰子
-----3)骰子游戲
在這裏插入圖片描述
3分配對象職責並繪製交互圖(動態建模)
OOD關注的是軟件對象的定義(職責與協作)
在這裏插入圖片描述
4.定義設計類圖(靜態建模)
從領域模型以及交互圖中獲得啓示,定義軟件類,包括屬性、方法等等
在這裏插入圖片描述

2.UP(統一軟件開發過程)與瀑布模型

軟件開發過程描述了構造、部署以及維護軟件的方式。
統一過程是一種流行的面向對象系統的迭代軟件開發過程。特別是RUP(Rational統一過程)是對統一過程的詳細精華。
瀑布生命週期試圖在編程之前(詳細)定義所有或大部分需求、創建出完整的設計、定義“可靠的”計劃或時間表。

3.UML概述

UML包括:事物、關係、圖、擴展機制
1.事物
–>結構:類、接口、構建、節點等等
–>行爲:交互(消息)、狀態等等
–>分組:包、子系統等等
–>註釋
2.關係:依賴、關聯(聚合、組合)、泛化(繼承)、實現(實現接口)
3.圖:用例圖、交互圖(順序圖、協作圖)、類圖、活動圖、狀態圖等等
4.擴展機制(在特定環境下起作用):約束等
圖的分類:靜態建模與動態建模
1.靜態建模:類圖
2.動態建模:順序圖(協作圖)、用例圖、活動圖、狀態圖

類圖實例

在這裏插入圖片描述

用例圖實例

在這裏插入圖片描述

狀態圖實例

在這裏插入圖片描述

活動圖實例

在這裏插入圖片描述
用例試圖:需求分析階段
邏輯視圖:設計姐u但,用例的實現
組件(構建)視圖:構建表示封裝了起內容的系統模塊:構建是相對獨立的模塊
部署視圖:表示軟件元素在物理架構上的部署,以及屋裏元素之間的通信

4.類圖

類圖允許我們去標記靜態內容及類之間的關係
1.類的基本表示法:名稱、屬性(類型,可見性)、方法(參數,返回值)
2.接口的基本表示法:圓形表示法、構造性表示法
3.包:用來表示層次結構(子系統)、組織各種內容
4.關係:依賴、關聯、泛化、實現
–>依賴:一個事物的變化影響另外一個事物(依賴其實就是耦合)
低耦合:表示要降低跟不穩定的其他對象之間的依賴關係
在這裏插入圖片描述
–>關聯:關聯名、導航、角色、多重性、聚合、組合
–>泛化:extends(繼承)
–>實現:implements
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章