软考中级软件设计师专项-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

目录
相关文章
|
机器学习/深度学习 人工智能 测试技术
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
250 0
|
测试技术 uml
【中级软件设计师】—(针对上午题)UML (三十四)
【中级软件设计师】—(针对上午题)UML (三十四)
|
设计模式 测试技术 数据库
【中级软件设计师】—数据库设计和UML考点总结篇(七)
【中级软件设计师】—数据库设计和UML考点总结篇(七)
|
uml 测试技术
软件设计师考试笔记:UML统一建模语言
统一建模语言UML是用一组视图反应系统的各个方面,以完整地描述系统,每个视图代表系统描述中的一个抽象,显示系统中一个特定的方面。 UML设计视图包含了类、接口和协作,其中设计视图的静态方面由类图和对象图表现;动态图方面由交互图、状态图和互动图表现。
3194 0
|
uml
UML之类图
UML之类图
217 1
|
数据可视化 Java uml
IDEA中一个被低估的功能,一键把项目代码绘制成UML类图
IDEA中一个被低估的功能,一键把项目代码绘制成UML类图
1032 1
使用工厂方法模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程序实
该博客文章通过UML类图和Java代码示例,展示了如何使用工厂方法模式设计一个支持加法、减法、乘法和除法运算的计算机程序,并严格按照类图设计实现程序。
1、使用简单工厂模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程
该博客文章展示了如何使用简单工厂模式设计一个程序,该程序能够根据用户输入的运算符(加、减、乘、除)对两个数进行计算,并提供了相应的UML类图和Java源码实现。
1、使用简单工厂模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程
|
应用服务中间件 uml
【UML】软件工程中常用图:类图、部署图、时序图、状态图
【UML】软件工程中常用图:类图、部署图、时序图、状态图
2711 1
|
设计模式 数据可视化 程序员
软件设计模式:UML类图
软件设计模式:UML类图
273 1