3

NB: For the purpose of this question, alternate scenarios are scenarios that aside from the main scenario also lead to the completion of the user goal; exceptional scenario are scenarios that do not lead to the completion of the user goal.

I've been having a conversation with my professor regarding one of his statements in class. He claims that "extend" should be used to model use cases that derives from exceptional scenarios. As an example:

(UC1: Publish blog post)
  ^
   \
    \-- <<extend>> -- (UC2: Error, empty blog post)

At this point given the definition of use case:

A use case is a set of scenarios (sequences of steps) that aim at accomplishing a end-goal for an user (actor).

I'm a little confused. If the error is a use case, what end-goal is it aiming at accomplishing? Does a user access the system to see the error message as an end-goal?

I've also went ahead and read about "extend" on the internet and I can't seem to find an example where the extension use case is an actual use case according to that definition. For example here we are given:

(UC1: Deposit funds)
  ^
   \
    \-- <<extend>> -- (UC2: Calculate bonus)

Again, what user end-goal is "Calculate bonus" trying to achieve? It almost seems as by definition, something that is only triggered by another case in certain situations cannot be considered a "use case" because it's not an end-goal.

Where am I wrong?

1

I am going to contradict your professor a bit. The <<extend>> relation between use-cases is not just for use cases that derive from exceptional scenarios. An extending use-case can also derive from the main scenario or alternate scenarios.

The best way to look at extending use cases is that they add additional (sub-) end-goals to the base use-case.
For example, the use-case "UC2: Calculate bonus" adds the goal of receiving a bonus (under some conditions) to the existing goals of the use-case "UC1: Deposit funds".

By extending UC1, UC2 adds an alternate scenario to UC1 that branches off at some point and might return to a scenario in UC1. This alternate scenario also has a sub-goal of itself in addition to the goal(s) of the main scenario.
In the example with the bonus for depositing funds, the extending use-case probably branches off from the main scenario and returns there.
In the example from your professor, the extending use-case probably branches off from an exceptional scenario and it might return to the main scenario.

  • You say that extending is used to add additional end-goals to the base use-case. I might understand that for the second example, but in the first example (the error one) the extending use case does not add any end-goals, in fact it explicitly tells that the extended use case will not be completed. In any case should extending use case be considered appendix of the "real" use case and not use cases themselves, then? – Shoe Feb 25 '16 at 15:24
  • You are probably reading too much into the title used in the diagrams. Whether the "Empty blog post" use-case causes the base use-case to be terminated or not depends on the exact scenario in that use-case. I was assuming that it was a scenario that would help the user if they tried to post an empty blog. – Bart van Ingen Schenau Feb 25 '16 at 18:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.