当前位置: 首页 > news >正文

[豪の学习笔记] 软考中级备考 基础复习#10

跟学视频:学以致知Learning - 软件设计师 基础阶段|考点理论精讲

Chapter 10 - UML建模

1 - 概述

​ 统一建模语言UML是面向对象软件的标准化建模语言。UML由三个要素构成:UML的基本构造块支配这些构造块如何放置在一起的规则运用于整个语言的一些公共机制

​ UML的词汇表包含三种构造快:事务、关系和图

事务是对模型中最具代表性的成分的抽象,关系把事务结合在一起,图聚集了相关的事务

​ 事务包括结构事务、行为事务、分组事务和注释事务

  • 结构事务(Strcutural Thing),通常是模型的静态部分,描述概念或物理元素。结构事务包括类(Class)、接口(Interface)、协作(Collaboration)、用例(Use Case)、主动类(Active Class)、构件(Component)和节点(Node)
  • 行为事务(Behavior Thing),是UML模型的动态部分,它们是模型中的动词,描述了跨越时间和空间的行为。共有两类主要的行为事务:交互(Interaction)和状态机(State Machine)
  • 分组事务(Grouping Thing),是UML模型的组织部分,它们是一些由模型分解成的“盒子”,在所有的分组事务中,最主要的分组事务是(Package)
  • 注释事务(Annotational Thing),是UML模型的解释部分,这些注释事务用来描述、说明和标注模型的任何元素。注解(Note)是一种主要的注释事务,注解是一个依附于一个元素或者一组元素之上,对它进行约束或者解释的简单符号

​ UML中有四种关系:依赖、关联、泛化和实现

  • 依赖(Dependency),依赖是两个事务间的语义关系,其中一个事务(独立事务)发生变化会影响另一个事务(依赖事务)的语义
  • 关联(Association),关联是一种结构关系,它描述了一组链,链是对象之间的连接。聚合(Aggregation)是一种特殊类型的关联,它描述了整体和部分间的结构关系组合(Composition)也是一种特殊类型的关联,它同样体现了整体与部分间的关系,但比聚合更强,也称为强聚合
  • 泛化(Generalization),泛化是一种特殊关系/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象,用这种方法,子元素共享了父元素的结构和行为
  • 实现(Realization),实现是类元之间的语义关系,其中一个类元制定了由另一个类元保证执行的契约,在两种地方要遇到实现关系:一种是在接口和实现它们的类或构件之间;另一种是在用例和实现它们的协作之间

image-20250914140927921

2 - 类图

​ 类图(Class Diagram)展现了一组对象、接口、协作及其之间的关系,在面向对象系统的建模中所建立的最常见的图就是类图

​ 类图给出了系统的静态设计视图,包含主动类的类图给出了系统的静态进程视图。作为模型管理视图还可以含有包或子系统,二者都用于把模型元素聚集成更大的组块

​ 类图用于对系统的静态视图建模,这种视图主要支持系统的功能需求,即系统要提供给最终用户的服务

​ 当对系统的静态设计建模时,通常以下述三种方式之一使用类图:对系统的词汇建模、对简单的协作建模、对逻辑数据库模式建模

image-20250914145458641

3 - 用例图

​ 用例图(Use Case Diagram)展现了一组用例、参与者(Actor)以及两者之间的关系。用例图通常包括用例、参与者、扩展关系、包含关系

​ 用例图用于对系统的静态用例视图进行建模,主要支持系统的行为,即该系统在它的周边环境的语境中所提供的外部可见服务

​ 当对系统的静态用例视图建模时,可以用下列两种方式来使用用例图:对系统的语境建模、对系统的需求建模

image-20250914145827044

4 - 顺序图

​ 顺序图(或称序列图)和协作图均被称为交互图,它们用于对系统的动态方面进行建模。一张交互图显示的是一个交互,由一组对象及其之间的关系组成,包含它们之间可能传递的消息

​ 顺序图是强调消息时间序列的交互图,协作图则是强调接收和发送消息的对象的结构组织的交互图

​ 交互图用于对一个系统的动态方面建模,在大多数情况下,它包括对类、接口、构件和节点的具体的或原型化的实例及其之间传递的消息进行建模。交互图可以单独使用,用于可视化、详述、构造和文档化一个特定的对象群体的动态方面,也可以用来对一个用例的特定控制流进行建模

image-20250914153704629

5 - 活动图

​ 活动图(Activity Diagram)是一种特殊的状态图,它展现了在系统内从一个活动到另一个活动的流程

​ 活动图专注于系统的动态视图,它对于系统的功能建模特别重要,并强调对象间的控制流程

image-20250914155556278

6 - 状态图

​ 状态图(State Diagram)展现了一个状态机,它由状态、转换、事件和活动组成。状态图关注系统的动态视图,对于接口、类和协作的行为建模尤为重要,强调对象行为的事件顺序

​ 状态图通常包含简单状态和组合状态、转换(事件和动作)

​ 状态图关注系统的动态视图,它对接口、类和协作的行为建模尤为重要,它强调对象行为的事件顺序

image-20250914160159498

7 - 通信图

​ 通信图(Communication Diagram)强调收发消息的对象的结构组织,强调参加交互的对象的组织

​ 产生一张通信图,首先要将参加交互的对象作为图的顶点,然后把连接这些对象的链表示为图的弧,最后用对象发送和接收的消息来修饰这些链,这就提供了在协作对象的结构组织的语境中观察控制流的一个清晰的可视化轨迹

​ 通信图有路径、通信图有顺序号

image-20250914160628283

8 - 构件图

​ 构件图(Component Diagram)展现了一组构件之间的组织和依赖。构件图专注于系统的静态实现视图。它与类图相关,通常把构件映射为一个或多个类、接口或协作

image-20250914160835344

http://www.wxhsa.cn/company.asp?id=3676

相关文章:

  • 题解:CF2137D Replace with Occurrences
  • 题解:CF2137C Maximum Even Sum
  • 第02周 java预习
  • 编码规范
  • 深入解析:【译】Visual Studio 八月更新已发布 —— 更智能的人工智能、更出色的调试功能以及更多控制权
  • 命令模式在 TPL Dataflow 反馈回路管道中的应用及问题解决
  • Ubuntu 24.04 服务器调整MySQL 8.0.42 三节点集群(一主两从架构)安装部署配置教程
  • 使用almalinux基础镜像创建nginx镜像
  • docke容器版Nessus登录+破解+激活+特征库更新
  • 我把Cursor当磁盘清理工具用,非常棒! - ukyo-
  • vue项目
  • 第九篇:数据库服务克隆应用
  • Anti-Proxy Attendance 题解
  • 【2024-2025第二学期】助教工作总结
  • 开始每小时记录日程
  • 5【鸿蒙/OpenHarmony/NDK】使用Node-API进行异步任务开发
  • 控制器指令
  • 题解:AT_abc421_c [ABC421C] Alternated
  • MySQL数据库:SQL数据类型
  • Ubuntu 安装
  • 幼等数论
  • 搭建rocketmq的三主三从遇到的坑
  • 深入解析:轻松Linux-9.进程间通信
  • 2025.9.14——1黄1绿
  • Ubuntu 中改图片大小
  • Day01
  • 认识眼图和眼图的参数
  • 【芯片设计-信号完整性 SI 学习 1.2 -- loopback 回环测试】 - 实践
  • 【科研绘图系列】R语言绘制地图和散点图 - 指南
  • Java NIO 学习小记