uml - 如何在类图中对健康属性的测量进行建模?

标签 uml class-diagram

我有一个 User 类,可以“测量”与日期相关的一些参数并将它们输入到应用程序中。因此,1 个用户 -> 与许多日期(许多测量)相关联的许多类型的许多参数。参数类型是固定的,可以是数字或字符串,例如:体重、高度、卡路里摄入量、一些字符串......它们表示为枚举。

现在我的主要问题是:参数可以是不同的数据类型(数字或字符串)这一事实是否意味着通用参数类型必须对两个参数子组进行专门化?或者每种类型参数的数据类型是否隐含在类型本身中? (例如“权重”意味着它应该是一个数字)

diagram

考虑到以下情况,如何以正确的方式表示“Parameter”类:

  • 它可以是数字或字符串
  • 还有一个 super 用户类,可以为特定用户添加参数
  • super 用户可以输入的参数是普通用户可以输入的一些参数加上 super 用户独有的一些其他参数(例如:脂肪体重),因此不存在 1-1 对应关系
  • 数字参数还有其他可由 super 用户修改的附加属性(例如:限制重量)
  • 据说 super 用户应该能够为某些参数添加“注释”

我的困惑源于这样一个事实:我没有 OOP 编程背景,并且在网上找不到任何类似的示例。我只需要一个正确方向的输入。图中的图表正确吗?为什么很可能不是?目前的问题是如何实现 super 用户还可以向某些参数添加注释。

我会吗:

  1. 创建一个以枚举类型作为属性的单个参数类,该属性自动暗示输入的数据类型,例如权重 = 数字?
  2. 为每个用户创建两个子类,例如UserParameters 和 SuperUserParameters,尽管有些参数重叠?
  3. 保持原样并进行一些调整?
  4. 还有其他更好的方法吗?

最佳答案

我想建议使用改进的术语。由于您的应用与(健康)属性测量有关,因此我会将您的类名“Parameter”替换为 Measurement

以下模型应该满足您的所有要求(下面讨论的除外):

enter image description here

请注意,两个子类UserPropertySpecialProperty 只是定义了Property 的分区。可以通过向 Property 类添加枚举属性 propertyCategory 来消除它们,并将 USER_PPROPERTYSPECIAL_PPROPERTY 作为其枚举文字。

唯一尚未涵盖的要求是

the numerical parameters have other additional attributes that can be modified by the superuser (for example: limit weight)

这需要进一步细化。如果这些“其他附加属性”形成固定集,则可以将它们建模为 Property 类的进一步属性。

关于uml - 如何在类图中对健康属性的测量进行建模?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61294132/

相关文章:

uml - Rational、EA 还是别的什么?

java - UML 类图 - 扩展通用抽象类的表示法?

java - 来自 Java 源代码的 Uml 工具

c# - Visual Studio 2013 Express 是否支持类设计器功能?

visual-studio-2015 - 如何在 Visual Studio Community 2015 中生成项目的代码映射图?

java - 如何将带有包标识符 (~) 的 UML 行实现为可用代码?

visual-studio - 是否有来自 Visual Studio 2010 建模项目的任何 CaSTLe ActiveRecord 生成器?

ocaml - 为 OCaml 生成类图

uml - 限制类图中的子对象

architecture - VS2015 Enterprise Reverse Engineer Code to UML