Interview Questions for Business Analysts and Systems Analysts

Recent Interview Questions | Search | Subscribe (RSS)


When do you use the Use Case relationship Extend versus Include?

Posted by Chris Adams

Article Rating // 28869 Views // 0 Additional Answers & Comments

Categories: Business Analysis, Systems Analysis, Unified Modeling Language (UML), Use Cases


The UML Use Case relationships Include and Extend remain a point of confusion for many business analysts.  

Both the include relationship and the extend relationship build off of a base use case.  In theory, a business analyst could write a base use case and never use the include or extend relationships.  However, as use cases become larger and more complex with numerous alternate flows choosing to use include or extend can reduce the complexity of the base use case and improve the overall understandability of the use case model.
So when would a business analyst choose to include another use case?
The most predominant reason to create an included use case is for reuse.  The include relationship can be used to segment out a series of contiguous steps which can then be reused by other use case. The including use case can often be a standalone use case of its own which is initiated directly by an actor, but it doesn’t have to be. However, it is a required step in the use can which includes it, and it is included at a single specific location in the base use case. This means that the base use case isn’t complete without its included use cases.  Additional, based on the direction of the association arrow, you can see that the base use case has knowledge of the existence of the included use case.  However, the included use case doesn’t know about the use cases that include it.
When would a business analyst use and extends relationship?
The extend relationship is used to segment out conditional or optional functionality, and is comparable to an alternate flow. Often while writing use cases alternate flows can become quite complex, or can span additional subflows.  This is when it may make sense to extract the alternate flow as a separate use case which extends the base use case.  This is called an extension use case.  Of course this is only advantageous if the flow to be extracted is reasonable self-contained from the main flow.  If the two are too intermingled then the extension use case will be difficult to understand. 
The extension use case is aware of and can modify the behavior of the base use case.  However, the base use case has no knowledge of the extension use case. An extension use case can have one or several behavioral sequences called segments that modify the base use case.  Each segment augments the base use case at a specific extension point noted in the base use case.  Additionally, the condition under which the the base use case is augmented is defined by the extension use case. 
To summarize:
Include Relationship
  • Use to segment out a reusable series of steps
  • Base use case is incomplete without the included use case (use include for required behavior)
  • Include use case isn’t aware of the use cases that use it (this becomes even more important from a system coding perspective)
Extend Relationship
  • Similar to an alternate flow, it contains optional or conditional behavior
  • An extension use case is incomplete without the base use case
  • Extension use cases are often used for behavior that will be implemented at a later time 
  • If enhancing an existing system, using Extend can help separate new functionality from old



Only registered users may post comments.

Do your homework prior to the business analysis interview!

Having an idea of the type of questions you might be asked during a business analyst interview will not only give you confidence but it will also help you to formulate your thoughts and to be better prepared to answer the interview questions you might get during the interview for a business analyst position.  Of course, just memorizing a list of business analyst interview questions will not make you a great business analyst but it might just help you get that next job.



Select ModernAnalyst Content

Register | Login

Copyright 2006-2024 by Modern Analyst Media LLC