面向對象分析設計-------02UML+UML各類圖形及做用

1、UML是什麼?UML有什麼用?數據庫

2、UML的歷史併發

3、UML的上層結構(Superstructure) 框架

4、UML建模工具工具

5、UML的圖(重點)ui

   一、用例圖(use case diagram)spa

   二、活動圖(activity diagram).net

   三、靜態結構圖設計

   四、順序圖(Sequence Diagram)3d

   五、交互縱覽圖(Interaction Overview Diagram)對象

   六、通訊圖(Communication Diagram)

   七、時間圖(Timing Diagram)

   八、狀態機圖(State Machine Diagram)

   九、構件圖(Component Diagram)

   十、部署圖(Deployment Diagram)


1、UML是什麼?UML有什麼用?

UML是什麼?

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

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

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

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

星星不是過程,也不是方法,但容許任何一種過程和方法使用

UML有什麼用?

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

2、UML的歷史

UML發展背景:

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

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

Jacobson提出OOSE

Rumbaugh提出的OMT

……

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

UML發展歷程:

image

3、UML的上層結構(Superstructure)

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

image

構造塊(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」視圖.image

4、UML建模工具

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

5、UML的圖(重點)

image

一、用例圖(use case diagram)

燈泡用例圖(Use Case Diagram)是被稱爲參與者(Actor)的外部用戶所能觀察到的系統功能的模型圖

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

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

燈泡核心概念

    用例:系統中的一個功能單元,能夠被描述爲參與者與系統之間的一次交互做用

    參與者、參與者泛化

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

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

燈泡推薦使用場合

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


某圖書館管理系統:

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

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

讀者能夠經過系統預定所需的圖書;

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

圖書館工做人員能夠對圖書信息、讀者信息等進行維護;

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

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

……

image

UC01:「借書」用例文檔

用例名稱:借書

用例標識:UC01

涉及的參與者:工做人員

涉及的用例:

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

前置條件:工做人員必須登陸到當前系統

涉衆利益:

     讀者:可以方便的找到並借出所需的圖書

     工做人員:可以快速並準確的完成借書工做

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

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

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

   3.工做人員逐一錄入全部的圖書信息:

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

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

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

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

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

備選事件流

   2a. 讀者身份不合法

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

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

字段列表:

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

業務規則

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

非功能需求:

設計約束:

部署約束:

未解決的問題

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

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

二、活動圖(activity diagram)

燈泡活動圖(Activity Diagram)

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

燈泡核心概念

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

轉移、分支

併發、同步

泳道

燈泡推薦使用場合

業務建模、需求、類設計

image

 

三、靜態結構圖

類圖(Class Diagram)

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

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

類圖展現實體類的靜態關係:

image

對象圖(Object Diagram)

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

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

對象圖展現我當前借書狀況:

image

包圖(Package Diagram)

展示有模型自己分解而成的組織單元(包)以及它們的依賴關係。

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

包圖展現系統分層結構:

image

組合結構圖(Composite Structure Diagram)

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

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

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

image

 

四、順序圖(Sequence Diagram)

燈泡順序圖(Sequence Diagram)

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

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

燈泡核心概念

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

交互幀(Interaction Frame)

燈泡推薦使用場合

用例分析、用例設計

「借書」用例實現的順序圖image

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

燈泡交互縱覽圖(Interaction Overview Diagram)

活動圖和順序圖的混合物

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

燈泡核心概念

交互幀

分支、轉移

燈泡推薦使用場合

用例分析、用例設計

交互縱覽圖組織多個順序圖image

六、通訊圖(Communication Diagram)

燈泡通訊圖(Communication Diagram)

UML 1.x中稱爲協做圖(Collaboration Diagram)

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

燈泡核心概念

對象、協做角色

協做、交互、消息

燈泡推薦使用場合

用例分析、用例設計

「借書」用例實現的通訊圖
image

七、時間圖(Timing Diagram)

燈泡時間圖(Timing Diagram)

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

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

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

燈泡核心概念

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

狀態、條件、事件

「打電話」順序圖的時間約束
image
利用時間圖描述時間約束
image

八、狀態機圖(State Machine Diagram)

燈泡狀態機圖(State Machine Diagram)

UML1.x爲狀態圖(Statechart Diagram)

利用狀態和事件描述對象自己的行爲

燈泡主要概念

狀態、初態、終態、複合狀態

事件、轉移、動做

併發

燈泡推薦使用場合

類設計

「圖書」類的狀態機圖
image

九、構件圖(Component Diagram)

燈泡構件圖(Component Diagram)

封裝類爲構件

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

燈泡主要概念

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

依賴、實現

燈泡推薦使用場合

系統設計、實現、部署

構件圖描述類的實現環境
image

十、部署圖(Deployment Diagram)

 

燈泡部署圖(Deployment Diagram)

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

燈泡主要概念

節點、構件、位置

鏈接、依賴

燈泡推薦使用場合

系統設計、實施、部署

部署圖描述系統部署狀況
image

分類

圖的名字

介紹

 

類圖(Class Diagram)

類圖用於定義系統中的類,包括描述類之間的聯繫(如:關聯、依賴、聚合)以及類的內部結構,即類的屬性和操做。所以類圖是描述系統中類的靜態結構,即它所描述的是一種靜態關係,在系統的整個生命週期都是有效的。

對象圖(Object Diagram)

對象圖所使用的表示符號與類圖幾乎徹底相同,它們的不一樣點在於對象圖只是顯示類的對象實例,而不是實際的類。一個對象圖是類圖的一個實例,因爲對象存在生命週期,所以對象圖只能在系統某一時間段存在。

對象圖是類圖的一種實例化圖,描述系統在某個時刻可能包含的對象和相互關係。

包圖(Package Diagram)

包圖由包或類組成,主要表示包與包、或包與類之間的關係。包圖用於描述系統的分層結構。

構件圖(Component Diagram)

描述能夠部署的軟件構件(如:代碼部件、jar文件、EJB文件等)的物理結構以及各部件之間的依賴關係。一個部件多是一個資源代碼部件、一個二進制部件或一個可執行部件。構件圖有助於分析和理解部件之間的相互影響程度。

部署圖(Deployment Diagram)

描述一個系統的拓撲結構,定義系統中軟硬件的物理體系結構。它能夠顯示實際的計算機和設備(用節點表示)以及它們之間的鏈接關係,也可顯示鏈接的類型及部件之間的依賴性。在節點內部,放置可執行部件和對象,以顯示節點跟可執行軟件單元之間的對應關係。

 

用例圖(Use Case Diagram)

它從用戶角度描述系統的功能,並指出各功能的操做者。用例圖描述了一系列的角色和使用案例及它們之間的關係。

活動圖(Activity Diagram)

行爲圖描述系統的動態模型和組成對象間的交互關係。

活動圖描述爲知足用例要求所要進行的活動以及活動間的約束關係。活動圖是使用例圖所描述的行爲具體化。

狀態圖(State Diagram)

描述一類對象的全部可能的狀態以及事件發生時狀態的轉移條件。一般狀態圖是對類圖的補充,實際上並不須要爲全部的類繪製狀態圖,而只須要爲那些有多個狀態、而且其行爲受外界環境的影響而會發生改變的類繪製狀態圖。

時序圖/序列圖/順序圖(Sequence Diagram)

交互圖描述對象間的交互關係。

順序圖用於顯示對象之間的動態合做關係。它強調對象之間消息發送的順序,同時也顯示對象之間的交互過程,它強調的是時間和順序。

合做圖/協做圖(Collaboration Diagram)

合做圖顯示對象間的動態合做關係,除了顯示信息交換外,合做圖還顯示對象以及它們之間的關係,它強調的是通訊關係。

原文:http://blog.csdn.net/chenxiang0207/article/details/8245283

附:

類圖,對象圖,用例圖,部署圖,構件圖,爲靜態圖 狀態圖,順序圖,活動圖,協做圖爲動態圖

相關文章
相關標籤/搜索