我只是想确定我是否正在使用extend并正确包含。如果我在这里使用不正确的地方,请指出在哪里,如果可能,为什么不正确。
https://imageshack.com/scaled/large/163/nlnk.jpg
干杯。
答案 0 :(得分:1)
使用<<include>>
和<<extend>>
的规则很简单:
<<include>>
定义了一般用例中包含始终的子用例:-include-->
子用例。通常它用于表示用例或公共部分的不同部分,可以被其他用例重用。
<<extend>>
定义了一个可选子用例,可以在某些条件下执行(应该在较低级别的设计中定义,而不是在用例图中) 。这里关系的方向与<<include>>
关系相反:用例 <--extend-
子用例。
将这些规则应用于您的图表,并确定它是否正确。
答案 1 :(得分:0)
在您与<<include>>
链接的其他活动之前,似乎需要执行“安全登录”。 Include意味着用例每次都运行包含的用例,在这种情况下可能不是你想要的(每个会话只登录一次)。您始终可以创建新的构造型,例如<<precedes>> or <<requires>>
。持续使用它们可以让您传达您的意思。
答案 2 :(得分:0)
在我尝试区分使用扩展和用例图中的意图之间的区别之前,我发现了这条建议。我希望它也可以帮到你。最初的建议来自this StackOverflow answer。
扩展和包含
之间的区别 当用例有条件地将步骤添加到另一个用例时,使用Extend 一流的用例。例如,想象“Withdraw Cash”是一种用途 ATM机的情况。 “评估费”将延长提取现金和 描述在实例化时的条件“扩展点” ATM用户不在ATM的所有者机构银行。请注意 基本的“提取现金”用例独立,没有 扩展
Include用于提取重复的用例片段 多个用例。包含的用例不能单独和 没有附带的原始用例是不完整的。这个 只有在重复的情况下才应谨慎使用 重要的和存在的设计(而不是巧合)。对于 例如,在每个ATM开始时发生的事件流 用例(当用户放入他们的ATM卡,输入他们的PIN,和 显示主菜单)是一个很好的候选人。
此外,从我读过的每本书中,始终建议使用包含和谨慎扩展。保持简单愚蠢。
答案 3 :(得分:0)
这里的许多关系显然都不正确。但是,我认为这个图的主要问题不是正确使用包含和扩展,而是复杂和整体不明确的关系。虽然在课程上有效,但您应该避免使用这些关系中的多个级别。
你的图表很难理解和解释。
一些重构想法和更正: