需求分析也称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。
为了促进软件研发工作的规范化、科学化,软件领域提出了许多软件开发与说明的方法,如结构化方法、原型化法、面向对象方法等。这些方法有的很相似。在实际需求分析工作中.每一种需求分析方法都有独特的思路和表示法,基本都适用下面的需求分析的基本原则。
(1)侧重表达理解问题的数据域和功能域。对新系统程序处理的数据,其数据域包括数据流、数据内容和数据结构。而功能域则反映它们关系的控制处理信息。
(2)需求问题应分解细化,建立问题层次结构。可将复杂问题按具体功能、性能等分解并逐层细化、逐一分析。
(3)建立分析模型。模型包括各种图表,是对研究对象特征的一种重要表达形式。通过逻辑视图可给出目标功能和信息处理间关系,而非实现细节。由系统运行及处理环境确定物理视图,通过它确定处理功能和数据结构的实际表现形式。
需求分析阶段的工作,可以分为四个方面:问题识别、分析与综合、制订规格说明、评审。
问题识别:就是从系统角度来理解软件,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准。这些需求包括:功能需求(做什么)、性能需求(要达到什么指标)、环境需求(如机型、操作系统等)、可靠性需求(不发生故障的概率)、安全保密需求、用户界面需求、资源使用需求(软件运行是所需的内存、CPU等)、软件成本消耗与开发进度需求、预先估计以后系统可能达到的目标。
分析与综合: 逐步细化所有的软件功能,找出系统各元素间的联系,接口特性和设计上的限制,分析他们是否满足需求,剔除不合理部分,增加需要部分。最后综合成系统的解决方案,给出要开发的系统的详细逻辑模型(做什么的模型)。
制订规格说明书: 即编制文档,描述需求的文档称为软件需求规格说明书。请注意,需求分析阶段的成果是需求规格说明书,向下一阶段提交。
评审: 对功能的正确性,完整性和清晰性,以及其它需求给予评价。评审通过才可进行下一阶段的工作,否则重新进行需求分析。