Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND...
Transcript of Third Edition SYSTEMS ANALYSIS AND DESIGN - · PDF fileThird Edition SYSTEMS ANALYSIS AND...
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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