Unless you have been hiding away on a desert island, you would probably have seen Usain Bolt win the 100m Gold Medal at the London 2012 Olympics!
It would clearly be “absurd” to write a Use Case for such an event, but nevertheless, it serves as a good memory jogger for the various components of a Use Case.
Let’s set the scene by having a quick recap, along with a very brief (summarized) description of the major components of a fully dressed1 Use Case:
Use Case Name: 4 words or less, and conveys the goal of the Primary Actor
Primary Actor: The actor who has the primary reason for interacting with the business/system
Secondary Actor(s): actors who support the completion of the Use Case
Assumptions: what do we believe to be true, but may later prove to be untrue
Pre-Conditions: that which must be true before the use case can start
Trigger: event(s) that initiate/start the Use Case
Main Success Scenario: the ‘Happy Path’ to achieve the goal of the Primary Actor
Alternate Scenario: alternate paths that still achieve the goal of the Primary Actor
Exception Scenario: exception paths where the goal of the Primary Actor is not met
Let’s now overlay those terms onto our 100m Olympic Race
Use Case Component
Use Case Name:
Run 100m Race
4 words or less!
The Primary Actor has no injuries
We can’t be 100% sure of this, and we certainly cannot test for it with absolute accuracy, therefore we make it an assumption
Primary Actor has passed the doping test, and has a valid qualifying time
We can verify these conditions before the Use Case starts, and in fact, we would not want the Use Case to start if any of these conditions could not be verified
Starting Official fires the starting pistol
This is somewhat controversial in the sense that one could argue that the trigger could be the Athlete ‘hearing’ the starting gun, or even the Athlete taking the first step out of the blocks. However for the purpose of this ‘memory jogger’ let’s just go with the fact that the Use Case cannot start until the starting pistol is fired!
Main Success Scenario:
<!--[if !supportLists]-->· <!--[endif]-->The Use Case begins when the Primary Actors launches out of the blocks
<!--[if !supportLists]-->· <!--[endif]--> The ‘System’ responds by…………
<!--[if !supportLists]-->· <!--[endif]-->The Use Case ends when the Primary Actor crosses the finish line
A false start occurs, resulting in a restart
The Athlete will still cross the finish line, therefore the ‘goal’ of the Use Case is still achieved
The Primary Actor tears a muscle during the race and is not able to cross the finish line
One of our assumptions proves to be incorrect, and therefore the Use Case ‘goal’ cannot be met
We could extend this analogue even further by thinking of Post Conditions for each of the scenarios, but hopefully you get the idea!
Cleary this is a very basic example, and we don’t even touch upon timing devices, photo finish etc.
This is just a ‘Memory Jogger’ so don’t worry about whether this is a Business Use Case, or a System Use Case. We’ll leave that topic for another Blog entry!
1 Cockburn, A, 2000, Writing Effective Use Case, Addison-Wesley Professional; Edition 1