什么是UML?

UML(Unified Model Language),统一建模语言,是一种可以用来表现设计模式的直观的,有效的框图语言。类似于流程图,通过采用一系列的线条和图形来描述出面向对象软件的整体架构。
UML图总分为三大类
静态建模:类图、对象图、用例图
动态建模:时序图、通信图、状态图、活动图
物理建模:构件图、部署图

00 | 基础知识

  • UML图形

    UML图形包括四大类:结构、行为、分组和注释

    1. 结构:结构图形是UML中的静态部分(类比中英文中的名词部分),用以描述其中的概念部分。结构图形中包括类、接口、协作、用例、主动类、构建、制品和结点等;

    结构图形

    1. 行为:行为图形是UML中的动态部分(类比中英文中的动词部分),用以描述其中的动作行为。行为图形中包括了交互、状态机和活动等;

    行为图形

    1. 分组:分组图像是UML中的组织部分(类比一个完整的中英文短句),用以描述由模型分解出来的一部分区域。其中最主要的分组图形就是包,包是把结构、行为打包的机制,仅在开发时存在,是一种纯粹的概念;

    包

    1. 注释:注释图形是UML中的解释部分(类比中英文中的注释、注解),用以描述、说明和标注模型中的任意元素;

    注释

  • UML关系

    UML关系包括四种:依赖、关联、泛化和实现

    -UML关系

    1. 依赖:一个独立元素发生变化会影响另一个独立元素。在UML图形中,通常把依赖化成一条可能由方向的虚线;

    2. 关联:描述一组对象之间的结构关系连接。聚集是一种特殊的关联,描述了整体和部分之间的结构关系;

    3. 泛化:一种描述特殊-一般关系的语义,指特殊元素(子类的对象)可替代一般元素(父类的对象)的关系,特殊元素共享一般元素的结构和行为。在UML图形中,通常把一个泛化关系画成一条带有空间三角箭头的实线;

    4. 实现:指的是一个类指定了由另一个类保证执行的约定关系。在UML图形中常把一个实现关系画成一条带有空心三角箭头的虚线。实现关系通常用在两个情况上:

      1. 接口和实现他们的类之间;
      2. 用例和实现他们的协作之间;

01 | 静态建模

类图

类图展现了一组对象、接口、协作和它们之间的关系。在面向对象系统的建模中所建立的最常见的图就是类图。类图给出系统的静态设计视图,也包括主动类的类图给出的关系系统静态进程视图。

类图中主要包括:类、接口、协作和关系(依赖、泛化、关联)、注释
UML类图

类图用于堆系统的静态设计建模,这种建模主要描述出系统的功能需求。根据建模的对象,通常用以下三种方式进行建模

  1. 面向系统的词汇建模:描述这些抽象词汇和他们的职责关系;

  2. 面向简单的协作建模:协作是一些共同工作的类、接口和其他元素的群体,对系统中合同的类之间的关系进行可视化的描述;

  3. 面向逻辑数据库模式建模:将模式看作为数据库的概念进行设计,描述系统中对数据操作的关系;

对象图

对象图展现了某一时刻一组对象以及它们之间的关系,描述了在类图中所建立的事物的实例静态快照,一般包括对象和它们之间的连接

UML对象图

用例图

用例图展现了一组用例、参与者以及他们之间的关系

用例图通常包括:用例、参与者、关系(用例间的扩展、包含关系,参与者与用例间的关联关系,用例与用例以及参与者与参与者之间的泛化关系

UML用例图

02 | 动态建模

时序图

时序图是应用场景的可视化、图形化表示形式,描述了以时间顺序组织的对象之间的交互活动。在嵌入式中,对平台芯片启动流程时常需使用时序图描述出系统启动的各级顺序。

时序图中把参加交互的对象放在图的上方水平排列(发起方居左,接收方居右),把对象发送和接收的消息沿垂直方向按时间顺序从上到下排列,形成一种随时间推移的控制流可视化痕迹。

时序图有两个特点:有对象生命线有控制焦点

UML时序图

通信图

通信图强调收发消息的对象的结构组织

类比有向图,通信图中将参加交互的对象作为图的顶点,连接这些对象的的链作为图的弧,最后用对象发送和接收的消息来描述这些链。

通信图有两个特点:路径顺序号

UML通信图

状态图

状态图展现了一个状态机,它由状态、转换、事件和活动组成,关注系统的动态视图,对于接口、类和协作的行为建模及其重要,主要强调对象行为的事件顺序。
状态图对系统的动态方面建模,主要包括出现在系统结构的任意视图中的对象按照顺序发生的行为

状态图通常包括简单状态和组合状态、转换

  • 状态:指对象的生命周期中某个条件或者状态,在此期间对象将满足某些条件或者执行某些动作,即对象执行了活动的结果

UML状态图

活动图

活动图是一种特殊的状态图,它展现了在系统内从一个活动到另一个活动的流程,专注于对象间的控制流程

活动图一般包括活动状态和动作状态、转换和对象,可以表示分支、合并、分岔和汇合

  • 分支:描述基于布尔表达式的可选择路径

  • 合并:描述两条控制流重新合并为一个控制流

  • 分岔:描述一个控制流分程两个或多个并发控制流

  • 汇合:两个或多个并发控制流的同步

UML活动图

03 | 物理建模

构件图

构件图展示了一组构建之间的组织和依赖,专注于系统的静态实现,通常把一个构建表示为类、接口、协作,与类图相关。

构件图

部署图

部署图展现了系统运行时处理结点以及其中构建的配置。

通常一个结点是一个在运行阶段存在并代表一个计算资源,即具备处理事件的能力,通常包含多个构件

UML部署图

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ltd Pikashu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值