软件设计师 下午题 试题一 数据流图设计

软件设计师 下午题 试题一 数据流图设计

数据流图也称数据流程图(Data Flow Diagram, DFD),其中基本的图形元素有数据流、加工、数据存储和外部实体。

  1. 外部实体(External Agent):存在于当前软件系统之外的人、物或者外部系统:
    1. 人:学生、老师、员工…
    2. 物:传感器、控制器、车辆、部门…
    3. 外部系统:支付系统、库存管理系统…
  2. 加工(Process):加工描述了输入数据流到输出数据流之间的变换,每个加工都有一个名字和编号。一个加工至少有一个输入数据流和一个输出数据流。
    1. 只有输入没有输出的加工称之为黑洞。
    2. 只有输出没有输入的加工称之为白洞。
    3. 加工的数据不足以产生输出数据,称其为灰洞。
  3. 数据存储(Data Store):用来表示存储的数据,每个数据存储都有一个名字。它可以存储加工的输出数据也可以提供加工的输入数据。
  4. 数据流(Data Flow):用来表示数据的流向。数据流的起点或者终点必须有一个是加工

一、问题一

问题一考察的内容一般是要求写出3到5个实体的名称。

以《软件设计师考试同步辅导(下午试题)》中的例题为例:

E1: 学生,E2: 讲师,E3: 教务人员

二、问题二

问题二考察的内容一般是要求写出3到5个数据存储的名称。

依旧以例2为例:

D1:作业(表),D2:学生表,D3:讲师表,D4:批改后的作业(表)

此外,关于图1-4所表示的上下文数据流图和图1-5所表示的0层数据流图的区别如下表所示:

特性 上下文DFD 0层DFD
处理过程数量 1个(整个系统) 多个(主要子过程)
数据存储 不显示 首次引入
详细程度 仅系统与外部交互 系统内部关键流程
用途 定义系统边界 初步设计内部逻辑

三、问题三

问题三一般会考察缺失的数据流的情况,需要根据题意分析缺失了哪些数据流并将其补充完整。

解决问题三一般有以下几种方法:

  1. 父图子图平衡:父图即为上下文数据流图,子图即为0层数据流图。父图显然一定正确,于是就可以根据父图的正确信息逐一排除子图中的数据流是否有缺失。
  2. 加工既有输入数据流也有输出数据流。

依旧以例2为例:

答:

  1. 数据流名称:通知;起点:提交作业;终点:E1。
  2. 数据流名称:抽检报告;起点:作业抽检;终点:E2。
  3. 数据流名称:分数和评价;起点:记录分数和评价;终点:D2。
  4. 数据流名称:通知;起点:记录分数和评价;终点:E1。

软件设计师 下午题 试题一 数据流图设计
http://example.com/2025/04/23/note28/
作者
谢斐
发布于
2025年4月23日
许可协议