Introduction to use cases

​In this section we give a bit of background on what use cases are, and why they are used for the capture and refinement of functional requirements. Specifically we cover the following topics:

About Use Cases

This page describes what a use case is, and gives reasons why we use use cases for the capture and documentation of functional requirements.

Capturing Use Cases

On this page we talk about the overall process of requirements gathering and refinement in any software development lifecycle. We then talk about the iterative and incremental approach to capturing initial use cases and recording them, followed by successive refinement until they are sufficiently detailed to go forward for development and test construction.

Use Case Final Form

Here we talk about fully dressed templates, and introduce one as a candidate for how use cases might be represented in a formal functional requirements specification.

Use Case Include Relationships

This page talks about the UML inclusion construct for use cases, and how they can be used to factor out common sequences of steps form among similar use cases.

Use Case Extension Relationships

This page describes the UML 'extend' construct, and how it can be used to show use cases with significant business goals in their own right as nested use cases inside an outer use case.

Activity Diagrams

This page shows how UML activity diagrams can give a good picture of the whole of the use case including its various alternative flows within a single diagram. An example of a fully dressed use case description is given together with its equivalent activity diagram.