设计 - 有时一个对象是a,有时它不是

时间:2012-05-10 21:51:39

标签: uml

我意识到这个主题不是很清楚所以我会试着解释一下。 我正在尝试设计一个版本控制系统。 有三种类型的用户:简单用户,所有者和操作员。 操作员绝不是一个简单的用户/所有者,但他可以在特殊模式下运行系统,这将使他能够作为一个简单的用户或所有者来测试系统的正确性。

问题:您如何描述系统操作员与简单用户/所有者之间的关系(UML)? 我一直在思考一个简单的继承关系,但我的同事不同意......

2 个答案:

答案 0 :(得分:3)

我也不同意你,user / owner / admin只是具有不同权限的同一个对象。因此,您应该将您的用户与权限属性相关联。 当然使用继承是可能的,但还不够。用户/超级用户/管理员的意义没有什么不同,他们都是例如一个人。 您可以将用户更改为超级用户更改为管理员,反之亦然,这就是为什么我不会在这里使用继承。

答案 1 :(得分:0)

鉴于您要求用户模仿所有者或用户。

我想我会尝试

用户实体名称,密码类型等,用于管理登录等常见内容。

然后是三个拥有用户的实体操作员,所有者和用户。

可能(可能会)更多的东西你可以共同发展,但我肯定会选择Has a而不是a。

即使没有模仿要求,我也很想做到这一点,因为继承意味着所有者可以做所有用户可以做的事情并操作所有者可以做的一切,这不可能是真的。

相关问题