2.1.2 软件原型开发模型

软件项目的原型开发模型就是在软件工程项目开发之前,首先开发一套样板软件产品模型或demo提供给用户。利用样板软件产品模型(原型)可以尽早获得更准确、更完善的需求,为软件项目的真正开发消除障碍、铺平道路,这种方法称为原型法。

在软件项目开发中使用原型系统的目的是通过原型样板软件产品展示未来系统将怎样为用户服务,更直接、更具体、更方便,从而可以使用户提出更准确、更全面、更完善的需求。用户通过试用原型系统能够提出系统的哪些功能和特性是他们需要和喜欢的,哪些功能和特性是不需要的,以及他们还需要增加哪些新的功能。通过试用原型系统,可与用户进行现场演示交流,产生真正满足用户需要的“需求分析结果”,为软件项目的成功开发奠定坚实的基础。

原型法软件项目开发模型的特点是开发出原型样板软件产品演示给用户,这样会增加一部分开发成本费用,但是带来的回报却是更准确、更全面、更完善的需求分析结果,从而为软件项目的正式开发(后续开发)奠定坚实的基础。

原型法软件项目开发模型如图2-2所示。

图2-2 原型法软件项目开发模型

支持原型法的依据有以下几个方面。

(1)并非所有需求分析都能预先定义,在很多情况下,用户对其目标和需求最初是笼统的、模糊不清的,许多细节也是含糊不清。要求一个对计算机系统不太熟悉的用户提出准确无误的全部需求分析是不切实际的,所以要使用原型系统。

(2)存在着项目参与者之间的交流和沟通障碍。大、中型软件项目的开发需要系统分析员、软件工程师、程序员、管理者和用户等各类人员的共同参与,在工作中要协同一致,沟通和交流至关重要。为方便参与者之间的沟通、交流,需要使用原型系统。

(3)可以利用快速建造原型工具。通用的超高级语言是基本的建造原型工具。超高级语言的语句功能很强,可以用少数语句实现一个系统,但超高级语言运行时需要很大的支持系统,这就增加了需要的存储容量,降低了该语言的执行速度,因此,超高级语言不适合于开发较大的实际软件系统,但对原型系统却是非常适合。通用的软件工具能将需求说明转换成可执行程序等。

实现原型系统的途径:首先,用于验证软件需求的原型,即用适当的工具快速构造出可运行的原型系统,由用户来测试(试用)和评估;其次,用于验证设计方案的原型,即为保证软件项目开发的质量,在总体设计和详细设计中用原型法来验证总体结构及关键算法的正确性;最后,用于演示目标系统的原型,即通过演示过程确定需求策略,使开发人员和用户对系统的理解逐渐加深,不断对原型进行修改、改进、扩充和完善,直到用户满意为止。