Use Cases

     What is a Use Case?      What is an Actor?      Use Case Control Flow Template      Use Case Control Flow Template #2
go to top
What is a Use Case?

Use case
Use Case Diagram - Figure #1


Figure #1 is an example of a use case diagram, which has an actor (User) and a number of uses cases. A use case is represented with an oval shape that contains the name of the use case.

Use Case is a high-level piece of functionality that the system will provide.
Use Cases include anything that within the system and their relationships.
Use cases and actors describe the project scope without implementation details.
It is implementation-independent view of the system.
It is composed of actors and functionality.
All parties involved in the development can look at the case diagram and spot each individual role within the system.
They can also see what is missing from the system.
It should not be overloaded with actors and functionality to help make the diagram simple and not confusing.

Use case diagram’s main benefits are:
     1. Use case diagram illustrates the system functionality
     2. Communication between all parties involved in system development
     3. Visualization of the system
     4. The system components interactions.
     5. User and system interaction
     6. User expectation of the system

How to identify the use cases?
     1. Examine any documentation the customer provides
     2. High-level scope of the system
     3. Vision of the system
     4. Functionality of the system
     5. Expectation of the system
     6. What is the system will do
     7. What would the user get out of the system

Try to put a picture to every item listed above.
See that you take user or client of system description and turn it into a use case (a picture).
Keep in mind that the objective of the use case is visualization of the system, its parts, parties and functionalities.
Use case should be named in business terms and not technical terms.

go to top
What is an Actor?
Actors include anything external to the system.
Actor is anyone or anything that interacts with the system.
Actors illustrate the interface with the system, which can be people, machines, or software.
An example, would be as follows:

     1. Human
     2. Hardware
     3. Software
     4. Timer or clock

Both actors and Use cases show the scope of the project.
Do not model actor-to-actor communication.

Actors are the following:
1. An actor instance is someone or something outside the system that interacts with the system.
2. An actor is anything that uses, interfaces or exchanges data with the system.
3. An actor can be a user, external hardware, or another system.
4. Several users can play the same role, which means they can be one and the same actor.
5. An actor class defines a set of actor instances, and each actor instance interacts the same way with the system.
6. The same user can also act as several actors.

Finding actors also means that you establish the boundaries of the system, which helps in understanding the purpose and extent of the system.
Only those who directly communicate with the system need to be considered as actors.
If you are including more roles than that in the system's surroundings, you are attempting to model the business in which the system will be used, not the system itself.
The difference between an actor and an individual system user is that an actor represents a particular class of user rather than an actual user.

To identify actor(s) the following points must be addressed:
     1. Uses the system
     2. Communicates with the system
     3. Supplies data to the system
     4. Provides services to the system
     5. Supports the system
     6. Maintains the system.
     7. Interface with the system
     8. Monitors the system
     9. Provides security to the system
     10. What are the system boundaries?
     11. What are the system resources?

go to top
Use Case #1 Control Flow Template
     Use Case #1 Control Flow Template

go to top
Use Case #2 Control Flow Template
     Use Case #2 Control Flow Template