de_DEen_USes_ESfa_IRfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

はじめに

ロバストネス分析はソフトウェア設計における重要なステップであり、システムが達成すべきこと(分析)とその実装方法(設計)の間のギャップを埋めます。設計者がシステムの設計について仮定を立て、可能な技術的解決策について考えるのを助けます。ロバストネス分析における有用なツールの一つがロバストネス図、ローゼンバーグとスティーブンが2007年に導入しました。正式なUML仕様の一部ではないものの、ロバストネス図はUMLの概念を活用してシステムの振る舞いを表現します。本チュートリアルでは、ロバストネス図の原則、要素、および実際の使い方について詳しく探求します。

ロバストネス図の要素

ロバストネス図はクラス図とアクティビティ図の要素を組み合わせています。ユースケースの振る舞いを視覚的に表現し、関与するクラスやソフトウェアの振る舞いを強調しますが、各振る舞いの部分をどのクラスが担当するかは指定しません。これにより、オブジェクト間の相互作用に焦点を当てるため、従来のアクティビティ図よりも理解しやすくなります。ロバストネス図の主要な要素を以下に見ていきましょう:

ステレオタイプ化されたオブジェクト

ロバストネス図は、システム内の異なる種類の要素を表現するためにステレオタイプ化されたオブジェクトを使用します。以下のUMLステレオタイプがよく用いられます:

Robustness Analysis Diagram symbols

  1. «boundary»:システムと外部世界のインターフェースを表します。境界オブジェクトは通常、スクリーン、Webページ、またはアクターが操作する他のユーザーインターフェースに対応します。これらのオブジェクトはプレゼンテーション層に関連しています。
  2. «entity»:ドメインモデルからのオブジェクトを表し、システム内の現実世界の実体や概念を表します。
  3. «control»:境界オブジェクトとエンティティオブジェクトの間の仲介者として機能し、それらの相互作用を調整する「接着剤」としての役割を果たします。

ATM

MVCロバストネス図の例:

MVCシーケンス図の文脈では、これらの要素が境界から開始されたコマンドを実行するために統合され、境界オブジェクトを通じてエンティティとの相互作用を調整します。通常、コントローラー・オブジェクトは特定のユースケースのシナリオに対応しており、視覚的にシーケンス図で表現されることが多いです。

MVCシーケンス図の明確さと理解を高めるために、図の要素のライフラインにステレオタイプを適用することが有効です。この実践により、MVCで使用されるオブジェクトの種類を視覚的に区別でき、ロバストネス分析図で確立された原則に沿った表現が可能になります。

Robustness Sequence Diagram

 

 

結論

ロバストネス図は公式なUML仕様の一部ではないものの、ソフトウェア設計におけるロバストネス分析において貴重なツールです。システムオブジェクト間の相互作用を視覚的に表現することで、分析と設計のギャップを埋めます。本チュートリアルで提示された原則とルールに従うことで、設計者は明確で構造的なユースケースを提供する効果的なロバストネス図を作成でき、最終的により良いソフトウェア設計と開発につながります。

リソース

ロバストネス図のテンプレート