察用語言規(guī)定的任何系統(tǒng)的功能和行為。(2)基于腳本的設(shè)計。腳本是用戶界面的原型。一個腳本用來模擬在系統(tǒng)運行期間用戶經(jīng)歷的事件。它提供了輸入———處理———輸出的屏幕格式和有關(guān)對話的模型。因此,軟件開發(fā)者能夠給用戶顯示系統(tǒng)的逼真的視圖,使用戶得以判斷是否符合他的意圖。(3)自動程序設(shè)計在程序自動生成環(huán)境的支持下,利用計算機實現(xiàn)軟件的開發(fā)。它可以自動地或半自動地把用戶的非過程式問題規(guī)格說明轉(zhuǎn)換為某種高級語言程序。(4)專用語言。專用語言是應(yīng)用領(lǐng)域的模型化語言。在原型開發(fā)中使用專用語言,可方便用戶和軟件開發(fā)者對系統(tǒng)特性進行交流。(5)可復(fù)用的軟件。利用可復(fù)用的模塊,通過適當(dāng)?shù)慕M合,構(gòu)造的原型系統(tǒng)。為了快速地構(gòu)造原型,這些模塊首先必須有簡單而清晰的界面;其次它們應(yīng)當(dāng)盡量不依賴其它的模塊或數(shù)據(jù)結(jié)構(gòu);最后,它們應(yīng)具有一些通用的功能。(6)簡化假設(shè)。 簡化假設(shè)使設(shè)計者迅速得到一個簡化的系統(tǒng)。盡管這些假設(shè)可能實際上并不能成立,但它們可以使開發(fā)者的注意力集中在一些主要的方面。在修改一個文件時,可以假設(shè)這個文件確實存在。 在存取文件時,待存取的記錄總是存在。一旦計劃中的系統(tǒng)滿足用戶所有的要求,就可以撤消這些假設(shè),并追加一些細節(jié)。
(四)原型分析優(yōu)點
原型分析優(yōu)點有:(1)增進軟件開發(fā)者和用戶對需求的理解,使比較含糊的具有不確定性的軟件需求(主要功能性的需求)明確化。(2)軟件原型化方法提供了一種有力的學(xué)習(xí)手段。(3)使用原型化方法,可以容易地確定系統(tǒng)的性能,確認(rèn)系統(tǒng)主要服務(wù)的可應(yīng)用性,確認(rèn)系統(tǒng)設(shè)計的可行性,確認(rèn)系統(tǒng)最終作為產(chǎn)品。(4)軟件原型的最終版本,有的可以原封不動地稱為產(chǎn)品,有的略加修改就可以成為最終系統(tǒng)的一個組成部分,這樣有利于建成最終系統(tǒng)。
四、需求變更
在開發(fā)項目過程中,用戶隨時會提出一些新的需求,要求開發(fā)人員解決,這些需求的提出,有時在開發(fā)階段中有時在開發(fā)階段后。這種在需求分析的兩個相鄰子階段中,或者在迭代周期的需求分析中,后一段或周期的需求分析結(jié)果與前一次不一致, 我們把這種不一致稱為需求變更。產(chǎn)生需求變更的原因主要有以下幾個方面:(1)在需求分析階段,開發(fā)人員與用戶的溝通不夠。在需求分析階段,開發(fā)方與用戶沒有很好的交流,開發(fā)方就根據(jù)用戶提供的大概信息,自己推導(dǎo)出用戶的需求。通過這種需求分析得出的需求往往會和用戶的實際需求相差甚遠,導(dǎo)致用戶提出更改需求。(2)項目的實施周期過長。隨著時間的推移,用戶對整個系統(tǒng)的了解也越來越深入。他們會對模塊的界面、功能和性能方面提出更高更多的要求。(3)技術(shù)更新過快。由于技術(shù)的快速更新, 企業(yè)可能引進一些新的設(shè)備, 而這些設(shè)備可能就會與我們的目標(biāo)系統(tǒng)有直接的關(guān)系, 由于這一變化可能發(fā)生在解決用戶原先問題之前或者之中, 那么開發(fā)人員不得不加入這一新的需求。
為了盡可能地避免發(fā)生需求變更,以及保證需求分析的高穩(wěn)定性,可以采用以下方法:(1)對開發(fā)人員進行專業(yè)培訓(xùn)。因為,開發(fā)人員對所開發(fā)系統(tǒng)的領(lǐng)域不一定了解,為了開發(fā)人員能更好理解用戶的需求,在做需求分析的初始階段對開發(fā)人員進行該領(lǐng)域相關(guān)知識的培訓(xùn)。(2)開發(fā)方與用戶進行協(xié)作和交流。在用戶提出需求變更時開發(fā)人員應(yīng)該認(rèn)真聽取用戶的要求并加以整理和分析。分析需求變更的原因并提出可行的替代方案;同時向用戶說明這些需求變更會對整個項目的開發(fā)帶來的不良后果。(3)合同約束。由于需求變更可能會對整個項(下接第85頁)(上接第77頁)目產(chǎn)生影響,所以,開發(fā)方和用戶在簽定項目合同時,可以對需求變更增加一些相關(guān)的合同條款。(4)建立需求文檔并進行版本控制。需求分