快速原型开发模型详解

  1. 快速原型开发的定义

快速原型开发是指在获得一组基本的用户需求后,通过快速分析构造出一个满足这些基本需求的小型的软件系统,使得用户可以在使试用这个小型系统的过程中亲身感受自己的需求并受到启发,对这个系统做出反应和评价,然后开发者根据用户的意见对原型加以改进。通过不断的试验、纠错、使用、评价和修改,快速原型法可以逐步确定各种需求细节,适应需求的变更。

快速原型迭代完成后会给出一个经过确认的、详细准确的需求文档,为后续的研制打下坚实的基础。

  1. 快速原型开发的选择指南

选择快速原型开发方法应考虑以下因素:

  • 系统结构。快速原型开发适合具有事务处理的系统结构,不适合具有批处理、批修改等系统结构的软件。

  • 逻辑结构。快速原型开发适合操作支持系统、管理信息系统、记录管理系统,不适合基于大量算法的系统。

  • 用户特征。快速原型开发需要用户的积极配合,所以只有那些不满足于预先做系统需求的定义说明,愿意为定义和修改原型投资,愿意承担决策的责任,准备积极参与的用户才适合使用快速原型开发。

  • 应用约束。快速原型开发不适合那些对已有系统的改进。

  • 项目管理。只有项目负责人愿意使用快速原型开发的项目,才适合用快速原型开发。

  • 项目环境。项目的实际环境支持使用快速原型开发方法。

  1. 快速原型法生命周期模型详细说明

快速原型法生命周期模型见下图。

  • 快速分析

这个阶段要求分析人员和用户紧密配合,快速确定软件的界面形式、主要的功能和性能以及结构等基本的用户需求。

这一阶段的主要成果是形成可用于构造原型软件系统的基本的需求规格说明。

快速分析的主要目的是为下一步构造开发原型打下基础,所以不要太纠结于需求的细节。

  • 构造原型

这个阶段是根据快速分析得到的软件原型系统的基本需求,快速实现一个可运行的软件系统原型。

这一阶段的成果是一个可运行的软件系统原型。

构造原型要求尽可能快速地实现,所以这一阶段要尽可能地采用强有力的软件工具的支持。比如采用高级的面向对象的开发平台,使用构件库等等。

  • 运行和评价原型

开发人员在完成原型的开发之后,就要与用户一起运行和评价原型。用户需要在开发人员的指导下试用原型,在使用过程中评价原型的特性,分析其是否满足用户的要求和期望,以及是否满足快速分析阶段形成的基本的需求。在运行和评价原型完成之后,用户要给出是否满意的结论或者修改的意见。

一个原型要让用户满意,通常不是一次就能达成的,它需要多次迭代才能达成。所以对原型的运行和评价也常常不只一次,它也是需要多次迭代的。而在迭代的初期和后期所要达成的目的也是不同的。在迭代的初期要达成的目的是:检查原型的完成度,检查原型中存在的错误,以及在使用原型时用户是否容易和舒适;在迭代的后期要达到的目的是:检查原型是否有未实现的或不正确的功能,确定后续软件系统的测试思路,对系统界面提出改进建议。

  • 修正和改进

如果用户通过试用软件系统原型给出了修改意见,那么开发人员就要按照这个修改意见进对原型进行修改。如果用户的修改意见当中包含了对基本的需求规格说明的修改,那么开发人员应当首先修改基本的需求规格说明再按照需求规格说明修改原型。

  • 判定原型完成

在对原型进行改进之后,开发人员与用户一起来判定原型是否满足基本需求规格说明的要求。如果满足,则判定原型已经完成;否则,继续改进原型。

  • 判断是否需要对需求补充详细说明

由于各种条件的限制,有些需求可能无法在原型上准确的展示,这就需要开发人员和用户一起来判断是否需要对这些需求补充一些详细的说明。

  • 补充需求的详细说明

对那些不能通过原型进行演示的需求补充详细说明。比如数据库的组织、系统的可靠性、用户地位等。

  • 判定原型效果

用户通过试用迭代改进后的原型及其所确定的基本需求规格说明,以及补充的需求详细说明等来判断对原型的效果是否满意。如果满意,则进入下一阶段,如果不满意则继续迭代验证。

  • 整理原型和提供文档

如果用户对原型的效果比较满意,就可以结束原型开发的过程。在这个阶段,开发人员对原型进行整理,将其作为下一步开发提供依据,同时形成最终的需求规格说明。

这正是:

快速原型开发法,六个因素选择它

细分模型九阶段,一一阐述不费话

参考书目:军用软件工程,作者:黄震宇等,出版社:电子工业出版社

(0)

相关推荐