Use Cases

Get a deeper understanding of the systems requirements by defining use cases with actors, goals and system processes.
Number of ParticipantsFacilitatorsCategoryDurationLevel of Difficulty
IndividualThe ParticipantDefine, Ideate, Prototype Phase20-25minSimple

Description

A use case is a methodology used in system analysis to identify, clarify and organize system requirements. (Rouse, M., 2018). A use case describes how a user uses a system to accomplish a particular goal. A use case diagram consists of the system, the related use cases and actors and relates these to each other to visualize: what is being described? , who is using the system? and what do the actors want to achieve? , thus, use cases help ensure that the correct system is developed by capturing the requirements from the user’s point of view.
Many variations of use cases exist which tries to address the issues such as their completeness, degree of formalism, automated information extraction, usability, and pertinence (Tiwari, Saurabh, and Atul Gupta, 2015). There are two types of Use cases:
Textual Use case: This use case doesn’t visualize anything. In this Use case all the process, users, goals are written into a formal or informal way. People doesn’t understand just by seeing the use case.

Use Case Diagram

This is more visual than textual. All the components of use case is shown in figures and shapes and connection between them. It is less descriptive. People can easily understands it just by seeing it.
“The Basic idea behind use-case modeling is quite simple: To get to the heart of what a system must do, you must first focus on who (or what) will use it, or be used by it.”( Bittner, Kurt, and Ian Spence, 2003). There are main 3 elements of use case.

  • The Actor
  • The Goal
  • The System Process

The actor is the user who are going to use the system or conduct the task.where goal is the The final successful outcome that completes the process and the system process is the process that needs to done the achieve the goal.
There are some components of use case. These are:
The Actor: The actor is the user. The person who will perform the task or use the system
Use cases: Use cases are the steps or the actions that need to be done to achieve the goal. This use cases shown in the system boundary and the goal cannot be achieved if these use cases do not performed by the user.
System boundary: System boundary is the border where the use cases are placed which means if a use case is outside of the system boundary than the action or use cases not belongs to this system.

Relationships in use cases

Basically these are arrows which connects to one component to others. Relationship arrows are 3c types:
Include: When a use case is depicted as using the functionality of another use case in a diagram, this relationship between the use cases is named as an include relationship.
Extend: In an extend relationship between two use cases, the child use case adds to the existing functionality and characteristics of the parent use case.
Generalizations: A generalization relationship is also a parent-child relationship between use cases.
Use case is now one of the famous usabilty method to prototyping system process . We use Use Case when we want to show the whole process without big explanaitions or too complex defination.

The Use-Case descriptions give us a way of visualizing how the users and the system will interact so that everyone can see that the system will do something useful.( Bittner, Kurt, and Ian Spence, 2003).It is easy to make, takes less time and a system has more than one use case according to its actor and goal.

Materials

  • Pen
  • Paper
  • Pencil
  • White board
  • Scales of different shapes
  • Use case template

Preparation

Please ready with above mentioned tools. You don’t need to be ready with all of it but at least you need something to write on and something for writing. Then think about the scenario and try to find out the whole process for achieving the goal also try to find out as many steps/Use cases and the actor(s) as you can.

Step-by-Step Instructions

  1. Be ready with your material. Also you can use online tool (). There is a very interactive step by step tutorial about how to use this online tool for creating use cases.
  2. Now think about the whole scenario and find out the main goal.
  3. First you have to decide the actor(s). Who will perform the whole process.There can be more than one actor so if you can add other actor(s) for completing the whole system process.
  4. This is the main part. Find out as many use cases as you can. Which is the steps/actions you need to be done for reaching the goal. You can divide one action into two or three action for clarity of the process.The sub actions which is not under contol of the actior can be join by using extends or includes
  5. Finally recheck the whole Use case and see if you miss any steps.
  6. The main motto should be a very clear and easy view of the system process.

Remarks, Tips, Limitations

For making a good use case(diagram) recheck is a must. So everytime after you done with your use case please recheck and update accordingly.
You can not always include all the steps in use case everytime. So missing some small, unimportant steps are considerable.

Strengths: Provides a comprehensive summary of the whole system in a single illustration. Starts from a simple viewpoint in the system. Helps to envision the outcome and develop the system more proactively.

Weaknesses: Doesn’t capture the non-functional requirements. Does not address usefulness and usability. Can be complex to build when system in general is complex.

References

Bittner, Kurt, and Ian Spence. Use case modeling. Addison-Wesley Professional, 2003.
Tiwari, Saurabh, and Atul Gupta. “A systematic literature review of use case specifications research.” Information and Software Technology 67 (2015): 128-158.
Rosenberg, Doug, and Kendall Scott. Use case driven object modeling with UML. Reading: Addison-Wesley Professional, 1999.
Afurrukh’s Blog. 2009. Advantages And Disadvantages Of Use Case Modeling – Afurrukh’s Blog. [online] Available at: https://afurrukh.wordpress.com/tag/advantages-and-disadvantages-of-use-case-modeling .
Rouse, M., 2018. What Is A Use Case?. [online] SearchSoftwareQuality. Available at: https://searchsoftwarequality.techtarget.com/definition/use-case

Contributed by Shahrier Erfan Harun.