具有相互依赖的枚举的 UML 图
UML Diagram with interdependent enumerations
目前我正在尝试为汽车建模 UML 图。我的问题是,除了内燃机之外,还存在电动汽车。
当您查看图表时,您可以看到 Golf 的数据类型为 Fuel
属性 consumes
,而 e-Golf 的数据类型为 EnergyType
.
你会如何改编这张图表?
我建议对不同类型的属性使用不同的名称。您可以使用 'energyType' 和 'fuelType'.
而不是 'consumes'
继承的含义不同。您已经在摘要 class 中定义了 consumes
枚举。现在在继承的那些你不覆盖这个属性,而只是分配固定的值。另外,您在这种情况下使用了错误的符号。而是 consumes: Energytype = electrical energy
(等等)。这种类型无论如何都是多余的,因为您可以在 class 类型本身中使用它。混凝土电动车是你想要的类型。因此枚举将包含可能的具体 class 类型(如果需要的话)。现在你应该专注于不同的汽车类型。唯一共同点大概就是底盘,抽象车里会定义。
N.B。对汽车的这种思考方式正是恐龙的实际做法,这也是它们遇到这么多麻烦的原因。电动汽车与 classic 汽车大不相同。基本上你需要回到抽象汽车里面的人类座位。
修正
可能是一种表达汽车的方式(有很多方式可以显示变体,需要数周和数月才能找到适合汽车的方式)。您会看到抽象汽车(以斜体字书写)没有属性,只是与角色名称相关联。一些是抽象的 classes,一个是具体的 class(请注意,这只是作为示例)。抽象 classes 仅具有关联并包含同意该事物共有的属性。
现在,如果您正在构建一些具体的汽车配置,您将只有具体的 classes:
MySuperNewCar
有 4 个轮子和 2 个真皮座椅的电驱动装置。我在此图中重复了摘要 classes。但这不是必需的(因为您可能已经猜到了)。
所以,这就是 一种 描述汽车的方式。还有更多的方法需要长时间的讨论。无论如何,您都应该聘请一名能够流利地使用 UML(换句话说,擅长建模)的顾问。
目前我正在尝试为汽车建模 UML 图。我的问题是,除了内燃机之外,还存在电动汽车。
当您查看图表时,您可以看到 Golf 的数据类型为 Fuel
属性 consumes
,而 e-Golf 的数据类型为 EnergyType
.
你会如何改编这张图表?
我建议对不同类型的属性使用不同的名称。您可以使用 'energyType' 和 'fuelType'.
而不是 'consumes'继承的含义不同。您已经在摘要 class 中定义了 consumes
枚举。现在在继承的那些你不覆盖这个属性,而只是分配固定的值。另外,您在这种情况下使用了错误的符号。而是 consumes: Energytype = electrical energy
(等等)。这种类型无论如何都是多余的,因为您可以在 class 类型本身中使用它。混凝土电动车是你想要的类型。因此枚举将包含可能的具体 class 类型(如果需要的话)。现在你应该专注于不同的汽车类型。唯一共同点大概就是底盘,抽象车里会定义。
N.B。对汽车的这种思考方式正是恐龙的实际做法,这也是它们遇到这么多麻烦的原因。电动汽车与 classic 汽车大不相同。基本上你需要回到抽象汽车里面的人类座位。
修正
可能是一种表达汽车的方式(有很多方式可以显示变体,需要数周和数月才能找到适合汽车的方式)。您会看到抽象汽车(以斜体字书写)没有属性,只是与角色名称相关联。一些是抽象的 classes,一个是具体的 class(请注意,这只是作为示例)。抽象 classes 仅具有关联并包含同意该事物共有的属性。
现在,如果您正在构建一些具体的汽车配置,您将只有具体的 classes:
MySuperNewCar
有 4 个轮子和 2 个真皮座椅的电驱动装置。我在此图中重复了摘要 classes。但这不是必需的(因为您可能已经猜到了)。
所以,这就是 一种 描述汽车的方式。还有更多的方法需要长时间的讨论。无论如何,您都应该聘请一名能够流利地使用 UML(换句话说,擅长建模)的顾问。