系统分析师 · 建模题 · UML/DFD/ER

系统分析师 UML、DFD、ER 图怎么区分?

系统分析师资料里经常出现 UML、DFD、ER 图。很多同学复习时把它们都当“画图题”,结果考试一换材料就不知道该画什么。其实这三类图回答的问题不同:UML 更偏对象和行为,DFD 看数据怎么流,ER 看数据对象之间是什么关系。

高级科目专题 软考题库编辑部 持续更新

三类图先按“回答什么问题”区分

UML 不是一种图,而是一组建模语言,软考里常见用例图、类图、时序图、状态图、活动图等。它可以描述系统边界、类和关系、对象交互、状态变化和业务流程。

DFD 数据流图重点看数据从外部实体进入系统,经过哪些加工,流向哪些数据存储或外部实体。ER 图重点看实体、属性、联系和多重度,最终常用于数据库设计。

主要回答题干信号
用例图谁使用系统,完成什么目标参与者、用例、系统边界
类图类、属性、操作和关系类、对象、继承、聚合、组合
DFD数据怎么流、经过什么加工外部实体、加工、数据流、数据存储
ER图有哪些实体,实体之间什么关系实体、属性、联系、一对多、多对多
状态图对象状态如何变化状态、事件、转换条件

看到业务流程,不一定就画活动图

很多材料都会描述业务流程,但流程题不一定都画活动图。你要看题目要求。如果它问数据如何在系统中流动,优先考虑 DFD;如果它问角色和系统交互目标,优先考虑用例图;如果它问业务对象关系,优先考虑 ER 图。

考试真正考的是模型与问题的匹配,而不是看到流程两个字就固定画一种图。

判断例子

用户、管理员、支付平台分别和系统发生交互:优先想用例图。

订单数据经过审核、支付、出库几个加工:优先想 DFD。

订单、客户、商品之间有一对多或多对多关系:优先想 ER 图。

订单从待支付、已支付、已发货到已完成:优先想状态图。

复习时要把图和题目材料对应起来

只背图形符号意义不大。更好的训练方式,是拿一段业务材料,分别问自己:这里有哪些外部参与者?有哪些数据流?有哪些实体和联系?哪个对象状态会变化?这样模型才会和材料建立关系。

系统分析师考试更看重分析能力。图画得干净是一方面,更重要的是边界、关系、流向和多重度有没有贴合题目材料。