SMuE« ND DESIG. Rutgers University School of Business-Camden Camden, New Jersey. Rutgers University School of Business-Camden Camden, New Jersey

Size: px
Start display at page:

Download "SMuE« ND DESIG. Rutgers University School of Business-Camden Camden, New Jersey. Rutgers University School of Business-Camden Camden, New Jersey"

Transcription

1 SMuE«ND DESIG S E V E N TH EDITION Rutgers University School of Business-Camden Camden, New Jersey Rutgers University School of Business-Camden Camden, New Jersey Upper Saddie River, New Jersey 07458

2 PART I SYSTEMS ANALYSIS FUNDAMENTALS 1 ASSUMING THE ROLE OF THE SYSTEMS ANALYST 1 Types of Systems 2 Transaction Processing Systems 2 / Office Automation Systems and Knowledge Work Systems 3 / Management Information Systems 3 / Decision Support Systems 3 / Expert Systems and Artificial Intelligence 3 / Group Decision Support Systems and Computer-Supported Collaborative Work Systems 4 / Executive Support Systems 4 Integrating Technologies for Systems 4 Ecommerce Applications and Web Systems 5 / Enterprise Resource Planning Systems 5 / Systems for Wireless and Handheld Devices 6 / Open Source Software 6 Need for Systems Analysis and Design 7 Roles of the Systems Analyst 7 Systems Analyst as Consultant 8 Consulting Opportunity 1.1 Healthy Hiring: Ecommerce Help Wanted 8 Systems Analyst as Supporting Expert 9 / Systems Analyst as Agent of Change 9 / Qualities of the Systems Analyst 9 The Systems Development Life Cycle 10 Incorporating Human-Computer Interaction Considerations 10/ Identifying Problems, Opportunities, and Objectives 11/ Determining Human Information Requirements 12/ Analyzing System Needs 13/ Designing the Recommended System 13 / Developing and Documenting Software 13 / Testing and Maintaining the System 14 / Implementing and Evaluating the System 14 / The Impact of Maintenance 14 Using CASE Tools 16 Reasons for Using CASE Tools 16 Upper and Lower CASE 17 Upper CASE Tools 17 / Lower CASE Tools 18 Object-Oriented Systems Analysis and Design 19 The Agile Approach and Other Alernative Methodologies 20 SUMMARY 21 HYPERCASE EXPERSENCE 1 22 KEYWORDS AND PHRASES 23 REVIEW QUESTIONS 23 SELECTED BIBLIOGRAPHY 24 CPU CASE EPISODE 1: THE CASE OPENS 26 V

3 2 UNDERSTANDING ORGANIZATIONAL STYLE AND ITS IMPACT PN INFORMATION SYSTEMS 27 Organizations as Systems 27 Interrelatedness and Interdependence of Systems 28 / Virtual Organizations and Virtual Teams 29 / Taking a Systems Perspective 30 Consulting Opportunity 2.1 The E in Vitamin E Stands for Ecommerce 30 Enterprise Resource Planning: Viewing the Organization as a System 32 Depicting Systems Graphically 32 Systems and the Context-Level Data Flow Diagram 32 / Systems and the Entity-Relationship Model 34 Use Case Modeling 39 Use Case Symbols 39 / Use Case Relationships 40 / Developing Use Case Diagrams 42 / Developing Use Case Scenarios 42 / Why Use Case Diagrams are Helpful 45 Levels of Management 46 Consulting Opportunity 2.2 Where There's Carbon, There's a Copy 47 Consulting Opportunity 2.3 Pyramid Power 48 Implications for Information Systems Development 48 Organizational Culture 49 SUMMARY 49 HYPERCASE EXPER1ENCE 2 50 KEYWORDSAND PHRASES 51 REVIEW QUESTIONS 52 PROBLEMS 52 GROUP PROJECTS 54 SELECTED BIBLIOGRAPHY 54 CPU CASE EPISODE 2: PICTUR1NG THE RELATIONSHIPS 55 3 PROJECT MANAGEMENT 57 Project Initiation 57 Problems in the Organization 58 Consulting Opportunity 3.1 The Sweetest Sound l've Ever Sipped 59 Defining the Problem 59 / Selection of Projects 62 Determining Feasibility 63 Defining Objectives 64 / Determining Resources 66 / Judging Feasibility 68 Activity Planning and Control 68 Estimating Time Required 68 Consulting Opportunity 3.2 Food for Thought 69 Using Gantt Charts for Project Scheduling 70 / Using PERT Diagrams 71 Computer-Based Project Scheduling 74 Timeboxing 75 / Managing the Project 76 / Addressing System Complexity 76 Function Point Analysis 76 Estimating Staffing Requirements for the Project 79 / Managing Risk 80 Managing Analysis and Design Activities 81 Assembling a Team 81/ Communication Strategies for Managing Teams 82

4 Consulting Opportunity 3.3 Goal Tending 83 Setting Project Productivity Goals 83 / Motivating Project Team Members 84 / Managing Projects Using COTS Software 84 / Managing Ecommerce Projects 85 / Creating the Project Charter 85 / Avoiding Project Failures 86 Agile Development 86 Resource Trade-Offs Using an Agile Approach 87 / Core Practices and Roles of the Agile Approach 89 / Developmental Process for an Agile Project 94 SUMMARY 96 HYPERCASE EXPERIENCE 3 97 KEYWORDS AND PHRASES 99 REVIEW QUESTIONS 99 PROBLEMS 100 GROUP PROJECTS 103 SELECTED BIBLIOGRAPHY 104 CPU GASE EPISODE 3: GETTING TO KNOW U 105 PART II INFORMATION REQUIREMENTS ANALYSIS 4 INFORMATION GATHERING: INTERACTIVE METHODS 109 Interviewing 109 Five Steps in Interview Preparation 110/ Question Types 112/ Arranging Questions in a Logical Sequence 114 Consulting Opportunity 4.1 Strengthening Your Question Types 115 Writing the Interview Report 116 Consulting Opportunity 4.2 Skimming the Surface 117 Joint Application Design 118 Conditions That Support the Use of JAD 118/ Who Is Involved 118 HYPERCASE EXPERIENCE Where to Hold JAD Meetings 120/ Accomplishing a Structured Analysis of Project Activities 120 Consulting Opportunity 4.3 A Systems Analyst, I Presume? 121 Potential Benefits of Using JAD in Place of Traditional Interviewing 121 / Potential Drawbacks of Using JAD 121 Using Questionnaires 122 Planning for the Use of Questionnaires 122 / Writing Questions 123 / Using Scales in Questionnaires 126 / Designing the Questionnaires 128 Consulting Opportunity 4.4 The Unbearable Questionnaire 129 Administering Questionnaires 130 Consulting Opportunity 4.5 Order in the Courts 130 SUMMARY 131 HYPERCASE EXPERIENCE 4,2 132 KEYWORDS AND PHRASES 133 REVIEW QUESTIONS 133 PROBLEMS 134 GROUP PROJECTS 137 SELECTED BIBLIOGRAPHY 138 CPU GASE EPISODE 4: S'LL LISTEN NOW, ASK QUESTIONS LATER 139

5 5 INFORMATION GATHERING: UNOBTRUSIVE METHODS 143 Sampling 143 The Need for Sampling 144 / Sampling Design 144 / The Sample Size Decision 146 Consulting Opportunity 5.1 Trapping a Sample 148 Investigation 148 Analyzing Quantitative Documents 149 Consulting Opportunity 5.2 A Rose by Any Other Name... or Quality, Not Quantities 151 Analyzing Qualitative Documents 153 HYPERCASE EXPERIENCE Observing a Decision Maker's Behavior 155 Observing atypical Manager's Decision-Making Activities 155 Observing the Physical Environment 157 Structured Observation of the Environment (STROBE] 157 / Applying STROBE 160 Consulting Opportunity 5.3 Don't Bank on Their Self-Image or Not Everything Is Reflected in a Mirror 160 SUMMARY 162 HYPERCASE EXPERIENCE KEYWORDSAND PHRASES 164 REVIEW QUESTIONS 164 PROBLEMS 165 GROUP PROJECTS 167 SELECTED BIBLIOGRAPHY 168 CPU GASE EPISODE 5: SEEING IS BELIEVING AGILE MODELING AND PROTOTYPING 171 Prototyping 172 Kinds of Prototypes 172/ Prototyping as an Alternative to the Systems Development Life Cycle 174 Developing a Prototype 175 Guidelines for Developing a Prototype 175 / Disadvantages of Prototyping 177 Consulting Opportunity 6.1 Is Prototyping King? 177 Advantages of Prototyping 178 Prototyping Using COTS Software 178 Consulting Opportunity 6.2 Clearing the Way for Customer Links 178 Consulting Opportunity 6.3 To Hatch a Fish 179 Users' Role in Prototyping 179 Interaction with the Prototype 180 Consulting Opportunity 6.4 This Prototype Is All Wet 180 Rapid Application Development 181 Phases of RAD 182 / Comparing RAD to the SDLC 183 Agile Modeling 185 Values and Principles of Agile Modeling 186 / Activities, Resources, and Practices of Agile Modeling 189 / The Agile Development Process and Tools 190 / Lessons Learned from Agile Modeling 195

6 Comparing Agile Modeling and Structured Methods 197 Reducing the Interface Time and Errors 198 / Reducing the Process Learning Time and Dual Processing Losses 199 / Reducing the Time and Effort to Structure Tasks and Format Outputs 199/ Reducing the Nonproductive Expansion of Work 199 / Reducing the Data and Knowledge Search and Storage Time and Costs 199/ Reducing Communication and Coordination Time and Costs 200 / Reducing Losses from Human Information Overload 200 / Risks Inherent in Organizational Innovation 201 SUMMARY 203 HYPERCÄSE EXPERIENCE KEYWORDS AND PHRASES 206 REVIEW QUESTIONS 206 PROBLEMS 207 GROUP PROJECTS 209 SELECTED BIBLIOGRAPHY 209 CPU CASE EPISODE 6: REACTION TIME 211 PARTIM THE ANALYSIS PROCESS 7 USING DATA FLOW DIAGRAMS 217 The Data Flow Approach to Human Requirements Determination 217 Advantages of the Data Flow Approach 218 / Conventions Used in Data Flow Diagrams 218 Developing Data Flow Diagrams 220 Creating the Context Diagram 220 / Drawing Diagram 0 (The Next Level) 221 / Creating Child Diagrams (More Detailed Levels) 221 / Checking the Diagrams for Errors 223 Logical and Physical Data Flow Diagrams 225 Developing Logical Data Flow Diagrams 227 / Developing Physical Data Flow Diagrams 228 / Partitioning Data Flow Diagrams 232 / A Data Flow Diagram Example 234 / Creating the Context Diagram 235 / Drawing Diagram / Creating a Child Diagram 237 Creating a Physical Data Flow Diagram 238 Partitioning the Data Flow Diagram 240 A Second Data Flow Diagram Example 241 Partitioning Web Sites 246 Consulting Opportunity 7.1 There's No Business Like Flow Business 249 Communicating Using Data Flow Diagrams 250 SUMMARY 250 HYPERCÄSE EXPERIENCE KEYWORDSAND PHRASES 252 REVIEW QUESTIONS 252 PROBLEMS 252 GROUP PROJECTS 255 SELECTED BIBLIOGRAPHY 255 CPU CASE EPISODE 7: JUST FLOWING ALONG ANALYZING SYSTEMS USING DATA DICTIONARIES 267 The Data Dictionary 267 Need for Understanding the Data Dictionary 268

7 The Data Repository 268 Defining the Data Flows 269 / Describing Data Structures 271 / Logical and Physical Data Structures 273 / Data Elements 274 / Data Stores 277 Creating the Data Dictionary 279 Analyzing Input and Output 280 Consulting Opportunity 8.1 Want to Make It Big in the Theatre? Improve Your Diction(ary)! 281 Developing Data Stores 281 Using the Data Dictionary 282 Using Data Dictionaries to Create XML 284 / XML Document Type Definitions 287 / XML Schemas 289 SUMMARY 289 HYPERCASE EXPERIENCE KEYWORDSAND PHRASES 291 REVIEW QUESTIONS 291 PROBLEMS 291 GROUP PROJECTS 294 SELECTED BIBLIOGRAPHY 294 CPU CASE EPISODE 8; DEFINING WHAT YOU MEAN DESCRIBING PROCESS SPECIFICATIONS AND STRUCTURED DECISIONS 305 Overview of Process Specifications 305 Process Specification Format 306 Structured English 308 Writing Structured English 309 Consulting Opportunity 9.1 Kit Chen Kaboodle, Inc. 310 Consulting Opportunity 9.2 Kneading Structure 311 Data Dictionary and Process Specifications 312 Decision Tables 313 Developing Decision Tables 315 Consulting Opportunity 9.3 Saving a Cent on Citron Car Rental 316 Checking for Completeness and Accuracy 318/ More Advanced Decision Tables 319 Decision Trees 319 Consulting Opportunity 9.4 A Tree for Free 320 Drawing Decision Trees 320 Choosing a Structured Decision Analysis Technique 321 Physical and Logical Process Specifications 323 Using Process Specifications: Horizontal Balancing 324 SUMMARY 327 HYPERCASE EXPERIENCE KEYWORDS AND PHRASES 329 REVIEW QUESTIONS 329 PROBLEMS 330 GROUP PROJECTS 332 SELECTED BIBLIOGRAPHY 332 CPU CASE EPISODE 9: TABL1NG A DECISION 333

8 10 PREPARING THE SYSTEMS PROPOSAL 339 Ascertaining Hardware and Software Needs 339 Inventorying Computer Hardware 340 / Estimating Workloads 341 / Evaluating Computer Hardware 341 / Acquisition of Computer Equipment 342 / Software Evaluation 345 / Decision Support Tools 348 Consulting Opportunity 10.1 Veni, Vidi, Vendi, or, I Came, I Saw, I Sold 349 Expert Systems, Neural Nets, and Other Decision Tools 350 HYPERCASE EXPERIENCE Identifying and Forecasting Costs and Benefits 351 Forecasting Costs and Benefits 352 Consulting Opportunity 10.2 We're Off to See the Wizards 354 Identifying Benefits and Costs 354 Comparing Costs and Benefits 355 Break-Even Analysis 355 HYPERCASE EXPERIENCE Cash-Flow Analysis 357 / Present Value Analysis 358 / Guidelines for Analysis 359 / Examining Alternative Systems 359 The Systems Proposal 360 Organizing the Systems Proposal 360 / Using Figures for Effective Communication 361 Presenting the Systems Proposal 366 Understanding the Audience 366 Consulting Opportunity 10.3 Should This Chart Be Barred? 367 Organizing the Systems Proposal Presentation 368 / Principles of Delivery 368 SUMMARY 368 HYPERCASE EXPERIENCE KEYWORDS AND PHRASES 370 REVIEW QUESTIONS 370 PROBLEMS 371 GROUP PROJECTS 375 SELECTED BIBLIOGRAPHY 375 CPU GASE EPISODE 10: PROPOSING TO GO FORTH 376 PART IV THE ESSENTIALS OF DESIGN 11 DESIGNING EFFECTIVE OUTPUT 379 Output Design Objectives 379 Designing Output to Serve the Intended Purpose 380 / Designing Output to Fit the User 380 / Delivering the Appropriate Quantity of Output 380 / Making Sure the Output Is Where It Is Needed 380 / Providing the Output on Time 380 / Choosing the Right Output Method 381 Relating Output Content to Output Method 381 Output Technologies 381 Consulting Opportunity 11.1 Your Cage or Mine? 386 Factors to Consider When Choosing Output Technology 389 Consulting Opportunity 11.2 A Right Way, a Wrong Way, and a Subway 393

9 Realizing How Output Bias Affects Users 394 Recognizing Bias in the Way Output Is Used 394 / Avoiding Bias in the Design of Output 396 / Designing Printed Output 396 / Guidelines for Printed Report Design 396 Designing Output for Displays 398 Guidelines for Display Design 398 / Using Graphical Output in Screen Design 400 / Dashboards 400 Consulting Opportunity 11.3 Is Your Work a Grind? 402 Widgets and Gadgets Changing the Desktop Metaphor 402 Designing a Web Site 403 General Guidelines for Designing Web Sites 403 / Creating Blogs [Web Logs) 412 Consulting Opportunity 11.4 A Field Day 412 Output Production and XML 413 Ajax 415 SUMMARY 416 HYPERCASE EXPERIENCE KEYWORDSAND PHRASES 418 REVIEW QUESTIONS 418 PROBLEMS 419 GROUP PR0JECTS 423 SELECTED BIBLI0GRAPHY 424 CPÖ GASE EPISODE 11: REPORTiNG ON OUTPUTS DESIGNING EFFECTIVE INPUT 433 Good Form Design 433 Making Forms Easy to Fill In 434 / Meeting the Intended Purpose 437 / Ensuring Accurate Completion 437 / Keeping Forms Attractive 437 / Computer-Assisted Form Design 438 / Controlling Business Forms 440 Good Display and Web Forms Design 441 Keeping the Display Simple 441 Consulting Opportunity 12.1 This Form May be Hazardous to Your Health 442 Keeping the Display Consistent 443 / Facilitating Movement 443 / Designing an Attractive and Pleasing Display 443 Consulting Opportunity 12.2 Squeezin' Isn't Pleasin' 445 Using Icons in Display Design 446 / Graphical User Interface Design 446 Consulting Opportunity 12.3 What's That Thing Supposed to Be? 448 Form Controls and Values 449 / Hidden Fields 450 / Event-Response Charts 451 / Dynamic Web Pages 453 /Ajax (Asynchronous Javascript and XML) 455 / Tab Control Dialog Boxes 457 / Using Color in Display Design 458 Consulting Opportunity 12.4 It's Only Skin Deep 459 Intranet and Internet Page Design 460 SUMMARY 462 HYPERCASE EXPERIENCE KEYWORDSAND PHRASES 464 REVIEW QUESTIONS 464 PROBLEMS 465 GROUP PR0JECTS 470 SELECTED BIBLI0GRAPHY 470 CPU CASE EPISODE 12: FORMING 5CREENS AND SCREENING FORMS 471

10 13 DESIGNING DATABASES 479 Databases 480 Data Concepts 480 Consulting Opportunity 13.1 Hitch Your Cleaning Cart to a Star 481 Reality, Data, and Metadata 481 / File Organization 488 / Relational Databases 490 Normalization 492 The Three Steps of Normalization 492 / A Normalization Example 493 / Using the Entity-Relationship Diagram to Determine Record Keys 502 / One-to-Many Relationship 502 / Many-to-Many Relationship 502 Guidelines for Master File/Database Relation Design 503 Integrity Constraints 504 / Anomalies 505 Making Use of the Database 506 Steps in Retrieving and Presenting Data 506 Denormalization 511 Data Warehouses 512 Online Analytic Processing 514 Consulting Opportunity 13.2 Storing Minerals for Health, Data for Mining 516 Data Mining 516 Consulting Opportunity 13.3 Losing Prospects 518 SUMMARY 519 HYPERCASE EXPERIENCE KEYW0RDS AND PHRASES 521 REVIEW QUESTIONS 521 PROBLEMS 522 GROUP PROJECT 524 SELECTED BIBLIOGRAPHY 524 CPU GASE EPISODE 13; BACK TO DATA BASICS HUMAN-COMPUTER INTERACTION 533 Understanding Human-Computer Interaction 533 How Fit Affects Performance and Well-Being 534 / The Technology Acceptance Model and Attitüde 536 / Usability 536 / Designing for the Cognitive Styles of Individual Users 537 / Physical Considerations in HCl Design 542 / Considering Human Limitations, Disabilities, and Design 543 Consulting Opportunity 14.1 School Spirit Comes in Many Sizes 544 Implementing Good HCl Practices 545 Types of User Interface 545 Natural-Language Interfaces 546 / Question-and-Answer Interfaces 546 / Menüs 547 / Form-Fill Interfaces (Input/Output Forms) 549 Consulting Opportunity 14.2 l'd Rather Do It Myself 549 Command-Language Interfaces 550 Consulting Opportunity 14.3 Don't Slow Me Down 551 Graphical User Interfaces 551 Consulting Opportunity 14.4 That's Not a Lightbulb 552 Other User Interfaces 552 Guidelines for Dialog Design 554 Meaningful Communication 554 / Minimal User Action 555 / Standard Operation and Consistency 557

11 Feedback for Users 558 Consulting Opportunity 14.5 Waiting to Be Fed 559 Types of Feedback 559 / Including Feedback in Design 562 Special Design Considerations for Ecommerce 563 Soliciting Feedback from Ecommerce Web Site Customers 563 Consulting Opportunity 14.6 When You Run a Marathon, It Helps to Know Where You're Going 564 Easy Navigation for Ecommerce Web Sites 565 Mashups 566 Designing Queries 567 Query Types 567 Consulting Opportunity 14.7 Hey, Look Me Over (Reprise) 570 Query Methods 570 SUMMARY 573 HYPERCASE EXPERIENCE KEYWORDS ANDPHRASES 576 REVIEW QUESTIONS 576 PROBLEMS 577 GROUP PROJECTS 578 SELECTED BIBLIOGRAPHY 579 CPU GASE EPISODE 14; UP TO THE USERS DESIGNING ACCURATE DATA ENTRY PROCEDURES 591 Effective Coding 591 Keeping Track of Something 592 / Classifying Information 593 / Concealing Information 595 / Revealing Information 596 / Unicode 597 / Requesting Appropriate Action 598 / General Guidelines for Coding 598 Consulting Opportunity 15.1 It's a Wilderness in Here 599 Effective and Efficient Data Capture 601 Deciding What to Capture 601 Consulting Opportunity 15.2 Catching a Summer Code 602 Letting the Computer Do the Rest 602 / Avoiding Bottlenecks and Extra Steps 604 / Starting with a Good Form 604 / Choosing a Data Entry Method 605 Ensuring Data Quality Through Input Validation 608 Validating Input Transactions 609 Consulting Opportunity 15.3 To Enter or Not to Enter: That Is the Question 610 Validating Input Data 610 / The Process of Validation 614 Consulting Opportunity 15.4 Do You Validate Parking? 616 Accuracy Advantages in Ecommerce Environments 616 Customers Keying Their Own Data 617 / Storing Data for Later Use 617 / Using Data Through the Order Fulfillment Process 617 / Providing Feedback to Customers 617 SUMMARY 618 HYPERCASE EXPERIENCE KEYWORDS AND PHRASES 619 REVIEW QUESTIONS 620 PROBLEMS 621 GROUP PROJECTS 623 SELECTED BIBLIOGRAPHY 624 CPU CASE EPISODE 15: ENTERING NATURALLY 625

12 PART V SOFTWARE ENGINEERING AND IMPLEMENTATION 16 QUALITY ASSURANCE THROUGH SOFTWARE ENGINEERING 631 The Total Quality Management Approach 631 Six Sigma 632 / Responsibility for Total Quality Management 632 Consulting Opportunity 16.1 The Quality of MIS Is Not Strained 634 Structured Walkthrough 634 / Systems Design and Development 635 / Modular Development 637 / Modularity in the Windows Environment 638 Using Structure Charts to Design Systems 638 Drawing a Structure Chart 642 / Types of Modules 644 / Module Subordination 646 Software Engineering and Documentation 648 Pseudocode 649 / Procedure Manuals 650 / The Folklore Method 651 Consulting Opportunity 16.2 Write Is Right 653 Choosing a Design and Documentation Technique 653 Testing, Maintenance, and Auditing 653 The Testing Process 654 Consulting Opportunity 16.3 Cramming for Your Systems Test 656 Maintenance Practices 657 / Auditing 657 SUMMARY 658 HYPERCASE EXPERIENCE KEYWORDS ANDPHRASES 660 REVIEW QUESTIONS 660 PROBLEMS 661 GROUP PROJECTS 662 SELECTED BIBLIOGRAPHY 662 CPU GASE EPiSODE 16: CHARTING THE STRUCTURE SUCCESSFULLY IMPLEMENTING THE INFORMATION SYSTEM 671 Implementing Distributed Systems 672 Client/Server Technology 672 / Types of Distributed Systems Networks 674 / Network Modeling 677 / Group wäre 681 Training Users 683 Training Strategies 683 / Guidelines for Training 684 Consulting Opportunity 17.1 You Can Lead a Fish to Water... But You Can't Make It Drink 685 Conversion 686 Conversion Strategies 686 Security Concerns for Traditional and Web-Based Systems 688 Physical Security 688 / Logical Security 689 / Behavioral Security 689 / Special Security Considerations for Ecommerce 690 / Privacy Considerations for Ecommerce 691 / Disaster Recovery Planning 691 Other Conversion Considerations 693 Organizational Metaphors and Their Relationship to Successful Systems 693 Evaluation 694 Evaluation Techniques 694 / The Information System Utility Approach 695 Consulting Opportunity 17.2 The Sweet Smell of Success 696 Evaluating the System 696 Consulting Opportunity 17.3 Mopping Up with the New System 697

13 Evaluating Corporate Web Sites 697 SUMMARY 700 HYPERCASE EXPERIENCE KEYWORDS AND PHRASES 702 REVIEW QUESTIONS 702 PROBLEMS 703 GROUP PROJECTS 705 SELECTED BIBLIOGRAPHY 705 CPU GASE EPISODE 17: SEMPER REDUNDATE OBJECT-ORIENTED SYSTEMS ANALYSIS AND DESIGN USING UML 709 Object-Oriented Concepts 710 Objects 710 / Classes 710 / Inheritance 711 CRC Cards and Object Think 712 Consulting Opportunity 18.1 Making the Magic Reel 713 Interacting During a CRC Session 713 The Unified Modeling Language (UML) Concepts and Diagrams 715 Use Case Modeling 717 Activity Diagrams 720 Creating Activity Diagrams 722 Consulting Opportunity 18.2 Recycling the Programming Environment 723 Sequence and Communication Diagrams 724 Sequence Diagrams 724 / Communication Diagrams 726 Class Diagrams 727 Method Overloading 728 / Types of Classes 729 / Defining Messages and Methods 730 / A Class Example for the Web 730 / Relationships 733 / Generalization/Specialization (Gen/Spec) Diagrams 736 Statechart Diagrams 740 State Transition Example 741 Packages and Other UML Artifacts 742 Consulting Opportunity 18.3 Developing a Fine System That Was Long Overdue: Using Object-Oriented Analysis for the Ruminski Public Library System 744 Putting UML to Work 744 The Importance of Using UML for Modeling 746 Consulting Opportunity 18.4 C-Shore SUMMARY 748 KEYWORDSAND PHRASES 748 REVIEW QUESTIONS 749 PROBLEMS 749 SELECTED BIBLIOGRAPHY 751 GLOSSARY 753 ÄCRONYMS763 INDEX764