ps:
终于开始整理了,考完中级已经一年多了,上年就想着整理,但是拖延症让工程延期了好久,听说现在已经改成机考了(一个上午考完选择题和答题,但是后面的解说还是习惯用上午题和下午题来说明!!!)
只能说中级软件设计师不难,选择题需要很长一个时间去学习各个知识点,但是非选择题真的很容易!非计算机专业类的伙伴可能需要3-5天去适应,而计算机类的伙伴们,只要你们在学校的时候有听过一两节课程,下午题基本只需要一天就能搞定!!!
通关规则:
标准:
- 上午 45(满分75,一分一道题,也就是说可以错30道!)
- 下午 45(满分75,一道题大概15分,一共6道题,其中最后一题是二选一(Java和C++)选做,也就是说只需要做5道题,题型分别是数据流图、数据库、UML图、算法、代码补充(Java || C++))
- 选择题范围大,涉及面广,不容易过;下午题题型规定,做题技巧明显!
目录
- [一. 🦁 数据流图基本概念](#一. 🦁 数据流图基本概念)
- [二. 🦁 数据流图的分层](#二. 🦁 数据流图的分层)
-
- [2.1 各层图标含义](#2.1 各层图标含义)
- [2.2 分层原则](#2.2 分层原则)
- [三. 🦁 数据字典](#三. 🦁 数据字典)
- [四. 🦁 数据流图平衡原则](#四. 🦁 数据流图平衡原则)
-
- [4.1 父图与子图的平衡](#4.1 父图与子图的平衡)
- [4.2 子图内的平衡](#4.2 子图内的平衡)

一. 🦁 数据流图基本概念
数据流图
(Data Flow Diagram,简称DFD )是一种用于描述系统中数据流动和处理过程的图形化表示方法。 它是结构化系统分析方法的主要表达工具,也是表示软件模型的一种图示方法。
数据流图可以帮助我们理解系统的数据流动方式,以及数据如何在模块之间进行处理和传递。它可以用来指导开发人员划分系统功能模块,确定模块间的数据接口。数据流图可以在不同的层次上进行细化,从整体系统的层次到单个模块的层次。
元素 | 说明 | 图元 |
---|---|---|
数据流 | 由一组固定成分的数据组成,表示数据的流向。每个数据流通常有一个合适的名词,反映数据流的含义。 | ![]() |
加工 | 加工描述了输入数据流到输出数据流之间的变换,也就是输入数据流做了什么处理后变成了输出数据流。 | ![]() ![]() |
数据存储(文件) | 用来表示暂时存储的数据,每个文件都有名字。流向文件的数据流表示写文件,流出的表示读文件。 | ![]() |
外部实体 | 指存在于软件系统外的人员或组织。 | ![]() |
二. 🦁 数据流图的分层

其中,我们可以看到每一层都有矩形里面有一个椭圆,外部还有几个矩形,他就是加工和外部实体。外部实体和加工之间有数据流动。
2.1 各层图标含义
- 顶层图:只包含一个加工,通常没有数据存储。
- 0层图(中层数据流图):较顶层图而言,更细化了,有多个加工(其实就是将顶层图的一个加工细化成多个)
- 底层数据流图:对0层图每个加工节点都进行了细化!绘制更详细的数据流情况
2.2 分层原则
- 自顶向下,逐层分解。 由系统外部到系统内部、总体到局部、抽象到具体的方式进行模型的建立
- 保持平衡。 需要保持父图到子图的平衡(即父图的某加工的输入输出数据流和子图一样)
- 编号与命名。 每个加工的数据流都要进行编号命名,每个子图的编号都是父图加工编号的子序号。如父图是1,子图就是 1.1、1.2 ...
- 数据守恒。 一个加工的输出数据流数据必须可以从加工的输入数据流获得。
ps:
软考只会出现中层和底层数据流图,毕竟0层图没什么意义!!
三. 🦁 数据字典
对数据流图之间的数据进行说明或定义!
符号 | 含义 | 说明 | 举例 |
---|---|---|---|
= | 被定义为什么 | ||
+ | 与 | x=a+b,表示x由a和b组成 | 机票=姓名+日期+航班号+起点+终点+费用 |
[... , ...]或[... I...] | 或 | =[a,b],x=[aIb], 表示x由a或由b组成 | 终点=[北京I上海I西安] |
{...} | 重复 | x={a},表示x由0个或多个a组成 | |
(...) | 可选 | x=(a),表示a可在x中出现,也可以不出现 |
四. 🦁 数据流图平衡原则
数据流图平衡原则是指在绘制数据流图时,需要遵循的一种原则,它确保数据流图中的各个部分在逻辑上保持一致性和完整性。
4.1 父图与子图的平衡
父图与子图的平衡原则指的是,在分层数据流图中,任何一张子图(下层数据流图)边界上的输入/输出数据流必须与其父图(上层数据流图)对应加工的输入/输出数据流保持一致 。这意味着在细化上层数据流图时,需要确保下层数据流图准确地反映了上层数据流图中相应加工的数据流情况。
如上所示,b是a的扩展,虽然b细化了多个加工,但是并没有改变a数据流的总体走向。
4.2 子图内的平衡
子图内的平衡原则关注的是数据流图内部各个加工之间的数据流关系。具体来说,它要求数据流图中的每个加工都必须既有输入数据流又有输出数据流,且一个加工的所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据 。
进入黑洞,能出来是奇迹!!!

🦁 其它优质专栏推荐 🦁
🌟《Java核心系列(修炼内功,无上心法)》: 主要是JDK源码的核心讲解,几乎每篇文章都过万字,让你详细掌握每一个知识点!
🌟 《springBoot 源码剥析核心系列》:一些场景的Springboot源码剥析以及常用Springboot相关知识点解读
欢迎加入狮子的社区 :『Lion-编程进阶之路』,日常收录优质好文
更多文章可持续关注上方🦁的博客,2024咱们顶峰相见!