Exploring User Requirements with Use Cases

Use cases are an effective and widely used technique for eliciting software requirements. The use-case approach focuses on the goals that users have with a system, rather than emphasizing system functionality. This one-day seminar presents the use-case approach to requirements elicitation in a practical and straightforward fashion. Many practice sessions give the student opportunities to try some of the techniques described.

This course will emphasize

  • Business, user, and functional requirements
  • The requirements development process
  • Identifying user classes and actors
  • Scenarios and use cases
  • Anatomy of a use case
  • Use case diagrams and other analysis models
  • Documenting a use case
  • Conducting use-case elicitation workshops
  • Deriving functional requirements from use cases
  • Reviewing use cases
  • Using use cases to design test cases

Objectives

On completion of this seminar, the student will be able to:

  • Describe the value of use cases in requirements elicitation.
  • Identify use cases for a project.
  • Identify and describe actors.
  • Lead a use-case elicitation workshop.
  • Write use case descriptions at various levels of detail.
  • Apply use cases to develop functional requirements and test cases for a software system.

Audience

This course will be useful to requirements or business analysts, user representatives, software developers, testers, project managers, and anyone else who needs to understand the user requirements for a software system.

Format

Lecture with many group discussions and practice sessions.

We provide a diagnostic of current requirements practices that all participants complete prior to the training. This serves to introduce topics that will be covered in the training, and helps the instructor understand where to emphasize content in the course.

Participants get a complete snapshot of the results (statistically anonymous, of course), as well as feedback on where the group lies relative to others that have taken the diagnostic in the past.

Outline

Software Requirements Overview

  • Introduction to seminar, objectives, participant expectations
  • Classifying different kinds of requirements information
  • Requirements definitions
  • A requirements development process
  • Context diagram
  • Practice session: Drawing a context diagram
  • User classes and actors
  • Practice session: Identifying actors

Use Cases: What, Why, and How

  • What use cases are and are not
  • Scenarios and use cases
  • Use-case diagrams
  • A use-case development process
  • Discovering use cases
  • Practice session: Identifying use cases and drawing a use-case diagram
  • Anatomy of a use case
  • Preconditions and postconditions
  • Practice session: Identifying preconditions and postconditions
  • Chaining use cases
  • The normal flow, alternative flows, and exceptions
  • Practice session: Identifying exceptions
  • Writing good use cases
  • Three iterations of use-case development
  • Analysis models and use cases
  • The use-case include and extend relationships

Use-Case Elicitation Workshops

  • The use-case workshop process
  • Facilitating requirements workshops
  • Prioritizing use cases
  • Practice session: Writing a detailed use case

From Use Cases to Software

  • Use cases and functional requirements
  • Reviewing use cases
  • Use cases and software testing
  • Practice session: Writing functional requirements
  • Use-case traps to avoid

This course has been licensed from Karl Wiegers and Process Impact.

Please contact us for more information regarding this offering.

  • Search by Topic

  • What’s Happening

    September 15, 2016: Thanks to the Vancouver chapter of the IIBA for inviting me to present a talk about Real Analysis agility - the bottom line is thoughtful application of effective analysis over Cargo Cult application of the latest fashionable approach! - fabulous interaction, great feedback!
    November, 2016 - A workshop series to help you develop resilience in the workplace and in your life!
    Next open enrolment sessions start soon - contact us to get involved!
  • On The Road Again

    Jim frequently travels across Western Canada for engagements, and welcomes opportunities to meet, run a workshop, Diagnostic or Lunch and Learn session.


    Contact Jim if you would like to connect around any of the upcoming dates:

    • March 1-3, 2017 - Winnipeg, MB
    • March 6-8, 2017 - Edmonton, AB
    • March 15-17, 2017 - Victoria, BC
  • What People are Saying

    I learned a lot from Jim, and will always be grateful to have had him as instructor and client. Jim’s class lectures reflect how knowledgeable and well rounded he is – as a person, software developer, and project manager. As a client, Jim is great because he understands the issues that obscure most projects. He made sure we both achieved our goals. It will always be a pleasure working with him.

    — Donabel Santos