Projects Are About Humans. Deal With That!

Use Case Modeling



Use cases are a way to structure the information about requirements for a new information system. The term itself has a high level of appeal, "cases about how to use the system". The technique is semi-formal, it offers a framework for structure, but one can use plain language to describe the requirements.

It is this loose nature and the focus users of a system that makes this technique popular withing agile software development approaches like extreme programming.

What is a use case?

This technique is focussed around the communication between an information system and its users. A use case is a collection of interactions between a user and the system. The user has a specific goal to reach; so he or she is performing the interactions to achieve something. In use case language the user is called an actor. Actually the actor can also be another computer system that communicates with the system you want to build.

Every actor has one or more responsibilities. "Making sure the money rolls in by invoicing on time" e.g. To carry out this responsibility the actor sets some goals, that it tries to achieve by using the new system.

What is an interaction?

The new system printing on your screen "Hello world" is a form of interaction. Spitting out the DNA code for the cure of some dissease is also an interaction. You can use the term interaction for one interaction or a sequence of multiple interactions. So, "press a button" is an interaction, but so is "press a button, write on the screen".

The thing to notice is that a sequence of interactions is just that, a sequence, so no conditions, no if-this-then-that, just one single flow. This is also called a scenario. So, "scenario" and "sequence of interactions" can be considered the same.

During one high level interaction there can be a need to have several possible scenario's available, for certain situations a specific scenario. "When a customer calls for his invoice, I use scenario A, and when he calls for a new order I use scenario B". A collection of scenario's for a certain interaction is called a use case. In a sense a use case describes the "how to" instructions to reach a goal.

The difference between use case and scenario?

The use case takes place on a higher level of abstraction than the scenario's. The use cases can make use of one or more actors (user and/or systems) and a scenario discusses the interaction of one actor. So, to summarize…

The use case contains:

1. One or more actors

2. Goal

3. Scenarios used

The scenario contains:

1. One actor

2. Goal

3. Conditions under which this scenario occurs

4. Scenario result

Related articles

Structuring Use Cases with Goals

No comments yet. Be the first.

Leave a reply