This is a self-training version of Process Impact's popular 1-day live seminar. The course consists of 8 modules with nearly 6 hours of audio and many practice activities that provide a solid introduction to the powerful use-case technique for understanding what users need to be able to accomplish with a software system. Each module contains slides that animate and advance automatically, with a synchronized audio presentation. Each module has several reference documents available, including magazine articles, templates, sample requirements documents, and other work aids. You can also access those reference documents from the module descriptions on this page. From this page you can also print a PDF version of a 2-up handout master of the slides and accompanying worksheets. Several modules include short quizzes so you can test your knowledge of the key points in the module. The course consists of the following modules:
|
|
Click on the links below to download some of the products mentioned here.
This module presents an overview of the "Exploring User Requirements with Use Cases" course. It describes the system requirements for getting full value from the course and how to use the presentation player. It also summarizes the course objectives and the agenda for the remaining modules.
Reference documents for this module:
Module 2 presents a brief introduction to the domain of software requirements engineering. It provides definitions and examples of various types of requirements information and describes how to classify user input into these various categories. Use cases are defined and examples of good and not-so-good use case names are shown. I describe where use cases fit into an overall requirements development process. I also describe a vision statement and context diagram, useful tools for defining your system boundary. This material is covered in Chapters 1, 3, 5, and 7 in Software Requirements, 2nd Edition.
Reference documents for this module:
In this module I describe the difference between stakeholders, customers, and users. We discuss the idea of user classes for a product and the concept of "actors," roles that users perform with respect to the system. Actors interact with the system through use cases. User classes are discussed in Chapter 6 of Software Requirements, 2nd Edition and actors are explained in Chapter 8.
Start PresentationReference documents for this module:
In this module you will learn why use cases are a valuable tool for requirements elicitation on many projects. We'll discuss the relationship between scenarios and use cases. The use-case diagram from the Unified Modeling Language is introduced. Practice sessions give you a chance to identify and model some use cases for some sample products. We'll also talk a little about prioritizing use cases. This material is the subject of Chapters 8 and 14 in Software Requirements, 2nd Edition.
Reference documents for this module:
This module describes the various components of a use case in detail, presenting a robust use-case template. We'll examine the preconditions, postconditions, normal flow, alternative flows, and exceptions. I'll describe three iterations of use case refinement and present some guidance to help you judge just how much detail you need to put into each use case. Several practice sessions provide an opportunity to write a moderately complex use case.
Reference documents for this module:
This short module describes the "include" and "extend" relationships that you can define between pairs of use cases, showing how to represent these on the UML use-case diagram. I also show some examples of using analysis models to augment the textual information found in a use-case description.
Reference documents for this module:
The requirements analyst often facilitates or participates in collaborative requirements elicitation workshops. This module presents some suggestions for facilitating such workshops, using a case study of an actual project to illustrate the approach. This material is the subject of Chapter 7 in Software Requirements, 2nd Edition.
Reference documents for this module:
Use cases aren't an end in themselves. They're a tool to help the analyst discover the functional requirements that developers need to implement. This final module describes a thought process for going from use cases to a software requirements specification. Use cases also provide a valuable starting point for developing user acceptance tests. Chapter 10 in Software Requirements, 2nd Edition provides a lot of information about writing good requirements.
Reference documents for this module: