我有一个.lib文件,其中包含内部C ++类,一些C ++类是软件库提供的功能的接口。
我应该如何用UML进行说明?
我使用Enterprise Architect,尝试输入了'Component'类型(作为简单链接粘贴到组件图中),然后将该库的内部类从模型树拖放到该组件矩形中,作为元素类型Composite部分,然后该库的接口类作为Port。现在,奇怪的是发生了什么事情,模型树包含了类的对象实例,这些类称为Part1和UML类型'class'的Port1,这是无意义的,因为软件库没有实例化,它只是通过.lib文件提供了其类。 ,就像一个游泳池。我认为UML元素类型'component'在这里不正确,是吗? 如果我使用“ Package”,也会发生同样的情况,尽管库中的类不是,但是零件和端口在这里也变成了对象实例之类的东西。
答案 0 :(得分:3)
这并不奇怪。您碰巧放弃了一个部分(按EA条款)。
这实际上是一个财产。只需打开其属性:
请参阅第39页的UML 2.5。 147:
9.9.17属性[类]
9.9.17.1说明
属性是一种结构特征。由ownedAttribute与分类器(关联除外)相关联的属性表示一个属性,也可能表示关联结束。 ...
我可能只是将它们作为链接放在放大的组件YMMV中作为类出现
删除为端口的类将显示为名称所显示的内容。因此,这里没有混乱。无论如何,我也将其作为链接只显示其中的内容。此外,我可能会用<<lib>>
之类将组件本身定型。那是因为您实际上在编译时使用了一个lib来提取所需的部分,而它本身不能作为组件工作。一个库虽然有一个接口,即提取其内部具有的已编译类模块。
啊,就像@muszeo所说的那样:使用ctrl-drag来显示上面的对话框。
答案 1 :(得分:3)