Modern Systems Analysis and Design, 9th Edition
Joseph S. Valacich and Joey F. George
Contents
Preface 19
PART ONE Foundations for Systems Development
AN OVERVIEW OF PART ONE 26
1 The Systems Development
Environment 27
Learning Objectives 27
Introduction 27
A Modern Approach to Systems Analysis and Design 29
Developing Information Systems and the Systems Development Life Cycle 30
The Heart of the Systems Development Process 35
The Traditional Waterfall SDLC 36
Agile Methodologies 38
eXtreme Programming 39
Scrum 40
Agile in Practice 41
Object-Oriented Analysis and Design 42
Our Approach to Systems Development 44
Summary 45
Key Terms 45
Review Questions 45
Problems and Exercises 46
Field Exercises 46
References 46
2 The Origins of Software 47
Learning Objectives 47
Introduction 47
Systems Acquisition 47
Outsourcing 48
Sources of Software 49
Choosing Off-the-Shelf Software 55
Validating Purchased Software Information 57
Reuse 58
Summary 60
Key Terms 61
Review Questions 61
Problems and Exercises 61
Field Exercises 61
References 62
BEC CASE: THE ORIGINS OF SOFTWARE 63
Case Questions 63
3 Managing the Information Systems Project 64
Learning Objectives 64
Introduction 64
Pine Valley Furniture Company Background 64
Managing the Information Systems Project 66
Initiating a Project 70
Planning the Project 72
Executing the Project 79
Closing Down the Project 82
Representing and Scheduling Project Plans 83
Representing Project Plans 85
Calculating Expected Time Durations Using PERT 85
Constructing a Gantt Chart and Network Diagram at Pine Valley Furniture 86
Using Project Management Software 89
Establishing a Project Start Date 90
Entering Tasks and Assigning Task Relationships 90
Selecting a Scheduling Method to Review Project Reports 91
Summary 93
Key Terms 93
Review Questions 94
Problems and Exercises 94
Field Exercises 96
References 96
Appendix: Object-Oriented Analysis and Design: Project Management 98
Learning Objectives 98
Unique Characteristics of an OOSAD Project 98
Define the System as a Set of Components 98
Complete Hard Problems First 98
Using Iterations to Manage the Project 100
Don’t Plan Too Much Up Front 100
How Many and How Long Are Iterations? 102
Project Activity Focus Changes Over the Life of a Project 102
Summary 104
Review Question 104
Problems and Exercises 104
BEC CASE: MANAGING THE INFORMATION SYSTEMS PROJECT 105
Case Questions 105
PART TWO Planning
AN OVERVIEW OF PART TWO 108
4 Identifying and Selecting Systems
Development Projects 109
Learning Objectives 109
Introduction 109
Identifying and Selecting Systems Development Projects 110
The Process of Identifying and Selecting IS Development Projects 111
Deliverables and Outcomes 115
Corporate and Information Systems Planning 116
Corporate Strategic Planning 117
Information Systems Planning 119
Electronic Commerce Applications: Identifying and Selecting Systems Development
Projects 126
Internet Basics 126
Pine Valley Furniture WebStore 127
Summary 128
Key Terms 128
Review Questions 129
Problems and Exercises 129
Field Exercises 130
References 130
BEC CASE: IDENTIFYING AND SELECTING SYSTEMS DEVELOPMENT
PROJECTS 132
Case Questions 132
5 Initiating and Planning Systems Development Projects 133
Learning Objectives 133
Introduction 133
Initiating and Planning Systems Development Projects 133
The Process of Initiating and Planning is
Development Projects 134
Deliverables and Outcomes 135
Assessing Project Feasibility 136
Assessing Economic Feasibility 137
Assessing Technical Feasibility 145
Assessing Other Feasibility Concerns 148
Building and Reviewing the Baseline Project Plan 149
Building the Baseline Project Plan 149
Reviewing the Baseline Project Plan 154
Electronic Commerce Applications: Initiating and Planning Systems Development Projects 159
Initiating and Planning Systems Development Projects for Pine Valley Furniture’s WebStore 159
Summary 161
Key Terms 161
Review Questions 162
Problems and Exercises 162
Field Exercises 163
References 163
BEC CASE: INITIATING AND PLANNING SYSTEMS DEVELOPMENT PROJECTS 165
Case Questions 165
PART THREE Analysis
AN OVERVIEW OF PART THREE 168
6 Determining System Requirements 169
Learning Objectives 169
Introduction 169
Performing Requirements Determination 169
The Process of Determining Requirements 170
Deliverables and Outcomes 171
Traditional Methods for Determining Requirements 172
Interviewing and Listening 172
Interviewing Groups 176
Directly Observing Users 177
Analyzing Procedures and Other Documents 178
Contemporary Methods for Determining System
Requirements 183
Joint Application Design 184
Using Prototyping During Requirements Determination 186
Radical Methods for Determining System Requirements 188
Identifying Processes to Reengineer 189
Disruptive Technologies 190
Requirements Determination Using Agile Methodologies 191
Continual User Involvement 191
Agile Usage-Centered Design 192
The Planning Game from eXtreme Programming 192
Electronic Commerce Applications: Determining System
Requirements 194
Determining System Requirements for Pine Valley Furniture’s
WebStore 195
Summary 197
Key Terms 198
Review Questions 198
Problems and Exercises 199
Field Exercises 199
References 200
BEC CASE: DETERMINING SYSTEM REQUIREMENTS 201
Case Questions 202
7 Structuring System Process
Requirements 203
Learning Objectives 203
Introduction 203
Process Modeling 203
Modeling a System’s Process for Structured Analysis 204
Deliverables and Outcomes 204
Data Flow Diagramming Mechanics 205
Definitions and Symbols 205
Developing DFDs: An Example 207
Data Flow Diagramming Rules 210
Decomposition of DFDs 211
Balancing DFDs 214
An Example DFD 216
Using Data Flow Diagramming in the Analysis Process 219
Guidelines for Drawing DFDs 219
Using DFDs as Analysis Tools 221
Using DFDs in Business Process Reengineering 222
Modeling Logic with Decision Tables 223
Electronic Commerce Application: Process Modeling
Using Data Flow Diagrams 227
Process Modeling for Pine Valley Furniture’s WebStore 227
Summary 229
Key Terms 229
Review Questions 230
Problems and Exercises 230
Field Exercises 236
References 236
Appendix 7A: Object-Oriented Analysis and Design: Use Cases 237
Learning Objectives 237
Introduction 237
Use Cases 237
What Is a Use Case? 237
Use Case Diagrams 238
Definitions and Symbols 239
Written Use Cases 242
Level 243
The Rest of the Template 243
Electronic Commerce Application: Process Modeling Using Use Cases 245
Writing Use Cases for Pine Valley Furniture’s WebStore 247
Summary 250
Key Terms 250
Review Questions 250
Problems and Exercises 250
Field Exercise 251
References 251
Appendix 7B: Object-Oriented Analysis and Design: Activity Diagrams 252
Learning Objectives 252
Introduction 252
When to Use an Activity Diagram 255
Problems and Exercises 255
Reference 256
Appendix 7C: Business Process Modeling 257
Learning Objective 257
Introduction 257
Basic Notation 257
Business Process Example 261
Summary 262
Key Terms 262
Review Questions 262
Problems and Exercises 262
Field Exercises 263
References 263
BEC CASE: STRUCTURING SYSTEM PROCESS REQUIREMENTS 264
Case Questions 265
8 Structuring System Data Requirements 266
Learning Objectives 266
Introduction 266
Conceptual Data Modeling 267
The Conceptual Data Modeling Process 268
Deliverables and Outcomes 269
Gathering Information for Conceptual Data Modeling 270
Introduction to E-R Modeling 272
Entities 272
Attributes 274
Candidate Keys and Identifiers 275
Other Attribute Types 276
Relationships 277
Conceptual Data Modeling and the E-R Model 278
Degree of a Relationship 279
Cardinalities in Relationships 281
Naming and Defining Relationships 282
Associative Entities 283
Summary of Conceptual Data Modeling with E-R Diagrams 285
Representing Supertypes and Subtypes 285
Business Rules 286
Domains 287
Triggering Operations 289
Role of Packaged Conceptual Data Models: Database Patterns 290
Universal Data Models 290
Industry-Specific Data Models 290
Benefits of Database Patterns and Packaged Data Models 290
Electronic Commerce Application: Conceptual Data Modeling 291
Conceptual Data Modeling for Pine Valley Furniture’s WebStore 291
Summary 295
Key Terms 295
Review Questions 296
Problems and Exercises 297
Field Exercises 299
References 300
Appendix: Object-Oriented Analysis and Design: Object Modeling—Class Diagrams 301
Learning Objectives 301
Introduction 301
Representing Objects and Classes 301
Types of Operations 302
Representing Associations 303
Representing Associative Classes 305
Representing Stereotypes for Attributes 306
Representing Generalization 306
Representing Aggregation 309
An Example of Conceptual Data Modeling at Hoosier Burger 310
Summary 313
Key Terms 313
Review Questions 314
Problems and Exercises 314
References 315
BEC CASE: STRUCTURING SYSTEM DATA REQUIREMENTS 316
Case Questions 317
PART FOUR Design
AN OVERVIEW OF PART FOUR 320
9 Designing Databases 321
Learning Objectives 321
Introduction 321
Database Design 321
The Process of Database Design 322
Deliverables and Outcomes 324
The Relational Database Model 327
Well-Structured Relations 327
Normalization 328
Rules of Normalization 329
Functional Dependence and Primary Keys 329
Second Normal Form 330
Third Normal Form 330
Transforming E-R Diagrams into Relations 331
Represent Entities 332
Represent Relationships 332
Summary of Transforming E-R Diagrams to Relations 336
Merging Relations 336
An Example of Merging Relations 336
View Integration Problems 337
Logical Database Design for Hoosier Burger 338
Physical File and Database Design 341
Designing Fields 341
Choosing Data Types 342
Controlling Data Integrity 343
Designing Physical Tables 344
Arranging Table Rows 347
Designing Controls for Files 351
Physical Database Design for Hoosier Burger 352
Electronic Commerce Application: Designing Databases 353
Designing Databases for Pine Valley Furniture’s WebStore 354
Summary 356
Key Terms 357
Review Questions 358
Problems and Exercises 358
Field Exercises 359
References 360
BEC CASE: DESIGNING DATABASES 361
Case Questions 362
10 Designing Forms and Reports 363
Learning Objectives 363
Introduction 363
Designing Forms and Reports 363
The Process of Designing Forms and Reports 365
Deliverables and Outcomes 366
Formatting Forms and Reports 370
General Formatting Guidelines 370
Highlighting Information 372
Color versus No Color 374
Displaying Text 375
Designing Tables and Lists 375
Paper versus Electronic Reports 379
Assessing Usability 381
Usability Success Factors 381
Measures of Usability 382
Electronic Commerce Applications: Designing Forms and Reports for Pine Valley
Furniture’s WebStore 383
General Guidelines 383
Designing Forms and Reports at Pine Valley Furniture 383
Lightweight Graphics 384
Forms and Data Integrity Rules 384
Stylesheet-Based HTML 385
Summary 385
Key Terms 385
Review Questions 386
Problems and Exercises 386
Field Exercises 387
References 387
BEC CASE: DESIGNING FORMS AND REPORTS 389
Case Questions 389
11 Designing Interfaces and Dialogues 391
Learning Objectives 391
Introduction 391
Designing Interfaces and Dialogues 391
The Process of Designing Interfaces and Dialogues 391
Deliverables and Outcomes 392
Interaction Methods and Devices 392
Methods of Interacting 392
Hardware Options for System Interaction 400
Designing Interfaces 402
Designing Layouts 402
Structuring Data Entry 405
Controlling Data Input 407
Providing Feedback 408
Providing Help 410
Designing Dialogues 412
Designing the Dialogue Sequence 413
Building Prototypes and Assessing Usability 415
Designing Interfaces and Dialogues in Graphical Environments 417
Graphical Interface Design Issues 417
Dialogue Design Issues in a Graphical Environment 419
Electronic Commerce Application: Designing Interfaces and Dialogues for Pine Valley
Furniture’s WebStore 419
General Guidelines 420
Designing Interfaces and Dialogues at Pine Valley Furniture 421
Menu-Driven Navigation with Cookie Crumbs 421
Summary 422
Key Terms 422
Review Questions 423
Problems and Exercises 423
Field Exercises 424
References 424
BEC CASE: DESIGNING INTERFACES AND DIALOGUES 425
Case Questions 426
12 Designing Distributed and Internet Systems 427
Learning Objectives 427
Introduction 427
Designing Distributed and Internet Systems 427
The Process of Designing Distributed and Internet Systems 427
Deliverables and Outcomes 428
Designing LAN and Client/Server Systems 429
Designing Systems for LANs 429
Designing Systems for a Client/Server Architecture 431
Cloud Computing 435
What Is Cloud Computing? 435
Managing the Cloud 439
Service-Oriented Architecture 442
Web Services 443
Designing Internet Systems 444
Internet Design Fundamentals 445
Site Consistency 446
Design Issues Related to Site Management 448
Electronic Commerce Application: Designing a Distributed Advertisement Server
for Pine Valley Furniture’s WebStore 451
Advertising on Pine Valley Furniture’s WebStore 451
Designing the Advertising Component 452
Designing the Management Reporting Component 453
Summary 454
Key Terms 454
Review Questions 456
Problems and Exercises 456
Field Exercises 457
References 458
BEC CASE: DESIGNING DISTRIBUTED AND INTERNET SYSTEMS 459
Case Questions 459
PART FIVE Implementation and Maintenance
AN OVERVIEW OF PART FIVE 462
13 System Implementation 463
Learning Objectives 463
Introduction 463
System Implementation 464
Coding, Testing, and Installation Processes 465
Deliverables and Outcomes from Coding, Testing, and Installation 465
Deliverables and Outcomes from Documenting the System, Training Users, and Supporting
Users 466
Software Application Testing 467
Seven Different Types of Tests 468
The Testing Process 470
Combining Coding and Testing 472
Acceptance Testing by Users 473
Installation 474
Direct Installation 474
Parallel Installation 474
Single-Location Installation 475
Phased Installation 476
Planning Installation 476
Documenting the System 477
User Documentation 478
Training and Supporting Users 479
Training Information Systems Users 480
Supporting Information Systems Users 481
Organizational Issues in Systems Implementation 482
Why Implementation Sometimes Fails 483
Security Issues 485
Electronic Commerce Application: System Implementation and Operation for Pine Valley
Furniture’s WebStore 487
Developing Test Cases for the WebStore 487
Alpha and Beta Testing the WebStore 488
WebStore Installation 489
Project Closedown 489
Summary 490
Key Terms 490
Review Questions 491
Problems and Exercises 492
Field Exercises 492
References 493
BEC CASE: SYSTEM IMPLEMENTATION 494
Case Questions 494
14 Maintaining Information Systems 495
Learning Objectives 495
Introduction 495
Maintaining Information Systems 495
The Process of Maintaining Information Systems 496
Deliverables and Outcomes 497
Conducting Systems Maintenance 498
Types of Maintenance 498
The Cost of Maintenance 499
Managing Maintenance 501
Role of Automated Development Tools in Maintenance 506
Website Maintenance 506
Electronic Commerce Application: Maintaining an Information System for Pine Valley
Furniture’s WebStore 508
Maintaining Pine Valley Furniture’s WebStore 508
Cannot Find Server 508
Summary 509
Key Terms 510
Review Questions 510
Problems and Exercises 511
Field Exercises 511
References 511
GLOSSARY OF TERMS 513
GLOSSARY OF ACRONYMS 520
INDEX 521