クリーンルームソフトウェアエンジニアリング
シリーズの一部 |
ソフトウェア開発 |
---|
クリーンルームソフトウェア エンジニアリングプロセスは、認定可能なレベルの信頼性を備えたソフトウェアを作成することを目的としたソフトウェア開発プロセスです。中心となる原則は、形式手法に基づくソフトウェア開発、統計的品質管理下での段階的な実装、および統計的に健全なテストです。
歴史
クリーンルームプロセスはもともとIBMのハーラン・ミルズとアラン・ヘブナーを含む彼の同僚数名によって開発されました。[1]
クリーンルームプロセスは、1980年代半ばから後半にかけて初めて使用されました。軍隊内での実証プロジェクトは1990年代初頭に始まりました。[2]クリーンルームプロセスに関する最近の研究では、クリーンルームとCSPで表現された仕様によって提供される自動検証機能を融合することが検討されています。[3]
哲学
クリーンルーム プロセスの焦点は、欠陥の除去ではなく、欠陥の予防にあります。「クリーンルーム」という名前は、半導体の製造中に欠陥が混入するのを防ぐために電子産業で使用されるクリーンルームを思い起こさせるために選ばれました。
中心原則
クリーンルームプロセスの基本原則は
- 形式手法に基づくソフトウェア開発
- 数学的形式主義に基づくソフトウェアツールのサポートには、モデル検査、プロセス代数、ペトリネットなどがあります。ボックス構造法は、ソフトウェア製品の仕様と設計を行うための手段の1つです。[4]設計が仕様を正しく実装しているかどうかの検証は、多くの場合ソフトウェアツールのサポートを受けながら、チームレビューを通じて行われます。
- 統計的品質管理の下での段階的な実装
- クリーンルーム開発では、反復的なアプローチを採用しています。このアプローチでは、製品は段階的に増分開発され、実装された機能が徐々に増加します。各増分の品質は、事前に設定された基準に照らして測定され、開発プロセスが適切に進行しているかどうかが検証されます。品質基準を満たさない場合は、現在の増分に対するテストが中止され、設計フェーズに戻ります。
- 統計的に健全なテスト
- クリーンルーム プロセスでのソフトウェア テストは、統計的実験として実行されます。正式な仕様に基づいて、ソフトウェアの入力/出力軌跡の代表的なサブセットが選択され、テストされます。次に、このサンプルが統計的に分析され、ソフトウェアの信頼性の推定値とその推定値の信頼度が生成されます。
参考文献
- ^ Mills, H. ; M. Dyer; R. Linger (1987 年 9 月). 「クリーンルーム ソフトウェア エンジニアリング」(PDF) . IEEE ソフトウェア. 4 (5): 19–25. doi :10.1109/MS.1987.231413. S2CID 383170.
- ^ Foreman, John (2005). 「クリーンルーム ソフトウェア エンジニアリング リファレンス」。ソフトウェア テクノロジー ロードマップ。ソフトウェア エンジニアリング協会 (SEI) 。2006 年 4 月 27 日閲覧。
- ^ Guy H. Broadfoot および PJ Hopcroft ( 2005)。「クリーンルームと CSP を使用した業界への形式手法の導入」。Dedicated Systems e-Magazine。S2CID 14066854。
{{cite journal}}
:ジャーナルを引用するには|journal=
(ヘルプ)が必要です - ^ Linger, R. (1994 年 4 月). 「クリーンルームプロセスモデル」. IEEE ソフトウェア. 11 (2): 50–58. CiteSeerX 10.1.1.130.8642 . doi :10.1109/52.268956. S2CID 206447346.
さらに読む
- Stavely, Allan (1999)。『ゼロ欠陥プログラミングに向けて』。Addison-Wesley。
- Stacy J. Prowell、Carmen J. Trammell、Richard C. Linger、Jesse H. Poore (1999)。「クリーンルーム ソフトウェア エンジニアリング: テクノロジーとプロセス」Addison-Wesley。
- Jesse H. Poore および Carmen J. Trammell (1996)。『クリーンルーム ソフトウェア エンジニアリング: 読本』。NCC Blackwell。
外部リンク
- はじめに