UML,全称为Unified Modeling Language(统一建模语言),是一种用于软件工程和系统设计的标准化建模语言。它提供了一套图形化的符号和标记,用于描述和表示软件系统、系统架构、流程、数据结构、行为和交互。UML的设计旨在帮助开发人员、分析师和设计师更好地理解、沟通和设计复杂的系统。
1. 模型
- 功能模型:从用户的角度展示系统的功能,包括用例图。
- 对象模型:采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类别图、对象图。
- 动态模型:展现系统的内部行为。包括序列图,活动图,状态图。
2. UML图
UML图是UML模型中的可视化表示,用于呈现系统的不同方面和特征。UML定义了多种不同类型的图表,每种图表有其特定的目的和用途。
3. 类图
在UML中类图一般由3部分组成。
第一部分:类名,按照命名规范来定义。
第二部分:属性(Attribute),属性通常值类的成员变量。
第三部分:操作(Operation),操作通常指类的成员方法
[可见性] 属性名:数据类型 [=默认值]
[可见性] 方法名([参数1:数据类型,参数2:数据类型,....]) [:返回值类型]
4. 类之间关系
4.1. 关联关系
关联(Association)关系是一种结构化的关系,用于表示一个类对象与另一个类对象的之间的关系,在 代码中被关联的对象以成员变量的方式体现。
单向关联
双向关联
自关联
多重性关联
多重性关联关系又称为重数性(Multiplicity)关联关系,表示关联对象之间存在数量关系。
数量关系符表示如下
- 1或1..1:表示另一个类的一个对象只与该类的一个对象有关系
- 0..*:表示另一个类的一个对象与该类的零个或多个对象有关系
- 1..*:表示另一个类的一个对象与该类的一个或多个对象有关系
- 0..1:表示另一个类的一个对象没有或只与该类的一个对象有关系
- m..n:表示另一个类的一个对象与该类最少m最多n个对象有关系(m ≤ n)
4.2. 聚合关系
聚合(Aggregation)关系表示整体与部分的关系,在聚合中成员是整体对象的一部分,成员对象可以 脱了整体对象而独立存在。
4.3. 组合关系
组合(Composition)关系也表示整体与部分的关系,在组合中整体对象可以控制成员对象的生命周期,一旦整体对象消亡成员对象将消失。
4.4. 依赖关系
依赖(Dependency)关系是一种使用关系,在大多数情况下依赖关系体现在某个类方法参数上使用另 一个类的对象作为方法参数。
4.5. 泛化关系
泛化(Generalization)关系也就是继承关系。
4.6. 接口与实现关系
接口(Interface)之间也可以有与类之间关系类似的继承关系和依赖关系,接口与类之间同时还存在一 种实现(Realization)关系,在这种关系中类实现了接口中所有的操作。