2012-05-10 45 views
0

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

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

回答

3

我也不同意你,用户/所有者/管理员,只是具有不同权利的同一个对象。所以你应该将你的用户与权利属性联系起来。 当然可以使用继承,但不够。用户/超级用户/管理员的含义没有什么不同,他们都是例如一个人。 您可以将用户更改为超级用户和管理员,反之亦然,这就是为什么我不会在这里使用继承。

0

鉴于用户需要模拟所有者或用户。

我想我会尝试

用户实体名称,密码类型等来管理日志一样共同的东西。

然后三个实体操作,所有者和用户具有一个用户。

有可能(可能会有)更多的东西,你可以使共同的,但我一定会去有一个,而不是一个。

即使没有冒充要求,我也会这样做,因为继承会建议所有者可以完成用户可以执行的所有操作并操作拥有者可以执行的所有操作,而这不可能是真实的。

相关问题