假设我有一个名为“查看项目”的用例,该用例向用户显示项目列表。用户可以选择选择特定项目以查看其详细信息,然后再次返回列表。
“查看项目详细信息”是否应扩展“查看项目”或它们是独立的用例?
答案 0 :(得分:3)
基于扩展定义here:
Extend是一种定向关系,用于指定如何以及何时 行为通常在补充(可选)扩展使用中定义 案例可以插入到扩展使用中定义的行为中 的情况下强>
例如(在该参考文献中):
注册用例本身就是完整且有意义的。 可以 扩展,可选择获取注册用例帮助。
这意味着,在Registration
用例及其行为中,我们可能需要来执行Get Help On Registration
用例。
它似乎只是一个链接,但不仅仅是一个链接到Get Help On Registration
用例(我们可能需要它来执行注册)。
另一个例子(来自question):
假设我们有Answer the Question
用例和Research the Answer
用例。要执行Answer the Question
用例,我们可能还需要执行 Research the Answer
用例。 (而且这不仅是一个链接)
另一个例子:
假设我们有Enroll in University
和Perform Security Check
个用例。 要执行 Enroll in University
用例,我们可能还需要执行 Perform Security Check
用例。
在扩展:
如果行为是行为的补充,但不一定是行为的一部分,行为会扩展另一个行为。
因此:在您执行View Items
用例的示例中,我们也不需要执行View Item Details
用例。换句话说,在View Items
场景的步骤中,我们不需要执行(或可选)View Item Details
场景。它们是独立的用例。
答案 1 :(得分:2)
我只是问:它是否增值?如果是的话,那就让它成为一个独立的用例。使用<<extend>>/<<include>>
通常表示有人正在尝试进行功能分解。我认为这些关系的引入是UML中的一个不好的举动,这可能是由技术人员而不是商务人士产生的。增值不能真正细分。要么是,要么不是。
&#34;为了增加价值,这就是问题&#34;和&#34;在UML状态下会出现问题&#34;。