需求分析是在可行性研究的基础上进行的更细致的分析工作,是软件定义时期的一个最后的阶段,是对软件目标及范围的求精和细化。通过调查研究和分析,充分了解用户对软件系统的要求,把用户要求表达出来,解决“软件系统必须做什么”的问题。
在需求分析阶段,着重点是在用户,主要是弄清用户想要什么东西。在需求分析的时候,涉及到三种分析方法:结构化分析方法,原型化分析方法,动态分析方法。
这三种分析方法,适用于不同的系统。
比如,结构化分析方法,主要是面向数据流进行需求分析,所以适合于数据处理类型软件的需求分析; 而在开发初期,用户对系统只有一个模糊的想法,很难完全准确的表达对系统的全面要求,在这时,可以先初步开发出一个原型,然后在此原型上进行废弃和追加,使原型逐渐达到要求。所以,这种分析方法主要用于需求不明确的开发,但是考虑到后面返工的成本,还是建议不要大型系统不要使用这种方法; 对于状态复杂,程序里面状态迁移比较频繁的,可选用动态分析方法。
另外,在每种分析方法里面,分别涉及到不同的工具图,用这些图,可以很要好的从整体上把握系统。
最后,得出需求规格说明书。