首页 文章

UML序列图“消息持续时间”

提问于
浏览
2

我正在绘制一个公共电话(PP)系统的序列图 . 我想要做的是: - 一条消息:呼叫者输入资金并发送一个带有被叫电话号码的呼叫请求 - 消息:PP计算呼叫的持续时间 - 消息:PP打印呼叫持续时间限制到CALLER - 消息:呼叫者和被呼叫者在计算的呼叫时间内通信 - > this message is sort of a duration message - 消息:PP检测呼叫结束时间 - 消息:用于结束通信

下面是我正在尝试做的图片:

enter image description here

我应该如何正确地重新发布消息(特别是 Message 4 以及之后的其他消息) WITHOUT a LOOP fragment 这里?因此,斜线的持续时间仍然很明显......并且消息10是关闭消息4的持续时间的消息

Edited Diagram
enter image description here

LAST altered diagram <---好的!!!

我想总结一下你们所说的话

enter image description here

2 回答

  • 1

    您无法在没有循环的情况下显示参与者的谈话 . 它不需要持续时间XX:XX发送消息4.这似乎滥用UML .

    你最好使用异步消息(带有空心箭头的消息) . 一个是通过电话开始呼叫,来电者和被叫者之间有很多来回消息,一个是结束通话 . 通过电话的来回消息可以显示为可选,并行和循环 .

    你应该真正使用的是状态机图 . 这将允许您表达此协议的所有允许痕迹,包括达到时间限制时发生的情况 . 序列图通常说明所有允许的跟踪的子集 . 如果您尝试全部显示它们,则图表可能变得难以阅读且几乎无法维护 .

  • 2

    消息4不得以角度绘制,因为这表示消息本身的持续时间 .

    同样,您可以使用片段:

    enter image description here

    alt 具有默认值和超时 . 您可以使用具有关键区域的活动图来增强此功能,该关键区域允许以更好的方式显示此类时序约束 .

    enter image description here

相关问题