I’m studying UML and I’ve been reading about use cases. All of the examples I see deal with single system and I was wondering how an end to end process would be modeled. So, I made up a fairly typical enterprise scenario and I’ve been trying to model it. I have questions that I’ve been unable to answer.
Scenario: My business use case is a Shopper creates a Shopping Cart which is received by the Vendor as an Order.
The end to end process flow is:
- The shopper creates a cart
- A manager reviews the cart and approves/rejects and a purchase order is created in the purchasing system.
- The purchasing system sends all newly created PO to their respective vendors’ systems.
- The vendor receives the PO as an order.
However, the devil is in the details so I decided to make it more complex by adding the following details:
- The shopping-purchasing system communication is point to point and real-time.
- The PO can be sent to vendor via fax or internet. All PO go into a queue before being sent to the vendor. The queue is processed every X minutes. I picked 10 minutes as the interval
- The purchasing-vendor connection uses middleware (ESB).
Questions:
- I believe I have 3 system use cases: Shopper-Creates Cart, Manager-Reviews the Cart , Time-Send PO to Vendors. Is the correct even though I have an ESB system between the Purchasing System and Vendor System?
- Since the middleware is not an actor in one of the above use cases where should I model the ESB’s involvement in the process (Purchasing-> ESB, ESB-> Vendor)?
- Do I draw 2 system boundaries or 1 system boundary? I believe I should have the Vendor’s System as a secondary actor so I only have the Shopping System and the Purchasing System. Or do I merge them into an E2E System (such as Procurement System)?
1 Answer