尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
【软件工程】结构化设计:结构化分析方法(DFD)
考点频率★★★★★下午题必考分值15分难度⭐⭐⭐建议重点掌握DFD四大元素的识别、分层与平衡原则、三种常见错误的判断1️⃣ 什么是结构化分析方法结构化分析方法Structured AnalysisSA是一种面向数据流的需求分析方法核心思想是“自顶向下、逐层分解”。它把一个大系统像剥洋葱一样从最外层开始一层一层地剥开直到看清楚里面的每一个细节。核心目标回答软件系统“做什么”的问题——不是“怎么做”那是设计阶段的事而是“系统要完成哪些功能、数据怎么流动”。三大核心工具数据流图DFD描述系统的数据流动与加工过程数据字典DD精确定义DFD中每个数据元素的组成加工逻辑说明描述最底层加工的内部处理逻辑一句话理解结构化分析方法就是把用户模糊的需求用DFD画出来、用数据字典定义清楚、用加工逻辑说明白——让开发团队和用户在同一张“图纸”上对话。2️⃣ DFD的四大基本元素DFD用四种图形元素来描述系统的逻辑模型元素图形符号含义示例外部实体External Entity矩形系统外部的人、组织或外部系统是数据的来源或去向客户、管理员、银行系统、传感器加工Process圆角矩形/圆形对输入数据进行处理并产生输出的核心环节订单审核、资格认证、数据统计数据存储Data Store开口矩形/双横线存放数据的仓库如数据库表或文件订单表、用户信息文件数据流Data Flow箭头数据的流向由一组固定成分的数据组成订单信息、审核结果2.1 外部实体的识别技巧外部实体通常有三类人物角色客户、管理员、老师、学生组织机构银行、供应商外部系统支付系统、后台数据库考试中外部实体名称通常从题目描述的“人”“外部系统”“设备”中提取。2.2 加工的命名规则加工名称通常采用“动词 名词”的结构例如✅ 生成报告、审核订单、更新库存、发送通知❌ 订单处理、数据管理太模糊看不出具体做什么2.3 数据存储的命名特征数据存储的名称通常带有以下特征词表、文件、库、清单、档案、记录例如用户表、订单文件、权限库、设备清单。2.4 数据流的核心规则数据流的起点或终点至少有一个必须是加工。也就是说✅ 外部实体 → 加工输入✅ 加工 → 外部实体输出✅ 加工 → 加工中间处理✅ 加工 → 数据存储写✅ 数据存储 → 加工读❌ 外部实体 → 外部实体不允许数据必须经过加工3️⃣ DFD的分层机制DFD采用分层模型从粗到细逐步细化层级名称内容顶层图上下文图第0层只有1个加工代表整个系统展示系统与外部实体之间的数据交互0层图第1层将顶层图的1个加工分解为多个子加工引入数据存储子图第2层及以下对0层图中某个加工继续细化分解编号规则顶层图的加工不编号0层图的加工编号为1、2、3…子图加工编号为1.1、1.2、2.1…打个比方顶层图 从飞机上看城市——只能看到城市的轮廓和对外的高速公路外部实体0层图 看城市地图——看到主要街道和区域主要加工子图 看某个小区的详细地图——看到每栋楼的具体位置加工的细节4️⃣ 核心原则父图与子图的平衡平衡原则是DFD的最高频考点。4.1 什么是平衡父图中某个加工的输入/输出数据流必须与其子图的输入/输出数据流在数量和名称上保持一致。一对一平衡父图加工P1有1个输入流A和1个输出流B子图中必须有1个输入流A和1个输出流B一对多平衡父图加工P1有1个输入流“用户信息”包含姓名、年龄、地址子图中可以分解为3条输入流“姓名”“年龄”“地址”子图中这3条数据流的数据项总和必须等于父图中的1条“用户信息”4.2 平衡检查的步骤对照顶层图和0层图检查顶层图中有没有某条数据流在0层图中消失了对照父图和子图找到父图中的某个加工对照其展开的子图检查输入/输出是否一致检查数据流方向数据流的方向也必须一致不能父图是输入、子图变成输出5️⃣ DFD中的三种常见错误必考这是软考DFD题目中最常设置的陷阱错误类型定义通俗理解黑洞Black Hole加工只有输入没有输出数据进去了就消失了——东西吞进去不吐出来白洞/奇迹Miracle加工只有输出没有输入数据凭空产生——无中生有灰洞Grey Hole加工的输入不足以产生输出给了1份原料却想做出3份产品——巧妇难为无米之炊考试技巧检查DFD时第一步就是检查每个加工是否都满足“有进有出”的基本要求。约65%的DFD错误都与违反数据守恒原则有关。6️⃣ 数据字典与加工逻辑6.1 数据字典Data Dictionary数据字典是对DFD中出现的所有数据元素进行精确定义的工具。它解决了一个问题DFD箭头上只写了“订单信息”但“订单信息”具体包含哪些字段数据字典告诉你答案。数据字典的典型条目数据流名订单信息 组成订单编号 客户姓名 商品列表 总金额 下单时间6.2 加工逻辑说明最底层的加工不再继续分解的加工需要用结构化语言、判定表或判定树来描述其内部逻辑。结构化语言的三种基本结构顺序结构先做A再做B最后做C选择结构IF 条件 THEN 做A ELSE 做B循环结构WHILE 条件 DO 做A7️⃣ 考试解题技巧下午题15分下午题DFD通常有4个小问问题考查内容解题技巧问题一填写外部实体名称从题目描述中找“人”“系统”“设备”优先找子图中数据流少的实体问题二填写数据存储名称找“**表”“文件”“库”等关键词无明确名称时用“XX表/XX文件”命名问题三补充缺失的数据流三种方法①父图子图平衡 ②检查加工有无黑洞/白洞 ③对照题目描述问题四拓展题不定可能考平衡原则说明、加工分解、结构化语言等补充数据流时的注意事项数据流的起点或终点至少有一个是加工起点和终点统一用编号或统一用名称不要混着写题目中出现“根据…”往往意味着需要有对应的输入数据流注意“和”字前后的数据流是否都完整8️⃣ 经典例题例题1以下哪个不属于DFD的基本元素A. 外部实体B. 加工C. 数据流D. 程序流程图解析DFD的四大基本元素是外部实体、加工、数据存储和数据流。程序流程图是详细设计阶段的工具不属于DFD。选D。例题2某DFD中一个加工只有输入数据流而没有输出数据流这种错误被称为 。A. 白洞B. 黑洞C. 灰洞D. 数据不平衡解析只有输入没有输出 → 黑洞。选B。例题3判断在分层DFD中父图与子图的输入输出数据流必须在数量和名称上完全一致。 解析正确。这是平衡原则的核心要求。但注意一对多情况下子图多条数据流的数据项总和要等于父图的一条数据流。9️⃣ 记忆口诀DFD四大件外加工存流。顶层定边界逐层往下走。父子要平衡数量名称都得有。黑洞吞数据白洞凭空有灰洞料不够。 小测验评论区对答案某系统的顶层数据流图中系统作为1个加工与外部实体“客户”之间有1条输入数据流“订单信息”和1条输出数据流“确认结果”。在0层图中系统被分解为3个加工。请问0层图的边界上必须有哪几条数据流这体现了DFD的什么原则本专栏日更点击头像 → 专栏《软考中级高频考点》订阅第一时间接收新内容#软考中级 #软件设计师 #数据流图 #DFD #结构化分析 #软件工程
RELATED

相关推荐

【RT-DETR涨点改进】45 从“扣减失败”到“精准冻结”:配额预扣与回滚机制的实战改造

【RT-DETR涨点改进】45 从“扣减失败”到“精准冻结”:配额预扣与回滚机制的实战改造

45 从“扣减失败”到“精准冻结”:配额预扣与回滚机制的实战改造 开篇故事:那个深夜的“幽灵订单” 上周三凌晨2点,我正睡得迷糊,突然被值班同事的电话惊醒:“老大,线上出事了!用户充值后,余额扣了,但订单状态还是‘待支付’!” 我瞬间清醒。查日志发现,问题出在…

📅 2026/9/14 5:09:49
Windows Defender Remover 13.0:Windows安全组件移除工具技术解析与架构设计

Windows Defender Remover 13.0:Windows安全组件移除工具技术解析与架构设计

Windows Defender Remover 13.0:Windows安全组件移除工具技术解析与架构设计 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitco…

📅 2026/9/12 5:12:56
Kindle Comic Converter:电子墨水屏上的漫画阅读革命

Kindle Comic Converter:电子墨水屏上的漫画阅读革命

Kindle Comic Converter:电子墨水屏上的漫画阅读革命 【免费下载链接】kcc KCC (a.k.a. Kindle Comic Converter) is a comic and manga converter for ebook readers. 项目地址: https://gitcode.com/gh_mirrors/kc/kcc 你是否曾在Kindle上尝试阅读漫画&…

📅 2026/9/10 4:49:30
MORE NEWS

更多资讯

📰

.NET 实时应用监控系统搭建指南:从探针采集到告警推送的完整闭环

有没有遇到过这种情况:某个晚上十一点,接口响应开始大面积变慢,错误率悄悄爬升,数据库连接池被打满,用户端已经开始反馈页面白屏了——而你是第二天早上打开后台才发现的。这种“后知后觉”的滋味,我在前一…

📰

PR <NUMBER> Test Report

PR #Test Report【免费下载链接】cherry-studio AI productivity studio with smart chat, autonomous agents, and 300 assistants. Unified access to frontier LLMs 项目地址: https://gitcode.com/GitHub_Trending/ch/cherry-studio Title: Author: Branch: Change…

📰

Nexus搭建私有PyPI仓库:双源配置与pip发布托管全攻略

1. 方案选型与整体设计思路1.1 为什么需要私有PyPI:公网仓库的三大痛点做Python开发的人,几乎每天都在跟pip打交道。默认情况下,pip从官方PyPI或者豆瓣、清华这类镜像源拉取依赖,这在个人项目里毫无问题。可一旦进入团队协作或者企…

📰

MATLAB RSM代理模型:阶数裁剪、工程验证与多目标优化实战

简介:本资源是一套面向工程优化与实验建模初学者的RSM代理模型MATLAB实践代码包,聚焦响应面法(RSM)在多因子非线性系统预测中的应用,适用于机械、化工、材料等领域的科研人员及高年级本科生开展参数优化与响应预测学习…

📰

Jumpserver v2.28.21堡垒机部署实战:从组件解析到审计落地

简介:开源堡垒机系统 2.28.21 版本完整源码包,面向运维工程师、安全审计人员及计算机专业毕业设计开发者,用于构建集中化运维审计平台,解决远程访问管控、权限隔离、操作留痕等核心问题。压缩包共1565个文件,大小4.63M…

📰

ASP.NET Web Forms实战:用户控件、ashx与安全上传下载解析

简介:面向ASP.NET学习者与教育信息化开发者的教师教学资源库管理系统源码包,完整呈现了基于微软.NET Framework平台开发Web应用的典型流程,包含用户注册登录、角色权限管理、教学资源上传与分类维护、关键词搜索、在线预览、评论评分、统计分…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬