【问题标题】:How to represent one activity starting another activity with an intent in a UML sequence diagram and class diagram?如何在 UML 序列图和类图中表示一个活动以意图启动另一个活动?
【发布时间】:2020-04-18 14:21:04
【问题描述】:

在这个简单的示例中,我有两个活动 ActivityA 和 ActivityB

ActivityA 是前台活动。用户单击执行 dispatchActivityBIntent() 的按钮,该按钮创建一个意图并将其分派以启动 ActivityB

Intent intent = new Intent(this, ActivityB.class);
startActivity(intent);

这些是我想出的图表

我发现以前的答案讨论了关于在类图中描绘这个。

Android Class Diagram UML

另一种方式。这样显示有错吗?

【问题讨论】:

标签: android uml class-diagram sequence-diagram


【解决方案1】:

如果我很好理解并尝试重用您的措辞,序列图可以是:

我认为所有消息都是异步的,当然除了实例的创建intent

intent 的顶部不在图表顶部的事实表明它是创建的并且之前不存在。显示消息 create 只是一种方法,另一种表示是让消息进入实例的矩形......但我没有在我的工具中管理它;-)

我还以为intent的寿命是有限的,X表示它什么时候消失

我更喜欢用 Button 替换 Actor(如果我理解你的话:用户),因为 用户点击了一个执行的按钮...。

【讨论】:

  • 嗨,谢谢你的回答。你能告诉我意图如何在类图中显示吗?
  • @Enzio 可能就像你刚刚对依赖构造型 intent 所做的那样,你也可以显示类 Intent 但你不能将它与依赖再次关联,并且在那级别的依赖没有真正的意义。否则,您必须输入更多详细信息,例如您提供的链接。 Intent 管理更多是关于动态观点(协作 => 序列图等)而不是静态观点(类图)
  • 我不明白你所说的“只是依赖于刻板印象的意图”是什么意思。
  • “否则,您必须输入更多详细信息,例如您提供的链接”该链接提供了一个非常简单的类图,我将其添加到上面的答案中。我可以像你说的那样做类图并做序列图吗?在这种情况下,序列图中给出的 Intent 类在类图中不是它自己的类。如果你明白我在说什么。
  • 另外,你能检查一下我添加到问题中的备用图表吗?我可以在不声明意图的情况下这样展示吗?
【解决方案2】:

在我看来,uml 图的存在是为了让您对某些软件进行概述,而不是描述技术实现细节(如调度/意图)。

我更喜欢像统计图这样的东西,其中每个状态都是对话框或活动。状态之间的箭头可以是页面之间的流,标有按钮的名称(或使用的 Intent)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    相关资源
    最近更新 更多