三类图先按“回答什么问题”区分
UML 不是一种图,而是一组建模语言,软考里常见用例图、类图、时序图、状态图、活动图等。它可以描述系统边界、类和关系、对象交互、状态变化和业务流程。
DFD 数据流图重点看数据从外部实体进入系统,经过哪些加工,流向哪些数据存储或外部实体。ER 图重点看实体、属性、联系和多重度,最终常用于数据库设计。
| 图 | 主要回答 | 题干信号 |
|---|---|---|
| 用例图 | 谁使用系统,完成什么目标 | 参与者、用例、系统边界 |
| 类图 | 类、属性、操作和关系 | 类、对象、继承、聚合、组合 |
| DFD | 数据怎么流、经过什么加工 | 外部实体、加工、数据流、数据存储 |
| ER图 | 有哪些实体,实体之间什么关系 | 实体、属性、联系、一对多、多对多 |
| 状态图 | 对象状态如何变化 | 状态、事件、转换条件 |
看到业务流程,不一定就画活动图
很多材料都会描述业务流程,但流程题不一定都画活动图。你要看题目要求。如果它问数据如何在系统中流动,优先考虑 DFD;如果它问角色和系统交互目标,优先考虑用例图;如果它问业务对象关系,优先考虑 ER 图。
考试真正考的是模型与问题的匹配,而不是看到流程两个字就固定画一种图。
判断例子
用户、管理员、支付平台分别和系统发生交互:优先想用例图。
订单数据经过审核、支付、出库几个加工:优先想 DFD。
订单、客户、商品之间有一对多或多对多关系:优先想 ER 图。
订单从待支付、已支付、已发货到已完成:优先想状态图。
复习时要把图和题目材料对应起来
只背图形符号意义不大。更好的训练方式,是拿一段业务材料,分别问自己:这里有哪些外部参与者?有哪些数据流?有哪些实体和联系?哪个对象状态会变化?这样模型才会和材料建立关系。
系统分析师考试更看重分析能力。图画得干净是一方面,更重要的是边界、关系、流向和多重度有没有贴合题目材料。