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