Use Case

A use case is a description of the interactions between an actor (human or system) and a system that leads to an event.

What Is a Use Case?

In the context of software development, a use case is a description of how a particular actor (or system) uses a specific application to achieve a goal. The term “actor” can be thought of as the “who,” and the term “goal” can be thought of as the “what.” A use case must specify at least one actor and one goal.

Ivar Jacobson developed the use case format in 1987 to document complex requirements in a simple, easy-to-understand way. Use cases have since become an integral part of the unified process, a set of guidelines for developing large-scale applications.

Importance of Use Cases

Describing a user’s interaction with an application in terms of use cases has several benefits:

  • It provides a big picture view that helps developers understand how users’ goals are accomplished by using the system.

  • It emphasizes communication between stakeholders (both internal and external to the project) because it requires them to think about their roles and responsibilities for each use case.

  • It provides documentation that can be used as input for tests and other activities.

Use cases show how workflows look like, step by step. They help project team members (and stakeholders) understand what needs to be done, what the different outcomes might be, and which actors interact with each other during each step of the process.

Use cases are the bedrock of any software development project. They help the team identify key user requirements, ensure that the design and implementation are consistent with business goals, and provide an unambiguous checklist of what the software must do. This means they help teams avoid scope creep, one of the biggest causes of failed software projects.

Example of Use Case

Driving directions are an example of a use case that may be employed outside of software and systems development.

A motorist wishes to go from City 1 to City 2. The actor in this scenario is the driver, the goal is to go to City, and the system is the road network they will use to get there. Between City 1 to City 2, there is typically just one route that cars use — this is the common course use case. However, there are a number of deviations that may be made off this path that will still go to City 2. The expanding use cases are these deviations and varied paths. The purpose of the driving instructions is to show the motorist the turns and highway exits they must take to get to their ultimate destination.

Use Cases Help Solve Significant Business Problems

Let’s say you have an eCommerce site selling a variety of products. You’re an expert in the products you sell, but less so in the technologies that are used to build them.

How do you find out the best technology for your needs?

You could ask around your network, or read what others say on social media, forums, and blogs. But there’s no guarantee that any of this information is accurate or up-to-date.

Maybe you don’t want to risk it. After all, technology can be expensive, and you don’t want to get stuck with something that doesn’t work with your existing systems or meet your requirements.