一汇四、時序圖是什么?
時序圖(Sequence Diagram),又名序列圖,它通過描述對象之間發(fā)送消息的時間順序顯示多個對象之間的動態(tài)協(xié)作。可以體現(xiàn)用例的行為順序备燃,當(dāng)執(zhí)行一個用例行為時况褪,其中的每條消息對應(yīng)一個類操作或狀態(tài)機中引起轉(zhuǎn)換的觸發(fā)事件食侮。
二起胰、時序圖元素
時序圖中主要的元素有:角色(Actor)炉峰、對象(Object)、生命線(Lifeline)、控制焦點(Focus of control)茵典、消息(Message)
角色(Actor)
系統(tǒng)(應(yīng)用)的角色扶平,用戶概而、系統(tǒng)、子系統(tǒng)源譬、相對獨立的模塊等都可以成為角色养渴。
對象(Object)
萬物皆對象~ Object or Class帆疟,位于時序圖頂部殴蓬。
生命線(Lifeline)
在時序圖中表示為從對象圖標向下延伸的一條虛線涩馆,表示對象存在的時間鲜结。如上圖對象下面的虛線蔗候。
控制焦點(Focus of control)
控制焦點表示時間段的符號迷殿,在這個時間段內(nèi)對象將執(zhí)行哪些操作咖杂,用小矩形表示诉字。
消息(Message)
消息是定義交互和協(xié)作中交換信息的類壤圃,用于對象之間的通信內(nèi)容建模效床,在對象間傳遞信息辐啄。
主要的消息類型有:同步消息(Messsage)、異步消息(Async Message)隘梨、返回消息(Reply Message)、創(chuàng)建消息(Create Message)轴猎、刪除消息(Delete Message)嵌莉、異步信號消息(Async Signal Message)、自關(guān)聯(lián)消息(Self Message):
-
同步消息(Messsage):發(fā)送一條同步消息捻脖,比如 VC 調(diào)用 AlertView 的 show() 方法:
image.png -
異步消息(Async Message):相當(dāng)于 iOS 中的異步請求锐峭,比如下載文件,發(fā)送網(wǎng)絡(luò)請求等:
image.png 返回消息(Reply Message):回調(diào)結(jié)果可婶,返回結(jié)果沿癞,iOS 中的 block 回調(diào)、return 等矛渴,UML 圖如上圖的 Response 消息
創(chuàng)建消息(Create Message)椎扬、刪除消息(Delete Message)相當(dāng)于創(chuàng)建對象和銷毀對象,這里就不多說了
-
異步信號消息(Async Signal Message):發(fā)送一個信號消息具温,類似于觀察者模式:
image.png -
自關(guān)聯(lián)消息(Self Message):自己發(fā)送消息給自己盗舰,比如一個對象的方法調(diào)用了本對象的另一個方法:
image.png
交互元素
時序圖提供更加細致的交互元素,但一般情況下用得并不多桂躏,想要了解的可以逐個查閱就可以了钻趋。
三、實踐 & StarUML 使用
StarUML 是在 MAC 下一款比較友好的UML工具剂习,它支持多平臺蛮位,收費應(yīng)用较沪,非信仰者可以自行百度破解。至于如何用 StarUML 來畫時序圖失仁,懶得貼圖了尸曼,直接提供一個 gif 將就看下:
更多內(nèi)容,請關(guān)注我的公眾號: