单选题 以下关于需求管理的叙述中,正确的是______。
A.需求管理是一个对系统需求及其变更进行了解和控制的过程
B.为了获得项目,开发人员可以先向客户做出某些承诺
C.需求管理的重点在于收集和分析项目需求
D.软件开发过程是独立于需求管理的活动

【正确答案】 A
【答案解析】[解析] 软件需求开发的最终文档经过评审批准后,则定义了开发工作的需求基线。这个基线在客户和开发者之间构筑了计划产品功能需求和非功能需求的一个约定(Agreement)。需求约定是需求开发和需求管理之间的桥梁。
需求管理是一个对系统需求变更、了解和控制的过程。需求管理过程与需求开发过程相互关联,当初始需求导出的同时就启动了需求管理规划,一旦形成了需求文档的初稿,需求管理活动就开始了。需求管理强调:
①控制对需求基线的变动;
②保持项目计划与需求一致;
③控制单个需求和需求文档的版本情况;
④管理需求和联系链,或者管理单个需求和其他项目可交付产品之间的依赖关系;
⑤跟踪基线中的需求状态。
CMMI描述了软件处理能力的5个成熟级别。为了达到过程能力成熟度模型的第二级,组织机构必须具有6个关键过程域KPA(Key Process Areas)。需求管理是其中之一,它的目标是:
①为软件需求建立一个基线,提供给软件工程和管理使用;
②软件计划、产品和活动与软件需求保持一致。
关于需求管理过程域内的原则和策略,可以参考如下。
①需求管理的关键过程领域不涉及收集和分析项目需求,而是假定已收集了软件需求,或者已由更高一级的系统给定了需求。一旦需求获得并且文档化了,软件开发组和有关的团队(例如质量保证和测试组)需要评审文档。发现问题应与客户或者其他需求源协商解决。软件开发计划是基于已确认的需求。
②开发人员在向客户以及有关部门承诺(Commitment)某些需求之前,应该确认需求和约束条件、风险、偶然因素、假定条件等。也许不得不面对由于技术因素或者进度等原因承诺一些不现实的需求,但是决不要承诺任何无法实现的需求。
③关键处理领域同样建议通过版本控制和变更控制来管理需求文档。版本控制确保随时能知道在项目开发和计划中正在使用的需求的版本情况。变更控制提供了支配下的规范的方式来统一需求变更,并且基于业务和技术的因素来同意或者反对建议的变更。当在开发中修改、增加、减少需求时,软件开发计划应该随时更新,确保与新的需求保持一致。