【问题标题】:Visio & UML - Showing vectorsVisio 和 UML - 显示向量
【发布时间】:2008-10-26 23:04:00
【问题描述】:

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

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

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

【问题讨论】:

  • 对于阅读我关于此主题的第一个问题的每个人,我深表歉意。我知道它读起来几乎一样。

标签: c++ uml visio


【解决方案1】:

你不需要在UML图上规定它是一个向量。

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

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

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

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

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

【讨论】:

  • 如何在 uml 中显示一对多关系?我的课上从来没有涉及过这个话题。并且 UML 在我的类中没有用作代码的抽象,每个方法和实例变量都将被显示。它基本上是一个没有文档的头文件。
  • 我在响应中添加了一个示例链接。
  • 默认情况下,UML 中的集合是集合。您还应该添加一个{sequence} 属性字符串来指示集合是有序的并且允许重复元素。您还可以使用{ordered} 表示集合是有序的,或者使用{bag} 表示它允许重复元素。
【解决方案2】:

UML 有参数化类的符号。参数类型进入右上角的重叠框,例如this,您的工具是否支持它是另一回事...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多