0

我有一个 Instant Messenger 的简单用例图,这是其中的一部分 在此处输入图像描述

  1. 如果用户想发送消息,会显示聊天窗口,是“包含”还是“扩展”?
  2. 如果用户接收消息,聊天将在用户阅读消息之前显示,那么它是“包含”吗?
4

2 回答 2

0

Include 和 extend 都可以用来表达相同的东西,但语义有些不同,因为您使用的是 EA,所以有一种简单的选择方法:扩展点。

用例扩展点与源代码中的模板参数非常相似:它表明在更通用的实体中,您事先已决定以某种方式使其可扩展。包含关系没有等效的语义。

如果用例具有扩展点,EA 允许您选择扩展用例扩展的点。如果您发现自己难以定义扩展点或在它们之间进行选择,那么使用包含关系可能是一个更好的主意。如果您根本没有定义任何扩展点,我认为没有理由首先使用扩展。

因此,在您的示例中,“发送消息”和“接收消息”都应包含“显示聊天窗口”。但是,您以错误的方式绘制了连接器。

于 2015-01-09T11:35:02.483 回答
0

关于包含和扩展之间的确切区别,有很多讨论,并且有很多不同的意见。关于这个主题的最好的文章之一是:挖掘扩展用例

在一个有很多分析师的团队中,通常建议采取务实的方法并只使用包括。这避免了很多混乱和讨论。我仍在等待单独包含无法解决的案例。

于 2015-01-07T11:38:11.890 回答