Discovering Use Cases: An Introduction to Use Cases

 

 

 

 

Duration

2 days

Audience:

This workshop will benefit anyone who deals with Use Cases such as System Analysts, Business Analysts, Product Managers, Project managers, Developers, Testers, and anyone else who is interested in the process of capturing requirements for object-oriented systems using Use Cases.

Pre-requisites:

Participants should be familiar with software requirements and software requirements management.

Brief Description:

Use Cases organize requirements into stories that describe how a user actually uses the system to obtain value.

Description

How do I find good requirements?”is the questions software analysts frequently ask themselves when analyzing a problem. Ivar Jacobson introduced Use Cases to the world in 1992 with his pioneering book “Object-oriented Software Engineering”. Since then, Use Cases have become a popular tool for capturing and modeling functional requirements from the user’s perspective.

Use Cases organize requirements into stories that describe how a user actually uses the system to obtain value. The Use Case approach provides more context than traditional approaches for describing requirements and therefore makes it easier for the analyst, the client, and the developers to understand the system’s requirements.

Use Cases are also part of the Unified Modeling Language (UML) and because of their many important advantages and popularity, Use Cases are a fundamental part of most Object-oriented software development processes.

 

Target Audience

Anyone interested in the art of analysis with Use Cases

 

Course Level

Beginner

 

Course Pre-requisites

Participants should be familiar with software requirements and software requirements management.

 

Course Objectives

This is a hands on workshop intended to familiarize the participant with basic use case concepts, the benefits of use cases, and their limitations. It will also provide first hand experience with writing Use Cases in teams. The objectives for the participants include:

  • Understanding what a use case is
  • Understand the benefits of use cases
  • Know the fundamental elements of a use case
  • Know the limitations of use cases
  • Capture and express functional requirements with use cases
  • Express alternative courses of action within a use case
  • Know some templates for organizing use case content
  • Know when to use and also when to avoid using uses and extend
  • Style guidelines for use cases
 

Course Outline

  • Why Use Cases?
  • The One Minute Use Case
    • I Understand the Requirements, but what does it actually do?
    • What exactly is a use case?
    • Use cases and system context
    • Fundamental Concepts:
      • Actors
      • Use Cases
      • Associations
    • Use cases and other requirements artifacts
  • Discovering high level uses cases
    • Breadth before depth
    • Finding Actors
    • Finding Use Cases
    • Constructing a Use Case Diagram
    • Writing high level actor descriptions
    • Writing high level use case descriptions
    • Non functional requirements
    • Practice I: Explore a simple system and develop a set of high level use cases
  • Expanding the use case

    • Increasing the precision of the use case
    • Alternative courses of action
    • Guidelines for writing use case steps
    • Supplementary specifications
    • Generic use case template
    • Practice II: Expand use cases developed during practice I
  • Structuring the Use Case Model
    • For UML aficionados, understand <<include>>, <<extends>> and all the controversy
    • Include use case
    • Misuses of includes
    • Extension use cases
    • Extension points
    • Generalization
 

Delivery Format

This seminar may be delivered either in-person or virtually. This workshop uses a variety learning methods, including lecture, question and answer, and group assignments.