一.渐进原型的定义
渐进原型是从开发系统概念开始项目的一种模型,通常是从最显著的方面开始,向用户展示完成的部分,然后根据用户的反馈继续开发原型,不断增添、精炼原型,直到完成用户的所有工作目标,这样原型最终变成可以交付的软件。
该模型特别适合下面的环境:
1)
需求变化很快的时候;
2)
用户很难提出明确的需求的时候;
3)
当开发人员和用户都不知道如何才是系统正确的定义
4)
开发人员对最佳的架构或者算法没有把握的时候。
渐进原型的优点:
1)
适用于上面提到的环境,积极启动项目
2)
每个阶段用户都可以看见必要的系统变化或者进展,而不必等到项目的最后时间
渐进原型的缺点:
1)
在开始的时候,不可能知道开发一个令人满意的系统需要多少时间,反复次数;
2)
每次重复包括需求分析、设计和代码维护,与传统方法比较,进展的幅度较小。
二.渐进原型的应用
我最近参与了一个政府信息化的项目,在项目初期就遇到了需求不确定的问题,用户非常希望开发的系统能够提高业务实效性,能够提高业务的响应时间,但是他们暂时还没有能够将这些目标具体到系统功能的具体描述中,而开发人员也是刚刚接触到这个新的业务领域,许多业务特性的东西还没充分掌握,也缺少类似的参考系统,项目的时间进度和费用也不允许项目的前期调研和分析时间能够非常充分。最终我们采用了渐进原型的开发模型,顺利完成了整个项目。
首先,我尽可能参考了通用系统的一般功能,并且结合该行业的特点,精简抽取了系统的主要功能项目,在此基础上,在较短的时间内开发实现了第一阶段系统的原型,交付部署到了用户现场,用户看到了系统,并且看到了主要功能,也平静也很多,同时,基于这个原型,用户不断的提出了反馈意见,由于亲眼看见了系统,使用了系统,用户提出的意见和建议也不最初的时候明确了许多,清晰了许多。接下来,我们定期将用户的反馈意见以及我们对用户业务系统新认识进行融合,一段时间以后,再次形成第二阶段的需求分析,与用户确认,然后进行了第二阶段的开发和发布。经过两个阶段的开发,这个系统原型已经基本符合用户使用要求,在第三次需求分析的时候,主要将一些管理和维护功能加了进去,这样,也从原型开始的系统最终成为了一个交付软件。
三.小结:
1)
虽然分了多个阶段,已开始总体目标模糊,但是每个阶段的目标是明确的,功能也是限定的,所以每个阶段的开发能够较为顺利
2)
用户能够不断的看到新的变化,而且符合他提出的反馈意见,交流充分,关系融洽。
3)
每次阶段的需求分析都进行了充分的讨论和可行性分析,抑制了不必要的功能膨胀,防止了系统的无限制扩张。
许多政府信息化的项目,其内容和业务不清晰,在项目开始的时候,很容易遇到这样的情况,如何采用必要的方法,推动项目合理有效的进行,是非常值得思考和实践的,希望本文对大家有所帮助和借鉴。