先說一下時序圖相關(guān)的基本概念:
時序圖(Sequence Diagram),亦稱為序列圖或循序圖吏奸,是一種UML行為圖苦丁。它通過描述對象之間發(fā)送消息的時間順序顯示多個對象之間的動態(tài)協(xié)作。它可以表示用例的行為順序棵磷,當(dāng)執(zhí)行一個用例行為時仪媒,時序圖中的每條消息對應(yīng)了一個類操作或狀態(tài)機(jī)中引起轉(zhuǎn)換的觸發(fā)事件谢鹊。
時序圖中包括如下元素:角色算吩,對象偎巢,生命線压昼,激活期和消息瘤运。
1拯坟、角色(Actor)
系統(tǒng)角色郁季,可以是人或者其他系統(tǒng),子系統(tǒng)秃诵。
2菠净、對象(Object)
對象代表時序圖中的對象在交互中所扮演的角色毅往,位于時序圖頂部和對象代表派近。
對象一般包含以下三種命名方式:
- 第一種方式包含對象名和類名。
- 第二種方式只顯示類名不顯示對象名侯嘀,即為一個匿名對象戒幔。
- 第三種方式只顯示對象名不顯示類名。
3工坊、生命線(Lifeline)
生命線代表時序圖中的對象在一段時期內(nèi)的存在王污。時序圖中每個對象和底部中心都有一條垂直的虛線昭齐,這就是對象的生命線矾柜,對象間 的消息存在于兩條虛線間把沼。
4饮睬、激活期(Activation)
激活期代表時序圖中的對象執(zhí)行一項操作的時期捆愁,在時序圖中每條生命線上的窄的矩形代表活動期昼丑。它可以被理解成C語言語義中一對花括號“{}”中的內(nèi)容菩帝。
5茬腿、消息(Message)
消息是定義交互和協(xié)作中交換信息的類切平,用于對實體間的通信內(nèi)容建模悴品,信息用于在實體間傳遞信息简烘。允許實體請求其他的服務(wù)孤澎,類角色通過發(fā)送和接受信息進(jìn)行通信亥至。
然后說下畫時序圖的工具:
1. PowerDesigner:
http://www.sybase.com/products/modelingdevelopment/powerdesigner
2.StartUML:http://staruml.io/
3. Microsoft Visio http://www.ddooo.com/softdown/74207.htm
4.edraw https://www.edrawsoft.com/
5. [ProcessOn - 免費(fèi)在線作圖贱迟,實時協(xié)作] (https://link.zhihu.com/?target=https%3A//www.processon.com/):
當(dāng)然推薦使用StartUML了衣吠。以下是簡單的操作方法缚俏。
-
接著言疗,單擊myuml颂砸,右鍵——Add Diagram——Sequence Diagram人乓,這里可以取個名字mysd撒蟀。如果要改名字可以改Properties中的name屬性保屯。
接下來添加一個執(zhí)行者,myuml右鍵——Add——Actor蝠猬,更名為person
-
接下來添加一個Object榆芦,mydb右鍵——Add——Object匆绣,更名為action
-
再將person崎淳、和action拖到空白處拣凹,用Sequence里的工具線連起來恨豁。一個簡單的時序圖就OK了橘蜜。復(fù)雜的舉一反三吧。
然后用它簡要畫了幾個簡單的圖:
1.基本用例圖:
2.場景一:基本時序圖:
3.場景二:簡要的另一份時序圖:
4.場景3:另外一種場景簡要描述
這里主要說一下關(guān)于豎線的問題棒搜,很多人不知道這個豎線怎么來的。其實在用例圖上面育韩,右鍵克蚂,選擇 Add Diagram --> Sequence Diagram ,然后在新的標(biāo)簽下筋讨,建立相應(yīng)的 Object 之類的埃叭,就可以了
也就是你要注意下面這兩副圖片的區(qū)別:
在用例圖模式下,和序列分布模式左側(cè)的是不同的悉罕。
當(dāng)然赤屋,如果你想了解更多的關(guān)于 StarUML 應(yīng)用的東西立镶,可以參考:http://wenku.baidu.com/view/196c5a4c69eae009581bec69.html
另外俭厚,這位大神在6年前寫的文章更為實用: http://www.cnblogs.com/daizhj/archive/2008/04/14/1153121.html
還有這份文檔椭坚,步驟寫得比較詳細(xì):http://wenku.baidu.com/view/2a67901efc4ffe473368ab08.html