软件工程3-面向过程的需求分析

面向过程的需求分析

结构化分析方法

  • 面对数据流进行需求分析的方法;
  • 适合于数据处理类型的需求分析;
  • 建立模型:
    • 功能模型:数据流图(DFD)
    • 数据模型(数据对象描述):数据字典,实体联系图(ERD),
    • 行为模型:状态变迁图(STD)
  • 结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换 的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止

数据流图

  • 数据加工
  • 数据源、终点(外部实体)
  • 数据流
  • 数据存储文件

image-20241214215759372

数据流

  • 表示数据和数据的流向;
  • 两个加工可有多股数据流;
  • 数据流的命名:具体意义的名字,现有系统已有的名字
  • 不需要激发条件,不要动词(控制流)

数据加工

  • 表示对数据的操作;
  • 编号:说明层次分解的位置(分层DFD)
  • 命名:顶层为项目名,避免只用动词

数据存储

  • 表示数据的流向
  • 存储和加工的方向;
  • 一般局限在某几层;
  • 命名和数据流相似;
  • 流向存储或从存储流出的数据流不必命名;

数据流图DFD

局部数据存储,只有出现在接口处的才有必要画出来;

字图图号为父图的加工号,顶层不编号;

一般DFD的默认原则:

  • 一般设定深度为3-5层;
  • 各章各数据流图加工数目为7-2 - 7+2

DFD的改进原则:

检查正确性:数据守恒,数据存储的使用,子图和父图的平衡

  • 数据不守恒:某个加工输出的数据没有响应的数据来源,可能某个数据流被遗漏了;一个加工的输入并没有被用到;
  • 数据存储的使用:判断是否存在只写不读,或者只读不写的数据存储
  • 简化加工之间的联系
    • 应该尽量减少加工返回输入输出数据流的数目,数据流越少,数据越独立;
    • 注意分解的均匀;
  • 适当的命名;
  • 重新的分解:子图发现问题后应该对父图重新分解;