Posted on 2006-05-08 16:47
鋒出磨礪 閱讀(1311)
評論(0) 編輯 收藏
軟件設計通過軟件統設計模型來表示(參見《再議模型》),軟件設計評價是對軟件系統設計模型的評價。在這里,我們使用源系統表示軟件要實現自動化的系統,它處于實體空間;目標系統表示要實現的軟件本身,它處于形式空間。軟件表示模型(即系統分析模型和系統設計模型,參見《再議模型》)是溝通源系統和目標系統的橋梁。表示模型的形成需要一個過程,我們稱其為過程空間。下面我們使用圖形方式來描述:
?????????????? 這樣,軟件設計評價應該具有三類標準,分別是實體空間標準、過程空間標準和形式空間標準。
??????????????
??????????? 實體空間標準以源系統做為標準來度量系統設計模型。這依賴于我們對于源系統的認識程度,我們知道應該具有這樣一個標準,但實行起來非常困難。設計的合理性就是實體空間標準,它沒有一個具體的內容和形式。
??????????????
??????????? 過程空間標準在設計評價中經常被使用。它可以看作實體空間的間接標準,基于分析模型和設計模型是出于同一實體,其中具有自然的關聯。我們說,設計是否附合需求,就是檢驗設計模型和分析模型的一致性。
???????????????
??????????? 形式空間標準以目標系統的角度檢驗系統設計。從上述兩種標準,可以保證目標系統的功能滿足源系統,但不能保證目標系統在運行狀態下的質量屬性。所以形式空間標準是從目標系統的質量出發來考察系統設計的。考慮到質量,我們使用McCall/GE質量模型,它圍繞產品改進、產品運行、產品移交三種使用情況來組織質量屬性,可以看出是基于目標系統的。國際上有很多現行的基于質量評價系統設計的方法,我們后面會參考其中的部分。
??????????? 雖然從理論上我們可以知道軟件設計評價具有三類標準,但卻沒有辦法真正按照這些標準去檢驗一個軟件的設計。
??????????????
??????????? 實體空間標準應該是一個軟件設計最終應該附合的標準。但是,這個標準很難直接應用于軟件設計模型上,因為軟件設計是思維的產物,在實體上檢驗這個產物是否正確,恐怕只能說“實踐是檢驗真理的唯一標準”了。只有在錯誤非常明顯的情況下,這個標準才會起作用。
???????????????
??????????? 過程空間標準相對好一些。通過和軟件生產過程前期階段產物進行對比,可以找到其中不一致的地方,這可能就是設計上的問題了。同時,現代軟件開發一般采用迭代的方式進行,設計活動可能分多次進行。這種迭代也要求我們檢查設計對需求的覆蓋情況。
???????????????
??????????? 通過形式空間標準對軟件設計進行檢驗時,往往并不存在一個唯一的檢驗標準。這是因為實際軟件的質量要求不是唯一的,不同的軟件有不同的質量屬性要求。而特定軟件的質量要求,是在需求分析、設計的過程中逐步形成的。這些質量要求,最終成為我們檢驗軟件設計的標準之一。
??????????????? 根據這些標準,我們現在設計一個軟件設計評價表模版:
????????????????? 軟件設計評價表
????????????????? 軟件名稱 迭代周期
????????????????? 設計人員
????????????????? 評審人員
????????????????? 設計合理性
??????????????????
??????????????????
??????????????????
??????????????????
????????????????? 需求附合度
????????????????? 功能點覆蓋率(FPC)?%重點功能點覆蓋率(IFPC)?%
????????????????? 優先功能覆蓋率(PFPC)?%需求一致度(Should be 100%)?%
????????????????? 質量屬性
????????????????? 模塊性權重在過程中確定權重分數,100分制,下同
????????????????? 可修改性權重權重之和應為100%
????????????????? 可擴展性權重下同
????????????????? 性能權重?
????????????????? 可靠性權重?
????????????????? 可用性權重?
????????????????? 可移植性權重?
????????????????? 可維護性權重?
????????????????? 靈活性權重?
????????????????? 可重用性權重?
????????????????? 可理解性權重?
????????????????? 彈性權重?
????????????????? 安全性權重?
????????????????? 容錯性權重?
????????????????? 評審結論
??????????????????
??????????????????
??????????????????
??????????????????
??????????????? 在設計合理性方面,主要考慮以下內容:
????????????? 類的職責單一、明確
????????????? 模塊結構清晰、完整
????????????? 活動、行為描述清晰
????????????? 實體關聯清楚,狀態合理
??????????????? 對需求附合度的要求要在評價之間確定。
???????????????
??????????? 質量屬性的評價權重一般在設計開始之前確定,這個工作多數在架構設計時刻完成。最后,
根據質量屬性的權重,可以計算設計的總體質量分數。這些都是最終評審結論的素材。
???????????????
??????????? 一般來說,對于設計的評價通過建立場景的方法來實現。比如評價可修改性,一般先建立一個修改的場景,
對設計進行模擬修改,觀察其是否易于修改。有些質量屬性無法通過這種方法檢驗,只能通過對設計模型進行觀察得出
結論。
????????????