标签:
一、什么是类图
类图从通俗的角度来讲,我认为是一种用来描述一个模型静态结构的图,包括:模块的定义,模块的功能以及比较重要的是描述模块之间的关系。通过这种图的描述方式,可以让读者从一个直观的角度来去了解一个软件项目的整体框架,而不用像通过阅读代码来学习,这样可以省略一些在无关紧要的实现细节上面的开销。(个人见解)
能够百度到的对类图的定义:
类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性信息。
类图(Class diagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。
类图(Class diagram)是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。
二、类图能描述什么
用比较规范的说法来讲,类图所能描述的模块之间的关系有如下几种:
泛化(Generalization):可以理解为一种继承的关系,子类与父类之间的关系,使读者可以看到模块是怎样复用父类的功能,又有哪些特有的功能
实现(Realization):没有用过,据说是一种类似于抽象类的定义与实现的过程
关联(Association):类似于数据库ER图中实体集之间的关系描述:多对多,多对一,一对一等等
聚合(Aggregation):强调的是一种依附的关系,只是被依附的对象和依附者都可以单独存在,而不是像泛华中描述的父子关系
组合(Composition):整体与部分的关系,一种类似于描述包含的关系,强调极强的关联性
依赖(Dependency):我觉得也可以理解为调用关系,一个模块需要使用其他模块时存在这种关系
需要强调的是:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
三、我自己画的类图
也就是在团队项目中的类图:
可以看到有4个类,在类图中均给出了每个类的属性以及方法,而类与类之间均为调用关系,这是由于功能拆分的原因:将一个大的功能拆分为几个模块来实现,自然每个模块均有其使用的地方,同时也有缺少的功能,那么这时通过调用的方式来实现功能的拼接。
标签:
原文地址:http://www.cnblogs.com/kiyoshikazuya/p/5601134.html