需求分析
为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求,对软件需求的深入理解是软件开
发工作获得成功的前提条件,不论人们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会
令用户失望,给开发者带来烦恼。
需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题
。
虽然在可行性研究阶段已经粗略地了解了用户的需求,甚至还提出了一些可行的方案,但是,可行性研
究的基本目的是用较小的成本在较短的时间内确定是否存在可行的解法,因此许多细节被忽略了。然而在
最终的系统中却不能遗漏任何一个微小的细节,所以可行性研究并不能代替需求分析,它实际上并没有准确
地回答“系统必须做什么?”这个问题。
需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目
标系统提出完整、准确、清断、具体的要求。
在需求分析阶段结東之前,系统分析员应该写出软件需求规格说明书,以书面形式准确地描述软件需求
。
在分析软件需求和书写软件需求规格说明书的过程中,分析员和用户都起着关键的、必不可少的作用,
只有用户才真正知道自己需要什么,但是他们并不知道怎样用软件实现自己的需求,用户必须把他们对软件
的需求尽量准确、具体地描述出来;分析员知道怎样用软件实现人们的需求,但是在需求分析开始时他们对
用户的需求并不十分清楚,必须通过与用户沟通获取用户对软件的需求。
需求分析和规格说明是一项十分艰巨复杂的工作。用户与分析员之间需要沟通的内容非常多,在双方
交流信息的过程中很容易出现误解或遗漏,也可能存在二义性。因此,不仅在整个需求分析过程中应该采用
行之有效的通信技术,集中精力细致工作,而且必须严格审查验证需求分析的结果。
尽管目前有许多不同的用于需求分析的结构化分析方法,但是,所有这些分析方法都理守下述准则
(1)必须理解并描述间题的信息域,根据这条准则应该建