软件开发的定义阶段的最后一步是软件的需求分析
需求分析的流程图:
它的任务是:确定对系统的综合要求。分析系统的数据要求,导出系统的逻辑模型,修正系统的开发计划。具体为深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题。
它的作用是:准确说明我们开发的是什么;减少返工消耗
它的需求包括:业务需求、用户需求和功能需求。
业务需求:反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。
用户需求:文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明。
功能需求:定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。
需求分析方法分:
(1)结构化分析方法:包括面向数据流的结构化分析方法,面向数据流结构的Jackson方法和面向数据结构的结构化数据系统开发方法。
(2)面向对象的分析方法:从需求分析建立的模型的特性来分,需求分析方法又分为静态分析方法和动态分析方法。
结构化分析方法主要有数据流图和数据字典
下面介绍一下动态分析方法中常用的几种:
状态迁移图:描述系统状态,状态转移情况
优点:状态之间关系直观
容易建立分析工具(状态迁移表)
图——表直