30.3. The extend Relationship
Suppose a use case's text should not be modified (at least not significantly) for some reason. Perhaps continually modifying the use case with myriad new extensions and conditional steps is a maintenance headache, or the use case has been baselined as a stable artifact, and can't be touched. How to append to the use case without modifying its original text?The extend relationship provides an answer. The idea is to create an extending or addition use case, and within it, describe where and under what condition it extends the behavior of some base use case. For example:
…Extension Points: VIP Customer , step 1. Payment , step 7.Main Success Scenario :1.Customer arrives at a POS checkout with goods and/or services to purchase.…7.Customer pays and System handles payment.… |
…Trigger : Customer wants to pay with gift certificate.Extension Points: Payment in Process Sale.Level: SubfunctionMain Success Scenario :
|
Indeed, just updating the Extensions section is usually the preferred solution, rather than creating complex use case relationships. |