I have a problem statement that describes an online E-commerce system:
An E-commerce software system is going to be developed. This system allows customers to browse the store catalog, pick the items, and put them in an e-cart. Customer can place an order and enter his shipping details, credit card information. It provides a secure form of credit card payment service. It shall provide to customers a set of shipment methods, which are ground via local shipment agencies, next business day via DHL. The system has an administration backend that allows administrators to add new products, manage inventory and process customer’s refunds if they existed as well. The system should conform to all applicable local and international laws. It should also conform to the company standard STD0945. The requirements at the client side are no more than a web-browser and a reasonable amount of memory on a computing device. This system should have a fast response time and should tolerate common types of faults.
The question is to get the functional and non functional requirements: in the functional of the Customer
I have "request a refund" and the functional for the Admin
is 'process refunds', I considered the Admin
as the secondary actor since he/she responds to initiated use case from the Customer
(primary).
I have two question:
1- Can I consider the Admin
as a primary actor since he/she has some use cases that he/she can initiate ?
2- Which of the following use case diagrams that describes the system are correct ? (I made 3 of them but I'm uncertain)
I'm conviced that C is the correct one, but I want to hear your thoughts on A and B.