UML类图和时序图

定义

  1. 统一建模语言(英语:Unified Modeling Language,缩写UML)
  2. 非专利的第三代建模和规约语言

特点

  1. UML是一种开放的方法
  2. 用于说明、可视化、构建和编写一个正在开发的面向对象的、软件密集系统的制品(模型、各种流程图、源代码、测试用例等等对他们进行可视化描述和构建)的开发方法
  3. UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效,通过UML可以对系统有更直观的认识,通过不同类型透视图再交流起来也更方便,易于理解

分类

结构式图形

强调的是系统式的建模
  • 静态图(类图,对象图,包图)
  • 实现图(组件图,部署图)
  • 剖面图
  • 复合结构图

行为式图形

强调系统模型中触发的事件
  • 活动图
  • 状态图
  • 用例图

交互式图形

属于行为式图形子集合,强调系统模型中资料流程
  1. 通信图
  2. 交互概述图(UML2.0)
  3. 时序图(UML2.0)
  4. 时间图(UML2.0)

类图

  • Class Diagram:用于表示类、接口、实例等之间相互的静态关系
  • 虽然名字叫类图,但类图中并不是只有类,还有权限、属性、方法等

时序图

  • Sequence Diagram:是显示对象之间交互的图,这些对象是按时间顺序排列的
  • 时序图中包括的建模元素主要有:
    对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等

记忆技巧

UML箭头方向

从子类指向父类
  • 定义子类时需要通过 extends 关键字指定父类
  • 子类一定是知道父类定义的,但是父类并不知道子类的定义
  • 只有知道对方信息时才能指向对方
  • 所以箭头方向是从子类指向父类

实线-继承|虚线-实现

空心三角箭头:继承或实现

实线>继承

米老鼠类继承老鼠类,用实线和空心三角号
如图所示,米老鼠类继承老鼠类,用实线和空心三角号
理解:is-a 关系,扩展目的,不虚很结实

虚线>实现

大雁类实现了一个飞的接口。用虚线和空心三角号
如图所示,大雁类实现了一个飞的接口。用虚线和空心三角号
理解:虚线代表“虚”,无实体。

实现-关联|虚线-依赖

实线-关联

企鹅和气候的关系是关联关系
理解

  • 关系稳定,实打实的关系
  • 表示一个类对象和另一个类对象有关联
  • 通常是一个类中有另一个类对象作为属性

虚线-依赖

在这里插入图片描述
如图所示,动物和水、氧气属于依赖关系(水和氧气,在新陈代谢的方法入参里边)
理解

  • 临时用一下,若接若离,虚无缥缈,若有若无(比如说方法入参或返回值,用一下)
  • 表示一种使用关系,一个类需要借助另一个类来实现功能
  • 一般是一个类使用另一个类做为参数使用,或作为返回值

空心菱形-聚合|实心菱形-组合

菱形就是一个盛东西的器皿(例如盘子)

聚合

代表空器皿里可以放很多相同的东西,聚在一起(箭头方向所指的类)

大雁聚合
如图所示,大雁聚合到一起,形成大雁群这就是聚合关系
理解

  • 整体和局部的关系,两者有着独立的生命周期,是 has-a的关系
  • 弱关系
  • 消极的词(弱=空,也就是空心菱形)

组合

代表满器皿里已经有实体结构的存在,生死与共,不离不弃,绝不苟且偷生,强关系

鸟和翅膀
如图所示,鸟和翅膀,强关系。并且他们拥有相同的生命周期。
理解

  • 整体与局部的关系,和聚合的关系相比,关系更加强烈,两者有相同的生命周期,contains-a的关系。
  • 强关系。
  • 积极的词(强-满,所以是实心菱形)

常见的数字表达及含义

假设有A类和B类,数字标记在A类侧

举个栗子(代表系统某一时刻):

  • 0…1:0或1个实例(B的实例可以与0或1个A的实例相关)
  • 0…*:0或多个实例(B的实例可以与0或多个A的实例相关)
  • 1…1:1个实例(B的实例只能与1个A的实例相关)
  • 1 :只能有一个实例(B的实例只能与1个A的实例相关)
  • 1…*:至少有一个实例(B的实例至少与1个A的实例相关)
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值