Course 121:
Advanced Use Case Modeling for Business Analysts

(2 days)


Course Description

The use case is a method for documenting the behavior between the user of a system and the system. Use cases have been in the software development lexicon for twenty years since introduced by Ivar Jacobson in the late 1980s. They were originally intended as aides to software design in object-oriented approaches. Now the method is used throughout the Solution Development Life Cycle from elicitation to test case specification, and is applied to structured, as well as object-oriented software development approaches.

This course identifies how business analysts can apply use cases to the processes of defining the problem domain through elicitation, analyzing the problem, defining the solution, and confirming the validity and usability of the solution.

Learning Objectives

  • Apply the use case method to define the problem domain and discover the conditions that cause problems in the business process
  • Employ use cases in the analysis of requirements and information to create a solution to the business problem
  • Translate use cases into requirements

Who Should Attend

Business analysts, software developers, business users, product owners, project managers, and anyone else with an interest in understanding how to employ use cases to solve business problems.


Completion of basic business analyst courses such as ROI Course 103: Roles, Responsibilities, and Processes of the Business Analyst.

Course Outline

Unit 1: Use Case Overview

  • Define the Problem Domain
    • What Is a Use Case Model?
    • The How and Why of Use Cases
    • When to Perform Use Case Modeling
    • Use Case Strengths and Weaknesses
    • Use Case Variations
    • Use Case-Driven Development
    • Use Cases and…
      • Prototyping
      • Storyboarding
      • Scenarios
      • The Development Life Cycle

Unit 2: Elicitation with Use Cases

  • Use Case Lexicon
    • Use Cases
    • Actors and Roles
    • Associations
    • Goals
    • Boundaries
  • Use Case Diagrams
    • Why Diagram?
    • Partitioning the Domain
    • Use Case Diagramming Guidelines
  • Use Case Descriptions
    • Use Case Generic Description Template
    • CVS Alternative Template
    • Elements
    • Pre- and Post-Conditions
    • Main Success Scenario
    • The Conversation
    • Alternate Paths
    • Exception Paths
    • Writing Good Use Case Descriptions
  • Additional Use Case Information

Unit 3: Analyzing with Use Cases

  • Essential or Requirements Use Case
    • Use Case Level of Detail
  • Evaluating and Analyzing Functional Requirements
    • Analyzing with Use Cases
  • Generalization and Specialization
    • What Is It?
    • When to Use Generalization or Specialization
    • Generalization and Specialization of Actors
    • Generalization and Specialization of Use Cases
    • Examples
  • Use Case Extensions
    • Extends
    • Includes
    • Why Use These Extensions?
    • Extensions or Separate Use Cases
  • Identifying When to Use Extensions
    • Common Patterns
    • Reuse Considerations
  • Patterns and anomalies
    • Redundant Actors
    • Linking Hierarchies
    • Granularity Issues
    • Non-User Interface Use Cases
  • Quality Considerations
    • Use Case Modeling Errors to Avoid
    • Evaluating Use Case Descriptions
    • Use Case Quality Checklist

Unit 4: Coming Up with the Requirements

  • System Use Case
    • Reviewing Business Use Cases
    • Balancing Use Cases
  • Use Case Realizations
    • Expanding and Explaining Complexity
    • Goals
  • Applying What We Know
    • Extension Points
    • User Case Chaining
  • Identifying Decision Points
  • Where Are the Requirements?
    • Linking Mechanisms

Unit 5: The Bottom Line

  • Review of Use Cases
  • Where to Go for More Information
  • Course Summary

Please Contact Your ROI Representative to Discuss Course Tailoring!