web-dev-qa-db-ja.com

シーケンス図:アクターはオブジェクトですか?

最も可能性の高い答えは「いいえ」ですが、私はこの疑問を抱きました。俳優はクラスとして行動できますか?

アクターがイベントをトリガーし、プロンプトを表示できることを知っていますが、アクター(ユーザークラスなど)をモデル化するクラスがある場合、それらに対してメソッドを呼び出すことができますか?それとも、代表的なクラスと混同されている俳優の役割の完全な誤解ですか?

正しいと想定:

Supposed Correct Example

正しい場合の疑い:

enter image description here

12
Tiago Duque

UMLでは、アクターは常にoutsideである何か(システムまたは人)であり、構築しているシステム/ソフトウェアのスコープです。アクターをシステムのアクターの特定の側面をたまたまモデル化するクラスのインスタンス/オブジェクトと同一視することは完全に間違っています。

示されているUMLダイアグラムでは、アクター「ユーザー」(スティック図のアイコンが付いている)は、システムを操作する現実の人間を表しています。クラスUserは、あなたに関連する特性を取得するその人物のモデルを表します。このクラスはシステム内にのみ存在します。
これにより、クラスとアクターが2つの別個のエンティティーになり、ダイアグラムにもそのように表示されます。