`

用Visio画UML图 类结构图

    博客分类:
  • UML
阅读更多

类之间的关系

继承关系

继承关系是最容易理解的关系。画成图的话就像下面这样。面向对象的说法就是is-a关系。也就是说Class2 is a Class1。在C++中我们说Class2是Class1的派生类,或者说Class1是Class2的基类。clip_image002

聚集和组成

从容易理解的关系说起.经常有一个类是另一格类的数据成员的情况。在UML中表现为,聚集(aggregation)和组成(composition)。

clip_image004clip_image005

从图上来看,这两种关系都表现为一端是菱形的直线。其中有菱形的一端是整体,另外一端是部分。区别就是菱形是空心还是实心的。从C++曾序来看的话,如果图画成实心菱形的话,Class1就要负责Class2的创建和销毁。更准确的说,就是如果Class1不存在了,Class2也一定不存在。例如象下面的程序。

class Class2

{

};

class Class1

{

    Class2 m_objClass2;

}

当然也有下面的情况

class Class2

{

};

class Class1

{

    Class1();

    ~Class1();

    Class2* m_pClass2Obj;

};

光看类的声明就不行了。这是就需要看类的实现部分了。

Class1::Class1()

{

    m_pClass2Obj = new Class1; 

}

Class1::~Class1()

{

    delete m_pClass2Obj;

    m_pClass2 = NULL;

}

组成(Composition)关系,如果在Class1的对象销毁的时候,比如在析构函数中没有将数据成员销毁的代码,那么这种关系就是聚集(aggregation)关系。当然,销毁数据成员的代码,会有很多种。

依赖关系

依赖关系就是在以个类中使用了另一个类。例如下面的代码

Class1::DoSomething()

{

    Class3 obj;

    obj.DoClass3Work();

}

就是这样的情况。画成图的话就像下面这样。

clip_image006

 

转自:http://www.cppblog.com/woaidongmao/archive/2008/08/22/59656.aspx

分享到:
评论

相关推荐

    用Visio画UML图类结构图(基本篇)

    创建类图在模型资源管理器中选择[StaticModel]-[TopPackage],点鼠标右键,从弹出菜单中选择[New]-[StaticStructureDiagram]即可创建用于制作类结构图的图面了.准备工作首先我们遇到的问题是,CRect和BOOL两种类型在...

    Visio画UML图基本操作及技巧解析

    在模型资源管理器中选择[StaticModel]-[TopPackage],点鼠标右键,从弹出菜单中选择[New]-[StaticStructureDiagram],即可创建用于制作类结构图的图面。如果从弹出菜单中选择[New]-[SequenceDiagram],即可创建用于...

    VISIO流程图及UML图模板

    如类、接口、对象、用例等,"UML 2.0 Icons and Stereotypes.vss"则提供了扩展的图标和类型标识,"UML 2.0 Diagrams (Visio 2007).vst"则包含了多种UML图的布局和样式。 - **类图**:类图展示了类的结构和相互关系...

    UML 2.2 Visio 模板

    1. **VisioUML2.2Tips.pdf**:这份文档可能包含了使用Visio 2003和2007创建UML 2.2模型的最佳实践和技巧,包括如何导入模板、如何创建和编辑图元、如何进行自动布局等。 2. **UML2.2-Visio2007.zip** 和 **UML2.2-...

    visio关于UML建模

    Visio是一款强大的图形绘制软件,尤其在创建流程图、组织结构图和UML(统一建模语言)模型方面表现出色。UML是一种标准化的建模语言,用于软件工程中的系统分析和设计,它通过一系列图形符号来表示软件系统的不同...

    Visio绘制ER图教程

    Visio 中没有现成的模版画 ER 图,但可以通过自定义解决这个问题:先在“流程图”-〉“基本流程图”中找到菱形和方块,分别右击选择“添加到我的形状”-〉“添加到新模具”,然后出现“另存为”对话框,把新模具...

    Visio画时序图组件

    Visio是一款由Microsoft开发的专业绘图软件,广泛用于创建各种图表,包括流程图、组织结构图、网络图以及我们这里关注的时序图。时序图(Sequence Diagram)是统一建模语言(UML)中的一种图形表示法,主要用于描述...

    C# WinForm-UML类图程序,绘制UML程序-2023(绘制uml类图,保存,打开文件等等)

    为每种UML元素定义绘制方法,例如,画一个类就是绘制一个矩形,添加文本标签表示类名,然后添加垂直线表示属性和方法。 3. **事件处理**: 捕获鼠标点击和拖动事件,以便用户可以在画布上绘制和移动元素。还需处理...

    GOF23设计模式的Visio版UML图

    《GOF23设计模式的Visio版UML图》是一个关于软件设计模式的重要资源,它包含用Visio工具绘制的UML(统一建模语言)图表,详细展现了GOF23中的23种经典设计模式。这些模式是面向对象编程和设计中不可或缺的组成部分,...

    “VISIO2003建立UML模型”笔记

    此外,也可以使用交互图(如顺序图和协作图)来描述类之间的协作方式。 3. **设计阶段**:在这个阶段,除了问题域的对象外,还会引入技术细节(如用户界面、数据库等)。设计阶段的任务是为后续的编码阶段提供详细...

    UML模板 visio

    **UML 2.5 Symbols (Visio2013)**模板包含了一系列UML 2.5规范中的图形符号,如类图、接口图、用例图、活动图、顺序图、通信图、组件图、部署图等。这些符号确保了绘制出的模型符合行业标准,增强了与其他开发人员和...

    UML基础及Visio建模.pdf

    用Visio绘制用例图、静态结构图、包图、活动图、状态图、序列图、协作图、组件图和部署图。介绍每种模型图时,本书会详细介绍其概念、创建步骤和创建示例:最后介绍如何将Visio、UML和.NET结合,开发企业级应用,...

    UML基础及Visio建模

    Microsoft Visio是一款强大的图形设计和绘图工具,特别适用于创建流程图、组织结构图以及UML模型。通过Visio,开发者可以方便地绘制各种UML图: 1. **模板支持**:Visio提供了丰富的UML模板,用户可以选择合适的...

    运用Visual Stadio和Visio进行UML设计..Net

    Visio则是微软的一款专业绘图软件,尤其擅长创建流程图、组织结构图和UML图表。在.Net项目中,Visio可以提供更为丰富的UML图表类型,如活动图、状态图和组件图,这些在Visual Studio中可能并不全面。Visio的用户界面...

    uml2.5-visio2013 模板

    Visio 2013则是Microsoft公司推出的一款专业绘图软件,特别适合创建流程图、组织结构图以及UML模型。本资源包含“uml2.5-visio2013 模板”,专为学习者提供了一套完整的UML 2.5绘图工具,但请注意,该模板仅供学习...

    jude画UML图,轻松画UML图,占资源小

    - **绘制图表**:选择所需的UML图类型,例如用例图或类图,然后在画布上添加元素,如类、对象、用例等,并通过简单的拖拽和编辑操作来构建你的模型。 - **属性编辑**:每个UML元素都有自己的属性,Jude提供了直观...

    学习画UML图,java,c++

    同时,掌握基本的绘图工具,如Visio、PlantUML或在线工具,将帮助你更高效地绘制和分享UML图。 在实际开发中,UML不仅仅是一种静态的描述工具,还可以通过动态模型(如交互图和状态图)展示系统的行为。结合Java和...

    UML2.2-Visio2010.zip

    然后,参考VisioUML2.2Tips.pdf中的指导,了解如何使用这些工具来绘制各种UML图。例如,通过拖拽符号库中的元素到画布上,可以创建类图来表示软件结构;用例图则用来描绘系统与用户的交互;序列图和协作图用于表示...

Global site tag (gtag.js) - Google Analytics