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

软考架构师考试-UML图总结

考点

选择题 2-4分
案例分析0~1题和面向对象结合考察,前几年固定一题。近3次考试没有出现。但还是有可能考。

UML图概述

1.用例图:描述系统功能需求和用户(参与者)与系统之间的交互关系,聚焦于“做什么”。
2.类图:展示系统的静态结构,描述类、接口、属性、方法及类之间的继承、关联、依赖等关系。
对象图:类图的运行时实例,显示某一时刻具体对象的状态及对象间的链接关系。
4.顺序图:强调对象间消息传递的时间顺序,通过垂直时间轴直观呈现交互时序。
5.协作图(通信图):侧重对象间的结构关联和协作路径,通过编号消息体现交互顺序。
6.活动图:描述业务流程或算法的动态流程,支持分支、并行、循环等逻辑,类似流程图。
7.状态图:描述对象在其生命周期内状态的变化及触发转换的事件,关注“状态驱动的行为”。

附加对比:
类图 vs 对象图:类图是“设计蓝图”,对象图是“运行时快照”。
顺序图 vs 协作图:顺序图重时序,协作图重结构(二者可互相转换,但侧重点不同)。
活动图 vs 顺序图:活动图关注流程控制,顺序图聚焦对象间消息时序。
活动图 vs 状态图:活动图关注流程控制,状态图关注单一对象的状态迁移。
状态图 vs 类图:类图描述静态结构,状态图描述动态行为

1.用例图

在这里插入图片描述

参与者:人形。
用例:椭圆。
系统:方框。

4种关系:
关联:横线。 参与者与用例之间。
泛化:横线+空心三角箭头。 用例之间,参与者之间。
包含:虚线+小箭头+标注<> 用例之间
扩展:虚线+小箭头+标注<> 用例之间。

使用场景:需求分析和需求规约时候的功能需求,常使用用例图来表示。
用例模型流程
1.识别参与者。
2.合并用例获得需求。
3.细化用例描述。
用例模版:
(1)用例名,
(2)用例ID,
(3)用例说明,
(4)前置条件,
(5)后置条件,
(6)事件流,
(7)优先级和非功能需求。
4.调整用例模型。

2.类图

类图(class diagram):类图描述一组类、接口、协作和它们之间的关系。
对象图(object diagram):对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。

三元关联

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

聚合

组合类经常涉及整体和部分之间的物理关系。因此,ATM机是一个由四个部分组成的组合类:“读卡器”(CardReader),“吐钞器”(Cash Dispenser),凭条打印机(Receipt Printer)以及“ATM客户键盘显示器”(ATM Customer Keypad Display)类(如图7-12所示)。ATM组合类和它的四个部分类中的每一个都有一个一对一关联。
在这里插入图片描述

组合

聚合层次是整体/部分关系的一种较弱的形式。在一个聚合里,部分实例能添加到聚合体中,也能从聚合整体中移除。由于这个原因,聚合有可能被用来对概念类建模,而不是对物理类建模。此外,一个部分可以属于多个聚合。聚合层次的一个例子是大学里的“学院”(College)(图 7-13),其部分是“管理办公室”(Admin Office)、一些“系”(Department)以及一些“研究中心”(Research Center)。可以创建新的系,时常也可以撤销老的系或者与其他系合并。可以创建研究中心,或者撤销、合并研究中心。
在这里插入图片描述

泛化

有一些类相似但不相同,它们有些共同的属性,也有其他不同的属性。在泛化 / 特化层次中,共同属性被抽象到一个泛化类,称作超类。不同的属性是特化类的性质,特化类被称作子类。在子类和超类之间有一个 Is a 的关系。超类也被称为父类或祖先类。子类也被称为孩子类或者子孙类。
在这里插入图片描述

3.顺序图

顺序图(sequence diagram, 序列图)。顺序图是一种交互图(interaction diagram),它强调对象之间消息发送的顺序,同时显示对象之间的交互。

在这里插入图片描述

在这里插入图片描述

4.通信图

通信图(communication diagram)。通信图也是一种交互图,它强调对象之间存在的信息收发关系,而不专门突出这些信息发送的时间顺序。

在这里插入图片描述

顺序图和通信图对比

以下是顺序图与通信图的对比表格:

对比维度顺序图(Sequence Diagram)通信图(Communication Diagram)
主要目的强调消息的时间顺序,展示对象间交互的时序逻辑。强调对象的结构关系,展示对象间的关联及协作方式。
消息序列表示通过垂直时间轴自然展示消息顺序,直观清晰。需通过消息编号(如1, 2, 3或嵌套1.1, 1.2)表示顺序,需主动阅读编号。
对象关联可视化对象间关联(如链接)较难直接观察,需通过消息推断。**对象间的链接(连线)**明确显示关联关系,结构布局一目了然。
复杂逻辑适应性循环、条件分支的可读性较差,需用片段(如loopalt)标记。通过编号和消息路径可灵活表示分支,但复杂度高时可能混乱。
多对象交互场景对象过多时,横向排列导致空间紧张,需分页或压缩。对象布局灵活,可自由排列,适合展示多对象的协作网络。
适用场景- 调试时序问题
- 分析用例执行流程
- 需要明确操作顺序时。
- 设计对象协作模式
- 理解系统结构关系
- 重构对象交互时。
优点- 时序清晰
- 适合展示动态流程
- 易理解消息触发顺序。
- 结构关系明确
- 适合展示静态协作
- 灵活适应复杂布局。
缺点- 对象关联隐式
- 分支/循环降低可读性
- 横向扩展性差。
- 消息顺序需主动解析
- 编号复杂时易混乱
- 时序不够直观。
  • 优先用顺序图:当关注**“何时发生什么”**(如API调用顺序、事件流程)。
  • 优先用通信图:当关注**“谁与谁协作”**(如微服务架构中的对象依赖关系)。

5.活动图

活动图是一种描述控制流和活动中序列的UML 图。活动图显示了活动序列、决策结点和循环,甚至还有并发活动。活动图在工作流建模中被广泛使用,例如,在面向服务的应用中。

在这里插入图片描述

6.状态图

状态图是UML中的一种行为图,专注于描述单个对象在其生命周期内可能经历的不同状态,以及触发状态变化的事件。

在这里插入图片描述

架构师考试 出题内容

选择题:

(1)根据描述选择是哪种类型图。

在这里插入图片描述
(2)根据描述选择是哪种关系。
在这里插入图片描述

案例分析题

前几年考过案例分析题,案例分析题属于和面向对象设计相结合考察,
在这里插入图片描述
在这里插入图片描述

http://www.xdnf.cn/news/433261.html

相关文章:

  • EF Core 数据库迁移命令参考
  • KIVI: A Tuning-Free Asymmetric 2bit Quantization for KV Cache
  • 影刀RPA开发-采集爬取京东读书书籍
  • 【React中函数组件和类组件区别】
  • day 22
  • 制作一款打飞机游戏47:跳转
  • ESP32C3连接wifi
  • java架构设计
  • 笔记项目 day02
  • 蓝卓生态赋能“星链计划”火热招募中
  • CAElinux系统详解
  • 保护数据安全的关键一步-安装加密软件
  • 进程与线程:07 CPU调度策略
  • python无法导入自己的包
  • Qt 样式表qss学习
  • 6大住宅代理IP服务商测评(2025更新)
  • 【xxl-job调度器的源码分析】
  • 结构化数据处理
  • GPU服务器集群部署
  • 【越狱检测】HSF: Defending against Jailbreak Attacks with Hidden State Filtering
  • c语言第一个小游戏:贪吃蛇小游戏06
  • 逃离 AI 困境:保障 “说不” 的权利,守护数字自由
  • Selenium自动化测试
  • git cherry-pick和git stash命令详解
  • Python爬虫如何应对网站的反爬加密策略?
  • 第九届御网杯网络安全大赛初赛WP
  • 多线程与并发之进程
  • Focal Loss 原理详解及 PyTorch 代码实现
  • 运行Spark程序-在shell中运行
  • 思路解析:第一性原理解 SQL