UML基础知识

UML分类
1.结构型的图(Structure Diagram) 类图(Class Diagram)
对象图(Object Diagram)
构件图(Component Diagram)
部署图(Deployment Diagram)
包图(Package Diagram)
2.行为型的图(Behavior Diagram) 活动图(Activity Diagram)
状态机图(State Machine Diagram)
顺序图(Sequence Diagram)
通信图(Communication Diagram)
用例图(Use Case Diagram)
时序图(Timing Diagram)
UML图详细介绍

  • 类图(Class Diagram)
    • 基本介绍
      用来描述类之间关系的图

      UML基础知识
      文章图片
      image.png
      在UML类图中,类使用包含类名、属性(field) 和方法(操作) 且带有分割线的矩形来表示,比如上图表示一个Student类,它包含name,age和address这3个属性,以及getInfo()方法。
    • 写法说明
      属性的完整表示方式: 可见性 名称 :类型 [ = 缺省值]
      方法的完整表示方式: 可见性 名称(参数列表) [ : 返回类型]
      注:【中括号中的内容是可选的】
      可见性的符号有三种:
      (+) :表示public
      (-):表示private
      (#):表示protected(friendly也归入这类)
      因此,上图中的Student类具有3个私有属性和一个公有方法。
    • 【UML基础知识】类图之间的关系
      常见的有以下几种关系: 泛化(Generalization)/继承, 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。
      各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
      • 泛化(继承)
        【对应的是extend关键字】,在UML类图中用带空心三角形的直线表示

        UML基础知识
        文章图片
        image.png
      • 实现
        【对应implement关键字】,在UML类图中用带空心三角形的虚线表示

        UML基础知识
        文章图片
        image.png
      • 组合
        【代码对应成员变量】是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。
        组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期

        UML基础知识
        文章图片
        image.png
      • 聚合
        【代码对应成员变量】是整体与部分的关系,且部分可以离开整体而单独存在。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。
        聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

        UML基础知识
        文章图片
        image.png
      • 关联
        【代码对应成员变量】是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头

        UML基础知识
        文章图片
        image.png
      • 依赖
        【局部变量、方法的参数或者对静态方法的调用】是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖。

        UML基础知识
        文章图片
        image.png
参考
https://www.cnblogs.com/jiangds/p/6596595.html
https://www.cnblogs.com/shindo/p/5579191.html
https://blog.csdn.net/andy_93/article/details/77484430

    推荐阅读