我有一个简单的Instant Messenger用例图,这是它的一部分
答案 0 :(得分:0)
关于include和extend之间究竟有什么区别,有很多讨论和很多不同的意见。 关于这个主题的最好的文章之一就是这一篇:Excavating the extension use case
在拥有大量分析师的团队中,通常建议采取务实的方法并仅使用包含。这避免了很多混乱和讨论。我还在等待单独包含无法解决的案例。
答案 1 :(得分:0)
包含和扩展都可以用来表达相同的东西,但语义有些不同,因为你使用的EA有一个简单的选择方法:扩展点。
用例扩展点与源代码中的模板参数非常相似:它表示在更通用的实体中,您事先已决定使其以某种方式可扩展。包含关系没有等效的语义。
如果用例具有扩展点,EA允许您选择扩展用例扩展的点。如果您发现自己难以定义扩展点或在它们之间进行选择,那么使用包含关系可能更好。如果你根本没有定义任何扩展点,我认为没有理由首先使用extend。
因此,在您的示例中,“发送消息”和“接收消息”都应包含“显示聊天窗口”。不过,你已经错误地绘制了连接器。