博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UML作业第六次:分析系统,绘制顺序图
阅读量:5238 次
发布时间:2019-06-14

本文共 3142 字,大约阅读时间需要 10 分钟。

一、PlantUML顺序图 语法学习小结、图例及用法

1.简单示例:你可以用->来绘制参与者之间传递的消息, 而不必显式地声明参与者。你也可以使用 --> 绘制一个虚线箭头。另外,你还能用 <- 和 <--,这不影响绘图,但可以提高可读性。 注意:仅适用于时序图,对于其它示意图,规则是不同的。

@startumlAlice -> DY: Authentication RequestDY --> Alice: Authentication ResponseAlice -> DY: Another authentication RequestAlice <-- DY: another authentication Response@enduml

 

2.声明参与者:关键字 participant 用于改变参与者的先后顺序。你也可以使用其它关键字来声明参与者:actor/ boundary/ control/ entity/ database

@startumlactor Dingyi1boundary Dingyi2control Dingyi3entity Dingyi4database Dingyi5collections Dingyi6Dingyi1 -> Dingyi2 : To boundaryDingyi1 -> Dingyi3 : To controlDingyi1 -> Dingyi4 : To entityDingyi1 -> Dingyi5 : To databaseDingyi1 -> Dingyi6 : To collections@enduml

 

3.在参与者中使用非字母符号:你可以使用引号定义参与者,还可以用关键字 as 给参与者定义别名。

@startumlAlice -> "DY()" : Hello"DY()" -> "This is very\nlong" as Long' You can also declare:' "DY()" -> Long as "This is very\nlong"Long --> "DY()" : ok@enduml

 

4.修改箭头样式:修改箭头样式的方式有以下几种:

  • 表示一条丢失的消息:末尾加 x
  • 让箭头只有上半部分或者下半部分:将<和>替换成\或者 /
  • 细箭头:将箭头标记写两次 (如 >> 或 //)
  • 虚线箭头:用 -- 替代 -
  • 箭头末尾加圈:->o
  • 双向箭头:<->
@startumlDY ->x AliceDY -> AliceDY ->> AliceDY -\ AliceDY \\- AliceDY //-- AliceDY ->o AliceDY o\\-- AliceDY <-> AliceDY <->o Alice@enduml

 

5.对消息序列编号:关键字 autonumber 用于自动对消息编号。语句 autonumber start 用于指定编号的初始值,而 autonumber startincrement 可以同时指定编号的初始值和每次增加的值。

@startumlautonumberDY -> Alice : Authentication RequestDY <- Alice : Authentication Responseautonumber 15DY -> Alice : Another authentication RequestDY <- Alice : Another authentication Responseautonumber 40 10DY -> Alice : Yet another authentication RequestDY <- Alice : Yet another authentication Response@enduml

 

6.组合消息:我们可以通过以下关键词将组合消息:

  • alt/else
  • opt
  • loop
  • par
  • break
  • critical
  • group

后面紧跟着消息内容可以在标头(header)添加需要显示的文字(group除外)。关键词 end 用来结束分组。注意,分组可以嵌套使用。

@startumlAlice -> DY: Authentication Requestalt successful case	DY -> Alice: Authentication Accepted	else some kind of failure	DY -> Alice: Authentication Failure	group My own label		Alice -> Log : Log attack start	    loop 1000 times	        Alice -> DY: DNS Attack	    end		Alice -> Log : Log attack end	end	else Another type of failure   DY -> Alice: Please repeat   end@enduml

 

7.给消息添加注释:我们可以通过在消息后面添加 note left 或者 note right 关键词来给消息添加注释。你也可以通过使用 end note 来添加多行注释。

@startumlAlice->DY : hellonote left: this is a first noteDY->Alice : oknote right: this is another noteDY->DY : I am thinkingnote left	a note	can also be defined	on several linesend note@enduml

 

 

二、语言描述《工厂采购》系统对象交互顺序

  采购员选择采购货品,到订货界面,接收客户信息,接收货品信息,显示货品信息,到订货管理器,创建客户,取货品信息,创建订单,创建客户到客户区,取货品信息到货品区,创建订单到订单区。

 

三、用PlantUML的绘制《工厂采购》系统的对象交互的脚本程序、绘制的顺序图

@startumlskinparam sequenceArrowThickness 2skinparam roundcorner 20skinparam maxmessagesize 60skinparam sequenceParticipant underlineactor 采购员participant "订货界面" as Aparticipant "订货管理器" as Bparticipant "客户" as Cparticipant "货品" as Dparticipant "订单" as E采购员 -> A: 客户信息()activate A采购员 -> A: 选择订货货品()activate AA -> B:接收客户信息()activate BA -> B:接收货品信息()activate BB --> A: 显示货品信息()deactivate BB -> C: 创建客户()<
>activate CB -> D: 取货品信息()activate DD --> B: 货品信息()activate DB -> E: 创建订单()<
>activate E@enduml

 

 

转载于:https://www.cnblogs.com/dingyitrigger/p/10838633.html

你可能感兴趣的文章
[差分约束]糖果
查看>>
镜像队列
查看>>
javascript入门篇(四)
查看>>
mongodb设计模式策略之读书笔记
查看>>
编码原则:短小的函数
查看>>
第二十六篇:关系运算符和逻辑运算&&、||、!、位域(Bit Field)等
查看>>
双向多对多
查看>>
微信开发:微信js_sdk分享,使用场景,网页在微信app内部分享时的标题与描述,包括logo设置(一)...
查看>>
_cdecl与_stdcall区别
查看>>
ng2-admin安装问题
查看>>
python + slenium自动化测试设置元素等待
查看>>
hive 学习笔记精简
查看>>
Problem C: 调用函数,求a+aa+aaa+....+aa...aa(n个a)
查看>>
grunt + sass 使用记录
查看>>
java笔记--用ThreadLocal管理线程,Callable<V>接口实现有返回值的线程
查看>>
WY c语言入门(3)
查看>>
react-native--->RN发送/接收事件机制
查看>>
CAS的ABA问题详解
查看>>
Java Web基础
查看>>
ip地址的正则表达式
查看>>