电脑知识|类图怎么画,系统类图怎么画( 二 )


4、 接口
在没有给出对象的实现和状态的情况下对对象行为的描述 。
一个类可以实现一个或多个接口 。
使用两层矩形框表示 , 与类图的区别主要是顶端有<>显示: 
 
也可以用一个空心圆表示: 

5、 协作
协作是指一些类、接口和其他的元素一起工作提供一些合作的行为 , 这些行为不是简单地将元素加能得到的 。 例如:当你为一个分布式的系统中的事务处理过程建模型时 , 你不可能只通过一个类来明白事务是怎样进行的 , 事实上这个过程的执行涉及到一系列的类的协同工作 。 使用类图来可视化这些类和他们的关系 。
6、 关系
这篇文章的重点 , 详见第二部分 。
二、类之间的几种关系
1、 泛化(Generalization)
A、 是一种继承关系 , 表示一般与特殊的关系 , 它指定了子类如何特化父类的所有特征和行为 , 描述了一种“is a kind of” 的关系 。 例如:老虎是动物的一种 , 即有老虎的特性也有动物的共性 。
B、 用带空心箭头的实线表示 , 箭头指向父类 , 如下图:
2、 实现(Realization)
A、 是一种类与接口的关系 , 表示类是接口所有特征和行为的实现 。
B、 用带空心箭头的虚线表示 , 箭头指向接口 , 如下图:
3、 关联(Association)
A、 一般关联
a、 关联关系是类与类之间的联结 , 它使一个类知道另一个类的属性和方法 , 指明了事物的对象之间的联系 , 如:老师与学生、丈夫与妻子 。 关联可以是双向的 , 也可以是单向的 , 还有自身关联 。
b、 用带普通箭头的实心线表示 。 双向的关联可以有两个箭头或者没有箭头 , 单向的关联有一个箭头 , 如下图:

B、 聚合(Aggregation)
a、 它是整体与部分(整体 has a 部分)的关系 , 且部分可以离开整体而单独存在 , 如车和轮胎是整体和部分的关系 , 轮胎离开车仍然可以存在 。 聚合关系是关联关系的一种 , 是强的关联关系 , 关联和聚合在语法上无法区分 , 必须考察具体的逻辑关系 。
b、 用带空心菱形的实线表示 , 菱形指向整体 , 如下图:
C、 组合(Composition)
a、 它是整体与部分的关系 , 但部分不能离开整体而单独存在 。 如公司和部门是整体和部分的关系 , 没有公司就不存在部门 。 组合关系是关联关系的一种 , 是比聚合关系还要强的关系 , 它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期 。
b、 用带实心菱形的实线表示 , 菱形指向整体 , 如下图:
4、 依赖(Dependency)
A、 元素A的变化会影响元素B , 那么B和A的关系是依赖关系 , B依赖A 。 要避免双向依赖 , 一般来说 , 不应该存在双向依赖 。 关联、实现、泛化都是依赖关系 。
B、 用带箭头的虚线表示 , 箭头指向被依赖元素 。
5、 总结
各种关系的强弱顺序如下:
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
下面这张UML图 , 比较形象地展现了各种类图关系:

Java类图怎么画? 下载一个rational rose软件 , IBM的 。 用这个画类图很简单 。 进入rational rose 在logical view那右键new->class diagram(这个就是类图了),进去之后画类,画完之后,右键选择new attritube就是添加属性,new operation 是添加方法 。 已经告诉你怎么做了 , 自己动动手吧 , 很简单的 。
uml类图关系怎么画 类图用于描述系统中所包含的类以及它们之间的相互关系 , 帮助人们简化对系统的理解 , 它是系统分析和设计阶段的重要产物 , 也是系统编码和测试的重要模型依据 。

推荐阅读