软件工程笔记:结构化分析方法

软件工程分析方法的一套框架

结构化设计方法的概念

① 软件开发方法学

软件开发过程所遵循的办法和步骤。
软件开发方法学指的是规则、方法和工具的集成。

② 结构化方法的组成

一套系统化的软件开发方法,包括结构化分析方法,结构化设计方法,结构化程序设计方法。

③ 结构化分析

系统使用问题域术语,给出问题模型。(系统做什么的一个估算)

  1. 需求分析的目标 2.实现软件需求分析的目标对方法学的需求
    1)提供一组术语
    2)给出模型表达工具
    3)给出过程指导

结构化分析模型

基本术语

数据流:数据的流动,箭头表示流向。数据抽象
加工:对数据进行变换的单元,椭圆。功能支持过程抽象
数据存储:数据的静态结构,双线。数据抽象
数据源:数据的起点,系统之外的实体,长方框。系统边界抽象
数据潭:数据流的终点,系统之外的实体,同上。同上

模型表达工具(在数据库里用过)

1)数据流图:描述系统功能
2)数据字典:定义数据流与数据存储
= :等价于(定义为)+ :与(顺序结构){}:重复(循环结构)|||:或(选择结构)():任选 m..n:界域
3)加工小说明:描述加工做什么,就是加工逻辑,可以用结构化自然语言描述,判定表,判定树也可以。

结构化分析过程

过程指导

1.1 顶层数据流图
1.2 自顶向下,逐层分解:对父图元素分解细化(功能分解)
2 建立数据字典:数据流图里的数据流和数据存储
3 写出加工小说明:数据流图的加工
需要注意的问题:不是每个加工都需要在加工小说明里写上,数据流与数据存储需要每一个都进行说明,加工的输入流与输出流都应该说清楚,图元个数应该是 5 到 9 个

需求规格说明书

  1. 引言
    1.1 编写目的
    1.2 背景说明
    1)软件产品的名称
    2)产品的提出者,开发者,用户
    3)产品将做什么,不做什么
    1.3 术语定义
    1.4 参考文献
  2. 概述
    2.1 功能概述
    2.2 约束
  3. 数据流图与数据字典还有加工说明
    3.1 数据流图
    3.1.1 数据流图 1
    1)画图
    2)加工说明
    3)数据流说明
    3.1.2 数据流图 2
    3.2 数据字典
    3.2.1 文件说明
    3.2.2 数据项说明
  4. 接口
    4.1 用户接口
    4.2 硬件接口
    4.3 软件接口
  5. 性能需求
    5.1 精度(数据的)
    5.2 时间特征(各个过程的时间耗费)
    5.3 灵活性(环境变化时能否进行调整与适应)
  6. 属性
    6.1 可使用性
    6.2 保密性
    6.3 可维护性
    6.4 可移植性
  7. 其他需求的补充