如何解决确定一个元素是 Enterprise Architect 中的 fork 还是 join
我有一个活动图,其中使用了 fork/join 元素。我必须弄清楚该元素是用作分叉还是使用 db 或其 API 的连接。有什么办法可以找到这个吗?
解决方法
它在 EA 中是同一个对象,所以在对象本身你看不到它是连接还是分叉。
所以你需要想出另一种方式来了解它是用作连接还是分叉。
区别在于链接的控制流
- 分叉:一个传入流,多个传出流
- 加入:多个传入流,一个传出流
我想我会使用 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 举报,一经查实,本站将立刻删除。