uml - 如何在 UML 图中表示 STL Map?

标签 uml diagram

<分区>

Possible Duplicate:
How to describe a contained map in UML class diagram?

我想要 UML 图中的 STL MAP 符号。

最佳答案

取决于您想要建模的内容和方式。我有很多次只是对包含 map 的类的组合/聚合关系建模到 map 存储元素,并为关系添加一个属性:

class MyEnclosingType {
   std::map<int,MyEnclosedType*> m_map;
};

MyEnclosingType <>-------------------------- MyEnclosedType
                         << map >>

根据您使用的工具,有些工具确实可以识别它。比如BoUML,IIRC,会自动画出类似这样的东西:

MyEnclosingType <>-------------------------- MyEnclosedType
                              ^
                              |
                              | << bind Key=int >>
                              |
                             map 

我不认为它完全像那样,但有点相似。最后,UML 是供人阅读的工具,而不是供计算机使用的工具。如果您确实相信代码生成(祝您好运),那么问题是您的软件需要使用什么奇怪的结构来理解您的意图。

一些其他工具将具有 STL 或允许您添加参数化类型,您可以使用它来表示相同的代码:

                                                 Key=string
                                                 Value=MyEnclosedType
MyEnclosingType <>-------------------------- map

MyEnclosingTypemap 都被实心框包围,KeyValue 将被表示与其他参数化类型一样,由一个不连续的框与 map 框重叠。

我会尝试使用您选择的工具对带有 map 的简单代码示例进行逆向工程,然后查看该工具为您生成的内容。如果您不喜欢它,请考虑您可以做些什么来实际提供尽可能多的问题洞察力,以及您可以使用这些工具提供的功能。

关于uml - 如何在 UML 图中表示 STL Map?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3682677/

相关文章:

intellij-idea - IntelliJ 想法 : Red lines in dependency viewer

mysql - 我应该增加表的数量吗?

java - 在 NetBeans 6.7 中自动创建 Java UML

uml - 我应该在用例图中包含一个条件吗?

python - 从 Python 源代码生成 UML

uml - Netbeans 8 UML 图

python - 如何可视化作者分布?

java - UML 序列图内部类表示

c# - 使用 UML 显示递归方法

sql-server - 有没有办法在 SQL 2000 中编写图表脚本(或以其他方式保存它们)?