Preface |
|
xiii | |
|
|
1 | (38) |
|
|
2 | (1) |
|
The Systems Development Life Cycle |
|
|
3 | (3) |
|
|
4 | (1) |
|
|
4 | (1) |
|
|
5 | (1) |
|
|
6 | (1) |
|
Systems Development Methodologies |
|
|
6 | (11) |
|
|
8 | (2) |
|
Rapid Application Development (RAD) |
|
|
10 | (4) |
|
|
14 | (1) |
|
Selecting the Appropriate Development Methodology |
|
|
15 | (2) |
|
Object-Oriented Systems Analysis and Design (OOSAD) |
|
|
17 | (2) |
|
|
18 | (1) |
|
|
18 | (1) |
|
Iterative and Incremental |
|
|
18 | (1) |
|
Benefits of Object-Oriented Systems Analysis and Design |
|
|
19 | (1) |
|
|
19 | (10) |
|
|
20 | (2) |
|
|
22 | (2) |
|
Extensions to the Unified Process |
|
|
24 | (5) |
|
The Unified Modeling Language |
|
|
29 | (1) |
|
Project Team Roles and Skills |
|
|
30 | (3) |
|
|
32 | (1) |
|
|
32 | (1) |
|
|
32 | (1) |
|
Change Management Analyst |
|
|
32 | (1) |
|
|
32 | (1) |
|
Applying the Concepts at CD Selections |
|
|
33 | (6) |
|
|
33 | (6) |
|
|
39 | (116) |
|
Chapter 2 Project Identification and Selection |
|
|
41 | (28) |
|
|
41 | (2) |
|
|
43 | (1) |
|
|
44 | (1) |
|
|
44 | (14) |
|
|
46 | (2) |
|
|
48 | (8) |
|
Organizational Feasibility |
|
|
56 | (2) |
|
|
58 | (3) |
|
Applying the Concepts at CD Selections |
|
|
61 | (5) |
|
Project Identification and System Request |
|
|
61 | (1) |
|
|
62 | (2) |
|
|
64 | (2) |
|
|
66 | (3) |
|
Chapter 3 Project Management |
|
|
69 | (41) |
|
|
69 | (1) |
|
|
70 | (7) |
|
|
72 | (5) |
|
Creating and Managing the Workplan |
|
|
77 | (14) |
|
|
78 | (1) |
|
|
79 | (1) |
|
|
79 | (2) |
|
|
81 | (1) |
|
|
82 | (1) |
|
|
83 | (2) |
|
|
85 | (1) |
|
Evolutionary Work Breakdown Structures and Iterative Workplans |
|
|
86 | (5) |
|
|
91 | (5) |
|
|
91 | (3) |
|
|
94 | (1) |
|
|
94 | (2) |
|
Coordinating Project Activities |
|
|
96 | (4) |
|
|
96 | (1) |
|
|
97 | (1) |
|
|
98 | (1) |
|
|
98 | (2) |
|
Applying the Concepts at CD Selections |
|
|
100 | (10) |
|
|
104 | (1) |
|
Coordinating Project Activities |
|
|
105 | (1) |
|
|
106 | (4) |
|
Chapter 4 Requirements Analysis |
|
|
110 | (45) |
|
|
110 | (1) |
|
Requirements Determination |
|
|
111 | (6) |
|
|
111 | (3) |
|
|
114 | (1) |
|
|
115 | (1) |
|
Creating a Requirements Definition |
|
|
116 | (1) |
|
Requirements Analysis Strategies |
|
|
117 | (8) |
|
Business Process Automation |
|
|
117 | (3) |
|
Business Process Improvement |
|
|
120 | (1) |
|
Business Process Reengineering |
|
|
121 | (1) |
|
Selecting Appropriate Strategies |
|
|
122 | (3) |
|
Requirements-Gathering Techniques |
|
|
125 | (19) |
|
|
125 | (7) |
|
Joint application development (JAD) |
|
|
132 | (4) |
|
|
136 | (2) |
|
|
138 | (1) |
|
|
138 | (2) |
|
|
140 | (2) |
|
Selecting the Appropriate Techniques |
|
|
142 | (2) |
|
|
144 | (1) |
|
Applying the Concepts at CD Selections |
|
|
145 | (10) |
|
Requirements Analysis Strategies |
|
|
145 | (1) |
|
Requirements-Gathering Techniques |
|
|
146 | (1) |
|
|
146 | (2) |
|
|
148 | (1) |
|
|
149 | (6) |
|
|
155 | (114) |
|
Chapter 5 Use Case Diagrams |
|
|
157 | (50) |
|
|
158 | (1) |
|
Business Process Modeling with Activity Diagrams |
|
|
159 | (7) |
|
Elements of an Activity Diagram |
|
|
160 | (5) |
|
Guidelines for Creating Activity Diagrams |
|
|
165 | (1) |
|
|
166 | (7) |
|
|
167 | (1) |
|
Elements of a Use-Case Description |
|
|
168 | (3) |
|
Guidelines for Creating Use-Case Descriptions |
|
|
171 | (2) |
|
|
173 | (5) |
|
|
173 | (2) |
|
|
175 | (1) |
|
|
176 | (1) |
|
|
176 | (2) |
|
Creating Use-Case Descriptions and Use-Case Diagrams |
|
|
178 | (4) |
|
Identifying the Major Use Cases |
|
|
179 | (1) |
|
Expanding the Major Use Cases |
|
|
180 | (1) |
|
Confirming the Major Use Cases |
|
|
181 | (1) |
|
Creating a Use-Case Diagram |
|
|
181 | (1) |
|
Refining Project Size and Effort Estimation Using Use-Case Points |
|
|
182 | (6) |
|
Applying the Concepts at CD Selections |
|
|
188 | (19) |
|
Business Process Modeling with Activity Diagrams |
|
|
188 | (1) |
|
Identifying the Major Use Cases |
|
|
189 | (2) |
|
Expanding the Major Use Cases |
|
|
191 | (2) |
|
Confirming the Major Use Cases |
|
|
193 | (5) |
|
Creating the Use-Case Diagram |
|
|
198 | (1) |
|
Refining Project Size and Effort Estimation Using Use-Case Points |
|
|
198 | (3) |
|
|
201 | (6) |
|
|
207 | (31) |
|
|
207 | (1) |
|
|
208 | (3) |
|
Classes, Attributes, and Operations |
|
|
209 | (1) |
|
|
209 | (2) |
|
|
211 | (2) |
|
Responsibilities and Collaborations |
|
|
211 | (1) |
|
|
212 | (1) |
|
|
213 | (9) |
|
Elements of a Class Diagram |
|
|
213 | (8) |
|
Simplifying Class Diagrams |
|
|
221 | (1) |
|
|
221 | (1) |
|
Creating CRC Cards and Class Diagrams |
|
|
222 | (6) |
|
|
223 | (2) |
|
Building CRC Cards and Class Diagrams |
|
|
225 | (3) |
|
Applying the Concepts at CD Selections |
|
|
228 | (10) |
|
|
228 | (1) |
|
Step 2 Examine Common Object Lists |
|
|
228 | (2) |
|
Step 3 Role-Play the CRC Cards |
|
|
230 | (1) |
|
Step 4 Create the Class Diagram |
|
|
231 | (1) |
|
Step 5 Review the Class Diagram |
|
|
231 | (1) |
|
Step 6 Incorporate Patterns |
|
|
231 | (1) |
|
|
232 | (1) |
|
|
233 | (5) |
|
Chapter 7 Interaction Diagrams |
|
|
238 | (31) |
|
|
238 | (1) |
|
|
239 | (1) |
|
|
239 | (11) |
|
Objects, Operations, and Messages |
|
|
240 | (1) |
|
|
240 | (6) |
|
|
246 | (4) |
|
Behavioral State Machines |
|
|
250 | (6) |
|
States, Events, Transitions, Actions, and Activities |
|
|
250 | (1) |
|
Elements of a Behavioral State Machine |
|
|
251 | (3) |
|
Building Behavioral State Machines |
|
|
254 | (2) |
|
|
256 | (1) |
|
Applying the Concepts at CD Selections |
|
|
257 | (12) |
|
|
257 | (3) |
|
|
260 | (1) |
|
Behavioral State Machines |
|
|
261 | (1) |
|
|
262 | (2) |
|
|
264 | (5) |
|
|
269 | (234) |
|
|
271 | (47) |
|
|
272 | (1) |
|
Verifying and Validating the Analysis Models |
|
|
273 | (14) |
|
Verification and Validation through Walkthroughs |
|
|
273 | (2) |
|
Functional Model Verification and Validation |
|
|
275 | (1) |
|
Structural Model Verification and Validation |
|
|
276 | (2) |
|
Behavioral Model Verification and Validation |
|
|
278 | (2) |
|
Balancing the Analysis Models |
|
|
280 | (7) |
|
Evolving the Analysis Models into Design Models |
|
|
287 | (7) |
|
|
290 | (1) |
|
Partitions and Collaborations |
|
|
290 | (2) |
|
|
292 | (2) |
|
Packages and Package Diagrams |
|
|
294 | (5) |
|
Identifying Packages and Creating Package Diagrams |
|
|
297 | (1) |
|
Verifying and Validating Package Diagrams |
|
|
297 | (2) |
|
|
299 | (7) |
|
|
299 | (1) |
|
|
300 | (2) |
|
|
302 | (2) |
|
Selecting a Design Strategy |
|
|
304 | (2) |
|
Developing the Actual Design |
|
|
306 | (2) |
|
|
306 | (2) |
|
Applying the Concepts at CD Selections |
|
|
308 | (10) |
|
Packages and Package Diagrams |
|
|
308 | (2) |
|
Verifying and Validating the Analysis Models |
|
|
310 | (1) |
|
Developing the Actual Design |
|
|
311 | (1) |
|
|
312 | (6) |
|
Chapter 9 Class and Method Design |
|
|
318 | (43) |
|
|
318 | (2) |
|
Review of the Basic Characteristics of Object Orientation |
|
|
320 | (5) |
|
Classes, Objects, Methods, and Messages |
|
|
320 | (1) |
|
Encapsulation and Information Hiding |
|
|
321 | (1) |
|
Polymorphism and Dynamic Binding |
|
|
321 | (1) |
|
|
322 | (3) |
|
|
325 | (7) |
|
|
325 | (3) |
|
|
328 | (3) |
|
|
331 | (1) |
|
|
332 | (11) |
|
|
332 | (1) |
|
Identifying Opportunities for Reuse |
|
|
333 | (2) |
|
|
335 | (1) |
|
|
336 | (3) |
|
Mapping Problem-Domain Classes to Implementation Languages |
|
|
339 | (4) |
|
Constraints and Contracts |
|
|
343 | (4) |
|
|
343 | (3) |
|
|
346 | (1) |
|
|
347 | (4) |
|
|
348 | (1) |
|
|
349 | (1) |
|
|
349 | (1) |
|
|
349 | (2) |
|
Applying the Concepts at CD Selections |
|
|
351 | (10) |
|
|
354 | (7) |
|
Chapter 10 Data Base Design |
|
|
361 | (50) |
|
|
362 | (1) |
|
Object-Persistence Formats |
|
|
362 | (10) |
|
Sequential and Random Access Files |
|
|
363 | (3) |
|
|
366 | (2) |
|
Object-Relational Databases |
|
|
368 | (1) |
|
Object-Oriented Databases |
|
|
368 | (1) |
|
Selecting an Object-Persistence Format |
|
|
369 | (3) |
|
Mapping Problem-Domain Objects to Object-Persistence Formats |
|
|
372 | (10) |
|
Mapping Problem-Domain Objects to an OODBMS Format |
|
|
372 | (4) |
|
Mapping Problem-Domain Objects to an ORDBMS Format |
|
|
376 | (3) |
|
Mapping Problem-Domain Objects to an RDBMS Format |
|
|
379 | (3) |
|
Optimizing RDBMS-Based Object Storage |
|
|
382 | (12) |
|
Optimizing Storage Efficiency |
|
|
382 | (6) |
|
Optimizing Data Access Speed |
|
|
388 | (5) |
|
Estimating Data Storage Size |
|
|
393 | (1) |
|
Nonfunctional Requirements and Data Management Layer Design |
|
|
394 | (1) |
|
Designing Data Access and Manipulation Classes |
|
|
395 | (3) |
|
Applying the Concepts at CD Selections |
|
|
398 | (13) |
|
Select Object-Persistence Format |
|
|
398 | (1) |
|
Map Problem-Domain Objects to Object-Persistence Format |
|
|
399 | (1) |
|
Optimize Object Persistence and Estimate Its Size |
|
|
400 | (2) |
|
Data Access and Manipulation Class Design |
|
|
402 | (2) |
|
|
404 | (7) |
|
Chapter 11 User Interface Design |
|
|
411 | (52) |
|
|
412 | (1) |
|
Principles for User Interface Design |
|
|
412 | (8) |
|
|
413 | (2) |
|
|
415 | (2) |
|
|
417 | (2) |
|
|
419 | (1) |
|
|
419 | (1) |
|
|
420 | (1) |
|
User Interface Design Process |
|
|
420 | (10) |
|
|
421 | (2) |
|
Interface Structure Design |
|
|
423 | (1) |
|
Interface Standards Design |
|
|
424 | (2) |
|
Interface Design Prototyping |
|
|
426 | (2) |
|
|
428 | (2) |
|
|
430 | (6) |
|
|
430 | (1) |
|
Types of Navigation Controls |
|
|
431 | (1) |
|
|
432 | (3) |
|
Navigation Design Documentation |
|
|
435 | (1) |
|
|
436 | (7) |
|
|
436 | (3) |
|
|
439 | (2) |
|
|
441 | (2) |
|
|
443 | (4) |
|
|
443 | (2) |
|
|
445 | (1) |
|
|
445 | (2) |
|
Nonfunctional Requirements and Human---Computer Interaction Layer Design |
|
|
447 | (1) |
|
Applying the Concepts at CD Selections |
|
|
448 | (15) |
|
|
448 | (1) |
|
Interface Structure Design |
|
|
448 | (3) |
|
Interface Standards Design |
|
|
451 | (1) |
|
Interface Template Design |
|
|
451 | (2) |
|
Interface Design Prototyping |
|
|
453 | (1) |
|
|
454 | (1) |
|
Navigation Design Documentation |
|
|
455 | (1) |
|
|
456 | (7) |
|
|
463 | (40) |
|
|
463 | (1) |
|
Elements of the Physical Architecture Layer |
|
|
464 | (9) |
|
|
464 | (1) |
|
Server-Based Architectures |
|
|
465 | (1) |
|
Client-Based Architectures |
|
|
466 | (1) |
|
Client---Server Architectures |
|
|
466 | (2) |
|
|
468 | (2) |
|
Distributed Objects Computing |
|
|
470 | (1) |
|
Selecting a Physical Architecture |
|
|
471 | (2) |
|
|
473 | (7) |
|
|
473 | (2) |
|
|
475 | (5) |
|
Nonfunctional Requirements and Physical Architecture Layer Design |
|
|
480 | (12) |
|
|
481 | (1) |
|
|
482 | (2) |
|
|
484 | (4) |
|
Cultural and Political Requirements |
|
|
488 | (2) |
|
|
490 | (2) |
|
Hardware and Software Specification |
|
|
492 | (2) |
|
Applying the Concepts at CD Selections |
|
|
494 | (9) |
|
|
496 | (7) |
|
|
503 | (60) |
|
|
505 | (28) |
|
|
505 | (2) |
|
|
507 | (5) |
|
|
507 | (1) |
|
|
508 | (1) |
|
|
509 | (1) |
|
|
510 | (2) |
|
|
512 | (8) |
|
Testing and Object Orientation |
|
|
513 | (2) |
|
|
515 | (2) |
|
|
517 | (2) |
|
|
519 | (1) |
|
|
520 | (1) |
|
|
520 | (1) |
|
|
520 | (6) |
|
|
521 | (1) |
|
Designing Documentation Structure |
|
|
522 | (2) |
|
Writing Documentation Topics |
|
|
524 | (1) |
|
Identifying Navigation Terms |
|
|
525 | (1) |
|
Applying the Concepts at CD Selections |
|
|
526 | (7) |
|
|
526 | (1) |
|
|
526 | (2) |
|
Developing User Documentation |
|
|
528 | (2) |
|
|
530 | (3) |
|
|
533 | (30) |
|
|
533 | (2) |
|
Cultural Issues and Information Technology |
|
|
535 | (2) |
|
|
537 | (6) |
|
|
538 | (1) |
|
|
539 | (1) |
|
|
540 | (1) |
|
Selecting the Appropriate Conversion Strategy |
|
|
541 | (2) |
|
|
543 | (9) |
|
Understanding Resistance to Change |
|
|
544 | (2) |
|
Revising Management Policies |
|
|
546 | (1) |
|
Assessing Costs and Benefits |
|
|
547 | (2) |
|
|
549 | (1) |
|
Enabling Adoption: Training |
|
|
550 | (2) |
|
Postimplementation Activities |
|
|
552 | (5) |
|
|
552 | (2) |
|
|
554 | (1) |
|
|
555 | (2) |
|
Applying the Concepts at CD Selections |
|
|
557 | (6) |
|
|
557 | (1) |
|
|
558 | (1) |
|
Postimplementation Activities |
|
|
558 | (1) |
|
|
558 | (5) |
Index |
|
563 | |
Appendix 1 |
|
Appendix 2 |
|
Appendix 3 |
|