Page 17 -
P. 17
Chapter 6, Software Requirements
Use Cases
Functional and Nonfunctional Requirements
Software Requirements Specifications
Change Control
Chapter 7, Design and Programming
Configuration Management
Subversion
Refactoring
Unit Tests
Project Automation Software
Chapter 8, Software Testing
Test Plans
Test Cases
Test Automation
Defect Tracking System
Postmortem Meetings
Metrics
Most of these tools and techniques can be applied independently of one another. However,
there are a few that rely on tools in other parts of the book. (For example, it is very difficult
to build a test plan and test cases without a software requirements specification.) When this
is the case, it is always because the software project will be better off with the other tool in
place first, and the project will see a greater gain by implementing the other tool instead.
Many of the practices in this book are described using a process script that contains step-by-step
instructions to help guide the team through the practice. “Script” should bring to mind a
script read by an actor, rather than a script run by a computer. All scripts follow the same for-
mat (which is based on the template used for use cases, defined in Chapter 6) that contains:
• A name, one-line description of the purpose, and a brief summary.
• A list of work products that are used in the script. Work products are labeled as “input”
if they already exist and are used in the script; they are labeled as “output” if they are
generated or updated by the script.
• Entry criteria that must be satisfied before the script can begin.
• A basic course of events, which consists of step-by-step instructions to lead the team
through the script activities.
• Alternate paths that the team members may follow to deviate from the basic course of
events.
• Exit criteria that should be satisfied when the script ends.
INTRODUCTION 9