软考中级软件设计师专项-UML图篇

本文涉及的产品
多模态交互后付费免费试用,全链路、全Agent
简介: UML(统一建模语言)是一种用于软件系统建模的标准化语言,能够清晰表达系统的静态结构与动态行为。其核心包括三类构造块:事物、关系和图。事物分为结构事物、行为事物、分组事物和注释事物;关系包括依赖、关联、泛化和实现;图则涵盖了类图、对象图、用例图、序列图、通信图、状态图、活动图、构件图和部署图等,分别用于静态建模、动态建模和物理建模。

简介

UML(统一建模语言)

由于其简单,通义又能够表达软件设计中的动态和静态信息

UML的词汇表包含了3中构造块:事物、关系、图。

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

一、事物

  1. 分类
  1. 构造事务-->(静态)
  2. 行为事务-->(动态)
  3. 分组事务
  4. 注释事务

构造事物

  1. 是UML中的名词,它们通常是模型的静态部分
  2. 图形

行为事物

  1. 是UML模型中的动态部分
  2. 是模型的动词描述了行为
  3. 图形

分组事物

  1. 是UML的组织部分
  2. 图形

注释事物

  1. UML中的解释部分
  2. 图形

例题

二、关系

有四种关系:

  • 依赖
  • 关联
  • 返还
  • 实现

依赖

  1. 两个事物间的语义关系
  2. 独立事物发生变化会影响依赖事物的语义
  3. 例如:
  1. B为独立事物
  2. A为依赖事物
  3. B改变会影响到A

关联

  1. 它描述了一组链,链是对象间的连接。它描述了整体和部分的关系
  1. 在关联图上可以标多重度和角色

例如:

  1. 关系描述为(交叉看):
  1. 一位雇主有0个或0名员工
  2. 一位员工有0个或1名雇主
  1. 聚集是一种特殊的关联

  1. 聚集分为
  1. 聚合:部分和整体的生命周期不一致,整体消失了,部分还存在

  1. 组合:部分和整体生命周期一致,整体消失了,部分也随之消失

  1. 单项关联
  1. 理解:依赖是偶然的,临时的。
  2. 例如:人需要氧气,氧气并不依赖于人
  1. 关联名
  1. 呼吸为此关联的关联名

  1. 关联类
  1. 需要满足条件:
  1. 多对多联系,
  2. A的实例可以重复B的实例
  1. 例如:一个学生可以重复借一本书

  1. 关联的整体格式:

  1. 例题

泛化

父类泛化子类,子类继承父类

  1. 例如

实现

  1. 形状

  1. 常用于

例题

注意:此题答案存在争议

三、UML中的图

  1. 图是一组元素的图形表示,大多数情况下把图画成顶点(代表事物)和弧(代表关系)连通图
  2. 软考需要学习的图:
  1. 静态建模:类图、对象图、用例图
  2. 动态建模:序列图(顺序图、时序图)、通信图(协作图)、状态图、活动图
  3. 物理建模:构件图(组件图)、部署图
  4. 交互图:序列图(顺序图、时序图)、通信图(协作图)

类图

  1. 类图展示了一组对象、接口、写作和它们之间的关系
  2. 对系统静态建模是的三种方式
  1. 对系统的词汇建模
  2. 对简单的协作建模
  3. 对逻辑数据库模式建模
  1. 类的图形
  1. 权限修饰符号
  1. +:public
  2. -:private
  3. #:protectea(受保护的)
  4. ~:package(包的)

  1. 例题

答案:CA

对象图

  1. 展现了某一时刻、一组对象以及它们间的关系
  2. 对系统静态建模
  3. 例题

用例图

  1. 展现了一组用例参与者以及它们间的关系
  2. 对系统静态建模,主要支持系统的行为
  3. 对系统建模的两种方式
  1. 对系统的语境建模
  2. 对系统的需求建模
  1. 包含关系(include
  1. 用例和用例间的关系
  2. 符号:

  1. 例如:A包含B

  1. 例如:当图书管理员需要删除图书操作时,包含了查询图书的步骤。

  1. 扩展关系(extend
  1. 用于表示用例和用例之间的关系
  2. 解释:一个用例执行的时候,可能发生一些特殊或可选的情况,这种情况就是这个用例的扩展
  3. 符号:

  1. 例如:B扩展A

  1. 例如,借书预期后会出现罚款的扩展。

  1. 包含和扩展的区分
  1. 包含:一定执行
  2. 扩展:可能执行

  1. 泛化关系
  1. 参与者与参与者之间的关系
  2. 父类泛化子类
  3. 例如:商家和会员都是用户的子类

  1. 例题:

序列图(顺序图、时序图)

  1. 描述了以时间顺序组织的对象间的交互活动
  2. 序列图不同于通信图的特征
  1. 序列有对象生命线
  2. 有控制焦点
  1. 一张序列图只描述一个用例
  2. 序列图中:实现是看指向自己的方法
  3. 例图

  1. 消息分类
  1. 消息
  2. 返回消息
  3. 同步消息(调用消息)
  4. 一部消息

  1. 同步和异步
  1. 同步:需要等待
  2. 一起执行
  1. 对象销毁符号:X
  2. 例图

  1. 例题

通信图(协作图)

  1. 展现了对象间消息流及其顺序
  2. 强调收发信息的对象的结构组织
  3. 通信图有顺序号
  1. 表示一个消息的时间顺序
  1. 序列图和通信图之间可以相互转换
  2. 例图

  1. 例题

状态图

  1. 展现了一个状态机,它由状态、转换、事件和活动组成。
  2. 状态图只描述一个对象间的交互
  3. 转换又称迁移
  4. 活动也称动作
  5. 转移包括两个状态,源状态和目标状态
  6. 活动可以在状态内执行,也可以在转换时执行
  7. 事件触发转移
  8. 组合状态别名:超状态
  9. 嵌套状态别名:子状态
  10. 状态图是对反应型对象建模
  11. 格式:

状态

  1. 一个状态代表了系统一种行为模式
  2. 形状有:
  1. 初态
  2. 终态
  3. 注意:初态必须有一个,终态可有0个或多个

  1. 状态图形为一个圆角矩形,其中包含了三部分
  1. 状态名(必须有)
  2. 变量(可选)
  3. 活动表(可选)

  1. 转换
  1. 线上事物发生时,状态转换开始

活动

  1. 是由若干个动作组成的
  2. 活动表语法格式:
  1. 事件名(参数表)/动作表达式

事件

  1. 它是对引起系统做动作和从一个状态转向另一个状态的抽象
  2. 例如:用户使用电视遥控器,
  1. 电视剧的状态从关机到开机
  1. 如果箭头线上没有标记事件,则
  1. 源状态的内部活动执行完后自动触发转换

例图

  1. 步骤:
  1. 触发事件并且有水》》开关从关转换为开并且开始烧水

例题

上题解释:C选项并没有说当前状态是B2,所有可能是B1,B3,B4,这样的话就不会触发B2到C3

上题答案为:C

上题:42为:条件;43为:转换

扩展:

事件事件

活动图

  1. 是一种特殊的状态图
  2. 展现了从一个活动到另一个活动的流程
  3. 强调对象间的流程
  4. 对系统建模时,分为两类
  1. 对工作流建模
  2. 对操作流建模
  1. 例图

例题

构件图(组件图)

展现了构件(组件)间的组织和依赖

  1. 半圆为需接口
  2. 满圆为供接口
  3. 关系:需依赖于供
  4. 符号

部署图

  1. 是用来对面向对象系统的物理方面的建模
  2. 展现了运行时处理结点以及其中构件(制品)的配置
  3. 展现了系统软件和硬件之间的关系
  4. 部署图是在实施阶段使用的
  5. <<artiface>>表示制品

  1. 例题

四、总和

例题:

五、杂题

答案:41为:1;42为:3;43为:2

目录
相关文章
|
9天前
|
人工智能 运维 安全
|
7天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
8天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
677 23
|
8天前
|
人工智能 测试技术 API
智能体(AI Agent)搭建全攻略:从概念到实践的终极指南
在人工智能浪潮中,智能体(AI Agent)正成为变革性技术。它们具备自主决策、环境感知、任务执行等能力,广泛应用于日常任务与商业流程。本文详解智能体概念、架构及七步搭建指南,助你打造专属智能体,迎接智能自动化新时代。
|
14天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
1113 110
|
人工智能 数据可视化 数据挖掘
Quick BI 体验&征文有奖!
瓴羊生态推出Quick BI 征文激励计划,鼓励用户分享数据分析实践经验与技术洞察,征集高质量原创文章。内容围绕AI功能体验与BI案例实践,设季奖、年奖及参与奖,优秀作者可获现金奖励、产品内测资格及官方认证形象。投稿截止至2026年3月31日。
Quick BI 体验&征文有奖!