.
作者 :萬境絕塵
轉載請注明出處 : http://blog.csdn.net/shulianghan/article/details/18964835
.
一. UML視圖
1. Rational Rose浏覽器中的四個視圖
用例視圖(Use Case View) : 用例視圖中包括 參與者, 用例, 用例圖, 時序圖 和 協作圖, 用例視圖與代碼實作無關, 該視圖關注系統的高層, 不關注如何具體實作.
邏輯視圖(Logical View) : 邏輯視圖中包括需要的特定類, 類圖 和 狀态圖; 邏輯視圖關注如何實作用例視圖中的具體功能, 将元件之間的關聯, 系統如何運作的詳細圖形畫出來.
元件視圖(Component View) : 元件視圖包括模型代碼庫, 可執行檔案, 運作庫等元件資訊; 元件是代碼的實際子產品, 元件 和 元件圖在元件視圖中顯示, 元件視圖顯示代碼子產品之間的關系.
配置視圖(Deployment View) : 配置視圖 相當于 系統的實際配置, 與邏輯結構有所不同, 系統結構是三層的, 但是對應的配置視圖可能是兩層的.
2. RUP 4+1 視圖
四種視圖之間的關系 :用例視圖(Use Case View)是系統的核心, 其它的四個視圖都要基于Use Case View展開;邏輯視圖(Logical View)中包括靜态結構和動态行為,實作視圖(Implementation View)依賴邏輯視圖的靜态結構,程序視圖(Process View)依賴邏輯視圖的動态行為;配置視圖依賴程序視圖 與 實作視圖;
(1) 邏輯視圖(Logical View)
使用者 : 設計人員, 開發人員.
實作需求 : 系統功能.
作用 : 揭示系統的内部設計和協作情況, 邏輯視圖實作系統功能角度 : 靜态結構 , 動态行為.
靜态結構 : 描述 類, 對象, 關系.
動态行為 : 描述對象之間發動消息産生的動态協作, 一緻性, 并發.
UML對等視圖: 邏輯視圖(Logical View).
(2) 實作視圖(Implementation View)
使用者 : 碼農
實作需求 : 系統的可擴充性, 可移植性, 可重用性, 易用性, 易測試性.
作用 : 描述軟體的靜态結構, 顯示代碼之間的組織方式, 通過系統輸入輸出關系的模型圖 和 子系統圖, 來描述實作子產品之間的依賴關系.
内部需求 : 開發難易程式, 重用可能性, 通用性, 局限性等; 層次越低的元件通用性越好.
UML對等視圖 : 元件視圖(Component View).
(3) 程序視圖(Process View)
使用者 : 系統內建.
實作需求 : 穩定性, 安全性, 伸縮性, 魯棒性.
作用 : 顯示系統并發性, 解決在并發系統中存在的通信和同步問題, 該視圖顯示程序, 線程, 對象等運作時狀态, 以及相關同步, 并發, 通信等問題.
程序視圖與實作視圖關系 : 實作視圖顯示的是編譯時的靜态關系, 程序視圖顯示的是編譯完之後運作時的對象, 線程, 程序之間的互動問題.
UML對等視圖 : 并發視圖(Concurrency View).
(4) 配置視圖(Deployment View)
使用者 : 運維
實作需求 : 拓撲結構, 系統安裝, 通信.
作用 : 軟體到硬體的映射, 目标程式及其依賴的運作庫和系統軟體部署到實體機器上去, 以及部署機器和網絡配合軟體系統的可靠性,可伸縮性等要求. 配置視圖綜合考慮軟體系統和整個IT系統互相影響的架構視圖.
配置視圖與程序視圖關系 : 程序視圖關注程式的動态執行情況, 配置視圖關注程式的靜态位置.
UML對等視圖 : 配置視圖(Deployment View).
(5) 用例視圖(Use Case View)
使用者 : 全部人員
作用 : 描述使用者需要的系統功能. 用例是客戶要求的系統中的一個功能單元, 相當于參與者與系統之間的一次互動. 用例模型列出系統中的用例和參與者, 顯示哪個參與者執行哪個用例.
核心 : 用例視圖是其它四種視圖的核心, 其作用是驅動其它視圖開發.
二. UML中的事務
UML中事務是模型中首要成分的抽象,關系把事務結合在一起,圖聚集了相關事務.
事務是UML中面向對象的基本子產品, UML中事務包括 結構事務,行為事務,組織事務,輔助事務. 事務在模型中屬于靜态部分, 代表實體上或概念上的元素.
1. 結構事物(Structure Things)
結構事務是模型中的 靜态事務, 主要包括7種, 類 接口 用例 協作 活動類 元件 節點.
(1) 類 (Class)
類具有相同屬性, 方法, 語義, 關系的集合; 一個類可以實作一個或者多個接口, UML中, 類包括類名, 屬性名, 方法;
(2) 接口 (Interface)
接口是類或元件提供的可以完成特定功能的操作集合, 接口描述了類或者元件對外的可見的操作. 一個類可以實作多個接口.
(3) 用例 (Use Case)
用例定義了系統的一組操作, 特定的使用者可以執行該操作.
(4) 協作 (Collaboration)
協作是互動的操作, 角色和其它元素一起工作, 提供一些合作的動作 . 類可能是協作的組成部門, 協作代表構成的系統的實作.
(5) 活動類 (Active Class)
類對象有一個或多個程序或線程的類是活動類, 活動類與類相似, 活動類對象代表的元素的行為與其它的元素同時存在.
(6) 元件(Component)
元件是實體上可替換的, 實作一個或多個接口的系統元素.
(7) 節點(Node)
節點是實體元素, 運作時存在, 代表一個可計算的資源, 例如伺服器, 程序等.
2. 行為事物(Behavior Things)
行為事務又叫動作事務, 與結構事務不同, 是UML模型中的動态部分, 代表時間和空間上的動作, 結構事務是UML模型中的靜态部分.
行為事務有兩種 : 互動 ,狀态機. 它們是UML模型中最基本的兩個動态事務元素,
(1) 互動(Interaction)
互動是在特定上下文中的一組對象, 這一組對象為共同完成一定的任務進行一系列消息交換所組成的動作就是互動. 互動包括消息,動作序列(消息産生的動作),對象之間的連接配接組成. 互動中的消息通常畫成帶箭頭的直線.
(2) 狀态機(State Machine)
狀态機是對象一個或多個狀态的集合.
3. 組織事物 (Grouping Things)
組織事物又叫分組事物, 隻有一種, 就是 包(Package).
組織事物是UML模型中組織部分, 相當于一個盒子, 每個盒子中的對象關系比較複雜;盒子與盒子之間的關系相對簡單.
包是一種将一系列元素分組的機制;元件也是元素分組的機制;
包與元件差別 : 包是一種概念上的東西, 僅存在與開發階段, 元件是一種實體元素,存在于運作時.
4. 輔助事務(Annotation Things)
輔助事務就是注釋.
三. UML中的關系(Relationship)
UML中的關系主要有5種 : 關聯關系, 聚合關系, 依賴關系, 泛化關系, 實作關系.
(1) 關聯關系(Association)
關聯關系是結構化關系, 指一種對象和另一種對象有關聯. 兩個對象有關聯就是從一個對象中可以通路到另一個對象, 即就是在類中将另一個類的對象聲明為成員變量.
雙向關聯 : 如果兩個類互相聲明對方對象為成員變量, 那麼這個關聯就是雙向關聯;
單向關聯 : 如果兩個類中隻有一個類聲明另一個類對象為成員變量, 那這個關聯成為單向關聯.
關聯關系表示 : 關聯關系用一條實線表示.
(2) 聚合關系
聚合概念 : 類之間的關系是整體與部分之間的關系, 一個表示整體的模型元素可能由多個表示部分的模型元素聚合而成, 如汽車由發動機, 輪胎聚合而成.
共享聚合 : 如果聚合中表示部分的模型還參與其它整體對象的聚合, 那麼該聚合是共享聚合;
複合聚合 : 如果聚合中表示部分的模型隻隸屬于整體類, 那麼該聚合就是複合聚合.
複合聚合表示 : 聚合關系用一端帶空心菱形的直線表示, 菱形端連接配接表示整體事物的模型元素.
組合關系 : 組合關系是比聚合關系更緊密的耦合關系, 部分類需要整體類才能存在, 整體類被銷毀, 部分類也要随之銷毀.
組合關系表示 : 一端帶有實心的小菱形直線表示, 小菱形端連接配接表示整體事物的模型元素.
(3) 依賴關系 (Dependency)
依賴關系描述兩個模型元素之間的語義關系 : 一個模型元素是獨立的, 另一個不是獨立的, 非獨立的模型元素依賴于獨立模型元素, 獨立模型改變将影響依賴于其的非獨立模型.
關聯關系與依賴關系差別 : 依賴關系的對象間表現非固定關系, 如手機與充電器, 手機不是時刻都需要充電器的, 但是沒有充電器, 手機就玩不轉.
4. 泛化關系 (Generalization)
泛化關系定義了一般元素和特殊元素之間的分類關系, 泛化類似于繼承關系. 可以分為普通泛化 和受限泛化.
普通泛化 : 沒有給泛化添加限制, 普通泛化用一條帶空心箭頭的實線表示.
受限泛化 : 給泛化附加限制條件, 說明泛化關系的使用方法和擴充方法. 預定義的限制有4種 : 多重, 不相交, 完全, 不完全.
5. 實作關系 (Realization)
将一種模型元素(類)與另一種模型元素(接口)連接配接起來, 接口隻是行為的說明, 不是結構或者實作.
兩種實作關系 :接口與實作它的類之間的關系,用例和實作它的協作之間的關系.
實作關系表示 : 實作關系用一條帶空心的虛線箭頭表示.
四. UML 中的圖
UML中的圖分為兩類, 結構行為圖 和動态行為圖.
結構行為圖 :類圖 ,對象圖 ,用例圖 ,元件圖 ,配置圖 .
動态行為圖 :狀态圖 ,活動圖 ,時序圖 ,協作圖 .
每個圖中的概念
類圖 : 類 , 關聯 , 泛化 , 依賴關系 , 實作 , 接口 .
用例圖 : 用例 , 參與者 , 關聯 , 擴充 , 包括 , 用例泛化 .
元件圖 : 元件 , 接口 , 依賴關系 , 實作 .
配置圖 :
狀态圖 :
活動圖 :
時序圖 :
協作圖 :
1. 用例圖 (Use Case Diagram)
用例圖展現了一組 用例 參與者 它們之間的關系. 可以描述系統的靜态使用情況.
下面的用例圖中 : 使用者 和 ATM機 是參與者, 插入卡 輸入密碼是用例.
2. 類圖 (Class Diagram)
類圖展示了 類 接口 協作 之間的關系, 一個系統有多個類圖, 高層模組化給出類的主要職責, 底層模組化給出類的屬性和操作.
下圖中 人民币賬戶 美元賬戶 從賬戶類繼承, 它們是泛化關系. 賬戶與ATM機 , 使用者與兩種賬戶是關聯關系.
3. 對象圖 (Object Diagram)
對象圖 是 類圖的變體, 對象圖使用與類圖相似的符号描述.
對象圖與類圖的差別 :
表示的概念 : 對象圖顯示的是類的多個對象, 而非實際的類. 對象圖是類的一個例子, 顯示系統執行時的一個快照, 即在某一個時間點上系統可能呈現的樣子.
表示不同 : 對象圖使用帶下劃線的對象名稱來表示對象, 顯示一個關系中的所有執行個體.
4. 元件圖
元件圖 由 元件接口 元件之間的關系組成. 元件 可以是 源碼 二進制碼 可執行程式. 元件圖表示系統不同的實體部件及其關系.
下圖中, 元件1 和 元件3 都依賴于 元件2.
5. 配置圖 (Deployment Diagram)
定義 : 配置圖展現運作時處理節點(伺服器,主機) 以及 其中元件的配置(列印機,掃描器). 配置圖可以說明系統結構的靜态配置圖, 即 分布 傳遞 安裝 的實體系統.
描述硬體 : 配置圖描述系統硬體的實體拓撲結構, 即網絡布局群組件在網絡中的位置;
描述軟體 : 描述在裝置上執行的軟體, 即運作時軟體在節點中的分布情況.
6. 時序圖 (Sequence Diagram)
時序圖含義 :
a. 動态協作 : 時序圖顯示多個對象間的動态協作, 主要是顯示對象之間發送消息的時間順序.
b. 時間點預測 : 時序圖也顯示對象之間的互動, 即在系統執行的時候,某個時間點将會發生的事情.
時序圖用途 :表示用例中的行為順序, 當執行一個用例行為的時, 時序圖中每一條消息對應了一個類操作, 或狀态機中引起裝換的觸發事件.
7. 協作圖 (Collaboration Diagram)
組織結構模組化 : 協作圖對互動中有意義的對象和對象之間的連接配接模組化, 強調收發消息對象的組織結構, 按照組織結構對控制流模組化.
顯示關系 : 除了顯示消息的互動之外, 協作圖還顯示對象 及對象之間的關系.
8. 狀态圖 (Statechart Diagram)
狀态圖定義 : 狀态圖顯示一個對象所有可能的狀态 , 以及各種事件發生而引起的狀态轉移.
狀态圖的作用 : 狀态圖描述了一個狀态機, 用狀态圖說明系統的動态視圖.
狀态圖模組化 : 狀态圖對接口,類, 協作的行為模組化很重視, 可以用來描述執行個體的生命周期.
開始結束分别用實心圈和帶環的圈表示.
9. 活動圖 (Activity Diagram)
活動圖是狀态圖的變體, 顯示系統從一個活動到另一個活動的流程, 活動圖顯示了一些活動, 強調是對象之間的流程控制.
五. 通用機制
UML中的通用機制, 使UML變得簡單, 易于使用. 使用通用機制可以為模型元素提供額外的注釋,資訊或語義.
1. 修飾
修飾表示 : UML模組化時, 可以将圖形修飾附加到UML圖形的模型元素上. 通常修飾寫在相關元素旁邊, 所有對修飾的描述與它們所影響的元素的描述放在一起.
修飾作用 : 為圖形中的元素增加語義.
修飾例子 : 當一個元素代表一個類型的時候, 名稱可以用粗體來表示; 當一個元素代表一個類型的執行個體的時候, 名稱可以用下劃線表示; 當一個元素代表接口的時候, 那麼其名稱用斜體表示. 表示類的方法的時候 : "-"表示私有, "+"表示公有, "#"表示保護類型.
2. 注釋
注釋用一條虛線連接配接到其解釋的元素上, 注釋可以使模型更加清晰.
注釋使用技巧 :
a. 依賴 : 将注釋放在需要注釋的元素旁邊, 使用依賴關系連接配接, 注釋依賴于元素.
b. 隐藏 : 注釋平時可以隐藏;
c. 嵌入 : 如果注釋很長, 可以放到外部文本中, 然後嵌入到模型中.
3. 規格說明
模型元素具有許多用于維護該元素的資料值特性, 特性用名稱和被稱為标記值的值定義.
标記值 : 标記值是一種特定的類型, 如整型, 字元串.
名稱 : UML中特性是預定義的, 如文檔(Documentation), 職責(Responsibility), 永久性(Persistence), 并發性(Concurrency).
4. 通用劃分 (General Division)
(1) 型-執行個體
定義 : 型-執行個體(Type-Instance)描述了一個通用描述符與單個元素之間的對應關系. 通用描述符成為型元素, 它相當于類, 單個元素是執行個體元素, 相當于類的執行個體; 一個型元素可以對應多個執行個體元素.
表示 : 執行個體元素使用與通用描述符相同的表示圖形, 但是名稱的表示不同. 執行個體元素名稱帶有下劃線, 并且執行個體元素名稱後面還要加上冒号和通用描述符.
舉例 : 類 與 對象 相當于一種 型-執行個體劃分, 資料類型 與 資料值 .
(2) 接口-實作
接口生命了一個規定了服務的約定, 實作負責執行接口的全部語義, 并實作該項服務.
5. 擴充機制
UML擴充機制允許UML使用人員根據需要自定義一些構造型語言, 擴充機制既可以擴充UML功能, 還可以使語言使用者化.
.
作者 :萬境絕塵
轉載請注明出處 : http://blog.csdn.net/shulianghan/article/details/18964835
.