4

我需要为我的一项 C++ 作业生成 UML 图。我正在使用 Visio 2007,但在表示 C++ 向量时遇到了问题。我可以看到这种工作的唯一方法是在我的项目中创建自定义 C++ 数据类型或创建向量类,然后对于 UML 中向量的每个实例,我需要深入研究属性并添加<Class>到后缀字段中。

基本上我试图在vector<Object>不深入研究属性的情况下<Class>每次都添加到后缀字段。

我非常坚持使用 Microsoft 制作图表和编码的软件,所以请不要建议我使用不同的软件。但是,如果 Visual Studio 2003 支持以比 Visio 更轻松的方式制作 UML 图,我不会反对使用 Visual Studio,但请告诉我该选项在哪里。

4

2 回答 2

8

您不需要规定它是 UML 图上的向量。

在您给出的示例中,一个类和另一个类之间存在一对多的关系。这是您需要传达的重要信息。

您已选择将其实现为向量:这是一个不需要在图表上显示的实现细节 - 只需显示一对多关联。

如果由于某种原因,您需要将其更改为 std::list、std::deque 或任何其他 stl 容器,则无需更新图表,因为一对多的概念是还是一样。

请记住,您正在显示代码的抽象。如果您想传达所有类在概念上如何相互关联,UML 类图是理想的。如果有人想知道它是如何实现的细节,他或她总是可以在查看源代码本身之前使用图表作为起点。

有关使用 UML 显示的一对多关系的示例,请单击此处

于 2008-10-26T23:24:00.210 回答
1

UML 有参数化类的表示法。参数类型像这样进入右上角的重叠框 您的工具是否支持它是另一回事...

于 2008-10-27T07:02:21.830 回答