首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类图的实体属性查询

问类图的实体属性查询
EN

Stack Overflow用户
提问于 2020-06-07 02:35:14
回答 1查看 76关注 0票数 1

我有一个场景,一个客户从一家公司购买股票并计算分公司的销售额。所以我制作了一个客户、采购和分支销售的类图,但是我不知道在分支销售实体中应该放什么,因为这个分支销售应该显示每个分支机构的总销售额。在这里,我的图表:

​

​

分支销售是否也包括purch_totalprice、purch_stock和purch_stockquantity,就像在购买实体中一样?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-07 16:25:19

图看起来更像数据库表的实体/关系图,而不是UML类图:

  • 在UML类图中,不使用虚线将唯一标识符与其他属性分开,而是使用分隔符来显示操作(即方法或函数)。
  • 在ER图中,这种做法也不常见。

尽管如此,不管建模语言是什么,这张图表:

  • 并没有显示Customer正在购买什么。stock太模棱两可了:它是库存中的一种材料吗?这是股票交易所的股票(公司的股票)吗?不管答案是什么,最好将其显示为自己的类/实体(以后我将使用Product )。
  • 不显示用branch_id标识的任何类/实体。我建议添加一个名为Branch的实体
  • 不显示联想/关系。您至少应该有Customer--Purchase、Purchase--Product和Purchase---Branch,也不应该有它们的多重性/基数。

如果您在模型中包含了所有这些信息,那么“分支销售”实际上是Purchase的数据提取,而不是一个独立的实体:客户的购买是分支的销售。对于您的图表:

  • 如果您是在类模型上,则添加一个getSalesDetails()函数:该函数将返回该分支的所有相关Purchase对象的列表。您还可以添加一个getTotalSales()来完成相关的销售。也许是考虑到了购买的date?
  • 如果您在ER模型中,您将知道如何通过分支和购买之间的关联找到这些数据(您可以通过将relation Branch--Purchase标记为makes sales来说明这一点。但是,如果您想记录物理模型并打算在数据库中实现这一点,您还可以显示一个单独的表,其中包含重复的相关数据(不建议使用冗余数据,也可以使用视图)。

关于类的最后一个重要注释:

  • 如果您的图应该是UML类图,但是您想要显示数据库模型的细节,则可以将«table»放在每个实体的前面。
  • 但是,如果您不打算记录类,即类将保留在没有操作(即类行为)的情况下,那么确实缺少一些东西--就像一个贫血域模型 (不是禁止的,但远非理想的)。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62240212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档