web-dev-qa-db-ja.com

シーケンス図で俳優にメッセージを送信できますか

<< UI >>がダイアグラムに存在しているときに、シーケンス図のユーザー(俳優)がオブジェクトからメッセージを受信することは正しいですか?

たとえば、ユーザーは一部のデータを編集するように要求します。したがって、要求はユーザーからUIに送信され、データを含むオブジェクトに渡されます。たとえば、ユーザーに「編集には「私が知りたいことは、オブジェクトからユーザーに直接メッセージを送信するのが正しいですか?」またはメッセージをUIに送信する必要があります。

3
sana

理論

UML標準を文字で表す場合、シーケンス図は相互作用図(仕様の17.8節)であり、したがって囲み分類子(条項17.2.3.1)。これは、クラス、コンポーネント、またはシステム全体を意味します。

アクターはシステムに属していません。したがって、ライフラインとして表示されるべきではありません。通常、代わりにライフラインとして表示されるのは、UIに属し、ユーザーに情報を通知する分類子のインスタンスです。

したがって、この作図方法は正式には正しくありません。

哲学的発言:ユーザーは信頼できるインターフェイスを提供せず、予期しないまたは不合理な方法で着信メッセージに反応する可能性があります;-)

実際には

ただし、シーケンス図に俳優を含めることは一般的で便利な方法です。結局のところ、UML標準は、アクターを分類子(18.1.2節)と見なしますが、システムには属していません。

これは標準では想定されていないため、実行できることと適用可能なセマンティクスについて明確なルールはありません。したがって、このアプローチを選択した場合、自由に進めることができます。

ただし、これはUMLの非標準的な使用法です。プロジェクトで契約上有効なUMLモデルが必要な場合は、問題になる可能性があります。

哲学的発言:UMLダイアグラムの主な関心は、システムの内部を通信することです。構文要素(シーケンス図のアクターなど)を悪用すると、標準と一貫した方法で(分類子が期待される場所で分類子を使用するなど)、あいまいな場所でコメントを付けることで、この理解が向上する場合があります。そして最後に、モデル化されたシステムとそのユーザーで構成されるより大きなシステムがあると常に主張することができます。

1
Christophe