
系统分析师——统一建模语言一文搞懂UML统一建模语言考点系统分析师——统一建模语言一、UML 是什么有什么用二、软考中 UML 的考察方式1. 客观题2. 案例分析3. 论文题三、UML 图的分类总览四、逐图精讲4.1 类图Class Diagram⭐⭐⭐⭐⭐4.2 用例图Use Case Diagram⭐⭐⭐⭐⭐4.3 顺序图Sequence Diagram⭐⭐⭐⭐⭐4.4 状态图State Diagram ⭐⭐⭐⭐4.5 活动图Activity Diagram ⭐⭐⭐⭐4.6 构件图Component Diagram ⭐⭐⭐4.7 部署图Deployment Diagram⭐⭐⭐4.8 对象图Object Diagram ⭐⭐4.9 通信图Communication Diagram旧称协作图 ⭐⭐五、易混对比六、UML 与 41 视图的联系七、总结以下内容如有错误欢迎大家指正若有侵权烦请告知一、UML 是什么有什么用UMLUnified Modeling Language统一建模语言是一种标准化的可视化建模语言它用一套图形符号来描述软件系统的静态结构和动态行为。注意三个关键词语言它有自己严谨的语法和语义不是随便画画框线图。建模它是设计阶段的产物回答系统长什么样、怎么运转而不是写代码本身。可视化把复杂的系统结构和交互逻辑用图的方式表达出来方便团队沟通、文档沉淀和架构评审。UML 的价值在于在动手写代码之前先把系统画出来让需求方、设计师、开发人员用同一种语言交流。对软考来说它是软件设计阶段最重要的建模工具也是论文里体现你做过正规架构设计的必备素材。二、软考中 UML 的考察方式1. 客观题分类题给出一串图名让你选出哪些属于行为图/静态图或哪些属于交互图。概念辨析题给出一段场景描述问适合用哪种图来描述。例如描述对象之间消息的时间顺序→ 顺序图。关系题考类图中的关联、聚合、组合、依赖、泛化、实现之间的区别与图形表示。其他考 UML 的“41” 视图、UML 三要素基本构造块、规则、公共机制、类图与对象图的关系等。2. 案例分析读图填图给出一张用例图或类图的局部让你补全参与者的名字、用例名、关系类型include / extend / 泛化。选图说理描述一个业务场景让你选择合适建模并用文字解释。细节默写用例建模步骤、两种图形区别、两种关系区别。3. 论文题系统架构设计师和系统分析师的论文中UML 是高频素材。常见问法“结合你的项目论述如何使用 UML 进行系统建模/需求分析/架构设计。”“论述某一类图如用例图、类图在系统开发中的应用。”论文中要用理论 项目实例的方式说明你在什么阶段用了什么图、解决了什么问题、效果如何。切记不要只背概念要准备 1~2 个能展开的项目细节。三、UML 图的分类总览UML 2.x 共定义了 14 种图软考层面主要掌握 9 种。它们可以按描述静态结构还是动态行为分为两大类✅ 结构图也是静态图无时间流程、描述结构/定义/视图类图、对象图、包图、组合结构图、构件图、部署图、轮廓图核心特征只定义“有什么、是什么”不描述“怎么运行、怎么流转”。✅ 行为图也是动态图 随时间变化、描述运行行为用例图、活动图、状态机图、序列图、通信图、时序图、交互概览图核心特征描述流程、状态变迁、消息交互、执行时序。注意用例图的分类归属存在争议四、逐图精讲4.1 类图Class Diagram⭐⭐⭐⭐⭐是什么描述系统中类的静态结构包括类的属性、操作以及类与类之间的关系。类图是 UML 中最核心、使用最频繁的图。核心掌握点主要考六大类关系的符号和辨析关系语义图形符号依赖一个类的变化影响另一个类虚线箭头指向被使用者关联对象间的结构联系双向的关联可以有两个箭头或者没有箭头单向的关联有一个箭头指向被拥有者聚合整体与部分部分可独立存在空心菱形菱形在整体连线指向部分组合整体与部分部分不能独立存在实心菱形菱形在整体连线指向部分泛化继承一般与特殊实线空心三角箭头子类指向父类实现类实现接口虚线空心三角箭头实现类指向接口记忆点– 聚合VS组合聚合部分可独立存在组合部分随整体销毁而销毁– 关联VS依赖关联长期持有依赖临时一次性使用– 泛化VS实现泛化是类继承类实现是类遵从接口规范4.2 用例图Use Case Diagram⭐⭐⭐⭐⭐是什么从用户视角描述系统功能清单与系统边界构建系统静态用例视图不描述执行步骤。核心掌握点主要考三大核心元素和四类关系的符号与辨析– 系统边界System Boundary用矩形表示代表系统的内部与外部的隔离界线。系统的所有用例必须画在边界内外部参与者必须画在边界外。– 参与者Actor用火柴人或小人符号表示代表在系统边界之外与系统进行交互的外部实体可以是人、外部硬件设备或者其他第三方系统。– 用例Use Case用椭圆表示代表系统能够为参与者提供的一个完整且具有独立业务价值的功能或交互流。关系语义图形符号关联参与者和用例之间的通信和交互关系实线无箭头泛化参与者之间用例之间 用来描述继承关系实线带空心三角形子用例指向父用例扩展特定条件下才执行的备选/异常流程虚线箭头从扩展用例指向基用例标extend包含必然执行公共子功能虚线箭头指向被包含用例标include记忆点– 参与者之间的关系注意参与者和参与者之间只有泛化关系参与者和用例之间只有关联关系– 用例模型 VS 用例图用例图只是用例模型的图形部分完整的用例模型还包括用例描述前置条件、基本流、备选流– 用例建模四阶段识别系统外部参与者人、外部系统、设备、定时器基于参与者目标识别系统用例完整、有价值功能梳理用例间关系泛化、包含、扩展绘制用例图调整优化编写用例规约前置后置条件、基本流、备选流、异常流4.3 顺序图Sequence Diagram⭐⭐⭐⭐⭐是什么按时间顺序展示对象之间消息的交互垂直方向代表时间轴从上到下时间推移水平方向代表参与交互的各个对象。核心掌握点对象实例矩形框格式对象名:类名对象名可以为空:类名匿名对象放在图顶部横向排列。 注意是实例不是类类图描述类模板顺序图是对象实例交互。生命线Lifeline对象下方竖直虚线代表这个对象在交互期间存活的时间。对象销毁时生命线终止打 ×。激活框激活条Focus of control生命线上的窄矩形。代表对象正在执行操作处于激活状态。收到消息对象开始执行 → 激活框开始操作执行完毕返回 → 激活框结束。消息Message—— 核心水平箭头从发送者生命线指向接收者生命线从上到下代表先后顺序。消息类型语义图形符号调用消息同步消息发送者发消息后阻塞等待接收者处理完返回发送者才继续往下执行实心箭头实线返回消息同步消息处理完成结果返回给调用方可以省略不画开放箭头虚线异步消息发送消息之后不等待返回直接继续执行自己代码接收者异步处理空心箭头实线简单消息只表达消息传递不区分同步 / 异步简化画法开放箭头实线记忆点❌ 错误顺序图描述类之间交互✅ 正确对象实例之间交互不是类。❌ 错误水平轴是时间✅ 正确垂直方向从上到下是时间。❌ 错误激活框代表对象一直存在✅ 正确生命线代表对象存活激活框代表对象正在执行方法。对象活着不一定处于激活状态。❌ 混淆 alt 和 opt✅ alt多分支互斥if elseopt可选只有一个分支可以不执行。❌ 混淆顺序图、状态图✅ 顺序图多个对象消息交互状态图单个对象一生的状态变迁。4.4 状态图State Diagram ⭐⭐⭐⭐是什么描述单个对象生命周期内所有状态、状态转移、触发事件、监护条件。只针对一个对象。核心掌握点主角是单个对象事件触发状态切换。怎么考客观题描述电梯/订单/TCP连接的状态变化→ 状态图。考状态转移五要素源状态、目标状态、事件、监护条件guard、动作。考特殊状态初始状态实心圆、终止状态圆环、组合状态、历史状态。辨析状态图通常只描述一个对象的状态机活动图描述多个活动之间的流程。4.5 活动图Activity Diagram ⭐⭐⭐⭐是什么描述业务流程、活动步骤可以包含多个对象表达工作流重点是活动流转、分支、泳道划分责任对象。核心掌握点描述活动 / 工作流不是单个对象可以有泳道。怎么考客观题描述业务流程/工作流应使用哪种图→ 活动图。活动图与状态图辨析活动图强调活动的流转面向过程状态图强调状态的变迁面向对象的状态机。考泳道Swimlane的作用把活动按职责分配给不同的参与者/部门。考活动图的组成元素起点、终点、活动、转移、分支、分叉与汇合、泳道。4.6 构件图Component Diagram ⭐⭐⭐是什么实现视图描述软件构件模块、库、包、构件接口构件之间依赖关系。构件是可独立部署的代码单元。核心掌握点构件是软件模块关注代码组织。怎么考选择题区分构件图和部署图。构件 软件模块。4.7 部署图Deployment Diagram⭐⭐⭐是什么部署视图描述物理节点服务器、设备节点上部署构件描述软硬件物理分布。核心掌握点节点是硬件实体构件部署在节点上。怎么考选择题辨析构件图 vs 部署图。构件图看软件模块部署图看硬件节点。4.8 对象图Object Diagram ⭐⭐是什么类图实例。描述某一个时刻系统里面对象实例以及对象之间链接。核心掌握点对象图是实例快照类图描述模板对象图描述某一瞬间实例。怎么考大多选择题概念辨析案例极少出现。区分类图 模板对象图 快照。4.9 通信图Communication Diagram旧称协作图 ⭐⭐是什么交互图同样描述对象消息交互强调对象之间的连接关系不突出时间顺序消息用编号表达先后。核心掌握点和顺序图语义等价可以互相转换侧重点不同。怎么考选择题对比辨析顺序图看时间线通信图看对象连接通信图必须有链link和消息编号。五、易混对比状态图 VS 活动图状态图聚焦单个对象对象在生命周期的状态变化由事件驱动状态迁移。活动图聚焦活动 / 业务流程描述一系列动作支持分支、泳道描述工作流。顺序图 VS 通信图两者都属于交互图语义等价。顺序图突出消息时间顺序通信图突出对象之间的连接关系消息用序号标记顺序。类图 VS 对象图类图描述类的定义静态模板对象图运行某时刻对象实例快照。构件图 VS 部署图构件图描述软件构件、模块之间依赖软件层面部署图描述硬件节点构件部署在硬件节点物理部署层面。六、UML 与 41 视图的联系视图关注点对应UML图逻辑视图系统提供给用户的功能面向对象建模类图、对象图开发/实现视图软件在开发环境的模块组织构件图、包图进程/过程视图系统的动态特性并发、性能、交互顺序图、通信图、活动图、状态图物理/部署视图软件如何映射到硬件部署图1场景将上述视图串起来的核心用例用例图七、总结重中之重用例图、类图、顺序图选择 案例大题常客辨析题常客状态图、活动图选择题最爱考二者区别。概念选择题构件图、部署图、对象图、通信图一般只考概念区分很少大题。论文素材需求阶段用例图→领域建模类图→交互场景顺序图→业务流程活动图→架构实现构件图→物理部署部署图。