### UML参考手册知识点梳理
#### 一、UML概览
**1.1 UML简介**
- **定义**: 统一建模语言(Unified Modeling Language, UML)是一种标准化的图形化语言,用于对软件密集型系统的制品进行可视化、详述、构造以及文档化。
- **目的**: 提供一套标准的符号系统来描述软件系统的设计,帮助开发者更好地理解和沟通系统架构。
**1.2 UML的历史**
- **起源**: UML源于多种面向对象的方法和技术。
- **1.2.1 面向对象的开发方法**: 随着软件复杂度的增加,面向对象方法逐渐成为主流,旨在通过对象和类的概念来简化系统设计。
- **1.2.2 统一工作**: 1995年,G. Booch、J. Rumbaugh和I. Jacobson开始合作,试图整合各自的面向对象建模方法。
- **1.2.3 标准化**: 在OMG(对象管理组织)的支持下,UML逐渐成为行业标准。
- **1.2.4 核心组员**: G. Booch、J. Rumbaugh和I. Jacobson被认为是UML的主要设计者。
- **1.2.5 统一的意义**: UML的统一减少了不同方法之间的差异,提高了软件开发的效率和质量。
**1.3 UML的目标**
- **促进沟通**: 为软件团队提供共同的语言,以便更好地沟通设计理念。
- **支持系统建模**: 为软件系统提供全面的建模框架。
- **易于扩展**: 支持自定义扩展,以适应特定领域的需要。
**1.4 UML概念域**
- **描述了UML中的核心概念和术语**:
- 类、对象、关联、属性、操作等。
**1.5 表达式和图表语法**
- **定义了如何使用UML图表和符号来表示系统**:
- 如何绘制类图、序列图等。
#### 二、模型的性质与目标
**2.1 什么是模型**
- **定义**: 模型是对现实世界的一种抽象表示,用来描述和理解系统的某些方面。
- **用途**: 建立模型是为了更好地理解、分析和设计系统。
**2.2 模型的用途**
- **辅助设计**: 帮助开发者理解系统需求并制定设计方案。
- **沟通工具**: 作为团队成员之间交流思想和计划的基础。
**2.3 模型的层次**
- **系统级模型**: 描述整个系统的高层次视图。
- **组件级模型**: 关注系统内部的具体组件和模块。
- **代码级模型**: 更细致地描述具体的代码实现细节。
**2.4 模型内容**
- **包括了系统的各个方面**:
- 功能性需求、非功能性需求、架构设计等。
**2.5 模型说明了什么?**
- **模型提供了对系统行为、结构和接口的描述**:
- 例如,用例模型描述了用户与系统之间的交互。
#### 三、基本概念
**3.1 UML视图**
- **概述**: UML视图是根据不同的关注点划分的模型视图集合。
- **静态视图**: 描述了系统的静态结构。
- **用例视图**: 从用户的角度描述系统的功能。
- **交互视图**: 描述系统内部的对象如何交互。
- **顺序图**: 显示对象之间的时间序列。
- **协作图**: 强调对象之间的关系。
- **状态机视图**: 描述对象的状态及其变化。
- **活动视图**: 描述系统的业务流程。
- **物理视图**: 描述系统的物理实现细节。
- **模型管理视图**: 描述模型本身的组织和管理。
**4.1 静态视图**
- **概述**: 描述系统的静态结构,如类图和对象图。
- **类元**: UML中的基本建模单元,可以是类、接口、组件等。
- **关系**: 定义类元之间的联系,如关联、泛化、依赖等。
- **关联**: 表示两个或多个类元之间的连接。
- **泛化**: 描述类之间的继承关系。
- **实现**: 表示一个接口与实现它的类之间的关系。
- **依赖**: 表示一个类元依赖另一个类元的功能。
- **约束**: 对模型施加额外的规则或条件。
**5.1 用例视图**
- **概述**: 描述了系统的外部可见行为,侧重于用户与系统的交互。
- **参与者**: 与系统交互的人或其他系统。
- **用例**: 描述了参与者与系统之间的一个交互序列。
**6.1 状态机视图**
- **概述**: 描述了对象的状态及其变迁。
- **状态机**: 一种表示对象状态和状态转换的模型。
- **事件**: 触发状态转换的动作。
- **状态**: 对象在某一时刻的行为和属性的集合。
- **转换**: 规定了状态之间的迁移路径。
**7.1 活动视图**
- **概述**: 描述了系统的业务流程。
- **活动图**: 一种UML图,用于描述业务流程。
**8.1 交互视图**
- **概述**: 描述了系统内部对象之间的交互。
- **协作**: 强调对象之间的合作关系。
- **交互**: 强调对象之间的消息传递。
- **顺序图**: 显示对象之间的消息传递顺序。
- **合作图**: 强调对象之间的合作关系。
**9.1 物理视图**
- **概述**: 描述了系统的物理实现细节。
- **构件**: 系统中的物理模块或部件。
- **节点**: 表示系统中的物理计算资源。
**10.1 模型管理视图**
- **概述**: 描述了模型本身的组织和管理。
- **包**: 用于组织模型元素。
- **包间的依赖关系**: 描述包之间的依赖关系。
- **访问与引入依赖关系**: 控制元素的可见性和引用。
#### 四、扩展机制
**11.1 扩展机制**
- **概述**: UML提供了一些机制来扩展其基本概念和符号。
- **约束**: 定义了额外的规则或条件。
- **标签值**: 为模型元素添加附加信息。
- **构造型**: 用于创建新的模型元素类型。
- **裁制UML**: 允许根据项目需求调整UML的使用方式。
#### 五、UML环境
**12.1 UML环境**
- **概述**: 讨论了使用UML进行建模时的一些实际问题。
- **语义职责**: 定义了UML模型的含义。
- **表示法职责**: 规定了如何在UML图表中表示模型元素。
- **程序语言职责**: 讨论了UML与具体编程语言之间的关系。
- **使用建模工具建模**: 讨论了在实际开发过程中使用建模工具的重要性及注意事项。
#### 六、参考资料与术语大全
**13.1 术语大全**
- **概述**: 提供了一个详细的术语表,涵盖了UML中的所有专业词汇。
**14.1 标准元素**
- **概述**: 列出了UML标准中定义的所有元素。
#### 七、附录
**15.1 UML元模型**
- **概述**: 描述了UML自身的结构模型。
以上内容概括了UML参考手册中的核心知识点,涉及UML的基本概念、模型的构建和管理等方面,为读者提供了全面的理论基础和实践指导。