【UML】UML幾種圖的繪製
08年9月入學,12年7月畢業,結束了我在軟體學院愉快豐富的大學生活。此係列是對四年專業課程學習的回顧,索引參見:http://blog.csdn.net/xiaowei_cqu/article/details/7747205
UML幾種圖的繪製
UML是Unified Modeling Language(統一建模語言)的簡稱。UML是對軟體密集型系統中的製品(軟體開發過程中產生的各種各樣的產物,如模型、原始碼、測試用例等)進行視覺化、詳述、構造和文件化的語言。
UML是一套表示法系統。UML由一組圖組成,它使得系統分析員可以利用這一標準來建立能夠和客戶、程式設計師以及任何參與程式開發的人員理解的多視角的系統藍圖。不同的風險承擔人通常使用不同型別的圖相互交流。
UML的特點有:統一的標準:UML已被OMG接受為標準的建模語言、物件導向、視覺化、表示能力強大、獨立於過程、概念明確,建模表示法簡潔,圖形結構清晰,容易掌握使用
UML中包括九種圖:
類圖、物件圖、用例圖、狀態圖、順序圖、活動圖、協作圖、構件圖、部署圖
UML是一套表示法系統。UML由一組圖組成,它使得系統分析員可以利用這一標準來建立能夠和客戶、程式設計師以及任何參與程式開發的人員理解的多視角的系統藍圖。不同的風險承擔人通常使用不同型別的圖相互交流。
UML的特點有:統一的標準:UML已被OMG接受為標準的建模語言、物件導向、視覺化、表示能力強大、獨立於過程、概念明確,建模表示法簡潔,圖形結構清晰,容易掌握使用
UML中包括九種圖:
類圖、物件圖、用例圖、狀態圖、順序圖、活動圖、協作圖、構件圖、部署圖
【系統用例圖】
用例是系統的一組使用場景。每個場景描述了一個事件的序列。每個序列是由一個人、另一個系統、一臺硬體裝置或者某段時間的流逝所發起。這些發起事件序列的實體叫做參與者(actor)。用例是對一個參與者(actor)使用系統的一項功能時所進行的互動過程的一個文字描述序列。
UML表示:
建立參與者
建立與參與者相關的用例
並建立聯絡![](https://i.iter01.com/images/03dbe8945cb58b98e1c8ef9c9bb065f7d89ddd2b6787ee99e09e4116b8f2c189.png)
UML表示:
- 用例用一個橢圓形表示
- 參與者用直立人形圖示表示
- 用例的發起參與者在用例圖的左側,接收參與者在用例圖的右側
- 關聯線連線參與者和用例並且表示參與者與用例之間有通訊關係;關聯線是實線。
建立參與者
![](https://i.iter01.com/images/2b2a000394ff93ec53be156b53f736aefb4dc2dfcdcbf8e27d5de1b919b69d3c.png)
![](https://i.iter01.com/images/fef3269eb8240183ada4c00f223c5f479c19b189f917704ef6ef0cce45cbc395.png)
![](https://i.iter01.com/images/03dbe8945cb58b98e1c8ef9c9bb065f7d89ddd2b6787ee99e09e4116b8f2c189.png)
系統用例圖如下:
![](https://i.iter01.com/images/3e64457b103d85d0711bc50d6554186db9c509891acf59194d6ba8c0990a1603.png)
目錄中出現參與者及用例如下:
![](https://i.iter01.com/images/9d0f6b3cea47af20aa1013557f3566f03348b208deb3d689f1d3ebcbd1d507fb.png)
【順序圖】
物件之間的互動是按照特定的順序發生的,這些按特定順序發生的互動序列從開始到結束需要一定的時間。當建立一個系統時,必須要指明這種互動序列,順序圖就是用來完成這項工作的UML元件。UML表示:
- 物件用矩形表示,其中是帶下劃線的物件名
- 時間用垂直虛線表示
- 訊息用帶箭頭的直線表示
- 啟用用窄矩形條表示
右擊用例“Add Item to Shopping Cart”,選擇“Add”->“Sequence Diagram”
首先畫出用例中會用到Object
再在Object之間建立ObjectMessage![](https://i.iter01.com/images/d991be259ef97c60216cf72351a53d1a50642f451cc5489bfd1f07c60b6f9af1.png)
順序圖如下:
![](https://i.iter01.com/images/1f6f96a45fee15f5b1dfbed3751c67c91849a3ee3d5b68e1111a31efc1b32a8d.png)
再在Object之間建立ObjectMessage
![](https://i.iter01.com/images/d991be259ef97c60216cf72351a53d1a50642f451cc5489bfd1f07c60b6f9af1.png)
順序圖如下:
![](https://i.iter01.com/images/29c012fa99f77ba1405fda338c23b71ede9223e37a99e73f9c5b721200e767fa.png)
【協作圖】
協作圖是物件圖的擴充套件。協作圖除了展示出物件之間的關聯,還顯示出物件之間的訊息傳遞。物件圖是一個快照;而協作圖是一部電影。UML表示:
- 關聯線附近的箭頭線表示物件之間的傳遞的訊息,箭頭指向訊息接收物件
- 訊息名稱和訊息序號附在箭頭線附近。訊息的一般含義是觸發接收訊息的物件執行它的一個操作
用例圖按F5鍵直接生成協作圖如下:
![](https://i.iter01.com/images/23ca68a7516bfd0dab3594d16cdd94d05916f1b6ca5c18ff86f26f7a4b404bbe.png)
繪製詳細順序圖如下:
![](https://i.iter01.com/images/43205135e54bc32b088ba171ce28075641208bc295f32ba4788189e7200746b5.png)
生成協作圖:
![](https://i.iter01.com/images/a850ad7e01c76c243a0e774a7f2e2cb497951208b0c52a2bd9c87254726af07d.png)
在目錄中生成如下檔案:
![](https://i.iter01.com/images/da1f1ca29dec1fd474e077fa55d7ebe7e32deea89d214315d002cf57b316f85b.png)
【類圖】
類是一類或者一組具有類似屬性和共同行為的事物
UML表示:
UML表示:
- 矩形方框
- 被分為三個區域:類名、類的屬性、類的操作
- 類名由多個單片語成;每個單詞的首字母要大寫,單詞之間不用空格
- 屬性名和操作名也類似,但首字母不用大寫
- 每個操作名的後面都有一對括號
在圖中繪製各種類以
及各種類之間的關係 ![](https://i.iter01.com/images/bf0c97d9e26dece8cb266b5bbe373e343886728a09c7b16c443ceefa98513006.png)
分析“Add Item to Shopping Cart”中用到的類,在Logical View新建“Class Diagram”、“Add Item to Shopping Cart”
![](https://i.iter01.com/images/c63f50af3bf0652b7233fd651d9969b9e3efc4866f32c77ce9c3fc950c2b6dee.png)
![](https://i.iter01.com/images/bf0c97d9e26dece8cb266b5bbe373e343886728a09c7b16c443ceefa98513006.png)
分析“Add Item to Shopping Cart”中用到的類,在Logical View新建“Class Diagram”、“Add Item to Shopping Cart”
繪製類圖如下:
![](https://i.iter01.com/images/8c45ee1d281c8618e86be5f56eafd35570c0fe76eb51c541fa00544326ddb829.png)
建立主類圖“main”:Boudaries、Control、Entities三個包
![](https://i.iter01.com/images/6237b4c239f5dc7a6417b746c9a1d30a4a36a506cfd71957c713e170835f0c5f.png)
則在Logical中生成三個資料夾:
![](https://i.iter01.com/images/b76e77143dd8768d1023d8fc5b29a0b22ea543cafefe38c22af1ac3ab113576b.png)
將相應的類拖到對應的資料夾下:
![](https://i.iter01.com/images/3ea4fec89e11b2b72179e0119ec131ad03a28113428d1b45c0dc54237a58dde4.png)
【狀態圖】
人或事物表現出來的形態為狀態。當系統與使用者(也可能是其它系統)互動的時候,組成系統的物件為了適應互動需要經歷必要的變化。如果要對系統建立模型,那麼模型中必須要反映出這種變化。
UML表示:
在類Product Item下新建“Statechart Diagram”,繪製Product的狀態圖
繪製“開始”狀態
,之後依次繪製各種狀態及轉移
,最後以
表示結束
繪製狀態圖如下:
UML表示:
- 狀態用圓角矩形表示
- 狀態間帶箭頭的實線代表狀態的遷移(轉移),箭頭指向目標狀態
- 實心圓代表狀態轉移的起點,眼形圓圈代表終點
在類Product Item下新建“Statechart Diagram”,繪製Product的狀態圖
繪製“開始”狀態
![](https://i.iter01.com/images/60f2e515c806fff963432d85031ee13a971b15e20aace1607cd3cba761342d14.png)
![](https://i.iter01.com/images/bf4806a479c1d38335a4022d876fdf15d8660f7318d57fec68ceb1e540bc132c.png)
![](https://i.iter01.com/images/3dd2d2befe7dae18911eec19e2df7b7f6e838fe46a29c56013bcb9cb4171cbd7.png)
繪製狀態圖如下:
![](https://i.iter01.com/images/fc9bad81e084bad907be5f76fbc9304d5f5abea6d0209767af7367ea0f404a49.png)
生成目錄如下:
![](https://i.iter01.com/images/20795bab6bba724c7af773e47c04b23d0f888f2a482164fbbb51ed89614d5b11.png)
【構件圖】
構件是系統中遵從一組介面且提供其實現的物理的、可替換的部分。構件圖則顯示一組構件以及他們之間的相互關係,包括編譯、連結或執行時構件之間的依賴關係。構件圖和部署圖用於在OO系統中實現物理方面的建模UML表示:
- 左側附有兩個小矩形的大矩形框;也可以用一個頂部帶關鍵字《Component》的矩形表示
- 構件有自己的名稱。如果構件屬於一個包,可以在構件名稱前面加上包名
- 可以在構件圖示中列出構件的操作
在“Component View”中新建Component Diagram建立構件
![](https://i.iter01.com/images/ee680a2f13a3c4c750c051fc43ce128eda9da3234845ecfb0535614210f67ec4.png)
![](https://i.iter01.com/images/d154d8e2683b2530481591ce07706c4a376bc8a944c18b3567acdf077527cb5d.png)
繪製系統元件圖如下:
![](https://i.iter01.com/images/95d2974b3aab17a55bbae1e15bff60143cbc6311cf5fa64067316d68c7605d8c.png)
建立元件圖“main”,建立三個包
![](https://i.iter01.com/images/4f27fd64497d4068992ae16c68d075beaf3430421f04ab5a18a2d596cbcb217e.png)
目錄中生成三個相應資料夾,將相應的元件放入資料夾中,為了顯示出每個Package中的Component,在相應的目錄下建立元件圖“main”
檔案目錄如下:
檔案目錄如下:
![](https://i.iter01.com/images/472c354771adf2defb0a9e285756d4e1d22ac923e1bb45f7ce8dd0bd33455790.png)
其中Boundaries下main元件圖如下:
![](https://i.iter01.com/images/3e5e0fbd61c6719be225037673e5919e1fe50c1e674503be021d66a1a557e26e.png)
Control下main元件圖如下:
![](https://i.iter01.com/images/598367ddbcb80b4e73d1828c7638b32c48eb460269114a340cf79e7c8f0ab374.png)
Entities下main元件圖如下:
![](https://i.iter01.com/images/177742beeca75c717c04254218896dbb848805dfd797eeefe300bed7ed881b9b.png)
【部署圖】
部署圖用來描述系統硬體的物理拓撲結構以及在此結構上執行的軟構件。部署圖也稱配置圖,實施圖。常常用於幫助理解分散式系統。部署圖由體系結構設計師,網路工程師,系統工程師等描述。UML表示:
- 用立方體表示
- 加關鍵字<<Device>>
在Commonent View下的Deployment中繪製Processor
![](https://i.iter01.com/images/15bb90378687f2f4f392282fd2cb4683c421499bea0bcce08078b25daacd07de.png)
![](https://i.iter01.com/images/79bd630cf740e42bca58737311d20535f140e18328bf5db0d038058328d47a65.png)
繪製系統部署圖如下:
![](https://i.iter01.com/images/fa44096570a752542984cdf224505c84929482d62aa275433e053c4df73772a9.png)
結果分析
- UML是Unified Modeling Language(統一建模語言)的簡稱。UML是對軟體密集型系統中的製品(軟體開發過程中產生的各種各樣的產物,如模型、原始碼、測試用例等)進行視覺化、詳述、構造和文件化的語言。
- UML中檢視包括:用例檢視(Use Case View)、邏輯檢視(Logical View)、實現檢視(Implementation View)、程式檢視(Process View)、部署檢視(Deployment View)等。由九種圖組成
- 實驗通過掌握各種圖在Rational Rose中的繪製方法,加深了對圖所表達含義的理解以及各種圖之間的關係。
轉載請註明出處:http://blog.csdn.net/xiaowei_cqu/article/details/7773814
相關文章
- UML類圖繪製例項
- Markdown 繪製 UML 圖 -- PlantUML + Gravizo(轉)
- UML筆記——14種UML圖筆記
- UML 之 各種檢視簡介 & UML類圖幾種關係的總結
- UML科普文,一篇文章掌握14種UML圖
- uml圖六種箭頭的含義
- UML類圖
- PlantUML 是繪製 uml 的一個開源專案
- UML設計:類圖說明及一步一步製作UML類圖
- UML圖,時序圖時序圖
- UML順序圖
- UML狀態圖
- UML活動圖
- 專案UML圖
- UML用例圖
- UML 活動圖
- 使用線上UML製作工具Freedgo Design設計uml例子Go
- UML類圖詳解
- 專案UML圖(2)
- UML線上製作時序圖 -toolfk工具網時序圖
- 物件導向與UML圖物件
- UML 用例圖詳解
- 透過一份經典的UML類圖來學會如何讀懂UML類圖
- 看懂UML類圖和時序圖時序圖
- UML概述
- UML圖之協作圖(通訊圖)
- UML畫圖工具-Graphviz和PlantUML
- 如何簡單快速畫UML圖?
- 從文字描述生成UML圖
- uml用例圖-2024/11/26
- 利用Railroad生成ROR工程uml圖AI
- 一款線上製圖工具介紹:如何線上免費繪製UML,雲架構,ER模型,平面圖,流程圖等-架構模型流程圖
- UML類圖--類之間的關係
- UML入門
- UML快速概述
- UML基礎
- UML建模——用例圖(Use Case Diagram)
- 五分鐘讀懂UML類圖