ユースケース図とUMLについて学習しています。ユースケースでは、アクターを外部のサードパーティシステムにすることができますか?
たとえば、ATMではユーザーはアクターですが、Swiftが通信するネットワークシステムは外部システムです。
申し訳ありませんが、もっと良い例は思いつきません。
はい、 actors は人間のユーザーでも外部システムでもかまいません。
しかし、すべての外部システムがアクターである必要はありません。この点で、UML標準の(拘束力のない)メモを引用することは価値があります。
アクターは必ずしも特定の物理エンティティを表すのではなく、関連するUseCaseの仕様に関連するエンティティの特定の役割を表します。
プレーンテキストでは、これは、例ではSwiftが俳優の良い候補になる可能性があることを意味します。ATMはSwift (ATMソフトウェアの実装方法に関係なく)この相互作用は、ユースケースの要件でおそらく言及されます。
実際には、Swiftはカード所有者の銀行に到達するためにのみ使用されるネットワークです。したがって、私見では、このセカンダリアクターはSwift
ではなくCardholder's bank
と呼ぶほうがよいでしょう。精度とより一般的なソリューション。
完全を期すために、別の例を見てみましょう。サードパーティのDBMSも外部システムと見なすことができます。ただし、DBMSがユースケースに関連しない設計上の決定である場合(つまり、検討中のシステムの利害関係者に観察可能な価値のある結果を追加しない場合)、これは原則としてアクターと見なすべきではありません。したがって、外部システムは、UCダイアグラムから除外された実装の詳細になることもあります。
はい、俳優は人間である必要はありません。外部システムが外部システムと相互作用する場合、外部システムはアクターとして完全に有効です。
はい、外部のサードパーティシステムがアクターになる可能性があります。これは、システムが果たす役割と、それがユースケースにどのように関連しているかによって異なります。
システムが外部エンティティと同様の機能を実行している場合、それが単なるオブザーバーであり、ユースケースが含まれていない場合、それがユースケースと相互作用するエンティティである場合、それはアクターです。
私が言おうとしているのは、それを分離してユースケースと相互作用させることができれば、それはアクターであるということです。