《需求规格说明书》是需求调研阶段重要的输出成果性文档,其质量的好坏直接关系到软件开发项目的成败,监理方作为项目质量的监控方,有责任和义务对《需求规格说明书》进行审核把关。本篇文章***文档审核的******和需要把握的要点进行阐述。
需求范围控制是需求阶段控制的难点,如果处理不好,会导致业主方与承建方的纠纷,甚至项目没完没了,不能验收。因为在项目验收时往往以招标文件、投标文件、开发合同、需求成果文档为依据来确定项目是否达到了范围的要求,往往招投标文件对用户需求范围规定不细,合同没有规定,如果需求成果文档再写的很粗糙,项目到了上线试运行时,业主方会认为所要的功能没有******实现,承建方认为用户开始没有提出详细的需求,然后***开始不断改变和新增需求,项目范围无法得到有效的控制,永远没法验收。为解决这一难题监理方应从中起到重要作用。建议的做法是:
一是控制好软件开发方法利于需求获取:根据项目复杂度、业主方信息化基本情况,选好开发方法,如果复杂度高业主方信息化基础弱可能选用原型法,如果时间紧、承建方经验丰富可选用敏捷法。
二是巧妙引导使用《用户需求说明书》,协调、建议业主方和承建方,需求调研时汇总“需求调研表”形成《用户需求说明书》对开发的范围和性能目标需求进行界定,并建议业主方业务部门对其业务需求签字确认,同时约定合理变更范围,如果在这个范围内,承建方应开发和调整不增加费用,如果超出这个范围或对系统架构有较大的变更,业主方要增加费用。形成会议纪要或备忘录各方遵守。
三是以《用户需求说明书》为依据对《需求规格说明书》的开发范围进行检查和审核。
《需求规格说明书》形式与内容并重,主要表现为形式要求和内容的完整性,只有形式与内容都达到要求才认为是合格的《需求规格说明书》。
一是形式******:包括封皮******、版本控制信息清晰、章节分部合理、文字简练、******、专业、无冗余、图文并茂等。
二是内容完整:包括引言(包括目的、范围、阅读对象、参考资料、缩写词、略语、相关法律法规等);功能需求;非功能需求(包括******性、安全性、易用性、可用性、可扩展性、可维护性、可移植性等);接口需求、约束条件等文档结构合理,其中要求运行环境、操作方式、故障处理、备份需求、反应速度、流量、频度等一应俱全,把握一个原则是:不能缺项。
把握《需求规格说明书》的三要素是审核的关键,首先要了解软件开发中采用结构化方法、面向对象的方法、SOA架构对《需求规格说明书》的影响。《需求规格说明书》除了与用户沟通要用户理解、监理人员作为控制项目的依据、测试人员作为测试依据之外,也是开发设计人员的依据和工作指南,如果开发方法用的是结构化方法,那么《需求规格说明书》中“业务流”、“数据流”、“数据字典”成为其不可缺少的三要素,缺一不可,并且是环环相扣,相互对应,下面分别述之。
一是业务流程图:要与用户实际业务一致,要以用户容易理解的、标准的图形清晰表述,如果较复杂***用子图分层的方法表述,以简易和容易理解业务为原则。
二是数据流程图:先是与业务流程图一一对应,再是涉及的输入或输出表应明确画出,表划分合理、无冗余。注意处理好分层时的表达。
三是数据字典:实际上是数据流程图中输入、输出表中对应的数据项,需要说明的是要标出数据项要求的类型或字长等属性。
如果是面向对象的方法,由于其迭代和无间隙的特点,需求和设计没有明显的界限,所以在审核《需求规格说明书》时至少要有用例图、顺序图、类图等,所要表述的要把握基本与结构化方法三要素相对等的信息,如果情况复杂时还要有状态图,以下简述之:
用例图:能清晰反映出角色和用例,可以对应业务流中的主要功能项,通常用例将转化为程序菜单,主要用于审核检查业务范围。
顺序图:审核检查顺序图的粒度,基本上能对应业务流程和数据流程***行了,它是以时间顺序描述流程的,也可以空间顺序的协作图来代替其描述流程。
类图:类图主要是描述数据项,可以将其对应为结构化方法的数据字典,但其更贴近自然,更能适应变化。
《需求规格说明书》文档中接口和安全也尤为重要,接口和安全是软件开发的******和难点,处理不好,会给项目埋下定时炸弹,即使回避一时,但矛盾很快会暴露,根据项目实际情况对这两个方向的把握也是监理审核的******。