共通フレーム
共通フレーム(SLCP-JCF)は、情報処理推進機構(IPA)が発行するソフトウェア開発のライフサイクル全体(構想、開発、運用、保守、廃棄)における標準的な作業項目、用語、役割を定めたガイドラインです。この枠組みは、システム開発に関わる発注者と受注者などの利害関係者が共通の「言葉」でコミュニケーションをとれるようにし、誤解やトラブルを防ぎ、システム開発の品質向上、期間短縮、コスト削減に貢献することを目的としています。

開発関連のプロセスの詳細
開発のプロセスとソフトウェア実装プロセスにおいては、さらに細分化したプロセスや活動が定義されています。

前半と後半の各プロセスの大まかな関係を示しています。例えば「ソフトウェア適格性確認テストによって、ソフトウェア要件定義で定めた要件が満たされていることを確認する」といった具合です。
設計段階のプロセス群
(1)システム要件定義
- システムが満たすべき「要求」を、利用者の視点で定義するプロセスです。
- 「どのようなシステムを作るか」を明確にし、プロジェクト全体の土台となります。
(2)システム方式設計
- システム要件定義で取り決めた要求を実現するために、ハードウェア、ソフトウェア、ネットワークなどの構成要素を決定します。
- システム全体の範囲と、手作業となる部分を明確にします。
(3)ソフトウェア要件定義
- クライアントの要望を、設計や実装の指針となる具体的な「機能要件」「非機能要件」に落とし込みます。
- システム要件定義の中に含まれる、ソフトウェアに特化した要件を定義する部分です。
(4)ソフトウェア設計方式とソフトウェア詳細設計
- システム全体で動作するソフトウェアの構成や構造を検討し、決定します。
- 通常、システム方式設計の一環として行われ、ソフトウェアの全体像を設計する工程です。
- 外部設計で設計した内容を、具体的な実装レベルでどのように実現するかを設計します。
- 各プログラムの動作や処理の流れを詳細に定義し、実装の直前に行う工程です。
(5)ソフトウェア構築
- 詳細設計に基づいて、実際にプログラムコードを作成し、システムを構築する工程です。
テスト段階のプロセス群
(6)ソフトウェア結合とソフトウェア適格確認テスト
ソフトウェア結合テストは、個々のプログラム(モジュール)を結合した際に、それらが連携して意図通りに動作するかを確認するテストです。一方、ソフトウェア適格性確認テスト(システムテストに相当)は、結合テストの後に行われ、システム全体がユーザーの要求や要件定義どおりに実現されているかを検証する、より広範なテストです。
(7)システム結合とシステム適格性確認テスト
システム結合(結合テスト)は複数のモジュールが連携して正しく動作するかを、基本設計に基づき検証するテストであるのに対し、システム適格性確認テストは、システムが要件定義で定義された業務要件を満たしているかを、実際の業務環境を想定して検証するテストです。つまり、結合テストが設計通りの動作確認であるのに対し、システム適格性確認テストは要件通りの機能や性能、使いやすさを満たしているかを確認する、より顧客目線での最終確認となるテストです。
その他のプロセス
品質保証プロセス | 品質マネジメントの考えに沿い、成果物やプロセスが決められたとおりにできているかチェックし、必要に応じて是正する |
検証プロセス | 作業結果が使用に適切に反映しているかを確認する |
妥当性確認プロセス | 成果物が「利用者の視点」から意図された正しいものになっているかを確認する |
監査プロセス | 第三者が独立した立場で、要求事項を満たしているか評価する |