UML基础知识

Posted ZBQ科技

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UML基础知识相关的知识,希望对你有一定的参考价值。

点击上方蓝字了解更多精彩
UML基础知识

什么是UML

UML是统一建模语言,是为了面向对象开发系统的产品进行说明、可视化和编制文档的方法

类图

  • 类图的设计也是面向对象分析和设计阶段的第一个最关键的步骤,系统动态行为的建模都以此为基础
  • 通过对用户需求的分析,在面向对象软件开发的分析和设计阶段,通过建立类图描述软件系统的对象类型以及它们之间的关系,为进一步软件的编码实现提供足够的信息
  • 开发人员、测试人员和维护人员通过类图,可以查看编码的详细信息,即软件系统的实现由哪些类构成,每个类有哪些属性和方法,以及类之间的源码依赖关系

UML基础知识

访问权限

  • -  private
  • +  public
  • #  protected
  • ~  friendly

其它

  • _  表示属性或者方法是静态的
  • 倾斜  表示抽象方法

类与类之间的关系

泛化关系(Generalization) [ is -a ]

含义:表示一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力

画法:带空心三角形的实线,空心三角形指向父类(父接口)

UML基础知识

关联关系(Associations)

单向关联关系

介绍:第一个类含有第二个类的对象,但是第二个类不含有第一个类的对象

画法:在类图使用带箭头的实线表示,箭头从使用类指向被关联的类UML基础知识

  • 双向关联

    画法:在类图中用一条直线(可以有两个箭头)连接两个类表示它们之间的双向关联关系

UML基础知识

和类Course的一个实例关联的类Student对象的数量为0到任意多个,用“*”来表示

和类Student的一个实例关联的类Course对象的数量为6

    • 关联数量

      具体数字n 比如6
      * 或 0..* 0到任意多个
      0..1 0个或1个
      1..* 1到任意多个

实现关系(realization)

介绍:表示一个class类实现interface接口(可以是多个)

画法:带空心三角形的虚线,空心三角形指向接口

UML基础知识

依赖关系(Dependency)

介绍:一个对象在运行期间会用到另一个对象的关系

画法:带箭头的虚线,箭头指向被使用者

UML基础知识

组合关系(Composition)

介绍:组合是一种强的“拥有”关系,是一种contains-a的关系,体现了严格的部分和整体关系,部分和整体的生命周期一样

画法:带实心菱形的实线,菱形指向整体

UML基础知识

聚合关系(Aggregation)

介绍:表示一种弱的“拥有”关系,即has-a的关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。两个对象具有各自的生命周期

画法:带空心菱形的实线,菱形指向整体

UML基础知识

示例

UML基础知识

(来源: https://mubu.com/doc/explore/27218



  • 参考:

    西北工业大学-面向对象编程与设计-马春燕

    https://mubu.com/doc/explore/27218

  • https://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html

    https://www.jianshu.com/p/57620b762160

  • 标准文件:https://www.omg.org/spec/UML/2.5.1/PDF





END




(此图修改自网络)



以上是关于UML基础知识的主要内容,如果未能解决你的问题,请参考以下文章

UML基础

UML图之时序图

android小知识点代码片段

[vscode]--HTML代码片段(基础版,reactvuejquery)

UML学习个人总结——UML基础知识

UML关系详解(泛化实现依赖关联组合聚合)