UML类图语法介绍

红太狼 2023-09-23 19:44 198阅读 0赞

UML类图语法介绍

  • 一 官方定义
    • 基本介绍
    • UML 图分类
    • 建模工具
  • 二 六大关系
    • 2.1 依赖关系
      • 代码体现
      • UML图示
    • 2.2 泛化关系
      • 代码体现
      • UML图示
    • 2.3 实现关系
      • 代码体现
      • UML图示
    • 2.4 关联关系
      • 代码体现
      • UML图示
    • 2.5 聚合关系
      • 代码体现
      • UML图示
    • 2.6 组合关系
      • 代码体现
      • UML图示

一 官方定义

UML - Unified modeling language UML (统一建模语言),是一种用于软件系统分析和设计的语言工具,
用于帮助软件开发人员进行思考和记录思路的结果

基本介绍

UML图:通过不同的图形和符号,来描述软件模型以及各个元素之间的关系
在这里插入图片描述
依赖关系 :一条虚线加箭头的形式
泛化关系:一条实线加三角箭头,箭头要指向父类
实现关系:一条虚线加三角箭头 箭头方向指向接口
关联关系

单向关联: 一条实线加一个箭头
双向关联: 一条实线 (一条实线加两个箭头)

聚合关系: 一条实线加上空心菱形来表示聚合关系
组合关系: 一条实线加上实心菱形来表示组合关系

UML 图分类

  • 用例图(use case)
  • 静态结构图:类图、对象图、包图、组件图、部署图
  • 动态行为图:交互图(时序图与协作图)、状态图、活动图

UML类图:描述类之间的关系

建模工具

  • word,利用word工具可以绘制简单的UML图,但是这是一种非专业的手段,而且绘制起来比较麻烦
  • 利用VISIO工具进行UML图的绘制
  • 利用PowerDesigner工具绘制UML图形,PowerDesigner支持标准数据建模UML
  • IDEA中可以使用PlantUML插件来画类图,也可以下载安装UML Support插件 附录图

二 六大关系

2.1 依赖关系

是一种使用关系,一个类的实现,需要另一个类的协助,逻辑上 use a 表示
只要在类中使用到了对方,是依赖关系,是一种最基本的关系

其他的五种关系,都是依赖关系的特例

代码体现

  • 类中使用到了对方
  • 类的成员属性
  • 方法的接受的参数类型
  • 方法的返回值类型
  • 方法内部使用到了

    //案例演示 - 依赖关系的形式
    public class PersonServiceBean {

    1. //类的成员属性
    2. private PersonDao personDao;
    3. //方法的接收参数类型
    4. public void save(Person person) {
    5. }
    6. //方法的返回值类型
    7. public IDCard getIDCard() {
    8. return new IDCard();
    9. }
    10. //方法内部使用到
    11. public void modify() {
    12. //违反了迪米特法则 可以这样写,
    13. Department department = new Department();
    14. }

    }

    class PersonDao {

    }

    class IDCard {

    }

    class Person {

    }

    class Department {

    }

UML图示

UML符号:一条虚线加箭头的形式在这里插入图片描述

2.2 泛化关系

泛化关系指的就是继承关系 (语法)

代码体现

  1. class PersonBean{
  2. public void save(){
  3. //TODO...
  4. }
  5. public void delete(){
  6. //TODO...
  7. }
  8. }
  9. public class PersonServiceBean extends PersonBean{
  10. }

UML图示

UML符号:一条实线加三角箭头,箭头要指向父类
在这里插入图片描述

2.3 实现关系

实现关系实际上 A类实现了B接口,A,B存在实现关系 (语法层面)

代码体现

  1. //案例演示 - 实现关系
  2. interface PersonService{
  3. void delete();
  4. }
  5. public class PersonServiceBean implements PersonService{
  6. @Override
  7. public void delete() {
  8. System.out.println("true = " + true);
  9. }
  10. }

UML图示

UML符号:一条虚线加三角箭头 箭头方向指向接口
在这里插入图片描述

2.4 关联关系

关联关系体现的是业务逻辑上的关系
关联关系具有导航性:单向关联,双向关联 (代码层面上)
关联关系还具有多重性:一对一,一对多,多对多 (业务逻辑上)

代码体现

  1. //单向一对一
  2. class Person{
  3. public IDCard idCard;
  4. }
  5. class IDCard{
  6. //并没有使用到Person类
  7. }
  8. //双向一对一
  9. class Person{
  10. public IDCard idCard;
  11. }
  12. class IDCard{
  13. public Person person;
  14. }

UML图示

UML符号
单向关联 一条实线加一个箭头
双向关联 一条实线 (一条实线加两个箭头)
在这里插入图片描述

2.5 聚合关系

聚合关系,是关联关系的一个特例
具有导航性
具有多重性

聚合关系描述的是业务逻辑上整体和部分的关系
整体和部分如果可以分开就构成聚合关系,分不开就是组合关系

代码体现

  1. //案例演示 - 聚合关系
  2. public class Computer {
  3. public Monitor monitor;
  4. public Mouse mouse;
  5. }
  6. class Monitor{
  7. }
  8. class Mouse{
  9. }

UML图示

UML符号:一条实线加上空心菱形来表示聚合关系在这里插入图片描述

2.6 组合关系

聚合关系描述的是业务逻辑上整体和部分的关系
整体和部分如果可以分开就构成聚合关系,分不开就是组合关系

代码体现

业务逻辑上人和身份证是可以分开单独存在的,但是人和头是不可以分开的。

  1. //案例演示 - 组合关系
  2. class Person{
  3. public IDCard idCard; //聚合关系
  4. public Head head = new Head(); //组合关系
  5. }
  6. class IDCard{
  7. }
  8. class Head{
  9. }

UML图示

UML符号:一条实线加上实心菱形来表示组合关系
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,198人围观)

还没有评论,来说两句吧...

相关阅读

    相关 UML

            软件开发过程中经常会遇到UML建模,那么你对UML符号是否熟悉,这里向大家简单介绍一下UML类图符号,每种符号都有不同的意义,希望通过本节的学习你对UML类图符

    相关 UML——

            什么是类?        类是具有相同属性和方法的一组对象的抽象,是面向对象设计中的基本单位。比如老虎、鱼、鸟等这些动物都有生命,都需要进行新陈代谢

    相关 UML-

    类图 类图主要包含两部分:类定义和类关系 类定义:用来表示某个类 类关系:用来表示类之间的关系 类定义 类定义图包含三部分:类名称、属性区、方法区

    相关 UML

            在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggr

    相关 UMLUML--

    类的关系:泛化、关联、依赖、实现   泛化:可以用“is-a-kind-of”来理解,也可以叫做继承(两者会有一些区别但不是很大)。指的是一个类的功能都来自于另外的类的功能