UML类图:健身追踪器

时间:2013-10-24 04:34:43

标签: uml

嘿,我是制作类图的新手,我被分配为我的团队将要开发的健身计划制作一个简单的类图。

我很擅长制作类和属性。我对它的关系部分,聚合和所有好东西都有问题。

这是一个简单的运行: 有一个培训师,每个培训师都有一个客户。每个客户都有一个前后报告。每个客户还有每日锻炼团,每周处方和日志。

我添加了一张我已经草稿的草稿图片。

classdiagram

1 个答案:

答案 0 :(得分:1)

首先客户和培训师之间没有任何特定的属性来建立关系,关联是可以的,但没有任何方法可以从培训师那里找到客户,反之亦然。
你可能需要通过提出一些问题来理解和使用成员之间的关系 让我们从培训师开始。

Trainer
Q:您是否通过其培训师找到了客户,反之亦然? A[0]:客户是由其培训师(培训师 - >客户)发现的=>所以在这种情况下,您需要在培训师中跟踪(拥有)客户参考 enter image description here
A[1]:培训师由其客户(客户 - >培训师)发现 enter image description here
A[2]:培训师和客户都应该互相参考 enter image description here

关于(之前/之后)报告和客户的上述情况是正确的。

DailyWorkoutSheet
所以这里每个客户都有超过1个锻炼表,所以这里我们有聚合成分,差异并不是很难理解。
Composition: 表示Client列表中包含DailyWorkoutSheetDailyWorkoutSheet的生命周期为 DEPENDENTS {1}}生命周期,这意味着如果Client被删除(从内存中删除),那么这将导致删除与Client相关联的DailyWorkoutSheet的所有引用参考。
enter image description here
(构图形状为FILLED钻石,指向主持人(Client))的主人(client)的类别 DailyWorkoutSheet 表示Aggregation:列表中包含ClientDailyWorkoutSheet的生命周期为 INDEPENDENTS { {1}}生命周期。这意味着删除DailyWorkoutSheet引用后,与Client引用相关联的Client将保持不变。
enter image description here
(聚合形状是一个EMPTY钻石,指向主持人(DaileyWorkoutSheet))(<{1}}))的类别

关于ClientclientDailyWorkoutSheet之间的关系,上述情况属实。