UML建模--序列图建模技巧
一、序列圖工具箱說明
?
?
Actor:角色/執行者,通常用于用例場景圖中,在描述用戶交互時表示當前用戶/操作者。
Lifeline:生命線,最常用,例如系統、子系統、崗位角色、模塊、類。
?
Boundary、Control、Entity是三種特殊的生命線對象類型,通常一起使用(MVC模式、控制模式):
Boundary:邊界對象,初學者用得少,在MVC模式、控制模式、需求分析過渡到系統設計中用得多些,可用于表示交互界面、子系統。
Control:控制對象,用于表示業務邏輯、分工協調的職責對象,采用控制模式分析設計時用得多。
Entity:實體對象,用于表示需要永久保存或較長生命期的數據對象,例如票據、文件、數據庫(通常不直接說數據庫等技術實現方式,而說邏輯意義的名稱)。
?
Fragment:片段,表示某一局部序列圖單元,例如條件分支、循環、子圖或子圖鏈接,后者可用于序列圖分層建模。
EndPoint:結束點,表示流程退出、異常退出、子圖結束,一般與“Diagram Gate”搭配使用。
Diagram Gate:圖入口,表示進入序列圖的一個入口。用于在子序列圖中表示是在什么情況下由上一級序列圖進來的。
?
?用于在生命線之間表達消息流轉方向,在EA中這四種消息類型是可以快速轉換的,所以不用擔心畫錯了。
?
二、序列圖繪制通常步驟
?
1、新建序列圖:新建包并選中要自動添加新圖 --> 選擇圖類型為“UML Behavioral | Sequence”,進入序列圖;
2、點擊工具箱中的生命線命令,在圖上分別添加多個生命線,輸入生命線名稱后大致調整各個生命線的位置;
3、點擊工具箱中的消息箭頭命令,在一個生命線虛線上按下鼠標左鍵,拖動到另一個生命線虛線上再松開鼠標左鍵,然后就可以輸入消息名稱了。
4、添加其他消息,快捷提示:按F3重復上次的連線類型,直接開始繪制下一個消息連線。
?
繪制消息連線的技巧:
1、按F3重復上次的連線類型,直接開始繪制下一個消息連線;
2、釋放鼠標左鍵時,如果是在另一個生命線上就是普通消息,在相同生命線上釋放就是自身消息;
3、繪制返回消息方法1:從右邊生命線連到左邊生命線就是返回消息(虛線),如果不行則確認系統選項(Tools | Options)的Sequence頁面中的“Assume right to left messages are Return”是勾選狀態。
4、繪制返回消息方法2:雙擊一個消息線出現消息的屬性界面,勾選上“Is Return”。
?
5、控制級別的快速升降級:點擊消息線上的藍色小箭頭按鈕就可切換
????
6、改變消息目標位置或起始位置:用鼠標左鍵按住消息線的黑色小方塊拖到到其他生命線上再松開。
7、臨時發現缺少某個生命線對象:畫消息線時在空白處松開,在彈出的上下文菜單上選擇Timeline,就自動創建出新的生命線對象
?
三、對象生命期(新建、刪除)
1、新建對象:雙擊消息線,在消息屬性對話框中選擇New(新建):
2、銷毀對象:在消息線的屬性中選擇Delete(刪除),見上圖
3、自動銷毀對象(不建議啟用):在系統選項中勾上GarbageCollect(auto delete),這樣對于新建的對象就能在連到此生命線的最后一個消息下面自動結束此生命線。
當然,如果希望在一個序列圖中僅僅創建出某個對象、對象還將繼續存在,即一個序列圖沒有表達全部生命周期,就需要去掉此選項。
?
?
四、序列圖分層
?
使用序列圖分層技術可以讓一個圖不至于太復雜,在不同層次的序列圖中表達不同級別的細節。在上圖中,雙擊交互引用框“具體做什么”就能進入子序列圖,在子序列圖中表達更詳細的內容。
?
操作方法:創建單獨的序列圖(子序列圖),在模型樹上將子序列圖節點拖到當前序列圖上,在彈出的對話框中選擇第一個類型“交互引用框”:
?
???
?
五、其他技巧
?
1、新消息組:要表達在不同時間觸發的多個獨立消息時就可用此技巧,在消息線的右鍵菜單中選擇“Start New Message Group”:
?
?
2、多個入口:要表達在不同時間觸發的多個獨立消息時就可用此技巧。
使用“Diagram Gate”繪制多個入口,就可表達各個獨立的消息來源。
???
?
from:?https://www.cnblogs.com/rhcad/archive/2011/09/08/2171753.html
總結
以上是生活随笔為你收集整理的UML建模--序列图建模技巧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mybatis mapper.xml -
- 下一篇: UML序列图总结(Loop、Opt、Pa