用例图中的CRUD?

时间:2011-10-14 19:07:27

标签: architecture uml crud

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

一些想法:

1个用例图

usecase1

  • 如果有几个CRUD对象,那不是很干。

2用例图

usecase2

  • 如果有几个CRUD对象,那不是很干。

3用例图

usecase3

  • 我更喜欢这个。

更新

4用例图(@Uffe)

enter image description here

  • 在文档中描述时,注意也许是不必要的?

5用例图(@home @Uffe)

enter image description here

4 个答案:

答案 0 :(得分:15)

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

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

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

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

答案 1 :(得分:8)

根据书&#34;应用UML和模式-Craig Larman&#34;,我们可以使用&#34;管理用户&#34;用例名称显示用例中的CRUD操作。 No 4是不错的选择,在这种情况下,我们应该在场景中描述CRUD操作。在主要事件流中创建用户,在其他事件流中创建其他用户。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

我将在讨论中加入另一个选项,我将使用这个选项,让我们考虑6号替代方案。 将这4个操作放在一个称为“ CRUD用户”的系统边界内,这也有帮助,因为并非所有用户始终都可以访问所有Crud操作。