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