一文了解UML
UML简介
UML(Unified Model Language)统一建模语言:包含整套图表
类图(Class Diagram)
一切面向对象方法的核心建模工具,用来表示类、接口及它们之间的静态结构和关系。类图中有以下关系:
泛化(Generalization)
泛化关系:子类继承父类的关系
箭头指向:带三角箭头的实线,指向父类
实现(Realization)
实现关系:类实现接口的关系
箭头指向:带三角箭头的虚线,箭头指向接口
关联(Association)
关联关系:拥有关系,一个类知道另一类的属性和方法
代码体现:成员变量
箭头指向:带普通箭头的实线,箭头指向被拥有者,双向的关联有2或0个箭头,单向有一个
举例:人和车
聚合(Aggregation)
聚合关系:整体与部分的关系且部分可单独存在,是强关联关系
代码体现:成员变量
箭头指向:带空心菱形的实线,空心菱形指向整体
举例:电脑和键盘
组合(Composition)
组合关系:整体与部分的关系,部分不能单独存在,比聚合关系强的关联关系
代码体现:成员变量
箭头指向:带实心菱形的实线,实心菱形指向整体
举例:鸟和翅膀,部门与员工
依赖(Dependency)
依赖关系:使用关系,一个类的实现需另一个类协助
箭头指向:带普通箭头的虚线,普通箭头指向被使用者
组件图(Component Diagram)
展示系统中组件提供的、需要的接口、端口等及它们间的依赖关系
部署图(Deployment Diagram)
描述系统内部的软件如何分布在不同节点,用来表示软件和硬件的映射关系
对象图(Object Diagram)
是类图的一个实例,是系统在某个时间点的详细状态的快照,用来表示两个或多个对象间在某一时刻间的关系
包图(Package Diagram)
描绘系统在包层面的结构设计,用于表示包与包间的关系
组合结构图(Composite Structure Diagram)
描述一个”组合结构“的内部结构及之间的关系,用于表示系统中逻辑上的”组合结构“
轮廓图(Profile Diagram)
用于特定领域中构建UML模型
用例图(Use Case Diagram)
由参与者、用例、边界及它们之间关系构成的用于描述系统功能的视图
活动图(Activity Diagram)
描述具体业务用例的实现流程
状态机图(State Machine Diagram)
用来表示指定对象在整个生命周期响应不同事件的不同状态
序列图(Sequence Diagram)
根据时间序列展示对象如何进行协作,展示在用例的特定场景中,对象如何与其他对象交互。通过描述对象间发送消息的时间顺序显示多个对象间的动态协作。
通讯图(Communication Diagram)
描述收发消息的对象的组织关系,用来显示不同对象的关系。
交互概览图(Interaction Overview Diagram)
与活动图类似,其节点为交互图,提供了控制流概述。
时序图(Timing Diagram)
用来显示随时间变化,一个或多个元素的值或状态的更改,也显示时控事件间的交互和管理它们的时间和期限约束。