全球专业中文经管百科,由121,994位网友共同编写而成,共计435,826个条目

凈室軟體工程

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

凈室軟體工程(Cleanroom Software Engineering)

目錄

什麼是凈室軟體工程

  凈室軟體工程是一種應用數學與統計學理論以經濟的方式生產高質量軟體的工程技術。力圖通過嚴格的工程化的軟體過程達到開發中的零缺陷或接近零缺陷HJ。“凈室”一詞源自半導體工業中硬體生產車間,通過嚴格、潔凈的生產過程預防了缺陷的產生,而不是在事後再去排除故障。借用這個詞,充分顯示了凈室技術“防患於未然”的主導思想。[1]

凈室軟體工程的目標[2]

  凈室軟體工程有兩個主要目標:軟體開發的工程化和軟體失效控制。

  1.軟體開發的工程化

  在傳統的軟體開發模式下無法對軟體開發的過程進行有效的控制和管理,所有的工作處於一種無序狀態,程式經常需要返工,開發效率低下,無法保證軟體的預期產出,尤其在大型的軟體生產中更為突出。這些問題的解決均需要有一套系統的適合於軟體生產的工程方法來保證。而凈室軟體工程的目標之一就是實現軟體開發的工程化,通過工程化的軟體開發過程,有效的控制軟體開發中的任何一個步驟,從而實現可預期的軟體產出。

  2.軟體失效控制

  怎樣控制軟體的失效,減少程式的返工是軟體工程中的重要主題。凈室軟體工程的目標即是改變以往在軟體開發後期來改正失效的做法,通過增量開發、嚴格的開發規範及設計和基於統計學的可靠性測量來達到軟體零失效的目標。

  經過IBMNASA等機構在實踐中使用凈室技術開發的產品,顯示出了卓越的質量水平及用戶使用可靠性,使得凈室方法得到了初步認可。

凈室軟體工程的關鍵技術[1]

  凈室技術是一種開發高質量和高可靠性軟體的方法,由三大關鍵技術來刻畫:統計過程式控制制下的增量開發,基於函數的規範、設計和驗證,以及統計測試和認證。

  1.增量式開發過程

  統計質量控制下的增量式開發是軟體項目建立和保持管理控制的凈室途徑。增量式開發有助於早期的和連續的質量評估、用戶反饋並方便開發進度的過程改進,避免了在開發周期中期部件集成後風險的繼承,而且增量式開發允許在開發周期整修過程中根據需求變化進行系統協調。

  增量式開發的技術基礎是引用透明性特征。在軟體開發的前後,這種特征要求規範及其實現定義同樣的數學函數。當擁有了這種特征時,設計就能顯示出與其規範的一致性。大的軟體系統由各個部分組成。系統各個部分組成的方式對項目的成功有重要的影響。增量式自頂向下的開發途徑表現為軟體系統的已開發和已測試部分作為功能累積子集的序列。在最早增量中開發了一個小系統,然後把功能添加到每一個後續增量中直到系統完成。這種軟體系統增長方式有利於客戶管理者,同樣有利於技術人員。

  已在凈室中實踐的增量式開發為統計過程式控制制提供了基礎。每一個凈室增量都是過程的一個完整周期,包含規範、開發和新的用戶函數的驗證,以及到目前為止所有已完成的測試。作為統計過程式控制制的典型,把過程的每一次的性能度量與性能目標相比較,以決定過程是否一直在控制之下。

  凈室軟體小組通常使用在測試中的開發性能度量作為過程式控制制的標準。通常使用的度量包括每千行代碼的錯誤數、失效的間隔時間(MTTF)、可靠性及可信性。其它過程式控制制方法或許依賴於所管理的事務,而不是產品的質量。進度一致性、預算一致性、整體計劃的一致性等,都是按增量的實際性能與目標性能相比較而言。凈室增量度量依據的標準描述了過程式控制制的具體級別。如果標準不符合,開發小組能從增量中檢測執行數據,確定問題所在,必要時調整項目計劃,修改軟體開發過程,避免此類問題的再次發生。例如,如果增量的測試提示過程失去控制(如質量標準不符合),開發者們應停止測試,返回設計階段;如果過程是在控制之下,下一步增量工作才能繼續。

  2.盒式規範與設計

  盒子結構是在規範和設計中對現實系統的外在基本屬性的功能描述。凈室軟體工程中描繪了三種盒子:黑盒、狀態盒、明盒。這些盒子不僅展示了外部行為,而且還提高了內部可見度。黑盒確定了一個系統或系統組件的外部行為。狀態盒指定了完成外部行為所需的狀態數據。明盒則進一步把狀態盒具體化,它確定了完成狀態盒行為的過程設計。它可使用已有的黑盒或引人新的黑盒,這些黑盒將在以後細化,每步細化是根據前一步進行驗證的。這樣盒子結構將系統開發的行為、數據和過程三個方面的規範分離開,但又把它們連成一個細化和驗證的內聚過程。盒子結構是基於對象的,並支持軟體工程的關鍵原則:信息隱藏和實現分離。

  3.凈室軟體認證和測試

  凈室軟體測試和認證方法是基於模型的統計測試在軟體上的一種應用。統計測試時,需要建立軟體運行時的使用模型,測試用例由該使用模型隨機產生。然後,按照數學和統計學模型對結果進行分析,獲取軟體的質量度量,並判斷測試的充分性。傳統的結構化測試方法是凈室統計使用測試方法的一種補充,因此,不必放棄該方法。不過,大量實踐表明,基於使用模型的測試更經濟有效,並且能獲得實用軟體的高可靠性。軟體系統基於使用模型的統計測試提供了軟體產品和過程質量的度量標準,它將用於軟體的整個生命期的管理和決策。由於使用模型是基於規範而不是基於代碼的,因此,源於模型構築的洞察可用於產生在工程的早期階段避免出現問題的有價值的管理決策

  就統計測試而言,軟體測試被看作是一個統計學方法的問題。先產生軟體所有可能使用的一個子集,並以這個子集所表現的性能作為依據來考慮整體使用性能。換句話說,就是通過樣本來描述總體。作為一個出發點,這種類比的前提是:不可能對軟體的所有可能應用都進行測試。軟體使用的過程被認為是一個隨機過程。一個Markov過程就是一個具有Markov性質的隨機過程,其中,序列中的下一個事件只依賴於當前而與過去無關。Markov理論已經用於軟體使用模型的分析和開發之中,相關的數學方法也已被運用到模型優化之中。軟體的使用模型可用有窮狀態、離散參數的Markov鏈表示。Markov鏈的標準分析結果將有助於分析長期運行使用的情況。給定一個使用模型的約束系統,通過數學方法可以得到滿足一定目標條件的最優化模型。形式化思想在凈室軟體認證中的應用,為當前的實踐和技術進步提供了堅實的理論基礎。

參考文獻

  1. 1.0 1.1 常郝.凈室軟體工程研究[J].電腦技術與發展.2008,12
  2. 袁靖宇.凈室軟體工程概論[J].長沙通信職業技術學院學報.2003.1
本條目對我有幫助1
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目投訴舉報

本条目由以下用户参与贡献

Mis铭,Tracy.

評論(共0條)

提示:評論內容為網友針對條目"凈室軟體工程"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

打开APP

以上内容根据网友推荐自动排序生成

下载APP

闽公网安备 35020302032707号