「プロジェクト品質マネジメント」「リバースエンジニアリング」の解説

2021年9月5日

プロジェクト品質マネジメントとは?

「プロジェクト品質マネジメント」とは、プロジェクトの成果物が与える顧客等が持つニーズに対する満足を確実にするためのマネジメントであり、品質方針、目標、責任を定め、それらを達成するために必要なプロセスの知識エリアになります。品質マネジメントの活動は、「品質計画」、「品質保証」、「品質管理」の大きく3つになります。

「PMBOK」では、プロジェクト品質マネジメントを「品質計画」、「品質保証」、「品質管理」の3つのプロセスで行うとしている。そして、そのアプローチはISO9001、10000シリーズといった国際標準化機構の定める規格やガイドラインとも整合性を持つものとなります。

ここで、「品質計画」、「品質保証」、「品質管理」のそれぞれのプロセスについて、紹介していきます。

  • 品質計画:品質方針や、成果物の記述書等から、QC活動等で知られたいる特性要因図等のフローチャートや、ベンチマーキングなどの技法、ツールを用いて、品質計画書、運用基準、チェックリストなどを作成します。
  • 品質保証:プロジェクトが適切な品質規格を満たしているかどうか第3者的な視点からの監査をすることで、具現化され、その結果、品質改善指摘を生成し、プロジェクトの変更要求や是正処置を促します。
  • 品質管理:プロジェクト全体を通して行われる品質維持のための活動になります。品質管理のために、適切な検査を行い、その結果で承認、手直し、予防、是正処置などが適時行われます。

プロジェクト品質マネジメントに関する問題

◆確認問題

プロジェクトマネジメントの知識エリアには,プロジェクトコストマネジメント,プロジェクト人的資源マネジメント,プロジェクトタイムマネジメント,プロジェクト品質マネジメントなどがある。システム開発のプロジェクト品質マネジメントにおいて,成果物の品質を定量的に分析するための活動として,適切なものはどれか。
 ア. 完成した成果物の数量を基に進捗率を算出して予定の進捗率と比較する。
    イ. 設計書を作成するメンバに必要なスキルを明確にする。
    ウ. テストで摘出する不良件数の実績値と目標値を比較する。
    エ. プログラムの規模や生産性などを考慮して開発費用を見積もる。

出典:平成30年度 秋期 ITパスポート試験公開問題 問38

◆確認問題の解答(ウ)、解説・・・各選択肢の解説は、次の通り。

  • ア:「プロジェクト・タイム・マネジメント」の活動になります。
  • イ:「プロジェクト・人的資源・マネジメント」の活動になります。
  • ウ:正解です。「プロジェクト・品質・マネジメント」で実施する品質保証活動になります。
  • エ:「プロジェクト・コスト・マネジメント」の活動になります。

リバースエンジニアリングとは?

「リバースエンジニアリング」とは、既存のソフトウェアに対し、動作解析をするなどして製品の構造を分析し、そこから製造方法・動作原理・設計図・ソースコードなどの仕様を導き出す技術のことです。

「リバースエンジニアリング」では、他社が開発したソフトウェアのソースコード、データ定義文、ハードウェアの仕様や動作を調査できます。「リバースエンジニアリング」を利用する目的は、先進技術やノウハウを自社製品に応用することになります。設計から構築までの開発工程をさかのぼることから「逆行工学」とも呼ばれます。

「リバースエンジニアリングツール」というソフトウェアを使用することで、「COBOL」「JCL」「C/C++」「Javaのソースコード」などから、プログラム設計書やモジュール一覧表を自動生成することができます。

「リバースエンジニアリング」では、互換性の確保、保守機能の追加、設計書の修正だけでなく、バグ修正、脆弱性の発見などのセキュリティ対策にも活用されます。しかしながら、他社のソフトウェア製品のプログラムを分析することが、知的所有権の侵害であるという法的問題も存在します。

リバースエンジニアリングに関する問題

◆確認問題

自社開発して長年使用しているソフトウェアがあるが,ドキュメントが不十分で保守性が良くない。保守のためのドキュメントを作成するために,既存のソフトウェアのプログラムを解析した。この手法を何というか。
 ア. ウォータフォールモデル
    イ. スパイラルモデル
    ウ. プロトタイピング
    エ. リバースエンジニアリング

出典:平成30年度 秋期 ITパスポート試験公開問題 問39

◆確認問題の解答(エ)、解説・・・各選択肢の解説は、次の通り。

  • ア:「ウォータフォールモデル」とは、開発プロジェクトを時系列に、「要求定義」「外部設計」「内部設計」「プログラム設計」「開発」「テスト」「運用」などの作業工程に分割し、開発を進める開発モデルです。又、前の工程に、戻らない前提であることから、下流から上流へは戻らない水の流れに例えて、ウォータフォールモデル」と呼ばれています。
  • イ:「スパイラルモデル」とは、開発の初期段階で、システムを複数の独立性の高いサブシステムに分割し、そのサブシステム単位で、設計~テストまでの一連のサイクルを繰り返しながらシステムを構築する開発モデルのことです。
  • ウ:「プロトタイピング」とは、開発の初期段階に試作品を作り、利用者の確認を得て開発を進める手法のことです。試作品を作ることで、システムの認識相違を早期に発見できるため、下流工程での手戻りの可能性を少なくできます。
  • エ:正解です。