需求分析是对收集到的需求信息进行详细的汇总、剖析、分析、研究,确认需求信息准确、清晰、完备。顾名思义,需求分析方法就是进行需求分析所需使用的方法。常见的需求分析方法有:结构化分析法、面向对象分析法、原型法等。
(1)结构化分析法。
结构化分析法是一种传统的分析法,它把整个需求信息工作分为若干个相互关联的阶段或层次,然后按照结构化、模块化原则,自顶向下逐层进行分析,前一阶段的结果是后一阶段工作的依据;每个阶段或层次又划分为许多详细的工作步骤,按顺序开展。而且,每个阶段或层次和主要步骤都有明确、详尽的要求和规定,各个阶段或层次间和各个步骤的向下转移都是通过建立各自的文档和对关键阶段、步骤进行审核和控制来实现的。
它的好处是不需要精确地定义系统,只需要根据业务框架确定系统的功能范围,以及每个功能的处理逻辑和业务规则、功能需求规格说明书等。正因为这样,所以比较灵活多样,既可以采用表格,又可以采用示例图,还可以使用文字等方式来描述系统。
结构化分析法的优点是:①理论基础严密;②注重开发过程的整体性和全局性;③用户充分了解和理解它的指导思想。缺点是:①开发周期长;②文档、设计说明烦琐,工作效力低;③对分析人员要求比较高(对需求信息有非常深刻的认识);④对需求信息的质量要求比较严格(需求信息不能有任何疏忽、差错)。
(2)面向对象分析法。
面向对象是一种对现实世界中信息的理解和抽象的方法,是一种需求信息分析的方法,它适合复杂系统。面向对象的基本概念有对象、类、抽象、封装、继承、多态、接口、消息、组建、模式和复用等。
抽象数据类型概念对软件系统有着重要作用,面向对象模式建立在数据抽象和面向对象的基础上,将数据的表示方法及其相应操作封装在一个抽象数据类型或对象中。面向对象的分析模型由用例模型、类—对象模型、对象—关系模型和对象—行为模型组成。
面向对象分析法的优点是:①开发方法直观、方便;②封装功能实现数据的隐蔽;③成功率非常高;④被广泛应用。缺点是:①抽象化定义,难于理解,很难做到精确;②需要各方密切配合;③对操作者要求较高;④建模时间比较长。
(3)原型法。
当很难一下子全面准确地提出用户需求时,尽可能地先构造一个粗糙、简单的系统——原型系统。这个系统能实现客户全部或部分需求,但是它的可靠性、安全性、稳定性等一般都会存在问题。然后,反复对此系统进行升级、修改、完善,或者重新构造一个系统,直到最后的系统稳定、可靠、安全、适用、令客户满意。这种方法就叫作原型法。原型法有两种类型:抛弃型原型法和进化型原型法。抛弃型原型法(Throw-It-Away Prototype),就是反复重新构造系统,直到系统稳定、可靠、安全、适用,令客户满意为止。即重新构造一个系统,抛弃原来的旧系统。进化型原型法(Evolutionary Prototype),即反复对此系统进行升级、修改、完善,直到系统稳定、可靠、安全、适用,令客户令满意为止。
原型法的优点是:① 实际可行;② 构造方便、快速、便宜;③ 对人员要求不高;④ 适用于需求模糊的情况。缺点是:① 反复进行,让人疲惫、厌倦;② 容易出现版本混乱现象。
此文摘自《项目经理沟通管理技巧与实务》