軟件測試之軟件設計評價 軟件測試工具
關鍵字:軟件設計評價
往往在解決一個困難之后,就會出來一個新的困難。當我們漸漸意識到越早發現錯誤,就越容易解決問題的時候,我們開始了看上去比較正規的評價活動,對軟件開發計劃、需求、設計等進行評價。在一段時間之后,我們失望的發現,這對我們遇到的困難幫助不大,我們的評價活動存在流于形式的問題。
但我無意于對所有的評價活動發表意見,只想就比較熟悉的軟件設計評價進行討論。
軟件設計通過軟件統設計模型來表示(參見《再議模型》),軟件設計評價是對軟件系統設計模型的評價。在這里,我們使用源系統表示軟件要實現自動化的系統,它處于實體空間;目標系統表示要實現的軟件本身,它處于形式空間。軟件表示模型(即系統分析模型和系統設計模型,參見《再議模型》)是溝通源系統和目標系統的橋梁。表示模型的形成需要一個過程,我們稱其為過程空間。下面我們使用圖形方式來描述:

這樣,軟件設計評價應該具有三類標準,分別是實體空間標準、過程空間標準和形式空間標準。
實體空間標準以源系統做為標準來度量系統設計模型。這依賴于我們對于源系統的認識程度,我們知道應該具有這樣一個標準,但實行起來非常困難。設計的合理性就是實體空間標準,它沒有一個具體的內容和形式。
過程空間標準在設計評價中經常被使用。它可以看作實體空間的間接標準,基于分析模型和設計模型是出于同一實體,其中具有自然的關聯。我們說,設計是否附合需求,就是檢驗設計模型和分析模型的一致性。
形式空間標準以目標系統的角度檢驗系統設計。從上述兩種標準,可以保證目標系統的功能滿足源系統,但不能保證目標系統在運行狀態下的質量屬性。所以形式空間標準是從目標系統的質量出發來考察系統設計的?紤]到質量,我們使用McCall/GE質量模型,它圍繞產品改進、產品運行、產品移交三種使用情況來組織質量屬性,可以看出是基于目標系統的。國際上有很多現行的基于質量評價系統設計的方法,我們后面會參考其中的部分。
雖然從理論上我們可以知道軟件設計評價具有三類標準,但卻沒有辦法真正按照這些標準去檢驗一個軟件的設計。
實體空間標準應該是一個軟件設計最終應該附合的標準。但是,這個標準很難直接應用于軟件設計模型上,因為軟件設計是思維的產物,在實體上檢驗這個產物是否正確,恐怕只能說“實踐是檢驗真理的唯一標準”了。只有在錯誤非常明顯的情況下,這個標準才會起作用。
過程空間標準相對好一些。通過和軟件生產過程前期階段產物進行對比,可以找到其中不一致的地方,這可能就是設計上的問題了。同時,現代軟件開發一般采用迭代的方式進行,設計活動可能分多次進行。這種迭代也要求我們檢查設計對需求的覆蓋情況。
通過形式空間標準對軟件設計進行檢驗時,往往并不存在一個唯一的檢驗標準。這是因為實際軟件的質量要求不是唯一的,不同的軟件有不同的質量屬性要求。而特定軟件的質量要求,是在需求分析、設計的過程中逐步形成的。這些質量要求,最終成為我們檢驗軟件設計的標準之一。
但我無意于對所有的評價活動發表意見,只想就比較熟悉的軟件設計評價進行討論。
軟件設計通過軟件統設計模型來表示(參見《再議模型》),軟件設計評價是對軟件系統設計模型的評價。在這里,我們使用源系統表示軟件要實現自動化的系統,它處于實體空間;目標系統表示要實現的軟件本身,它處于形式空間。軟件表示模型(即系統分析模型和系統設計模型,參見《再議模型》)是溝通源系統和目標系統的橋梁。表示模型的形成需要一個過程,我們稱其為過程空間。下面我們使用圖形方式來描述:

這樣,軟件設計評價應該具有三類標準,分別是實體空間標準、過程空間標準和形式空間標準。
實體空間標準以源系統做為標準來度量系統設計模型。這依賴于我們對于源系統的認識程度,我們知道應該具有這樣一個標準,但實行起來非常困難。設計的合理性就是實體空間標準,它沒有一個具體的內容和形式。
過程空間標準在設計評價中經常被使用。它可以看作實體空間的間接標準,基于分析模型和設計模型是出于同一實體,其中具有自然的關聯。我們說,設計是否附合需求,就是檢驗設計模型和分析模型的一致性。
形式空間標準以目標系統的角度檢驗系統設計。從上述兩種標準,可以保證目標系統的功能滿足源系統,但不能保證目標系統在運行狀態下的質量屬性。所以形式空間標準是從目標系統的質量出發來考察系統設計的?紤]到質量,我們使用McCall/GE質量模型,它圍繞產品改進、產品運行、產品移交三種使用情況來組織質量屬性,可以看出是基于目標系統的。國際上有很多現行的基于質量評價系統設計的方法,我們后面會參考其中的部分。
雖然從理論上我們可以知道軟件設計評價具有三類標準,但卻沒有辦法真正按照這些標準去檢驗一個軟件的設計。
實體空間標準應該是一個軟件設計最終應該附合的標準。但是,這個標準很難直接應用于軟件設計模型上,因為軟件設計是思維的產物,在實體上檢驗這個產物是否正確,恐怕只能說“實踐是檢驗真理的唯一標準”了。只有在錯誤非常明顯的情況下,這個標準才會起作用。
過程空間標準相對好一些。通過和軟件生產過程前期階段產物進行對比,可以找到其中不一致的地方,這可能就是設計上的問題了。同時,現代軟件開發一般采用迭代的方式進行,設計活動可能分多次進行。這種迭代也要求我們檢查設計對需求的覆蓋情況。
通過形式空間標準對軟件設計進行檢驗時,往往并不存在一個唯一的檢驗標準。這是因為實際軟件的質量要求不是唯一的,不同的軟件有不同的質量屬性要求。而特定軟件的質量要求,是在需求分析、設計的過程中逐步形成的。這些質量要求,最終成為我們檢驗軟件設計的標準之一。
延伸閱讀
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/