SMuE« ND DESIG
S E V E N T H 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
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 1 0 / Identifying Problems, Opportunities, and Objectives 1 1 / Determining Human Information Requirements 1 2 / Analyzing System Needs 1 3 / 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
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 8 1 / Communication Strategies for Managing Teams 82
CONTENTS
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 1 1 8 / Who Is Involved 118 HYPERCASE® EXPERIENCE 4.1 119 Where to Hold JAD Meetings 1 2 0 / 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 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 5.1 155
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 5.2 163 KEYWORDSAND PHRASES 164 REVIEW QUESTIONS 164 PROBLEMS 165 GROUP PROJECTS 167 SELECTED BIBLIOGRAPHY 168
CPU GASE EPISODE 5: SEEING IS BELIEVING 169
6 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
CONTENTS
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 1 9 9 / 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 6 205 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 0 235 / 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 7 251 KEYWORDSAND PHRASES 252 REVIEW QUESTIONS 252 PROBLEMS 252 GROUP PROJECTS 255 SELECTED BIBLIOGRAPHY 255 CPU CASE EPISODE 7: JUST FLOWING ALONG 256
8 ANALYZING SYSTEMS USING DATA DICTIONARIES 267
The Data Dictionary 267 Need for Understanding the Data Dictionary 268
CONTENTS
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 8 290
KEYWORDSAND PHRASES 291 REVIEW QUESTIONS 291 PROBLEMS 291
GROUP PROJECTS 294 SELECTED BIBLIOGRAPHY 294 CPU CASE EPISODE 8; DEFINING WHAT YOU MEAN 296
9 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 3 1 8 / 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 9 3 2 8
KEYWORDS AND PHRASES 3 2 9
REVIEW QUESTIONS 3 2 9
PROBLEMS 3 3 0
GROUP PROJECTS 3 3 2
SELECTED BIBLIOGRAPHY 3 3 2
CPU CASE EPISODE 9 : TABL1NG A DECISION 3 3 3
CONTENTS
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 10.1 351
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 10.2 357 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 10.3 369 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
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 11 417 KEYWORDSAND PHRASES 418
REVIEW QUESTIONS 418 PROBLEMS 419 GROUP PR0JECTS 423 SELECTED BIBLI0GRAPHY 424 CPÖ GASE EPISODE 11: REPORTiNG ON OUTPUTS 425
12 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 4 6 2
HYPERCASE® EXPERIENCE 12 4 8 3
KEYWORDSAND PHRASES 4 6 4
REVIEW QUESTIONS 4 6 4
PROBLEMS 4 6 5
GROUP PR0JECTS 4 7 0
SELECTED B IBL I0GRAPHY 4 7 0
CPU CASE EPISODE 1 2 : FORMING 5CREENS A N D SCREENING FORMS 4 7 1
CONTENTS
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 13 520 KEYW0RDS AND PHRASES 521
REVIEW QUESTIONS 521 PROBLEMS 522 GROUP PROJECT 524 SELECTED BIBLIOGRAPHY 524 CPU GASE EPISODE 13; BACK TO DATA BASICS 525
14 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
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 5 7 3
HYPERCASE® EXPERIENCE 14 5 7 4
KEYWORDS A N D P H R A S E S 5 7 6
REVIEW QUESTIONS 5 7 6
PROBLEMS 5 7 7
GROUP PROJECTS 5 7 8
SELECTED BIBLIOGRAPHY 5 7 9
CPU GASE EPISODE 14 ; UP TO THE USERS 5 8 1
15 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 15 6 1 9
KEYWORDS AND PHRASES 6 1 9
REVIEW QUESTIONS 6 2 0
PROBLEMS 6 2 1
GROUP PROJECTS 6 2 3
SELECTED BIBLIOGRAPHY 6 2 4
CPU CASE EPISODE 1 5 : ENTERING NATURALLY 6 2 5
CONTENTS
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 16 659 KEYWORDS ANDPHRASES 660 REVIEW QUESTIONS 660
PROBLEMS 661 GROUP PROJECTS 662 SELECTED BIBLIOGRAPHY 662 CPU GASE EPiSODE 16: CHARTING THE STRUCTURE 683
17 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
Evaluating Corporate Web Sites 697 SUMMARY 700 HYPERCASE® EXPERIENCE 17 701
KEYWORDS AND PHRASES 702 REVIEW QUESTIONS 702 PROBLEMS 703 GROUP PROJECTS 705 SELECTED BIBLIOGRAPHY 705 CPU GASE EPISODE 17: SEMPER REDUNDATE 707
18 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++ 747 SUMMARY 748 KEYWORDSAND PHRASES 748 REVIEW QUESTIONS 749 PROBLEMS 749 SELECTED BIBLIOGRAPHY 751
GLOSSARY 753
ÄCRONYMS763
INDEX764
CONTENTS