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業務基礎平臺),該業務基礎平臺又完全適合所需開發的系統或項目,且系統或項目又不是非常大。
以上兩個條件,只要符合一個,就可以采用快速原型法。