UML基本构成元素

概述

	UML由图和元模型组成,主要包括3个基本构造块:事物(Things)、关系(Relationships)和图(Diagrams)

1、四种事物

事物是实体抽象化的最终结果,是模型中的基本成员,UML中包含结构事物、行为事物、分组事物和注释事物。
结构事物(Structural Things)
结构事物是模型中的静态部分,用以呈现概念或实体的表现元素,是软件建模中最常见的元素共有以下7种。

  • 类(Class) :是指具有相同属性、方法、关系和语义的对象的集合。一个典型的类图如图1-1 所示。

  • 接口(Interface) :是指类或组件所提供的服务(操作),描述了类或组件对外可见的动作。
    在这里插入图片描述

  • 协作(Collaboration) : 描述合作完成某个特定任务的一组类及其关联的集合,用于对使用情形的实现建模。一个典型的协作如图1-3所示。
    用例(UseCase):用例定义了执行者(在系统外部和系统交互的人)和被考虑的系统之间的交互来实现的一个业务目标。用例的示意图如图1-4所示。
    在这里插入图片描述

  • 活动类(ActiveClass):活动类的对象有一个或多个进程或线程。活动类和类很相像,只是它的对象代表的元素的行为和其他的元素是同时存在的。典型的活动类图如图1-5所示。

  • 组件(Component):组件是物理的、可替换的部分,包含接口的集合,例如 COM+、JavaBean等。典型的组件图如图1-6所示。
    在这里插入图片描述

  • 节点(Node) :节点是系统在运行时存在的物理元素,代表一个可计算的资源,通常占用些内存和具有处理能力,如图1-7所示。
    在这里插入图片描述
    行为事物(Behavioral Things)
    行为事物指的是 UM,模型中的动态部分,代表语句里的“动词”,表示模型里随着时空不断变化的部分,包含两类。

  • 交互(Ineraction) :交互是由一组对象之间在特定上下文中,为达到特定的目的而进行的系列消息交换而组成的动作,如图1-8所示。

  • 状态机(State Machine) :状态机由一系列对象的状态组成,如图1-9所示。

2、四种关系

关系是将事物联系在一起的方式,UML中定义了4种关系。

  • 依赖(Dependencies) 两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义,如图 1-12 所示。
    在这里插入图片描述

  • 关联(Association) 一种描述一组对象之间连接的结构关系,如聚合关系(描述了整体和部分间的结构关系),如图1-13 所示。
    在这里插入图片描述

  • 泛化(Generalization) 一种一般化一特殊化的关系,如图1-14所示展示了依赖、关联和泛化3种不同的关系

  • 实现(Realization) 类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。实现(Realization)是类元之间的语义关系,其中的一个类元指定了由另一个类元保证执行的契约。在以下两种情况中将出现实现关系:在接口和实现它们的类或构件之间及在用例和它们的协作之间。实现的结构图如图 1-15所示。
    在这里插入图片描述

3、十种图

图是事物集合的分类,UML中共包含10种图。

  • 用例图:展示系统外部的各类执行者与系统提供的各种用例之间的关系。
    在这里插入图片描述

  • 类图:展示系统中类的静态结构(类是指具有相同属性和行为的对象,类图用来描述系统中各种类之间的静态结构)。
    在这里插入图片描述

  • 对象图:是类图的一种实例化图(对象图是对类图的一种实例化)。
    在这里插入图片描述

  • 包图:是一种分组机制。

  • 组件图:展示程序代码的物理结构(描述程序代码的组织结构,各种组件之间的依赖关系)
    在这里插入图片描述

  • 部署图:展示软件在硬件环境中(特别是在分布式及网络环境中)的配置关系(系统中硬件和软件的物理配置情况和系统体系结构)。

在这里插入图片描述- 状态图:描述一类对象具有的所有可能的状态及其转移关系。
在这里插入图片描述

  • 活动图:展示系统中各种活动的执行流程。
    在这里插入图片描述

  • 序列图:展示对象之间的一种动态协作关系(一组对象组成,随时间推移对象之间交换消息的过程,突出时间关系)。
    在这里插入图片描述

  • 协作图:从另一个角度展示对象之间的动态协作关系(对象间动态协作关系,突出消息收发关系)。
    在这里插入图片描述

4、UML图分类

分类 类型 包含 作用
静态建模 用例图 用例图 描述需求
静态建模 静态图 类图、对象图、包图 描述类结构
静态建模 实现图 组件图、部署图 描述软件结构
动态建模 行为图 状态图、活动图 描述动态模型
动态建模 交互图 序列图、协作图 描述交互关系

相关推荐

  1. uml基础-类图

    2024-06-06 09:12:03       52 阅读
  2. html元素基本使用

    2024-06-06 09:12:03       51 阅读
  3. HTML 基本元素是什么?

    2024-06-06 09:12:03       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-06 09:12:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-06 09:12:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-06 09:12:03       87 阅读
  4. Python语言-面向对象

    2024-06-06 09:12:03       96 阅读

热门阅读

  1. 深度学习中无监督学习

    2024-06-06 09:12:03       29 阅读
  2. 正则表达式二

    2024-06-06 09:12:03       26 阅读
  3. 自动化-selenium-元素/窗口常用方法

    2024-06-06 09:12:03       27 阅读
  4. SpringBoot集成:搭建kafka集群 + zookeeper集群

    2024-06-06 09:12:03       30 阅读
  5. 【设计模式】观察者模式(行为型)⭐⭐⭐

    2024-06-06 09:12:03       24 阅读
  6. 基于openssl实现AES ECB加解密

    2024-06-06 09:12:03       23 阅读
  7. Shell 编程之正则表达式与文本处理器

    2024-06-06 09:12:03       27 阅读
  8. Linux之关机重启

    2024-06-06 09:12:03       26 阅读
  9. 【3d】Real-Time Rendering 3rd 笔记1:图形渲染管线

    2024-06-06 09:12:03       31 阅读
  10. C++的算法:Prim算法与Kruskal算法的原理与应用

    2024-06-06 09:12:03       32 阅读