Use cases provide a valuable tool for modeling the behavior of systems
and businesses. While they serve several other purposes, use cases
are especially effective for describing functional requirements.
Requirements in the form of use cases offer a refreshing change from
the more typical large, monolithic requirements document.
This two-day course explains how to apply uses cases
to the task of modeling the functional requirements of a system. It
illustrates how to model use cases with Unified Modeling Language (UML)
use case diagrams and, more importantly, how to describe individual
use cases with text and diagrams. It also describes various
approaches one can use to identify use cases, and it explains various
types of relationships between use cases.
This course includes laboratory sessions that afford
attendees an opportunity to identify and describe use cases for
provided problems. The course is two days in duration, although it
can be expanded to include “workshop days” during which the instructor
works with attendees to model the requirements of a system of interest
to the attendees.
This course is aimed at software developers, requirements engineers,
and business analysts who are interested in or charged with modeling
functional requirements with use cases. Because it addresses only
requirements modeling (and not software design), it is equally
beneficial to developers and non- developers.
None. No knowledge of use cases, software development, or the Unified
Modeling Language is required.
Course objectives. What use cases are (and are not). A description
of the case study to be used throughout the course. Some references
to books on uses cases.
Scope: “Project blast-off,” including documenting the
project’s mission, identifying the root problem, identifying the
project stakeholders, and determining system scope.
What an actor is. Business actors versus system actors. Different
types of actors. Modeling actors in UML. Identifying actors.
Relationships between actors.
What use cases are. Use cases versus goals. Keeping use cases at the
correct level. Modeling use cases in UML. Use case scope.
Cases: Determining the scope of the system or
application. Four distinct approaches for identifying use cases.
Cases: Different ways of describing the details of
individual use cases, including writing briefs, listing steps, and
using activity diagrams. Alternative paths versus error paths.
Writing black-box use cases that avoid design details.
Relationships: Static (non-temporal) and dynamic
(temporal) relationships between use cases. Describing those
A brief discussion of requirements elicitation and requirements
sources. Running joint requirements planning (JRP) sessions.
A brief overview of how use cases can guide subsequent project
activities such as estimation of development effort, application
design, user interface design, and testing.
Use Case Course Catalog