|
PART I: FOUNDATIONS FOR OBJECT-ORIENTED SYSTEMS DEVELOPMENT |
|
|
1 | (50) |
|
The Object-Oriented Systems Development Environment |
|
|
1 | (30) |
|
What Is Information Systems Analysis and Design? |
|
|
3 | (1) |
|
Systems Analysis and Design: Core Concepts |
|
|
3 | (2) |
|
|
5 | (4) |
|
Definitions of a System and Its Parts |
|
|
5 | (1) |
|
Important Systems Concepts |
|
|
6 | (3) |
|
Information Systems Analysis and Design |
|
|
9 | (2) |
|
Step One: Project Management and Planning |
|
|
9 | (1) |
|
Step Two: Systems Analysis |
|
|
9 | (1) |
|
Step Three: Systems Design |
|
|
10 | (1) |
|
Step Four: Systems Implementation and Operation |
|
|
10 | (1) |
|
Types of Information Systems and Systems Development |
|
|
11 | (2) |
|
Transaction Processing Systems |
|
|
12 | (1) |
|
Management Information Systems |
|
|
12 | (1) |
|
|
13 | (1) |
|
The Analyst's Role in Systems Development |
|
|
13 | (2) |
|
Systems Analysts in the Systems Development Process |
|
|
15 | (1) |
|
The Evolution of Systems Development Methodologies |
|
|
16 | (4) |
|
Systems Development Life Cycle (SDLC) |
|
|
17 | (1) |
|
Structured Analysis and Design |
|
|
17 | (2) |
|
Data-Oriented Methodologies |
|
|
19 | (1) |
|
The Object-Oriented Methodology |
|
|
19 | (1) |
|
|
19 | (1) |
|
Why Should We Use Object-Oriented Systems Analysis and Design (OOSAD)? |
|
|
20 | (2) |
|
Iterative and Incremental Development |
|
|
22 | (3) |
|
RUP's Iterative, Incremental Approach to OOSAD |
|
|
22 | (3) |
|
Our Approach to Object-Oriented Systems Analysis and Design |
|
|
25 | (1) |
|
|
26 | (1) |
|
|
27 | (1) |
|
|
28 | (1) |
|
|
28 | (1) |
|
|
29 | (1) |
|
|
29 | (2) |
|
Introduction to Object Orientation |
|
|
31 | (20) |
|
|
32 | (8) |
|
|
32 | (1) |
|
|
33 | (1) |
|
|
34 | (1) |
|
|
34 | (1) |
|
|
35 | (1) |
|
|
36 | (1) |
|
|
36 | (1) |
|
|
37 | (1) |
|
|
38 | (1) |
|
|
38 | (1) |
|
|
39 | (1) |
|
|
39 | (1) |
|
|
40 | (2) |
|
|
40 | (1) |
|
What Is Unified Modeling Language (UML)? |
|
|
40 | (2) |
|
|
42 | (1) |
|
|
43 | (1) |
|
|
43 | (1) |
|
|
44 | (1) |
|
|
44 | (1) |
|
Case: Broadway Entertainment Company, Inc. |
|
|
44 | (1) |
|
|
44 | (7) |
|
PART II: PROJECT MANAGEMENT AND PLANNING |
|
|
51 | (79) |
|
Managing the Object-Oriented Information Systems Project |
|
|
51 | (41) |
|
Managing an OOSAD Project |
|
|
52 | (22) |
|
Characteristics of the OOSAD Project |
|
|
55 | (7) |
|
|
62 | (2) |
|
|
64 | (6) |
|
|
70 | (2) |
|
|
72 | (2) |
|
Representing and Scheduling Project Plans |
|
|
74 | (6) |
|
Understanding the Critical Path of a Network Diagram |
|
|
76 | (3) |
|
Defining the Work Breakdown Structure for OOSAD Projects |
|
|
79 | (1) |
|
Calculating Expected Time Durations Using the Program Evaluation Review Technique (PERT) |
|
|
79 | (1) |
|
Constructing a Gantt Chart and Network Diagram for an OOSAD Project in Microsoft Project |
|
|
80 | (4) |
|
Establishing a Project Starting Date |
|
|
81 | (1) |
|
Entering Tasks and Assigning Task Relationships |
|
|
81 | (1) |
|
Selecting a Scheduling Method to Review Project Reports |
|
|
82 | (2) |
|
|
84 | (1) |
|
|
85 | (1) |
|
|
85 | (1) |
|
|
86 | (1) |
|
|
87 | (1) |
|
|
88 | (1) |
|
Case: Broadway Entertainment Company, Inc. |
|
|
89 | (1) |
|
Managing an Object-Oriented Information Systems Project |
|
|
89 | (3) |
|
Selecting and Planning Projects |
|
|
92 | (38) |
|
Identifying and Selecting OOSAD Projects |
|
|
93 | (4) |
|
The Process of Identifying and Selecting OOSAD Projects |
|
|
94 | (3) |
|
Deliverables and Outcomes |
|
|
97 | (1) |
|
Initiating, Planning, and Executing OOSAD Projects |
|
|
97 | (4) |
|
The Process of Initiating, Planning, and Executing OOSAD Projects |
|
|
98 | (2) |
|
Deliverables and Outcomes |
|
|
100 | (1) |
|
Pine Valley Furniture Company Background |
|
|
101 | (3) |
|
Identification and Selection of the WebStore |
|
|
102 | (1) |
|
Initiating and Planning the WebStore |
|
|
102 | (1) |
|
Assessing Project Feasibility |
|
|
102 | (2) |
|
Assessing Economic Feasibility |
|
|
104 | (9) |
|
Assessing Technical Feasibility |
|
|
110 | (1) |
|
Assessing Other Feasibility Concerns |
|
|
111 | (2) |
|
Building and Reviewing the Baseline Project Plan |
|
|
113 | (8) |
|
Building the Baseline Project Plan |
|
|
113 | (1) |
|
Introduction Section of the Baseline Project Plan |
|
|
113 | (4) |
|
Reviewing the Baseline Project Plan |
|
|
117 | (4) |
|
|
121 | (1) |
|
|
122 | (1) |
|
|
123 | (1) |
|
|
123 | (1) |
|
|
124 | (1) |
|
|
124 | (2) |
|
Case: Broadway Entertainment Company, Inc. |
|
|
126 | (1) |
|
Initiating and Planning a Web-Based Customer Relationship Management System |
|
|
126 | (4) |
|
PART III: SYSTEM ANALYSIS |
|
|
130 | (171) |
|
Determining Object-Oriented Systems Requirements |
|
|
130 | (31) |
|
Performing Requirements Determination |
|
|
131 | (3) |
|
|
132 | (1) |
|
The Process of Determining Requirements |
|
|
132 | (1) |
|
Deliverables and Outcomes |
|
|
133 | (1) |
|
|
133 | (1) |
|
Traditional Methods for Determining Requirements |
|
|
134 | (10) |
|
Interviewing and Listening |
|
|
134 | (4) |
|
|
138 | (1) |
|
Analyzing Procedures and Other Documents |
|
|
139 | (5) |
|
Modern Methods for Determining System Requirements |
|
|
144 | (6) |
|
|
144 | (3) |
|
Using Prototyping during Requirements Determination |
|
|
147 | (1) |
|
Using Agile Methodologies during Requirements Determination |
|
|
148 | (1) |
|
Agile Usage-Centered Design |
|
|
148 | (1) |
|
The Planning Game from eXtreme Programming |
|
|
149 | (1) |
|
PVF Webstore: Determining System Requirements |
|
|
150 | (3) |
|
Determining System Requirements for Pine Valley Furniture's WebStore |
|
|
151 | (2) |
|
|
153 | (1) |
|
|
154 | (1) |
|
|
154 | (1) |
|
|
155 | (1) |
|
|
155 | (1) |
|
|
155 | (1) |
|
Case: Broadway Entertainment Company, Inc. |
|
|
156 | (1) |
|
Determining Requirements for the Web-Based Customer Relationship Management System |
|
|
156 | (5) |
|
Structuring System Requirements: Use-Case Description and Diagrams |
|
|
161 | (26) |
|
|
162 | (2) |
|
|
163 | (1) |
|
Deliverables and Outcomes |
|
|
163 | (1) |
|
|
164 | (8) |
|
|
165 | (2) |
|
Developing Use-Case Diagrams: Three Examples |
|
|
167 | (4) |
|
Developing Use Cases for Pine Valley Furniture's WebStore |
|
|
171 | (1) |
|
|
172 | (8) |
|
|
172 | (1) |
|
|
173 | (3) |
|
Writing Use Cases for Pine Valley Furniture's WebStore |
|
|
176 | (3) |
|
|
179 | (1) |
|
|
180 | (1) |
|
|
180 | (1) |
|
|
181 | (1) |
|
|
181 | (1) |
|
|
182 | (1) |
|
|
182 | (1) |
|
Case: Broadway Entertainment Company, Inc. |
|
|
183 | (1) |
|
Use-Case Modeling for the Web-Based Customer Relationship Management System |
|
|
183 | (4) |
|
|
187 | (29) |
|
|
189 | (1) |
|
The Process of Conceptual Data Modeling |
|
|
189 | (1) |
|
Gathering Information for Conceptual Data Modeling |
|
|
190 | (2) |
|
Introduction to UML Data Modeling |
|
|
192 | (15) |
|
|
192 | (1) |
|
|
193 | (1) |
|
|
193 | (1) |
|
|
194 | (1) |
|
Important Considerations for Selecting Primary Keys (Identifiers) |
|
|
194 | (1) |
|
|
195 | (1) |
|
|
196 | (1) |
|
|
196 | (4) |
|
|
200 | (2) |
|
|
202 | (2) |
|
Composite Structure Diagram |
|
|
204 | (3) |
|
An Example of Conceptual Data Modeling for PVF WebStore |
|
|
207 | (1) |
|
Generalization Relationship |
|
|
205 | (3) |
|
|
208 | (1) |
|
|
209 | (1) |
|
|
210 | (1) |
|
|
210 | (1) |
|
|
211 | (1) |
|
|
211 | (2) |
|
Case: Broadway Entertainment Company, Inc. |
|
|
213 | (1) |
|
Conceptual Data Modeling for the Web-Based Customer Relationship Management System |
|
|
213 | (3) |
|
Object-Relational Modeling |
|
|
216 | (23) |
|
Object-Relational Data Modeling |
|
|
218 | (1) |
|
Relational Data Model (RDM) |
|
|
218 | (6) |
|
Well-Structured Relations |
|
|
219 | (1) |
|
|
220 | (4) |
|
Object Extensions to Relational Data Model |
|
|
224 | (3) |
|
Generalization/Specialization |
|
|
225 | (1) |
|
|
225 | (1) |
|
Mechanisms to Support Aggregation |
|
|
225 | (1) |
|
|
226 | (1) |
|
Relationship by References |
|
|
226 | (1) |
|
Incorporation of Methods in an Object Relation |
|
|
226 | (1) |
|
|
226 | (1) |
|
Translating Conceptual Data Models into Object Relations |
|
|
227 | (5) |
|
|
227 | (1) |
|
Translating Relationships |
|
|
228 | (3) |
|
|
231 | (1) |
|
Logical Design of PVF WebStore |
|
|
232 | (1) |
|
|
233 | (1) |
|
|
234 | (1) |
|
|
234 | (1) |
|
|
235 | (2) |
|
|
237 | (1) |
|
|
237 | (1) |
|
Case: Broadway Entertainment Company, Inc. |
|
|
237 | (1) |
|
Designing the Object-Relational Data Model for the Customer Relationship Management System |
|
|
237 | (2) |
|
|
239 | (32) |
|
|
241 | (1) |
|
|
241 | (2) |
|
|
242 | (1) |
|
|
242 | (1) |
|
|
242 | (1) |
|
Drawing Sequence Diagrams |
|
|
243 | (6) |
|
Sequence Diagram for the Place Order Use Case |
|
|
245 | (4) |
|
Sequence Diagram for the Make Reservation Use Case |
|
|
249 | (1) |
|
Robustness Analysis of Sequence Diagrams |
|
|
249 | (2) |
|
Drawing Communication Diagrams |
|
|
251 | (1) |
|
|
252 | (1) |
|
|
253 | (3) |
|
When to Use an Activity Diagram |
|
|
255 | (1) |
|
When Not to Use an Activity Diagram |
|
|
256 | (1) |
|
State (or Statechart) Diagram |
|
|
256 | (2) |
|
When to Use State Diagrams |
|
|
257 | (1) |
|
Modeling Business Rules in Analysis Classes |
|
|
258 | (5) |
|
|
258 | (1) |
|
|
259 | (1) |
|
|
259 | (2) |
|
|
261 | (1) |
|
The Object Constraint Language (OCL) |
|
|
261 | (2) |
|
|
263 | (1) |
|
|
264 | (1) |
|
|
265 | (1) |
|
|
265 | (2) |
|
|
267 | (1) |
|
|
267 | (1) |
|
Broadway Entertainment Company, Inc. |
|
|
268 | (1) |
|
Designing the Analysis Classes for the Customer Relationship Management System |
|
|
268 | (3) |
|
Selecting the Best Alternative Design Strategy |
|
|
271 | (30) |
|
Selecting the Best Alternative Design Strategy |
|
|
273 | (1) |
|
The Process of Selecting the Best Alternative Design Strategy |
|
|
273 | (1) |
|
Deliverables and Outcomes |
|
|
274 | (1) |
|
Generating Alternative Design Strategies |
|
|
274 | (2) |
|
Issues to Consider in Generating Alternatives |
|
|
276 | (9) |
|
|
276 | (1) |
|
|
277 | (4) |
|
Choosing Off-the-Shelf Software |
|
|
281 | (2) |
|
Hardware and System Software Issues |
|
|
283 | (1) |
|
|
284 | (1) |
|
Selecting the Best Alternative Design Strategy for Pine Valley Furniture's WebStore |
|
|
285 | (2) |
|
Selecting the Most Likely Alternative |
|
|
285 | (2) |
|
A Description of the Chosen Alternative |
|
|
287 | (1) |
|
Updating the Baseline Project Plan |
|
|
287 | (3) |
|
Before and After Baseline Project Plans for PVF's WebStore |
|
|
290 | (3) |
|
|
293 | (1) |
|
|
294 | (1) |
|
|
294 | (1) |
|
|
295 | (1) |
|
|
296 | (1) |
|
|
296 | (2) |
|
Case: Broadway Entertainment Company, Inc. |
|
|
298 | (1) |
|
Formulating a Design Strategy for the Web-Based Customer Relationship Management System |
|
|
298 | (3) |
|
|
301 | (102) |
|
|
301 | (33) |
|
|
303 | (1) |
|
Structured Query Language (SQL) |
|
|
304 | (3) |
|
|
307 | (4) |
|
|
309 | (1) |
|
Controlling Data Integrity |
|
|
310 | (1) |
|
Designing Physical Tables and Denormalization |
|
|
311 | (3) |
|
|
314 | (9) |
|
Secondary Storage Concepts |
|
|
315 | (2) |
|
Hashed File Organizations |
|
|
317 | (1) |
|
Indexed File Organizations |
|
|
317 | (6) |
|
Design of Object-Relational Features |
|
|
323 | (4) |
|
|
323 | (1) |
|
|
324 | (1) |
|
|
325 | (1) |
|
|
326 | (1) |
|
Relationship by Reference |
|
|
326 | (1) |
|
Physical Database Design of PVF WebStore |
|
|
327 | (2) |
|
|
329 | (1) |
|
|
329 | (1) |
|
|
330 | (1) |
|
|
330 | (1) |
|
|
331 | (1) |
|
Case: Broadway Entertainment Company, Inc. |
|
|
332 | (1) |
|
Designing the Physical Database for the Customer Relationship Management System |
|
|
332 | (2) |
|
|
334 | (30) |
|
|
336 | (1) |
|
|
337 | (3) |
|
|
337 | (1) |
|
|
338 | (1) |
|
|
338 | (1) |
|
|
339 | (1) |
|
Mapping from Analysis Classes to Design Elements |
|
|
340 | (1) |
|
|
341 | (1) |
|
|
342 | (5) |
|
COM, COM1, and Distributed COM (DCOM) |
|
|
342 | (1) |
|
Common Object Request Broker Architecture (CORBA) |
|
|
343 | (1) |
|
Enterprise Java Beans (EJB) |
|
|
343 | (3) |
|
COM, CORBA, and EJB: Comparisons and Problems |
|
|
346 | (1) |
|
XML/SOAP: An Integration Solution |
|
|
346 | (1) |
|
|
347 | (2) |
|
.NET Framework and Visual Studio .NET |
|
|
347 | (2) |
|
Java 2 Enterprise Edition (J2EE) |
|
|
349 | (1) |
|
Logic at the Browser: Scripting Languages |
|
|
349 | (1) |
|
Encapsulation at the Database End |
|
|
350 | (2) |
|
|
352 | (1) |
|
|
353 | (4) |
|
Verifying Responsibility Allocation |
|
|
353 | (1) |
|
|
354 | (2) |
|
|
356 | (1) |
|
|
357 | (1) |
|
|
358 | (1) |
|
|
359 | (2) |
|
|
361 | (1) |
|
|
361 | (1) |
|
|
362 | (1) |
|
Case: Broadway Entertainment Company, Inc. |
|
|
362 | (1) |
|
Developing Design Elements for the Customer Relationship Management System |
|
|
362 | (2) |
|
Designing the Human Interface |
|
|
364 | (39) |
|
Designing Forms and Reports |
|
|
365 | (5) |
|
The Process of Designing Forms and Reports |
|
|
366 | (1) |
|
Deliverables and Outcomes |
|
|
367 | (3) |
|
Formatting Forms and Reports |
|
|
370 | (8) |
|
General Formatting Guidelines |
|
|
371 | (1) |
|
|
372 | (1) |
|
|
373 | (1) |
|
Designing Tables and Lists |
|
|
374 | (2) |
|
Paper Versus Electronic Reports |
|
|
376 | (1) |
|
|
377 | (1) |
|
Designing Interfaces and Dialogues |
|
|
378 | (2) |
|
The Process of Designing Interfaces and Dialogues |
|
|
379 | (1) |
|
Deliverables and Outcomes |
|
|
379 | (1) |
|
|
380 | (10) |
|
|
380 | (3) |
|
|
383 | (1) |
|
|
383 | (2) |
|
|
385 | (1) |
|
Errors and Warning Messages |
|
|
386 | (1) |
|
|
387 | (2) |
|
|
389 | (1) |
|
|
390 | (4) |
|
Designing the Dialogue Sequence |
|
|
391 | (2) |
|
Building Prototypes and Assessing Usability |
|
|
393 | (1) |
|
|
394 | (1) |
|
|
395 | (1) |
|
|
395 | (1) |
|
|
396 | (1) |
|
|
396 | (1) |
|
|
397 | (1) |
|
Case: Broadway Entertainment Company, Inc. |
|
|
398 | (1) |
|
Designing the Human Interface for the Customer Relationship Management System |
|
|
398 | (5) |
|
PART V: SYSTEMS IMPLEMENTATION AND OPERATION |
|
|
403 | (40) |
|
OOSAD Implementation and Operation |
|
|
403 | (40) |
|
Systems Implementation and Operation |
|
|
405 | (4) |
|
The Processes of Program Coding, Testing, and Installation |
|
|
406 | (1) |
|
Deliverables and Outcomes from Program Development, Testing, and Installation |
|
|
406 | (1) |
|
The Processes of Documenting the System, Training Users, and Supporting Users |
|
|
407 | (1) |
|
Deliverables and Outcomes from Documenting the System, Training Users, and Supporting Users |
|
|
407 | (1) |
|
The Process of Maintaining Information Systems |
|
|
408 | (1) |
|
Deliverables and Outcomes from Maintaining Information Systems |
|
|
409 | (1) |
|
|
409 | (4) |
|
Combining Coding and Testing |
|
|
410 | (1) |
|
|
410 | (3) |
|
|
413 | (1) |
|
Software Application Testing |
|
|
413 | (4) |
|
Seven Different Types of Tests |
|
|
413 | (2) |
|
|
415 | (1) |
|
Acceptance Testing by Users |
|
|
416 | (1) |
|
|
417 | (2) |
|
|
417 | (2) |
|
|
419 | (3) |
|
|
420 | (1) |
|
Preparing User Documentation |
|
|
421 | (1) |
|
Training and Supporting Users |
|
|
422 | (3) |
|
Training Information System Users |
|
|
422 | (2) |
|
Supporting Information System Users |
|
|
424 | (1) |
|
Why Implementation Sometimes Fails |
|
|
425 | (2) |
|
|
427 | (1) |
|
Conducting Systems Maintenance |
|
|
427 | (5) |
|
|
428 | (1) |
|
|
428 | (2) |
|
Measuring Maintenance Effectiveness |
|
|
430 | (1) |
|
Controlling Maintenance Requests |
|
|
430 | (2) |
|
Role of CASE and Automated Development Tools in Maintenance |
|
|
432 | (1) |
|
Systems Implementation and Operation for Pine Valley Furniture's WebStore |
|
|
432 | (2) |
|
Developing Test Cases for WebStore |
|
|
432 | (1) |
|
Bug Tracking and System Evolution |
|
|
433 | (1) |
|
Alpha and Beta Testing the WebStore |
|
|
433 | (1) |
|
|
434 | (1) |
|
|
434 | (2) |
|
|
436 | (1) |
|
|
437 | (1) |
|
|
437 | (1) |
|
|
438 | (1) |
|
|
438 | (1) |
|
Case: Broadway Entertainment Company, Inc. |
|
|
439 | (1) |
|
Designing a Testing Plan for the Customer Relationship Management System |
|
|
439 | (4) |
References |
|
443 | (6) |
Acronymn Glossary |
|
449 | (2) |
Glossary |
|
451 | (8) |
Index |
|
459 | |