题
我需要为我的一个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有参数化类的表示法。参数类型进入右上角的重叠框,如此你的工具是否支持它是另一回事......
不隶属于 StackOverflow