Logo von nextlevels
DEEN
Request a project

Application use case

Last updated on

In short

A use case describes how a user or another system interacts with a piece of software in order to achieve a particular goal. It answers the question: "Who wants to do what with this system, and what happens in the process?" A use case is therefore the bridge between a company's business needs and the concrete technical implementation.

It translates "we want customers to be able to order online" into a precise, comprehensible description of what the system actually has to do. The term "application" refers to the application itself, i.e. the software in which the use case takes place.

The term has two closely related meanings that often blur in everyday usage. In software development, a use case is a formal description of an interaction. In a business and AI context, "use case" often means, more broadly, a sensible purpose for a technology, for example "a good use case for AI is the automatic sorting of support requests". Both meanings share the same core: they are about a concrete, clearly delimited purpose that a solution fulfils.

Why use cases matter

Software rarely fails because of technology and often because of unclear requirements. If nobody has described precisely what the system is actually supposed to do, the development team builds past the needs. Use cases force everyone involved to become concrete early on: who uses the system? What does this person want to achieve? Which steps are necessary? What happens if something goes wrong? This clarity is the cheapest insurance against expensive misdevelopments, because a misunderstanding noticed at the concept stage costs a fraction of what correcting it in the finished product swallows up.

Structure of a use case

A classic use case follows a recurring structure. It typically consists of these components:

ComponentMeaning
ActorWho triggers the interaction (e.g. "customer", "administrator", "payment service")
GoalWhat the actor wants to achieve (e.g. "place an order")
PreconditionWhat must be in place for the case to start (e.g. "customer is logged in")
Main flowThe steps in the normal case, from start to success
Alternative flowsWhat happens in the event of deviations or errors (e.g. "payment declined")
PostconditionThe state after successful completion (e.g. "order is saved")

This structure makes the difference between a vague wish and an implementable specification. The alternative flows are particularly valuable: they force you to think about error cases early instead of discovering them late and expensively in live operation.

A concrete example

Let us take the use case "redeem voucher" in an online shop. The actor is a logged-in customer, the goal is a discount on the basket. Precondition: the basket contains at least one item. The main flow: the customer enters a voucher code, the system checks it, the discount is deducted and the new total price is displayed. The alternative flows: the code is invalid (error message), has expired (note on the expiry date) or cannot be combined with other promotions (corresponding message). The postcondition: the reduced price applies to the rest of the ordering process. From this one compact description, a development team can immediately derive what has to be built and what has to be tested.

Use case and user story: where is the difference?

In agile projects you often come across the user story instead of the classic use case. Both describe requirements from the user's perspective but differ in the level of detail. A user story is deliberately kept short, typically in the format "As a [role], I want [goal] so that [benefit]". It is a placeholder for a conversation. A use case goes deeper and describes the complete flow, including all branches. In practice the two complement each other: the user story records why something is needed, while the use case or concrete acceptance criteria describe how exactly it should behave.

Use cases in an AI context

In AI projects in particular, the term "use case" is ubiquitous, and decisive. The most important question before any AI project is not "which model do we use?" but "which use case do we solve with it, and is it worth it?". A viable AI use case is characterised by three things: a clearly defined problem, measurable benefit and available data. "We are doing something with AI" is not a use case but an expensive misunderstanding. "We automatically classify incoming emails by urgency and save the support team two hours of triage every day", on the other hand, is a use case for which effort and return can be weighed up honestly. A structured use case analysis at the beginning prevents budget from flowing into technically impressive but commercially useless experiments.

From analysis to implementation

Use cases belong at the beginning of a good software project, not at the end. They are the tool with which a business idea becomes a buildable specification. An established method for presenting use cases and their actors visually is the use case diagram of the Unified Modeling Language (UML), which shows the relationships between users and system functions at a glance. Whether in formal UML notation or as a pragmatic list, what matters is not the form but the discipline of describing early and concretely what the system is supposed to do for whom. Anyone who takes this work seriously builds software that actually solves the problem it was meant to solve.

Next step

Document requirements properly

Free requirements and functional specification template as a Word document with a ready-made requirements table.

Changelog

  1. · Created · Jan Schumann