0

The Image below is a simple use case of a cashier System. The flow is as follows for the general flow of a check-out

  1. Cashier scans item(s)
  2. Cashier select a payment method

    2.A.1 Cashier select payment via credit card

    2.A.1 Cashier swipe the credit card onto the reader

    2.A.3 Payment is done

    2.B.1 Cashier select payment via cash

    2.B.2 Cashier input amount received.

    2.B.3 System display the change to be given to customer.

    2.B.4 Payment is done

  3. Check-out completed.

enter image description here

The question i wish to know if it is valid for the extend to be used in this scenario, where either one of them will occur when a payment is made. Based on my understanding is that extend means the base case has the option to call the extension. Does my use case model means that there is a possibility that both method are not called (which should not be the case)?

ericlee
  • 2,703
  • 11
  • 43
  • 68

1 Answers1

2

No. This is not correct. Payment via ... is not a use case. It's a constraint for Make Payment (either/or). You are trying to use include/extend for functional decomposition. And this is not right either. Avoid them. If you need to "order" use cases then use pre-conditions to control this.

See also here.

Community
  • 1
  • 1
qwerty_so
  • 35,448
  • 8
  • 62
  • 86