云计算百科
云计算领域专业知识百科平台

UML(统一建模语言)详细笔记

文章目录

      • UML(统一建模语言)详细笔记
      • 一、UML概述
      • 二、UML的三大构造块
      • 三、4种事物(Things)
        • 1. 结构事物(Structural Things)
        • 2. 行为事物(Behavioral Things)
        • 3. 分组事物(Grouping Things)
        • 4. 注释事物(Annotational Things)
      • 四、4种关系(Relationships)
        • 1. 依赖(Dependency)
        • 2. 关联(Association)
        • 3. 泛化(Generalization)
        • 4. 实现(Realization)
      • 五、14种图(Diagrams)
        • 结构图(7种)——描述系统的静态结构
        • 行为图(7种)——描述系统的动态行为
      • 六、5种视图(4+1视图模型)
      • 七、3种扩展机制
      • 八、知识体系总结

UML(统一建模语言)详细笔记

一、UML概述

UML(Unified Modeling Language,统一建模语言)是一种用于软件系统可视化建模的标准语言,由Booch、Rumbaugh和Jacobson三人于1990年代中期整合各自的建模方法而成,后被OMG(对象管理组织)采纳为标准。

核心特点:

  • 是一种可视化的建模语言,不是编程语言
  • 用于描述、可视化、构造和文档化软件系统的工件
  • 独立于具体的编程语言和开发过程
  • 适用于面向对象分析与设计(OOA/OOD)

二、UML的三大构造块

UML的基本构造块由三部分组成:事物(Things)、关系(Relationships)和图(Diagrams)。


三、4种事物(Things)

事物是UML模型中最基本的组成单元,分为以下四类:

1. 结构事物(Structural Things)

模型中最静态的部分,代表概念上或物理上的元素。

结构事物说明
类(Class) 具有相同属性、操作、关系和语义的对象集合
接口(Interface) 一组操作的集合,定义服务的契约
协作(Collaboration) 描述一组对象共同完成某个功能的结构
用例(Use Case) 描述系统对外提供的功能单元
活动类(Active Class) 拥有自己的控制线程的类
构件(Component) 可替换的物理模块,如代码文件、库
节点(Node) 运行时存在的物理元素,如服务器、设备
2. 行为事物(Behavioral Things)

模型中的动态部分,代表时间和空间上的变化。

  • 交互(Interaction):描述对象之间为实现特定目的而进行的消息传递
  • 状态机(State Machine):描述一个对象在其生命周期内响应事件的状态变迁
3. 分组事物(Grouping Things)

用于将模型元素组织成更大的单元。

  • 包(Package):一种通用的分组机制,用于将相关的类、用例等组织在一起,类似于文件夹
4. 注释事物(Annotational Things)

模型的解释说明部分。

  • 注解(Note):用于对模型元素添加注释、约束或补充说明,用虚线连接到被注释的元素

四、4种关系(Relationships)

关系定义了事物之间的连接方式:

1. 依赖(Dependency)
  • 含义:一个事物的变化会影响另一个事物的语义
  • 表示:虚线箭头 –>
  • 示例:一个类的方法参数引用了另一个类
2. 关联(Association)
  • 含义:描述一组对象之间的结构连接关系
  • 表示:实线 ——
  • 特殊形式:聚合(空心菱形)、组合(实心菱形)
  • 示例:教师与学生之间的教学关系
3. 泛化(Generalization)
  • 含义:一般与特殊的关系,即继承关系
  • 表示:实线 + 空心三角箭头 ——▷
  • 示例:学生类继承自人类
4. 实现(Realization)
  • 含义:一个类实现接口所定义的契约
  • 表示:虚线 + 空心三角箭头 –▷
  • 示例:一个具体类实现某个接口

五、14种图(Diagrams)

UML 2.0定义了14种图,分为结构图和行为图两大类。

结构图(7种)——描述系统的静态结构
序号图名用途说明
1 类图(Class Diagram) 描述类、接口及其之间的关系,是OO设计的核心
2 对象图(Object Diagram) 类图的实例快照,展示某一时刻的对象及其链接
3 构件图(Component Diagram) 建模可替换的物理模块及其依赖关系
4 部署图(Deployment Diagram) 描述软件在硬件节点上的分布和映射
5 包图(Package Diagram) 展示系统的命名空间和模块划分
6 组合结构图(Composite Structure Diagram) 描述类的内部结构及协作关系
7 制品图(Artifact Diagram) 描述系统中物理制品(文件、库、可执行文件等)及其关系
行为图(7种)——描述系统的动态行为
序号图名用途说明
1 用例图(Use Case Diagram) 从用户视角捕获系统功能需求和边界
2 序列图(Sequence Diagram) 按时间顺序展示对象之间的消息交互
3 通信图(Communication Diagram) 展示对象间的消息传递与协作关系(侧重结构)
4 状态机图(State Machine Diagram) 刻画对象生命周期中的状态变迁
5 活动图(Activity Diagram) 描述业务流程或算法的控制流和数据流
6 交互概览图(Interaction Overview Diagram) 由多个小型交互图组合而成的概览图
7 计时图(Timing Diagram) 沿时间轴可视化对象状态变化与时间约束

交互图:序列图、通信图、交互概览图和计时图统称为交互图,它们都用于描述对象之间的交互行为,只是侧重点不同。


六、5种视图(4+1视图模型)

UML支持从不同视角描述系统,采用4+1视图模型:

视图关注的方面主要使用的图
用例视图 系统功能需求 用例图
逻辑视图 系统的功能设计 类图、对象图、状态机图
进程视图 并发与同步 类图、通信图、序列图
实现视图 代码组织结构 构件图
部署视图 软件到硬件的映射 部署图

七、3种扩展机制

UML提供了三种机制来增强其表达能力:

  • 构造型(Stereotype):扩展UML词汇,定义新的构造块,用 << >> 表示,如 <<entity>>、<<service>>
  • 标记值(Tagged Value):为模型元素添加额外的属性信息,如 {version = "1.0"}
  • 约束(Constraint):扩展或修改UML元素的语义规则,用 { } 表示,如 {readOnly}

八、知识体系总结

UML知识体系
├── 3大构造块:事物、关系、图
├── 4种事物:结构事物、行为事物、分组事物、注释事物
├── 4种关系:依赖、关联、泛化、实现
├── 14种图
│ ├── 结构图(7种):类图、对象图、构件图、部署图、包图、组合结构图、制品图
│ └── 行为图(7种):用例图、序列图、通信图、状态机图、活动图、交互概览图、计时图
├── 5种视图(4+1):用例视图、逻辑视图、进程视图、实现视图、部署视图
└── 3种扩展机制:构造型、标记值、约束


记忆口诀:UML = 4事物 + 4关系 + 14图 + 5视图 + 3扩展,其中14图分结构7 + 行为7,行为图中序列图、通信图、交互概览图、计时图合称"交互图"。

赞(0)
未经允许不得转载:网硕互联帮助中心 » UML(统一建模语言)详细笔记
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!