1. 程式人生 > >(轉)uml各類圖

(轉)uml各類圖

管理員 用例設計 document 技術 machine 使用場合 rdo 節點 部分

原文:http://www.cnblogs.com/way-peng/archive/2012/06/11/2544932.html

一、UML是什麽?UML有什麽用?

二、UML的歷史

三、UML的上層結構(Superstructure)

四、UML建模工具

五、UML的圖(重點)

1、用例圖(use case diagram)

2、活動圖(activity diagram)

3、靜態結構圖

4、順序圖(Sequence Diagram)

5、交互縱覽圖(Interaction Overview Diagram)

6、通信圖(Communication Diagram)

7、時間圖(Timing Diagram)

8、狀態機圖(State Machine Diagram)

9、構件圖(Component Diagram)

10、部署圖(Deployment Diagram)


一、UML是什麽?UML有什麽用?

UML是什麽?

Unified Modeling Language(統一建模語言)是對象管理組織(OMG)制定的一個通用的、可視化的建模語言標準,可以用來可視化(visualize)、描述(specify)、構造(construct)和文檔化(document)軟件密集型系統的各種工件(artifacts,又譯制品)

UML是一種標準的圖形化建模語言,是面向對象分析與設計的標準表示

,它:

技術分享不是一種可視化的程序設計語言,而是一種可視化的建模語言(用於分析設計)

技術分享不是工具或知識庫的規格說明,而是一種建模語言規格說明,是一種表示的標準

技術分享不是過程,也不是方法,但允許任何一種過程和方法使用

UML有什麽用?

軟件開發系統規模比較復雜時,需要用圖形抽象地表達復雜概念,增強設計的靈活性、可讀性和可理解性,以便暴露深層次的設計問題,降低開發風險。有必要采用一套通用的圖形語言和符號體系描述組織的業務流程和軟件需求,促進業務人員、開發人員之間一致、高效地交流。

二、UML的歷史

UML發展背景:

P. Coad和E.Yourdon提出OOA和OOD

G. Booch提出面向對象開發方法

Jacobson提出OOSE

Rumbaugh提出的OMT

……

UML的出現結束了這場方法學戰爭

UML發展歷程:

技術分享

三、UML的上層結構(Superstructure)

至於UML底層的基礎結構(Infrastructure),軟件開發工程師們沒必要了解,只需要懂得上層結構就行了。

技術分享

構造塊(building blocks) 通用機制(common mechanisms) 構架(architecture)

技術分享事物(things)

結構、行為、分組、註釋

技術分享關系(relationships)

依賴、關聯、泛化、實現

技術分享圖(diagram)

靜態(7種):類圖、對象圖、構件圖、部署圖、包圖、組合結構圖、外廓圖

動態(7種):順序圖、通信圖、時間圖、交互縱覽圖、活動圖、狀態機圖、用例圖

技術分享規格說明(Specifications)

文本維度的模型描述

技術分享修飾(Adornments)

描述建模元素的細節信息

技術分享通用劃分(Common Divisions)

建模時對事物的劃分方法

技術分享擴展機制(Extensibility Mechanisms)

構造型、約束、標記值

4+1視圖
UML中的視圖包括用例視圖(Use Case View)、邏輯視圖(Logical View)、實現視圖(Implementation View)、進程視圖(Process View)、部署視圖(Deployment View)等,這5個視圖被稱作”4+1”視圖.技術分享

四、UML建模工具

比較流行的有Rational Rose ,Microsoft Visio、Enterprise Architect 、Visual UML等。我現在使用的UML建模工具是Enterprise Architect 8.0,推薦使用這款,比較好用。

五、UML的圖(重點)

技術分享

1、用例圖(use case diagram)

技術分享用例圖(Use Case Diagram)是被稱為參與者(Actor)的外部用戶所能觀察到的系統功能的模型圖

列出系統中的用例和參與者

顯示哪個參與者參與了哪個用例的執行

技術分享核心概念

用例:系統中的一個功能單元,可以被描述為參與者與系統之間的一次交互作用

參與者、參與者泛化

用例與參與者之間的關系:關聯

用例之間關系:擴展、包括、泛化

技術分享推薦使用場合

業務建模、需求獲取、定義


某圖書館管理系統:

是一個基於Web的計算機應用系統;

讀者可以查詢圖書信息以及借閱信息;

讀者可以通過系統預約所需的圖書;

圖書館工作人員利用該系統完成讀者的借書、還書業務;

圖書館工作人員可以對圖書信息、讀者信息等進行維護;

對於到期的圖書,系統會自動向讀者發送催還信息;

管理員會定期進行系統維護;

……

技術分享

UC01:“借書”用例文檔

用例名稱:借書

用例標識:UC01

涉及的參與者:工作人員

涉及的用例:

描述:工作人員利用該用例為讀者完成借書過程

前置條件:工作人員必須登錄到當前系統

涉眾利益:

讀者:能夠方便的找到並借出所需的圖書

工作人員:能夠快速並準確的完成借書工作

基本事件流:工作人員幫助讀者借閱圖書

1.用例起始於讀者帶著所要借的圖書來到借閱前臺;

2.工作人員錄入讀者信息;

3.工作人員逐一錄入所有的圖書信息:

* 3.1 工作人員錄入一本圖書信息;

* 3.2 系統確認該讀者可以借閱當前圖書;

4.工作人員確認本次借閱信息;

5.系統記錄本次借閱情況。

後置條件:系統將讀者借閱信息正確地記錄到數據庫中

備選事件流

2a. 讀者身份不合法

2b. 讀者存在欠費信息,不允許借書

3.2a. 該讀者不允許借閱當前圖書

字段列表:

5. 借閱信息主要包括:讀者圖書證號、圖書編號、借閱日期(默認為當天日期)、借閱天數以及歸還日期。

業務規則

3.2 系統根據當前讀者的借閱規則來判斷是否可以借閱圖書;而借閱規則取決於讀者的類型(如本科生、研究生、老師等)和圖書的類型(如科技類、文學類、新書等),並可動態配置

非功能需求:

設計約束:

部署約束:

未解決的問題

2b. 讀者存在多少欠費記錄時,才不允許借書?

3.2 借閱規則的具體配置情況需和用戶進一步討論?

2、活動圖(activity diagram)

技術分享活動圖(Activity Diagram)

通過動作來組織,主要用於描述某一方法、機制或用例的內部行為

技術分享核心概念

狀態、活動、組合活動、對象

轉移、分支

並發、同步

泳道

技術分享推薦使用場合

業務建模、需求、類設計

技術分享

3、靜態結構圖

類圖(Class Diagram)

是軟件的藍圖,詳細描述了系統內各個對象的相關的類,以及這些類之間的靜態關系。

核心概念:類、接口、依賴、關聯、泛化、實現

類圖展示實體類的靜態關系:

技術分享

對象圖(Object Diagram)

表示在某一時刻類的對象靜態結構和行為。

核心概念:對象、鏈接、多重性

對象圖展示我當前借書情況:

技術分享

包圖(Package Diagram)

展現有模型本身分解而成的組織單元(包)以及它們的依賴關系。

核心概念:包(、框架、層、子系統) 、依賴

包圖展示系統分層結構:

技術分享

組合結構圖(Composite Structure Diagram)

描述系統中某一部分(組合結構)的內部結構,包括該部分與系統其它部分的交互點。

核心概念:組合結構、部件、端口、協議

組合結構圖展示借書內部結構:

技術分享

4、順序圖(Sequence Diagram)

技術分享順序圖(Sequence Diagram)

用於顯示對象間的交互活動

關註對象之間消息傳送的時間順序

技術分享核心概念

對象、生命線、激活、交互、消息

交互幀(Interaction Frame)

技術分享推薦使用場合

用例分析、用例設計

“借書”用例實現的順序圖技術分享

5、交互縱覽圖(Interaction Overview Diagram)

技術分享交互縱覽圖(Interaction Overview Diagram)

活動圖和順序圖的混合物

直觀地表達一組相關順序圖之間的流轉邏輯

技術分享核心概念

交互幀

分支、轉移

技術分享推薦使用場合

用例分析、用例設計

交互縱覽圖組織多個順序圖技術分享

6、通信圖(Communication Diagram)

技術分享通信圖(Communication Diagram)

UML 1.x中稱為協作圖(Collaboration Diagram)

表示一組對象間關系以及交互活動

技術分享核心概念

對象、協作角色

協作、交互、消息

技術分享推薦使用場合

用例分析、用例設計

“借書”用例實現的通信圖
技術分享

7、時間圖(Timing Diagram)

技術分享時間圖(Timing Diagram)

一種交互圖,展現消息跨越不同對象或角色的實際時間信息;

具體描述單個或多個對象狀態變化的時間點以及維持特定狀態的時間段;

順序圖是表示交互的主要手段,可以在順序圖中增加時間約束來表明對象狀態變化的時間點以及維持特定狀態的時間段。

技術分享核心概念

時間約束、持續時間約束、生命線

狀態、條件、事件

“打電話”順序圖的時間約束
技術分享
利用時間圖描述時間約束
技術分享

8、狀態機圖(State Machine Diagram)

技術分享狀態機圖(State Machine Diagram)

UML1.x為狀態圖(Statechart Diagram)

利用狀態和事件描述對象本身的行為

技術分享主要概念

狀態、初態、終態、復合狀態

事件、轉移、動作

並發

技術分享推薦使用場合

類設計

“圖書”類的狀態機圖
技術分享

9、構件圖(Component Diagram)

技術分享構件圖(Component Diagram)

封裝類為構件

描述在系統實現環境中的軟件構件和之間的關系

技術分享主要概念

構件、工件、接口(所供接口、所需接口)

依賴、實現

技術分享推薦使用場合

系統設計、實現、部署

構件圖描述類的實現環境
技術分享

10、部署圖(Deployment Diagram)

技術分享部署圖(Deployment Diagram)

描述系統所需的硬件構件的物理部署

技術分享主要概念

節點、構件、位置

連接、依賴

技術分享推薦使用場合

系統設計、實施、部署

部署圖描述系統部署情況
技術分享

(轉)uml各類圖