rcp-rbd-01:ロバストネス図
目的
  • 要件から論理的なシステムの構成要素の候補を導出します
  • ユースケース記述の内容を検証します
※オブジェクト指向分析に慣れている場合、ロバストネス図作成は省略しても良いでしょう
メタ情報
成果物関連

入力成果物リスト
前準備
  • ロバストネス図を作成する対象のユースケースを特定し、そのユースケース記述や本質的UIの内容を確認・理解します
  • モデリングツール等を立ち上げ、ロバストネス図を作成できる環境を整えます
作成手順
No 作業 成果
1
  • ユースケース記述の「アクター」の項目からアクターを導出し、名称を付けて一番左側にアイコン(スティックマン)を配置します。
    • アクターの配置は省略可能
2
  • 本質的UIの主UI要素を、バウンダリ・オブジェクトとしてアクターの右側に配置します。
    • 主UI要素のフローに従って上から下に配置
    • 主UI要素と同じ名称
    • 画面数が多い場合(例:8つ以上)は、抽象的な画面を一つ配置
3
  • ユースケース記述のメインフローの中から、システムの振舞いを示す言葉(例:商品を登録する 等)を抽出し、コントロール・オブジェクトとして配置します。
    • 名称は、上記の例で有れば「商品を登録する」等、振舞いを素直に表す言葉にします。
    • 「提示する」「示す」等の画面表示の振る舞いは省略
    • 外部アクターへの接続や連絡についてのコントロール・オブジェクトも配置
      • 外部アクターや外部アクターとやり取りする為のバウンダリは省略可
4
  • ユースケース記述の基本フローと備考から、エンティティ・オブジェクトを抽出し配置します。
    • システム内で永続化されている、或いは永続化される情報だけをエンティティ・オブジェクトとして抽出
      • 例:「注文」は注文登録で生成され、情報が入力されただけの段階では表しません。
    • 名称はできるだけ概念モデルに合うように付けます。
    • 概念モデルの概念レベルの情報だけを抽出します。
      • 属性レベルの情報は概念に含まれているものとして扱います。
    • 概念モデルにない概念(この場合はエンティティ・オブジェクト)が見つかった場合は、必要に応じて概念モデルに追加します
5
  • 全オブジェクトをユースケース記述の流れに従って、オブジェクトフローで接続します。
    • ここでの接続は流れを示します(静的な関係ではありません)。
    • できるだけ線が交錯せず見やすいよう各オブジェクトを配置します。
6
  • 代替フローについて手順No.3~5を実施します。
    • オブジェクトフローに代替フロー番号(例:Alt.1)を付けます。
7
  • 例外フローについて手順No.3~5を実施します
    • オブジェクトフローに例外フロー番号(例:Ext.1)を付けます
8
  • 必要であればユースケース記述の修正を検討します。
    • よりよいフローが発見された場合
    • コントロール・オブジェクトの数が適切でない場合
      • おおよそ5から15個程度が普通
ワンポイント・アドバイス
  • 抽出する各オブジェクトは、正式なオブジェクトではありませんので、オブジェクトとしての形にこだわる必要はありません。
  • オブジェクトの流れも、ユースケース記述や本質的UIと矛盾なければ、あまり厳密に考える必要はありません。
    • 論理クラス図や論理シーケンス図でより厳密に検討します。
チェック・ポイント
  • アクターは適切に配置されていますか?(省略可能)
  • バウンダリ・オブジェクトは適切に配置されていますか?(本質的UIと矛盾はありませんか)
  • コントロール・オブジェクトは適切に配置されていますか?(ユースケース記述の内容と矛盾はありませんか)
  • エンティティ・オブジェクトは適切に配置されていますか?(ユースケース記述の内容や概念モデルと矛盾はありませんか)
  • 各オブジェクトは適切に接続されていますか?
  • 代替フローの内容もカバーされていますか?
  • 例外フローの内容もカバーされていますか?
  • 必要に応じてユースケース記述を修正しましたか?
参考情報

ソフトウェア年表もご覧下さい