如何改进这张关于自行车部件的 class 图

How to improve this class diagram about the components of a bike

所以我接到了一项任务,要为自行车制作 class 图。我知道什么是 class 图及其背后的概念。

现在对我来说,一辆自行车由三个主要部分组成:制动系统、驱动系统和转向系统。每个系统都有自己的动作激活器:刹车手柄、踏板和车把。

为了让我的自行车真正刹车,我需要通过刹车杆来触发我的刹车系统(将关于刹车杆被挤压的力度的数据从刹车杆传递到刹车系统)。其他两个系统也一样。这是我到目前为止想出的:

我的问题:有没有更好的方法来说明激活器和它们应该将数据传递到的系统之间的联系?此外,系统是独立工作的,这意味着崩溃或机械故障等外部因素不在系统范围内。

是的,有 "a better way to illustrate the connection between the activators and the systems they're supposed to" 激活。这些 "activators" 实际上是这些子系统的一部分。因此,您不应在组合分解层次结构的前两层使用普通 UML 关联,而应使用 UML 组合关系("black diamonds"),它们是表示 部分-整体[的特殊关联 部分关系 独占 (= 不可共享)。

Bicycle 将由 BreakSystemDriveSystemSteerSystem 组成。然后,例如,BreakSystem 将由 "activator" BreakLeverBrake 组成。同样,对于其他子系统。

由于您没有为数字自行车建模,所以最好说激活器(如刹车杆)导致 子系统(如刹车系统)做出反应,而不是 "activators are supposed to pass data to"这些子系统。在机械系统中,它是关于物理因果关系,而不是关于传递数据。

另请参阅 https://www.uml-diagrams.org/composition.html,了解 组合 的 UML 概念的解释,它通常伴随但并不暗示生命周期依赖性。