实用软件工程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.4 原型模型

许多软件公司在生产软件产品与实施软件项目时,经常采用一种“原型法”,它来源于原型模型。

1.模型的本意

原型模型(Prototype Model)的本意是:在初步需求分析之后,马上向客户展示一个软件产品原型(样品),对客户进行培训,让客户试用,在试用中收集客户意见,根据客户意见立刻修改原型,之后再让客户试用,反复循环几次,直到客户确认为止。

原型模型适合于企业资源规划ERP(Enterprise Resource Planning)系统,尽管市场上推出了许多公司的分行业ERP“产品”,但是这些“产品”的产品化程度相当低,都必须在实施中做大量的客户化工作。有些公司的分行业ERP“产品”称作“分行业解决方案”,这个“分行业解决方案”就是分行业的原型,即快速原型法中的原型。

2.模型的特点

原型模型的特点是:原型驱动。开发者必须先有一个原型(样品),至少要有一个原型的核心。

原型模型与迭代模型的相同点是:反复循环几次,直到客户确认为止。不同点是:原型模型事先有一个展示性的产品原型(样品),而迭代模型可能没有。

3.选择模型的条件

选择原型模型的条件是:

(1)已有产品或产品的原型(样品),只需客户化的工程项目。

(2)简单而熟悉的行业或领域。

(3)有快速原型开发工具。

(4)进行产品移植或升级。

由于上述条件不太苛刻,所以凡是有软件产品的IT企业,在他们熟悉的业务领域内,当客户招标时,他们都会以原型模型作为软件开发模型,去制作和讲解投标书。一旦中标,就用原型模型作为实施项目的基础,对软件产品进行客户化工作,或对软件产品进行二次开发。

4.模型的优点

原型模型的优点是:开发速度快,用户意见实时反馈,有利于开发商在短时间内推广并服务于多个客户。

因此,它一直是软件企业界的主流开发模型之一。凡是有软件产品积累的软件公司,他们在投标、开发、实施项目的过程中,都非常喜欢采用原型模型。

5.模型的缺点

原型模型的缺点是:因为事先有一个展示性的产品原型,所以在一定程度上,不利于开发人员的创新。

6.快速原型法

由于原型模型的开发速度较快,有时也将它称作快速原型法(Rapid Prototyping)。在开发工具和开发环境迅速发展的今天,在信息系统开发中,原型法和快速原型法又被赋予新的内容:事先没有原型产品,也可以采取这种办法。基本思路是:采用以面向元数据为主的方法,在需求分析的基础上,利用ER win或Power Designer等数据库分析和设计工具,快速建立信息系统的概念数据模型CDM和物理数据模型PDM;然后利用面向对象编程工具,在软件企业强大的类库、构件库的支撑下,快速实现需求分析中确认的流程、功能、性能和接口;之后交付给用户试用,反复循环几次,直到客户确认满意为止。

【例2-1】 1996年8月,某高级工程师带领一个熟练的程序员来到某港务局通信中心,开发该中心的电话业务信息管理系统。当时,虽然两个开发人员手中并无“原型”,但是他们一个是数据库设计高手,一个是编程高手,所以俩人分工负责,一人设计数据库,一人编写程序,双方配合默契,只用一个多月时间,就圆满地完成了开发任务,收回了全部开发费用,获得了客户的好评。这是一个典型的“快速原型法”例子。

快速原型法选择的条件之一是:项目组中有数据库分析和设计专家,有面向对象编程专家,文档制作有成熟的模板,而且系统或项目又不是非常大。

快速原型法选择的条件之二是:项目组的开发环境为分行业的业务基础平台(比如Justep X3业务基础平台),该业务基础平台又完全适合所需开发的系统或项目,且系统或项目又不是非常大。

以上两个条件,只要符合一个,就可以采用快速原型法。