Use case

A use case is a requirements analysis technique, introduced by Ivar Jacobson in 1992, that describes a system’s behavior as a sequence of interactions between an external actor (a user or another system) and the system itself, in pursuit of a specific goal. Where a user story is a short, conversational placeholder for a requirement, a use case is a more structured artifact: it typically names the actor, the goal, the preconditions, the main success scenario, and any alternative or exception flows.

Use cases are one of several artifacts that can be used to capture functional requirements, alongside user stories, user journeys, and wireframes. Like a user story, a use case can carry acceptance criteria that pin down when the described behavior is considered complete and correct.

The use case diagram is the UML behavioral diagram that depicts a system’s use cases and the actors that pursue them. The diagram is lightweight notation; the structured use case description, not the picture, carries the analytical content.

An actor is a role label – "customer", "administrator", "approver" – without the person behind it. A persona gives that role a face, motivations, and context, and the two are often used together.

Use-case-driven development is a defining characteristic of several process models and frameworks, including the Unified Process (UP), the Rational Unified Process (RUP), Oracle’s Unified Method (OUM), and ICONIX. Despite its association with these heavier, more upfront-design-oriented methodologies, use-case analysis fits well into agile processes too, because it is inherently iterative and incremental – a use case can be sketched thinly at first and elaborated over successive passes as understanding deepens. Scenario-based techniques such as story-driven modeling keep the same behavior-first character but ground each use case in a single concrete example rather than abstracting across flows.