概念: ソフトウェアの統合
「統合」という用語は、別個のソフトウェア コンポーネントを全体に結合するソフトウェア開発作業を表します。次のような実装のいくつかのレベルと段階で統合は行われます。
- システム統合担当者にサブシステムをリリースする前に、同一の実装サブシステムで作業しているチームの作業を統合する。
- サブシステムを完全なシステムに統合する。
統合に対する Rational Unified Process のアプローチは、ソフトウェアを段階的に統合するというものです。段階的な統合とは、コードを小さい断片にわけて記述しテストした後、一度に 1 つの断片を追加することによって作業している全体に結合することを意味します。
段階的な統合とは対照的なアプローチが一括統合です。一括統合は、一度に複数 (新規と変更された) のコンポーネントを統合することに基づいています。一括統合の主な難点は、複数の変数を導入するので、エラーを見つけるのがより困難になることです。これは主に、新しいコンポーネントのどんなものにも、システムの中核を成す新しいコンポーネント間の相互作用にも、または新しいコンポーネント間の相互作用にもエラーがある可能性があるという事実に起因します。
段階的統合の利点は、次のとおりです。
- 障害を見つけやすい。段階的統合時に新しい問題が発生したとき、新規または変更されたコンポーネント、または以前に統合されたコンポーネントとの相互作用が、障害を探す明白な場所になります。段階的統合では、障害が 1 つずつ発見される可能性が高いので、障害を特定しやすくなります。
- コンポーネントをより完全にテストする。 コンポーネントは、作成されテストされてから統合されます。つまり、統合を一度に行う場合よりも頻繁にコンポーネントは機能的に洗練されることになります。
- 早く行われるものがある。開発者は、終わりまですべてのものを待つ代わりに作業からの結果を早く見れるので、やる気も向上します。できるだけ早くフィードバックを得ることもできます。
ありとあらゆる反復の中で少なくとも一度は統合が発生するということを理解することが重要です。反復計画では、設計するユース ケースと、実装するクラスを定義します。統合戦略の焦点は、クラスが実装され、結合される順番を決定することです。
|