ロバストネス図【robustness diagram】
概要

3つの要素のうち、「バウンダリ」(boundary)は画面やAPIなど、利用者や外部システムとの接点となる要素である。「エンティティ」(entity)は顧客情報や商品情報のように継続的に保持されるデータを表す要素で、「コントロール」(control)は業務処理や制御の流れを担う要素である。これらを線で結び、システムがどのように振る舞うかを表現する。
ロバストネス図を作成する目的は、文章で記述されたユースケースの内容を、クラス図やシーケンス図など詳細な設計図へ翻訳しやすくすることにある。ユースケースの記述だけでは、どの操作がどのデータにつながるのか、処理の抜けや矛盾がどこにあるのかを把握しにくい。そこで3つの要素に分類して図に落とし込むことで、要件の曖昧な部分や記述漏れを早い段階で洗い出すことができる。
作図には接続に関する慣例があり、バウンダリとエンティティを直接結ぶ線は原則として引かない。画面表示プログラムが直接データを書き換えるような設計は避け、必ずコントロールを介してバウンダリとエンティティをつなぐ形にする。この慣例に従うことで、誰がどのような操作を行い、どの処理を経てデータが変化するのかという関係性が視覚的に明白になり、すべての制御をコントロールが担うという役割分担が保たれる。
ロバストネス図はUML(統一モデリング言語)で正式に定義された図の一種ではないが、UMLの「コミュニケーション図」を簡略化した表記として広く用いられている。イヴァー・ヤコブソン(Ivar H. Jacobson)氏が提唱した「ロバストネス分析」(robustness analysis)という手法の成果物で、オブジェクト指向開発の手法の一つである「ICONIX」プロセスの中核工程として位置付けられている。この分析手法では、要求定義の段階で作成されたユースケースモデルと概念モデルを入力とし、ロバストネス図を作成する。