Description
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. Following the seminar, an attendee will be able to lead and participate
in a use-case elicitation workshop, write use case descriptions at various
levels of detail, review use cases, and apply use cases to develop the
functional requirements for a software system. Many practice sessions
give the student opportunities to try some of the techniques described.
Topics covered include:
- 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 analysts, user representatives,
software developers, 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.
I. Software Requirements
Overview
A. Introduction to
seminar, objectives, participant expectations
B. Classifying different kinds of requirements information
C. Requirements definitions
D. A requirements development process
E. Context diagram
F. Practice session: Drawing a context diagram
G. User classes and actors
H. Practice session: Identifying actors
II. Use Cases:
What, Why, and How
A. What use cases
are and are not
B. Scenarios and use cases
C. Use-case diagrams
D. A use-case development process
E. Discovering use cases
F. Practice session: Identifying use cases and drawing a use-case diagram
G. Anatomy of a use case
H. Preconditions and postconditions
I. Practice session: Identifying preconditions and postconditions
J. Chaining use cases
K. The normal flow, alternative flows, and exceptions
L. Practice session: Identifying exceptions
M. Writing good use cases
N. Three iterations of use-case development
O. Analysis models and use cases
P. The use-case includes and extends relationships
III. Use-Case Elicitation
Workshops
A. The use-case workshop
process
B. Facilitating requirements workshops
C. Prioritizing use cases
D. Practice session: Prioritizing use cases
E. Practice session: Writing a detailed use case
IV. From Use Cases
to Software
A. Use cases and functional
requirements
B. Reviewing use cases
C. Use cases and software testing
D. Practice session: Writing functional requirements
E. Use-case traps to avoid
|