Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND...

16
Third Edition SYSTEMS ANALYSIS AND DESIGN Kenneth E. Kendall Rutgers University School of Business-Camden Camden, New Jersey USA Julie E. Kendall Rutgers University School of Business-Camden Camden, New Jersey USA Prentice Hall, Upper Saddle River, New Jersey 07458

Transcript of Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND...

Page 1: Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND DESIGN Kenneth E. Kendall Rutgers University School of Business-Camden Camden, New Jersey

Third Edition

SYSTEMS ANALYSISAND DESIGN

Kenneth E. KendallRutgers UniversitySchool of Business-CamdenCamden, New JerseyUSA

Julie E. KendallRutgers UniversitySchool of Business-CamdenCamden, New JerseyUSA

Prentice Hall, Upper Saddle River, New Jersey 07458

Page 2: Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND DESIGN Kenneth E. Kendall Rutgers University School of Business-Camden Camden, New Jersey

CONTENTS

PREFACE xxvii

ACKNOWLEDGMENTS xxxiii

PART ONESYSTEMS ANALYSIS FUNDAMENTALS

1 ASSUMING THE ROLE OF THE SYSTEMSANALYST 1Information As an Organizational Resource

Managing Information as a Resource 1Managing Computer-Generated Information 1

Systems Analysis and Design Concepts 2Transaction Processing Systems 2Office Automation Systems and Knowledge Work

Systems 2Management Information Systems 2Decision Support Systems 3Expert Systems and Artificial Intelligence 3Group Decision Support Systems 3Executive Support Systems 4Need for Systems Analysis and Design 4End Users 5

Role of the Systems Analyst 5Systems Analyst as a Consultant 5Systems Analyst as Supporting Expert 6

I; Vll

Page 3: Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND DESIGN Kenneth E. Kendall Rutgers University School of Business-Camden Camden, New Jersey

Systems Analyst as Agent of Change 6Qualities of the Systems Analyst 6

The Systems Development Life Cycle 7Identifying Problems, Opportunities, and Objectives 7Determining Information Requirements 8Analyzing System Needs 9Designing the Recommended System 9Developing and Documenting Software 10Testing and Maintaining the System 10Implementing and Evaluating the System 10The Impact of Maintenance 11

Using CASE Tools 12Increasing Analyst Productivity 13Improving Analyst-User Communication 13Integrating Life Cycle Activities 13Accurately Assessing Maintenance Changes 14

Upper and Lower CASE 14Upper CASE Tools 14Lower CASE Tools 15

Software Reverse Engineering and Reengineering 17Object-Oriented Systems Analysis and Design 18Need for Structured Analysis and Design 19Alternative Methodologies 19Summary 20HyperCase® Experience 1 22Keywords and Phrases 22Review Questions 23CPU Case Episode I: The CASE Opens 25

UNDERSTANDING ORGANIZATIONAL STYLE AND ITSIMPACT ON INFORMATION SYSTEMS 27Organizational Fundamentals 27Organizations As Systems 27

Interrelatedness and Interdependence of Systems 28Organizational Boundaries 28System Feedback for Planning and Control 28Environments for Organizational Systems 29Openness and Closedness in Organizations 29Taking a Systems Perspective 29

Depicting Systems Graphically 30Systems and the Context Level Data Flow Diagram 30Systems and the Entity-Relationship Model 33

Levels Of Management 35

CONTENTS

viii

Page 4: Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND DESIGN Kenneth E. Kendall Rutgers University School of Business-Camden Camden, New Jersey

Operations Management 35Middle Management 36Strategic Management 36Implications for Information Systems Development 37

Organizational Culture 38Summary 39HyperCase® Experience 2 40Keywords and Phrases 41Review Questions 42Problems 42Group Project 43CPU Case Episode 2: Picturing the Relationships 44

DETERMINING FEASIBILITY AND MANAGINGANALYSIS AND DESIGN ACTIVITIES 47Project Fundamentals 47Project Initiation 47

Problems within the Organization 48Opportunities for Improvement 48Selection of Projects 49

Determining Feasibility 50Defining Objectives 51Determining Resources 52Judging Feasibility 53

Activity Planning and Control 53Estimating Time Required 54Using Gantt Charts for Project Scheduling 55Using PERT Diagrams 56Expediting 60

Computer-Based Project Scheduling 61Managing Analysis and Design Activities 63

Communication Strategies for Managing Teams 64Setting Project Productivity Goals 65Motivating Project Team Members 66Avoiding Project Failures 67

Summary 67HyperCase® Experience 3 68Keywords and Phrases 69Review Questions 69Problems 70Group Project 73CPU Case Episode 3: Getting to Know U 74

CONTENTS

ix

Page 5: Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND DESIGN Kenneth E. Kendall Rutgers University School of Business-Camden Camden, New Jersey

PART TWOINFORMATION REQUIREMENTS ANALYSIS

4 SAMPLING AND INVESTIGATING HARD DATA 79Sampling 79

The Need for Sampling 79Sampling Design 80The Sample Size Decision 82

Kinds of Information Sought in Investigation 88Types of Hard Data 89Abstracting Data from Archival Documents 96

Summary 98Keywords and Phrases 99Review Questions 99HyperCase® Experience 4 100Problems 101Group Project 104CPU Case Episode 4: Minding the Memos 106

5 INTERVIEWING 109Kinds of Information Sought 109Planning the Interview 110

Five Steps in Interview Preparation 110Question Types 112Question Pitfalls 115Arranging Questions in a Logical Sequence 115Structured Versus Unstructured Interviews 117Making a Record of the Interview 118Before the Interview 121

Conducting the Actual Interview 121Beginning the Interview 121

Writing the Interview Report 123Joint Application Design 123

Conditions That Support the Use of IAD 124Who Is Involved 124Planning for the IAD Session 125Where to Hold IAD Meetings 126Accomplishing a Structured Analysis of Project

Activities 126Potential Benefits of Using IAD in Place of Traditional

Interviewing 126Potential Drawbacks of Using JAD 227

Summary 127CONTENTS

X

Page 6: Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND DESIGN Kenneth E. Kendall Rutgers University School of Business-Camden Camden, New Jersey

HyperCase® Experience 5 128Keywords and Phrases 129Review Questions 129Problems 130Group Projects 132CPU Case Episode 5: Tell Me More, I'll Listen 134

6 USING QUESTIONNAIRES 147Kinds of Information Sought 147Planning for the Use of Questionnaires 148

Writing Questions 148Using Scales in Questionnaires 152

Scaling Fundamentals 152Constructing Scales 154

Designing and Administering the Questionnaire 156Designing the Questionnaire 156Administering the Questionnaire 162

Summary 163Keywords and Phrases 165Review Questions 165HyperCase® Experience 6 166Problems 166Group Projects 168CPU Case Episode 6: The Quest Continues . . . 170

7 OBSERVING DECISION-MAKER BEHAVIORAND OFFICE ENVIRONMENT 175Kinds of Information Sought 175Observing a Decision Maker's Behavior 175

Observing a Typical Manager's Decision-MakingActivities 176

Time and Event Sampling 176Observing a Decision Maker's Body Language 177

Observing the Physical Environment 179Structured Observation of the Environment 179

Summary 187HyperCase® Experience 7 188Keywords and Phrases 189Review Questions 190Problems 190Group Proj ects 191CPU Case Episode 7: Seeing Is Believing 193

CONTENTS

xi

Page 7: Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND DESIGN Kenneth E. Kendall Rutgers University School of Business-Camden Camden, New Jersey

8 PROTOTYPING 199Kinds of Information Sought 199Initial User Reactions 199

User Suggestions 200Innovations 200Revision Plans 200

Approaches to Prototyping 200Kinds of Prototypes 200Prototyping as an Alternative to the Systems Development

Life Cycle 203Developing a Prototype 204

Guidelines for Developing a Prototype 206Disadvantages of Prototyping 208Advantages of Prototyping 209

Users' Role in Prototyping 211Interaction with the Prototype 211

Summary 213Keywords and Phrases 214Review Questions 214HyperCase® Experience 8 215Problems 216Group Projects 217CPU Case Episode 8: Reaction Time 219

PART THREETHE ANALYSIS PROCESS

9 USING DATA FLOW DIAGRAMS 229The Data Flow Approach to Requirements

Determination 229Advantages of the Data Flow Approach 229Conventions Used in Data Flow Diagrams 230

Developing Data Flow Diagrams 232Creating the Context Diagram 232Drawing Diagram 0 (The Next Level) 233Creating Child Diagrams (More Detailed Levels) 235Checking the Diagrams for Errors 236

Logical and Physical Data Flow Diagrams 240Developing Logical Data Flow Diagrams 242Developing Physical Data Flow Diagrams 243

Partitioning Data Flow Diagrams 246A Data Flow Diagram Example 248

CONTENTS

xii

Page 8: Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND DESIGN Kenneth E. Kendall Rutgers University School of Business-Camden Camden, New Jersey

Creating the Context Diagram 248Drawing Diagram 0 248Creating a Child Dia gram 249Creating a Physical Data Flow Diagram 250Partitioning the Data Flow Diagram 252

A Second Data Flow Diagram Example 253Using Data Flow Diagrams 260Summary 263HyperCase® Experience 9 266Keywords and Phrases 266Review Questions 267Problems 267Group Projects 271CPU Case Episode 9: Just Flowing Along 273

1 0 ANALYZING SYSTEMS USING DATADICTIONARIES 291The Data Dictionary 291

Need for Understanding the Data Dictionary 292The Data Repository 292

Defining the Data Flow 293Describing Data Structures 295Logical and Physical Data Structures 297Data Elements 298Data Stores 301

Creating the Data Dictionary 304Analyzing Input and Output 306Developing Data Stores 308

Using the Data Dictionary 309Summary 312Keywords and Phrases 312Review Questions 313Problems 313HyperCase® Experience 10 314Group Projects 317CPU Case Episode 10: Defining What You Mean 318

1 1 DESCRIBING PROCESS SPECIFICATIONSAND STRUCTURED DECISIONS 335Methods Available 335Overview of Process Specifications 335

Process Specification Format 336Information Required for Structured Decisions 339

CONTENTS

xiii

Page 9: Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND DESIGN Kenneth E. Kendall Rutgers University School of Business-Camden Camden, New Jersey

Structured English 341Writing Structured English 341Data Dictionary and Process Specifications 344

Decision Tables 346Developing Decision Tables 348Checking for Completeness and Accuracy 352More Advanced Decision Tables 353

Decision Trees 354Drawing Decision Trees 354

Choosing a Structured Decision Analysis Technique 359Physical and Logical Process Specifications 360

Using Process Specifications: Horizontal Balancing 360Horizontal Balancing 361

Summary 364Keywords and Phrases 366Review Questions 367HyperCase® Experience 11 368Problems 369Group Projects 370CPU Case Episode 11: Tabling a Decision 372

1 2 ANALYZING SEMISTRUCTURED DECISION SUPPORTSYSTEMS 381Methods Available 381Decision Support Systems 381

Characteristics of a Decision Support System 382Decision Support System Users 383

Decision-Making Concepts Relevant to DSS 384Decision Making under Risk 384Decision-Making Style 385Problem-Solving Phases 386

Semistructured Decisions 388Dimensions of Semistructured Decisions 388Semistructured Decisions in Intelligence, Design, and Choice 390

Multiple-Criteria Decision Making 393Using a Tradeoff Process 394Using Weighting Methods 395Using Sequential Elimination by Lexicography 395Using Sequential Elimination by Conjunctive

Constraints 397Using Goal Programming 400

Summary 400HyperCase® Experience 12 401

CONTENTS

xiv

Page 10: Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND DESIGN Kenneth E. Kendall Rutgers University School of Business-Camden Camden, New Jersey

Keywords and Phrases 401Review Questions 401Problems 402CPU Case Episode 12: Awaiting a Weighty Decision 407

1 3 PREPARING THE SYSTEMS PROPOSAL 411Methods Available 411Ascertaining Hardware and Software Needs 411

Inventorying Computer Hardware 412Estimating Workloads 413Evaluating Computer Hardware 414Acquisition of Computer Equipment 415Software Evaluation 418

Identifying and Forecasting Costs and Benefits 419Forecasting Costs and Benefits 420Identifying Benefits and Costs 425

Comparing Costs and Benefits 427Break-even Analysis 427Payback 428Cash-flow Analysis 429Present Value 430Guidelines for Analysis 430Examining Alternative Systems 431

Summary 432Keywords and Phrases 433Review Questions 433HyperCase® Experience 13 434Problems 434CPU Case Episode 13: Proposing to Go Forth 439

1 4 WRITING AND PRESENTING THE SYSTEMS ^PROPOSAL 443Methods Available 443The Systems Proposal 443

Organizing the Systems Proposal 443Choosing a Writing Style 448Using Figures for Effective Communication 448Adopting a Unifying Proposal Style 458

Presenting the Systems Proposal 460Understanding the Audience 460Organizing the Systems Proposal Presentation 460Using Presentation in Graphics Packages 462Principles of Delivery 466

CONTENTS

XV

Page 11: Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND DESIGN Kenneth E. Kendall Rutgers University School of Business-Camden Camden, New Jersey

Summary 469HyperCase® Experience 14 470Keywords aiid Phrases 470Review Questions 471Problems 471CPU Case Episode 14: Show and Tell 473

PART FOURTHE ESSENTIALS OF DESIGN

1 5 DESIGNING EFFECTIVE OUTPUT 481Output Design Objectives 481

Designing Output to Serve the Intended Purpose 481Designing Output to Fit the User 482Delivering the Appropriate Quantity of Output 482Making Sure the Output Is Where It Is Needed 482Providing the Output on Time 483Choosing the Right Output Method 483

Relating Output Content to Output Method 483Choosing Output Technology 484

Realizing How Output Bias Affects Users 496Recognizing Bias in the Way Output Is Used 496Avoiding Bias in the Design of Output 499

Designing Printed Output 500Guidelines for Printed Report Design 500Steps in Preparing the Printer Layout Worksheet 505

Designing Screen Output 506Guidelines for Screen Design 506Tabular Output for Decision Support Systems 510Graphical Output for Decision Support Systems 510

Summary 513HyperCase® Experience 15 514Keywords and Phrases 514Review Questions 515Problems 515Group Projects 519CPU Case Episode 15: Reporting on Outputs 520

1 6 DESIGNING EFFECTIVE INPUT 527Input Design Objectives 527Good Form Design 527

Four Guidelines for Form Design 528Making Forms Easy to Fill Out 528

CONTENTS

xvi

Page 12: Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND DESIGN Kenneth E. Kendall Rutgers University School of Business-Camden Camden, New Jersey

Meeting the Intended Purpose 532Assuring Accurate Completion 534Keeping Forms Attractive 534Computer-Assisted Form Design 537Controlling Business Forms 537

Good Screen Design 538Four Guidelines for Screen Design 538Keeping the Screen Simple 539Keeping the Screen Consistent 541Facilitating Movement 542Designing an Attractive Screen 546Differences in Mainframe and Microcomputer Screen Design 548Using Icons in Screen Design 552Graphical User Interface Design 554Using Color in Screen Design 557

Summary 558Keywords and Phrases 559Review Questions 559HyperCase® Experience 16 560Problems 561Group Projects 564CPU Case Episode 16: Forming Screens and Screening

Forms 566

1 7 DESIGNING THE FILE OR DATABASE 575Design Objectives 575Conventional Files and Databases 575

Conventional Files 576Databases 578

Data Concepts 580Reality, Data, and Metadata 580File Organization 585Database Organization 589

Normalization 594The Three Steps of Normalization 595A Normalization Example 595Using the Entity-Relationship Diagram to Determine

Record Keys 603One-to-Many Relationship 605Many-to-Many Relationship 605

Guidelines for File/Database Relation Design 607Making Use of the Database 609

Steps in Retrieving and Presenting Data 609

CONTENTS

xvii

Page 13: Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND DESIGN Kenneth E. Kendall Rutgers University School of Business-Camden Camden, New Jersey

Summary 614Keywords and Phrases 616HyperCase® Experience 17 618Review Questions 619Problems 619CPU Case Episode 17: Back to Data Basics 622

1 8 DESIGNING THE USER INTERFACE 635User Interface Objectives 635Types of User Interface 635 (

Natural-Language Interfaces 636Question-and-Answer Interfaces 636Menus 639Form-Fill Interfaces (Input/Output Forms) 640Command-Language Interfaces 642Graphical User Interfaces (GUIs) 644

Dialogs and Desktops 647Guidelines for Dialog Design 647Customizing Desktops 651Other User Interfaces 653

Feedback for Users 654Designing Queries 659

Query Types 659Productivity and Ergonomics Design 667

Computer Room Color and Lighting 670Visual Display Terminals and Keyboards 672Computer Furniture 673

Summary 673HyperCase® Experience 18 674Keywords and Phrases 675Review Questions 675Problems 676Group Projects 677CPU Case Episode 18: Up to the Users 679

1 9 DESIGNING ACCURATE DATA-ENTRYPROCEDURES 689Data-Entry Objectives 689Effective Coding 689

Keeping Track of Something 690Classifying Information 691Concealing Information 693

CONTENTS

xviii

Page 14: Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND DESIGN Kenneth E. Kendall Rutgers University School of Business-Camden Camden, New Jersey

Revealing Information 694Requesting Appropriate Action 695General Guidelines for Coding 696

Effective and Efficient Data Capture 699Deciding What to Capture 699Letting the Computer Do the Rest 700Avoiding Bottlenecks and Extra Steps 702Starting with a Good Form 702Choosing a Data-Entry Method 702

Assuring Data Quality Through Input Validation 707Validating Input Transactions 708Validating Input Data 709

Summary 712HyperCase® Experience 19 714Keywords and Phrases 715Review Questions 715Problems 716Group Projects 718CPU Case Episode 19: Entering Naturally 720

PART FIVESoftware Engineering and Implementation

2 0 QUALITY ASSURANCE THROUGH SOFTWAREENGINEERING 731Approaches to Quality 731The Total Quality Management Approach 731

Responsibility for Total Quality Management 732Structured Walkthrough 734Systems Design and Development 734Modular Development 738Modularity in the Windows Environment 738Structure Charts 739Types of Modules 749Module Subordination 753

Software Engineering and Documentation 755Design and Documentation Techniques 757The HIPO Method 757Flowcharts 762Nassi-Shneiderman Charts 763Warnier-Orr Diagrams 766Pseudocode 768Procedure Manuals 770

CONTENTS

xix

Page 15: Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND DESIGN Kenneth E. Kendall Rutgers University School of Business-Camden Camden, New Jersey

CONTENTS

XX

The FOLKLORE Method 773Choosing a Design and Documentation Technique 774

Code Generation and Design Reengineering 774Testing, Maintenance, and Auditing 778

The Testing Process 778Maintenance Practices 783Auditing 784

Summary 785HyperCase® Experience 20 786Keywords and Phrases 787Review Questions 788Problems 789Group Projects 791CPU Case Episode 20: Charting the Structure 792

2 1 SUCCESSFULLY IMPLEMENTING THE INFORMATIONSYSTEM 803Implementation Approaches 803Establishing an Information Center 804

A New Role for the Information Systems Department 804Information Center Practices 806Implementing Distributed Systems 808Network Modeling 810Groupware 814

Training Users 818Training Strategies 818Guidelines for Training 820

Conversion 821Conversion Strategies 821Security 824Other Conversion Considerations 826Organizational Metaphors and Their Relationship to Successful

Systems 826Evaluation 827

Evaluation Techniques 827The Information System Utility Approach 829Evaluating the System 830

Summary 831Keywords and Phrases 832Review Questions 832HyperCase® Experience 21 833Problems 834Group Project 835CPU Case Episode 21: Semper Redundate 838

Page 16: Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND DESIGN Kenneth E. Kendall Rutgers University School of Business-Camden Camden, New Jersey

2 2 OBJECT-ORIENTED SYSTEMS ANALYSISAND DESIGN 841The Object-Oriented Idea 842

Objects 842Classes 842Messages 843Encapsulation 843Inheritance 844Polymorphism 845

Object-Oriented Analysis 845Analyzing Classes and Objects 846Kayjay World Example 1 848Analyzing Structures 850Kayjay World Example 2 851Analyzing Attributes 852Kayjay World Example 3 853Analyzing Services 854Assembling the Specification Template 857Kayjay World Example 4 857Analyzing Subjects 859Kayjay World Example 5 859

Object-Oriented Design 860Designing the Problem Domain Component 863Kayjay World Example 6 864Designing the Human Interface Component 865Kayjay World Example 7 866Designing Task and Data Management Components 867Kayjay World Example 8 870Alternative Approaches and Notation 873

Summary 873Keywords and Phrases 875Review Questions 876Problems 876

INDEX 881

CONTENTS

xxi