699 Windsong Trail
Austin, Texas 78746

Modeling Functional Requirements with Use Cases

Course Overview:   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.

Target Audience:  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.

Prerequisites:  None.  No knowledge of use cases, software development, or the Unified Modeling Language is required.


Course Outline:

Introduction:  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.

Determining System Scope:  “Project blast-off,” including documenting the project’s mission, identifying the root problem, identifying the project stakeholders, and determining system scope.

Actors:  What an actor is.  Business actors versus system actors.  Different types of actors.  Modeling actors in UML.  Identifying actors.  Relationships between actors.

Use Cases:  What use cases are.  Use cases versus goals.  Keeping use cases at the correct level.  Modeling use cases in UML.  Use case scope.

Identifying Use Cases:  Determining the scope of the system or application.  Four distinct approaches for identifying use cases.

Describing Use 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.

Use Case Relationships:  Static (non-temporal) and dynamic (temporal) relationships between use cases.  Describing those relationships.

Process:  A brief discussion of requirements elicitation and requirements sources.  Running joint requirements planning (JRP) sessions.

Transitions:  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.

Return to Use Case Course Catalog

Copyright ©1997-2007 Objective Engineering, Inc. - ALL RIGHTS RESERVED  
Last Update: 05/17/07