天天看點

UML中靜态與動态視圖的總體介紹

主要的域 視圖 主要概念 簡單說明
結構(描述了系統中的結構成員及其互相關系) 靜态視圖(概念模組化) 類圖 元素(類、接口),關系(關聯、泛化、依賴關系、實作)

對應用領域中的概念以及與系統實作有關的内部概念模型。由類與類的互相關系組成;包含屬性與操作

描述系統内部類與類的靜态關聯關系

靜态視圖說明了對象的結構。一個面向對象的系統使資料結構和行為特征統一到一個獨立的對象結構中。根據面向對象的觀點,資料和行為是緊密相關的。

靜态視圖将行為實體描述成離散的模型元素,但是不包括它們動态行為的細節。

靜态視圖中的關鍵元素是類元及它們之間的關系。類元是描述事物的模組化元素。

用例視圖(概念模組化) 用例圖 元素(用例、參與者),關系(關聯、擴充、包括、用例泛化)

用例視圖是被稱為參與者的外部使用者所能觀察到的系統功能的模型圖。用例是系統中的一個功能單元,可以被描述為參與者與系統之間的一次互動作用。用例模型的用途是列出系統中的用例和參與者,并顯示哪個參與者參與了哪個用例的執行

描述參與者與系統之間的關系

用例執行個體(使用場景:使用者使用系統的一個實際的、特定的場景)是在系統中執行的一系列動作,這些動作将生成特定參與者可見的價值結果。一個用例定義一組用例執行個體。

用例應該給參與者代理客觀的價值,用例是在系統中的。

用例模型描述的是外部參與者所了解的系統功能,使用在需求分析階段,它的建立是系統開發者和使用者反複讨論的結果,表明開發者和使用者對需求規格達成的共識。

實作視圖(實體視圖) 構件圖 構件、接口、依賴關系、實作

為了可重複性和可操作性的目的,系統實作方面的資訊也和重要。

實作視圖為系統的構件模組化— 構件即構造應用的軟體單元— 還包括各構件之間的依賴關系,以便通過這些依賴關系來估計對系統構件的修改給系統可能帶來的影響。

從構件到接口的實線表明該構件提供的列在接口旁的服務。從構件到接口的虛線箭頭說明這個構件要求接口提供的服務。

将系統中可重用的塊包裝成具有可替代性的實體單元,這些單元稱為構件。實作視圖利用構件與構件之間的接口和依賴關系來表示設計元素(例如類)的具體實作。構件是系統高層的可重用的組成部件。

部署視圖(實體視圖) 部署圖 節點、構件、依賴關系、位置

部署視圖描述位于節點執行個體上的運作構件執行個體的安排。節點是一組運作資源,如計算機、裝置或存儲器。這個視圖允許評估配置設定結果和資源配置設定。

表示運作時計算資源(如計算機及他們之間的連接配接)的實體布置。這些運作資源被稱為節點。在運作時節點包含構件和對象,構件和對象的配置設定可以是靜态的,他們也可以在節點間遷移,如果含有依賴關系的構件執行個體放在不同的節點上,部署視圖可以展現出執行過程的瓶頸。

動态(描述了系統随時間變化的行為) 狀态機視圖(概念模組化) 狀态機圖 狀态、事件、轉換、動作

狀态機視圖是一個類對象所可能經曆的所有曆程的模型圖。狀态機由對象的各個狀态和連接配接這些狀态的轉換組成。

狀态圖可用于描述使用者接口、裝置控制器和其他具有回報的子系統。它還可用于描述在生命期中跨越多個不同性質階段的被動對象的行為,在每一階段該對象都有自己特殊的行為。每一個對象都被看作是通過對事件進行探測并做出回應來與外界其他部分通信的獨立的實體。

通過對類對象的生命周期建立模型來描述對象随時間變換的動态行為。

狀态機是展示狀态與狀态轉換的圖,狀态機用于描述類的行為,但他們也描述用例、協作和方法的動态行為。對這些對象而言,一個狀态代表了執行中的一步。我們通常用類和對象來描述狀态機,但是它也可以被其他元素所直接應用。狀态機是一個類的對象所有可能的生命曆程的模型,狀态機是一個對象的局部視圖,一個将對象與其外部世界分離開來并獨立考查其行為的圖。利用狀态機可以精确地描述行為,但不适合綜合了解系統執行操作。如果要更好地了解整個系統範圍内的行為産生的影響,那麼互動視圖将更有用些。然而,狀态機有助于了解如使用者接口和裝置控制器這樣的控制機。

狀态機描述的範圍不寬,但它描述了對象深層次的行為,是單獨考察每一個對象的“微縮”視圖。對狀态機的說明是精确的,而且可以直接用于代碼。然而在了解系統的整個功能時存在困難,因為狀态機一個時刻隻集中描述一個對象,要确定整個系統的行為必須同時結合多個狀态機進行考察。互動視圖更加适合描述一組對象的整體行為。

活動視圖(概念模組化) 活動圖 狀态、活動、完成轉換、分叉、結合

活動圖是狀态機的一個變體,用來描述執行算法的工作流程中涉及的活動,用于對計算流程和工作流程模組化。

活動圖中的狀态表示計算過程中的所有狀态,而不是普通對象的狀态,通常,活動圖假定在整個計算處理過程中沒有外部事件引起的中斷,否則普通狀态圖更适合描述該情況。

用途是對人類組織的現實世界中的工作流程模組化。對事物模組化是活動圖的主要用途,但活動圖也可對軟體系統中的活動模組化。活動圖有助于了解系統高層活動的執行行為,而不涉及建立協作圖所必須的消息傳送細節。

表示方式:活動狀态表示成帶有圓形邊線的矩形框,它含有活動的描述(普通的狀态盒為直邊圓角)。簡單的完成轉換用箭頭表示。分支表示轉換的監護條件或具有多标記出口箭頭的菱形。控制的分叉和結合與狀态圖中的表示法相同,是進入或離開深色同步條的多個箭頭。

活動圖沒有表示計算處理過程中的全部詳細内容。表示了活動進行的流程但沒表示出活動執行的對象。活動圖是設計活動的起點,為了完成設計,每個活動必須擴充細分成一個或多個操作,每個操作被指定到具體類,這種配置設定的結果引出了用于實作活動的對協作的設計工作。

互動視圖(概念模組化) 互動視圖

互動視圖描述了執行系統功能的各個角色之間互相傳遞消息的順序關系。互動視圖顯示了跨越多個對象的系統控制流程。

對象間的互相作用展現了對象的行為。這種互相作用可描述成兩種互補的方式。一種以獨立的對象為中心進行考察,一種以互相作用的一組對象為中進行考察。

互動視圖是對象間協作關系的模型。

順序圖和協作圖都可以表示各對象間的互動關系,但它們的側重點不同。順序圖用消息的幾何排列關系來表達消息的時間順序,各角色之間的相關關系是隐含的。協作圖用各個角色的幾何排列圖形來表示角色之間的關系,并用消息來說明這些關系。

順序圖

(時序圖)

互動、對象、消息、激活 順序圖表示了對象之間傳送消息的時間順序;順序圖的一個用途是用來表示用例中的行為順序。當執行一個用例行為時,順序圖中的每條消息對應了一個類操作或狀态機中引起轉換的觸發事件
協作圖 協作、互動、協作對象、消息 協作圖對在一次互動中有意義的對象和對象間的鍊模組化。對象和關系隻有在互動的語境中才有意義。類元角色描述了一個對象,關聯角色描述了協作關系中的一個鍊。協作圖的一個用途是表示一個類操作的實作。協作圖可以說明類操作中用到的參數和局部變量以及操作中的永久鍊。
模型管理(說明模型的分層組織結構) 模型管理視圖 類圖 包、子系統、模型

模型管理視圖對模型自身組織模組化。一系列由模型元素(如類、狀态機和用例)構成的包組成了模型。

包可能包含其他的包,是以,整個模型實際上可看成一個根包,它間接包含了模型中的所有内容。包是操作模型内容、存取控制和配置控制的基本單元。

每一個模型元素包含于包中或包含于其他模型元素中。模型是從某一觀點以一定的精确程度對系統所進行的完整描述。從不同的視角出發,對同一系統可能會建立多個模型,例如有系統分析模型和系統設計模型之分。模型是一種特殊的包。子系統是另一種特殊的包。它代表了系統的一個部分,它有清晰的接口,這個接口可作為一個單獨的構件來實作。

任何大的系統都必須被分成幾個小的單元,這使得人們一次隻處理有限的資訊,并且分别處理這些資訊的工作組之間互不幹擾,模型管理由包及包之間的依賴關系組成。

可擴充性 所有 所有 限制、構造型、标記值

U M L包含三種主要的擴充元件:限制、構造型和标記值。限制是用某種形式化語言或自然語言表達的語義關系的文字說明。構造型是由模組化者設計的新的模型元素,但是這個模型元素的設計要建立在U M L已定義的模型元素基礎上。标記值是附加到任何模型元素上的命名的資訊塊。這些元件提供了擴充 U M L模型元素語義的方法,同時不改變 U M L定義的元模型自身的語義。使用這些擴充元件可以組建适用于某一具體應用領域的 U M L使用者定制版本。

UML提供幾種擴充機制,允許模組化者在不改變基本模組化語言的基礎上做一些通用的擴充。這些擴充機制已經被設計好,以便在不需要了解全部語義的情況下就可以存儲和使用。由于這個原因,擴充可以作為字元串存儲和使用。對不支援擴充機制的工具來說,擴充隻是一個字元串,可以作為模型的一部分被導入、存儲,還可以傳遞到其他工具。我們期望後端工具設計成能夠處理各種擴充,這些工具會為他們需要了解的擴充定義特定的文法和語義。

這種擴充方法很可能不能滿足出現的多種要求,但是它以一種易于實作的簡單方式容納模組化者對UML制裁的大部分要求。

一定要記住擴充是違反UML的标準形式的,并且使用它們會導緻互相影響,在使用擴充機制之前,模組化者應該仔細權衡利弊,特别是目前現有機制可以合理工作時。典型的,擴充用于特定的應用域或程式設計環境,但是他們導緻了UML方言的出現,包括所有方言的優點和缺點。

轉載于:https://my.oschina.net/sld880311/blog/1485966

繼續閱讀