Table of contents for Systems analysis and design / Kenneth E. Kendall, Julie E. Kendall.

Bibliographic record and links to related information available from the Library of Congress catalog.

Note: Contents data are machine generated based on pre-publication provided by the publisher. Contents may have variations from the printed book or be incomplete or contain other coding.


Counter
Contents
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 4 / Enterprise Resource Planning Systems 5 / Systems for Wireless and Handheld Devices 5 / Open Source Software 6
Need for Systems Analysis and Design 6
Roles of the Systems Analyst 7
Systems Analyst as Consultant 8 / Systems Analyst as Supporting Expert 8 
Consulting Opportunity 1.1 Healthy Hiring: Ecommerce Help Wanted 8
Systems Analyst as Agent of Change 9 / Qualities of the Systems Analyst 9
The Systems Development Life Cycle 10
Identifying Problems, Opportunities, and Objectives 10 / Determining Information Requirements 11 / Analyzing System Needs 11 / Designing the Recommended System 12 / Developing and Documenting Software 12 / Testing and Maintaining the System 13 / Implementing and Evaluating the System 13 / The Impact of Maintenance 13
Using Case Tools 14
Reasons for Using Case Tools 15
Upper and Lower Case 16
Upper Case Tools 16 / Lower Case Tools 16
Software Reverse Engineering and Reengineering 18
Object-Oriented Systems Analysis and Design 19
Extreme Programming and Other Alternative Methodologies 20
Summary 20
Hypercase(r) Experience 1 21
Keywords And Phrases 22
Review Questions 23
Selected Bibliography 23
CPU Case Episode 1: The Case Opens 25
2	Understanding Organizational Style and its Impact 
on 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 33
Levels of Management 39
Implications for Information Systems Development 40
Consulting Opportunity 2.2 Where There's Carbon, There's a Copy 40
Organizational Culture 41
Consulting Opportunity 2.3 Pyramid Power 41
Summary 42
Hypercase(r) Experience 2 43
Keywords and Phrases 44
Review Questions 44
problems 45
group projects 46
Selected Bibliography 46
Cpu case episode 2: Picturing the Relationships 47
3	Determining Feasibility and Managing Analysis and Design Activities 49
Project Initiation 49
Problems in the Organization 50 / Selection of Projects 51
Consulting Opportunity 3.1 The Sweetest Sound I've Ever Sipped 51
Determining Feasibility 52
Defining Objectives 53 / Determining Resources 55 / Judging 
Feasibility 57
Activity Planning and Control 57
Estimating Time Required 57
Consulting Opportunity 3.2 Food For Thought 58
Using Gantt Charts for Project Scheduling 59 / Using Pert Diagrams 60
Computer-Based Project Scheduling 63
Timeboxing 64
Managing Analysis and Design Activities 64
Communication Strategies for Managing Teams 65 / Setting Project Productivity Goals 65 / Motivating Project Team Members 66 
Consulting Opportunity 3.3 Goal Tending 66
Managing Projects Using COTS Software 67 / Managing Ecommerce 
Projects 67 / Avoiding Project Failures 68
Extreme Programming Projects 68
Extreme Programming Resource Trade-Offs 69 / Extreme Programming Core Practices and Roles 72 / Developmental Process for an XP Project 77
Summary 78
Hypercase(r) Experience 3 79
Keywords and Phrases 81
Review Questions 81
problems 82
group projects 84
Selected Bibliography 84
Cpu case episode 3: Getting to know u 85
Part II Information Requirements Analysis
4	Information Gathering: Interactive Methods 89
Interviewing 89
Five Steps in Interview Preparation 90 / Question Types 91 / Arranging Questions in a Logical Sequence 94
Consulting Opportunity 4.1 Strengthening Your Question Types 95
Writing the Interview Report 97
Consulting Opportunity 4.2 Skimming the Surface 97
Joint Application Design 97
Hypercase(r) Experience 4.1 98
Conditions that Support the Use of JAD 99 / Who Is Involved 99 / Where to Hold JAD Meetings 99 / Accomplishing a Structured Analysis of Project Activities 100 / Potential Benefits of Using JAD in Place of Traditional Interviewing 100 
Consulting Opportunity 4.3 A Systems Analyst, I Presume? 100
Potential Drawbacks of Using JAD 101
Using Questionnaires 101
Planning for the Use of Questionnaires 102 / Writing Questions 102 / Using Scales in Questionnaires 106 / Designing the Questionnaires 107 
Consulting Opportunity 4.4 The Unbearable Questionnaire 108
Administering Questionnaires 109
Consulting Opportunity 4.5 Order in the Courts 110
Summary 111
Hypercase(r) Experience 4.2 112
Keywords and Phrases 113
Review Questions 113
problems 114
Group projects 117
Selected Bibliography 118
cpu case episode 4: I'll Listen Now, Ask Questions Later 119
5	Information Gathering: Unobtrusive Methods 123
Sampling 123
The Need for Sampling 124 / Sampling Design 124 / The Sample 
Size Decision 126
Consulting Opportunity 5.1 Trapping a Sample 128
Investigation 128
Analyzing Quantitative Documents 129 
Consulting Opportunity 5.2 A Rose by Any Other Name . . . or Quality, 
Not Quantities 131
Analyzing Qualitative Documents 132
Hypercase(r) Experience 5.1 135
Observing a Decision Maker's Behavior 135
Observing a Typical Manager's Decision-Making Activities 135
Observing the Physical Environment 137
Structured Observation of the Environment (Strobe) 137 / 
Applying Strobe 139
Consulting Opportunity 5.3 Don't Bank on Their Self-Image or Not Everything Is Reflected in a Mirror 140
Summary 142
Hypercase(r) Experience 5.2 143
Keywords and Phrases 144
Review Questions 144
problems 145
group projects 147
Selected Bibliography 148
cpu case episode 5: Seeing is Believing 149
6	Prototyping, RAD, and Extreme Programming 151
Prototyping 151
Kinds of Prototypes 152 / Prototyping as an Alternative to the Systems Development Life Cycle 154
Developing a Prototype 155
Guidelines for Developing a Prototype 156 / Disadvantages of Prototyping 157 / Advantages of Prototyping 157 
Consulting Opportunity 6.1 Is Prototyping King? 157
Prototyping Using COTS Software 158 
Consulting Opportunity 6.2 Clearing the Way for Customer Links 158
Consulting Opportunity 6.3 To Hatch a Fish 159
Users' Role in Prototyping 159
Interaction with the Prototype 159 
Consulting Opportunity 6.4 This Prototype Is All Wet 160
Rapid Application Development 161
Phases of RAD 161 / Comparing RAD to the SDLC 163
Extreme Programming 165
Values and Principles of Extreme Programming 165 / Extreme 
Programming Activities, Resources, and Practices 168 / The XP Development Process and Tools 171 / Lessons Learned from XP 175 / Agile Modeling 
and Scrum 176
Summary 177
Hypercase(r) Experience 6 179
Keywords and Phrases 180
Review Questions 180
Problems 181
group projects 182
Selected Bibliography 183
cpu case episode 6: Reaction Time 184
Part III The Analysis Process
7	Using Data Flow Diagrams 191
The Data Flow Approach to Requirements Determination 191
Advantages of the Data Flow Approach 192 / Conventions Used in Data Flow Diagrams 192
Developing Data Flow Diagrams 194
Creating the Context Diagram 194 / Drawing Diagram 0 (The Next Level) 195 / Creating Child Diagrams (More Detailed Levels) 195 / Checking the Diagrams for Errors 197
Logical and Physical Data Flow Diagrams 199
Developing Logical Data Flow Diagrams 201 / Developing Physical Data Flow Diagrams 202
Partitioning Data Flow Diagrams 207
A Data Flow Diagram Example 208
Creating the Context Diagram 209 / Drawing Diagram 0 209 / Creating a Child Diagram 211
Creating a Physical Data Flow Diagram 212
Partitioning the Data Flow Diagram 214
A Second Data Flow Diagram Example 215
Partitioning Web Sites 221
Communicating Using Data Flow Diagrams 222
Consulting Opportunity 7.1 There's No Business Like Flow Business 223
Summary 224
Hypercase(r) Experience 7 225
Keywords and Phrases 225
Review Questions 226
problems 226
group projects 228
Selected Bibliography 229
cpu case episode 7: Just Flowing Along 230
8	Analyzing Systems Using Data Dictionaries 245
The Data Dictionary 245
Need for Understanding the Data Dictionary 246
The Data Repository 246
Defining the Data Flows 247 / Describing Data Structures 249 /
Logical and Physical Data Structures 251 / Data Elements 252 / 
Data Stores 257
Creating the Data Dictionary 259
Analyzing Input and Output 260 / Developing Data Stores 261 
Consulting Opportunity 8.1 Want to Make It Big in the Theatre? Improve Your Diction(ary)! 261
Using the Data Dictionary 262
Using Data Dictionaries to Create XML 264
Summary 266
Hypercase(r) Experience 8 267
Keywords and Phrases 268
Review Questions 268
problems 268
group projects 271
Selected Bibliography 271
cpu case episode 8: Defining What You Mean 272
9	Describing Process Specifications and Structured Decisions 283
Overview of Process Specifications 283
Process Specification Format 284
Structured English 286
Writing Structured English 287 
Consulting Opportunity 9.1 Kit Chen Kaboodle, Inc. 288
Consulting Opportunity 9.2 Kneading Structure 289
Data Dictionary and Process Specifications 290
Decision Tables 292
Developing Decision Tables 293 
Consulting Opportunity 9.3 Saving a Cent on Citron Car Rental 295
Checking for Completeness and Accuracy 296 / More Advanced Decision 
Tables 297
Decision Trees 299
Drawing Decision Trees 299 
Consulting Opportunity 9.4 A Tree for Free 300
Choosing a Structured Decision Analysis Technique 301
Physical and Logical Process Specifications 303
Using Process Specifications: Horizontal Balancing 304
Summary 307
Hypercase(r) Experience 9 308
Keywords and Phrases 309
Review Questions 309
problems 310
group projects 311
Selected Bibliography 312
CPU case episode 9: Tabling a Decision 313
10	Preparing the Systems Proposal 319
Ascertaining Hardware and Software Needs 319
Inventorying Computer Hardware 320 / Estimating Workloads 321 / Evaluating Computer Hardware 322 / Acquisition of Computer Equipment 322 / Software Evaluation 325 / Decision Support Tools 328 / Expert Systems, Neural Nets, and Other Decision Tools 329
Consulting Opportunity 10.1 Veni, Vidi, Vendi, or, I Came, I Saw, I Sold 329
Hypercase(r) Experience 10.1 331
Identifying and Forecasting Costs and Benefits 331
Forecasting Costs and Benefits 331 / Identifying Benefits and Costs 333 
Consulting Opportunity 10.2 We're Off to See the Wizards 334
Comparing Costs and Benefits 335
Break-Even Analysis 335 / Cash-Flow Analysis 336 / Present Value Analysis 337 
Hypercase(r) Experience 10.2 337
Guidelines for Analysis 339 / Examining Alternative Systems 339
The Systems Proposal 340
Organizing the Systems Proposal 340 / Using Figures for Effective Communication 341
Presenting the Systems Proposal 346
Understanding the Audience 346 / Organizing the Systems Proposal 
Presentation 346 
Consulting Opportunity 10.3 Should This Chart Be Barred? 347
Principles of Delivery 348
Summary 348
Hypercase(r) Experience 10.3 349
Keywords and Phrases 350
Review Questions 350
problems 351
Selected Bibliography 354
cpu case episode 10: Proposing to Go Forth 356
Part IV The Essentials of Design
11	Designing Effective Output 359
Output Design Objectives 359
Designing Output to Serve the Intended Purpose 360 / Designing Output to Fit the User 360 / Delivering the Appropriate Quantity of Output 360 / 
Making Sure the Output Is Where It Is Needed 360 / Providing the Output on Time 360 / Choosing the Right Output Method 361
Relating Output Content to Output Method 361
Output Technologies 361 
Consulting Opportunity 11.1 Your Cage or Mine? 365
Factors to Consider When Choosing Output Technology 368 
Consulting Opportunity 11.2 A Right Way, a Wrong Way, and a Subway 372
Realizing How Output Bias Affects Users 373
Recognizing Bias in the Way Output Is Used 373 / Avoiding Bias in the Design of Output 374
Designing Printed Output 374
Guidelines for Printed Report Design 375
Consulting Opportunity 11.3 Is Your Work a Grind? 376
Designing Output for Displays 377
Guidelines for Display Design 377 / Using Graphical Output in Screen 
Design 378
Designing a Web Site 379
General Guidelines for Designing Web Sites 380
Output Production and XML 387
Consulting Opportunity 11.4 A Field Day 388
Summary 389
Keywords and Phrases 389
Review Questions 389
Hypercase(r) Experience 11 390
problems 391
group projects 394
Selected Bibliography 395
cpu case episode 11: Reporting on Outputs 396
12	Designing Effective Input 405
Good Form Design 405
Making Forms Easy to Fill In 406 / Meeting the Intended Purpose 409 / Ensuring Accurate Completion 409 / Keeping Forms Attractive 409 / Computer-Assisted Form Design 410 
Consulting Opportunity 12.1 This Form May Be Hazardous to Your Health 411
Controlling Business Forms 413
Good Display and Web Forms Design 414
Keeping the Display Simple 414 / Keeping the Display Consistent 415 / Facilitating Movement 415 / Designing an Attractive Display 415 
Consulting Opportunity 12.2 Squeezin' Isn't Pleasin' 417
Using Icons in Display Design 418 / Graphical User Interface Design 418 
Consulting Opportunity 12.3 What's That Thing Supposed to Be? 420
Tab Control Dialog Boxes 421 
Consulting Opportunity 12.4 It's Only Skin Deep 423
Using Color in Display Design 424
Intranet and Internet Page Design 424
Summary 426
Hypercase(r) Experience 12 427
Keywords and Phrases 428
Review Questions 428
problems 429
group projects 433
Selected Bibliography 434
cpu case episode 12: Forming Screens and Screening Forms 435
13	Designing Databases 443
Databases 444
Data Concepts 444
Consulting Opportunity 13.1 Hitch Your Cleaning Cart to a Star 445
Reality, Data, and Metadata 445 / File Organization 452 /
Relational Databases 454
Normalization 456
The Three Steps of Normalization 456 / A Normalization Example 457 / Using the Entity-Relationship Diagram to Determine Record Keys 466 / One-to-Many Relationship 466 / Many-to-Many Relationship 466
Guidelines for Master File/Database Relation Design 467
Integrity Constraints 468
Making Use of the Database 469
Steps in Retrieving and Presenting Data 469
Denormalization 474
Data Warehouses 475
Online Analytic Processing 477 / Data Mining 479
Publishing Databases to the Web 479
Consulting Opportunity 13.2 Storing Minerals for Health, Data for Mining 481
Summary 482
Hypercase(r) Experience 13 483
Keywords and Phrases 483
Review Questions 484
problems 485
group project 486
Selected Bibliography 486
cpu case episode 13: Back to Data Basics 487
14	Designing User Interfaces 497
Types of User Interface 497
Natural-Language Interfaces 498 / Question-and-Answer Interfaces 498 / 
Menus 499 / Form-Fill Interfaces (Input/Output Forms) 501 
Consulting Opportunity 14.1 I'd Rather Do It Myself 501
Command-Language Interfaces 502 / Graphical User Interfaces 503 
Consulting Opportunity 14.2 Don't Slow Me Down 503
Other User Interfaces 504 
Consulting Opportunity 14.3 That's Not a Lightbulb 504
Guidelines for Dialog Design 506
Meaningful Communication 506 / Minimal User Action 507 / 
Standard Operation and Consistency 508
Consulting Opportunity 14.4 Waiting to Be Fed 510
Feedback for Users 510
Types of Feedback 511 / Including Feedback in Design 513
Special Design Considerations for Ecommerce 514
Soliciting Feedback from Ecommerce Web Site Customers 514 / Easy Navigation for Ecommerce Web Sites 515 
Consulting Opportunity 14.5 When You Run a Marathon, It Helps to Know Where You're Going 515
Designing Queries 516
Query Types 516 / Query Methods 519 
Consulting Opportunity 14.6 Hey, Look Me Over (Reprise) 521
Searching the Web 524
Guidelines for Searching the Web 525
Data Mining 525
Consulting Opportunity 14.7 Losing Prospects 527
Summary 527
Hypercase(r) Experience 14 528
Keywords and Phrases 529
Review Questions 530
problems 530
group projects 531
Selected Bibliography 532
cpu case episode 14: Up to the Users 533
15	Designing Accurate Data Entry Procedures 543
Effective Coding 543
Keeping Track of Something 544 / Classifying Information 545 / Concealing Information 547 / Revealing Information 548 / Unicode 549 / Requesting Appropriate Action 550 / General Guidelines for Coding 550
Consulting Opportunity 15.1 It's a Wilderness in Here 551
Effective and Efficient Data Capture 553
Deciding What to Capture 553 / Letting the Computer Do the Rest 554 
Consulting Opportunity 15.2 Catching a Summer Code 554
Avoiding Bottlenecks and Extra Steps 556 / Starting with a Good Form 556 / Choosing a Data Entry Method 557
Ensuring Data Quality through Input Validation 560
Validating Input Transactions 560 / Validating Input Data 561 
Consulting Opportunity 15.3 To Enter or Not to Enter: That Is the Question 562
The Process of Validation 566
Consulting Opportunity 15.4 Do You Validate Parking? 567
Accuracy Advantages in Ecommerce Environments 567
Customers Keying Their Own Data 567 / Storing Data for Later Use 567 / 
Using Data through the Order Fulfillment Process 568 / Providing Feedback to Customers 568
Summary 568
Hypercase(r) Experience 15 569
Keywords and Phrases 570
Review Questions 570
problems 571
group projects 574
Selected Bibliography 574
cpu case episode 15: Entering Naturally 575
Part V Software Engineering and Implementation
16	Quality Assurance through Software Engineering 581
The Total Quality Management Approach 581
Six Sigma 582 / Responsibility for Total Quality Management 582 / Structured Walkthrough 584 
Consulting Opportunity 16.1 The Quality of MIS Is Not Strained 584
Systems Design and Development 585 / Modular Development 587 / Modularity in the Windows Environment 588
Using Structure Charts to Design Systems 588
Drawing a Structure Chart 592 / Types of Modules 594 / Module 
Subordination 596
Software Engineering and Documentation 598
Pseudocode 599 / Procedure Manuals 600 / The FOLKLORE Method 601 / Choosing a Design and Documentation Technique 603 
Consulting Opportunity 16.2 Write Is Right 603
Testing, Maintenance, and Auditing 604
The Testing Process 604 
Consulting Opportunity 16.3 Cramming for Your Systems Test 606
Maintenance Practices 607 / Auditing 607
Summary 608
Hypercase(r) Experience 16 609
Keywords and Phrases 610
Review Questions 610
problems 611
group projects 612
Selected Bibliography 612
cpu case episode 16: Charting the Structure 613
17	Successfully Implementing the Information System 621
Implementing Distributed Systems 622
Client/Server Technology 622 / Types of Distributed Systems Networks 624 / Network Modeling 626 / Groupware 630
Training Users 632
Training Strategies 633 / Guidelines for Training 634
Conversion 635
Consulting Opportunity 17.1 You Can Lead a Fish to Water . . . But You Can't Make It Drink 635
Conversion Strategies 636
Security Concerns for Traditional and Web-Based Systems 637
Physical Security 638 / Logical Security 638 / Behavioral Security 639 / Special Security Considerations for Ecommerce 639 / Privacy Considerations for Ecommerce 640
Other Conversion Considerations 641
Organizational Metaphors and Their Relationship to Successful Systems 641
Evaluation 642
Evaluation Techniques 642 / The Information System Utility Approach 643 / Evaluating the System 644 
Consulting Opportunity 17.2 The Sweet Smell of Success 644
Evaluating Corporate Web Sites 645
Consulting Opportunity 17.3 Mopping Up with the New System 645
Summary 648
Keywords and Phrases 649
Hypercase(r) Experience 17 649
Review Questions 650
problems 651
group project 653
Selected Bibliography 653
cpu case episode 17: Semper Redundate 655
18	Object-Oriented Systems Analysis and Design Using UML 657
Object-Oriented Concepts 658
Objects 658 / Classes 658 / Inheritance 659
CRC Cards and Object Think 660
Interacting During a CRC Session 661 
Consulting Opportunity 18.1 Making the Magic Reel 661
The Unified Modeling Language (UML) Concepts and Diagrams 663
Use Case Modeling 665
Use Case Symbols 666 / Use Case Relationships 666 / Developing Use Case Diagrams 668 / Developing Use Case Scenarios 669
Activity Diagrams 671
Creating Activity Diagrams 672 
Consulting Opportunity 18.2 Recycling the Programming Environment 674
Sequence and Collaboration Diagrams 675
Sequence Diagrams 675 / Collaboration Diagrams 677
Class Diagrams 678
Method Overloading 680 / Types of Classes 680 / A Class Example for the 
Web 681 / Relationships 684 / Generalization/Specialization (Gen/Spec) Diagrams 687
Statechart Diagrams 691
State Transition Example 692
Packages and Other UML Artifacts 693
Putting the UML to Work 695
Consulting Opportunity 18.3 Developing a Fine System That Was Long Overdue: Using Object-Oriented Analysis for the Ruminski Public Library System 695
The Importance of Using the UML for Modeling 697
Consulting Opportunity 18.4 C-Shore++ 698
Summary 699
Keywords and Phrases 699
Review Questions 700
problems 701
Selected Bibliography 701
Glossary 703
Acronyms 713
Index 714

Library of Congress Subject Headings for this publication:

System design.
System analysis.
Systems programming (Computer science).