Use case

use casesuse-caseUse case diagramuse case scenariosUse-case-driven
In software and systems engineering, a use case is a list of actions or event steps typically defining the interactions between a role (known in the Unified Modeling Language (UML) as an actor) and a system to achieve a goal.wikipedia
173 Related Articles

Requirements analysis

requirementsanalysisrequirement analysis
Use case analysis is an important and valuable requirement analysis technique that has been widely used in modern software engineering since its formal introduction by Ivar Jacobson in 1992.
Techniques introduced in the 1990s like prototyping, Unified Modeling Language (UML), use cases, and agile software development are also intended as solutions to problems encountered with previous methods.

ICONIX

ICONIX process
Use case-driven development is a key characteristic of many process models and frameworks such as ICONIX, the Unified Process (UP), the IBM Rational Unified Process (RUP), and the Oracle Unified Method (OUM).
Like RUP, the ICONIX process is UML Use Case driven but more lightweight than RUP.

Use case diagram

DiagramsUse Case Diagramsuse case model
In the Unified Modeling Language, the relationships between use cases and actors are represented in use case diagrams originally based upon Ivar Jacobson's Objectory notation.
A use case diagram at its simplest is a representation of a user's interaction with the system that shows the relationship between the user and the different use cases in which the user is involved.

Systems engineering

systems engineersystem engineeringsystems
In software and systems engineering, a use case is a list of actions or event steps typically defining the interactions between a role (known in the Unified Modeling Language (UML) as an actor) and a system to achieve a goal.

Functional requirement

functional requirementsfunctionalfunctional user requirements
In 1992 his co-authored book Object-Oriented Software Engineering - A Use Case Driven Approach helped to popularize the technique for capturing functional requirements, especially in software development.
Behavioral requirements describe all the cases where the system uses the functional requirements, these are captured in use cases.

Ivar Jacobson

Ivar Jacobson Consulting
Use case analysis is an important and valuable requirement analysis technique that has been widely used in modern software engineering since its formal introduction by Ivar Jacobson in 1992. In the Unified Modeling Language, the relationships between use cases and actors are represented in use case diagrams originally based upon Ivar Jacobson's Objectory notation.
At Objectory he also invented use cases as a way to specify functional software requirements.

Alistair Cockburn

Cockburn, Alistair
Since then, other experts have also contributed a great deal to the technique, notably Alistair Cockburn, Larry Constantine, Dean Leffingwell, Kurt Bittner and Gunnar Overgaard.
He is a principal expositor of the use case for documenting business processes and behavioral requirements for software, and inventor of the Cockburn Scale for categorizing software projects.

System sequence diagram

Specifically, a System Sequence Diagram (SSD) is a sequence diagram often used to show the interactions between the external actors and the system under design (SuD), usually for visualizing a particular scenario of a use case.
In software engineering, a system sequence diagram (SSD) is a sequence diagram that shows, for a particular scenario of a use case, the events that external actors generate, their order, and possible inter-system events.

Actor (UML)

actoractors
In software and systems engineering, a use case is a list of actions or event steps typically defining the interactions between a role (known in the Unified Modeling Language (UML) as an actor) and a system to achieve a goal.
Actors interact with use cases.

Use-case analysis

Use case analysisuse-case realizations
Use case analysis is an important and valuable requirement analysis technique that has been widely used in modern software engineering since its formal introduction by Ivar Jacobson in 1992.
Use case analysis is a technique used to identify the requirements of a system (normally associated with software/process design) and the information used to both define processes used and classes (which are a collection of actors and processes) which will be used both in the use case diagram and the overall use case in the development or redesign of a software system or program.

Larry Constantine

ConstantineLarry L. Constantine
Since then, other experts have also contributed a great deal to the technique, notably Alistair Cockburn, Larry Constantine, Dean Leffingwell, Kurt Bittner and Gunnar Overgaard.
His work on human-computer interaction was influential for techniques like essential use cases and usage-centered design, which are widely used for building interactive software systems.

I*

In contrast, the UML Use case approach covers only functional goals, with actors directly involved in operations (typically with software).

Event partitioning

Event partitioning is an easy-to-apply systems analysis technique that helps the analyst organize requirements for large systems into a collection of smaller, simpler, minimally-connected, easier-to-understand "mini systems" / use cases.

CaseComplete

CaseComplete is a requirements management application from Serlio Software that allows business analysts and software developers to create and manage Use Cases and Software Requirements.

Abuse case

The term Abuse Case is an adaptation of use case.

Misuse case

The term Misuse Case or mis-use case is derived from and is the inverse of use case.

User-centered design

user-centereduser centred designuser-centred design
Use case authoring has been an important and valuable analysis tool in the domain of User-Centered Design (UCD) for years.
In short, a use case describes the interaction between an individual and the rest of the world.

Agile software development

Agileagile developmentAgile Manifesto
With its inherent iterative, incremental, and evolutionary nature, use case also fits well for agile development.
In agile software development, stories (similar to use case descriptions) are typically used to define requirements and an iteration is a short period of time during which the team commits to specific goals.

Scenario (computing)

scenariosScenariousage scenarios
Scenarios are often defined in use cases, which document alternative and overlapping ways of reaching a goal.

User story

user storiesstoriescustomer's story language
Brief: (equivalent to a user story or an epic)
A use case has been described as "a generalized description of a set of interactions between the system and one or more actors, where an actor is either a user or another system."

Requirements elicitation

elicitationelicitingEliciting requirements
Requirements elicitation practices include interviews, questionnaires, user observation, workshops, brainstorming, use cases, role playing and prototyping.

Scrum (software development)

Scrumproduct ownerproduct backlog
Agile and Scrum are neutral on requirement techniques.
Common formats include user stories and use cases.

Entity-control-boundary

Robustness diagramEntity-boundary-controlEntity-Control-Boundary pattern
The Entity-Control-Boundary (ECB), or Entity-Boundary-Control (EBC), or Boundary-Control-Entity (BCE) is an architectural pattern used in use-case driven object-oriented software design that structures the classes composing a software according to their responsibilities in the use-case realization.

Use Case Points

The Use Case Points method (UCP)
The concept of UCP is based on the requirements for the system being written using use cases, which is part of the UML set of modeling techniques.