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