第6章 作業成果物を調べる - 概要説明準備

6.1 概要説明

  • インスペクタがすでに初期成果物についてよく知っている場合は省略可能
  • 初期成果物の背景と目的を理解し、共有することを目的とする
  • 30分-60分
  • 作成者が主導
  • 以下の事項を扱う
    • プログラムの動作環境
    • 入力および出力
    • モジュールの事前条件、事後条件
    • 例外処理の戦略
    • 重要なデータ構造
    • ユーザインタフェースおよびソフトウェア/ハードウェアコンポーネントとのインタフェース
    • 利用のシナリオ
    • アーキテクチャに関する説明

6.2 準備

  • チェックリストおよび分析技法を用いて作業成果物の欠陥候補が無いかを調べる
  • 欠陥候補や課題を各自のメモもしくは課題ログに記録する
  • スペルミスや書式の問題のような小さな項目は誤字誤植一覧表に記録する
    • 通常、誤字誤植は欠陥には数えられない

6.3 準備の方法

  • 疑問点はとにかくメモする方法
  • 観点ごとに重複無くインスペクタを割り当てる方法
    • 各人がしっかりと準備をする必要がある
  • 毎回異なる観点ごとに焦点を当て数回通読する方法
    • 工数がかかる

6.3.1 欠陥チェックリスト

  • ソフトウェア作業成果物に見られる欠陥の典型例
    • あらかじめどのような点に気をつけて作成すればいいのかがわかる
    • コンパイラや静的解析ツールによって発見できる欠陥は記載しない

6.3.2 ルールセット

  • チェックリストを補完、代替するもの
    • 命名規則
    • 書式等

6.3.3 その他の分析技法

  • 作業成果物を単に通読するよりも適切な分析技法を選択すべき

6.3.3.1 要求仕様書

  • 漠然性と曖昧性のチェック
    • PBR(Perspective-based reading)
      • 個々のインスペクタに様々な立場の観点を与える
      • 例) 顧客、デザイナ、システムテスト担当者
    • シナリオの利用 Porter et al.
  • 要求の欠落のチェック
    • 特定された全てのユーザ層から要求を受け取ったどうかを確認する
    • 同種の製品および競合製品を調査し、追加すべき機能が無いか確認する
    • 品質属性、製品目標、制約条件、外部インタフェース要求など非機能要求が仕様化されているか確認する
    • 一定のパターンになる類似の要求を表にまとめて、重複や見落としを防ぐ
    • 全てのデータ項目についてソースと利用先を記述する 等

6.3.3.2 ユーザインタフェース仕様

  • ヒューリスティック評価 Jakob Nielsen
    • 既知の経験則に照らしてユーザインタフェースを評価する
  • コラボレーティブユーザビリティインスペクション Constntine and Lockwood

6.3.3.3 設計書

  • シナリオ、アンケート、チェックリストなどに基づくレビュー Bass、Clements, and Katzman
  • アクティブデザインレビュー Parnas and Weiss
    • 参加者はそれぞれ異なったチェックリストを使用する

6.3.3.4 ソースコード

  • アクティブデザインレビュー
  • デシジョンテーブル
  • デシジョンツリー
  • 制御フローグラフ