V型模型是瀑布模型的一個變種,如圖2.6所示。它同樣需要一步一步進(jìn)行,前一個階段的任務(wù)完成之后才可以進(jìn)行下一階段的任務(wù)。這個模型強調(diào)測試的重要性,它將開發(fā)活動與測試活動緊密地聯(lián)系在一起。每一步都將比前一階段進(jìn)行更加完善的測試。 實驗證明,一個項目50%以上的時間花在測試上。通常,大家對測試存在一種誤解,認(rèn)為測試是開發(fā)周期的后一個階段。其實,早期的測試對提高產(chǎn)品質(zhì)量、縮短開發(fā)周期起著重要作用。V型模型也正好說明了測試的重要性,它是與開發(fā)并行的,這個模型體現(xiàn)了全過程的質(zhì)量意識。
V型模型的特點如下: (1)簡單易用,只要按照規(guī)定的步驟一步一步執(zhí)行即可。 (2)V型模型強調(diào)測試過程與開發(fā)過程的對應(yīng)性和并行性,例如單元測試對應(yīng)詳細(xì)設(shè)計,集成測試對應(yīng)概要設(shè)計,系統(tǒng)測試對應(yīng)需求分析。 (3)V型模型沒有反映實際的開發(fā)過程,實際的開發(fā)過程會有很多的迭代過程,比如實施過程中會發(fā)現(xiàn)設(shè)計中的問題,然后去修正,測試過程中也會返回前一段,重新做一些事情。
使用指南:
使用V型模型,要求開發(fā)的人過程是嚴(yán)格按照順序進(jìn)行的,一個階段的輸出是下一個階段的輸入。同時,注意圖2.6中虛線對應(yīng)過程聽并行考慮,例如需求分析階段應(yīng)該有系統(tǒng)測試的準(zhǔn)備,概要設(shè)計階段應(yīng)該有集成測試的準(zhǔn)備,詳細(xì)設(shè)計階段應(yīng)有單元測試的準(zhǔn)備等。 V型模型適合的場合: 項目的需求在項目開始前很明確,解決方案在項目開始前也很明確,項目對系統(tǒng)的性能很嚴(yán)格。類似的項目如:航天飛機控制系統(tǒng),公司的財務(wù)系統(tǒng)等。 8 形式化方法模型 形式化方法特別適合于那些對性、可靠性和保密性要求的軟件系統(tǒng)開發(fā),它采用形式化的數(shù)學(xué)方法將系統(tǒng)描述轉(zhuǎn)換成可執(zhí)行的程序。 形式化方法的過程模型如圖1.5.7所示,它首先將軟件需求描述提煉成采用數(shù)學(xué)符號表達(dá)的形式化描述,然后經(jīng)過一系列的形式化轉(zhuǎn)換將形式化描述自動轉(zhuǎn)換成可執(zhí)行程序,后將整個系統(tǒng)集成起來進(jìn)行測試。 形式化轉(zhuǎn)換n 形式化轉(zhuǎn)換n 由于數(shù)學(xué)方法具有嚴(yán)密性和準(zhǔn)確性,形式化方法開發(fā)過程所交付的軟件系統(tǒng)具有較少的缺陷和較高的性。但是,形式化方法在實際軟件開發(fā)中應(yīng)用并不多,其主要原因在于: 開發(fā)人員需要具備一定技能并經(jīng)過特殊訓(xùn)練后才能掌握形式化開發(fā)方法。 現(xiàn)實應(yīng)用的系統(tǒng)大多數(shù)是交互性強的軟件,但是這些系統(tǒng)難以用形式化方法進(jìn)行描述。 形式化描述和轉(zhuǎn)換是一項費時、費力的工作,采用這種方法開發(fā)系統(tǒng)在成本和質(zhì)量等方面并不占優(yōu)勢。