私はUMLを研究していて、ユースケースについて読んでいます。私が見るすべての例は単一のシステムを扱っており、エンドツーエンドのプロセスをどのようにモデル化するのか疑問に思いました。それで、私はかなり典型的なエンタープライズシナリオを作成し、それをモデル化しようとしてきました。答えられなかった質問があります。
シナリオ: 私のビジネスユースケースは、買い物客が注文としてベンダーに受け取られるショッピングカートを作成することです。
エンドツーエンドのプロセスフローは次のとおりです。
- 買い物客はカートを作成します
- マネージャーがカートを確認して承認/拒否し、購入システムで発注書が作成されます。
- 購買システムは、新しく作成されたすべてのPOをそれぞれのベンダーのシステムに送信します。
- ベンダーはPOを注文として受け取ります。
ただし、悪魔は詳細に宿っているので、次の詳細を追加して、より複雑にすることにしました。
- ショッピングと購入のシステムのコミュニケーションは、ポイントツーポイントでリアルタイムです。
- POは、ファックスまたはインターネットを介してベンダーに送信できます。すべてのPOは、ベンダーに送信される前にキューに入ります。キューはX分ごとに処理されます。間隔として10分を選びました
- 購入ベンダー接続はミドルウェア(ESB)を使用します。
質問:
- 私には3つのシステムユースケースがあると思います:買い物客-カートの作成、マネージャー-カートのレビュー、時間-ベンダーへのPOの送信。購買システムとベンダーシステムの間にESBシステムがありますが、正しいですか?
- ミドルウェアは上記のユースケースのいずれかではアクターではないため、プロセスへのESBの関与をモデル化する必要があります(購入-> ESB、ESB->ベンダー)。
- 2つのシステム境界または1つのシステム境界を描画しますか?私はベンダーのシステムを二次的なアクターとして持つべきだと信じているので、私はショッピングシステムと購買システムしか持っていません。または、それらをE2Eシステム(調達システムなど)にマージしますか?