UML基础

300 阅读5分钟

1 什么是UML

- UML是Unified Model Language的缩写,中文是统一建模语言,由一整套图表组成的标准化建模语言

2 为什么要使用UML

- 使用UML可以在软件开发之前,对整个软件设计有更好的可读性,可理解性从而降低开发风险。同时也能方便各个开发人员之间的交流合作
- UML的目的:
    1. 为用户提供现成的,有表现力的可视化建模语言,以便他们开发和交换有意义的模型
    2. 为核心概念提供可扩展性和特殊化机制
    独立于特定的编程语言和开发过程
    为了解建模语言提供一个正式的基础
    鼓励面向对象工具市场的发展
    支持更高层次的开发概念,如写作,框架,模式和组件
    整合最佳的工作方法

3 UML类图有哪些

- UML类图分为结构图和行为图
- 结构图分为:类图,轮廓图,组件图,组合结构图,对象图,部署图,包图
- 行为图分为:活动图,用例图,状态机图,交互图
    交互图分为:序列图,时序图,通讯图,交互概览图

4 类图

1. 概念:类图是一切面向对象方法的核心建模工具。类图描述了系统中对象的类型以及他们之间存在的各种静态关系
2. 目的:用来表示类,接口以及它们之间的静态结构和关系
3. 类图中的关系:
    1. 泛化:
        - 泛化关系是一种继承关系,表示子类继承父类的所有特征和行为
        - 箭头指向:带三角件头的实线指向父类
    2. 实现:
        - 实现关系是一种类与接口的关系,表示类是接口所有特征和行为的实现
        - 箭头指向:带三角件头的虚线,件头指向接口
    3. 关联:
        - 关联关系是一种拥有关系,它使得一个类知道另一个类的属性和方法
        - 代码体现:成员变量
        - 箭头指向:带普通箭头的实线,指向被拥有者。双向的关联可以有两个箭头,或者没有箭头。单向的关联有一个箭头
    4. 聚合:
        - 聚合关系是一种整体和局部的关系。且部分可以离开整体而单独存在。聚合关系是关联关系的一种,是强的关联关系。关联和聚合在语法上无法区分,必须考察具体的逻辑关系
        - 代码体现:成员变量
        - 箭头指向:带空心菱形的实现,空心菱形指向整体
    5. 组合:
        - 组合关系是一种整体与部分的关系。但部分不能离开整体而单独存在,组合关系是关联关系的一种,是比聚合关系还要强的关系
        代码体现:成员变量
        箭头指向:带实心菱形和普通箭头的实现,实心菱形指向整体
    6. 依赖
        - 依赖关系是一种使用关系,即一个类的实现需要另一个类的协助
        -箭头指向:带普通箭头的虚线,普通箭头指向被使用者

5 组件图

1. 概念:买哦回了系统中组件提供的,需要的接口,端口等,以及它们之间的关系
2. 目的:用来展示各个组件之间的依赖关系

6 部署图

1. 概念:描述了系统内部的软件是如何分布在不同的节点上
2. 目的:用来表示软件和硬件的映射关系

7 对象图

1. 概念:对象图是类图的一个实例,是系统在某个时间点详细状态的快照
2. 目的:用来表示两个或多个对象之间在某一时刻之间的关系

8 包图

1. 概念:描绘了系统在包层面上的结构设计
2. 目的:用来表示包和包之间的依赖关系

9 组合结构图

1. 概念:描述了一个组合结构的内部结构,以及它们之间的关系。这个组合结构可以是系统的一部分或者一个整体
2. 目的:用来表示系统中逻辑上的组合结构

10 轮廓图

1. 概念:轮廓图提供了一种通用的扩展机制,用于特定域和平台定制UML模型
2. 目的:用于在特定领域中构建UML模型

11 用例图

1. 概念:用例图是由参与者,用例,边界以及它们之间的关系构成的用于描述系统功能的视图
2. 目的:用来描述整个系统的功能
3. 用例图中包含三种关系
    - 包含关系使用符号<include>
    - 扩展关系使用符号<extend>
    - 泛化关系

12 活动图

1. 概念:描述了具体业务逻辑用例的实现流程
2. 目的:用来表示用例实现的工作流程

13 状态机图

1. 概念:状态机图对一个单独对象的行为建模,指明对象在它的整个生命周期里,相应不同时间,执行相关事件的顺序
2. 目的:用来表示指定对象,在整个生命周期,响应不同事件的不同状态

14 序列图

1. 概念:序列图根据事件序列展示对象如何进行写作。他展示了在用例的特定场景中,对象如何与其他对象交互
2. 目的:通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作

15 通讯图

1. 概念:描述了收发消息的对象的组织关系,强对象之间的合作关系而不是时间关系
2. 目的:用来显示不同对象的关系

16 交互概览图

1. 概念:交互概览图与活动图类似,但是他的节点是交互图
2. 目的:提供了控制流的概述

17 时序图

1. 概念:时序图被用来显示随时间变化,一个或多个元素的值或状态的更改。也显示时控事件之间的交互和管理它们的事件和期限约束
2. 目的:用来表示元素状态或者随时间的变化而变化的视图