在软件设计师考试的下午应用技术题中,数据流图(DFD)绝对是“常年霸榜”的核心考点,分值占比10-15分,题型稳定却暗藏细节陷阱。不少考生反馈“知识点都懂,一做题就错”,本质是没掌握核心逻辑与实战技巧。本文结合11年至23年真题规律,从基础概念到解题方法,再到真题实战,带你全方位攻克DFD难关。
一、DFD入门:四大核心元素,奠定解题基础
DFD通过四种基本元素描述系统逻辑模型,是分析问题的“第一把钥匙”。记住“实体在外、加工居中、存储存数、箭头流数”的口诀,轻松区分核心概念。
1. 外部实体:系统的“数据来源与终点”
图形标识为矩形,代表系统之外的人、设备或外部系统,仅提供或接收数据,不参与数据处理。解题时可直接从题目说明中提取“人”“系统”“设备”类表述,比如真题中常见的“病人”“巴士司机”“检测设备”“第三方软件”等。
**小技巧**:若子图中实体不明确,可通过父图数据流的指向反向推导,例如父图中“支付信息”从某实体流向系统,子图中未体现则需补充该实体与对应加工的关联。
2. 数据存储:系统的“数据仓库”
图形标识为开口矩形,用于持久化存储系统运行所需数据,表现为数据库表或文件。命名需明确反映存储内容,题目说明中明确提及“XX表”“XX文件”的可直接使用,否则需按“内容+表/文件”格式命名,如“生命特征范围文件”“农事过程表”。
历年真题中高频数据存储类型:订单相关(销售订单表、维修记录文件)、人员相关(人事档案、会员信息表)、业务相关(部件清单、监测信息表),这些都可作为命名参考。
3. 加工:系统的“数据处理核心”
图形标识为圆角矩形,是对输入数据进行处理并产生输出的核心环节,也是DFD解题的关键突破口。需牢记“加工必无黑洞、白洞、灰洞”的准则——即每个加工至少有一个输入数据流和一个输出数据流,输入数据需足够支撑输出结果。
加工命名需遵循“动词+宾语”格式,明确体现处理动作,如“验证订单”“计算总成本”“寻找物流商”,避免使用“订单处理”这类模糊表述。
4. 数据流:系统的“数据传输通道”
图形标识为带名箭头,代表数据的流向,需注意两个核心规则:一是起点或终点必须有一个是加工;二是命名需为名词短语,体现数据内容,如“支付细节”“维修情况”“农事信息请求”。
易错点:实体与数据存储不能直接通过数据流连接,必须经过加工中转;数据流不可为双向箭头,需拆分为两条单向箭头。
二、DFD进阶:三大解题技巧,破解真题核心
DFD真题主要考查“补充缺失数据流”“识别实体/数据存储”“描述加工逻辑”三类问题,掌握以下技巧可实现“题题有思路,解题不纠结”。
1. 补充缺失数据流:从“平衡”与“匹配”入手
这是占分最高的题型(约40%分值),核心围绕三大方法展开,按优先级依次使用:
-
方法一:父图子图平衡原则(最核心)。父图中某加工的输入/输出数据流,必须与子图的输入/输出完全匹配——要么数量、名称一致,要么父图一条数据流对应子图多条数据流,且子图数据流的数据项总和与父图一致。如2011年真题中,父图E2指向系统的“支付细节”数据流,子图中缺失,直接补充E2到对应加工的“支付细节”数据流即可。
-
方法二:加工完整性校验。确保每个加工既有输入又有输出,无“黑洞”(有入无出)、“白洞”(有出无入)。如加工“完成维修”仅输入“维修部件”,无输出,则需补充“维修结果”到对应实体或数据存储的数据流。
-
方法三:题干描述匹配法。将题目说明中的功能描述与数据流图逐一比对,确保所有数据流向都在图中体现。如说明中“农户记录农事活动消耗的投入品”,则需补充“投入品消耗记录”从“农户”到对应加工的数据流。
2. 识别实体/数据存储:“关键词”定位法
这类题目占分约30%,解题关键是从题干和图形中提取关键词:
-
实体识别:优先提取“人”(病人、护理人员、农户)、“外部系统”(库存管理系统、支付系统、第三方软件)、“设备”(传感器、检测设备)等关键词,结合数据流指向确认。
-
数据存储识别:锁定“XX表”“XX文件”“XX清单”等表述,如“销售订单表”“配方表”“部件清单”;无明确名称时,按“存储内容+表/文件”命名,如存储学生信息则命名为“学生表”。
2023年农事管理平台真题中,通过“平台管理员管理租户”“第三方软件通过接口访问”等描述,可快速确定E1(平台管理员)、E2(农户)、E3(租户)、E4(第三方软件),效率远超盲目分析图形。
3. 加工逻辑描述:结构化语言规范表达
这类题目要求用结构化语言(IF-THEN-ELSE)描述加工逻辑,占分约20%,核心是“明确输入-梳理规则-对应输出”,不涉及技术实现细节。
以2019年真题“P5:寻找物流商”为例,规范描述如下:
接收订单信息及物流需求; 匹配固定合作物流商的服务范围与运力; IF 存在符合条件的固定物流商 THEN 向该物流商发送配送请求,接收接单反馈; ELSE 将订单信息录入竞拍系统,接收竞拍结果及中拍物流商信息; ENDIF 输出物流商确认信息至订单处理模块。
易错点:避免使用口语化表述,逻辑分支需完整,输入与输出需对应。
三、DFD实战:历年真题高频考点与避坑指南
结合11年至23年真题分析,DFD考查重点呈现“稳中有变”的特点——基础元素识别是送分题,加工逻辑与数据流补充是拉分题,以下是高频考点与易错点汇总。
1. 高频考点汇总
| 考点类型 | 真题出现频率 | 核心考查内容 | 典型真题案例 |
|---|---|---|---|
| 实体识别 | 每年必考 | 从题干提取“人/系统/设备”,结合数据流指向 | 2021年农业监测系统(E1:传感器,E2:农业专家) |
| 数据存储识别 | 每年必考 | “XX表/文件”关键词提取,按需命名 | 2022年外卖系统(D1:用户/商户信息表) |
| 缺失数据流补充 | 每年必考 | 父图子图平衡、加工完整性、题干匹配 | 2014年巴士维修系统(补充“维修情况”数据流) |
| 加工逻辑描述 | 近5年必考 | 结构化语言,逻辑清晰无歧义 | 2020年缺陷检测系统(缺陷判断逻辑) |
| 数据流组成 | 近3年高频 | 结合题干提取数据项,明确组成关系 | 2023年农事平台(农事信息请求=账号+密码+查询条件) |
2. 避坑指南:70%考生会犯的错误
这些错误是真题丢分重灾区,解题时需逐一对照排除:
-
加工异常:出现“黑洞”(有入无出)、“白洞”(有出无入)、“灰洞”(入不敷出)。如2017年真题中加工“数据清洗”仅输入“原始数据”,未输出结果,需补充“清洗后数据”。
-
数据流违规:实体与数据存储直接连接,如“客户→订单表”需修正为“客户→提交订单→订单表”;出现双向数据流,需拆分为两条单向流。
-
命名错误:加工用名词(如“订单验证”改为“验证订单”),数据流用动词(如“计算费用”改为“费用明细”)。
-
平衡破坏:父图数据流在子图中缺失,或数据项不匹配。如父图“用户信息”在子图中需拆分为“基本信息+身份认证信息”,确保数据项总和一致。
四、DFD备考:高效复习计划与工具
结合考试周期,建议按“基础学习→技巧掌握→真题演练”三阶段备考,周期2-3周即可高效突破:
-
基础阶段(3天):牢记四大元素的图形标识、定义与命名规范,结合本文第一部分内容,做到“看到图形能叫出名称,看到名称能画图形”。
-
技巧阶段(5天):重点掌握“补充缺失数据流”的三大方法,结合2014-2016年真题小案例练习,每道题用三种方法交叉验证,强化解题逻辑。
-
真题阶段(7-10天):从2017-2023年真题中挑选5-8套完整DFD题目,按考试时间(15-20分钟/题)实战演练,对照答案分析错题原因,重点标注“平衡破坏”“命名错误”等高频丢分点。
**推荐工具**:Visio或DrawIO绘制数据流图,直观感受元素关系;整理“真题高频实体/存储名称表”,临考前快速记忆。
---------------------------------------------------真 题---------------------------------------------------
一、试题一(结构化开发方法中的结构化分析方法—数据流图)
1.1 数据流图介绍


1.1.1、外部实体

1.1.2 数据存储


1.1.3、加工


1.1.4、数据流


问题一小技巧:
-
找实体时可以跳过父图直接看子图的过程名对应文档说明找对应的实体,不适用于所有题,但适用于大部分题目

问题二小技巧: -
找数据存储时也可以直接根据子图的过程名找到对应的文字说明找到对应的数据存储名,如果文字说明中明确说明叫什么表或者什么文件,直接用即可,否则需要自己根据题意取名XX表,XX文件
问题三小技巧:
-
方法一:父图子图平衡(父图的实体数据流指向条数和子图的实体数据流指向条数一致)

指向E2的支付细节数据流缺失

-
方法二:加工既有输入数据流也有输出数据流



-
方法三:能量守恒定律(文字描述和子图进行比较是否和文字一致)
数据流的起点或者终点必须有一端保证是加工P,如果不是,那就找错了,两端可以都是加工P

11年上

【问题1】给出 E1~E3 实体名称(3分)
E1:病人 E2:护理人员 E3:医生
【问题2】(4分)
使用说明中的词语,给出图1-2中的数据存储D1〜D4的名称。
D1:生命特征范围文件 D2:日志文件 D3:病历文件 D4:治疗意见文件
【问题3】(6分)
图1-2中缺失了4条数据流,使用说明、图1-1和图1-2中的术语,给出数据流的名称及其起点和终点。


【问题4】(2分)
说明实体E1和E3之间可否有数据流,并解释其原因。

14年上

【问题1】(5分)
使用说明中的词语,给出图1-1中的实体E1〜E5的名称。
E1:巴士司机 E2: 机械师 E3: 会计 E4:主管 E5:库存管理系统
【问题2】(4分)
使用说明中的词语,给出图1-2中的数据存储D1〜D4的名称。
D1:巴士列表文件 D2:维修记录文件 D3:部件清单 D4:人事档案
【问题3】(3分)
说明图1-2中所存在的问题。
【问题4】(3分)
根据说明和图中术语,釆用补充数据流的方式,改正图1-2中的问题。要求给出所补充数据流的名称、起点和终点。

14年下

【问题1】(4分)
根据说明中的词语,给出图1-1中的实体E1〜E2的名称。
E1:客户 E2:供应商
【问题2】(5分)
根据说明中的词语,给出图1-2中的数据存储D1〜D5的名称。
D1:销售订单表 D2:库存表 D3:生产计划表 D4:配方表 D5:采购订单表
【问题3】(6分)
根据说明和图中词语,补充图1-2中缺失的数据流及其起点和终点。


15年上




解析:

15年下



16年上

【问题1】(2分)
使用说明中的词语,给出图1-1中的实体E1〜E2的名称。
【问题2】(4分)
使用说明中的词语,给出图1-2中的数据存储D1〜D4的名称。
【问题3】(6分)
根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。
【问题4】(3分)
如果发送给客户的确认信息是通过Email系统向客户信息中的电子邮件地址进行发送的,那么需要对图1-1和1-2进行哪些修改?用150字以内文字加以说明。

16年下

【问题1】(3分)
使用说明中的词语,给出图1-1中的实体E1〜E3的名称。
【问题2】(3分)
使用说明中的词语,给出图1-2中的数据存储D1〜D3的名称。
【问题3】(4分)
根据说明和图中的术语,补充图1-2中缺失的数据流及其起点和终点。
【问题4】(5分)
实际的证券交易通常是在证券交易中心完成的,因此,该平台的“证券交易”功能需将交易信息传递给证券交易中心。针对这个功能需求,需要对图1-1和图1-2进行哪些修改,请用200字以内的文字加以说明。

17年上


【问题1】(5分)
使用说明中的词语,给出图1-1中的实体E1〜E5的名称。
【问题2】(4分)
使用说明中的词语,给出图1-2中的数据存储D1〜D4的名称。
【问题3】(4分)
根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。
【问题4】(2分)
用200字以内文字,说明建模图1-1和图1-2时如何保持数据流图平衡。
解析:

17年下

【问题1】(3分)
使用说明中的词语,给出图1-1中的实体E1〜E3的名称。
【问题2】(5分)
使用说明中的词语,给出图1-2中的数据存储D1〜D5的名称。
【问题3】(5分)
根据说明和图中术语及符号,补充图1-2中缺失的数据流及其起点和终点。
【问题4】(2分)
根据说明中术语,说明“使用单车”可以分解为哪些子加工?


18年上

【问题1】(3分)
使用说明中的词语,给出图1-1中的实体E1〜E3的名称。
【问题2】(5分)
使用说明中的词语,给出图1-2中的数据存储D1〜D5的名称。
【问题3】(4分)
使用说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。
【问题4】(3分)
使用说明中的词语,说明“预约处理”可以分解为哪些子加工,并说明建模图1-1和图1-2是如何保持数据流图平衡。


18年下

【问题1】(4分)
使用说明中的词语,给出图1-1中的实体E1〜E4的名称。
【问题2】(4分)
使用说明中的词语,给出图1-2中的数据存储D1〜D4的名称。
【问题3】(3分)
根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。
【问题4】(4分)
根据说明中术语,给出图1-1中数据流“客户信息”“房源信息”的组成。


19年上

【问题1】(5分)
使用说明中的词语,给出图1-1中的实体E1〜E5的名称。
【问题2】(4分)
使用说明中的词语,给出图1-2中的数据存储D1〜D4的名称。
【问题3】(3分)
根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点(三条即可)。
【问题4】(3分)
根据说明中的术语,说明图1-1中数据流“学生状态”和“学生信息”的组成。
学生状态=学生心率+体温+学生卡ID+位置+时间
学生信息=学生ID+1{家长ID}*+班级+班主任ID+学生卡ID


19年下

【问题1】(3分)
使用说明中的词语,给出图1-1中的实体E1〜E3的名称。
【问题2】(5分)
使用说明中的词语,给出图1-2中的数据存储D1〜D5的名称。
【问题3】(4分)
根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。
【问题4】(3分)
根据说明,采用结构化语言对“P5:寻找物流商”的加工逻辑进行描述。



20年下

【问题1】(4分)
使用说明中的语句给出图1-1中的实体E1〜E4的名称。
问题1:
E1:检测设备 E2:管理员 E3:检测业务员 E4:监控人员
【问题2】(3分)
使用说明中的语句给出图1-2中的数据存储D1〜D3的名称。
问题2:
D1:模型信息表 D2:检测信息表 D3:基础信息表
【问题3】(5分)
根据说明和图中术语,补齐图1-2中缺失的数据及起点和终点。
问题3:
数据流名称 起点 终点
产品监测信息 P2 P3
监控规则 D3 P5
远程控制命令 E3 P5
基础信息 D3 P6
【问题4】(3分)
根据说明,采用结构化语言对缺陷检测的加工逻辑进行描述。
问题4:
接收到产品检测信息
对所有图像进行检测
IF 一个产品出现一张图像检测不合格
THEN 该产品不合格
不合格产品的检测结果包括产品型号和不合格类型
ENDIF

21年上

【问题1】(5分)
使用说明中的词语,给出图1-1中的实体E1〜E5的名称。
E1:车辆 E2:车主 E3:支付系统 E4:管理人员 E5:道闸控制系统
【问题2】(3分)
使用说明中的词语,给出图1-2中的数据存储D1〜D3的名称。
D1:停车记录表 D2:会员信息表 D3:基础信息表
【问题3】(4分)
根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。
数据流名称 起点 终点
道闸控制请求 P1 P5
计费规则 D3 P3
更新余额 P3 D2
修改空余车位数 P5 D3
【问题4】(3分)
根据说明,采用结构化语言对“道闸控制”的加工逻辑进行描述。
收到道闸控制请求
IF 道闸执行状态为正常放行时
THEN
IF 入场车辆
THEN 将车牌号及其入场时间信息停入车停记录,
修改空余车位数
ELSE
更新停车状态,修改空余车位数
ENDIF
ELSE
向管理人员发送异常告警信息
ENDIF

21年下

【问题1】(4分)
使用说明中的词语,给出图1-1中的实体E1〜E4的名称。
E1:传感器 E2:农业专家 E3:农业人员 E4:控制器
【问题2】(4分)
使用说明中的词语,给出图1-2中的数据存储D1〜D4的名称。
D1:监控处理规则表 D2:监测信息表 D3:分析结果表 D4:预测信息表
【问题3】(4分)
根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。
数据流名称 起点 终点
分析结果 P3 P5
历史监测信息 D2 P3
预测信息 P3 P5
监控处理规则 D1 P4
请求 E2 P5
【问题4】(3分)
根据说明,“数据处理”可以分解为哪些子加工?进一步进行分解时,需要注意哪三种常见的错误?
“数据处理”可以分解为:监测分析实时监测信息;分析结果可视化、存储、远程控制;综合统计和预测历史监测信息;预测信息可视化、存储;
需要注意:
1、加工有输入但是没有输出
2、加工有输出但是没有输入
3、加工的输入不足以产生输出

22年上

1、使用说明中的词语,给出图 1-1 中的实体 E1〜E4 的名称。
E1:商户 E2:外卖平台 E3:用户 E4:支付系统
2、使用说明中的词语,给出图 1-2 中的数据存储 D1〜D4 的名称。
D1:用户/商户信息表 D2:订餐订单信息表
D3:餐品信息表 D4:评价信息表
3、根据说明和图中术语,补充图 1-2 中缺失的数据流及其起点和终点。
数据流名称 起点 终点
餐单 D3 P3
餐单 P3 E3
订餐请求 P3 P4
订单状态 P4 D2
4、根据说明,采用结构化语言对“订单处理”的加工逻辑进行描述。
收到订餐请求后
向外卖平台请求配送
外卖平台接到请求后发布配送单,由平台骑手接单
外卖平台根据是否有骑手接单返回接单状态
IF 外卖平台接单成功 THEN
系统给支付系统发布支付请求,接受支付状态
IF 支付成功 THEN
更新订单状态为已接单,
向商户发送订餐请求并由商户打印订单,
给用户发送订单状态
ELSE
更新订单状态为下单失败,
向外卖平台请求取消配送,
给用户发送下单失败
ENDIF
ELSE IF 外卖平台返回接单失败或超时未返回接单状态
更新订单状态为下单失败,
给用户发送下单失败
ENDIF

22年下


【问题 1】(4 分)
使用说明中的词语,给出图 1-1 中的实体 E1〜E4 的名称。

【问题 2】(5 分)
使用说明中的词语,给出图 1-2 中的数据存储 D1〜D5 的名称。

【问题 3】(4 分)
根据说明和图中术语,补充图 1-2 中缺失的数据流及其起点和终点。

【问题 4】(2 分)
根据说明,给出“充电监测与计量数据”数据流的组成。

23年上
【说明】
随着农业领域科学种植的发展,需要对农业基地及农事进行信息化管理,为租户和农户等人
员提供种植相关服务。现欲开发农事管理服务平台,其主要功能是:
(1)人员管理。平台管理员管理租户;租户管理农户并为其分配负责的地块,租户和农户以
人员类型区分。
(2)基地管理。租户填写基地名称、地域等描述信息,在显示的地图上绘制地块。
(3)种植管理。租户设定作物及其从种植到采收的整个农事过程,包括农事活动及其实施计
划,农户根据相应农事过程提醒进行农事活动并记录。系统会在设定时间向农户进行农事提醒,
对逾期未实施活动向租户发出逾期警告。
(4)投入品管理。租户统一维护化肥,杀虫剂等投入品信息。农户在农事活动中设定投入品
的实际消耗。
(5)信息服务。用户按查询条件发起农事信息请求,对相关地块农事活动实施情况(如与农
事过程比对)等农事信息进行筛选、对比和统计等处理,并将响应信息进行展示。系统也给其他
第三方软件提供 APP 接口,通过接口访问的方式,提供账号,密码和查询条件发起农事信息请
求,返回特定格式的农事信息,无查询条件时默返回账号下所有信息,多查询条件时返回满足全
部条件的信息。
现采用结构化方法对农事管理服务平台进行分析与设计,获得如图 1-1 所示的上下文数据流
图和图 1-2 所示的 0 层数据流图。



【问题 1】(4 分)
使用说明中的词语,给出图 1-1 中的实体 E1~E4 的名称。
E1:平台管理员 E2:农户 E3:租户 E4:第三方软件
【问题 2】(4 分)
使用说明中的词语,给出图 1-2 中的数据存储 D1~D4 的名称。
D1:人员表 D2:基地及地块数据表 D3:农事过程表 D4:农事活动表
【问题 3】(4 分)
根据说明和图中术语,补充图 1-2 中缺失的数据流及其起点和终点。

【问题 4】(3 分)
根据说明,给出“农事信息请求”数据流的组成。
答 1:农事信息请求 = 账号 + 密码 + 查询条件
答 2:农事信息请求 = 账号 + 密码 + 0{查询条件}*
答 3:农事信息请求:账号、密码、查询条件
23年下






训练题目
某时装邮购提供商拟开发订单处理系统,用于处理客户通过邮件或 Web站点所下订单。其重要功能如下:
(1)增长客户记录。将新客户信息添加到客户文献,并分派一种客户号以备后续使用。
(2)查询商品信息。接受客户提交商品信息祈求,从商品文献中查询商品旳价格和可订购数量等商品信息,返回给客户。
(3)增长订单记录。根据客户旳订购祈求及该客户记录旳有关信息,产生订单并添 加到订单文献中。
(4)产生配货单。根据订单记录产生配货单,并将配货单发送给仓库进行备货;备好货后,发送备货就绪告知。假如现货局限性,则需向供应商订货。
(5)准备发货单。从订单文献中获取订单记录,从客户文献中获取客户记录,并产生发货单。
(6)发货。当收到仓库发送旳备货就绪告知后,根据发货单给客户发货;产生装运单并发送给客户。
(7)创立客户账单。根据订单文献中旳订单记录和客户文献中旳客户记录,产生并发送客户账单,同步更新商品文献中旳商品数量和订单文献中旳订单状态。
(8)产生应收账户。根据客户记录和订单文献中旳订单信息,产生并发送给财务部门应收账户报表。
现采用构造化措施对订单处理系统进行分析与设计,获得如图 1-1 所示旳顶层数据流”的文档




3539

被折叠的 条评论
为什么被折叠?



