UML是一種軟件建模標准語言,用來對軟件系統進行可視化建模
在UML建模過程中,我們主要使用三個主要的模型:
1,功能模型:用例圖,用例圖主要用來描述用戶,系統功能單元,需求之間的關系,他展示了一個外部用戶能夠觀察到的系統功能模型圖,能讓系統開發人員以一種可視化的方式理解系統的功能需求,同時,用例圖從外部用戶(組織)的角度捕獲系統行為,將系統划分為對活動者具有意義的事物
2,對象模型:采用對象,屬性、操作、關聯等概念展示系統的結構和基礎,包含有:類圖、對象圖、包圖
3,動態模型:展示系統內部行為,包括狀態圖、活動圖、序列圖
UML的重要內容可以一下五種類圖定義
用例圖:從用戶角度描述系統功能,並指出各個功能的操作者(角色)
靜態圖:
類圖,系統中類的靜態結構
包圖,包與包之間、包與類之間的關系,描述系統的分層結構
對象圖,類圖實例
行為圖:描述系統動態模型與對象組成的交換關系
活動圖:描述類業務實現用例的業務流程
狀態圖: 是描述狀態到狀態控制流,常用於動態特性建模
對象圖:描述對象之間的交互關系
順序圖:對象之間的動態合作關系,強調對象發送消息的順序,同時顯示對象之間的交互
合作圖:描述對象之間的協助關系
實現圖:
配置圖:定義系統中軟硬件的物理體系結構
UML包括用例圖、類圖、構件圖、部署圖、順序圖、協作圖、狀態圖、活動圖
各個圖簡介:
用例圖從外部用戶的角度捕獲系統的行為。他將系統功能划分為對活動者具有意義的事務。
類圖描述類、接口、寫作以及它們之間的關系的圖
順序圖描述了隨時間安排的一系列消息。每個分類角色顯示為一條生命線,代表整個交互期間的角色。消息則顯示為生命線之間的箭頭。
協作圖對交互中存在意義的對象和鏈建模
狀態圖用來描述一個特定對象所有可能的狀態 以及由於各種事件的發 生而引起的狀態之間的轉移和變化。
用例圖所包含的元素如下:
1,參與者:表示您的應用程序或者系統與用戶、外部系統、機構、組織的交互,用一個小人表示

2,用例:外部可見的系統功能,對系統提供的服務進行描述,用一個橢圓表示

3,子系統:系統的部分功能視圖,這部分功能緊密聯系

4,關系:用例圖包含四類關系,關聯,泛化,包含,擴展,如下圖

a關聯:
表示參與者與用例之間的通信,任何一方都可以接收或者發送消息
【箭頭指向】:指向消息接收方

b 泛化:
就是通常理解的繼承關系,就是通常理解的繼承關系,子用例和父用例相似,但表現出更特別的行為;子用例將繼承父用例的所有結構、行為和關系。子用例可以使用父用例的一般行為,也可以重載它。父用例通常是抽象的。
【箭頭指向】:指向父用例

c 包含:
包含用來把一個復雜的用例拆分成多個較小的用例
【箭頭指向】:指向分解出來的功能用例

d 擴展:
擴展關系用例功能的延伸,相當於為基礎用例增加一個附加功能
【箭頭指向】:指向基礎用例

e 依賴:
以上4種關系,是UML定義的標准關系。但VS2010的用例模型圖中,添加了依賴關系,用帶箭頭的虛線表示,表示源用例依賴於目標用例
【箭頭指向】:指向被依賴項

f 項目:
用例圖雖然是用來幫助人們形象地理解功能需求,但卻沒多少人能夠通看懂它。很多時候跟用戶交流甚至用Excel都比用例圖強,VS2010中引入了“項目”這樣一個元素,以便讓開發人員能夠在用例圖中鏈接一個普通文檔。
用依賴關系把某個用例依賴到項目上:

然后把項目-》屬性 的Hyperlink設置到你的文檔上;
這樣當你在用例圖上雙擊項目時,就會打開相關聯的文檔。
g 注釋:

包含(include)、擴展(extend)、泛化(Inheritance) 的區別:
條件性:泛化中的子用例和include中的被包含的用例會無條件發生,而extend中的延伸用例的發生是有條件的;
直接性:泛化中的子用例和extend中的延伸用例為參與者提供直接服務,而include中被包含的用例為參與者提供間接服務。
對extend而言,延伸用例並不包含基礎用例的內容,基礎用例也不包含延伸用例的內容。
對Inheritance而言,子用例包含基礎用例的所有內容及其和其他用例或參與者之間的關系;
一個用例圖示例:

