Use cases attempt to bridge the problem of requirements not being tied to user interaction. A use case is written as a series of interactions between the user and the system, similar to a call and response where the focus is on how the user will use the system. In many ways, use cases are better than a traditional requirement because they emphasize user-oriented context. The value of the use case to the user can be divined, and tests based on the system response can be figured out based on the interactions. Use cases usually have two main components: Use case diagrams, which graphically describe actors and their use cases, and the text of the use case itself.
Use cases are sometimes used in heavyweight, control-oriented processes much like traditional requirements. The system is specified to a high level of completion via the use cases and then locked down with change control on the assumption that the use cases capture everything.
Both use cases and traditional requirements can be used in agile software development, but they may encourage leaning heavily on documented specification of the system rather than collaboration. I have seen some clever people who could put use cases to work in agile situations. Since there is no built-in focus on collaboration, it can be tempting to delve into a detailed specification where the use case becomes the source of record rather than a mechanism for conversations.
Use Case Example
The placement specialist selects a candidate search.
The system retrieves a list of candidate specialties and populates the candidacy list.
The system retrieves a predefined list of candidate specialties and populates the specialty list.
The system retrieves a predefined list of geographic regions.
The system displays the candidate search screen.
The placement specialist selects a candidate specialty.
The placement specialist selects a candidate role.
The placement specialist selects a geographic region.
The system identifies the region and populates the subregion.
The placement specialist selects the geographic subregion.
The placement specialist selects the search initiation button or mechanism.
The system retrieves a list of candidates who match the candidate specialty search. [Alt 1]
The system displays a list of candidates who match the search. [Alt 2]
End use case
Alt 1: If there are no matches, the system displays a message indicating that no matches were found. End use case.
Alt 2: If there are more matches than the user can view, the system will provide the capability to display multiple pages. End use case.