Visio和UML - 显示向量

4
我有一个C ++作业,需要生成UML图表。我使用Visio 2007遇到了问题,无法表示C ++向量。唯一的解决方法是创建自定义的C ++数据类型或在我的项目中创建一个向量类,并且对于UML中的每个向量实例,我需要深入属性并将<Class>添加到后缀字段中。
基本上,我想要获得vector<Object>,而不必每次都深入属性并将<Class>添加到后缀字段中。
由于我几乎无法更改软件,因此请不要建议我使用其他软件。但是,如果Visual Studio 2003支持以比Visio更轻松的方式制作UML图表,我不介意使用Visual Studio,但请告诉我该选项在哪里。

对于所有已经阅读过我关于此话题的第一个问题的人,我感到抱歉。我知道它几乎读起来一样。 - epochwolf
2个回答

8
您不需要在UML图中规定它是一个向量。
在您提供的示例中,一个类与另一个类之间存在一对多的关系。这是您需要传达的重要信息。
您选择将其实现为向量:这是不需要显示在图表上的实现细节 - 只需显示一对多的关联即可。
如果出于某种原因,您需要将其更改为std :: list、std :: deque或任何其他stl容器,则无需更新图表,因为一对多的概念仍然相同。
请记住,您正在显示代码的抽象。如果您想传达所有类如何在概念上相互关联,则UML类图是理想的选择。 如果有人想了解它的实现细节,他或她总是可以使用该图表作为查看源代码之前的起点。
有关使用UML显示一对多关系的示例,请单击此处。

我该如何在UML中展示一对多的关系?这个话题在我的课堂上从未被涉及过。而且在我的课堂上,UML并不用作代码的抽象,每个方法和实例变量都需要显示出来。它基本上就是一个没有文档的头文件。 - epochwolf
我已在回复中添加了一个示例链接。 - Andrew Stapleton
默认情况下,UML中的集合是集合。您还应该添加一个{sequence}属性字符串来指示集合是有序的并允许重复元素。您还可以使用{ordered}表示集合是有序的,或者使用{bag}表示它允许重复元素。 - Pete Kirkham

1

UML有一个参数化类的符号表示法。参数类型放在右上角的重叠框中,如this。但你的工具是否支持这个功能是另一回事...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接