Android UML类图:如何对调用方法或启动活动或服务的关系建模

Android UML类图:如何对调用方法或启动活动或服务的关系建模,android,uml,class-design,class-diagram,object-oriented-analysis,Android,Uml,Class Design,Class Diagram,Object Oriented Analysis,我正在创建我的第一个Android应用程序。我避免标记与用户或系统交互的关联(例如,我标记为开始而不是开始时单击;我标记为开始而不是开始时检测)。然而,在阅读之后,我正在考虑通过>依赖项来更改启动关联。我糊涂了 该应用程序的工作原理如下。当应用程序启动时,LauncherActivity将调用BaseActivity的方法来启动SettingsActivity中标记的活动(也可以是SettingsActivity)。LauncherActivity也将启动这两个服务。这是示意图: 注意:这个问

我正在创建我的第一个Android应用程序。我避免标记与用户或系统交互的关联(例如,我标记为开始而不是开始时单击;我标记为开始而不是开始时检测)。然而,在阅读之后,我正在考虑通过>依赖项来更改启动关联。我糊涂了

该应用程序的工作原理如下。当应用程序启动时,LauncherActivity将调用BaseActivity的方法来启动SettingsActivity中标记的活动(也可以是SettingsActivity)。LauncherActivity也将启动这两个服务。这是示意图:


注意:这个问题是问题的继续。

它不是一个真正的类图

  • 启动和调用属于notes,或者如果您确定要在连接上看到它们,请对依赖项而不是关联执行定型
  • 您仍然没有关联,它们是类图的主要部分。看看如何与他们合作。您应该首先创建关联。只有在这之后才能显示依赖项。(这不是常见的规则,但为了更好地理解,您应该这样做)
  • 至于您试图在这里显示的操作,请为它们绘制状态机图,然后可能是序列图或活动图。不要使用交互概览图,您将在其中迷失方向
但是不要在类图上放那么多动作

IMHO,因为活动没有或几乎没有结构依赖关系,所以适当的类图将非常糟糕-没有关联的简单块。以及整个领域的依赖性。。。因此,类图在这个级别上没有用处。看起来,我已经告诉过你,类图是针对同一个Android意图中的类的——一个或多个意图

至于沟通图,我认为这不是你的情况。它比序列图或活动图更常见,更接近用户。当你有很多种类的信息,并且你正在计划它们的路线时,这种情况就出现了。例如,骆驼计划。但遗憾的是,它没有实现消息模式。因此,它仅适用于具有大规模消息传递的系统的非常常见的规划。您的“消息”是启动、启动组件等等。你不能用那个图表来显示它


您可以尝试对象图,或复合结构图。如果您想在类图上显示功能,您不能这样做,但可以移动到这些功能。

@chelder将类与对象/实例分开。它们在Java中是不同的。正如我从代码中看到的,PowerButtonPushedDetectorService是一个对象。恐怕你所说的很多东西都是实物。看看对象图,您可以使用类上的端口。每个端口向连接到它的其他类或对象提供一些服务。这似乎更适合您的问题。@chelder如果我们在类图中,那么从LauncherActivity到Intent实例之间有一个单向的可导航关联,service2start作为实例和属性名。从这个intent实例可以看到另一个到PowerButtonPushedDetectorService的可导航关联。至于属性的名称,请查看Intent构造函数代码,其中放置了第二个参数。@chelder No。我指的是对象diag,或者……好的,复合结构图。如果您想在类图上显示功能,您不能这样做,但可以转到这些功能。顺便说一句,谢谢你们,你们让我看到了UML标准类图中比我以前知道的更多的问题。当然是+1。@chelder我认为,因为活动没有或几乎没有结构依赖关系,所以适当的类图将非常糟糕——没有关联的简单块。以及整个领域的依赖性。。。因此,类图在这个级别上没有用处。看起来,我已经告诉过你们了,类图是针对同一个Android意图中的类的——一个或多个意图。@chelder 1。是的,我指的是第二个CSD。2.至于沟通,我认为这不是你的情况。它比序列图或活动图更常见,更接近用户。当你有很多种类的信息,并且你正在计划它们的路线时,这种情况就出现了。例如,骆驼计划。但遗憾的是,它没有实现消息模式。因此,它仅适用于具有大规模消息传递的系统的非常常见的规划。您的“消息”是启动、启动组件等等。你不能用那个图表来显示它。