UML类图:类继承和类之间的关系

时间:2018-12-26 17:49:03

标签: uml class-diagram

我以前从未制作过类图,所以这就是我试图提出的原因。我总是从错误中学习。我已经阅读了一些参考书,但是我很困惑如何测试我的结果?因为这不是一个编码,如果有错误,则会显示错误消息。

这是我的设计数据库 image1

这是我基于设计数据库制作的类图。 image2

用于创建类图的方法是否类似于erd?我很困惑如何继承该类,应该使用哪个箭头? 在我创建的路径中,有三个用户。而且每个人都有不同的角色

  1. 公共关系=来自外部用户的输入数据(申请人来提出书面建议),然后将数据存储在数据库中。该数据包括申请人数据和提案数据。 PR还可以查看该部门已确认的数据
  2. 部门=部门可以查看PR存储的数据并确认数据。已确认的数据将归档并进行报告。
  3. Manager =只能查看报告

2 个答案:

答案 0 :(得分:2)

以下是一些发现:

  • 用户->登录:这不是一般化。用户不是登录名。它可能具有一些关联的登录信息。这样就应该是一个关联。
  • 类似提案-> StatusProposal。但这是一个依赖项,因为您将不会创建枚举对象。您只需使用它来输入属性。
  • 与User-> Gender / RoleUser相同。两者都是依赖项。

还有两个设计问题。但是这里的YMMV太多了。让用户实现userLogin()至少是有问题的。应该有一个小心谨慎的安全系统来验证用户登录。那么,为什么Login具有loginStatus()?但是,这里不讨论设计。

关于类/ ERD:它们相似,但不相同。 UML的范围更广,而ERD则只专注于数据库。因此,类中的所有* _id属性均来自数据库设计。这种状态下的类设计非常集中在数据库上。在MDA中,它可能是从PIM派生到PSM的(因此从抽象视图派生到特定于DB的视图)。

答案 1 :(得分:1)

除了Thomas Killian的观察之外,您的构图关联似乎不准确。实际上,例如,您要指定Department对象的生存期取决于User对象的生存期。您还指定了用户和部门之间的整体关系,其中用户是部门的集合。我认为这是另一回事。我还怀疑用户的生命周期不取决于部门的生命周期,因为用户通常可以更改部门。因此,聚集钻石(白色)可能是正确的,并且应该在部门末端。

类似地,我很难理解您的其他两个构图关联。