需求由业务及信息化规划、用户需求分析和系统需求分析三个阶段的工作成果构成,每个阶段因其所占角度与范围不同,也都有其固定的内容,由此也可看出,需求所包含内容的庞大,但这并不是说做需求只要把信息收集的分析的足够多,就能做好了,需求有着其独特性。只有满足特性,才能做好需求。
特性说明的是软件需求内容上和形式上应该具有的属性。首先说内容上,做需求,收集信息首先就应该确保信息的完整性,只有将所要实现的功能描述的足够清楚,才能使开发人员获得设计和实现这些功能所需要的定量的信息。完整性也不能指“多多益善”,要做到足够准确,每一项需求都必须准确地描述其开发的功能。对于不同规模的软件需求我们也可以采用不同的方法来确保软件需求的正确性。业务分析是软件需求工作的基础,所以要将业务分析的工作放在软件需求工作的第一重要位置。软件需求不光是一堆信息的分析,此外还将一些开发设计放在了软件需求里,例如信息系统的体系架构设计、数据库设计、安全设计,当然这些设计并不能取代软件开发过程中的设计工作,但是也给出了设计用什么做的原则性描述,做到宏观规划与设计。需求也不可盲目去做,每一项需求都是要在已知系统和环境的全能和限制范围内可以实施的,如果需求不可行,这样的需求也没有意义。需求众多,所以要将需求分开等级和必要性,由重到轻,先抓重点。需求的描述要足够准确,不能产生二义性。每项需求都要可验证,以便方便开发历程。
还有形式上的特性,这主要说的就是需求在文档中编写的体现,首先就是软件需求的编写需要按照格式化文档书写,实现需求文档的统一性,就可以方便工程内所有人员的沟通使用;其次多种格式化文档在一起时。就必须要做到一致性,补鞥存在同名不同意的矛盾;还有就是可修改性,需求的变更是非常频繁的,所以文档的编写要让需求分析更加易于修改;还要在每项需求与它的根源。设计元素、源代码、测试用例减建立链接关系,实现需求分析文档与软件开发各环节的关联。
我们已经知道需求是项工程,是软件开发最重要的环节,所以做需求分析就要更加认真的仔细,更加的合乎要求。