?? 190.txt
字號:
簡記為 SH→R
SH表示包括當前激勵的所有歷史激勵。
黑盒定義不包含狀態數據及過程實現。它定義了僅取決于于歷史使用的能被用戶感受到
的外部可見行為。因此,黑盒關心的是從用戶角度看待系統行為的問題,而并不考慮狀
態和過程的設計。黑盒子規范定義了所有可能使用情況所需的行為。也就是說,在黑盒
規范中為所有可能的當前激勵盒歷史激勵以及它們的組合定義了正確的響應,在凈室項
目中黑盒規范的如下三個原則對高效系統開發很關鍵。
l 對系統擁有者和用戶而言,黑盒定義了他們分析和協商的所需行為,這是他們準備資
源、著手開發和測試的前提。
l 對系統開發者而言,黑盒定義了待設計和實現的所需行為。
l 對系統測試者而言,黑盒定義了在測試過程中待確認的所需行為。
(2) 狀態盒行為
狀態盒規范對系統或其組件進行初步細化,定義了狀態空間。狀態盒把激勵歷史封裝成
狀態數據,但仍沒有涉及具體過程。它把舊的狀態OS和激勵S映射到新的狀態NS和響應R
。而新的狀態在下一次變換時則變成了舊狀態。狀態盒行為的于一是一個如下的變換函
數:
(舊狀態,激勵)→(新狀態,響應)
或簡寫為 (OS,S)→(NS,R)
狀態盒根據黑盒來細化和驗證。狀態信息就是為了符合黑盒規范而必須保存的
激勵歷史,這樣的信息來自于黑盒,無需再定義。因為每個歷史激勵可用狀態來表示,
所以每個黑盒有意個狀態盒描述。而且,對于一個黑盒,可設計許多不同的狀態盒,因
為對一個狀態可能有多種不同的表示和訪問方法。
狀態盒的驗證是導出相應黑盒行為并與原來的黑盒相比較看是否等價。這種導
出就是將狀態操作轉換成激勵歷史形式。
(3) 明盒行為
系統或其組件的明盒設計定義了狀態盒行為的過程。明盒是一個計算機程序或程序集,
基于程序的內部狀態OS,它接受激勵S,產生新的內部狀態NS,并產生響應R。這些過程
由基于結構化程序設計的控制結構(順序、選擇、循環,如果引入并發機制還要加上并
行結構)來定義。明盒用這些控制結構來完成新狀態和相應的計算。對于所給狀態盒可
以定義多種不同的明盒。明盒可用一個變換函數表示:
(舊狀態,激勵)→(新狀態,響應),借助過程
或簡記為:
(OS,S)→(NS,R),借助過程
明盒的過程可以重用已有的黑盒,也可在后續求精過程過程的狀態盒于明盒中
引入新的黑盒。定義明盒是一個關鍵步驟,因為它必須組織和連接處于一個盒子結構層
次的黑盒。通過定義每個黑盒用途的準確內容,這種顯式的連接有助于對項目開發保持
智能控制。另外,組建及其連接是從明盒設計中局部處理需求導出的。
明盒的驗證是把其操作抽象成一個導出的狀態盒并與原來的狀態盒進行比較。
2. 盒子結構層次
盒子結構層次隨著逐步求精和驗證而不斷進化。一個初始黑盒可以被細化為一個狀態盒
,再細化為一個明盒。明盒的控制結構在下一個層次可以包含若干黑盒。這些黑盒可以
是相同的,也可不同,或者是幾個的組合。
3. 基于序列的規范過程
規范制訂有很多方法?;陧樞虻囊幏妒侵钢鸩綐嬙斐鐾陚?、一致和正確的黑盒和狀態
盒規范的過程。
在基于序列的規范過程中,按嚴格順序系統的舉出所有可能的激勵(歷史激勵)序列,
如按長度0,1,2…排列。因為每個序列映射到其正確的響應,所以可通過應用規約規則
辨識等價序列,當完備和一致的定義了系統以后枚舉過程結束。
四、 凈室軟件認證
統計測試時,需要開發出軟件投入運行時的使用模型,測試用例由該使用模型隨機產生
。然后按照數學和統計學模型對結果進行分析,獲取軟件的質量度量,并判斷測試的充
分性。傳統的測試方法(如白盒測試,回歸測試)是凈室統計使用測試方法的一種補充
,因此,不必放棄該方法,不過,大量實踐表明,基于使用模型的測試更經濟有效,并
且能獲得實用軟件的高可靠性。
1. 基于使用模型的統計測試的優點
軟件系統的基于使用模型的統計測試提供了軟件產品和過程質量的度量標準,它將用于
軟件的整個生命期的管理和決策。由于使用模型是基于規范而不是基于代碼的,因此,
源于模型構筑的洞察可用于產生在工程的早期階段避免出現問題的有價值的管理決策。
l 需求確認
使用模型式系統規范的外部視圖,它必須容易的被系統工程師、開發人員、客戶和終端
用戶所理解。在投入運行的環境中,當對該使用模型(包括可能的輸入、可能的輸入序
列以及期望的輸出)進行系統的評審時,接口和需求往往被簡化或明確。
l 資源和進度預測
基于一個使用模型的標準計算,為成果、進度和成本估算提供數據。
l 人工挑選非隨機測試用例
依據一定的約定或規則,通過模型檢查確定特殊的測試用例,以確保測試了特定的測試
序列。
l 自動生成測試用例
最小覆蓋的測試腳本(對模型完全覆蓋的最少測試事件)和隨機測試用例(依據使用概
率分布)可由測試模型自動生成。模型覆蓋測試確保了在隨機測試開始之前模型的最低
功能,而且隨機測試為投入運行時的可靠性評估提供了依據。
l 有效的、高效的測試
不同的缺陷并不同等的產生失效。位于頻繁便利路徑上的缺陷比那些位于非頻繁路徑上
的缺陷更有可能導致失效。隨即測試的動機源于這樣一個簡單的事實:發現失效是根據
現場運行時失效導致故障的大致順序。測試的預算主要用來通過測試來最大限度的提高
軟件在投入運行時的可靠性。
l 聚焦測試
使用模型允許對特別序列的有偏抽樣,譬如對非頻繁使用但極為重要的功能序列抽樣。
可以為這些功能形成單獨的模型,或者對原始模型進行變換和抽樣以去處偏置。
l 量化測試管理
基于使用模型的統計測試,為決策測試是否完成或軟件是否可發布提供了定量的標準。
期望使用(在使用模型中所表征)與測試使用(在測試中所記錄)的統計誤差作為測試
充分性的度量值。
l 可靠性預測
在一定的統計測試協議下,測試時可以從軟件的性能中獲得預期運行性能的有效預測。
實際的測試結果(即對每一輸入的正確的和不正確的情況)作為使用模型的權重記錄下
來,并且該模型的計算結果提供了投入運行時的可靠性預測。
2. 統計測試的理論基礎
l 樣本與總體
就統計測試而言,軟件測試被看作是一個統計學方法的問題。縣產生軟件所有可能使用
的一個子集,并以這個自己所表現的性能作為依據來考慮整體使用性能。換句話說,就
是通過樣本來描述總體。
作為一個出發點,這種類比的前提是:不可能對軟件的所有可能應用都進行測試,所有
可能的使用情景將不會被徹底測試。問題的關鍵就在于如何描述使用總體以及如何形成
用例子集。如果對軟件的測試控制合理,那么,由描述恰當的總體的一個隨機測試用例
,通過投入運行時的使用測試,我們可以得到總體的一個有效描述,而對于其他的用例
子集而言,無論多么全面的構筑都是不可能的。
l 軟件使用的隨機屬性
軟件的使用的過程被認為是一個隨機過程。序列中的下一個事件只依賴于當前而與過去
無關。
五、 與其它方法的比較
1. 凈室與CMM
CMM為軟件過程改進提供了一個良好的定義范例,在許多組織中得到了成功的應用。凈室
軟件工程為軟件規范、開發、測試和認證提供了良好的理論基礎和實踐。CMM主要關注管
理和組織方面,而凈室則主要關注技術和工程實踐方面。二者之間有相當一部分是相互
重疊的,但也有一些部分是另一方沒有涉及的。
例如,在CMM第二級的關鍵過程域中,就有一部分是在凈室的范圍之外。配置管理和子合
同管理是重要的管理問題,但是凈室沒有涉及它們。另一方面,凈室加強了軟件開發的
數學基礎以及軟件測試的統計基礎,而CMM沒有涉及這些方法的優點。
總體而言,CMM和凈室是兼容和互補的。把CMM的管理、組織能力和凈室技術結合起來是
一種強有力的過程改進方法。基于技術得凈室實踐為CMM定義的“what”提供了許多“h
ow”。
2. 凈室與面向對象
(1) 相同的特性
對于生命周期,凈室遵循增量開發而OO遵循迭代開發。這兩種方法都是試圖利用用戶反
饋和適應需求變更。
OO中的用例和凈室的使用模型都屬于使用場景(usage scenario)。這兩種方法都是在
開發的早期階段來定義出用戶視圖。它們產生的結果在設計和測試時都被使用到了。它
們都使用了狀態機表示法。
OO和凈室都使用了重用的方法。OO中的類和凈室中的公共服務是重用的基本單元。
凈室過程為面向對象開發提供了可管理性和技術嚴密性。對象從本質上來說是封裝了數
據和一系列服務的狀態機。一個凈室組件用黑盒視圖(一個對象的外部行為)、狀態盒
視圖(一個對象的封裝數據)和明盒視圖(處理外部需求和訪問封裝數據的服務)來定
義。一個凈是組件從技術上講就是一個對象。凈室盒子結構有助于產生一個完備、一致
和正確的對象行為規范。而且,盒子結構有助于定義和管理數據并且控制數據在各個對
象之間的流動。
在凈室技術中,數學形式化方法成為規范、設計、正確性驗證和認證測試的基礎。這種
成熟的形式化方法可為相對直觀的面向對象方法增加精確性和可預見性。凈室是應用工
程而非領域工程的一種方法。面向對象方法的普遍力量在于尋求某領域應用特征的關系
和抽象。面向對象的領域分析可作為凈室應用工程的補充。
六、 結論
凈室軟件工程允許在生命周期的早期發現錯誤,這是后來的昂貴的返工的可能性降到最
低,并且加速了軟件上市時間。它使設計變得簡化,可驗證。軟件質量是靠設計和認證
來保證的,而不是測試。凈室支持原型法,面向對象和復用。這項技術室與平臺和開發
語言無關的,并且生產率很高。凈室由一系列精化和變換組成,經過這些精化和變換,
也就一步步從需求到了代碼。每一步變換都要根據前一級精化來認證,這就是錯誤減到
了最少。凈室既可以應用于新系統也可應用于已經存在的系統。
--
這個世界總會有點不公正
但是我們總能用心去平衡
※來源:·日月光華 bbs.fudan.edu.cn·FROM:[甲蟲窩]
※ 修改:·jiachong 於 03月04日20:52:13 修改本文·[FROM: 218.79.59.90]
--
※ 轉載:·日月光華 bbs.fudan.edu.cn·[FROM: 61.170.202.109]
--------------------------------------------------------------------------------
[返回上一頁] [本討論區]
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -