软件工程3-面向过程的需求分析
面向过程的需求分析
结构化分析方法
- 面对数据流进行需求分析的方法;
- 适合于数据处理类型的需求分析;
- 建立模型:
- 功能模型:数据流图(DFD)
- 数据模型(数据对象描述):数据字典,实体联系图(ERD),
- 行为模型:状态变迁图(STD)
- 结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换 的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止
数据流图
- 数据加工
- 数据源、终点(外部实体)
- 数据流
- 数据存储文件
数据流
- 表示数据和数据的流向;
- 两个加工可有多股数据流;
- 数据流的命名:具体意义的名字,现有系统已有的名字
- 不需要激发条件,不要动词(控制流)
数据加工
- 表示对数据的操作;
- 编号:说明层次分解的位置(分层DFD)
- 命名:顶层为项目名,避免只用动词
数据存储
- 表示数据的流向
- 存储和加工的方向;
- 一般局限在某几层;
- 命名和数据流相似;
- 流向存储或从存储流出的数据流不必命名;
数据流图DFD
局部数据存储,只有出现在接口处的才有必要画出来;
字图图号为父图的加工号,顶层不编号;
一般DFD的默认原则:
- 一般设定深度为3-5层;
- 各章各数据流图加工数目为7-2 - 7+2
DFD的改进原则:
检查正确性:数据守恒,数据存储的使用,子图和父图的平衡
- 数据不守恒:某个加工输出的数据没有响应的数据来源,可能某个数据流被遗漏了;一个加工的输入并没有被用到;
- 数据存储的使用:判断是否存在只写不读,或者只读不写的数据存储
- 简化加工之间的联系
- 应该尽量减少加工返回输入输出数据流的数目,数据流越少,数据越独立;
- 注意分解的均匀;
- 适当的命名;
- 重新的分解:子图发现问题后应该对父图重新分解;