Fact-checked by Grok 2 weeks ago

Use case

A use case is a used in software and to describe the interactions between external actors—such as users or other systems—and a system to achieve a specific, that provides . It outlines a sequence of actions, including primary flows, alternative paths, and exceptions, serving as a foundational tool for capturing and organizing functional requirements in a clear, user-centered manner. Originating in the late 1980s, the concept was introduced by Swedish computer scientist at the '87 conference, where he presented textual and visual techniques for modeling system behaviors to address the growing complexity of object-oriented software development. Jacobson's work gained prominence through his 1992 book Object-Oriented Software Engineering: A Use Case Driven Approach, co-authored with Mats Christerson, Patrik Jonsson, and Gunnar Övergaard, which popularized use cases as a core practice in . Over time, the approach evolved into Use-Case 2.0, integrating agile principles like user stories and iterative development to make it lighter and more scalable for modern methodologies such as and . Use cases play a central across the lifecycle, acting as a "" that connects , architecture, design, testing, and user documentation. They help identify potential errors early, prevent by focusing on essential functionalities, and facilitate communication among stakeholders by providing concrete scenarios rather than abstract specifications. Key components include actors (entities initiating interactions), goals (desired outcomes), and responses (steps and behaviors), often represented textually or visually via UML use case diagrams to enhance clarity and reusability. Beyond software, use cases extend to and , emphasizing practical value in diverse contexts.

Fundamentals

Definition

A use case is a textual or visual description of how external actors interact with a to achieve specific goals, serving as a foundational in to capture functional behaviors and system responses. Originating from object-oriented analysis, it outlines sequences of actions that yield observable results of value to actors, such as users or other , without prescribing internal implementation details. Primary components of a use case include , defined as external entities that initiate or participate in interactions; scenarios, which detail step-by-step exchanges between and the system; preconditions, specifying required states before execution; postconditions, outlining expected outcomes upon completion; and extensions, handling alternative or exceptional paths. In the (UML), use cases are formalized as behavioral specifications within use case diagrams, representing declarations of offered behaviors by a subject in collaboration with to deliver value. Use cases differ from user stories, which are concise, agile artifacts focusing on user needs in a "As a [role], I want [goal] so that [benefit]" format without detailed steps, whereas use cases provide comprehensive interaction narratives. They also contrast with functional specifications, which elaborate on system internals and implementation mechanisms derived from use cases, rather than high-level actor-system dialogues.

Historical Development

The concept of use cases traces its roots to techniques developed in the , which emphasized describing user interactions with systems to capture requirements. However, the modern formulation of use cases as a structured practice emerged in the late through the work of , a , who introduced the term in 1986 while developing object-oriented methods at . Jacobson had been evolving the idea since 1967, drawing on earlier ideas like scenario-based analysis to make requirements more user-centered and actionable in . A pivotal milestone came in 1992 with Jacobson's book Object-Oriented Software Engineering: A Use Case Driven Approach, which positioned use cases as the central driver for , , and in object-oriented , influencing widespread adoption in the 1990s. Use cases were formally standardized in 1997 with the release of UML 1.0 by the (OMG), integrating them as a core diagramming element for modeling system behaviors and actor interactions. Refinements in UML 2.0, adopted in 2005, enhanced their extensibility through mechanisms like include and extend relationships, allowing for more modular and reusable specifications while addressing limitations in earlier versions. Following the Agile Manifesto in 2001, use cases integrated into iterative methodologies, adapting to lightweight practices like user stories while retaining depth for complex requirements; Alistair Cockburn's 2001 book Writing Effective Use Cases contributed key styles and templates, such as goal-level summaries, bridging traditional and agile approaches. By the 2010s, Use-Case 2.0 framework (introduced around 2011 and refined thereafter) modernized the practice for agile, , and scaled environments, emphasizing essentials like use case slices for incremental delivery. This evolved further with Use Case 3.0, released in December 2024, aligning with the Use Case Foundation principles co-developed with Cockburn to support contemporary development needs. In AI system design, they address ethical gaps by modeling mitigation and requirements, as seen in UML-based "use case cards" frameworks inspired by the EU AI Act (2024), which document intended purposes and risks to promote accountable AI deployment.

Core Principles

General Principles

Use cases adhere to a goal-oriented methodology that prioritizes the intentions and objectives of users over intricate technical implementations, ensuring that descriptions capture the essence of what the system must achieve from an external perspective. This approach treats the system as a black-box, concealing internal mechanisms to focus solely on observable interactions between actors and the system, thereby promoting clarity and from implementation details. In constructing use cases, practitioners first identify primary actors—those initiating the goal—and secondary actors that support or assist, establishing the foundational interactions (detailed further in the Key Elements and section). The structure typically comprises a main success scenario outlining the primary path from trigger to successful outcome, supplemented by extensions that handle alternative paths, failures, or exceptions to provide a comprehensive view of possible behaviors. is ensured by linking use cases directly to functional requirements and needs, serving as a contractual between goals and system responsibilities. Best practices emphasize maintaining conciseness while achieving , limiting main scenarios to 3-11 steps with , intent-focused to avoid . Iterative refinement through techniques like brainstorming and allows , starting from high-level outlines and incorporating across stages. Alignment with non-functional requirements, such as performance and , is integrated via preconditions, postconditions, and interest protections to ensure holistic coverage.

Key Elements and Actors

In use case modeling, actors represent external entities that interact with the system to achieve specific goals. An actor is formally defined as a classifier denoting a coherent set of roles that users of an entity can play when interacting with the entity, such as humans, other systems, or hardware devices. Actors can be human, involving users or stakeholders, or non-human, such as external software systems or automated processes that provide or receive services from the subject system. Actors are classified into primary and secondary types based on their role in initiating and supporting use case execution. The primary actor is the entity that initiates the with the to accomplish a goal, driving the primary flow of events. In contrast, secondary actors are those upon which the relies to perform actions or provide support during the use case, such as external databases or third-party services. This distinction ensures that use cases clearly delineate responsibilities and boundaries. Interaction elements within a use case describe the sequence of actions between actors and the system. These include triggers, which are events or conditions that initiate the use case, such as a request or system event; main flows, outlining the primary sequence of steps to achieve the goal; alternative flows, which handle variations in the main path under normal conditions; and exception flows, addressing error conditions or failures. Additionally, guarantees specify the postconditions that must hold true upon successful completion, regardless of the path taken, ensuring the actor's goal is met or the system state is preserved. In UML, use cases employ <> and <> relationships to modularize interactions involving . The <> relationship indicates that a base use case mandatorily incorporates the behavior of an included use case at a specified point, promoting for common sub-interactions. The <> relationship allows an extending use case to optionally add to a base use case under certain conditions, typically at extension points, enabling flexible handling of conditional interactions. Actors play a central role in driving the narrative of use case scenarios by representing the initiators and responders in the flow of events. For instance, in a banking system, a "" actor might initiate a "Withdraw Cash" use case, interacting with an "ATM System" as a secondary actor to verify funds. Actor generalization further refines this by allowing a specialized actor to inherit behaviors from a more general one; for example, an "Admin" actor could generalize from a "" actor, inheriting standard login interactions while adding administrative privileges, thus streamlining scenario descriptions across related roles. Formal classification of in UML enhances precision in modeling system boundaries. may be stereotyped with keywords like <> for standard external entities, or custom profiles such as <> and <> to explicitly denote initiation versus support roles, though UML's standard profile does not mandate these. These stereotypes impact system boundaries by clarifying which interactions fall within the subject's scope—primary actors typically define core goals, while secondary ones highlight external dependencies—preventing overextension of the system's responsibilities and ensuring focused functional specifications.

Variations and Applications

Scope and Usage Variations

In use case modeling, defines the boundaries of the interactions and functionalities described, distinguishing between system scope, which focuses on the interactions within a specific or component, and scope, which encompasses the broader organizational or processes involving multiple systems or human activities. System treats the as a , detailing user interactions with its interface to achieve goals within a contained timeframe, such as a single session. , in contrast, views the organization as the system under discussion, capturing end-to-end workflows that may span days or weeks and include manual steps beyond . Boundaries are determined using tools like context diagrams, which visualize external actors and their interactions with the system, alongside in/out lists that categorize elements as within or outside the to prevent overlap or omission. Use cases exhibit variations in their application, primarily between functional and non-functional types, where functional use cases describe core system behaviors and user interactions to fulfill specific goals, such as processing a , while non-functional use cases address concerns like security or performance, often modeled as aspects that weave into primary flows. High-level use cases provide overviews of major functionalities for initial planning, whereas detailed use cases elaborate step-by-step scenarios ready for implementation, including extensions and exceptions. In processes, use cases are typically developed comprehensively upfront to lock in requirements before design and coding, emphasizing stability and . Conversely, in iterative processes, use cases evolve incrementally, with initial versions refined through loops to accommodate changes. Use cases adapt across the software lifecycle for , where they facilitate collaboration to uncover needs through brainstorming; validation, by serving as living documents tested against working software for alignment; and maintenance, enabling impact analysis during updates via to test cases. In agile sprints, use cases support iterative refinement, with variants like integrating them into acceptance criteria for frequent validation. For scoping, use cases delineate service boundaries by mapping high-level business functionalities to independent, loosely coupled components, aiding in projects. Use cases operate at varying levels to balance and detail: level captures high-level overviews of multi-step processes spanning extended periods, user- level focuses on primary outcomes achievable in a single interaction, and subfunction level breaks down supporting tasks for reuse or clarity, though it risks delving into design details. These levels, symbolized by (summary), sea (user-), and fish/clam (subfunction) metaphors, ensure use cases remain -centric while adapting to project needs.

Business and Systems Applications

In , use cases serve as a foundational for capturing al goals, defining end-to-end processes, and ensuring delivery to stakeholders by outlining how an interacts with its environment to achieve objectives such as revenue growth or . Unlike software-focused use cases that emphasize system-user interactions, business use cases adopt a broader scope, encompassing multi-step workflows that may span days or weeks and involve diverse actors like customers, suppliers, and managers to align activities with strategic priorities. This approach facilitates the identification of value streams, where processes are refined to eliminate redundancies and enhance outcomes, such as streamlining operations to reduce costs. A key integration in use cases is with (BPMN), which transforms narrative use cases into executable models for simulation and automation, supporting organizational processes by mapping participants to swimlanes, activities to tasks, and decisions to gateways. Guidelines for this conversion involve parsing use case text—identifying subjects as participants, verbs as activities, and conditions as rules—to create structured BPMN diagrams that handle both primary and exception flows, thereby improving process maturity and alignment with goals like faster decision-making. In frameworks such as TOGAF, use cases are embedded within the Architecture Development Method (), particularly in the phase, to define capabilities, baseline current processes, and target future states that deliver measurable value, such as enhanced agility in initiatives. Business use cases differ from software variants through their emphasis on broader stakeholder involvement, including external regulators and partners, and incorporation of regulatory compliance requirements that extend beyond technical functionality to legal and ethical obligations. In , for instance, use cases model with anti-money laundering standards like (KYC) by detailing automated transaction monitoring and reporting workflows to mitigate risks and ensure adherence to frameworks such as the . Similarly, in healthcare, use cases address HIPAA requirements by specifying secure data handling processes, from patient consent to audit trails, to protect privacy while enabling efficient care delivery and reducing breach-related penalties. In , use cases are applied to hardware-software hybrid environments, such as and systems, where they drive to ensure between components like sensors and cloud services, while addressing safety-critical scenarios in domains like automotive or medical devices. For applications, use cases capture dynamic interactions—such as exchange in —to generate functional and non-functional requirements, often enhanced by techniques like SVM classifiers for prioritization and validation, promoting reliable system behavior across heterogeneous networks. In safety-critical systems, use cases emphasize fault-tolerant designs compliant with standards like for automotive or for industrial controls, modeling scenarios like failure in autonomous vehicles to verify and minimize risks from hardware-software . Developments in 2025 highlight use cases in governance, particularly for in business and systems contexts. The America's AI Action Plan (July 2025) discusses use cases for accelerating processes and improving sectors like healthcare, while proposing regulatory sandboxes supported by the FDA for testing tools, under frameworks led by NIST and the FDA to evaluate ethical deployment and bias mitigation. These initiatives extend to and security, ensuring systems meet evolving standards for and while supporting broader organizational resilience. In business contexts, actors typically include external entities like regulators, expanding beyond internal users to incorporate oversight in .

Templates and Formats

Cockburn Template

The Cockburn template, developed by , provides a structured format for authoring use cases that emphasizes goal-oriented scenarios, actor interactions, and handling of variations to ensure comprehensive coverage of behaviors. It includes key sections such as the title, which captures the primary goal as a concise, active-verb phrase (e.g., "Withdraw Cash"); scope, defining the boundary of analysis; level, indicating the granularity of the goal; primary and secondary s, identifying the initiators and supporting entities; stakeholders, listing interested parties and their concerns; preconditions, specifying required initial states; success guarantees, outlining post-success conditions; main success scenario, detailing the step-by-step ; extensions, addressing alternative or exceptional flows; and sub-variations, noting minor deviations within steps. This structure promotes clarity by mapping the use case as a through primary and branching paths, facilitating and validation. Design scopes in the Cockburn template refer to the perspective from which the use case is viewed, influencing the depth and focus of the content: system scope treats the system as a black box, emphasizing external interactions and user-visible behaviors without internal details; enterprise scope adopts a white box view of the organization, incorporating broader business processes and inter-system dynamics; and process scope targets specific workflows, allowing for detailed procedural breakdowns. These scopes guide content depth—for instance, a system scope keeps descriptions concise and actor-focused, while an enterprise scope expands to include organizational impacts, ensuring the use case aligns with varying project needs without overwhelming lower-level details. Goal levels in the classify the of the use case to match the intended audience and purpose: represents high-level user goals achievable in a single session (e.g., "Purchase Item Online"), focusing on end-user value; kite level covers summary or sub-goals that span multiple sessions (e.g., "Manage Inventory"), providing contextual overviews; and fish level delves into detailed, low-level steps or subfunctions (e.g., "Validate Payment Details"), breaking down complex interactions into granular actions. These levels, symbolized by nautical metaphors (sea for user-visible, kite for aerial summary, fish for submerged details), help writers avoid overly abstract or microscopic descriptions, aligning the use case with principles. The supports two primary s to accommodate different stages of : the fully dressed , which populates all sections with comprehensive narratives, numbered steps, and explicit handling of extensions, is ideal for critical requirements where and mitigate risks in complex projects; in contrast, the casual uses an outline or bullet-point with only essential elements like the main and , suited for early brainstorming or agile iterations to foster rapid without exhaustive detail. This dual approach balances thoroughness with efficiency, allowing teams to evolve use cases progressively from casual sketches to fully dressed specifications as understanding deepens.

Fowler Template

The Fowler template, introduced by Martin Fowler in his work on UML and , provides a lightweight and practical format for documenting use cases, emphasizing brevity to facilitate quick iteration in . This template structures use cases around core elements: a brief name that encapsulates the primary goal, a concise summary outlining the overall purpose and scope, identification of actors (such as users or external systems involved), a numbered sequence of steps in the main flow of events to describe essential interactions between actors and the system, and extensions that handle alternative or exceptional paths branching from the main flow. The focus remains on capturing only the vital interactions without exhaustive details, ensuring the documentation remains readable and actionable. Key features of the template include its seamless integration with UML use case diagrams, where the textual content serves as the primary artifact and diagrams provide optional visual overviews of relationships among use cases and actors. It also stresses preconditions—states or conditions that must hold true before the use case begins—and postconditions, which specify the expected outcomes or system states upon completion, helping to clarify boundaries and validate implementation. This structure aligns well with agile environments, promoting short, narrative-driven descriptions that support iterative development and collaboration without imposing heavy documentation overhead. Compared to more comprehensive formats, the Fowler template prioritizes conciseness for and development, omitting deep explorations of sub-variations or nested scenarios unless they directly impact core functionality.

Modeling and Representation

Visual Modeling Techniques

Visual modeling techniques provide graphical representations of use cases, enabling stakeholders to visualize interactions, , and relationships in a structured manner beyond textual narratives. The primary technique is the (UML) use case diagram, which depicts the functional requirements of a through simple, intuitive symbols. In these diagrams, are represented as stick figures symbolizing external entities interacting with the , use cases appear as ovals encapsulating specific functionalities or goals, and solid lines denote associations between and use cases. UML use case diagrams further incorporate relationships to model dependencies and variations among use cases. The "include" relationship, shown as a dashed labeled «include», indicates that one use case mandatorily incorporates the of another, promoting and . Conversely, the "extend" relationship, depicted similarly but labeled «extend», allows optional to be added to a base use case under specific conditions, such as exceptional scenarios. These elements collectively form a around the , often enclosed in a to distinguish it from external actors. For contexts, earlier versions of the (SysML v1) extend UML use case diagrams to address broader interdisciplinary requirements, including and software . SysML v1 use case diagrams retain core UML elements like and ovals but emphasize system boundaries and value derivation, making them suitable for complex, non-software systems. They facilitate high-level requirements capture in non-technical terms, aiding collaboration across engineering disciplines. As of July 2025, SysML v2 provides an independent modeling language based on the Kernel Modeling Language (KerML), supporting use case concepts for complex systems while emphasizing system boundaries and value. To elaborate on the internal flows of use cases, UML activity diagrams serve as a complementary visual , modeling the sequence of actions, decisions, and processes within a single use case. These diagrams use rounded rectangles for activities, diamonds for decision nodes, and arrows for control flows, providing a flowchart-like view of dynamic behavior that refines the high-level overview from use case diagrams. This approach is particularly effective for detailing workflows or scenarios that extend beyond simple interactions. In business-oriented applications, (BPMN) offers another graphical method to visualize use cases within end-to-end processes, using pools for participants, tasks as rounded rectangles, and gateways for branching logic. BPMN diagrams map how use cases fit into operational workflows, emphasizing sequence, events, and collaborations, which enhances from business requirements to system implementation. Best practices for visual modeling recommend integrating these diagrams with detailed textual descriptions to achieve a holistic specification, where diagrams provide an at-a-glance overview and text elaborates preconditions, postconditions, and step-by-step flows. This combination mitigates ambiguity and ensures alignment between visual and narrative elements. Additionally, automated generation of diagrams from textual use case specifications maintains consistency and reduces manual errors in iterative development processes. Recent advancements, such as UML profiles for security modeling, enable the extension of use case diagrams to incorporate threat analysis and secure interactions, as outlined in specialized frameworks for vulnerability assessment.

Supporting Tools

Several software tools facilitate the creation, documentation, and management of use cases, ranging from specialized modeling environments to collaborative diagramming platforms. Historically, , developed by in the , was a pioneering CASE (Computer-Aided Software Engineering) tool that supported UML-based use case modeling through visual diagrams and scenario generation, though it has been largely superseded by modern alternatives following IBM's acquisition in , with support for later versions ending in 2024. Among proprietary tools, Sparx Systems' Enterprise Architect provides comprehensive support for use case diagrams, including actor modeling, scenario elaboration, and to requirements, enabling teams to generate visual representations and maintain links across project artifacts. offers an intuitive online interface for constructing UML use case diagrams, with features for embedding s, ovals for use cases, and system boundaries, suitable for in collaborative settings. In contrast, open-source options like (formerly Draw.io) allow free creation of use case diagrams via drag-and-drop shapes, supporting export to various formats and integration with platforms like for team workflows. For agile environments, plugins such as by Tempo and Easy Agile Programs enhance use case management by enabling hierarchical organization of user stories and epics, with to sprints and backlogs, though specialized add-ons like QMetry extend this to requirement-linked use cases. Key features across these tools include automated generation from textual descriptions, matrices to link use cases to tests or requirements, and collaboration via syncing, with tools often providing advanced capabilities while open-source variants emphasize and customization. Methodological support is bolstered through integrations with requirements management systems; for instance, Enterprise Architect connects with to import use cases as traceable requirements, ensuring bidirectional updates for compliance-heavy projects. Similarly, incorporates use case modeling via extensions like Modern Requirements, which automates the conversion of textual use cases into work items and diagrams, facilitating agile iteration and reporting. Emerging AI-assisted tools address gaps in manual authoring by leveraging large language models (LLMs) for generation; as of 2025, platforms like GitMind and use to suggest use case structures from prompts, producing diagrams and scenarios while integrating with collaborative editors, though human validation remains essential for accuracy. These advancements expand beyond traditional tools by automating initial drafts, particularly in dynamic environments.

Practical Examples

Basic Use Case Examples

Basic use cases illustrate the fundamental structure of interactions between and systems in , focusing on primary goals and handling simple variations. These examples draw from established methodologies to demonstrate how use cases capture user intentions without unnecessary detail.

Example 1: ATM Withdrawal

Actors: Primary actor: ; Secondary actor: Bank system. Preconditions: The customer has a valid and sufficient funds in their ; the is operational. Main Success Scenario:
  1. The customer inserts their into the machine.
  2. The bank system prompts for the PIN.
  3. The customer enters the PIN.
  4. The bank system validates the PIN against the card details.
  5. The customer selects the option and specifies the amount.
  6. The bank system checks the balance and dispenses the if sufficient.
  7. The bank system ejects the card and updates the balance.
Extensions:
  • At step 4a: If the PIN is invalid, the system prompts for re-entry (up to three attempts); after three failures, the card is retained.
  • At step 6a: If funds are insufficient, the system displays an and returns to the without dispensing .
Exceptions: The fails if the is out of or network connectivity is lost.

Example 2: E-Commerce Login

Actors: Primary actor: ; Secondary actor: system. Preconditions: The has a registered with valid credentials; the is accessible. Main Success Scenario:
  1. The navigates to the login page on the site.
  2. The enters their username and password.
  3. The system verifies the credentials against the stored user data.
  4. The system grants access and redirects the to their or the homepage.
Extensions:
  • At step 3a: If credentials are invalid, the system displays an and prompts the to retry (limited to three attempts).
Exceptions: After three failed attempts, the system temporarily locks the account to prevent unauthorized access. These basic examples employ a of casual and fully dressed formats, as outlined in standard use case templates, to highlight essential elements like flows and conditions in everyday software applications.

Advanced Use Case Scenarios

In advanced use case scenarios, complexity arises from interactions among multiple , such as users, automated systems, and external entities, often incorporating extensions for exceptional s and includes for supplementary processes. These scenarios extend beyond simple linear s to address real-world variability, ensuring robustness in domains like healthcare, , and . A prominent example is the patient admission process in healthcare, which involves multi-actor coordination to manage encounters from initial registration to . In this scenario, the primary is the , supported by secondary including the , clinic registration system, admission-discharge-transfer (ADT) system, and provider. The main begins with patient registration at a , where demographic data is captured and transmitted to both local and systems for . Upon detection of a serious by the , the is pre-admitted to the for diagnostic tests, triggering an extension for handling that bypasses standard wait times and prioritizes immediate allocation in intensive care. This extension includes of coverage to enable billing, where the insurance confirms eligibility and updates records in to avoid delays in . Subsequent steps involve transferring the to a regular after stabilization, with error correction if assignments conflict, followed by outpatient follow-up and eventual upon test completion. This multi-actor interplay ensures seamless data across systems while accommodating urgent variations. Another sophisticated scenario appears in IoT-enabled smart home integration, emphasizing for interconnected devices with embedded non-functional requirements like . Here, actors include the homeowner (via voice commands or ), the central controller, and peripheral devices such as lights, music players, , and computers, all linked through a unified . The core flow enables remote monitoring and control; for instance, the homeowner issues a voice command to check the water tank level, prompting the system to query sensors and respond with data like "67% full," then adjust valves if needed. is integrated as a non-functional aspect via a custom tunnel with personalized authentication, ensuring encrypted end-to-end communication and mitigating risks from third-party services. Extensions handle conflicts, such as rejecting a music playback command if a song is already active, while the architecture supports scalability through low-cost, modular deployments that accommodate additional devices without performance degradation. This setup demonstrates how use cases can model secure, distributed interactions in residential environments. Contemporary scenarios, relevant to 2025 advancements, include autonomous vehicle interactions, where facilitates multi-actor coordination among vehicles, , and regulatory systems. Primary actors are the autonomous vehicles (e.g., s or trucks), with secondary actors comprising traffic (e.g., smart signals) and fleet management clouds. A typical flow for operations in urban settings involves the vehicle receiving a ride request, navigating via vehicle-to- communication for traffic data, and executing the trip with dynamic rerouting. Extensions address emergencies, such as failures triggering automated to backup protocols like immediate stops or handoff to human oversight. Includes incorporate features, such as cloud-based fleet optimization to manage thousands of vehicles efficiently in select cities. As of 2025, these use cases have expanded in leading regions, with assisted (e.g., Level 2/3 systems like Tesla's Full Self-Driving) dominating personal vehicles and full (Level 4/5) operational in controlled environments such as highways for trucks and select urban areas for s, with approximately 8 million such vehicles in use. Advanced use cases adeptly handle failures through exception flows and alternate outcomes, ensuring system resilience; for example, invalid inputs during patient admission prompt error messages and redirects, while repeated access failures in smart homes may lock devices temporarily to prevent breaches. is addressed via non-functional specifications, such as response times under load (e.g., within 5 seconds for queries) and capacity planning for high-frequency interactions, like frequent fleet updates in autonomous systems. In modern domains like , these scenarios tie into , where use cases model dilemmas such as AI-driven diagnoses in healthcare that must balance accuracy against risks, or autonomous choices in collisions prioritizing fairness and . Recent developments include use cases incorporating ethical principles, such as audits in healthcare diagnostics per biomedical frameworks and requirements for collision avoidance per standards.

Evaluation

Advantages and Benefits

Use cases significantly enhance communication by providing a clear, narrative-driven representation of system interactions that bridges the gap between technical teams, business analysts, and end-users. This structured format fosters shared understanding and reduces misunderstandings during , as articulated in foundational work on use case modeling. Similarly, emphasizes how use cases promote precise dialogue among diverse participants, ensuring alignment on system goals from the outset. A core advantage lies in ensuring user-centric design, as use cases explicitly focus on actors' goals and behaviors rather than internal system mechanics, thereby prioritizing end-user needs throughout the development lifecycle. This approach, pioneered by , helps validate requirements against real-world scenarios, leading to more intuitive and effective software solutions. By centering on user interactions, use cases mitigate the risk of building features that fail to deliver value, promoting designs that are both functional and accessible. Use cases facilitate the derivation of test cases by offering detailed scenarios that can be directly mapped to validation steps, ensuring comprehensive coverage of functional requirements. This linkage streamlines testing efforts, as each use case scenario serves as a for creating targeted test scripts that verify system behavior under various conditions. Consequently, teams achieve higher test efficiency and earlier defect detection, contributing to overall . They also enhance by establishing bidirectional links between high-level requirements, design elements, and implementation artifacts, allowing teams to track changes and verify compliance across project phases. Systematic reviews confirm that use cases support robust analysis and validation, enabling better management of requirement in complex projects. In agile environments, use cases aid sprint planning by breaking down user goals into actionable slices, helping teams prioritize features and estimate efforts more accurately. This integration supports iterative development while maintaining a holistic view of system scope. In systems engineering, they bridge requirements to architecture by clarifying interactions and boundaries, facilitating smoother transitions from specification to realization. A systematic mapping of 47 studies highlights the broad positive impacts of use cases, particularly in early-stage activities like estimation and analysis, where benefits such as reduced project risks and improved automation outweigh reported drawbacks. These advantages extend to collaborative settings, where use cases' textual and diagrammatic forms enable asynchronous review and feedback, sustaining alignment despite geographical dispersion.

Limitations and Challenges

Use cases, while effective for capturing functional requirements, often become verbose and challenging to maintain over time, particularly in complex projects where detailed scenarios accumulate without sufficient . This verbosity can lead to documents that are difficult to update as requirements evolve, increasing the risk of inconsistencies and outdated information. For instance, overly detailed descriptions may include specifics that reduce flexibility for developers. Additionally, use cases struggle with non-deterministic behaviors, such as those in AI-driven systems, where outcomes depend on probabilistic models rather than fixed flows; traditional use cases assume predictable interactions, making it hard to specify uncertain or adaptive responses effectively. Without clear boundaries, use cases are also prone to , where incremental additions expand the project's scope beyond initial intentions, complicating and timelines. Several inherent challenges exacerbate these limitations. Identifying actors involves subjectivity, as definitions of who or what interacts with the system can vary among stakeholders, leading to ambiguous or incomplete representations. Quantifying non-functional requirements, such as or constraints, proves difficult within use case structures, which primarily focus on functional flows and often overlook or inadequately model quality attributes like response times or reliability. In large-scale projects, integration issues arise from coordinating numerous interdependent use cases across distributed teams, resulting in problems and heightened complexity during system assembly. Recent systematic mappings as of 2024 indicate that practices for AI-based systems, including use cases, remain immature, with challenges in addressing , explainability, and ethical considerations. To address these drawbacks, mitigation strategies include hybrid approaches that combine use cases with lighter artifacts like user stories, which provide concise, value-focused descriptions to reduce verbosity while retaining detailed scenarios for critical paths. Automation tools for can further aid maintenance by enabling , , and consistency checks across use case repositories. In dynamic environments like , where requirements must adapt to fluctuating network conditions and resource limitations, ongoing updates to use cases—supported by iterative refinement—help bridge gaps in traditional static modeling, though specialized techniques for adaptability remain an active area of .

Common Misconceptions

A prevalent misconception is that use cases constitute complete, detailed specifications for implementation, akin to code blueprints or exhaustive design documents. In reality, use cases serve as high-level descriptions of behaviors and interactions, focusing on goals and scenarios without prescribing details or low-level implementations. This misunderstanding can lead practitioners to overburden use case documents with unnecessary specifics, complicating maintenance and collaboration. Another common error views use cases as exclusively applicable to , overlooking their broader utility. Use cases extend to modeling business processes, analyzing organizational workflows, and designing non-software systems, providing a versatile tool for requirements capture across domains. However, they are not a method suitable for every context, such as purely mathematical modeling or constraints without behavioral interactions. Use cases are often perceived as rigid artifacts incompatible with agile methodologies, implying a heavyweight, inflexible approach. Contrary to this, modern iterations like Use-Case 2.0 emphasize lightweight, scalable practices that integrate seamlessly with agile frameworks such as and , allowing for iterative refinement through "slices" of functionality. This adaptability counters the notion of rigidity, enabling teams to evolve use cases incrementally without prescriptive structures. Outdated practices, such as neglecting extensions in use case modeling—which handle alternative paths and exceptions—persist and can exacerbate issues in contemporary applications. Proper inclusion of extensions ensures more robust requirements, mitigating risks of unintended outcomes.

References

  1. [1]
    Use Case Definition | Ivar Jacobson International
    A use case is: A sequence of actions a system performs that yields an observable result of value to a particular user.
  2. [2]
    What is a Use Case? - TechTarget
    Nov 28, 2022 · A use case is a methodology used in system analysis to identify, clarify and organize system requirements.
  3. [3]
    What is Use Case Diagram? - Visual Paradigm
    In 1986, Ivar Jacobson first formulated textual and visual modeling techniques for specifying use cases. In 1992 his co-authored book Object-Oriented Software ...
  4. [4]
    [PDF] Use-Case 2.0 - Ivar Jacobson International
    Use-Case 2.0 has all the popular values from the past— not just supporting requirements, but also architecture, design, test, and user experience—and it is ...
  5. [5]
    Defining use cases - IBM
    A use case represents the list of tasks that actors can perform, and is directly related to the requirements of the business process.
  6. [6]
    Use Case | www.dau.edu
    ​In software and systems engineering, a use case is a list of actions or event steps, typically defining the interactions between a user and a system (or ...
  7. [7]
    None
    Below is a merged summary of the UML 2.5.1 Specification sections on Use Cases and Actors, consolidating all information from the provided segments into a comprehensive response. To maximize detail and clarity, I will use a table format where appropriate (in CSV style) to organize the dense information, followed by additional narrative details and key excerpts. This ensures all unique details from each segment are retained while avoiding redundancy.
  8. [8]
    User Story vs Use Case for Agile Software Development
    User Stories are centered on the result and the benefit of the thing you're describing, whereas Use Cases can be more granular, and describe how your system ...
  9. [9]
    [PDF] Functional Requirements and Use Cases - Bredemeyer Consulting
    Aug 3, 2001 · A use case defines a goal-oriented set of interactions between external actors and the system under consid- eration. Actors are parties outside ...
  10. [10]
    Use cases – Yesterday, today, and tomorrow
    Aug 1, 2004 · Although I first used the term in 1986, I had actually been working on and evolving the concept of use cases since 1967. So many people have ...
  11. [11]
    Why Is It Important? - UML - Object Management Group
    ... UML 1.0 semantics and to incorporate contributions from the new partners. It was submitted to the OMG for their consideration and adopted in the fall of 1997.
  12. [12]
    [PDF] Writing Effective Use Cases - Pearsoncmg.com
    Writing effective use cases / Alistair Cockburn. p. cm. -- (The Crystal Collection for software professionals). Includes bibliographical references and index.
  13. [13]
    Use Cases - The Ultimate Guide | Ivar Jacobson International
    It presents the essentials of use-case driven development as an accessible and re-usable practice. It also provides an introduction to the idea of use cases and ...
  14. [14]
    a use case reporting framework inspired by the European AI Act
    Jan 20, 2024 · This work presents “use case cards,” a UML-based methodology focusing on documenting an AI system in terms of its 'intended purpose.'
  15. [15]
    [PDF] Writing Effective Use Cases - ELTE
    Assuming you know the ABCs of use cases, you will still need constant reminding about the Do's and Don'ts of good use case. Page 3. Writing Effective Use Cases.
  16. [16]
    [PDF] Accessibility Use Cases
    Accessibility. Use Cases. Graeme Coleman. The Paciello Group. Michael McCool. Intel. Page 2. Today's session. ▫ Understanding diverse users. ▫ Different types ...
  17. [17]
    None
    ### Definitions and Scope Differences
  18. [18]
    Use Cases: Defining Scope | FUNCTIONAL SCOPE - InformIT
    Mar 22, 2002 · Alistair Cockburn defines scope and talks about using the four work products that bind the system's scope: vision statement, design scope drawing, in/out list, ...Missing: enterprise | Show results with:enterprise
  19. [19]
    Preliminary design use cases
    Jan 1, 1998 · Use Cases also facilitate the determination of the systems boundary since they focus on the external interactions between the system and the.
  20. [20]
    [PDF] Concern-Oriented Use Cases - The Journal of Object Technology
    Jul 6, 2023 · Lu & Song (2008) propose a new aspect use case tem- plate to describe non-functional use cases, while also defining join points in use cases ...
  21. [21]
    [PDF] WRITING EFFECTIVE USE CASES
    Append "+" to summary use case names. Append "!" or nothing to user-goal use case names. Append "-" to subfunction use case names. Design Scope. Goal Level.
  22. [22]
    Use-Case 2.0 - ACM Queue
    Apr 5, 2016 · Cockburn, A. 2001. Writing Effective Use Cases. Addison-Wesley Professional. 3. Cohn, M. 2004. User Stories Applied. Addison-Wesley ...
  23. [23]
    [PDF] A Multi-Case Study of Agile Requirements Engineering and the Use ...
    [Results] The use of test cases as requirements poses both benefits and challenges when eliciting, validating, verifying, and managing requirements, and ...
  24. [24]
    [PDF] Getting Started With Use Case Modeling - Oracle
    Cockburn states that from 80 to 100 use cases, organizing them by primary actor looses effectiveness, as you end up with too many use cases per primary actor.
  25. [25]
    None
    ### Summary of Differences Between Business Use Cases and System Use Cases
  26. [26]
    Model to Execution: Guidelines for Converting a Use Case into BPMN | BPMInstitute.org
    ### Key Guidelines for Converting Use Cases to BPMN in Business Analysis
  27. [27]
    TOGAF | www.opengroup.org
    TOGAF is an Enterprise Architecture methodology and framework used to improve business efficiency, ensuring consistent standards and methods.TOGAF Certification Portfolio · TOGAF Licensed Downloads · Enhance your Career
  28. [28]
    Top 7 Regtech Use Cases in the Financial Sector - Blog - Unit21
    Jul 28, 2022 · 1. Identity Verification and Management · 2. Regulatory Compliance and Change Management · 3. Regulatory Reporting and Case Management · 4. Risk ...Top 7 Regtech Use Cases In... · The Top 7 Regtech Use Cases... · 4. Risk Analysis And...
  29. [29]
    What is Healthcare Regulatory Compliance? - The HIPAA Journal
    Apr 9, 2025 · Healthcare regulatory compliance is the practice of meeting or exceeding the requirements of all applicable federal, state, local, and industry regulations.The Health Insurance... · Payment Card Industry Data... · The Benefits Of Adopting...
  30. [30]
    A Novel Approach to Elicit Software Requirements for IoT Systems Using SVM Classifier
    **Summary of Use Cases in Requirements Elicitation for IoT Systems Engineering:**
  31. [31]
    Integrating Safety and Security Engineering for Mission-Critical ...
    May 10, 2021 · Safety-critical systems, such as aircraft and medical devices, have long been analyzed for problems that could arise accidentally or from ...
  32. [32]
    [PDF] America's AI Action Plan - The White House
    Jul 10, 2025 · Use cases include accelerating slow and often manual internal processes, streamlining public interactions, and many others.
  33. [33]
    None
    ### Full Structure of Cockburn Use Case Template
  34. [34]
    [PDF] WRITING EFFECTIVE USE CASES - IFI UZH
    Three Named Goal Levels. Summary level (white, cloud / kite) - Page 58. X is the user goal, blue, or sea-level. In accomplishing X, you accomplished a number ...
  35. [35]
    Structuring Use Cases with Goals
    This paper introduces a theory based on a small model of communication, distinguishing goals as a key element of use cases.
  36. [36]
    Use Case - Martin Fowler
    Aug 3, 2004 · Use cases are a technique for organizing and eliciting requirements. They were originally popularized by Ivar Jacobson in the late 80's and early 90's.
  37. [37]
    9. Use Cases - UML Distilled: A Brief Guide to the Standard Object ...
    Use cases are a technique for capturing the functional requirements of a system. Use cases work by describing the typical interactions between the users of ...
  38. [38]
    OntologWiki: Use Cases Martin Fowler Simple Text Example - CIM3
    Mar 30, 2005 · 1. Customer browses through catalog and selects items to buy (BL9) · 2. Customer goes to check out (BLA) · 3. Customer fills in shipping ...<|control11|><|separator|>
  39. [39]
    Use Cases And Stories - Martin Fowler
    Aug 18, 2003 · Use cases organize requirements to form a narrative of how users relate to and use a system. Hence they focus on user goals and how ...
  40. [40]
    About the Unified Modeling Language Specification Version 2.5.1
    UML is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of distributed object systems.
  41. [41]
    UML Use Case Diagrams
    Use case diagrams are UML diagrams describing units of useful functionality (use cases) performed by a system in collaboration with external users (actors) ...Case · Subject · Examples
  42. [42]
    SysML FAQ: What is a Use Case diagram (UC)?
    The purpose of Use Case diagrams is to provide a high-level view of the subject system and convey the top-level system requirements in non-technical terms for ...
  43. [43]
    SysML Use Case Models | Enterprise Architect User Guide
    A SysML Use Case diagram is used to define and view Use Cases and the Actors that derive value from the system. The Use Case diagram describes the relationship ...
  44. [44]
    What is Activity Diagram? - Visual Paradigm
    Activity diagram is essentially an advanced version of flow chart that modeling the flow from one activity to another activity.
  45. [45]
    BPMN Specification - Business Process Model and Notation
    BPMN is a graphical notation that depicts the steps in a business process, showing the end-to-end flow and communication between participants.
  46. [46]
    What is Business Process Modeling and Notation (BPMN)? - IBM
    The goal of process modeling notation is to help organizations model ways to improve efficiency, account for new circumstances or gain a competitive advantage.The Value Of Bpmn · How Bpmn Works · Types Of Bpmn Models
  47. [47]
    Demystifying Use Case Models: Bridging Textual Detail and Visual ...
    Oct 11, 2023 · In practice, a comprehensive use case model often includes both the textual descriptions (use case documents) and the graphical representation ...
  48. [48]
    Uml-Based Modeling and Analysis of Security Threats.
    Aug 7, 2025 · To narrow this gap, this paper presents a UML-based framework for modeling and analyzing security threats (i.e. potential security attacks) ...
  49. [49]
    Introduction to Visual Modeling Using Rational Rose - IBM
    Rational Rose provides the collaboration diagram as an alternative to a use-case diagram. It shows object interactions organized around objects and their links ...
  50. [50]
    [PDF] Next-generation model-driven development
    Through the years, we found that despite the success of Rational Rose and advances in UML modeling practices, only a small fraction of developers used modeling ...
  51. [51]
    Use Case Diagram | Enterprise Architect User Guide - Sparx Systems
    A Use Case diagram describes goals of users and systems interacting with a system, from the actors' perspective, and functional requirements.
  52. [52]
    UML Use Case Diagram Tutorial | Lucidchart
    A UML use case diagram shows how users interact with a system, summarizing system users and their interactions, and providing a high-level overview.Use Case Diagram Components · Use Case Diagram Symbols And... · Uml Diagram Templates And...
  53. [53]
    UML use case diagrams with draw.io
    Jan 29, 2018 · Use case diagrams in UML are used during the requirements phase of software development – they usually put the system requirements into a diagram format.
  54. [54]
    4 Easy Agile Jira Apps to Improve Your Jira Experience
    Jan 29, 2021 · Easy Agile TeamRhythm is an add-on designed to help teams provide value to customers fast and frequently. Manage and breakdown epics inside the ...
  55. [55]
    Top 12 Best Jira Test Management Tools (Updated 2025) - Testmo
    QMetry test management for Jira is a Jira add-on that supports test case management inside Jira. It provides Jira-like enterprise testing for agile and DevOps ...
  56. [56]
    Top 10 UML Modeling Tools in 2025: Features, Pros, Cons ...
    Sep 3, 2025 · In 2025, UML modeling tools have evolved to integrate advanced features like real-time collaboration, cloud-based storage, and support for ...
  57. [57]
    Integrating DOORS and Engineering Test Management - IBM
    You can use DOORS to manage your requirements, and you can use Engineering Test Management to manage test plans and test cases that validate the requirements.
  58. [58]
    Requirements Management Tools built for Azure DevOps
    Make use cases and turn their steps into requirements quickly and easily. Use this tool to write use Cases textually and automatically generate a Use Case ...
  59. [59]
    Top 4 AI Use Case Diagram Maker Tools for 2025 - GitMind
    Sep 23, 2025 · Learn how AI use case diagram makers like MyMap AI, Eraser.io, Miro, and GitMind simplify system design with fast, smart, and collaborative ...Missing: software | Show results with:software
  60. [60]
    None
    ### Summary of Basic Use Case Examples from "Use Case Modeling" by Kurt Bittner and Ian Spence
  61. [61]
    Master Use Cases and Scenarios | Free Use Case Template
    Nov 15, 2023 · The history of use cases and scenarios as a business analysis technique can be traced back to the 1980s. During this time, a computer scientist, ...
  62. [62]
    14 Patient Administration Management (PAM) - IHE ITI TF Vol1
    14.2 Patient Identity Management Use Case. A Patient Registration application decides to create a new patient John Smith, based on patient information input ...
  63. [63]
  64. [64]
    Autonomous Vehicles: Timeline and Roadmap Ahead
    ### Summary of Autonomous Vehicle Use Cases in 2025 (Software Engineering Aspects)
  65. [65]
    Ethical concerns mount as AI takes bigger decision-making role
    Oct 26, 2020 · Private companies use AI software to make determinations about health and medicine, employment, creditworthiness, and even criminal justice.
  66. [66]
    Writing Effective Use Cases: | Guide books | ACM Digital Library
    In Writing Effective Use Cases, object technology expert Alistair Cockburn presents an up-to-date, practical guide to use case writing.
  67. [67]
    The impact of Use Cases in real-world software development projects
    Conclusions: Use Cases have proven to be a useful tool in software development, particularly during the early stages. The positive effects far outweigh the few ...
  68. [68]
    Effective Use Case Modeling in Agile Development
    Sep 12, 2023 · Use cases help teams manage scope by providing a structured way to evaluate and prioritize features and changes. Testing and Validation: Use ...Missing: advantages | Show results with:advantages
  69. [69]
    Thinking Together, Working Apart: Leveraging a Community of ...
    The intent of this paper is to provide an overview of mechanisms that can facilitate meaningful and productive remote collaboration using online and digital ...
  70. [70]
    Use Case Pitfalls - ACM Digital Library
    Because of their simplicity, use cases are not intimidating, even for teams that have little experience with formal requirements specification and management.
  71. [71]
  72. [72]
    Controlling scope creep - PMI
    SCOPE CREEP IS ONE of the most common problems faced by project managers, and controlling it is not easy. This article presents a hypothetical case, analyzes ...
  73. [73]
    Common Requirements Problems, Their Negative Consequences ...
    There are four major problems with the current use of use case modeling. Firstly, many NFRs are not being engineered at all, and those NFRs that are being ...
  74. [74]
    Requirements engineering challenges and practices in large-scale ...
    This paper presents a multiple case study with seven large-scale systems companies, reporting their challenges, together with best practices from industry.
  75. [75]
    Flexible Requirement Development through User Objectives in an ...
    User stories and use cases are the typical artifacts for specifying requirements in agile methodologies. On the other hand, prototypes, Persona, scenarios ...
  76. [76]
    Requirements engineering challenges and practices in large-scale ...
    Sep 28, 2025 · Objective This paper presents a multiple case study with seven large-scale systems companies, reporting their challenges, together with best ...
  77. [77]
    [PDF] WRITING EFFECTIVE USE CASES
    EFFECTIVE USE CASES. Alistair Cockburn. Humans and Technology pre-publication draft #3, edit date: 2000.02.21 published by Addison-Wesley, c. 2001. Page 2. ii ...
  78. [78]
    Ethical & Bias in AI/ML Considerations
    This review will discuss the relevant ethical and bias considerations in AI-ML specifically within the pathology and medical domain.