我和我的朋友讨论我们的项目,我们正在绘制序列图(UML 2)。 他告诉我序列图是由用例绘制的。这意味着对于每个用例,我们应该绘制一个序列图。 这是对的吗 ? 谢谢你的任何建议。
答案 0 :(得分:2)
好吧,作为教条,它是不正确的。序列图(SD)以交换消息的方式显示对象的行为(如果需要,还显示其生命周期和一些次要附加信息)。您“可以”也使用序列图来描述用例中的场景。但简单来说,SD更注重技术(类设计/程序员)而不是业务(业务设计/利益相关者)。要想象用例场景,最好使用活动图(AD)。如果你深入了解BPMN(将AD带到一个新的水平),那就更好了。
但是,有可能将AD转换为SD,反之亦然,而不会丢失信息(如果您忘记了上述的碎片)。
现在另一点:您不一定需要每个用例的图表。我发现用例更容易(甚至清楚地)以文本方式(参见Cockburn或Bittner / Spence)而不是图解方式描述。特别是如果您的UC场景在其单个操作中非常线性。所以你可以省略那些AD,然后再回到简单的文本。您应该进一步避免以两种方式(即文本和图表)描述UC方案,因为这会引入不必要的冗余(意味着您需要在发生更改时始终保持这两种情况;并且它们经常发生;而且人们很懒惰 - >所以哪一个持有事实:文字或图表?)。
答案 1 :(得分:1)
正如托马斯指出的那样,通常在活动图中列出用例详细信息。正如他还提到的那样,用例场景将在必要时使用序列图。用例场景是通过用例的单个路径。
序列图并不擅长绘制多个同时行为和多个决策点,而用例通常在其行为中具有这两个特征。活动图很好地完成了这些事情。根据定义,通过用例的单个路径不具有同时的行为和决策点,因此序列图更合适。
谷歌搜索"用例场景序列图"给出了许多链接,详细解释了用例场景的序列图的使用,其中this就是一个例子。
答案 2 :(得分:0)
UseCase是系统的行为(服务或有用行为)的声明,由系统与系统的actor协作(交互)执行。 在UML中定义的任何类型的图可以用于描述任何抽象级别上的行为。所有图表也可用于描述系统的业务或技术方面。 UseCase是行为声明,这意味着UseCase根本不定义行为。 UML没有定义UseCase的场景,场景通常用UML中的方法定义。 如果需要在UseCase的上下文中描述系统的行为,可以使用UML中为每个UseCase定义的一些行为图。