X

An Oracle blog about Unified Method

A Use Case for the Olympic 100m Final

Guest Author

 

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

Content

Comments

Use Case Name:

Run 100m Race

4 words or less!

Primary Actor:

Athlete

Secondary Actor(s):

Starting Official

Assumptions:

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

Pre-Conditions:

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

Trigger:

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

Alternate Scenario

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

Exception Scenario:

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

Join the discussion

Comments ( 2 )
  • guest Monday, August 13, 2012

    Is there ever a situation when an exception scenario does not tie to an assumption?


  • guest Monday, August 13, 2012

    Good question, and the answer would be "No". An Assumption than turns out to false, would not always lead to an Exception Scenario. Check out the following Blog Entry for an example of where a "failed" Assumption could lead to EITHER an Exception or an Alternate Scenario:

    https://blogs.oracle.com/oum/entry/use_case_assumptions_versus_pre


Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.