软件工程师——(十三)数据流图(DFD)(重点)

309 阅读3分钟

1. 数据流图基本概念

1. 基本组成元素

image.png

2. 基本概念(数据流图又称之为分层数据流图)

image.png

  • 1、顶层图
    • 中间椭圆代表要开发的系统,方框代表外部实体
    • 外部实体和本系统存在数据流转的关系
    • 只是将系统浓缩为一个节点,只能看清与外界的交互
    • 看不出有哪些模块以及模块之间有哪些数据的交换
  • 2、0层图
    • 顶层图细化
    • 外部实体与外部实体之间的数据流转信息无变化
    • 内部进行了细化
    • 列出系统中处理职能部件(之间存在交互数据流转)
  • 3、DFD/Lx.x(子图)
    • 对于0层图进一步细化

2. 数据字典

1. 符号说明

image.png

2. 示例说明

image.png

  • 1、+———代表=左侧元素由=右侧一系列的元素组成
  • 2、[...,...]或[...|...]———代表=左侧元素由其中的任意一个组成
  • 3、{...}———代表=左侧元素由一个或多个该元素组成
  • 4、(...)———代表=左侧元素由可能包含可能不包含该元素

3. 数据平衡原则———找出哪些数据流分图细化的时候丢失或遗忘了

1. 说明

image.png

  • 1、父图与子图之间的平衡———找出哪些数据流分图的时候遗失
  • 1、子图内平衡———对于数据流图的加工,应该既有输入也有输出

2. 示例

image.png

  • 1、考点1———根据题目给出的信息补充0层数据流图缺失的数据流
    • 顶层数据流图实体系统之间有哪些数据流
    • 看这些数据流有没有在0层数据流图中出现
  • 2、考点2———根据题目给出的信息顶层数据流图缺失的数据流
    • 0层数据流图实体系统之间有哪些数据流
    • 看这些数据流有没有在顶层数据流图中出现
  • 3、考点三———看图是否有黑洞或者奇迹
    • 看图中是否存在有输入无输出有输出无输入的情况

4. 解题技巧

image.png

1. 依据点

  • 1、详细分析试题说明
  • 2、利用数据平衡原则

2. 试题案例分析

1. 试题1

image.png image.png image.png

  • 1、试题分析
    • 1、问题一 image.png
    • 2、问题二 image.png
    • 3、问题三 image.png
  • 2、最终答案
    • 1、问题一
      • E1(前端应用)、E2(数据管理员)、E3(后端数据库)
    • 2、问题二———数据存储一般是某文件某表
      • D1(用户表)、D2(操作表)、D3(权限表)
    • 3、问题三
      • 输入流(名称——操作结果;起点——E3;);
      • 输出流(名称——处理后的操作结果;终点——E1;)
      • 补充数据流
        • 起点(D2)、终点(权限验证);
        • 起点(D3)、终点(权限验证)
    • 4、问题四
      • 在绘制数据流图的加工时,可能出现的输入、输出错误:
        • 只有输入而无输出或者黑洞
        • 只有输出而无输入或者奇迹
        • 输入的数据流无法通过加工产生输出流或者灰洞
        • 输入的数据流与输出的数据流名称相同

2. 试题2

image.png image.png image.png

  • 1、试题分析 image.png
  • 2、最终答案
    • 1、问题一
      • E1(非信用卡用户)、E2(信用卡用户)、E3(银行)
    • 2、问题二
      • 信用卡申请表:E1--->P0
      • 激活请求:E2--->P0
      • 交易信息:P0--->E2
    • 3、问题三
      • P4--激活请求-->P3改为E2--激活请求-->P3
      • P4--信用卡申请表-->E1改为E1--信用卡申请表-->P4
    • 4、问题四
      • P1:交易信息查询
      • P2:信用卡客户信息管理
      • P3:信用卡激活
      • P4:信用卡申请