原型模型

    在开发真实系统之前,通过构建一个可以运行的软件原型,使开发人员与用户达成共识,以便理解和澄清问题,最终在确定的客户需求基础上开发客户满意的软件产品。

    根据运用原型的目的和方式不同,可以将原型模型分为快速原型模型(抛弃型)和原型进化模型(渐进型)。(参考文章参考文章2)

    1.快速原型模型

    快速原型模型是原型模型在软件分析、设计阶段的应用,用来解决用户对软件系统在需求上的模糊认识,或用来试探某种设计是否能够获得预期结果。

快速原型模型

    快速原型模型具有以下一些特点:

    (1)快速原型是用来获取用户需求的,或是用来试探设计是否有效的。一旦需求或设计确定下来了,原型就将被抛弃。因此,快速原型要求快速构建、容易修改,以节约原型创建成本、加快开发速度。快速原型往往采用一些快速生成工具创建,例如 4GL 语言。目前,Microsoft  Visual Basic、Inprise Delphi 等基于组件的可视化开发工具,也被应用于原型创建之中,并且都是非常有效的快速原型创建工具,而且还可用于原型进化。

    (2)快速原型是暂时使用的,因此并不要求完整。它往往针对某个局部问题建立专门原型, 如界面原型、工作流原型、查询原型等。

    (3)快速原型不能贯穿软件的整个生命周期,它需要和其他的过程模型相结合才能产生作 用。例如,在瀑布模型中应用快速原型,以解决瀑布模型在需求分析时期存在的不足。

    2.原型进化模型(演化模型)

    原型进化对开发过程的考虑是,针对有待开发的软件系统,先开发一个原型系统给用户使用,然后根据用户使用情况的意见反馈,对原型系统不断修改,使它逐步接近并最终到达开发目标。跟快速原型不同的是,快速原型在完成需求定义后将被抛弃,而原型进化所要创建的原型则是一个今后将要投入应用的系统,只是所创建的原型系统在功能、性能等方面还有许多不足,还没有达到最终开发目标,需要不断改进。 原型进化的工作流程如图所示。

 

原型进化模型

    从图中可以看到,它具有以下两个特点:

    (1)原型进化模型将原型用于开发的全过程,原型由最基本的核心开始,逐步增加新的功能和新的需求,反复修改反复扩充,最后发展为用户满意的最终系统。

    (2)原型进化模型是通过不断发布新的软件版本而使软件逐步完善的,因此,这种开发模式特别适合于那些用户急需的软件产品开发。它能够快速地向用户交付可以投入实际运行的软件成果,并能够很好地适应软件用户对需求规格的变更。原型进化模型能够适应软件需求的中途变更,但在应用的时候,以下问题需要得到足够的重视。

    其一,原型进化模型虽说使开发进程加快了,但不能像瀑布模型那样提供明确的里程碑管理,随着开发过程中版本的快速更新,项目管理、软件配置管理会变得复杂起来,管理者难以把握开发进度。因此,对于大型软件项目,原型进化模型缺乏有效的管理规程。

    其二,开发过程中软件版本的快速变更,还可能损伤软件的内部结构,使其缺乏整体性和稳定性。另外,用于反映软件版本变更的文档也有可能跟不上软件的变更速度。这些问题必将影响到今后软件的维护。

    原型的开发步骤

    1.快速分析

    在分析人员与用户密切配合下,迅速确定系统的基本需求,根据原型所要体现的特征描述基本需求以满足开发原型的需要。

    2.构造原型

    在快速分析的基础上,根据基本需求说明尽快实现一个可行的系统。这里要求具有强有力的软件工具的支持,并忽略最终系统在某些细节上的要求,如安全性、坚固性、例外处理等等,主要考虑原型系统能够充分反映所要评价的特性,而暂时删除一切次要内容。

    3.运行原型

    这是发现问题、消除误解、开发者与用户充分协调的一个步骤。

    4.评价原型

    在运行的基础上,考核评价原型的特性,分析运行效果是否满足用户的愿望,纠正过去交互中的误解与分析中的错误,增添新的要求,并满足因环境变化或用户的新想法引起的系统要求变动,提出全面的修改意见。

    5.修改

    根据评价原型的活动结果进行修改。若原型未满足需求说明的要求,说明对需求说明存在不一致的理解或实现方案不够合理,则根据明确的要求迅速修改原型。

posted @ 2019-11-27 22:15  永不停转  阅读(7433)  评论(0编辑  收藏  举报