收集到了客户的需求后,下一步就到了对需求进行分析的阶段,在这个阶段就要理解需求、分析需求、最后确定系统需要实现的功能需求。这一阶段非常重要,因为前期收集到的需求表达形式各种各样,不一定都是用“软件功能”的形式表达的(很多需求是用客户用语表达的),需要对这些原始需求进行分析、去伪存真、最终将全部的客户需求转换为清晰、明确的软件功能需求表达形式。最终交付的【需求规格说明书】就是基于这个阶段的工作成果编制而成的。【需求规格说明书】完成表明需求工程的结束,它是后续设计工程的输入。
这是需求工程的第三个阶段,介绍:需求分析的作用和方法。
需求分析,是对收集到的需求进行细致的分析、研判,准确地理解客户的目标、业务等对信息化的需求,最终将这些需求转换为准确的功能需求定义。需求分析阶段的主要工作有三个
1)对收到的需求根据内容进行分层梳理,以利于进行分析;
2)对分层的需求进行转换,以确定系统要实现的功能需求;
3)将分析成果汇总成为【需求规格说明书】,该资料的用途有两个
- □对客户:确定了系统需要开发的全部内容,是客户验收系统的依据;
□对软件商:是系统的规划、设计,开发、测试、交付等全实施流程的依据;
一、需求的分层与作用
对收集到的需求按照不同的层次进行归集、划分:
1. 第一层:目标需求
□提出者:项目投资人、产品购买者、实际用户的管理者、信息中心负责人等;
□需求内容:企业导入系统的目的,信息化目标、企业战略、理念、希望、价值等;
□需求作用:用于指导系统的顶层设计,对业务需求转换的指导等;
2. 第二层:业务需求
□提出者:包括企业的经营者、部门管理者及员工,从业务管理层面提出的需求;
□需求内容:对系统对应的业务范围、流程,规则、标准、规范等提出的需求等;
□需求作用:用于指导对企业的业务架构、操作功能规划、业务流程的优化等;
3. 第三层:功能需求
□提出者:包括所有未来的系统用户;
□需求内容:给出系统必须提供的功能需求、以及对该功能需求的具体描述。
□需求作用:它是后续进行系统设计、系统开发、测试验证的具体依据;
二、需求的转换
需求调研收集的需求采用的是图形、文字和表单的形式,要分别从这三种形式中识别出最终要的“功能需求”,由于目标需求、业务需求直接看不出来是需要什么系统功能,因此要将它们按照“目标需求 → 业务需求 → 功能需求”的顺序进行转换,最终识别出全部的功能需求,这个功能需求就是后续要进行设计的系统功能依据。
1.目标需求
目标需求不能直接给出对应的功能需求,因为目标需求是用目标、理念、思想、价值等抽象化的形式表达的,因此针对目标需求必须首先找到其对应的业务场景,也就是要先将目标需求转换到业务需求上。
2.目标需求向业务需求转换
在调研时会发现客户熟悉自己的业务,但是并不清楚自己的需求对应的是什么样的软件功能,所以他们通常采用描述业务处理过程的形式说明自己想要完成什么任务,然后再通过与需求分析师的沟通、分析,最后转换成为功能需求。
3.业务需求向功能需求转换
进入了功能需求阶段,就没有转换作业了。由于客户不一定理解信息系统的设计与开发工作,因此要对由他们提出来的功能需求进行甄别:是否是真实的需求?该需求的可行性?提出的功能需求是否有重叠?在“人-人”环境中需要的功能在进入到“人-机-人”环境中是否还需要?等等。
三、需求规格说明书
需求规格说明书是对前述的所有需求准备、调研和分析成果的总结。主要包括有
- □引言:包括项目目的、背景、用语等基础信息;
□项目概述:对项目自身的说明、包括范围、主要处理对象、与其他系统的关系等;
□功能需求:本项目具体的规划、架构层、功能层、数据层需求的详细说明等;
□非功能需求:对未来系统的性能、安全、扩展等的需求等;
□技术需求:接口、架构、硬件、网络、部署等;
□各类措施:质量保证、验收标准等;
附:解决方案
对需求调研和分析的成果还有另外一种使用形式,即:解决方案。解决方案的目的是对客户进行概要说明,相对于需求规格说明书来说,解决方案包含的范围更加广泛、深度浅一些。解决方案也有其重点强调的内容,例如:
□项目的目的、基本功能展示、导入信息化系统的价值、既有问题的改善、未来规划等内容;
□项目周期、里程碑计划、项目执行计划、项目开发金额等;
□项目组织、资源构成、管理方法等;
□质量保证措施、风险控制措施;等等。
其他
□高层领导的需求如何转换为具体的功能需求
□管理层领导的业务需求如何转换为具体的功能需求
□如何识别用户提出需求的真伪
□需求规格说明书的编写方法
□需求功能一览表模板
□功能需求的规格书记录表(4件套)模板; …等
详细说明和模板,请参看《大话软件工程—需求分析与软件设计》一书。