Preface |
|
ix | |
|
Chapter 1 Introduction to Systems Analysis and Design |
|
|
1 | (47) |
|
|
2 | (1) |
|
The Systems Development Life Cycle |
|
|
3 | (3) |
|
|
4 | (1) |
|
|
4 | (1) |
|
|
5 | (1) |
|
|
6 | (1) |
|
Systems Development Methodologies |
|
|
6 | (14) |
|
|
8 | (2) |
|
Rapid Application Development (RAD) |
|
|
10 | (4) |
|
|
14 | (4) |
|
Selecting the Appropriate Development Methodology |
|
|
18 | (2) |
|
Typical Systems Analyst Roles and Skills |
|
|
20 | (3) |
|
|
21 | (1) |
|
|
21 | (1) |
|
|
22 | (1) |
|
Change Management Analyst |
|
|
22 | (1) |
|
|
22 | (1) |
|
Basic Characteristics of Object-Oriented Systems |
|
|
23 | (5) |
|
|
23 | (1) |
|
|
24 | (1) |
|
Encapsulation and Information Hiding |
|
|
24 | (1) |
|
|
25 | (2) |
|
Polymorphism and Dynamic Binding |
|
|
27 | (1) |
|
Object Oriented Systems Analysis and Design (OOSAD) |
|
|
28 | (2) |
|
|
28 | (1) |
|
|
29 | (1) |
|
Iterative and Incremental |
|
|
29 | (1) |
|
Benefits of Object-Oriented Systems Analysis and Design |
|
|
29 | (1) |
|
|
30 | (9) |
|
|
30 | (2) |
|
|
32 | (3) |
|
Extensions to the Unified Process |
|
|
35 | (4) |
|
The Unified Modeling Language |
|
|
39 | (2) |
|
Applying the Concepts at CD Selections |
|
|
41 | (1) |
|
|
41 | (7) |
|
Chapter 2 Project Management |
|
|
48 | (59) |
|
|
49 | (2) |
|
|
51 | (3) |
|
|
52 | (2) |
|
|
54 | (12) |
|
|
55 | (1) |
|
|
56 | (8) |
|
Organizational Feasibility |
|
|
64 | (2) |
|
|
66 | (3) |
|
Traditional Project Management Tools |
|
|
69 | (4) |
|
Work Breakdown Structures |
|
|
70 | (1) |
|
|
71 | (1) |
|
|
71 | (2) |
|
Project Effort Estimation |
|
|
73 | (6) |
|
Creating and Managing the Workplan |
|
|
79 | (9) |
|
Evolutionary Work Breakdown Structures and Iterative Workplans |
|
|
79 | (5) |
|
|
84 | (1) |
|
|
84 | (2) |
|
|
86 | (1) |
|
|
87 | (1) |
|
|
88 | (8) |
|
Characteristics of a Jelled Team |
|
|
88 | (2) |
|
|
90 | (3) |
|
|
93 | (1) |
|
|
94 | (2) |
|
Environment and Infrastructure Management |
|
|
96 | (4) |
|
|
96 | (1) |
|
|
97 | (1) |
|
|
98 | (2) |
|
Applying the Concepts at CD Selections |
|
|
100 | (1) |
|
|
100 | (7) |
|
PART ONE ANALYSIS MODELING |
|
|
107 | (164) |
|
Chapter 3 Requirements Determination |
|
|
109 | (44) |
|
|
110 | (1) |
|
Requirements Determination |
|
|
110 | (8) |
|
|
112 | (3) |
|
|
115 | (1) |
|
|
116 | (1) |
|
Creating a Requirements Definition |
|
|
117 | (1) |
|
Real-World Problems with Requirements Determination |
|
|
117 | (1) |
|
Requirements Analysis Strategies |
|
|
118 | (7) |
|
Business Process Automation (BPA) |
|
|
118 | (3) |
|
Business Process Improvement (BPI) |
|
|
121 | (1) |
|
Business Process Reengineering |
|
|
122 | (1) |
|
Selecting Appropriate Strategies |
|
|
123 | (2) |
|
Requirements-Gathering Techniques |
|
|
125 | (18) |
|
|
126 | (6) |
|
Joint Application Development (JAD) |
|
|
132 | (4) |
|
|
136 | (2) |
|
|
138 | (1) |
|
|
139 | (2) |
|
Selecting the Appropriate Techniques |
|
|
141 | (2) |
|
Alternative Requirements Documentation Techniques |
|
|
143 | (3) |
|
|
144 | (1) |
|
Story Cards and Task Lists |
|
|
144 | (2) |
|
|
146 | (1) |
|
Applying the Concepts at CD Selections |
|
|
147 | (1) |
|
|
147 | (6) |
|
Chapter 4 Business Process and Functional Modeling |
|
|
153 | (42) |
|
|
154 | (1) |
|
Business Process Identification with Use Cases and Use-Case Diagrams |
|
|
155 | (8) |
|
Elements of Use Case Diagrams |
|
|
155 | (5) |
|
Identifying the Major Use Cases |
|
|
160 | (1) |
|
Creating a Use-Case Diagram |
|
|
161 | (2) |
|
Business Process Modeling with Activity Diagrams |
|
|
163 | (10) |
|
Elements of an Activity Diagram |
|
|
165 | (5) |
|
Guidelines for Creating Activity Diagrams |
|
|
170 | (1) |
|
Creating Activity Diagrams |
|
|
171 | (2) |
|
Business Process Documentation with Use Cases and Use-Case Descriptions |
|
|
173 | (11) |
|
|
175 | (1) |
|
Elements of a Use-Case Description |
|
|
175 | (4) |
|
Guidelines for Creating Use-Case Descriptions |
|
|
179 | (1) |
|
Creating Use Case Descriptions |
|
|
180 | (4) |
|
Verifying and Validating the Business Processes and Functional Models |
|
|
184 | (4) |
|
Verification and Validation through Walkthroughs |
|
|
184 | (1) |
|
Functional Model Verification and Validation |
|
|
185 | (3) |
|
Applying the Concepts at CD Selections |
|
|
188 | (1) |
|
|
189 | (6) |
|
Chapter 5 Structural Modeling |
|
|
195 | (41) |
|
|
195 | (1) |
|
|
196 | (3) |
|
Classes, Attributes, and Operations |
|
|
197 | (1) |
|
|
197 | (2) |
|
|
199 | (6) |
|
|
199 | (2) |
|
|
201 | (1) |
|
|
201 | (1) |
|
|
202 | (3) |
|
|
205 | (3) |
|
Responsibilities and Collaborations |
|
|
205 | (1) |
|
|
206 | (1) |
|
Role-Playing CRC Cards with Use Cases |
|
|
207 | (1) |
|
|
208 | (10) |
|
Elements of a Class Diagram |
|
|
208 | (9) |
|
Simplifying Class Diagrams |
|
|
217 | (1) |
|
|
217 | (1) |
|
Creating Structural Models Using CRC Cards and Class Diagrams |
|
|
218 | (9) |
|
|
220 | (7) |
|
Verifying and Validating the Structural Model |
|
|
227 | (3) |
|
Applying the Concepts at CD Selections |
|
|
230 | (1) |
|
|
231 | (5) |
|
Chapter 6 Behavioral Modeling |
|
|
236 | (35) |
|
|
236 | (1) |
|
|
237 | (1) |
|
|
238 | (15) |
|
Objects, Operations, and Messages |
|
|
238 | (1) |
|
|
238 | (8) |
|
|
246 | (7) |
|
Behavioral State Machines |
|
|
253 | (7) |
|
States, Events, Transitions, Actions, and Activities |
|
|
253 | (2) |
|
Elements of a Behavioral State Machine |
|
|
255 | (3) |
|
Creating a Behavioral State Machine |
|
|
258 | (2) |
|
|
260 | (4) |
|
Verifying and Validating the Behavioral Model |
|
|
264 | (2) |
|
Applying the Concepts at CD Selections |
|
|
266 | (1) |
|
|
266 | (5) |
|
|
271 | (242) |
|
|
273 | (44) |
|
|
274 | (1) |
|
Verifying and Validating the Analysis Models |
|
|
275 | (16) |
|
Balancing Functional and Structural Models |
|
|
276 | (2) |
|
Balancing Functional and Behavioral Models |
|
|
278 | (8) |
|
Balancing Structural and Behavioral Models |
|
|
286 | (2) |
|
|
288 | (3) |
|
Evolving the Analysis Models into Design Models |
|
|
291 | (5) |
|
|
291 | (1) |
|
Partitions and Collaborations |
|
|
292 | (1) |
|
|
293 | (3) |
|
Packages and Package Diagrams |
|
|
296 | (6) |
|
Guidelines for Creating Package Diagrams |
|
|
298 | (2) |
|
Creating Package Diagrams |
|
|
300 | (2) |
|
Verifying and Validating Package Diagrams |
|
|
302 | (1) |
|
|
302 | (7) |
|
|
303 | (1) |
|
|
304 | (1) |
|
|
305 | (2) |
|
Selecting a Design Strategy |
|
|
307 | (2) |
|
Developing the Actual Design |
|
|
309 | (2) |
|
|
310 | (1) |
|
Applying the Concepts at CD Selections |
|
|
311 | (1) |
|
|
311 | (6) |
|
Chapter 8 Class and Method Design |
|
|
317 | (50) |
|
|
317 | (2) |
|
Review of the Basic Characteristics of Object Orientation |
|
|
319 | (6) |
|
Classes, Objects, Methods, and Messages |
|
|
320 | (1) |
|
Encapsulation and Information Hiding |
|
|
320 | (1) |
|
Polymorphism and Dynamic Binding |
|
|
320 | (1) |
|
|
321 | (4) |
|
|
325 | (6) |
|
|
325 | (3) |
|
|
328 | (2) |
|
|
330 | (1) |
|
|
331 | (12) |
|
|
332 | (1) |
|
Identifying Opportunities for Reuse |
|
|
333 | (3) |
|
|
336 | (1) |
|
|
337 | (3) |
|
Mapping Problem-Domain Classes to Implementation Languages |
|
|
340 | (3) |
|
Constraints and Contracts |
|
|
343 | (11) |
|
|
345 | (3) |
|
|
348 | (6) |
|
|
354 | (7) |
|
|
354 | (1) |
|
|
354 | (2) |
|
|
356 | (1) |
|
|
356 | (1) |
|
|
357 | (4) |
|
Applying the Concepts at CD Selections |
|
|
361 | (1) |
|
|
362 | (5) |
|
Chapter 9 Data Base Design |
|
|
367 | (45) |
|
|
368 | (1) |
|
Object Persistence Formats |
|
|
368 | (12) |
|
Sequential and Random Access Files |
|
|
369 | (3) |
|
|
372 | (2) |
|
Object-Relational Databases |
|
|
374 | (1) |
|
Object-Oriented Databases |
|
|
374 | (1) |
|
|
375 | (2) |
|
Selecting an Object persistence Format |
|
|
377 | (3) |
|
Mapping Problem Domain Objects to Object Persistence Formats |
|
|
380 | (10) |
|
Mapping Problem Domain Objects to an OODBMS Format |
|
|
380 | (4) |
|
Mapping Problem Domain Objects to an ORDBMS Format |
|
|
384 | (3) |
|
Mapping Problem Domain Objects to a RDBMS Format |
|
|
387 | (3) |
|
Optimizing RDBMS-Based Object Storage |
|
|
390 | (11) |
|
Optimizing Storage Efficiency |
|
|
390 | (6) |
|
Optimizing Data Access Speed |
|
|
396 | (4) |
|
Estimating Data Storage Size |
|
|
400 | (1) |
|
Designing Data Access and Manipulation Classes |
|
|
401 | (4) |
|
Nonfunctional Requirements and Data Management Layer Design |
|
|
405 | (1) |
|
Applying the Concepts at CD Selections |
|
|
406 | (1) |
|
|
406 | (6) |
|
Chapter 10 User Interface Design |
|
|
412 | (61) |
|
|
413 | (1) |
|
Principles for User Interface Design |
|
|
414 | (7) |
|
|
414 | (2) |
|
|
416 | (2) |
|
|
418 | (2) |
|
|
420 | (1) |
|
|
420 | (1) |
|
|
421 | (1) |
|
User Interface Design Process |
|
|
421 | (14) |
|
|
422 | (3) |
|
Interface Structure Design |
|
|
425 | (1) |
|
Interface Standards Design |
|
|
426 | (1) |
|
Interface Design Prototyping |
|
|
427 | (5) |
|
|
432 | (2) |
|
Common Sense Approach to User Interface Design |
|
|
434 | (1) |
|
|
435 | (8) |
|
|
436 | (1) |
|
Types of Navigation Controls |
|
|
437 | (3) |
|
|
440 | (1) |
|
Navigation Design Documentation |
|
|
441 | (2) |
|
|
443 | (5) |
|
|
443 | (2) |
|
|
445 | (3) |
|
|
448 | (1) |
|
|
448 | (5) |
|
|
448 | (3) |
|
|
451 | (1) |
|
|
451 | (2) |
|
Mobile Computing and User Interface Design |
|
|
453 | (3) |
|
Social Media and User Interface Design |
|
|
456 | (3) |
|
International and Cultural Issues and User Interface Design |
|
|
459 | (4) |
|
Multilingual Requirements |
|
|
459 | (1) |
|
|
460 | (1) |
|
|
461 | (2) |
|
Nonfunctional Requirements and Human--Computer Interaction Layer Design |
|
|
463 | (1) |
|
Applying the Concepts at CD Selections |
|
|
464 | (1) |
|
|
464 | (9) |
|
|
473 | (40) |
|
|
473 | (1) |
|
Elements of the Physical Architecture Layer |
|
|
474 | (8) |
|
|
474 | (1) |
|
Server-Based Architectures |
|
|
475 | (1) |
|
Client-Based Architectures |
|
|
476 | (1) |
|
Client--Server Architectures |
|
|
476 | (2) |
|
|
478 | (1) |
|
Selecting a Physical Architecture |
|
|
479 | (3) |
|
|
482 | (3) |
|
|
485 | (1) |
|
|
486 | (6) |
|
|
486 | (3) |
|
|
489 | (3) |
|
Hardware and System Software Specifications |
|
|
492 | (3) |
|
Nonfunctional Requirements and Physical Architecture Layer Design |
|
|
495 | (12) |
|
|
495 | (3) |
|
|
498 | (2) |
|
|
500 | (3) |
|
Cultural and Political Requirements |
|
|
503 | (1) |
|
|
504 | (3) |
|
Applying the Concepts at CD Selections |
|
|
507 | (1) |
|
|
507 | (6) |
|
PART THREE IMPLEMENTATION |
|
|
513 | (61) |
|
|
515 | (30) |
|
|
515 | (2) |
|
|
517 | (8) |
|
|
517 | (1) |
|
|
518 | (1) |
|
|
519 | (1) |
|
|
520 | (5) |
|
|
525 | (10) |
|
Testing and Object Orientation |
|
|
526 | (2) |
|
|
528 | (2) |
|
|
530 | (4) |
|
|
534 | (1) |
|
|
534 | (1) |
|
|
535 | (1) |
|
|
535 | (6) |
|
|
536 | (1) |
|
Designing Documentation Structure |
|
|
537 | (1) |
|
Writing Documentation Topics |
|
|
538 | (1) |
|
Identifying Navigation Terms |
|
|
539 | (2) |
|
Applying the Concepts at CD Selections |
|
|
541 | (1) |
|
|
541 | (4) |
|
|
545 | (29) |
|
|
545 | (2) |
|
Cultural Issues and Information Technology Adoption |
|
|
547 | (2) |
|
|
549 | (6) |
|
|
550 | (1) |
|
|
551 | (1) |
|
|
552 | (1) |
|
Selecting the Appropriate Conversion Strategy |
|
|
553 | (2) |
|
|
555 | (9) |
|
Understanding Resistance to Change |
|
|
556 | (2) |
|
Revising Management Policies |
|
|
558 | (1) |
|
Assessing Costs and Benefits |
|
|
559 | (2) |
|
|
561 | (1) |
|
Enabling Adoption: Training |
|
|
562 | (2) |
|
Post-Implementation Activities |
|
|
564 | (5) |
|
|
564 | (2) |
|
|
566 | (1) |
|
|
567 | (2) |
|
Applying the Concepts at CD Selections |
|
|
569 | (1) |
|
|
569 | (5) |
Index |
|
574 | |