【问题标题】:UML Class Diagram for an E-commerce webSite? [closed]电子商务网站的 UML 类图? [关闭]
【发布时间】:2012-02-02 05:10:53
【问题描述】:

下面的图表是我第一次尝试创建类图和描述电子商务或在线购物的用例图。

我敢肯定它的设计很糟糕,而且充满缺陷,但我希望向你们学习如何设计它。我对您对设计模式的使用以及您将使用哪些模式、您将如何在设计中实现它以及为什么使用它特别感兴趣。

我们将不胜感激任何建议、批评、cmets 和建议。提前致谢。


【问题讨论】:

  • 这些图的源文件要添加,否则很难提出改进建议。
  • 您是否希望我们在不知道您的问题域是什么的情况下破译您的图表?
  • 其实我没有写过这个php网站的任何代码,问题是我通常只是设计数据库然后我开始直接写代码。我决定为这个项目首先设计类图和用例图,然后开始编写代码。所以到目前为止,我需要一周的时间来设计这些图表。我不确定这是否正确?我需要一些帮助
  • @Tichodroma 对不起,我添加了下一个答案的功能要求,因为我无法编辑我的问题!!,无论如何我感谢你的及时行动,
  • 哦,如果你想让我添加更多项目细节,请告诉我..

标签: php oop database-design uml class-diagram


【解决方案1】:

令人印象深刻且全面,我会说您走在正确的轨道上。我没有看到任何会阻止您继续定义序列图的重大失误。下面我的 cmets 只是一个意见,可以讨论任何一种方式。

您展示了 storeList 和 ProductList 之间的关联,如果您使用产品主列表在商店中跟踪相同的产品(例如母公司和特许商店),这很有意义,但它看起来不像您的商店以这种方式相关。

如果您要为 Currency 开设一个课程,请继续将 Price 设为一个单独的课程。这将使处理价格变化(例如折扣)变得更加容易。此外,您仅显示每种产品可能使用 1 种货币,那么以多种货币进行销售呢?您需要将销售交易视为与库存分开且不同的域。产品本身(通常)没有标价,它被分配给它并且可以更新,更不用说随着时间的推移或由不同的商店以不同的价格出售相同的产品。您需要的是一个库存清单,其中包含产品 ID 的属性、当前销售价格和可能需要的任何折扣的属性,以及一个历史文件,其中包含当您需要检查价格时对库存清单的所有更改过去的销售。

出于与价格相同的原因,继续将所有产品描述属性移动到 ProductDescription 类,例如颜色、尺寸、重量等。这样,如果产品需要自定义属性类型(一家商店同时销售汽车和软件),您只需继承 ProductDescription 类,而不是 Product 类。

【讨论】:

  • 我真的很感谢你们所有认真的 cmets,首先我承认我的货币很弱,我没有完全分析它,因为目前只有一种货币,但我把它作为一个单独的实体因为对于下一个版本,我必须支持多种货币。此外,您的货币解决方案非常完美,但是.. 让我们解释一下,在这个设计中,一个产品只能分配给一个商店,这意味着不同的商店可以有完全相同的产品,但 productID 不一样,所以一个产品对于一家商店来说是独一无二的,看起来像这样我可以用一种货币保存我的产品。
  • 当我想向客户展示它时,我需要将产品价格的主要基础货币然后通过转换货币汇率将其转换为目标客户的货币,在您看来这个是正确的? @Kelly French,我说你很完美,但我可以这样说吗? #第二我完全接受我必须创建一个ProductDescription类,你是专业的
  • # 第三:对不起第二段,“你显示了 storeList 和 ProductList 之间的关联”,请你再解释一下,我误解了这一段,如果我理解你的意思,可以我说如果每个产品 ID 仅在一个商店中唯一销售(我在第一条评论中解释)问题是否解决?非常感谢
  • @Danial,如果每个商店都使用唯一的产品 ID(即使是完全相同的商品),那么您不需要显示 storeList 和 ProductList 之间的关联,只需删除图表上的链接即可。
  • 对不起,我解释一下,我的英文不太好,每个商店都有一个productsID(ProductList)列表,storeList显示所有商店的列表,然后当用户选择一个商店时,该商店的productList显示给客户?这是正确的吗?你又要说我删除了这个关联?
猜你喜欢
  • 1970-01-01
  • 2011-01-02
  • 2013-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-13
  • 2013-02-10
  • 1970-01-01
相关资源
最近更新 更多