您好,欢迎访问三七文档
使用PlantUML绘制的UML语言参考指引(2015年12月17日星期四下午3:56)PlantUML是一个开源项目,并支持快速绘制:•时序图•用例图•类图•活动图•组件图•状态图•对象图以简单并带指引性语言定义各种视图。1时序图1时序图1.1简单示例你可以使用-来绘制参与者之间的消息传递,而不必显式的声明参与者。你也可以使用”--”绘制一个虚线箭头表示异步消息。另外,你也可以使用”-”和”--”.这虽然不影响图形绘制,但可以增加可读性。注意:仅适用于时序图,其它图形的规则是不同的。@startumlAlice-Bob:AuthenticationRequestBob--Alice:AuthenticationResponseAlice-Bob:AnotherauthenticationRequestAlice--Bob:anotherauthenticationResponse@enduml1.2注释所有以单引号开头的行'都是注释你也可以使用多行注释,多行注释以/'开头'/结尾。1.3声明参与者可以使用participant关键字来改变参与者的先后顺序。你也可以使用其它关键字来声明参与者:•actor•boundary•control•entity•database@startumlactorFoo1boundaryFoo2controlFoo3entityFoo4databaseFoo5Foo1-Foo2:ToboundaryFoo1-Foo3:TocontrolFoo1-Foo4:ToentityFoo1-Foo5:Todatabase@endumlPlantUML:语言参考指引(2015年12月17日星期四)1of??1.4在参与者中使用非字符1时序图使用as关键字重命名参与者你可以使用RGB值或者颜色名修改actor或参与者的背景色。@startumlactorBob#red'Theonlydifferencebetweenactor'andparticipantisthedrawingparticipantAliceparticipantIhaveareally\nlongnameasL#99FF99/'Youcanalsodeclare:participantLasIhaveareally\nlongname#99FF99'/Alice-Bob:AuthenticationRequestBob-Alice:AuthenticationResponseBob-L:Logtransaction@enduml1.4在参与者中使用非字符你可以使用引号定义参与者。还可以用as关键字给参与者定义别名。@startumlAlice-Bob():HelloBob()-Thisisvery\nlongasLong'Youcanalsodeclare:'Bob()-LongasThisisvery\nlongLong--Bob():ok@endumlPlantUML:语言参考指引(2015年12月17日星期四)2of??1.5消息发给自己1时序图1.5消息发给自己参与者可以发消息给自己,消息文字可以使用\n来换行。@startumlAlice-Alice:Thisisasignaltoself.\nItalsodemonstrates\nmultiline\ntext@enduml1.6更改箭头的样式修改箭头样式的方式有以下几种:•末尾加x表示一条丢失的消息•使用\或/替代或来表示haveonlythebottomortoppartofthearrow•使用两个箭头标记(如或//)表示空心箭头。•使用--替代-以表示虚线箭头。•在箭头末尾加“o”•双向箭头。@startumlBob-xAliceBob-AliceBob-AliceBob-\AliceBob\\-AliceBob//--AliceBob-oAliceBobo\\--AliceBob-AliceBob-oAlice@endumlPlantUML:语言参考指引(2015年12月17日星期四)3of??1.7修改箭头颜色1时序图1.7修改箭头颜色你可以用以下语法修改箭头标记的颜色:@startumlBob-[#red]Alice:helloAlice-[#0000FF]-Bob:ok@enduml1.8消息编号autonumber关键字用于自动的给消息加上编号。@startumlautonumberBob-Alice:AuthenticationRequestBob-Alice:AuthenticationResponse@enduml你还可以用autonumber'start'的语法指定编号的初始值,而用autonumber'start''increment'可以同时指定编号的初始值和每次增加的值。@startumlautonumberBob-Alice:AuthenticationRequestBob-Alice:AuthenticationResponseautonumber15Bob-Alice:AnotherauthenticationRequestBob-Alice:AnotherauthenticationResponseautonumber4010Bob-Alice:YetanotherauthenticationRequestPlantUML:语言参考指引(2015年12月17日星期四)4of??1.8消息编号1时序图Bob-Alice:YetanotherauthenticationResponse@enduml你可以在双引号内指定编号的格式。格式是由Java的DecimalFormat类实现的(’0’表示数字,’#’表示数字且默认为0)。你还可以使用HTML标签来制定格式。@startumlautonumberb[000]Bob-Alice:AuthenticationRequestBob-Alice:AuthenticationResponseautonumber15b(u##/u)Bob-Alice:AnotherauthenticationRequestBob-Alice:AnotherauthenticationResponseautonumber4010fontcolor=redbMessage0Bob-Alice:YetanotherauthenticationRequestBob-Alice:YetanotherauthenticationResponse@enduml可以使用autonumberstop和autonumberresume'increment''format'来象征暂停或继续使用自动编号。@startumlautonumber1010b[000]Bob-Alice:AuthenticationRequestBob-Alice:AuthenticationResponseautonumberstopBob-Alice:dummyPlantUML:语言参考指引(2015年12月17日星期四)5of??1.9标题(Title)1时序图autonumberresumefontcolor=redbMessage0Bob-Alice:YetanotherauthenticationRequestBob-Alice:YetanotherauthenticationResponseautonumberstopBob-Alice:dummyautonumberresume1fontcolor=bluebMessage0Bob-Alice:YetanotherauthenticationRequestBob-Alice:YetanotherauthenticationResponse@enduml1.9标题(Title)title关键字用于设置一个标题.@startumltitleSimplecommunicationexampleAlice-Bob:AuthenticationRequestBob--Alice:AuthenticationResponse@enduml1.10给图表(diagram)添加备注关键字legend和endlegend用于添加备注。可选项left,right和center可用于设置标注的对齐方式。@startumlAlice-Bob:HellolegendrightShortlegendendlegend@endumlPlantUML:语言参考指引(2015年12月17日星期四)6of??1.11分割图表(diagram)1时序图1.11分割图表(diagram)关键字newpage用于把一个图表分割到多个图片中。还可以在关键字newpage之后添加文字作为新图标的标题。这便于在Word中打印多页的长图。@startumlAlice-Bob:message1Alice-Bob:message2newpageAlice-Bob:message3Alice-Bob:message4newpageAtitleforthe\nlastpageAlice-Bob:message5Alice-Bob:message6@enduml1.12组合消息我们可以通过以下关键词将组合消息:•alt/elsePlantUML:语言参考指引(2015年12月17日星期四)7of??1.13给消息添加注释1时序图•opt•loop•par•break•critical•group,后面紧跟着消息内容可以在标头(header)添加需要显示的文字(group除外)。关键词end用来结束分组。注意,分组可以嵌套使用。@startumlAlice-Bob:AuthenticationRequestaltsuccessfulcaseBob-Alice:AuthenticationAcceptedelsesomekindoffailureBob-Alice:AuthenticationFailuregroupMyownlabelAlice-Log:Logattackstartloop1000timesAlice-Bob:DNSAttackendAlice-Log:LogattackendendelseAnothertypeoffailureBob-Alice:Pleaserepeatend@enduml1.13给消息添加注释我们可以通过在消息后面添加noteleft或者noteright关键词来给消息添加注释。你也可以通过使用endnote来添加多行注释。@startumlAlice-Bob:hellonoteleft:thisisafirstnoteBob-Alice:oknoteright:thisisanothernoteBob-Bob:IamthinkingnoteleftPlantUML:语言参考指引(2015年12月17日星期四)8of??1.14其他的注释1时序图anotecanalsobedefinedonseverallinesendnote@enduml1.14其他的注释可以使用noteleftof,noterightof或noteover在节点(participant)的相对位置放置注释。还可以通过修改背景色来高亮显示注释。以及使用关键字endnote来添加多行注释。@startumlparticipantAliceparticipantBobnoteleftofAlice#aquaThisisdisplayedleftofAlice.endnotenoterightofAlice:ThisisdisplayedrightofAlice.noteoverAlice:ThisisdisplayedoverAlice.no
本文标题:PlantUML
链接地址:https://www.777doc.com/doc-4337876 .html