原型法(Prototyping)的理念是指在获取一组基本需求之后,快速地构造出一个能够反映用户需求的初始系统原型。让用户看到未来系统的概貌,以 便判断哪些功能是符合要求的,哪些方面还需要改进,然后不断地对这些需求进一步补充、细化和修改。依次类推,反复进行,直到用户满意为止并由此开发出完整 的系统。简单的说,原型法就是不断地运行系统的“原型”来进行揭示、判断、修改和完善需求的分析方法。
原型需求分析法的特点
原型法是一种循环往复、螺旋式上升的工作方法,它更多地遵循了人们认识事物的规律,因而更容易被人们掌握和接受。原型法强调用户的参与,特别是对模型的描 述和系统需求的检验。它强调了用户的主导作用,通过开发人员与用户之间的相互作用,使用户的要求得到较好的满足。不但能及时沟通 双方的想法,缩短用户和开发人员的距离。而且能更及时、准确的反馈信息,使潜在问题能尽早发现并及时解决, 增加了系统的可靠性和适用性。
简单的说,原型法是将系统调查、系统分析和系统设计合而为一,使用户一开始就能看到系统开发后是一个什么样子。而且用户参与了系统全过程的开发,知 道哪些是有问题的,哪些是错误的,哪些需要改进等,就能消除用户的担心,并提高了用户参与开发的积极性。同时,用户由于参与了开发的过程将有利于系统的移 交、运行和维护。
但需要注意的是,原型法的适用范围是比较有限的。它只对于小型、简单、处理过程比较明确、没有大量运算和逻辑处理过程的系统比较合适。它的局限 性是对于大型的系统不太适合,因为对于需要大量的运算、逻辑性较强的程序模块,原型法是很难通过简单的了解就构造出一个合适的模型,供用户评价和提出修改 建议。
使用原型法进行需求分析的流程
(1)快速分析,弄清用户的基本信息需求
需求分析原型法的第一步是在需求分析人员和用户的紧密配合下,快速确定软件系统的基本要求。也就是把原型所要体现的特性(界面形式、处理功能、 总体结构、模拟性能等)描述出一个基本的规格说明。快速分析的关键是要选取核心需求来描述,先放弃一些次要的功能和性能。尽量围绕原型目标,集中力量确定 核心需求说明,从而能尽快开始构造原型。
这个步骤的目标是要写出一份简明的骨架式说明性报告,能反映出用户需求的基本看法和要求。这个时候,用户的责任是先根据系统的输出来清晰地描述 自己的基本需要,然后分析人员和用户共同定义基本的需求信息,讨论和确定初始需求的可用性。
(2)构造原型,开发初始原型系统
在快速分析的基础上,根据基本规格说明应要尽快实现一个可运行的系统。我在这个项目得到的经验是原型系统可先考虑原型系统应必备的待评价特性, 暂时忽略一切次要的内容。例如安全 性、健壮性、异常处理等。如果这时为了追求完整而把原型做得太大的话,一是需要的时间太多,二是会增加后期 的修改工作量。因此,提交一个好的初始原型需要根据系统的规模、复杂性和完整程度的不同而不同。本步骤的目标是:建立一个满足用户的基本需求并能运行的交 互式应用系统 。在这一步骤中用户没有责任,主要由开发人员去负责建立一个初始原型。
(3)用户和开发人员共同评价原型
这个阶段是双方沟通最为频繁的阶段,是发现问题和消除误解的重要阶段。其目的是验证原型的正确程度,进而开发新的原型并修改原有的需求。由于原 型忽略了许多内容和细节,虽然它集中反映了许多必备的特性,但外观看起来还是可能会有些残缺不全。因此,用户可在开发人员的指导下试用原型,在试用的过程 中考核和评价原型的特性,也可分析其运行结果是否满足规格说明的要求,和是否满足用户的愿望。并可纠正过去沟通交流时的误解和需求分析中的错误,增补新的 要求,或提出全面的修改意见。
总的来说,原型法是通过强化用户参与系统开发的过程,让用户获得系统的亲身体验,找出隐含的需求分析错误。原型需求分析法是鼓励改进和创造,通 过不断交流来提高需求实现的质量和软件产品的质量,目的是为了更好的提高客户满意度。