2

我正在绘制公用电话 (PP) 系统的序列图。我要做的是:-一条消息:呼叫者输入钱并发送带有被叫方电话号码的呼叫请求-一条消息:PP计算通话的持续时间-一条消息:PP打印通话持续时间限制给 CALLER - 一条消息:主叫方和被叫方在计算的通话时间内进行通信 ->此消息是一种持续时间消息 - 一条消息:PP 检测呼叫结束时间 - 一条消息:用于结束通信

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

在此处输入图像描述

我应该如何正确地表示消息(尤其是消息 4和之后的其他消息)而没有 LOOP 片段?所以斜线的持续时间仍然很明显......并且消息 10 是结束消息 4 持续时间的消息

编辑图表 在此处输入图像描述

最后更改的图表 <---好的!

我认为一个总结了你们俩所说的

在此处输入图像描述

4

2 回答 2

2

消息 4 不得以一定角度绘制,因为这表明消息本身的持续时间。

同样,您可以使用片段:

在此处输入图像描述

alt一个默认值和一个超时值。您可以使用具有关键区域的活动图来扩充它,该区域允许以更好的方式显示此类时序约束。

在此处输入图像描述

于 2016-04-03T16:54:24.503 回答
1

你不能让参与者在没有循环的情况下说话。发送消息 4 不需要持续时间 XX:XX。这似乎滥用了 UML。

最好使用异步消息(带有开放箭头的消息)。一个开始通话,通过电话在主叫和被叫之间来回发送许多消息,一个结束通话。通过电话的来回消息可以显示为可选、并行和循环。

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

于 2016-04-03T17:05:14.547 回答