ソフトウェア設計・レビュー・テスト現場ノウハウ集

技術者・研究者向けの書籍紹介


〜組込み系技術者のための〜
ソフトウェア設計・レビュー・テスト現場ノウハウ集


発刊日: 2006年11月30日
体 裁: B5判、190頁  


書籍内容
ソフトウェア設計・レビュー・テスト現場ノウハウ集
いろいろな製品やサービスにおけるソフトウェアの果たす役割は非常に大きくなり、保守しなければならないソフトウェア規模は急速に大規模化している。これは、情報システム開発だけでなく、組み込み系ソフトウェアにおいても同様である。また、ソフトウェアの不具合が社会問題に発展することもたびたび起こっている。
 そうした中、ソフトウェアに要求されることも、単に要求機能を実現し、障害発生しないことだけでなく、個人情報保護、メディア著作権保護、通信、資源効率、性能、保守性、移植性、他社製品との接続性なども含め、非常に広がりつつある。また、組み込み系ソフトウェアにあっては、製品シェア獲得争いが厳しく、他社よりも早く、新しい技術で今までにない能力の製品を市場投入することが望まれる。
 そこで本書の目的は、こういった広い範囲の要求を実現するための技術を、現場担当者レベルでの具体 的な実施事例を入れて解説する、いわゆるノウハウ集とすることにある。
 事例としては、著者が今までにノートに取ってきた経験内容を利用した。幸い著者は、次の「著者紹介」にあるように、ハードウェア設計及びその検証、組み込み系制御ソフトウェア、量販電器製品ソフトウェア品質保証、情報システム系ソフトウェア全てリーダクラスを経験しており。また、いろいろなプロジェクト支援も行ってきた。従って、ここに記載した経験は、広範囲にわたっている



第1章 要件管理
1.要件管理の基本
2.要件の確立とレビュー
  2.1 要件の種類

  2.2 要件定義必要事項

  2.3 要件管理レビュー項目例

  2.4 契約にもとづく開発の場合のレビュー項目

  2.5 事例

3.要件変更に対する管理
  3.1 要件や設計変更に対する管理

  3.2 要件が段階的に詳細化したり、決定していく場合の管理

  3.3 事例:品質特性表を利用した要件レビュー

4.計画・進捗管理への展開
  4.1 要件に適合した開発プロセスの選択

  4.2 開発フェーズの考え方

  4.3 フェーズ移行の考え方

  4.4 ワークブレークダウンストラクチャー(WBS)への展開

  4.5 WBSによる進捗管理方法

  4.6 フェーズ移行の定量化目標の作り方例

  4.7 計画・進捗管理の連携

  4.8 見積もり・日程計画・進捗管理事の実施例

第2章 ソフトウェア設計技法
1.要件実現方法の検討
  1.1 要件の系統的分析

2.品質特性と設計方針の設定
  2.1 製品の品質

  2.2 外部品質特性と内部品質特性

3.仕様書の作成
  3.1 仕様書作成の注意事項

  3.2 設計の要素

  3.3 仕様書に含まれる主な内容

  3.4 ソフトウェア設計の図表現

  3.5 設計技法における表記と視点

  3.6 障害処理設計

  3.7 機能変更・改造

  3.8 マニュアル文書

4.改造・保守
第3章 設計レビュー技法
1.レビュー実施観点
  1.1 技術的観点

  1.2 管理的観点

  1.3 経営的観点

  1.4 戦略的観点

2.レビューの階層構造
  2.1 セルフチェック・セルフレビュー

  2.2 クロスチェック・クロスレビュー

  2.3 ピアレビュー(仲間内レビュー)

  2.4 ストラクチャードレビュー

  2.5 フォーマルレビュー(設計審査)

3.レビュー方式
  3.1 アドホックレビュー

  3.2 ピアデスクチェックレビュー

  3.3 パスアラウンドレビュー(配布方式、掲示板方式、回覧方式)

  3.4 ペアプログラミング

  3.5 ウォークスルーレビュー(動作確認の会議方式)

  3.6 インスペクションレビュー(会議方式)

  3.7 チームレビュー

  3.8 ラウンドロビン(総当たり)方式

4.レビューのやり方
  4.1 チェックリスト法

  4.2 開発とは逆方向に確認する方法

  4.3 精査

  4.4 プロトタイピング方式による動作確認

  4.5 数値シミュレーション方式

  4.6 専門家によるレビュー

5.レビューの道具、時期
6.レビューの方法全体まとめ
7.レビュー計画策定
  7.1 目的に応じたレビュー方法にする

  7.2 プロジェクト規模とレビュー計画の関連の例

  7.3 レビュー計画表の作成

8.レビューの管理
  8.1 管理者の役割

  8.2 レビュー開催の計画

  8.3 レビュー実行・開催

  8.4 実行チェック・進捗管理とレビュー

  8.5 レビューの実施定着・改善

9.レビューの注意点
  9.1 開発特性と注意点

  9.2 レビューのやり方の注意点

  9.3 絶対にレビューで取り除くべきもの

10.ドキュメントのレビュー
  10.1 内部ドキュメント  10.2 マニュアル(使い方説明書)

11.レビューの評価
12.レビュー実施事例
  12.1 ソフトウェア品質会計によるプロセスレビュー  12.2 コードレビューの機械化例

第4章 テスト技法
1.テストの種類
  1.1 単体テスト

  1.2 結合テスト

  1.3 機能テスト、システムテスト

  1.4 妥当性確認テスト(運用テスト・製品評価、移行テスト)

  1.5 その他

2.機能網羅テスト(ブラックボックステスト
  2.1 同値分割(正常系・異常系)

  2.2 限界値分析

  2.3 原因?結果グラフ

  2.4 デシジョンテーブルによる方法

  2.5 実験計画法

  2.6 過去障害情報の活用(エラー推測技法)

  2.7 原因流れ図

3.制御網羅テスト(ホワイトボックステスト
4.その他
  4.1 ミューテーション・ベースド・テスト

  4.2 静的テスト

5.テスト項目選択のノウハウ
6.テスト手順とノウハウ
  6.1 テスト環境設定

  6.2 テスト実行・デバグ

  6.3 管理と評価、判定

  6.4 テスト工程でのレビュー項目

7.テストの自動化
8.ソフトウェア信頼性評価技法
  8.1 エラー発見が指数曲線になる理由(定性的な著者の考え)

  8.2 モデル曲線の種類

  8.3 出荷後発見エラーがモデル曲線に合わない場合

  8.4 運用方法

  8.5 担当者レベルでの活用

  8.6 今後の課題

9.この他の出荷後エラー予測方法
第5章 ソフトウェア構成管理
1.構成管理の内容
  1.1 構成管理の目的

  1.2 構成管理の内容

2.構成管理計画
  2.1 構成管理対象の明確化

  2.2 構成管理の手順や活動内容の明確化

  2.3 構成管理環境

  2.4 構成管理体制の明確化

  2.5 活動を遂行する手続きとスケジュール

3.構成管理体制
  3.1 構成管理者、グループ(SCMG)

  3.2 構成制御委員会(SCCB)

4.構成管理状況の報告書作成と報告
5.構成管理改善事例
付 録 レビューチェックリスト作成とレビュー計画
1.利用方法
  1.1 外部品質特性、内部品質特性のランク付けをする

  1.2 レビューのやり方を計画する

  1.3 レビューチェックリストを決める

  1.4 レビューの実施

2.レビューチェックリスト集(CD収録)