同じシステムに異なるレベルの複雑さの異なるユースケース図が存在する可能性はありますか?
私の質問は、ユースケース図が単一のシステムを複雑な方法(より多くのユースケースと各機能の詳細な表現とのさまざまな関係)または単純な方法(単なる概要)で表すことができるという事実が原因で発生します。しかし、IT以外のドメインの利害関係者がユースケース図を参照したい場合は、それを単純にして、システムがより高いレベルで何を行うかを理解してもらいたいのに対し、開発者はユースケース図では、機能を開発するための詳細な図について知りたいと思っています。
そのようなシナリオはどのように処理されますか?
はい。システムのさまざまな部分(機能)に焦点を当てた個別のUCダイアグラムを作成できます。オプションの1つは、関係するアクターによってそれらを分割することです。
システムについて説明すると、モデルを作成することになります。モデルは、実際のオブジェクトのプロパティを表すことを目的とした、実際の(この場合はシステムの)抽象化です。飛行機や車のスケールモデルなどの物理モデルに慣れています。モデルを作成する理由もさまざまです。モデルを作成して、どのように見えるかを示したり、いくつかの物理的特性(空気力学的抗力など)をテストしたりできます。
抽象化の定義、家の平面図を使用すると、そのように認識されない可能性がありますが、技術的には家のモデルの一種でもあります。
UMLは、システムのモデルを構築することを目的としています(コンピューターシステムだけでなく、これが主な用途です)。システムを表すには、さまざまな側面をモデル化する必要があります。システムが物理的なオブジェクトではない場合、モデルにはそれらの側面を表す図の形式があります。単一の図は、システムの特定の側面に焦点を当てており、アイデア全体を理解するには、それらのすべてを調査する必要があります。したがって、組み合わされたシステムのすべての図がモデルを構成します。
単純なシステムのすべての側面を1つの図で示すことは、不可能ではないにしても困難です。実際、図のタイプの数は、システムのさまざまな側面に焦点を当てているという事実から来ています。クラス図は静的データ構造に焦点を当て、アクティビティ図または状態マシン図は時間の経過に伴うシステムの変化に焦点を当てています。抽象化とアスペクト境界の自然なレイヤーを作成します。
しかし、それはモデリングの唯一の制限ではありません。効率的なモデルにするためには、理解できる必要があります。システムの複雑さが増すにつれ、1種類のすべての情報(データモデルやシステムの機能など)を1つの図だけで表現することが不可能になり、これらをさらに小さな図に分割して新しい側面を追加できるようになります。クラスの場合は、主要なビジネス領域に焦点を当てることができます。機能については、関係するアクターによってダイアグラムを分離するのが良いオプションの1つです。
UML仕様の詳細を読むと、1つの図の情報がシステム全体の完全な情報になることはほとんどありません。完全なモデルでさえ、すべての詳細をカバーしていない場合があります。
したがって、あなたや関係する他の利害関係者が最も効率的に使用できる方法で図を自由に整理してください。もちろん、一貫性がある限り、単一のシステムに対して複数のUC図を作成することもできます。
UML仕様を見ると、そこでのクラス図はUML言語モデル全体を表しています。もちろん、そうでなければ完全に読めなくなるので、それらは複数のクラス図に分割されます。
CASEシステム(Enterprise Architect、Visual Paradigm、Rational Rose、StarUMLなど)を使用すると、モデルと図の違いがわかります。図に配置した要素はモデルの一部になります(通常はモデルツリーの形式で表示されます)が、図から要素を削除してモデルから削除するだけでは不十分です。さらに、2つの関連する要素をモデルから新しいダイアグラムにドラッグすると、それらは既に表示されている関係で自動的に表示されます。
もちろん、複数のユースケース図が存在する可能性があります。コミュニケーションの改善に役立つ場合は、どうしてですか?
ユースケース図は通常、システムを説明する非常に非公式な方法であり、それらを使用するための「1つの適切なレベルの抽象化」はありません。異なるものを用意する必要があり、これらの図をさまざまな抽象化レベルで描画および維持するための十分なリソースがある場合は、先に進んでください。
はい、検討中の同じシステムに対して複数の図を作成できます。たとえば、次のような図を表示できます。
それにもかかわらず、いくつかの図が存在する場合でも、システムの 単一モデル があります。したがって、モデリングツールではなく作図ツールを使用する場合は、全体的な一貫性を確保する必要があります(たとえば、同じ名前の2つの異なるユースケースではない)。