如何为简单的锻炼应用程序建模(类图)

时间:2020-05-31 20:55:22

标签: uml modeling class-diagram class-design

我开发了一个简单的Workout Android应用程序,但没有考虑到uml类图。现在我要重构它。

应用程序的工作方式

在主屏幕上,只有一个按钮可以开始锻炼。通过单击它,将触发倒数10秒,等待该人准备就绪。

然后,该应用程序将显示多个练习,一次显示一个,并在它们之间有一个休息间隔。每次练习需要30秒;每个中断间隔10秒在每次锻炼/休息时,该应用都会显示以下信息:

  1. 当前锻炼/休息的倒数计时器;
  2. 当前练习的名称,或者在休息间隔的情况下,下一个练习的名称;
  3. 说明当前(或下一个)锻炼的图像;
  4. 一个暂停按钮。

最后,当锻炼结束时,应用程序会显示GIF作为庆祝活动。在最后一个屏幕上,还有一个“回家”按钮。

UML类图

我已经制作了以下UML类图来对该应用程序进行建模: UML Class diagram

我的疑问

但是,我不确定这是否是描述场景的正确方法。如果能得到一些反馈/评论,我将不胜感激。

我有疑问的主要事情之一就是要处理WorkoutActivity类。它在图中没有属性,因为我无法以对这个问题进行建模的方式来考虑任何属性。而且因为它是空的,对我来说有点奇怪。我曾考虑过使用列表类(例如ExercisesList)来对练习集进行建模,但是我对这个图表有些困惑。

另一个关于按钮的问题,我应该在图中包括它们吗?

1 个答案:

答案 0 :(得分:3)

这一切都取决于您要代表什么。

如果您的模型适用于锻炼领域,请保持简单:不需要按钮(用户界面对象)和计时器(执行上下文)。

在叙述中,您提到了“锻炼会话”。我假设这就是WorkoutActivity的含义。因此最好与命名保持一致。

您可以轻松地想到属性:这是会话的日期和时间(以及用户帐户?):这可以使用户遵循他/她在培训中的规律性。

更通用的方法是让WorkoutSession由几个抽象的WorkoutActivity组成(警告:与当前图中的含义不同)。每个WorkoutActivity都是一个专业:ExerciseBreakIntervalInfoActivity(例如FinalActivity,但为什么不是StartActivity鼓励新用户的活动以及其他偶尔的活动,例如提示和技巧或广告)。像这样:

enter image description here

每次练习后休息一会的约束不必是结构性的:它可以是您在组成或生成会话时强制执行的约束。如果以后您希望每2或3个练习(例如:高级用户)休息一下,这将为您提供更大的灵活性。

相关问题