UML学习笔记

定义

  • 统一建模语言, Unifed Modeling Language
  • 非专利的第三代建模和规约语言

特点

  • UML是一种开发的方法
  • 用于说明、可视化、构建和编写一个正在开发的面向对象的、软件密集系统的制品的开放方法
    • 制品:包含在软件开发过程中的产生各种各样的产物,如:模型、各种流程图、源代码、测试用例
  • UML展现了一系列最佳工作实际,这些最佳实践在对大规模、复杂系统进行建模方面,特别是在软件架构层次已经被验证有效
    • 对系统有更直观的认识,并且通过不同类型的透视图有利于大家的交流沟通

分类

UML2.2中一共定义了14种图示,分类如下:

  • 结构式图形:强调系统式的建模
  • 行为式图形:强调系统模型中触发的事件
  • 交付式图形:属于行为式图形子集合,强调系统模型中资料流程

结构式图形

  • 静态图(类图,对象图,包图)
  • 实现图(组件图,部署图)
  • 剖面图
  • 复合结构图

行为式图形

  • 活动图
  • 状态图
  • 用例图

交付式图形

  • 通信图
  • 交互概述图(UML2.0)
  • 时序图(UML2.0)
  • 时间图(UML2.0)

UML类图

Class Diagram:用于表示类、接口、实例等之间的互相的静态关系
虽然名字叫类图,但类图中并不只有类(包含很多,比如:权限、属性、方法等)

  • UML箭头方向:子类指向父类

  • 实线–>继承

  • 虚线–>实现

  • 空心三角–>继承或者实现
    实线--继承   |   虚线--实现

  • 实线–>关联

  • 虚线–>依赖
    在这里插入图片描述

  • 空心菱形–>聚合

整体和局部的关系; has a;弱关系;生命周期不同(一只大雁挂了,但大雁群不会挂)

在这里插入图片描述

  • 实心菱形–>组合

整体和局部的关系;与聚合的关系相比,关系更加强烈,两者具有相同的生命周期;contains-a的关系;强关系;有相同的生命周期(鸟挂了,翅膀也就挂了)

在这里插入图片描述

上图中的数字含义。假设有A类和B类,数字标记在A类侧

  • 0…1:0或1个实例
  • 0…*:0或多个实例
  • 1…1:1个实例
  • 1:只能有一个实例(B实例只能与一个A实例相关)
  • 1…*:至少有一个实例(B实例可以与一个或者多个A实例相关)

UML时序图

是显示对象之间的交互的图,这些对象是按时间顺序排序的
时序图中包括的建模元素主要有:
对象、生命线、控制焦点、消息等

在这里插入图片描述

  1. 图形上方的长方形:Client、Server、Device 表示类;c、s、d表示类的实例。
  2. 长方形向下延伸的虚线:生命线。时间从上向下流逝,上面代表过去,下面代表未来。生命线仅存在实例的生命周期内。
  3. 生命线上的长方形竖条,表示实例处于某种活动中,work这个活动,称之为控制焦点。
  4. 横着的方向的箭头,比如实线箭头(2:open)表示方法的调用。虚线箭头(3:)表示方法返回
  5. 实线实心箭头:同步调用
  6. 实线空心箭头:异步调用
  7. 虚线空心箭头:返回
  8. 箭头说表示的元素表示:消息

大话设计模式图

UML类图、时序图、用例图非常的重要。
时序图:大概可以了解需求的整体的调用关系和时间的对应关系

另外一篇比较好的文章:https://blog.csdn.net/monkey_d_meng/article/details/6005764

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

IccBoY

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

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

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

打赏作者

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

抵扣说明:

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

余额充值