3.4 Making the Alternate Flow an Extension
    Back Next

    If the alternate flow is large, that is, more than a page, or if it is optional functionality for the system, then it might be appropriate to split out the flow and put it in a seperate use case document. The document is then attached to a new use case symbol on the diagram with an 'extend' relationship from the extending use case symbol to the use case that it extends.

    Notice that the relationship is a UML dependency with the 'extend' stereotype, going from the extending use case symbol to that which it extends.
    If this relationship is seen as a conditional call from the extended use case to the extension, then the call goes against the direction of the arrow, which might be confusing. Remember that the dotted arrow defines a dependency, and that the text in the extension knows about, and therefore depends on, the text in the extended flow. Not the other way round. The text in the extended use case knows nothing of, and is independent of the extension.
    Note that only 'Enter Order' is a use case. 'Handle Invalid Product Number' is only an alternate flow.
    Don't overuse this syntax. If you make every alternate flow an extension, then there will be 5 to 10 times the number of use case symbols on the diagram and lots of very small use case documents.


    Quiz

     BackNext

    Display the CRaG Systems website

    Copyright © 1997 - 2004 CRaG Systems All rights reserved