随着计算机技术的飞速发展,软件已经成为人们生活中不可缺少的一部分。人们在使用软件的过程中,常常会抱怨它无法执行某些基本操作。但对于软件开发人员而言,用户不断提出新的要求是一件多么烦人的事。其实,在软件开发过程中遇到的许多问题,都是由于收集、编写、协商、修改软件需求过程中的失误带来的,诸如信息收集不全、功能不明确、交流不充分、文档不完善、需求发生变化等。可以这样说,软件项目中百分之四十至百分之六十的问题都是在需求分析阶段埋下的"祸根"。
  开发软件系统最为困难的部分就是准确说明开发什么。最为困难的概念性工作便是编写详细的技术需求,包括所有面向用户、面向机器和其它软件系统的接口。软件需求一旦做错,将会给系统带来极大损害的部分,同时对以后的修改带来极大的困难。因此,完全理解软件需求对软件开发的成功起着至关重要的作用。