微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

确定一个元素是 Enterprise Architect 中的 fork 还是 join

如何解决确定一个元素是 Enterprise Architect 中的 fork 还是 join

我有一个活动图,其中使用了 fork/join 元素。我必须弄清楚该元素是用作分叉还是使用 db 或其 API 的连接。有什么办法可以找到这个吗?

enter image description here

解决方法

它在 EA 中是同一个对象,所以在对象本身你看不到它是连接还是分叉。

所以你需要想出另一种方式来了解它是用作连接还是分叉。

区别在于链接的控制流

  • 分叉:一个传入流,多个传出流

enter image description here

  • 加入:多个传入流,一个传出流

enter image description here

我想我会使用 SQL 查询来确定我的对象是用作 Fork 还是用作 Join

查询以检查 Fork

select o.Object_ID from t_object o
where o.ea_guid = '{3E91C35F-A454-4282-944C-F07BD0D86F91}'
and 1 = --only one incoming flow
  (select count(*) from t_connector c
  where c.End_Object_ID = o.Object_ID
  and c.Connector_Type = 'ControlFlow') 
and  1 < --more than one outgoing flow
  (select count(*) from t_connector c
  where c.Start_Object_ID = o.Object_ID
  and c.Connector_Type = 'ControlFlow')

查询以检查加入

select o.Object_ID from t_object o
where o.ea_guid = '{0CD27AF4-873C-4c64-A230-B40CE57E7F83}'
and 1 < --more than one incoming flow
  (select count(*) from t_connector c
  where c.End_Object_ID = o.Object_ID
  and c.Connector_Type = 'ControlFlow') 
and  1 = --exactly one outgoing flow
  (select count(*) from t_connector c
  where c.Start_Object_ID = o.Object_ID
  and c.Connector_Type = 'ControlFlow')

将查询中的 GUID 替换为可疑 Fork/Join 的 GUID 您可以使用 EA.Repository.SQLQuery() 来执行这些查询。

,

仅通过查看传入和传出连接器的数量。 Fork 正好有一条入边,而 Join 正好有一条出边。

不太可能,但可能:如果附有注释,您需要检查(最好总是)连接器是否属于对象和/或控制流类型。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。