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 prebuilt requirements management template that can help you gather all the necessary information and ensure all stakeholders are aligned on the project’s goals.
Use cases explained
A use case is a description of the ways in which a user interacts with a system or product. It 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.
Is a use case the same as a user story?
Not exactly. While use cases and user stories describe interactions between a user and a system, they’re different tools with different purposes. User stories are simple sentences that describe what a user wants to accomplish.
For example, “As a user, I want to log in to my account so I can view my orders.”
That’s a simple user story. Business analysts and developers often use both tools together. While the use case digs into the details, user stories keep things simple. Together, they help teams understand how to build successful products.
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), a programming language that 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
Types of use cases
How do use cases help teams get things done? Here are the most common use cases to help you build successful systems.
Business use case
A business use case describes the high-level goals and interactions between a business and its users. It focuses on business processes and helps teams understand what the business wants to achieve.
Let’s say you’re developing a mobile app for online shopping. A business use case might explain how users browse products, add them to their carts, and make purchases.
System use case
This type of use case breaks down every step of the interaction between the user and the system, defining exactly what happens behind the scenes.
A system use case would explain what happens when the user logs in to an app, browses products, and places an order. It is important, especially for developers, because it shows exactly how the system should function. It includes technical details like how the system handles errors and what steps are needed to ensure a smooth user experience.
Test case
A test case checks whether the user can accomplish their goal without problems. If the use case involves a customer logging in to their account, the test case will check if the login process works smoothly.
- Does the system accept the correct username and password?
- Does it show an error if the password is wrong?
This type of use case is important for ensuring the system functions as intended and helps catch any bugs or issues before the product goes live.
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.
- Objective: This is the goal the use case aims to achieve.
- Preconditions: These are conditions that must be true before the use case begins.
- 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.
- Basic flow: This is the ideal sequence of actions where everything works as expected. It’s the main, happy path of how a process should unfold.
- 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 alternate flow, which explains what happens in the event of failure or error.
- Postconditions: This is the state of the system and actors after the use case has been completed.
Instead of writing a use case from scratch, you can use Wrike’s requirements management template to organize every detail of your project. Wrike’s template makes it easy to assign tasks, track progress, and collaborate with your team. Everyone can see updates in real time and stay aligned on the project’s objective.
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’s confirmed, the restaurant will receive a request through its 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. 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.
What’s 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.
Use case model diagram example
Build a use case in Wrike
Skip the effort of creating a use case from the group up. Building 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.