ロバストネス図とは
ロバストネス図は、「 システムの動きを絵として表したもの 」である。
システムには、ユーザーや外部のシステムなどとやりとりする「 バウンダリ 」、データを保存したり管理したりする「 エンティティ 」、ユーザーの要求を処理したり制御したりする「 コントロール 」と言う、 3つの種類 がある。
ロバストネス図では、これらの種類に合わせて「 それぞれ違う形 」で描く。
ロバストネス図を書くことで、システムが どのような機能 を持っていて、 どのようなデータ を扱っているか、わかりやすくなる。
よりわかりやすく説明すると、ロバストネス図は、お話の 登場人物 や 道具 や 場所 を絵にしたもの、である。
主人公 や 仲間 や 敵 は「 バウンダリ 」、 宝物 や 武器 や 魔法 などは「 エンティティ 」、 冒険 や 戦闘 や 謎解き などは「 コントロール 」となる。
ロバストネス図では、これらの 登場人物 や 道具 や 場所 を 違う形 で描いて、お話の内容を分かりやすくする。
必要性
ロバストネス図は、「 システムの要件を分析する 」時に役立つ。
ロバストネス図を書くことで、システムが どのような機能 を持っていて、 どのようなデータ を扱っているかが明確になる。
また、ロバストネス図は、システムの 設計 や 実装 にも繋がる。
ロバストネス図は、システム開発の「 全体像を把握する 」ために必要な図である。
メリット
ロバストネス図のメリットとして、以下の点がある。
- ロバストネス図は、「 シンプル 」で「 わかりやすい 」図である
- UMLの コミュニケーション図 や コラボレーション図 を 簡略化 した形で書くことができる
- システムの「 構造 」や「 動作 」を簡潔に表現できる
- UMLの コミュニケーション図 や コラボレーション図 を 簡略化 した形で書くことができる
- ロバストネス図は、「 要件と設計の間のギャップを埋める 」ことができる
- 要件を定義する時に書いた ユースケース と、設計する時に書く クラス図 や 相互作用図 との 対応関係 が 明確 になる
- 要件 と 設計 の「 一貫性 」や「 正確性 」を高めることができる
- ロバストネス図は、チーム内での コミュニケーション を 促進 することができる
- ロバストネス図は、 ビジネスサイド や 開発サイド など、 異なる視点や知識レベル の人たちにも 理解しやすい 図である
- システムの 要件 や 設計 について、「 共通の言語 」で話し合うことができる
- ロバストネス分析は、ユースケース記述の 曖昧さ を削減し、 設計 、 テスト 、 見積り を容易にする
書き方の原則
ロバストネス図の書き方の原則として、以下の点がある。
- ロバストネス図は、 ユースケース記述 や ドメインモデル図 を参考にして、「 システムの振る舞い 」を表現する
- ロバストネス図には、 アクター 、 境界オブジェクト 、 制御オブジェクト 、 エンティティオブジェクト の、 4種類 の要素を使う
- ロバストネス図は、「 アクターの視点 」から記述する段階と、「 システムの視点 」から記述する段階の、大きく 2段階 に分けられる
- ロバストネス図は、「 要件の曖昧さ 」を除去するために描く
- ロバストネス図を描きながら、「 ユースケース記述 」や「 ドメインモデル図 」に 不足 や 矛盾 がないか、をチェックする
- ロバストネス図は、 一時的 なモデルであり、最終的な成果物ではない
- ロバストネス図は、「 システムの設計や実装に繋がる 」ために描く