A use case is a detailed description of how a user interacts with a system or product to achieve a specific goal. It outlines the step-by-step flow of actions that lead to a desired outcome and can help identify potential issues, such as failure scenarios or exceptions.
While often used in software development, use cases can serve as essential tools in various fields, including project management and business analysis, to clearly define requirements, user needs, and system behaviors.
Editor’s note: This post was last updated on 26th March, 2025, to add info about use case formats, compare them in a table to help you pick the best format, and refresh the use case template — now including both tabular and diagrammatic use cases. Plus, we’ve updated the examples to keep things practical and relevant.
Use cases can be documented in different formats, each offering unique advantages depending on the level of detail required, the audience, and the complexity of the system. The three primary formats are:
A narrative-style format that describes the use case in plain language, detailing actors, steps, and expected outcomes in paragraph form.
Textual use cases are best for early-stage discussions and high-level stakeholder communication. Here’s an example: A customer selects items, adds them to the cart, and proceeds to checkout. The system calculates the total, and the customer enters payment details. After a successful transaction, the order confirmation is displayed.
This structured format breaks down the use case into columns, making it easier to scan and reference. It typically includes fields such as actors, preconditions, main flow, and alternative flows.
Tabular use cases are typically best for teams needing clear, structured documentation. They look something like this:
STEP | ACTOR | ACTION | SYSTEM RESPONSE |
1 | Customer | Selects product | Displays product details |
2 | Customer | Adds to cart | Updates cart count |
3 | Customer | Proceeds to checkout | Loads payment page |
4 | Customer | Completes payment | Confirms order, sends email |
You can also download this template for tabular use cases.
Use case diagrams visually represent actors, interactions, and relationships between system components. They often use Unified Modeling Language (UML) to map out how users interact with a system.
Diagrams are best for complex systems requiring visual clarity. Here’s an example of a UML diagram showing how customers will interact with the ticketing system you built:
Here’s a template you can use for diagrammatic use cases.
Each format serves a different purpose, so choosing the right one depends on your audience and the level of detail needed. Many teams use a combination of these formats for clarity and completeness:
FORMAT | PROS | CONS | BEST FOR |
Textual | Easy to write, good for non-technical stakeholders | Lacks structure, harder to analyze quickly | High-level discussions, early-stage documentation |
Tabular | Clear structure, easy to reference | Can be rigid for complex interactions | Detailed documentation, functional requirements |
Diagrammatic | Great for visual learners, simplifies complex flows | Requires UML knowledge, harder to edit | Complex system mapping, architecture discussions |
Use cases come in two primary types:
It’s important to remember that use cases are different from other tools you might come across in product development. They’re not the same as user stories or basic feature lists.
While both user stories and feature lists describe what a system can do, they don’t provide the same level of detail as use cases, which outline the full interaction process — errors, exceptions, and all:
Use cases, on the other hand, go beyond just listing features. They provide a full roadmap of how the user will interact with a system, including what happens in different scenarios, what to do if something goes wrong, and how things should flow to meet the goal.
Use cases are a valuable tool across different areas of product management, development, and testing. You’ll find product managers, developers, and even business analysts using them, but each group tends to use them in slightly different ways:
In short, everyone contributes to use cases in their own way. Product managers focus on the user’s perspective, developers refine them with technical details, and business analysts make sure everything stays on track and gets tested properly.
A use case is designed to reveal the system’s demands early on in the process, helping everyone get on the same page from the start.
Use cases focus on how users interact with the system, not just the system itself. They’re written in plain language, which means they’re understandable to everyone involved, not only developers and testers, because they are mostly narrative prose. This includes customers, users, and even executives — so it’s a great way to get all stakeholders aligned.
When you’re in the early planning stages, it’s important to bring in the right roles — like business analysts or product managers — who can help solve specific problems. This helps get end users on board with the solution and reduces the chance of unexpected surprises later on.
Each use case typically covers only one application of the system. The real value here is that use cases also shine a light on potential issues right off the bat. By identifying these exceptions and edge cases early, you save time and effort in the long run. This is especially useful for improving software resilience. Considering alternative flows helps prepare the system to handle things that might go wrong.
Once you’ve created a use case, it can guide the development of other important components, like object models, test case definitions, user documentation, and project planning (think cost, complexity, and scheduling estimations).
And this is where traceability comes in. Use cases connect the dots between business requirements and testing frameworks, making sure that what’s being built aligns with what’s needed.
Let’s break down the components of a typical use case and explain each component’s purpose and objective. I’ll also talk about some advanced elements to help you build more comprehensive use cases:
Actors are the people, teams, or systems interacting with your system. An actor could be:
The primary actor is the one initiating the interaction to achieve a goal using your system.
Your system is the framework within which actors interact to achieve their goals. It’s like the stage on which your actors perform. Examples could be a patient portal, an online banking platform, or the checkout process on a retail website.
The results of an actor’s interactions with the system are your goals. Examples of goals could be:
Your system may produce several outputs in some circumstances while only producing one in others. Before continuing, consider modifying your method if you encounter any barriers to achieving your goal.
Preconditions are assertions or realities that specify what must already be true or set up for the use case to proceed.
For example, let’s say an online shopper clicks on a product to get a detailed description and customer feedback. The Add to Cart button won’t appear until the item is in stock and accessible at the warehouse.
Preconditions like these ensure that the system and user are in the right state for the use case to function correctly.
Triggers are the events or conditions that initiate a use case. These can be user actions, system processes, or external events. A few examples:
Triggers like these mark the start of the interaction flow and are essential to define when a use case begins.
The basic flow, or the main success scenario, outlines the steps where everything works perfectly as intended with no exceptions or mistakes. This frequently serves as a starting point when developing various features.
A basic flow for a healthcare app would be a patient scheduling an appointment, getting confirmation, and receiving reminders. For a finance app, it would include a customer successfully logging in, transferring funds, and receiving a transaction receipt.
Knowing how a typical scenario operates can help write accurate code and develop alternative flows.
Alternative flows describe deviations or exceptions to the basic flow. They typically manifest when a system-level error occurs.
In this section of the use case, you list the most probable or noteworthy exceptions an actor might make. Alternative flows might include:
If you’re including alternative flows to your system, you ensure it can handle unexpected scenarios gracefully.
Post-conditions define the state of the system after the use case is completed, successful or not. Some examples could be:
Post-conditions confirm the outcome of the use case and ensure the system transitions smoothly to the next state.
A lot goes into writing a use case. It starts with the basics — understanding your users and their goals — and extends to advanced techniques that ensure your system is robust and ready for the real world.
Here’s a step-by-step guide to writing use cases, complete with practical tips, advanced steps, and common pitfalls to avoid.
Doing this is important to ensure system resilience. While the primary flow addresses typical user behavior, edge cases cover unusual or unexpected scenarios. To identify them:
Use cases are a goldmine for creating test cases that cover both typical and atypical system behavior. To do this:
When working with APIs or complex systems, use cases should clearly define interactions, focusing on what each actor expects and delivers. Here’s how:
Here are a few examples of how use cases can be applied in different industries:
In the healthcare industry, use cases can streamline patient care processes and enhance communication between medical staff. An example use case:
In the EdTech industry, use cases can improve student engagement and streamline learning experiences. An example use case:
In the finance sector, use cases can help in outlining the user interaction with financial systems. An example use case:
In the ecommerce industry, use cases can improve the user shopping experience. An example use case:
In software development, use cases can assist in understanding user interactions with the software system. An example use case:
In the transportation industry, use cases can simplify booking processes and improve rider and driver satisfaction. An example use case:
And, of course, writing use cases can feel a lot easier when you have the right tools to map everything out. Whether you’re sketching simple diagrams or managing complex workflows, there’s a tool for every need. I’ll share some of my favorites and what makes them great:
Miro is perfect for sketching ideas and building use cases with your team. What’s cool about it:
Lucidchart’s for when I need polished, professional diagrams because it:
This one’s a bit more advanced and perfect for tying your use cases to real project tasks and testing. Here’s why:
A classic for a reason, Visio is great for creating professional diagrams. It:
A use case is a detailed description of how users interact with a system to achieve a specific goal. It includes actors, goals, preconditions, and step-by-step flows of events.
Use cases can be documented in three ways:
Consider the strengths of each use case format:
Download these templates for both tabular and diagrammatic use cases to make your job easier.
A use case example could be a customer interacting with an ecommerce website to search for a product, add it to the cart, and proceed with the checkout process.
Other terms that might be used interchangeably with “use case” include: scenario, workflow, interaction flow, or user interaction model.
To write a use case, you need to define the actor, the goal, the preconditions, the main success scenario, and any alternative flows.
The main components of a use case include the actor, system, goal, preconditions, main success scenario, and alternative flows.
Some advanced techniques include:
In agile, use cases support iterative development by breaking down interactions into manageable chunks. In waterfall environments, use cases provide a structured blueprint for requirements gathering and system design.
A use case provides a detailed breakdown of an interaction, covering all scenarios, preconditions, and flows. A user story, on the other hand, is a short and simple description of a feature from the user’s perspective, often written as: “As a [user], I want [action] so that [goal].”
User stories are preferred when you need quick, high-level insights into what users want. Use cases are better suited for detailed workflows, especially in complex systems with multiple actors and flows.
Use cases are important because they help to understand the requirements of a system from the user’s perspective, ensuring that the final product meets user needs and expectations.
Use cases are a game-changer for aligning teams and building better systems. They make complex processes easy to understand by focusing on user needs and interactions.
For product teams, they clarify goals. For developers, they guide features. For testers, they map directly to test cases, ensuring nothing slips through the cracks — even edge cases and alternative flows. Use use cases for:
To help you get started, here are some resources:
LogRocket identifies friction points in the user experience so you can make informed decisions about product and design changes that must happen to hit your goals.
With LogRocket, you can understand the scope of the issues affecting your product and prioritize the changes that need to be made. LogRocket simplifies workflows by allowing Engineering, Product, UX, and Design teams to work from the same data as you, eliminating any confusion about what needs to be done.
Get your teams on the same page — try LogRocket today.
As an alternative, this article outlines a case against MVPs, drawing on my own personal experience in the realm of product management.
No product team starts out trying to harm users. However, harm still happens, and often not from one big decision.
This article assesses the reality of story points, including their promise and where they went wrong, and then offers a potential solution.
Noah Manger, Director of Product Management at Zapier, shares how he balances diving into details and zooming out to see a broader vision.
2 Replies to "Use case template: Downloadable example & how to write one"
ok. This was useful
Thank you for this