Preface |
|
xxi | |
|
Part I The Product Development Mix |
|
|
1 | (88) |
|
|
3 | (16) |
|
|
3 | (1) |
|
The Role of the Liaison Center |
|
|
4 | (2) |
|
Internal and External Clients |
|
|
5 | (1) |
|
|
6 | (4) |
|
|
6 | (1) |
|
|
7 | (1) |
|
|
7 | (1) |
|
|
8 | (1) |
|
Project Database Maintenance |
|
|
8 | (1) |
|
|
9 | (1) |
|
|
9 | (1) |
|
|
10 | (2) |
|
|
10 | (1) |
|
|
11 | (1) |
|
|
12 | (1) |
|
Implementing the Liaison Center |
|
|
12 | (2) |
|
|
13 | (1) |
|
Selling the Liaison Center |
|
|
13 | (1) |
|
|
14 | (4) |
|
|
14 | (1) |
|
Layout and Document Structure |
|
|
15 | (1) |
|
Information Management and Document Information Systems |
|
|
16 | (2) |
|
|
18 | (1) |
|
|
19 | (20) |
|
|
19 | (1) |
|
|
20 | (6) |
|
|
20 | (1) |
|
|
20 | (1) |
|
|
21 | (1) |
|
|
21 | (1) |
|
Staff Initials, Usernames, and E-Mail Addresses |
|
|
22 | (1) |
|
|
22 | (1) |
|
|
23 | (1) |
|
Currency and Value Representations |
|
|
23 | (1) |
|
Volume Organization and References |
|
|
24 | (1) |
|
|
25 | (1) |
|
|
26 | (1) |
|
|
26 | (5) |
|
|
27 | (1) |
|
Proposal Phase: Proposal Document |
|
|
28 | (1) |
|
Planning Phase: Detailed Plan |
|
|
28 | (1) |
|
|
29 | (1) |
|
Planning/Execution Phase: Requirements Definition |
|
|
29 | (1) |
|
Planning/Execution Phase: Functional Definition |
|
|
29 | (1) |
|
Execution Phase: Functional Specification |
|
|
30 | (1) |
|
Execution Phase: Acceptance Test Plan |
|
|
30 | (1) |
|
Planning/Execution/Completion Phase: User Guide |
|
|
30 | (1) |
|
Completion Phase: Maintenance Contract |
|
|
31 | (1) |
|
|
31 | (3) |
|
|
32 | (1) |
|
|
33 | (1) |
|
|
33 | (1) |
|
Data Collection Standards |
|
|
34 | (1) |
|
|
35 | (1) |
|
|
35 | (1) |
|
|
36 | (1) |
|
|
36 | (3) |
|
|
39 | (20) |
|
|
39 | (1) |
|
|
40 | (4) |
|
|
40 | (2) |
|
|
42 | (1) |
|
|
42 | (1) |
|
|
43 | (1) |
|
|
44 | (1) |
|
|
44 | (4) |
|
|
45 | (1) |
|
|
46 | (1) |
|
|
47 | (1) |
|
|
48 | (6) |
|
|
48 | (1) |
|
Designing the Problem Area |
|
|
49 | (2) |
|
|
51 | (2) |
|
|
53 | (1) |
|
|
54 | (3) |
|
|
54 | (3) |
|
|
57 | (1) |
|
|
57 | (2) |
|
|
59 | (12) |
|
|
59 | (1) |
|
|
60 | (1) |
|
Choosing an Appropriate Paradigm |
|
|
61 | (1) |
|
The Software Development Life Cycle |
|
|
61 | (7) |
|
Augmented Waterfall Model |
|
|
63 | (2) |
|
|
65 | (1) |
|
|
66 | (1) |
|
|
67 | (1) |
|
|
67 | (1) |
|
|
68 | (1) |
|
|
69 | (2) |
|
|
71 | (18) |
|
|
71 | (1) |
|
|
72 | (5) |
|
|
72 | (1) |
|
|
73 | (1) |
|
Unit/Module Test Procedures |
|
|
74 | (1) |
|
System/Integration Test Procedures |
|
|
75 | (1) |
|
User Acceptance Test Procedures |
|
|
75 | (1) |
|
|
76 | (1) |
|
Test Result Documentation |
|
|
77 | (1) |
|
|
77 | (1) |
|
|
77 | (1) |
|
|
78 | (4) |
|
|
78 | (3) |
|
|
81 | (1) |
|
|
82 | (1) |
|
|
82 | (5) |
|
|
83 | (1) |
|
|
84 | (2) |
|
Memory and Memory Corruption |
|
|
86 | (1) |
|
|
87 | (1) |
|
|
88 | (1) |
|
Part II Principles of Corporate Software Engineering |
|
|
89 | (180) |
|
|
91 | (16) |
|
|
91 | (1) |
|
Skeleton Requirements Definition Document |
|
|
92 | (3) |
|
|
95 | (4) |
|
|
95 | (1) |
|
|
95 | (1) |
|
|
96 | (1) |
|
|
96 | (1) |
|
|
97 | (1) |
|
|
98 | (1) |
|
|
99 | (2) |
|
|
99 | (2) |
|
Requirements and Definitions |
|
|
101 | (2) |
|
|
101 | (1) |
|
Nonfunctional Requirements |
|
|
101 | (1) |
|
|
102 | (1) |
|
The Software Requirements Document |
|
|
103 | (1) |
|
Living Reference Document |
|
|
103 | (1) |
|
|
104 | (1) |
|
|
104 | (1) |
|
|
104 | (3) |
|
Requirements Specification |
|
|
107 | (20) |
|
|
107 | (1) |
|
Skeleton Requirements Specification Document |
|
|
108 | (11) |
|
Functional Requirements Specification |
|
|
110 | (1) |
|
Nonfunctional Requirements Specification |
|
|
111 | (1) |
|
|
112 | (1) |
|
|
113 | (2) |
|
Internetworking and Mass Storage |
|
|
115 | (4) |
|
Program Definition Language |
|
|
119 | (4) |
|
|
119 | (1) |
|
|
120 | (1) |
|
|
120 | (1) |
|
|
121 | (2) |
|
|
123 | (3) |
|
|
126 | (1) |
|
|
127 | (18) |
|
|
127 | (1) |
|
|
128 | (2) |
|
|
128 | (2) |
|
|
130 | (1) |
|
|
130 | (7) |
|
Data Entity Description Format |
|
|
131 | (4) |
|
|
135 | (2) |
|
Nonsystem Functional Specifications |
|
|
137 | (5) |
|
|
138 | (1) |
|
Nontechnical Specifications |
|
|
139 | (3) |
|
From Requirements to Specification |
|
|
142 | (1) |
|
|
143 | (2) |
|
The Object-Oriented Paradigm |
|
|
145 | (22) |
|
|
145 | (1) |
|
|
146 | (4) |
|
|
147 | (2) |
|
|
149 | (1) |
|
Objects and Communication |
|
|
149 | (1) |
|
|
150 | (8) |
|
|
150 | (1) |
|
|
151 | (1) |
|
|
152 | (1) |
|
|
152 | (1) |
|
|
153 | (1) |
|
|
154 | (4) |
|
Object-Oriented Programming |
|
|
158 | (1) |
|
|
159 | (3) |
|
|
160 | (2) |
|
|
162 | (3) |
|
|
162 | (3) |
|
|
165 | (2) |
|
|
167 | (20) |
|
|
167 | (1) |
|
|
168 | (9) |
|
|
168 | (5) |
|
|
173 | (2) |
|
|
175 | (2) |
|
|
177 | (3) |
|
Fine-Grained Repository Artifacts |
|
|
178 | (1) |
|
Coarse-Grained Repository Artifacts |
|
|
179 | (1) |
|
Object Reuse vs. Component Galleries |
|
|
179 | (1) |
|
The Open Source Revolution |
|
|
180 | (5) |
|
|
180 | (1) |
|
|
181 | (3) |
|
The Open Source Advantage |
|
|
184 | (1) |
|
|
185 | (1) |
|
|
185 | (2) |
|
The Object and Component Archive |
|
|
187 | (22) |
|
|
187 | (1) |
|
Creating an Object Repository |
|
|
188 | (8) |
|
|
188 | (4) |
|
|
192 | (1) |
|
|
193 | (2) |
|
Closed Systems and Proprietary Interfaces |
|
|
195 | (1) |
|
Making Source Code Searchable |
|
|
196 | (4) |
|
|
196 | (2) |
|
Variable, Object, and Class Names |
|
|
198 | (2) |
|
|
200 | (1) |
|
|
200 | (4) |
|
|
201 | (1) |
|
|
202 | (2) |
|
|
204 | (3) |
|
|
204 | (1) |
|
|
205 | (2) |
|
Searchable Executable Code |
|
|
207 | (1) |
|
|
207 | (2) |
|
Coding and Language Choice |
|
|
209 | (16) |
|
|
209 | (1) |
|
|
210 | (5) |
|
|
211 | (1) |
|
|
212 | (1) |
|
|
213 | (1) |
|
|
214 | (1) |
|
|
215 | (3) |
|
Document Definition Languages |
|
|
216 | (1) |
|
|
216 | (1) |
|
|
217 | (1) |
|
|
218 | (1) |
|
|
218 | (1) |
|
|
219 | (1) |
|
Comparison of Modern Languages |
|
|
219 | (3) |
|
|
220 | (1) |
|
|
220 | (1) |
|
Frameworks and Environments |
|
|
221 | (1) |
|
|
221 | (1) |
|
|
222 | (1) |
|
|
222 | (3) |
|
|
225 | (14) |
|
|
225 | (1) |
|
|
226 | (2) |
|
|
226 | (1) |
|
|
227 | (1) |
|
The Prototype as a Skeleton |
|
|
228 | (1) |
|
Implementing Skeleton Prototypes |
|
|
229 | (1) |
|
|
229 | (4) |
|
|
230 | (3) |
|
|
233 | (1) |
|
|
233 | (1) |
|
|
233 | (1) |
|
|
234 | (1) |
|
Assimilating Client Feedback |
|
|
234 | (2) |
|
|
234 | (1) |
|
Pre-Delivery Conferencing |
|
|
235 | (1) |
|
|
235 | (1) |
|
|
236 | (1) |
|
|
236 | (3) |
|
|
239 | (14) |
|
|
239 | (1) |
|
The Building Blocks Approach |
|
|
240 | (5) |
|
|
241 | (1) |
|
|
242 | (1) |
|
|
243 | (2) |
|
|
245 | (2) |
|
|
245 | (1) |
|
|
246 | (1) |
|
|
247 | (3) |
|
|
247 | (1) |
|
|
248 | (1) |
|
|
249 | (1) |
|
Of Menus, Glue, and Simulating External Dependencies |
|
|
250 | (2) |
|
|
250 | (1) |
|
|
251 | (1) |
|
|
251 | (1) |
|
|
252 | (1) |
|
|
253 | (16) |
|
|
253 | (1) |
|
Preparing the Application |
|
|
254 | (4) |
|
|
254 | (1) |
|
|
255 | (1) |
|
|
255 | (1) |
|
|
256 | (1) |
|
|
257 | (1) |
|
|
258 | (5) |
|
|
258 | (1) |
|
|
259 | (2) |
|
|
261 | (2) |
|
|
263 | (2) |
|
|
264 | (1) |
|
|
264 | (1) |
|
|
265 | (1) |
|
|
265 | (1) |
|
Training Staff to Train Others |
|
|
266 | (1) |
|
|
266 | (3) |
|
Part III Principles of Software Quality Control |
|
|
269 | (74) |
|
Promoting Corporate Quality |
|
|
271 | (16) |
|
|
271 | (1) |
|
|
272 | (3) |
|
|
273 | (1) |
|
|
274 | (1) |
|
|
274 | (1) |
|
|
275 | (5) |
|
|
275 | (2) |
|
|
277 | (1) |
|
|
278 | (1) |
|
|
279 | (1) |
|
|
280 | (4) |
|
Process Description Documents |
|
|
281 | (1) |
|
|
282 | (1) |
|
|
283 | (1) |
|
|
284 | (3) |
|
|
287 | (22) |
|
|
287 | (1) |
|
Consequences of Weak Testing |
|
|
288 | (6) |
|
|
289 | (1) |
|
|
290 | (4) |
|
|
294 | (3) |
|
When to Use Strong Testing |
|
|
295 | (2) |
|
|
297 | (3) |
|
|
298 | (1) |
|
|
299 | (1) |
|
Correct Behavior and Fitness for Use |
|
|
299 | (1) |
|
|
300 | (4) |
|
|
301 | (3) |
|
Testing vs. Certification |
|
|
304 | (2) |
|
|
305 | (1) |
|
|
305 | (1) |
|
|
306 | (3) |
|
|
309 | (16) |
|
|
309 | (1) |
|
|
310 | (4) |
|
Documenting the Reporting Line |
|
|
310 | (2) |
|
The Reporting Line Document |
|
|
312 | (2) |
|
Central Communication---The Liaison Center Revisited |
|
|
314 | (7) |
|
|
315 | (2) |
|
|
317 | (4) |
|
Supporting the Reporting Process |
|
|
321 | (3) |
|
|
322 | (1) |
|
Motivation via Improvement |
|
|
323 | (1) |
|
|
324 | (1) |
|
|
325 | (18) |
|
|
325 | (1) |
|
Testing for Client Satisfaction |
|
|
326 | (5) |
|
Pre- and Post-Project Surveys |
|
|
327 | (2) |
|
The Goal of Software Engineering: Quality Products |
|
|
329 | (2) |
|
|
331 | (5) |
|
Poor Quality Requirements Capture |
|
|
332 | (2) |
|
Poor Quality Implementation |
|
|
334 | (1) |
|
Lack of Testing and Quality Control Procedures |
|
|
335 | (1) |
|
Managing Client Dissatisfaction |
|
|
336 | (4) |
|
|
337 | (2) |
|
Poor Quality Specifications |
|
|
339 | (1) |
|
|
340 | (3) |
Appendix A: Implementation Strategies and Guidelines |
|
343 | (20) |
Appendix B: About the CD-ROM |
|
363 | (2) |
Index |
|
365 | |