Create Use Cases

Here we identify a first set of use cases and start to describe them.

In this second episode of CaseComplete 101, we start with the basics: What exactly is a use case?

Quite simply, a use case captures how a user gets something done. But there are a few key characteristics: It's an event that describes behaviors and it's written from a user's perspective. Together, a set of use cases define all the ways to use your system.

The first place to look for use cases are from the goals belonging to the actors we’ve identified. Those are a great start, but there are other places to look for use cases. For example, ask yourself how information is going to get into the system. What events happen in the real world that would make an actor want to do something? What output does the system need to produce? What would happen outside the system that would cause it to make something?

We can define the scope of a use case through preconditions and success guarantees. Preconditions describe what needs to be true before a use case can start. A good precondition is something that your system can detect. Success guarantees define what must be true after a use case has successfully completed. It should also be written as something the system can detect.

While there isn’t one correct scope for a use case (it can be as big or as small as you’d want to make it), I try to capture use goal level use cases. That is, a task that can be completed in one place by one person at one time and either gets completed all the way or not at all. I find this gives me use cases that are small enough to be readable but not so small that I wind up with too many use cases to manage.

The trickiest part of writing a use case is writing the main success senario. It describes the interaction between the actor and the system as the actor completes the use case. Writing scenarios sounds easy but doesn’t come naturally for a lot of us. It helps to remember that each step needs to move the use case forward and will describe one of four things:

  • The actor making a choice.
  • The actor providing information to the system.
  • The system providing information to the actor.
  • The system prompting the actor to do something.

In the next episode we’ll cover extensions, which describe variations to the main success scenario.