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