【发布时间】:2018-05-04 11:53:17
【问题描述】:
让我们以登录和添加项目为例,作为项目管理系统的两个用例。 客户的要求是:(他需要/想要:)
- 获得对系统资源的合法访问权;
- 添加项目(创建一个)。
我们也知道未经身份验证的用户不应使用该系统!
我的问题是:
1) “获得访问权限”是一个用例吗?其他用例的先决条件 ?或两者 ? (知道通过命名用例“Gain Access”而不是“Logging in”,我想强调需要而不是解决方案满足这种需求。
2) 如果“Gain Access”是一个用例,那么“Add Item”用例是否包括“获得访问权限”用例?
用例依赖关系:
顺序依赖
用例前置条件反映用例之间的顺序依赖关系。
带有前置条件 C 的用例 B 只能在 用例 A 产生 C 作为后置条件之后启动。 在用例 A 之后执行用例 B;它们的连接是异步的。
函数依赖
相比之下,包含关系反映了用例之间的功能依赖关系。
当用例 A 与用例 B 具有包含关系时,这意味着用例 B 的功能是用例 A 整体功能的一部分。 用例 B 作为用例 A 的部分执行;它们的连接是同步的。
https://www.batimes.com/articles/use-case-preconditions-a-best-kept-secret.html
【问题讨论】:
-
Login不是用例,而是一个约束。阅读比特纳/斯宾塞。 -
是的,登录不是一个用例,但是“获得合法访问权限”呢?我猜这是一个要求
-
这是一个要求。这会导致对用例的限制。
-
好的,但是如果它是一个约束而不是一个用例,如何对扩展“获得访问”的需求进行建模。例如“重置密码”(如果他们希望在登录后重置密码,则需要重置密码)
标签: dependencies include uml software-design use-case