☰
数据流图和流程图别画混了!Vue3+SpringBoot 大学生就业咨询系统:数据流图 10 张真实导出图 + 画法自检,用捷码AI一键生成
2026/10/8 6:05:43 网站建设 项目流程

课设画图最冤的一种扣分:把数据流图(DFD)画成了流程图。

这两种图长得像(都有箭头、都有方框),但回答的问题完全不同。判混了,老师一眼就看出来——因为流程图里有"判定菱形",数据流图里有"数据存储",这两样东西不会同时出现在一张规范的图里。

这篇用一套真实导出的10 张数据流图(1 张顶层 + 1 张 1 层 + 8 张 2 层)讲清楚它们怎么画、怎么读、怎么自查。

一、一张表分清 DFD 与流程图

数据流图(DFD)流程图
回答数据从哪来、经过什么加工、到哪去业务按什么顺序走
四种基本元素外部实体、加工、数据流、数据存储起止、处理、判定、流向
有没有"判定"❌ 没有菱形判定✅ 有
有没有"数据存储"✅ 有(对应数据库表)❌ 无
会不会出现"人"✅ 外部实体(如管理员)一般只出现在泳道里
典型错误画了菱形分支 → 变成流程图画了数据存储 → 变成 DFD

记法:DFD 关心"数据",流程图关心"顺序"。

二、顶层图:只有一张,画错了全盘错

顶层数据流图(0 层)只做一件事:把系统和外界的关系讲清楚。它包含三类东西——外部实体、一个(或几个)加工、数据存储。

本项目这张图上能读到:

元素内容
外部实体系统管理员、用人单位、毕业生
核心加工大学生就业咨询系统(一个整块,不展开内部)
数据流需求信息、毕业生信息、级别变更等进出方向
数据存储需求信息表、毕业生表等(对应数据库里的真实表)

顶层图最容易犯的错:把系统内部模块也画上去。顶层图就是"一个黑盒 + 外界交互",内部结构留给下一层。

三、逐层展开:拆到几层停

顶层之下是 1 层,1 层之下是 2 层。拆到几层合适?看两条标准:

  1. 一个加工内部还有明显可分的子步骤→ 继续拆;
  2. 拆出来的加工已经能对应到一个明确的功能模块或一条业务→ 停。

本项目的 1 层图把系统按业务主线切开:

再往下,2 层图按实体展开,本项目一共 8 张,比如"维护需求信息":

“维护专业”:

以及"办理需求明细"(这条带多表写入,是本系统的核心业务):

10 张的构成:1 张顶层 + 1 张 1 层 + 8 张 2 层。这个结构可以直接照搬到你自己的课题——顶层讲边界、1 层讲主线、2 层讲每个实体的增删改查。

四、四条自检(画完必查)

自检项不合格的表现
有没有凭空出现的数据流某个加工的输出没有来源,也没写到存储
有没有只进不出的数据存储存储只有写入箭头,没有读取箭头
加工命名是否"动词 + 名词"写成"需求信息"(这是名词,是存储不是加工)
父子图是否平衡父图里有的数据流,子图里凭空消失或多出来

父子图平衡是老师最爱查的一项:1 层图上有"需求信息"这一路数据流,2 层图里也必须能找到对应的输入输出。不平衡就说明你拆错了。

五、DFD 和数据库怎么对上

数据流图里的"数据存储"不是随便画的方框,它应该对应数据库里的真实表。本项目 10 张 DFD 里的存储,和建库脚本的 11 张表是一套:

DFD 里的数据存储数据库表
需求信息表tb_demandInfo
需求明细表tb_demandDetail
专业表tb_major
单位级别表tb_unitLevel
地区表tb_region

答辩时如果被问"你的数据流图和数据库设计对得上吗",能当场指出这个对应关系,就是加分项。

六、答辩时的答题结构

老师可能问建议怎么答
为什么画 2 层不画 3 层?按"能对应到功能模块就停"的原则,再拆就与设计文档重复了
这个加工为什么这么命名?动词 + 名词,如"维护专业",与功能结构图上的模块名一致
DFD 和流程图有什么区别?用第一节那张表回答,并现场指出你这张图上为什么没有菱形
数据存储怎么定的?对应数据库表,现场翻建库脚本印证

七、说实话的部分

  • 这 10 张 DFD 来自一份真实导出(与 48 张系统图、11 张表的建库脚本同批产出),结构和层级可以对着核。
  • 图是初稿:加工名称、数据流走向按系统结构生成了,但你要按自己课题的业务改——尤其是加工命名,直接抄会和你的功能结构图对不上。
  • 层级不是越多越好:2 层已经能覆盖大多数课设;拆到 3 层而里面只有一个加工,反而显得凑数。

一句话总结:DFD 画"数据怎么流",流程图画"业务怎么走";顶层讲边界、1 层讲主线、2 层讲实体,四条自检(无凭空流、无死存储、加工用动宾、父子平衡)过一遍,这张图就不会被扣分。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询