Center for Lifelong Engineering Education

Modeling Functional Requirements with Use Cases

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 use cases to the task of modeling the functional requirements of a system. It illustrates how to model use cases with Unified Modeling Language (UML), how to 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. It includes a discussion of user stories, popular in some Agile methods, and compares and contrasts user stories with 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.

Course Outline:

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.


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