`

用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两种类型在...

    UML基础及Visio建模.pdf

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

    VISIO培训课程

    VISIO功能 1.地图和平面布置图 办公室、展馆布置示意图、立体交通图、地铁及方向图等。 2.工程图 ... 组织结构图、甘特图、鱼骨图、灵感触发图、图表等 6.网络图 网络结构、网站图、详细网络图、机架图

    图书馆管理系统.vsd

    有"用例关系图\对象关系图\类关系图\序列关系图\协作关系图\活动关系图\组件关系图\部署关系图"组成.

    UML期末大作业.zip

    UML期末大作业,包括word,pdf 格式文档,以及所需要的部分visio图,作业要求如下: 以一个实际的应用系统为对象,完成以下内容:对系统进行概述、对系统进行用例建模、对系统进行静态建模、对系统进行动态交互建模...

    简单好用的流程图绘制软件(亿图)

    流程图,网络拓扑图,组织结构图,工作流程图,UML,软件设计,商业图表,2D/3D图形,计划/报表,地图/方向图,数据库 等。 它帮助您更方便,更快捷的阐述设计思想,创作灵感。在设计时亿图采用全拖曳式操作,结合5000多个常用...

    [详细完整版]软件工程试验.doc

    结束语 实验序号 实验二 实验名称:用Visio设计程序流程图、系统流程图和软件结构图 一.实验目的 二.实验类型:基本型 三.实验结果 1、程序流程图 2、机票预订系统流程图 3、软件结构图 四.结果分析 五.结束语 ...

    dia 0.97多语言版(支持中文输入 part 2 完)

    在这一版中,也支援了 UML 静态结构流程图和网路流程图。目前可以读取和储存流程图到自定的档案格式和汇出成 postscript,并且内建了一些常用的图示,如网路架构及流程图等。 软体特色: 1.轻易绘制不同种类的流程图...

    dia 0.97多语言版(支持中文输入 part 1)

    在这一版中,也支援了 UML 静态结构流程图和网路流程图。目前可以读取和储存流程图到自定的档案格式和汇出成 postscript,并且内建了一些常用的图示,如网路架构及流程图等。 软体特色: 1.轻易绘制不同种类的流程图...

    亿图图示专家

    流程图,网络拓扑图,组织结构图,工作流程图,UML,软件设计,商业图表,2D/3D图形,计划/报表,地图/方向图,数据库 等。 它帮助您更方便,更快捷的阐述设计思想,创作灵感。在设计时亿图采用全拖曳式操作,结合5000多个常用...

    UML建模三个工具:StarUML,TelelogicTAU和Rose

    商业版本:TelelogicTAU和RationalRose开源版本:...TelelogicTauSDLSuite主要用于协议的设计、描述、验证及实现,支持图形化的SDL编辑、在线仿真和验证、代码自动生成、MSC(消息顺序图)编辑及测试用例(test

    本学期UML作业—C#(.net)自动贩卖机模拟软件(带界面)

    这个是我在2010学期做的UML作业,里面包含了visio制作的自动贩卖机状态图,一份带截图的报告,一份自动贩卖机模拟软件exe文件,一份软件项目C#代码,全部都是原创,供大家娱乐学习之用

    基于《 软件工程导论(第6版)》张海藩的课件PPT+实验报告+复习提纲

    实验一 用Visio绘制数据流图、ER图、状态图、软件结构图、程序流程图、系统流程图、UML图 实验二 根据事实和相应的常识,为其设计数据流图、状态图、ER图以及软件结构图(HIPO图 实验三 结合计算机语言程序(VC++、...

    网上购物系统分析与设计大作业

    系统分析与设计的大作业,关于网上购物...4.系统关联DFD图及0层DFD图,用Visio 2013画的 5.系统用例图 6.系统分析类图 7.设计类 8.时序图或协作图 9.状态图 10.用户界面设计图 用mockups画的,很好看 11.功能结构设计图

    FMC-Visio Stencils-开源

    支持在MS-Visio 2000和更高版本中创建FMC *图[框图,Petri网,实体关系图(ERD)]的工具。... 该集合使用UML表示法,并包含框图,活动图,序列图,状态图,类图和组件图。 它不包含仿真,导出器甚至形状帮助。

    ioDraw流程图、思维导图、甘特图绘制软件,Windows 32位

    1、ioDraw 是免费的在线作图软件,用于制作流程图、思维导图、甘特图、白板手绘图、拓扑图、组织结构图、UML、ER和时序图、平面设计图、电子电路图等,无需注册即可使用 2、替代Visio的免费软件,无使用限制 3、...

    ioDraw流程图、思维导图、甘特图绘制软件,Windows 64位

    1、ioDraw 是免费的在线作图软件,用于制作流程图、思维导图、甘特图、白板手绘图、拓扑图、组织结构图、UML、ER和时序图、平面设计图、电子电路图等,无需注册即可使用 2、替代Visio的免费软件,无使用限制 3、...

    EdrawSoft Edraw Max 7.2.0.2467 流程图作图工具

    在企业环境中,在人力资源的乡亲需要是能够创建组织结构图,一些商业演示,也许一些方向性图和建筑平面图,引导游客通过设施。但是,在同一个公司,程序员和工程师也需要软件,可以让他们建立UML图,工作流程,程序...

    Draw.io 又名 diagrams

    你可以利用 Draw.io 绘制一系列的图表、图示或图形,包括流程图、UML 类图、组织结构图、泳道图、E-R 图、文氏图等等,适用于商务、工程、电气、网络设计、软件设计等诸多领域的专业绘图。 Draw.io 现已改名为 ...

Global site tag (gtag.js) - Google Analytics