9.1.2 原型法的基本思想
原型法是確定需求策略,是對用戶需求進(jìn)行抽取、描述和求精。它快速地、選代地建立最終系統(tǒng)工作模型,對問題定義采用啟發(fā)的方式,由用戶作出響應(yīng)。實(shí)際上是一種動態(tài)定義技術(shù)。
原型法被認(rèn)為,對于大多數(shù)企業(yè)的業(yè)務(wù)處理來說,需求定義幾乎總能通過建立目標(biāo)系統(tǒng)的工作模型來很好地完成,而且這種方法和嚴(yán)格定義方法比較起來,成功可能性更大。
1. 原型定義策略
原型法為預(yù)先定義技術(shù)提供了一種很好的選擇和補(bǔ)充。人們對物理模型的理解要比對邏輯模型的理解來得準(zhǔn)確。原型法就是在人們這種天性的基礎(chǔ)上建立起來的,它考慮到用戶有時也難免有判斷錯誤,不可能在系統(tǒng)開發(fā)過程中,提出更多、更好的要求。原型法以一種與預(yù)先定義完全不同的觀點(diǎn)來看待定義問題。
與預(yù)先定義技術(shù)完全不同,原型法開發(fā)策略的假設(shè)(hypothesis)是:
1、并非所有的需求在系統(tǒng)開發(fā)以前都能準(zhǔn)確地說明
人們發(fā)現(xiàn),要想詳細(xì)而精確地定義任何事情都是有困難的。實(shí)際上,用戶很善于敘述其目標(biāo)、對象以及他們想要前進(jìn)的大致方面,但對于他們要如何實(shí)現(xiàn)那些事情的細(xì)節(jié)卻不甚清楚和難以確定。對于所有參加者,建造一個系統(tǒng)都是一個持續(xù)不斷地學(xué)習(xí)和實(shí)踐的過程。當(dāng)人們僅有局部經(jīng)驗的時候,怎么可能要求人們對全局需求進(jìn)行敘述呢?
2、有快速的系統(tǒng)建造工具
原型的修正和完善需要有快速的系統(tǒng)建造工具支持,只有快速系統(tǒng)生成工具,才能使應(yīng)用系統(tǒng)得以快速模型化,而且能快速地進(jìn)行修改。沒有快速系統(tǒng)建造工具,原型不能得到快速修改完善,原型法就失去存在的基礎(chǔ)。
用于完成原型開發(fā)的工具一般有集成數(shù)據(jù)字典、高適應(yīng)性的數(shù)據(jù)庫管理系統(tǒng)(DBMS)、非過程的報告書寫器、非過程查詢語言、屏幕生成器、超高級語言、自動文檔編排等部分組成。
原型技術(shù)今天存在于各種形式的開發(fā)活動中。如果“原型”可以快速地構(gòu)造,那么就可以測試一個“好的設(shè)想”。如果設(shè)想有錯,那么就把它丟掉,而不致造成大的損失;如果設(shè)想是對的,就可以進(jìn)一步求精,而對于想法、概念、觀點(diǎn)和要求的正確性,都可以在原型試驗室中加以驗證,而這一切都必須借助于快速生成工具的支持。目前所謂應(yīng)用生產(chǎn)器(AG)和第四代生產(chǎn)語言(4GL),都是原型法的有力支持工具。
3、項目參加者之間通常都存在通信上的障礙
即使定義很完善的規(guī)格說明,不同的項目參加者也會存在或多或少的理論上的差異。何況文字性的描述,總是缺乏一般工程說明語言所具有的精確性。
而另一種形式是,用戶和原型人員基于一組屏幕進(jìn)行對話和討論,其方式簡單、明確。所有的項目參加人員也可以以一種簡明的方式同原型進(jìn)行通信,從他們自身的理解出發(fā)來測試原型。原型提供了一種溝通所有項目參加者的生動活潑的實(shí)際系統(tǒng)模型。
因此,對于開發(fā)人員通信上障礙的排除,不是試圖將每一個項目參加者都培養(yǎng)成職業(yè)的系統(tǒng)定義人員,而是讓每個人以一種易于接受的方式去理解規(guī)格說明。從常識上來理解,一個具體的工作原型,由于其直觀性、動態(tài)性而能夠擔(dān)當(dāng)和勝任這一任務(wù)。
4、需要實(shí)際的、可供用戶參與的系統(tǒng)模型(system modal)
文字和靜態(tài)圖形是一種比較好的通信工具,然而其的缺點(diǎn)是缺乏直觀的、感性的特征,因而往往不易理解對象的全部含義。交互式原型系統(tǒng)能夠提供生動活潑的規(guī)格說明,用戶見到的是一個“活”的、運(yùn)行著的系統(tǒng)。理解紙面上的系統(tǒng)和操作運(yùn)行在機(jī)器上的系統(tǒng),其差別是十分顯著的。因此,當(dāng)能夠提供一個生動的規(guī)格說明成為可能的話,人們就不會滿足于一個靜止的、被動的規(guī)格說明。
總之,當(dāng)提供一個活生生的系統(tǒng)模型時,人們對它的了解將比說明性材料好得多。
5、需求一旦確定,就可以遵從嚴(yán)格的方法。
原型法的采納,并不排除和放棄嚴(yán)格方法的運(yùn)用,一旦通過建立原型并在演示中得到明確的需求定義后,即可運(yùn)用行之有效的結(jié)構(gòu)化方法來完成系統(tǒng)的開發(fā)。
6、大量的反復(fù)是不可避免的、必要的,應(yīng)該加以鼓勵
應(yīng)該鼓勵用戶改進(jìn)他們的系統(tǒng),改進(jìn)建議的產(chǎn)生是來自經(jīng)驗的發(fā)展。應(yīng)該意識到,當(dāng)把模型展示在面前,由你積極思考去改進(jìn)一個現(xiàn)有的系統(tǒng)時,應(yīng)該是一件令人興奮、而不是讓人厭惡的事情。應(yīng)該提供友好的環(huán)境,限度地發(fā)揮他們的潛在能力去接受這種改變。從某種意義上講,嚴(yán)格定義隱含著抑制定義階段以后的再變化的要求,并認(rèn)為變化意味著分析工作有缺陷,而把自己禁限在一個很小的活動范圍以內(nèi)。
因此,在開發(fā)最終的需求時,反復(fù)是完全需要和值得提倡的,只有做必要的改變后,才可能達(dá)到用戶和系統(tǒng)間的良好匹配。
原型法是確定需求策略,是對用戶需求進(jìn)行抽取、描述和求精。它快速地、選代地建立最終系統(tǒng)工作模型,對問題定義采用啟發(fā)的方式,由用戶作出響應(yīng)。實(shí)際上是一種動態(tài)定義技術(shù)。
原型法被認(rèn)為,對于大多數(shù)企業(yè)的業(yè)務(wù)處理來說,需求定義幾乎總能通過建立目標(biāo)系統(tǒng)的工作模型來很好地完成,而且這種方法和嚴(yán)格定義方法比較起來,成功可能性更大。
1. 原型定義策略
原型法為預(yù)先定義技術(shù)提供了一種很好的選擇和補(bǔ)充。人們對物理模型的理解要比對邏輯模型的理解來得準(zhǔn)確。原型法就是在人們這種天性的基礎(chǔ)上建立起來的,它考慮到用戶有時也難免有判斷錯誤,不可能在系統(tǒng)開發(fā)過程中,提出更多、更好的要求。原型法以一種與預(yù)先定義完全不同的觀點(diǎn)來看待定義問題。
與預(yù)先定義技術(shù)完全不同,原型法開發(fā)策略的假設(shè)(hypothesis)是:
1、并非所有的需求在系統(tǒng)開發(fā)以前都能準(zhǔn)確地說明
人們發(fā)現(xiàn),要想詳細(xì)而精確地定義任何事情都是有困難的。實(shí)際上,用戶很善于敘述其目標(biāo)、對象以及他們想要前進(jìn)的大致方面,但對于他們要如何實(shí)現(xiàn)那些事情的細(xì)節(jié)卻不甚清楚和難以確定。對于所有參加者,建造一個系統(tǒng)都是一個持續(xù)不斷地學(xué)習(xí)和實(shí)踐的過程。當(dāng)人們僅有局部經(jīng)驗的時候,怎么可能要求人們對全局需求進(jìn)行敘述呢?
2、有快速的系統(tǒng)建造工具
原型的修正和完善需要有快速的系統(tǒng)建造工具支持,只有快速系統(tǒng)生成工具,才能使應(yīng)用系統(tǒng)得以快速模型化,而且能快速地進(jìn)行修改。沒有快速系統(tǒng)建造工具,原型不能得到快速修改完善,原型法就失去存在的基礎(chǔ)。
用于完成原型開發(fā)的工具一般有集成數(shù)據(jù)字典、高適應(yīng)性的數(shù)據(jù)庫管理系統(tǒng)(DBMS)、非過程的報告書寫器、非過程查詢語言、屏幕生成器、超高級語言、自動文檔編排等部分組成。
原型技術(shù)今天存在于各種形式的開發(fā)活動中。如果“原型”可以快速地構(gòu)造,那么就可以測試一個“好的設(shè)想”。如果設(shè)想有錯,那么就把它丟掉,而不致造成大的損失;如果設(shè)想是對的,就可以進(jìn)一步求精,而對于想法、概念、觀點(diǎn)和要求的正確性,都可以在原型試驗室中加以驗證,而這一切都必須借助于快速生成工具的支持。目前所謂應(yīng)用生產(chǎn)器(AG)和第四代生產(chǎn)語言(4GL),都是原型法的有力支持工具。
3、項目參加者之間通常都存在通信上的障礙
即使定義很完善的規(guī)格說明,不同的項目參加者也會存在或多或少的理論上的差異。何況文字性的描述,總是缺乏一般工程說明語言所具有的精確性。
而另一種形式是,用戶和原型人員基于一組屏幕進(jìn)行對話和討論,其方式簡單、明確。所有的項目參加人員也可以以一種簡明的方式同原型進(jìn)行通信,從他們自身的理解出發(fā)來測試原型。原型提供了一種溝通所有項目參加者的生動活潑的實(shí)際系統(tǒng)模型。
因此,對于開發(fā)人員通信上障礙的排除,不是試圖將每一個項目參加者都培養(yǎng)成職業(yè)的系統(tǒng)定義人員,而是讓每個人以一種易于接受的方式去理解規(guī)格說明。從常識上來理解,一個具體的工作原型,由于其直觀性、動態(tài)性而能夠擔(dān)當(dāng)和勝任這一任務(wù)。
4、需要實(shí)際的、可供用戶參與的系統(tǒng)模型(system modal)
文字和靜態(tài)圖形是一種比較好的通信工具,然而其的缺點(diǎn)是缺乏直觀的、感性的特征,因而往往不易理解對象的全部含義。交互式原型系統(tǒng)能夠提供生動活潑的規(guī)格說明,用戶見到的是一個“活”的、運(yùn)行著的系統(tǒng)。理解紙面上的系統(tǒng)和操作運(yùn)行在機(jī)器上的系統(tǒng),其差別是十分顯著的。因此,當(dāng)能夠提供一個生動的規(guī)格說明成為可能的話,人們就不會滿足于一個靜止的、被動的規(guī)格說明。
總之,當(dāng)提供一個活生生的系統(tǒng)模型時,人們對它的了解將比說明性材料好得多。
5、需求一旦確定,就可以遵從嚴(yán)格的方法。
原型法的采納,并不排除和放棄嚴(yán)格方法的運(yùn)用,一旦通過建立原型并在演示中得到明確的需求定義后,即可運(yùn)用行之有效的結(jié)構(gòu)化方法來完成系統(tǒng)的開發(fā)。
6、大量的反復(fù)是不可避免的、必要的,應(yīng)該加以鼓勵
應(yīng)該鼓勵用戶改進(jìn)他們的系統(tǒng),改進(jìn)建議的產(chǎn)生是來自經(jīng)驗的發(fā)展。應(yīng)該意識到,當(dāng)把模型展示在面前,由你積極思考去改進(jìn)一個現(xiàn)有的系統(tǒng)時,應(yīng)該是一件令人興奮、而不是讓人厭惡的事情。應(yīng)該提供友好的環(huán)境,限度地發(fā)揮他們的潛在能力去接受這種改變。從某種意義上講,嚴(yán)格定義隱含著抑制定義階段以后的再變化的要求,并認(rèn)為變化意味著分析工作有缺陷,而把自己禁限在一個很小的活動范圍以內(nèi)。
因此,在開發(fā)最終的需求時,反復(fù)是完全需要和值得提倡的,只有做必要的改變后,才可能達(dá)到用戶和系統(tǒng)間的良好匹配。

