繁体   English   中英

用例图中的 CRUD?

[英]CRUD in a use-case diagram?

我的问题很简单。 CRUD带入用例图中的最佳方法是什么? 它应该是DRY 我知道,UML 有时是自由裁量的,但你怎么看?

一些想法:

1 用例图

用例 1

  • 如果有几个 CRUD 对象,那就不是 DRY。

2 用例图

用例2

  • 如果有几个 CRUD 对象,那就不是 DRY。

3 用例图

用例3

  • 我更喜欢这个。

更新

4 用例图 (@Uffe)

在此处输入图片说明

  • 注意可能不需要,当它在文档中描述时?

5 用例图 (@home @Uffe)

在此处输入图片说明

其中,我会说 #3 实际上是最糟糕的,因为“CRUD”本身根本不是用例; 你总是 CRUD 的东西 不要将用例<<extend>>与类继承混淆。

选项#2 也不是很好,因为运行“管理用户”用例并不意味着您执行所有四个 CRUD 操作。

如果你真的想在你的用例中如此明确,#1 有我的钱。 但如果是我,我只会在那里放一个“管理用户”用例。

由于用户(或其他东西)管理是一个很好理解的概念,“管理用户”用例实际上是不言自明的,除非有特定的原因,否则不需要详细说明几个用例(例如,如果您正在分析其要求的系统是一种身份验证机制)。 如果是这种情况,请使用 #1。

根据“Applying UML and Patterns-Craig Larman”一书,我们可以使用“Manage User”作为用例名称来显示用例中的CRUD操作。 No 4 是不错的选择,在这种情况下,我们应该在场景中描述 CRUD 操作。 在主事件流中创建用户,在事件替代流中创建其他用户。

只要公司对 CRUD 的确切含义有隐含或明确的理解(即每个人都应该同意它只是意味着输入所有数据的基本形式,如果一个类需要更复杂的输入过程,那么它应该被建模为一个单独的用例)。

我会在讨论中提出另一个选项,我可能会使用这个选项,让我们考虑第 6 个选项。 将 4 个操作放在称为“CRUD 用户”的系统边界内,这也有帮助,因为并非所有用户都可以访问所有 crud 操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM