3.2 结构化分析方法
结构化分析(Structured Analysis,简称SA),是面向数据流进行需求分析的方法。SA也是一种建模活动,该方法使用简单易读符号,根据软件内部数据传递、变换的关系,自顶向下逐层分解,描绘出满足功能要求的软件模型。
3.2.1 自顶向下逐层分解的分析策略
面对一个复杂的问题,分析人员不可能一开始就考虑到问题的所有方面以及全部细节,采用的策略往往是分解,把一个复杂的问题划分成若干小问题,然后再分别解决,将问题的复杂性降低到人可以掌握的程度。

3.2.2 描述工具
SA方法利用图形等半形式化的描述方式表达需求,简明易懂,用它们形成需求说明书中的主要部分。描述工具是:
(1)数据流图:描述系统由哪几部分组成,各部分之间有什么联系等等。
(2)数据字典:定义了数据流图中每一个图形元素。
(3)描述加工逻辑的结构化语言、判定表、判定树:详细描述数据流图中不能被再分解的每一个加工。
3.2.3 SA分析步骤
SA方法利用图形等半形式化的描述方式表达需求,简明易懂,用它们形成需求说明书中的主要部分。描述工具是:
(1)了解当前系统的工作流程,获得当前系统的物理模型。通过对当前系统的详细调查,了解当前系统的工作过程,同时收集资料、文件、数据、报表等,将看到的、听到的、收集到的信息和情况用图形描述出来。也就是用一个模型来反映自己对当前系统的理解,如画系统流程图。
(2)抽象出当前系统的逻辑模型。物理模型反映了系统“怎么做”的具体实现,去掉物理模型中非本质的因素,抽取出本质的因素,构造出当前系统的逻辑模型,反映了当前系统“做什么”的功能。
(3)建立目标系统的逻辑模型。分析、比较目标系统与当前系统逻辑上的差别,明确目标系统到底要“做什么”,从而从当前系统的逻辑模型导出目标系统的逻辑模型。
(4)作进一步补充和优化。为了对目标系统做完整的描述,还需要对得到的逻辑模型做一些补充。