繁体   English   中英

是UML中的每个用例的序列图,还是我们为系统绘制它?

[英]Is the Sequence Diagram per use case in UML or we draw it for the System in general?

我和我的朋友讨论了我们的项目,我们正在绘制序列图(UML 2)。 他告诉我序列图是由用例绘制的。 这意味着对于每个用例,我们应该绘制一个序列图。 这是对的吗 ? 谢谢你的任何建议。

好吧,作为教条,它是不正确的。 序列图(SD)以交换消息的方式显示对象的行为(如果需要,还显示其生命周期和一些次要附加信息)。 您“可以”也使用序列图来描述用例中的场景。 但简单来说,SD更注重技术(类设计/程序员)而不是业务(业务设计/利益相关者)。 要想象用例场景,最好使用活动图(AD)。 如果你深入BPMN(将AD带到一个新的水平),那就更好了。

但是,有可能将AD转换为SD,反之亦然,而不会丢失信息(如果您忘记了前面提到的零碎)。

现在另一点:您不一定需要每个用例的图表。 我发现用例更容易(甚至清楚地)以文本方式(参见Cockburn或Bittner / Spence)而不是图解方式描述。 特别是如果您的UC场景在其单个操作中非常线性。 所以你可以省略那些AD,然后再回到简单的文本。 您应该进一步避免以两种方式(即文本和图表)描述UC场景,因为这会引入不必要的冗余(意味着您需要在发生更改时始终保持这两种情况;并且它们经常发生;并且人们很懒惰 - >所以哪一个持有真相:文字或图表?)。

通常,正如Thomas所指出的,用例详细信息在活动图中列出。 正如他所提到的, 用例场景将在必要时使用序列图。 用例场景是通过用例的单个路径。

序列图不擅长绘制多个同时行为和多个决策点,并且用例通常在其行为中具有这两个特征。 活动图很好地完成了这些事情。 根据定义,通过用例的单个路径不具有同时的行为和决策点,因此序列图更合适。

谷歌搜索“用例场景序列图”给出了许多链接,详细解释了用例场景的序列图的使用, 是一个例子。

UseCase是系统的行为(服务或有用行为)的声明,由系统与系统的参与者协作(交互)执行。 在UML中定义的任何类型的图可以用于描述任何抽象级别上的行为。 所有图表也可用于描述系统的业务或技术方面。 UseCase是行为声明,这意味着UseCase根本不定义行为。 UML没有定义UseCase的场景,场景通常用UML中的方法定义。 如果需要在UseCase的上下文中描述系统的行为,可以使用UML中为每个UseCase定义的一些行为图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM