活动图中的模型参数化API调用

时间:2017-11-03 05:41:38

标签: android-activity model uml diagram

我有一个带有两个泳道(客户端和服务器)的活动图。我想建模从客户端到服务器的请求调用。

  1. 在系统之间使用Signals Notation for Calls是否正确?还有其他选择吗?
  2. 调用是参数化的,客户希望发送之前创建的内容。如何建模?
  3. 感谢任何提示!这是我的例子: link

3 个答案:

答案 0 :(得分:2)

我的答案必须改进,但这是第一步。

规范/规范说:“SendSignalAction是一个InvocationAction,它创建一个Signal实例并将实例传输到其目标InputPin上给定的对象.DiveSignalAction必须具有参数InputPins,按顺序对应每个(拥有)和继承的)发送信号的属性,与相应的属性具有相同的类型,排序和多重性。

SendSignalAction与作为输入引脚的目标对象关联。

因此,关于Request:item的问题,我将使用输入引脚,一个用于创建Signal的对象,另一个用于定义Target。 (在模式中,目标来自输出引脚,但可以使用数据存储)。然后在发送请求后,客户端正在等待答案。 AcceptEvent链接到一个触发器(模式上未显示),该触发器是由服务器创建的信号。但是您无法将SendRequest of Client链接到ReceiveRequest of Server,因为这不是它的运行方式。

对于服务器,您可以进行类似的推理。

enter image description here

答案 1 :(得分:1)

关于调用的参数化,我将使用InputPin来建模Call的参数,即Call调用的Object,如下所示。 enter image description here

信号和呼叫记号对我来说是正确的,但我不习惯在同一图表中发送和接收动作,因此将提出两个备选方案。 1)首先删除它们...... enter image description here

2)单独的客户端和服务器建模 enter image description here enter image description here

让我知道你对此的看法以及对你来说似乎很清楚的事情...... 我也认识到你使用的工具,所以请在我的项目中找到:

https://www.dropbox.com/s/s1mx46cb3linop0/Project1.zip?dl=0

答案 2 :(得分:0)

我认为应该像这样建模:

enter image description here

服务器以独立循环运行,并以等待请求开始。 Create requestQuery result set之间有一个对象流。这表示放置在队列中的数据(或任何合适的数据)。收到结果集将在下面以类似的方式完成,我只是为了简洁而将其留下。

您还可以为查询集

绘制对象

enter image description here

而不是ActionPins。