Preface |
|
xv | |
|
The Trouble with Requirements |
|
|
|
First and Least of All... |
|
|
1 | (3) |
|
|
4 | (5) |
|
|
8 | (1) |
|
Nonfunctional Requirements |
|
|
9 | (1) |
|
Requirements Gathering, Definition, and Specification |
|
|
9 | (2) |
|
The Challenges of Requirements Gathering |
|
|
11 | (3) |
|
Finding Out What the Users Need |
|
|
11 | (1) |
|
|
12 | (1) |
|
Avoiding Premature Design Assumptions |
|
|
12 | (1) |
|
Resolving Conflicting Requirements |
|
|
12 | (1) |
|
Eliminating Redundant Requirements |
|
|
13 | (1) |
|
Reducing Overwhelming Volume |
|
|
13 | (1) |
|
Ensuring Requirements Traceability |
|
|
13 | (1) |
|
Issues with the Standard Approaches |
|
|
14 | (4) |
|
|
14 | (1) |
|
Joint Requirements Planning Sessions |
|
|
14 | (1) |
|
|
15 | (3) |
|
|
18 | (1) |
|
Those Troublesome Requirements |
|
|
18 | (4) |
|
|
|
It's All About Interactions |
|
|
22 | (1) |
|
|
23 | (3) |
|
The Unified Modeling Language |
|
|
26 | (8) |
|
|
28 | (5) |
|
Extending the UML with Stereotyping |
|
|
33 | (1) |
|
Introducing Use Cases, Use Case Diagrams, and Scenarios |
|
|
34 | (14) |
|
|
35 | (3) |
|
How Use Case Diagrams Show Relationships |
|
|
38 | (3) |
|
|
41 | (5) |
|
|
46 | (2) |
|
|
48 | (3) |
|
Use Cases for Inauiry-Only Systems |
|
|
49 | (1) |
|
Use Cases for Requests for Proposals |
|
|
50 | (1) |
|
Use Cases for Software Package Evaluation |
|
|
50 | (1) |
|
Use Cases for Non-Object-Oriented Systems |
|
|
50 | (1) |
|
Applying Use Cases to the Requirements Problem |
|
|
51 | (2) |
|
A Use Case---Driven Approach to Requirements Gathering |
|
|
|
Requirements Specification Tools |
|
|
53 | (1) |
|
Principles for Requirements Success |
|
|
53 | (2) |
|
Four Steps for Gathering Requirements |
|
|
55 | (1) |
|
The Role of the Problem Statement |
|
|
56 | (1) |
|
The Role of the Statement of Work |
|
|
57 | (1) |
|
The Role of the Risk Analysis |
|
|
57 | (1) |
|
The Role of the Prototype |
|
|
57 | (2) |
|
|
59 | (1) |
|
Use Cases Are Effective Communication Vehicles |
|
|
59 | (1) |
|
Use Cases Can Be Used for Functional and Nonfunctional Requirements |
|
|
59 | (1) |
|
Use Cases Help Ensure Requirements Traceability |
|
|
59 | (1) |
|
Use Cases Discourage Premature Design |
|
|
60 | (1) |
|
The Role of the Business Rules Catalog |
|
|
60 | (2) |
|
|
62 | (1) |
|
|
|
|
63 | (3) |
|
Steps in the Facade Iteration |
|
|
66 | (8) |
|
Create a Problem Statement |
|
|
67 | (1) |
|
Identify and Review Existing Documentation and Intellectual Capital |
|
|
67 | (1) |
|
Get the Executive Sponsor's Unique Viewpoint |
|
|
68 | (2) |
|
Identify the Users, Customers, and Related Groups |
|
|
70 | (1) |
|
Interview the Stakeholders |
|
|
71 | (1) |
|
|
72 | (1) |
|
Create the Facade Use Cases |
|
|
72 | (2) |
|
Start the Business Rules Catalog |
|
|
74 | (1) |
|
|
74 | (1) |
|
Create a Statement of Work |
|
|
74 | (1) |
|
Get Informal Approval from the Executive Sponsor |
|
|
74 | (1) |
|
|
74 | (9) |
|
|
74 | (3) |
|
|
77 | (1) |
|
|
78 | (1) |
|
|
78 | (1) |
|
|
79 | (1) |
|
|
80 | (1) |
|
Packages As Placeholders for Functionality |
|
|
80 | (1) |
|
|
80 | (2) |
|
|
82 | (1) |
|
|
83 | (1) |
|
|
83 | (1) |
|
|
83 | (1) |
|
|
83 | (1) |
|
|
84 | (1) |
|
|
|
|
85 | (1) |
|
|
86 | (15) |
|
Break Out Detailed Use Cases |
|
|
86 | (4) |
|
|
90 | (5) |
|
Collect and Document Nonfunctional Requirements |
|
|
95 | (4) |
|
|
99 | (1) |
|
Test the Filled Use Cases |
|
|
99 | (1) |
|
|
100 | (1) |
|
|
101 | (4) |
|
The Stakeholder Interview |
|
|
102 | (1) |
|
|
102 | (1) |
|
White Space Analysis Filter |
|
|
102 | (1) |
|
|
103 | (1) |
|
Testing Use Cases with Scenarios |
|
|
103 | (1) |
|
|
104 | (1) |
|
|
104 | (1) |
|
|
105 | (1) |
|
|
105 | (1) |
|
|
105 | (1) |
|
|
105 | (2) |
|
|
|
|
107 | (1) |
|
What Are Focused Use Cases? |
|
|
108 | (2) |
|
|
110 | (1) |
|
Create the Context Matrix |
|
|
110 | (1) |
|
Remove Duplicate Processes |
|
|
110 | (1) |
|
Bring Focus to Each Use Case |
|
|
111 | (1) |
|
Scope Changes During This Iteration |
|
|
111 | (1) |
|
|
112 | (1) |
|
|
112 | (1) |
|
|
113 | (1) |
|
|
113 | (1) |
|
|
113 | (1) |
|
|
114 | (1) |
|
|
114 | (4) |
|
|
114 | (1) |
|
|
115 | (2) |
|
Surplus Functionality Filter |
|
|
117 | (1) |
|
Narrow the Focus of the System |
|
|
117 | (1) |
|
Identify Surplus Functionality Inside the Use Case |
|
|
117 | (1) |
|
|
118 | (1) |
|
|
118 | (1) |
|
|
118 | (1) |
|
|
119 | (1) |
|
|
119 | (2) |
|
|
|
|
121 | (1) |
|
|
122 | (6) |
|
Add User Interface Requirements |
|
|
122 | (3) |
|
Abstract and Combine Nonfunctional Requirements |
|
|
125 | (1) |
|
Make Final Scope Decisions and Get Sign-Off |
|
|
126 | (1) |
|
Baseline the Requirements |
|
|
127 | (1) |
|
|
128 | (1) |
|
|
128 | (1) |
|
|
128 | (1) |
|
|
129 | (1) |
|
|
129 | (1) |
|
|
129 | (4) |
|
Managing the Requirements Activity |
|
|
|
Managing the Iterative, Incremental Lifecycle |
|
|
133 | (7) |
|
Why Switch from Waterfall? |
|
|
134 | (2) |
|
The Meaning of ``Incremental'' |
|
|
136 | (1) |
|
The Meaning of ``Iterative'' |
|
|
137 | (1) |
|
From Waterfall to Iterative and Incremental |
|
|
138 | (1) |
|
Developers Love It, but Managers Struggle |
|
|
139 | (1) |
|
The Role of the Scenario in Management |
|
|
140 | (1) |
|
Using Scenarios to Plan, Schedule, and Estimate |
|
|
140 | (1) |
|
You Know the Plan Is Wrong |
|
|
141 | (1) |
|
The Atmosphere During Requirements Gathering |
|
|
141 | (2) |
|
|
142 | (1) |
|
|
142 | (1) |
|
Free-Flowing Adaptability |
|
|
142 | (1) |
|
Managing Application and Architecture Requirements |
|
|
143 | (1) |
|
Ensuring Quality in Requirements |
|
|
143 | (2) |
|
Provide Unique Identification for Use Cases and Business Rules |
|
|
144 | (1) |
|
Use a Database to Store Use Cases and Business Rules |
|
|
144 | (1) |
|
|
144 | (1) |
|
|
145 | (3) |
|
|
|
|
148 | (1) |
|
|
149 | (1) |
|
Deploying Configuration Management |
|
|
149 | (1) |
|
Avoiding Quality Problems |
|
|
150 | (3) |
|
Catch All the Requirements |
|
|
150 | (1) |
|
Create Consistent Use Cases |
|
|
150 | (1) |
|
Avoid Use Case Redundancy |
|
|
151 | (2) |
|
|
|
Mistakes, Pitfalls, and Bruised Knees |
|
|
153 | (1) |
|
Classic Mistakes: Make Them and Move On |
|
|
154 | (16) |
|
|
|
Use Cases Beyond Requirements |
|
|
|
|
170 | (1) |
|
|
170 | (1) |
|
|
170 | (1) |
|
|
170 | (1) |
|
Use Case Hierarchies for User Interface Design |
|
|
171 | (1) |
|
Using Scenarios As Units of Work for Transaction Processing |
|
|
171 | (1) |
|
|
172 | (1) |
|
Using Actors As Security Profiles |
|
|
172 | (1) |
|
Using Scenarios to Manage Security |
|
|
172 | (1) |
|
Using Scenarios to Manage Prefetch |
|
|
172 | (1) |
|
|
173 | (1) |
|
|
173 | (1) |
|
|
173 | (1) |
|
|
174 | (2) |
|
Case Study: Sell Property |
|
|
|
|
176 | (1) |
|
|
176 | (1) |
|
|
176 | (1) |
|
|
177 | (2) |
|
|
179 | (9) |
|
|
188 | (1) |
|
|
188 | (2) |
|
|
190 | (14) |
|
|
204 | (2) |
|
|
206 | (1) |
|
Nonfunctional Requirements |
|
|
207 | (3) |
|
|
210 | (1) |
|
|
211 | (1) |
|
|
211 | (3) |
|
|
214 | (15) |
|
|
229 | (3) |
|
|
232 | (1) |
|
|
232 | (2) |
|
|
234 | (14) |
|
|
248 | (4) |
|
Case Study: Track Costume Sales |
|
|
|
|
252 | (1) |
|
|
252 | (1) |
|
|
252 | (1) |
|
|
253 | (2) |
|
|
255 | (7) |
|
|
262 | (3) |
|
|
265 | (1) |
|
|
265 | (1) |
|
|
266 | (12) |
|
|
278 | (3) |
|
|
281 | (2) |
|
Nonfunctional Requirements |
|
|
283 | (2) |
|
|
285 | (1) |
|
|
286 | (1) |
|
|
286 | (2) |
|
|
288 | (11) |
|
|
299 | (3) |
|
|
302 | (1) |
|
|
302 | (9) |
|
|
311 | (4) |
Bibliography |
|
315 | (2) |
Index |
|
317 | |