2

次の状況を UML でどのようにモデル化しますか。

レストラン管理システムは、ウェイターがテーブルへのサービングを追跡するために使用されます。また、どのウェイターがどのテーブルにサービスを提供しているかを追跡するためにも使用されます。

つまり、ウェイターの概念は、アクター (ウェイターはシステムのユーザーであるため) とエンティティ オブジェクト (システムは、どのウェイターがどのテーブルにサービスを提供するかを追跡するため) の両方であることを意味します。

しかし、UML によれば、定義上「アクターはシステムと対話する外部エンティティーである」ため、概念がエンティティーとアクターの両方になることはできません。

これらの概念を区別するためにいつでも別の名前を使用できますが、それは不自然に思えます。

どう思いますか?

4

2 に答える 2

3

ここに画像の説明を入力してください

ウェイターを表すシステムのエンティティは、システムに作用する外部エージェントである実際のウェイターと同じではありません。

別の名前を使用するか、アクターとエンティティを別々の名前空間またはモデルに配置します。

于 2013-02-28T14:42:23.137 に答える
1

ウェイターがシステムを使用しているからといって、その俳優を「ウェイター」と呼ぶ必要はありません。ホスト/ホステスやシフトマネージャーなど、同じようにシステムを使用する可能性のある他の従業員について考えてみてください。

システムを使用しているアクターは通常、さまざまなアクター間で共有できる役割を果たしています。俳優が演じている役割を一般化する必要があります。従業員がそのユースケースに参加できる場合、役割は「従業員」である可能性があります。

そのアプローチを取らなかったとしても、エンティティとアクターを区別するための他の類義語がまだあります。アクターは「ウェイトスタッフ」であり、エンティティは「サーバー」である可能性があります。特に頻繁に使用される用語については、適切な名前を考え出すのに時間をかける価値があります。結局のところ、異なる名前を使用することについてUMLが「言っている」ことは忘れてください。UML が登場して以来、人々は UML の断片を使用してきました。名前を再利用することに決めたとしても、誰もあなたをシャットダウンすることはありません。

私が言いたいのは、UML は、同じ名前を使用すると後で問題が発生するという良いアドバイスを提供しようとしているということです。

于 2013-02-28T14:59:43.080 に答える