类图的实体属性查询

问题描述 投票:1回答:1

我有一个有关客户从公司购买股票并计算分支销售的情况。因此,我制作了一个客户,购买和分支销售的类图,但是我不确定要在分支销售实体中放置什么,因为该分支销售应该表明每个分支的总销售量。这是我的图表:

enter image description here

分支机构的销售也应该像购买实体中那样包括purch_totalprice,purch_stock和purch_stockquantity吗?

class uml entity-relationship modeling class-diagram
1个回答
0
投票

该图看起来更像是数据库表的entity/relationship diagram,而不是UML class diagram

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

话虽这么说,无论是哪种建模语言,此图:

  • 不显示Customer正在购买什么。 stock太含糊:库存中是否包含这种材料?这是股票交易所股票(公司股票)吗?无论答案如何,都最好将其显示为自己的类/实体(此后我将使用Product)。

  • 不显示用branch_id标识的任何类/实体。我建议添加一个名为Branch

  • 的实体
  • 不显示关联/关系。您至少应具有Customer--PurchasePurchase--ProductPurchase---Branch,以及它们的多重性/基数。

如果模型中具有所有这些信息,则“分支销售”实际上是Purchase的数据摘录,而不是不同的实体:客户的购买是分支的销售。对于您的图表:

  • [如果使用的是类模型,则将添加getSalesDetails()函数:此函数将返回该分支的所有相关Purchase对象的列表。您还可以添加getTotalSales(),以进行相关销售的总计。 Perhap考虑了购买的date吗?
  • [如果您使用的是ER模型,由于分支机构和购买者之间的关联,您将知道如何查找此数据(您可以通过将关系Branch--Purchase标记为makes sales来明确说明。但是您也可以显示如果要记录物理模型并打算在数据库中实现此模型(使用冗余数据,不推荐使用,或使用视图),则使用单独的表复制相关数据。

关于类的最后一个重要提示

  • 如果您的图应该是UML类图,但是您想显示数据库模型的详细信息,则可以在每个实体的上方放置«table»

  • 但是,如果您不打算记录类,即,类将不进行任何操作而保留(即类行为),则确实缺少某些内容-就像anemic domain model(不是坦率的,但远非理想)。

© www.soinside.com 2019 - 2024. All rights reserved.