gpt4 book ai didi

android - 如何使用 UML 类图表示通过另一个类调用一个类

转载 作者:行者123 更新时间:2023-11-29 01:45:50 25 4
gpt4 key购买 nike

在 Android 中,假设我们有 2 个类,它们具有启动服务的通用方法,因此我们将它们提取到辅助类中:

classes of the diagram

下图显示了我奇怪的表示它的尝试。我使用过交易缩小。我认为那些是用于 Activity 图的,但在 uml-diagrams.org/class-reference.html 中,这些变窄称为 Association Navigability。这就是为什么我使用它们来尝试表示图表的原因。在 HelperClass 和 ClassService 之间我使用了一个正常的关联。在类和服务之间我使用了一个限制(它只是提供信息,让它更清楚):

my representation attempt

我是否将类图与 Activity 图混在一起了?

更新 1:尝试用组件图表示它:

component diagram

注意:关于如何使用组件图,我最喜欢的解释是:https://www.ibm.com/developerworks/rational/library/dec04/bell/

更新 2:尝试根据建议的更改绘制类图:

class diagram update

更新 3:完整的类图。交易箭头已被协会更改。用户和系统交互已被删除(例如 startsWhenClick by starts;startsWhenDetection by starts):

full class diagram

最佳答案

是的,您正在混合流程和结构。类图是一个结构图,这里没有显示过程,只是依赖关系。您可以使用依赖项 进行实例化,但这仅意味着一个类需要另一个类以及用于什么目的。是的,它有点关于流程,但主要是类图是关于结构的。

Android 组件(Activity、Services 等)的协作应该用组件图来表示,而不是类图。在那里你可以画画,发送什么信息,谁给谁打电话等等。类图用于更彻底的分析。您也可以在组件图中使用一些类。但是不要忘记显示该类属于哪个组件,就像您在这里忘记做的那样。为此使用嵌套/包含关系。

在 Activity 的箭头上,您使用了“点击”一词。您不是要在这里描述 UI 吗?这是另一个图表。没有用于 UI 规划的标准图,但我可以建议使用类图元素。但它不是类图,它是使用类图元素的 UI 图。


关于类图:

您可以绘制从 Activity 到服务的依赖关系。谁开始,谁停止等信息也可以在类图中的注释上,或者,如果不是绝对必要,将其移动到 Activity 图中。

在关联 HelperClass - ClassService 中,目标端的乘法应该是 0..1。服务并不总是存在,是吗?

Launcher 是一种糟糕的刻板印象。最好将名称命名为 Launcher 到类中,如果您认为它不能解释情况,请在其上添加注释。

未定义 Activity 类的关系。


看来,您已经尝试将 4 个图表合二为一。它永远行不通。将它们分开或至少清洁您选择的那个。如果您要选择一个图表要做什么,请选择组件一 - 它是最常见的,也是最有用的。

编辑:如何显示一个类包含在一个组件中 - 2 种方式。您可以将类包含到组件中,并且可以通过嵌套关系将它们连接起来。这两种方式在内容意义上是等价的。

enter image description here

关于android - 如何使用 UML 类图表示通过另一个类调用一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21592481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com