A use case is a concept used in software development, product design, and other fields to describe how a system can be used to achieve specific goals or tasks. It outlines the interactions between users or actors and the system to achieve a specific outcome.
In this article, we’ll dive into the details of what use cases are, how they are used in software development, and their benefits. We’ll also explore common types of use cases and provide some tips on how to create effective use cases.
Moreover, to help you effectively manage your project's use cases, we’ll offer a pre-built requirements management template that can help you gather all the necessary information and ensure all stakeholders are aligned on the project’s goals.
What is a use case? Use cases explained
A use case is a description of the ways in which a user interacts with a system or product. A use case may establish the success scenarios, the failure scenarios, and any critical variations or exceptions. A use case can be written or made visual with the help of a use case model tool.
The history of the use case
Swedish computer scientist Ivar Jacobson presented the first article on use cases in 1987, describing how the technique was used at telecommunications company Ericsson to capture system requirements. In 1992, Jacobson co-authored the book "Object-Oriented Software Engineering — A Use Case Driven Approach," which helped popularize use cases for specifying functional requirements in software development.
Jacobson later joined American software engineers Grady Booch and James Rumbaugh to create the Unified Modeling Language (UML), which introduced a standard way to visualize the design of a system. Since then, the technique has been adapted into use case writing "templates" to streamline the capture of high-level requirements.
What is the purpose of a use case?
The purpose of a use case is to:
- Manage scope
- Establish requirements
- Outline the ways a user will interact with the system
- Visualize system architecture
- Communicate technical requirements to business stakeholders
- Risk management
Why do project managers need to know about use cases?
Project managers need to know about use cases because they help communicate strategy to stakeholders and bridge the gap between business justification and technical requirements.
PMI also notes that “use cases provide a structure for gathering customer requirements and setting the project scope.” But what does that mean in practical terms?
Let’s say that you are a project manager for an education tech firm. Your company’s latest product idea is an app for students where they can receive live tuition for a monthly subscription fee. Creating a use case for this application can tell stakeholders and the project team who the customer is, how the customer will interact with the product, and what the scope gap meaning and requirements of the project will be.
How to write a use case for a project
When presented in written form, a use case can be a helpful piece of project documentation. Use cases are a common requirements artifact, and they can smoothen communication across technical and business stakeholders.
Depending on the intended audience and system under discussion, the use case can be as detailed or basic as needed. A use case document should establish and identify a few key components — these are:
- System: A system is the product, service, or software under discussion.
- Actors: An actor is a user or anything else that exhibits behavior when interacting with the system. The actor could be another system, a piece of hardware, or an entire organization. There are four types of actors: a system under discussion, an internal actor, a primary actor, and a secondary actor. The most commonly referred to are the latter two systems. A primary actor initiates the interaction with the system, while a secondary actor may provide a service to the system.
- Scenario: In “Applying UML and Patterns,” Larman notes that “a scenario is a specific sequence of actions and interactions between actors and the system under discussion; it is also called a use case instance.”
- Use case: A use case outlines the success and failure scenarios that can occur when the actor(s) interact with the system. In this section, you’d establish the main success scenario, i.e., the most desirable outcome between the actor and the system. You would also establish the alternative paths, which explain what happens in the event of failure or error.
Let’s take a look at a simple use case example:
- Use case for meal delivery application: Individuals can use an app to place food orders directly to restaurants. When the user places an order, they are prompted to pay through the app or pay when the food arrives. Once that is confirmed, the restaurant will receive a request through their system. The food will then be prepared, packaged, and delivered to the individual. In this case, the app must be able to receive orders, process payments, and communicate with the restaurant electronically.
- System: Food delivery application
- Primary actor: Customer ordering a meal
- Scenario: The user browses restaurant options. Once the preferred restaurant is selected, they place an order through the application. The user pays online or verifies they will pay in person. The order is sent from the app to the restaurant’s internal system. The restaurant worker receives and processes the electronic order.
This use case illustrates how both the customer and restaurant employee (the actors) interact with the food delivery application (the system) and the expected outcome of each interaction.
This helps sketch a framework for what is expected in the development stage. The app must be able to process payments, for example.
What is a use case model?
A use case model is a visual representation of the interactions between an actor and a system. As PMI also notes, use case models depict processes, which helps to further express preconditions and triggers.
A use case model is commonly expressed using UML (Universal Modeling Language). In these visualizations, there are three main components: the system, the actors, and the use case.
The system is represented by a rectangle or “boundary box." Actors are shown as stick people outside of the boundary box, while the use cases are presented as text in ovals within the box. Solid and dashed lines represent the association between the actors and the system’s use cases.
Use case model example:
(Source: Visual Paradigm Online)
What is the difference between a use case model and a use case diagram?
A use case diagram is simply a type of use case model. A use case model diagram uses text and shapes to represent the relationship between a user and a system.
Primarily, use case model diagrams are used to:
- Visualize the flow and behavior of the system
- Illustrate the functionality of the system
- Represent key system-user interactions
Depending on the system, a use case model diagram can vary in complexity, showing basic associations or expanding to show multiple exceptions.
Utilizing use cases with Wrike
Utilizing use cases with Wrike can streamline your product development process and help ensure your software meets the needs of its users.
With Wrike’s requirements management template, you can track all of your use case requirements in one place. When it’s time to plan and execute your project, Wrike’s project scheduling template can help you create a clear, actionable plan that keeps your team on track. Try Wrike today and see how easy it is to incorporate use cases into your product development process.