即面向数据流的分析方法
核心思想
分解化简问题(降低难度)
物理与逻辑表示分开(逻辑指是什么,物理指怎么实现)
进行数据与逻辑的抽象(本质抽象后在设计细节)
结构化需求分析
1.发现需求
发现用户需求,如何获取用户需求呢?
和用户交流、通过互联网查询资料、参观用户工作过程、给用户发放调查问卷、与这方面专家进行交流、观察同类软件如何实现等
2.求精
对初步需求反复求精
3.建模
建立模型,用符号和组织规则描述书面描述事物
三种模型:①实体-关系图&数据对象描述组成的数据模型 ②数据流图&处理规格说明的组成的功能模型 ③状态转换头&控制规格说明组成的行为模型
E-R图描述了应该有哪些数据,所以叫做数据模型;数据流图本质上是数据经过一系列过程最终完成输入/输出,所以是功能模型; 行为,比如做了某事,导致状态转换,这个事就是一个行为。意思是这个软件过程中可能发生了哪些行为。
因为这三个模型都涉及系统的相关数据,所以需要为系统建立一个数据字典,即核心
数据字典本身是对各种数据流、数据元素、数据存储、处理的说明
结构化分析模型由一个核心,三个模型组成
数据字典:描述软件使用和产生的所有数据对象
数据模型:描述数据对象之间的关系
功能模型:描绘数据在软件中移动、变换及相应功能
行为模型:系统具有哪些状态和不同状态之间的转换
4.规格说明
将分析的结果和模型写到需求规格说明书中,作为分析阶段的最终成果,设计阶段的依据,用户测试的依据
5.复审
保证需求分析阶段尽量不存在错误
这一系列操作就完成了需求分析!