UML(Unified Modeling Language)的主要作用是将自然主体抽象化、关系化。
UML中建模基本可以划分为九类。
类图(Class Diagram)
类图中的几种关系:
-
泛化(Generalization)
可以理解为是继承关系,适用于父子类之间,表示一般与特殊的关系。
如父亲于儿子。
方式:带实线的三角箭头,箭头指向父类。 -
实现(Realization)
可以理解为是约束关系,适用类与接口之间,表示具有特征和行为的实现。
如鸟类与麻雀。
方式:带虚线的三角箭头,箭头指向接口。 -
关联(Association)
可以理解为是拥有关系,可以是单向的也可以是双向的,还可以自己拥有自己。表示个体的持有关系。
如班级和学生。
方式:实线(+箭头),箭头指向持有的对象,双向的可以不需要箭头或两个箭头。 -
聚合(Aggregation)
可以理解为整体与部分的关系,类似关联,部分可以独立存在,就根据实际意义来划分。
聚合从本意上来说是将分散的个体聚集到一起,如一个班级的学生就是有多个学生个体聚合而成。
方式:空心菱形+箭头,箭头指向部分。 -
组合(Composition)
也可以理解为整体与部分的关系,但是部分离开整体则无实际意义。
如公司与部分。
方式:实心菱形+箭头,箭头指向部分。 -
依赖(Dependency)
可以理解为一种使用的关系,即一个类的实现需要另一个类。
方式:虚线+箭头 ,箭头指向被依赖的类
类之间关系的强弱:
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
另外八种分别是:
- 用例图(Use Case Diagram)
描述了作为一个外部的观察者的视角对系统的印象。
强调这个系统是什么而不是这个系统怎么工作。 - 对象图(Object Diagram)
简化类图,用来描述类之间的逻辑关系,描述系统在具体时间点上所包含的对象以及各个对象的关系。 - 顺序图(Sequence Diagram)
描述对象之间的交互顺序,着重体现对象间消息传递的时间顺序。 - 协作图(Collaboration Diagram)
描述对象之间的合作关系,侧重对象之间的消息传递 - 状态图(Statechart Diagram)
表示某个类所处的不同状态以及该类在这些状态中的转换过程 - 活动图(Activity Diagram)
表示两个或多个对象之间在处理某个活动时的过程控制流程 - 组件图(Component Diagram)
描述代码构件的物理结构以及各构件之间的依赖关系 - 配置图(Deployment Diagram)
显示系统的硬件和软件的物理结构
网友评论