min*_*ros 8 port components uml interface
由于我还没有完全理解组件图中端口和接口符号的正确用法,因此有几个问题:
I.想象一下,想要通过网络(TCP)使用非常特殊的远程记录器服务的软件.消息可以是一些XML.因此,记录器公开了一个接口,该接口指定握手,XML结构,XML元素等内容,以便记录器接受消息.
a)我认为这个接口可能被称为"ILoggerProtocol",该端口可能以它提供的服务命名("日志记录")?
b)因此,我的应用程序中的组件实现了该接口,以便为服务器生成兼容的消息?
c)现在一个有趣的事情:对于通信,有一个额外的库"网络"提供简单的TCP东西,所以它做TCP连接,发送消息,处理错误等.当我只想强调时,我需要这个类吗?从生成的消息到服务器的方式?那么MY端口是TCP接口吗?
d)当我想绘制完整的图片时,如何正确地将网络组件添加到图表中,指出使用了ILoggerProtocol并且它通过网络组件通过TCP?
II.我的应用程序中的端口:现在有两个库,其中一个只使用另一个; 基本上,在C/C++中,它会#include对方的头文件:
e)这是正确的图表吗?
f)我在这里需要端口吗?如果是的话,它们实际上代表什么呢?你会给他们什么名字?
g)或者棒棒糖在没有端口符号的情况下是否足够?
III.关于棒棒糖:
h)那两个符号基本相同且可以互换吗?我找到了组合版本的名称"assembly",所以也许有区别......
一个简短的回答(稍后试图撕掉其余部分):一个端口是一个嵌入式元素,它允许对许多接口进行分组.我能举出一个最好的例子就是一个复杂的插座(端口),它捆绑了诸如电源,通信线路,你命名它(接口)之类的东西.
现在详细说明.
a)是的,这是正确的.您通常会使用一个<<delegate>>原型关联来显示外部接口在内部某处使用(/如果它是一个棒棒糖).
b)否.这是必需的界面.它在内部使用但在外面实施(棒棒糖所在的地方).
C&d)我会使用一个<<use>>从MyApplication朝Networking证明.通常你不会详细说明(除非它是必不可少的).像TCP这样的明显事物清楚地描绘了<<use>>
e)你可以(/应该)使用<<include>>或<<use>>代替.
f&g)见上面的一般答案
h)是的.第一个是第二个的灵活符号.
PS再看一遍,我注意到在顶部的图片中,内部指导的关联应指向另一个方向并且是刻板的<<delegate>>.
| 归档时间: |
|
| 查看次数: |
8689 次 |
| 最近记录: |