适合Java程序员看的UML学习手册

UML

UML(Unified Modeling Language,统一建模语言)是用来设计软件蓝图的可视化建模语言,是一种为面向对象系统的产品进行说明、可视化和编制文档的标准语言,独立于任何一种具体的程序设计语言。

1997 年 UML 被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标准。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。

UML的基本构件

类(Class)是指具有相同属性、方法和关系的对象的抽象,它封装了数据和行为,是面向对象程序设计(OOP)的基础,具有封装性、继承性和多态性等三大特性。在 UML 中,类使用包含类名、属性和操作且带有分隔线的矩形来表示。

  1. 类名

就是类的名字,如Student

  1. 属性

类里面声明的变量,格式如下:[可见性]属性名:类型[=默认值]

  1. 操作

类里面声明的方法,格式如下:[可见性]名称(参数列表)[:返回类型]

注意:“可见性”表示该属性对类外的元素是否可见,包括公有(Public)、私有(Private)、受保护(Protected)和朋友(Friendly)4 种,在类图中分别用符号+、-、#、~表示。

类图用 3 个矩形拼接表示,最上面的部分标识类的名称,中间的部分标识类的属性,最下面的是类的方法。

示例:

类图中,需注意以下几点:

  • 抽象类或抽象方法用斜体表示
  • 如果是接口,则在类名上方加 <>
  • 字段和方法返回值的数据类型非必需
  • 静态类或静态方法加下划线

接口

接口(Interface)是一种特殊的类,它具有类的结构但不可被实例化,只可以被子类实现。它包含抽象操作,但不包含属性。它描述了类或组件对外可见的动作。在 UML中接口有如下几种表示方式:

类之间的关系

  1. 依赖关系

依赖关系中,一个事物的变化影响另一个事物的变化。在代码中,某个类的方法通过局部变量、方法的参数或者对静态方法的调用来访问另一个类(被依赖类)中的某些方法来完成一些职责。

线条表示方式:使用带箭头的虚线来表示,箭头从使用类指向被依赖的类

示例:

  1. 关联关系

是对象之间的一种引用关系,用于表示一类对象与另一类对象之间的联系,如老师和学生、师傅和徒弟

线条表示方式:双向的关联可以用带两个箭头或者没有箭头的实线来表示,单向的关联用带一个箭头的实线来表示,箭头从使用类指向被关联的类

示例:

  1. 聚合关系

是整体和部分之间的关系。聚合关系也是通过成员对象来实现的,其中成员对象是整体对象的一部分,但是成员对象可以脱离整体对象而独立存在。例如,学校与老师的关系,学校包含老师,但如果学校停办了,老师依然存在。

线条表示方式:聚合关系可以用带空心菱形的实线来表示,菱形指向整体

示例:

  1. 组合关系

也表示类之间的整体与部分的关系,但是这个部分不能脱离整体而存在。例如:头和嘴的关系,没有了头,嘴也就不存在了。

线条表示方式:组合关系用带实心菱形的实线来表示,菱形指向整体

示例:

  1. 泛化关系

是父类与子类的关系,代表继承

线条表示方式:泛化关系用带空心三角箭头的实线来表示,箭头从子类指向父类

示例:

  1. 实现关系
    是接口与实现类之间的关系,代表实现

线条表示方式:实现关系使用带空心三角箭头的虚线来表示,箭头从实现类指向接口

示例:

整体示例图:

接下来就可以动手实践了,推荐建模工具:UMLet

书山有路勤为径,学海无涯苦作舟
原文地址:https://www.cnblogs.com/javammc/p/14932148.html