创建用例图...我是不是把这个复杂化了

Creating A use-Case Diagram... Am I over complicating this

场景:(类似于呼叫中心)(1) 客户请求技术人员。 (2) 请求进入队列供技术人员查看。 (2b) 客户收到有关提交数据的确认电子邮件 (3) 技术人员处理请求 (3b) 每个人都收到电子邮件 (4) 请求已完成 (5) 技术人员为已完成的请求提交数据 (6) 关闭请求。

所以左边是两个演员。不是所有东西都必须连接吗?因此,对于客户获取电子邮件和提交数据而言。 对于技术人员,他们处理交互、提交数据和接收电子邮件。

我正在阅读有关 UML 的信息:http://www.soberit.hut.fi/T-76.115/01-02/palautukset/groups/Fireball/t2/docs/UseCaseMethod.html

想知道图表右侧是否应该有一个角色代表数据库?我错过了什么吗?你怎么知道你已经完成了用例图?

Actor 不包含在系统中,它们在系统之外。通常,DB 在系统中,而不是参与者。

例如,在您的情况下,如果技术人员必须知道如何前往客户,那么次要参与者可以是 google 地图,为此他必须查看包含行程的地图。在这种情况下,在用例期间,到达google map 以获取地图。

我知道确保 UC 完成的唯一方法是审查它们 and/or 以获得客户需求列表并通过 UC 跟踪客户需求。

希望对您有所帮助。

更多: @Kilian 关于函数的评论真的很好。通常当我们开始时,我们认为用例是 "workflow to achieve a feature" 或所有用户界面菜单的集合,但事实并非如此。

所以@Waren,我可以建议:

  • 首先尝试用标题和段落定义系统的主要任务来定义系统。系统不仅是您要编写的代码,还包括将要为其部署的所有内容(机器、虚拟机、数据库、海湾、开关、过程、DDL、配置文件等)

  • 然后定义需求,系统必须满足的高层次需求(iso term shall see enter link description here

  • 然后定义 actors/stackeholder 和继承层次结构来确定所需的角色和权限。不要忘记所有运营需求(监控、backup/restore、DRS 程序、报告、部署等)

  • 然后定义您的用例思考功能或单个附加值并检查整体一致性。关于 UC 的一个好处是描述 "error/exception" 个场景。

  • 然后一个有趣的点可能是定义系统模式:安装、生产上线前测试、生产、update/patch、维护、系统停止和删除。这样,您一定会涵盖整个系统生命周期。