【发布时间】:2019-11-09 11:16:19
【问题描述】:
我想在 JEE 中启动一个项目,我需要确认我的类图。我需要知道使用的方法是否正确,以及我使用的组合是否正确。
这是我的类图:
该项目是关于一个在线销售商店,它想要建立一个管理工具来销售产品并管理其产品。此工具必须包含以下功能:
- 识别模块:客户、经理、主管的识别
- 销售模块:为用户购物
- 产品管理模块:添加/删除产品
- 统计模块:销售统计可视化
功能规格
必须对应用程序进行操作,以使用用户 ID 和密码连接到应用程序。为了方便其使用并避免之后的任何误操作,以下是解决方案:
用户个人资料:
- 用户将能够可视化 My Online Races 销售的产品。用户可以下订单,前提是他已在 My Online Races 网站上注册。
经理简介:
-
经理将能够管理产品:
- 添加/编辑/删除产品
- 添加/编辑/删除类别
这些数据插入可以使用 CSV 或 XML 文件,也可以通过网站上的各种形式。
经理将能够查看销售统计数据。
主管简介:
- 主管可以添加上面指定角色的经理。
- 主管将能够查看销售统计数据。
- 主管将能够查看经理执行的所有操作,这是一种审计跟踪。
我想知道你是否对我的设计有意见。以及我对几种方法的困惑,例如添加、修改和删除产品。我应该将它们放在经理类还是产品类中?我输入的构图是正确的还是应该删除它?
【问题讨论】:
-
您修改后的图表对帐户的创建不再那么混乱,因为只有特定专业的人才能创建帐户;但是它仍然与其他对象不一致:对于帐户,您有一个帐户创建另一个帐户,但对于文章和订单,它仍然是创建自己的对象。
-
“持久性”表示数据将存储在数据库中。当一个人从面向对象的设计和数据库开始时,让每个对象在数据库中管理自己是一种常见的方法。这种方法称为active record。这是可以接受的,但它有一些缺点,主要是域对象将依赖于数据库技术和数据库实现。这是一种强耦合,会使更改数据库变得困难。
-
我已经编辑了我的答案以澄清这些观点。
标签: uml class-diagram