软件开发生命周期包含需求、设计、编码和测试四个过程阶段,其中需求过程是第一个也是最重要的一个阶段。软件需求包括三个不同的层次:业务需求,说明了提供给客户和产品开发商的新系统的利益,反映了组织机构或客户对系统、产品高层次的目标要求,它们将在项目视图与范围文档中予以说明;用户需求,描述了用户使用系统必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明;功能需求和非功能需求,定义了开发人员必须实现的软件功能,使得用户能顺利完成他们的任务,从而满足了业务需求。软件需求过程包括了5个主要活动:需求获取、需求分析和确认、编写需求规格说明书、需求验证和需求管理。
一、需求获取
需求的收集、分析、细化、核实并组织的步骤,并将它编写成文档。这个活动包括了编写项目视图和范围文档、用户群分类、选择用户代表、建立核心队伍、确定使用实例、召开联合会议、分析用户工作流程、确定质量属性、检查问题报告和需求重用10个具体任务,文章将在后面进行详细的阐述。
二、需求分析
根据需求获取中得到的需求文档,分析系统实现方案。这个活动需要完成下面几个任务:
1、绘制关联图,用于定义系统与系统外部实体间的边界和接口的简单模型;
2、创建开发原型,当开发人员或用户不能明确某些需求时,开发一个系统原型,这样使得许多概念和可能发生的事更为直观明了;
3、分析可行性,在允许的成本、性能要求下,分析每项需求实施的可行性,明确每项需求实现相联系的风险,包括与其它需求的冲突,涉及各类用户的利益平衡,对外界因素的依赖和技术障碍;
4、确定需求优先级:分析方法来确定使用实例、系统特性或单项需求实现的优先级别,以优先级为基础确定产品版本将包括哪些特性或哪类需求;
5、为需求建立模型,为需求建立图形分析模型是软件需求规格说明极好的补充说明,可以为系统需求从多个角度建模;
6、编写数据字典,创建数据字典数据字典是对系统用到的所有数据项和结构的定义,以确保开发人员使用统一的数据定义;
7、应用质量功能调配,将系统特性、属性与对客户的重要性联系起来,提供了一种分析方法以明确哪些是客户最为关注的特性。
三、编写需求规格说明书
需求开发的最终成果是客户和开发小组对将要开发的产品达成一致协议,这一协议就是通过文档化的需求规格说明书来体现。需求规格说明书包括项目视图和范围文档说明了系统的业务需求,而使用实例文档则说明了用户需求。这个活动需要完成下面几个任务:
1、采用模版,在你的组织中要为编写软件需求规格说明书等文档定义一种标准模板,该模板为记录系统需求和各种其它与需求相关的重要信息提供了统一的结构;
2、指明需求来源,为了让所有项目风险承担者明白需求规格说明书中为何提供这些功能需求,要能追溯每项需求的来源,来源可能是一种使用实例或其它客户要求,也可能是某项更高层系统需求、业务规范、政府法规、标准或别的外部来源,这些来源应该记录在需求的跟踪能力矩阵中;
3、为每项需求注上标号,为了需求的可跟踪性和可修改性的质量标准,必须唯一确定每个软件需求,为制定一种惯例来为需求规格说明书中的每项需求提供一个独立的可识别的标号或记号;
4、记录业务规范,是指关于系统的操作原则,比如谁能在什么情况下采取什么动作,将这些编写成需求规格说明书中的一个独立部分,或一独立的业务规范文档;
5、创建需求跟踪能力矩阵,建