4.1.2 软件需求管理过程

软件需求开发通过调查与分析,获取用户需求,定义产品需求,从而建立可确认的、可验证的系统逻辑模型。根据有关机构的分析结果表明,软件产品存在的问题80%以上是需求分析错误所导致的,需求分析错误造成根本性的功能问题尤为突出,因此,软件需求管理的目的是在客户与开发人员之间建立对项目需求的共同理解,维护需求与其他工作成果的一致性,并控制需求的变更。

软件需求包括三个不同的层次:业务需求(Business Requirement)、用户需求(User Requirement)和功能需求(Functional Requirement)。业务需求反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。用户需求文档描述了用户使用产品必须要完成的任务,这在使用实例(Use case)文档或方案脚本(Scenario)说明中予以说明。功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。

软件需求工程的管理包括需求开发和需求管理两个部分,其中需求开发可分为:需求获取、需求分析、需求验证和需求规格说明四个部分,需求管理可分为:变更管理、版本控制、需求跟踪和需求状态。如图4-1所示。

图4-1 软件需求工程的管理