ITパスポート 2016年 春期 問50
問題文
システム開発プロジェクトの工程を、システム要件定義、システム設計、プログラミング、テストの順に進めるとき、a〜dのうち、品質の管理を実施する必要がある工程として、適切なものだけを全て挙げたものはどれか。
a システム要件定義
b システム設計
c プログラミング
d テスト
選択肢
ア:a, b, c, d(正解)
イ:b, c, d
ウ:c, d
エ:d
🔒 解説は解答すると表示されます
システム開発の工程と品質管理【ITパスポート 解説】
正解の理由
この問題で求められているのは「品質の管理を実施する必要がある工程はどれか」です。品質管理(QC:Quality Control=品質を管理・検査する活動)や品質保証(QA:Quality Assurance=品質を確保するための仕組み)は、システム開発のすべての主要工程で必要です。なぜなら、各工程で発生する誤り(欠陥)はその工程で見つけて直す方が後工程で直すよりも時間とコストが小さいからです。
工程の簡単な説明(初出の用語は補足します):
- システム要件定義(requirements definition:何を作るかを決める工程)
- システム設計(system design:どう作るかを決める工程)
- プログラミング(programming:実際にコードを書く工程)
- テスト(testing:作ったものが正しく動くかを確認する工程)
上の理由から、すべての工程で品質管理が必要です。したがって、選択肢の中では ア(a, b, c, d)が正解です。
解法ステップ
- 問題文で「品質の管理を実施する必要がある工程」を確認します。
- 各工程でどんなミスや問題が起きるかを考えます(要件の誤り、設計の不備、バグ、テスト漏れなど)。
- 品質管理は「欠陥を早く見つける」だけでなく「欠陥を作らない仕組みを作る」ことも含むため、欠陥が入り得る全工程が対象であると判断します。
- 全工程を含む選択肢(a〜dすべて)を選びます。
短く言えば、「欠陥はどの工程でも入る」「早い段階での管理が効果的」なので全工程が対象、となります。
選択肢別の誤答解説
-
ア(a, b, c, d)
正しい。要件定義〜テストの各工程で品質管理が必要です。各工程に対応した品質活動(要件レビュー、設計レビュー、コードレビュー、各種テストなど)を行います。 -
イ(b, c, d)
要件定義(a)が抜けています。要件定義で誤った仕様を決めてしまうと、以降の工程で正しく作っても「顧客の望むものでない」問題が発生します。これは後工程のテストや修正では発見が遅れ、コストが大きくなります。したがって要件定義でも品質管理が必要です。 -
ウ(c, d)
設計(b)や要件定義(a)が抜けています。設計段階での不備はプログラミングで大量の手戻り(やり直し)を招きます。設計レビューやアーキテクチャ検討も品質管理の重要な一部です。 -
エ(d)
テストだけで品質管理を完結させる考え方です。テストは欠陥検出に有効ですが、欠陥を未然に防ぐ活動(要件の明確化、設計の検証、コード品質向上)はテスト以前に行うべきです。テストのみではコスト高・納期遅延の原因になります。
よくある誤解
-
「品質管理=テストだけ」
誤りです。テストは品質管理の一部(検査)ですが、品質を作り込む(予防する)活動も同じくらい重要です。早い段階でのレビューや基準設定で欠陥を減らせます。 -
「要件定義は技術的な工程ではないから品質管理の対象外」
誤りです。要件が間違っていれば、どれだけ技術的に正しいものを作っても目的を果たしません。受け入れ基準やレビューで品質を担保します。 -
「設計とプログラミングは別物だから設計段階の問題は実装で対応できる」
実装で対応できても手戻りが増え、コストと時間が大きくなります。設計段階での検討・検証が重要です。
補足コラム
-
品質保証(QA)と品質管理(QC)の違い
QA(Quality Assurance:品質保証)は、品質を確保するための仕組みやプロセス作り(例:開発プロセスの標準化、チェックリストの整備)です。QC(Quality Control:品質管理)は、その仕組みに基づいて実際に行う検査やレビュー、テストなどの活動です。両方を組み合わせることが大切です。 -
なぜ早く見つけるほど良いのか?
一般に「欠陥の修正コストは後工程になるほど高くなる」と言われます。例えば要件段階で見つければ文書修正だけで済むことが、テスト後だと大幅な設計変更やプログラム修正、再テストを招きます。これが「シフトレフト(shift-left)」という考え方で、検証や品質活動を左側(前工程)へ移すことを推奨します。 -
各工程での具体的な品質活動例
- 要件定義:要件レビュー、受け入れ基準の明確化、関係者レビュー
- 設計:設計レビュー、モジュール分割の検討、非機能要件の確認
- プログラミング:コーディング規約、コードレビュー、静的解析ツールの利用
- テスト:単体テスト、結合テスト、システムテスト、受け入れテスト
FAQ
Q1. 品質管理と品質保証、どちらが先に必要ですか?
A1. 同時に考えるのが理想です。まずQAでプロセスや基準を作り、それに基づくQC活動(レビューやテスト)を実行します。プロセスがなければ管理はばらつきます。
A1. 同時に考えるのが理想です。まずQAでプロセスや基準を作り、それに基づくQC活動(レビューやテスト)を実行します。プロセスがなければ管理はばらつきます。
Q2. 小さなプロジェクトでは要件定義やレビューを省いてもよいですか?
A2. 規模が小さくても、最低限の要件確認・受け入れ条件の整理は必要です。省くと後で手戻りが発生しやすく、結果的に工数が増えることがあります。
A2. 規模が小さくても、最低限の要件確認・受け入れ条件の整理は必要です。省くと後で手戻りが発生しやすく、結果的に工数が増えることがあります。
Q3. テスト工程だけを強化すれば品質が上がりますか?
A3. テスト強化は重要ですが、欠陥の発生を減らす活動(レビューや設計の改善)を併せて行う方が効果的でコスト効率も良くなります。
A3. テスト強化は重要ですが、欠陥の発生を減らす活動(レビューや設計の改善)を併せて行う方が効果的でコスト効率も良くなります。
関連キーワード: 品質管理、品質保証、要件定義、システム設計、テスト工程、コードレビュー、シフトレフト、レビュー手法、受け入れ基準、開発プロセス

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

