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

基本上我正在尝试获取 vector< Object> ,而无需深入研究属性,并且每次都将< Class> 添加到后缀字段中。

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

有帮助吗?

解决方案

您无需在UML图上规定它是一个向量。

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

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

如果由于某种原因,您需要将其更改为std :: list或std :: deque或任何其他stl容器,则无需更新图表,因为一对一许多概念仍然相同。

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

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top