Requirements Analysis and Use Cases Workshop

Use Cases are an industry best practice for defining, documenting, and analyzing functional requirements. A use case approach is a user-centered approach for developing a solution to your business needs. Unfortunately, methods for developing use cases vary substantially across the industry. What information belongs in a use case? How can a use case be utilized to capture all the desired functionality? Are use cases applicable to all projects? Is there a template for writing use cases that is considered best practice? If you've ever been involved in a project involving use cases, you've probably encountered some confusing answers to these questions. Learn practical answers to these questions from one of the pioneers in Object Oriented Analysis. We have been developing and sharing best practices in use cases since the early 1990s.

This 2-day course provides a strong foundation in the mechanics of use case diagramming and writing textual descriptions of use cases. In this highly interactive workshop, you will learn how to enhance and refine your use case skills, how to involve your stakeholders in the use case process, and how to develop use cases that provide valuable information to the designers and testers. Use cases that meet the needs of designers can be too technical and too detailed for other stakeholders. Use cases that satisfy business users are usually not very helpful to designers and testers. How do you satisfy these two disparate interests? And how do you handle the details like business rules, data validations and user interface specifications?

Course Outline

Module 1: Introduction

  • Course objectives

  • Understanding of business analysis

  • Knowledge areas of BABOK® Guide

Module 2: Overview of Use Cases

  • Describe the purpose and value of a use case approach

  • Use case terminology

  • Introducing a use case approach

Module 3: Needs Assessment

  • Purpose of Needs Assessment

  • Needs Assessment and use cases

  • Defining and understanding the strategic goals and objectives

  • Understanding the business process

  • Identifying actors

  • Identifying business information

  • Analyzing locations and operations

  • Drawing the business use case diagram

  • Building the business architecture

  • Defining solution options

Module 4: Defining System Scope

  • Product scope/project scope

  • System actors versus business actors

  • Analyzing the business process model

  • Analyzing business use cases

  • Identifying candidate use cases

  • Identifying scenarios

  • Diagramming use cases

  • Draw a use case diagram

  • Create a use case catalog

Module 5: Evaluating, Prioritizing, and Packaging Use Cases

  • Iterative nature of this work

  • Evaluating use cases

  • Use case priority

  • Use case risk

  • Use case complexity

  • Use case dependencies

  • Evaluate and Prioritize use cases

  • Dividing work up between releases

  • Packaging

  • A process for how to perform packaging

Module 6: Writing the main success scenario

  • Use case descriptions

  • Primary and secondary goals

  • Assumptions

  • Pre-conditions

  • Triggers

  • Post-conditions

  • Scenario example

  • Main success scenario

  • Conditional execution

  • Use cases and requirements

  • Best practices for writing a use case description

Module 7: Writing the other scenarios

  • Scenarios and flows

  • Alternate scenarios and flows

  • Alternate vs. basic flow

  • Guidelines for alternate flows

  • Exception flows

  • Failed post conditions

  • Write alternate and exception flows

Module 8: Process Modeling to describe use case flows

  • UML® Activity Diagram Notation

  • Sequencing activities

  • Developing an activity diagram

  • Facilitated sessions

  • Draw a UML® Activity Diagram

Module 9 Using Advanced Diagramming Techniques

  • Commonality

  • Dependency Relationships

  • <<Includes>>

  • <<Extends>>

  • Identify <<include>> and <<extend>> relationships

  • Comparing the different relationships

Module 10: Developing a Requirements Specification

  • Requirements and use cases

  • Detailed requirements

  • Common approaches to specifications

  • Non-functional requirements

  • Write non-functional requirements

  • User interface requirements

  • UI data descriptions

  • Business rules

  • Decision tables and inference rules

  • How to document simple calculations

  • Reporting requirements

  • Data requirements

  • Data accessibility requirements

  • Traceability

Module 11: Course Summary

  • Wrap-up

  • Finding more information


This course has been expressly designed for the Business Analyst, Business System Analyst, System Analyst, and/or Requirements Engineer.  The Designer, Developer and Tester who are actively involved in utilizing use cases may also benefit from this workshop.

Knowledge of requirements process and requirements elicitation techniques