2016-01-22 94 views
0

我使用Visual Paradigm CE在UML中建模一个用例,但是我对我的模型有一些怀疑。看看下面的图片:一些帮助图用Visual Paradigm的用例

enter image description here

这是我想用这个模型来表示规则:

  • 有3种用户类型:超级管理员,管理员和执行
  • 有一项功能称为:Admin用户
  • 管理员用户分为4个基本操作:创建,读取,更新和删除
  • Superadmin有一个LL电源(可以做任何事情),而管理员只有几个权限(在这种情况下创建用户)
  • 长官只能执行系统内的几个动作:创建用户和删除用户

以此为一个出发点,该图是否正确?怎么办?我必须说,这是一个示例用例,以获得表示图元素之间关系的正确方法。

更新:由基于答案@托马斯 - 克里安我做了这两个图表:

including CRUD in Admin User UC extends CRUD from Admin User UC

+0

在大多数情况下,您可以将所有CRUD场景合并到一个用例中,例如“管理用户”。我不会在用例级别对这些低级安全性要求建模。 –

+0

@GeertBellekens是的,但是之后我可能会遇到描述UC的麻烦,因为它应该有几个动作,而且我不清楚如何实现此描述。 – ReynierPM

+0

使用用例场景来描述不同情况。 –

回答

1

你真的需要用例“Admin User”吗?也许下面的图表将满足您的需求:

enter image description here

如果你真的有“Admin用户的行为,不包含在其他用途​​的情况下,那么你就可以继续使用,但是我会用一致的命名约定,例如动词+名词,因此将“管理员用户”重命名为“管理用户”。

图1是可能的。在这种情况下,SuperAdmin可以直接(从Admin继承)和Admin User直接访问“创建用户”功能。显然,管理员用户有多个备选流程。创建用户包含在一个替代流程中,在另一个流程中更新用户等。这很好。

图2也是可能的。在这种情况下,SuperAdmin只能通过管理员用户访问“创建用户”功能。

图3是可能的,但棘手。演员'管理员'和'执行'与所谓的“扩展用例”创建用户和删除用户相关联。扩展用例通常只定义一个用例案例片段,该用例片段将被插入扩展用例(Admin User)中的特定点。但是由于Actor和Executive直接执行用例Create User和Delete User,所以这些用例必须描述完整的事件流。如果您设法定义扩展用例的事件流,以便它们适用于直接执行和用于在用例Admin User中的扩展点处插入,那就没有问题。

+0

Thx围绕命名约定的提示我使用这些作为示例(不会在真实图上使用)。看到我遇到的主要问题是因为我在Web应用程序中工作。应用程序将有两个主要区域:'前端'和'后端'。此时它将有五个主要角色:'ROLE_SUPER_ADMIN','ROLE_ADMIN','ROLE_EXECUTIVE'和另外两个角色。这些角色可以访问后端,但不能访问所有区域,所以我需要在图表中绘制这些角色,以便与团队的其他成员讨论。那么,你将如何建模? – ReynierPM

+0

我在答案中添加了一个图表,说明如何对它进行建模。 –

+0

太好了,我喜欢你的方法,现在我将使用它关于我使用Visual Paradigm 13.0 CE的图工具,我需要很多UC,有什么办法可以将UC的功能分开?例如,一个主要的图表说“管理用户”,然后点击进入这个案例的扩大视图,包含一个像你这样的图表?任何想法在这一个?看看[这个](http://content.screencast.com/users/ReynierPM/folders/Snagit/media/7314fea9-19ee-42e4-9b57-dd81792a2aed/01.26.2016-00.16。png),那么你会知道我在说什么。 – ReynierPM

0

这主要取决于你问的人。因此,这里有我的5美分:

  • 避免包括/扩展,因为它们是功能分解的迹象(如果有的话:延长你的图中绕错路)
  • CRUD UCS总是边缘。在这种情况下,我不会尝试引入Admin User,因为它在CRUD部分似乎不是有效的UC。
  • 当您连接演员时,超级管理员可以执行任何操作,但管理员只能创建。这似乎不合逻辑。如果你有一个广义的演员,这继承了一般的UCs的所有访问。意思是:你不需要重复与UC的连接(除非你添加一些限制)。
+0

好的,看一下我在OP上编辑的内容,并根据正确的表示形式进行编辑?或者再给我另外5美分:p lol – ReynierPM

+1

好吧,你扭转了延伸,但你没有注意我说的话。包含变体是完全废话:-p。意味着管理员用户将涉及所有的CRUD步骤。 –

+0

我认为UML规范留下了解释的空间,一个包含的用例可能包含在另一个流程中,因此不会在每个场景中执行。 –