?一、學(xué)習(xí)小結(jié)1.示例:用 @startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response Alice -> Bob: Another authentication Request Alice <-- Bob: another authentication Response @enduml
? 2.聲明參與者:關(guān)鍵字?
@startuml actor Foo1 boundary Foo2 control Foo3 entity Foo4 database Foo5 collections Foo6 Foo1 -> Foo2 : To boundary Foo1 -> Foo3 : To control Foo1 -> Foo4 : To entity Foo1 -> Foo5 : To database Foo1 -> Foo6 : To collections @enduml
? 關(guān)鍵字? @startuml actor Bob #red ' The only difference between actor 'and participant is the drawing participant Alice participant "I have a really\nlong name" as L #99FF99 /' You can also declare: participant L as "I have a really\nlong name" #99FF99 '/ Alice->Bob: Authentication Request Bob->Alice: Authentication Response Bob->L: Log transaction @enduml
可以使用關(guān)鍵字?order自定義順序來打印參與者。
@startuml participant Last order 30 participant Middle order 20 participant First order 10 @enduml
3.在參與者中使用非字母符號:可以使用引號定義參與者,還可以用關(guān)鍵字?as?給參與者定義別名。
@startuml Alice -> "Bob()" : Hello "Bob()" -> "This is very\nlong" as Long ' You can also declare: ' "Bob()" -> Long as "This is very\nlong" Long --> "Bob()" : ok @enduml
? 4.給自己發(fā)消息:參與者可以給自己發(fā)信息,消息文字可以用\n來換行。 @startuml
5.修改箭頭的樣式: 修改箭頭樣式的方式有以下幾種:
@startuml Bob ->x Alice Bob -> Alice Bob ->> Alice Bob -\ Alice Bob \\- Alice Bob //-- Alice Bob ->o Alice Bob o\\-- Alice Bob <-> Alice Bob <->o Alice @enduml
箭頭的顏色: @startuml Bob -[#red]> Alice : hello Alice -[#0000FF]->Bob : ok @enduml
6.對消息序列編號:關(guān)鍵字 autonumber 用于自動對消息編號。
@startuml
語句? 可以在雙引號內(nèi)指定編號的格式,格式是由 Java 的 7.分割示意圖:關(guān)鍵字? 這樣就能很方便地在?Word?中將長圖分幾頁打印。 @startuml Alice -> Bob : message 1 Alice -> Bob : message 2 newpage Alice -> Bob : message 3 Alice -> Bob : message 4 newpage A title for the\nlast page Alice -> Bob : message 5 Alice -> Bob : message 6 @enduml
8.組合消息:可以通過以下關(guān)鍵詞將組合消息:
?可以在標(biāo)頭(header)添加需要顯示的文字( ? @startuml Alice -> Bob: Authentication Request alt successful case Bob -> Alice: Authentication Accepted else some kind of failure Bob -> Alice: Authentication Failure group My own label Alice -> Log : Log attack start loop 1000 times Alice -> Bob: DNS Attack end Alice -> Log : Log attack end end else Another type of failure Bob -> Alice: Please repeat end @enduml
? 9.分隔符:可以通過使用? 引用:可以在圖中通過使用 延遲:使用 空間:可以使用 10.生命線的激活與撤銷:關(guān)鍵字 一旦參與者被激活,它的生命線就會顯示出來。
@startuml participant User User -> A: DoWork activate A A -> B: << createRequest >> activate B B -> C: DoWork activate C C --> B: WorkDone destroy C B --> A: RequestCreated deactivate B A -> User: Done deactivate A @enduml
還可以使用嵌套的生命線,并且運(yùn)行給生命線添加顏色。 ? @startuml participant User User -> A: DoWork activate A #FFBBBB A -> A: Internal call activate A #DarkSalmon A -> B: << createRequest >> activate B B --> A: RequestCreated deactivate B deactivate A A -> User: Done deactivate A @enduml
? 11.創(chuàng)建參與者:可以把關(guān)鍵字 @startuml Bob -> Alice : hello create Other Alice -> Other : new create control String Alice -> String note right : You can also put notes! Alice --> Bob : ok @enduml
12.外觀參數(shù): 用 可以在如下場景中使用: 你也可以修改其他渲染元素,如以下示例: @startuml skinparam sequenceArrowThickness 2 skinparam roundcorner 20 skinparam maxmessagesize 60 skinparam sequenceParticipant underline actor User participant "First Class" as A participant "Second Class" as B participant "Last Class" as C User -> A: DoWork activate A A -> B: Create Request activate B B -> C: DoWork activate C C --> B: WorkDone destroy C B --> A: Request Created deactivate B A --> User: Done deactivate A @enduml
二、例題鞏固1.以《工廠采購》系統(tǒng)為例,分析系統(tǒng)中的對象、消息及對象的交互。 對象:采購員、訂貨界面、訂貨管理器、客戶、貨品、訂單 消息:指是實體間的連線。 對象的交互:采購員選擇所需采購貨品;到達(dá)訂貨界面,接收客戶信息,接收貨品信息,顯示貨品信息;到達(dá)訂貨管理器,建客戶取貨品信息,創(chuàng)建訂單;創(chuàng)建客戶到達(dá)客戶區(qū),客戶取貨品信息到達(dá)貨品區(qū);創(chuàng)建訂單到訂單區(qū)。 2.腳本和順序圖: @startuml skinparam roundcorner 20 skinparam maxmessagesize 60 actor 采購員 participant "訂貨管理器" as B participant "客戶" as C participant "貨品" as D participant "訂單" as E 采購員 --> A: 客戶信息() activate A #FFBBBB 采購員 --> A: 選擇訂貨貨品() activate A A -> B:接收客戶信息() activate B #FFBBBB A -> B:接收貨品信息() activate B B --> A: 顯示貨品信息() deactivate B B -> C: 創(chuàng)建客戶()<<create>> activate C #FFBBBB B -> D: 取貨品信息() activate D deactivate B B -> E: 創(chuàng)建訂單()<<create>> activate E
? ? ? 來源:http://www./content-4-182051.html |
|
|