PREFACE XIX
Part I Systems Analysis and Conceptual Design
1. INTRODUCTION 1
Chapter Objectives 1
Systems Analysis and Design Has Many Other Names 2
What is a System? 4
What is an Information System? 5
What is an Automated Information System? 7
What are the Basic Characteristics of an Information System? 8
What is Systems Analysis and Design ? 10
What Makes Systems Analysis and Design such a Difficult Human Endeavor? 10
Stakeholders of an Information System 12
Systems Analysis and Design as a Career 13
What does a Systems Analyst Responsible For? 14
What is a Systems Analyst Responsible For? 14
Systems Analysis and Design Skills and Activities 15
General Model of Systems Analysis and Design 17
The Detailed Activities of Analysis and Design 18
Systems Analysis and Design Projects 21
Where do Information Systems Analysis and Design Projects Come From? 22
Information Systems Requirements Specification 23
Information Systems Life Cycle and Information Systems Development Life Cycle (SDLG) 24
Principles to Guide Information Systems Analysis and Design 26
Summary 27
Questions 27
References 28
2. FEASIBILITY ANALYSIS AND REQUIREMENTS DETERMINATION 29
Chapter Objectives 29
Feasibility Analysis 30
Feasibility Types, 30
Requirements Determination 33
Problem Domain 35
Frameworks for Understanding and Doing Requirements Determination 37
Requirements Determination sub-Activities,38 The Pieces Framework 38
Kozarˊs Requirements Model 40
Object-Oriented Requirements Determination Modeling Activities 44
Methods Used to Gather an Information System's Requirements 45
Feedback to the User,48 Requirements Ambiguity 49
Summary 51
Questions 52
References 53
3. AN OBJECT-ORIENTED METHODOLOGY AND MODEL 55
Chapter Objectives 55
Methodologies 55
The Traditional Methodology 56
Structured Analysis and Design Methodology,56 Information Modeling Methodology 58
Object-Oriented Methodology 59
Key Characteristics of an Object-Oriented Methodology 60
Two Classic Problems Resolved with Object-Oriented Analysis and Design 66
Classification Theory 67
Coad's Object-Oriented Methodology 68
Coad's Object-Oriented Analysis and Design Methodology and Notation 68
Coad's Object Model Components,72 An Object-Oriented Model 73
Summary 82
Questions 82
References 83
4. OBJECTS AND CLASSES 86
Chapter Objectives 86
Objects and Classes 87
Object and Class Rules and Guidelines 88
Class Attributes and Services Defined 89
Comment on Object-Oriented Problem Solving Strategy 91
Finding Objects 92
Wirfs-brock Noun Phrase Strategy 92
Wirfs-brock CRC Strategy 94
Conglomeration strategy 94
the Video Store Example-finding Objects 96
A Future Enhancements Strategy 98
Summary 99
Questions 100
References 101
5. OBJECT RESPONSIBILITIES:ATTRIBUTES 102
Chapter Objectives 102
Attributes 103
Determining Attributes 106
Attribute Types 107
Object-Oriented Methodology strategy for Different Attribute Types 109
Object-oriented Strategy for Multivalue Attributes 110
The Video Store Example-Identifying attributes 112
Summary 113
Questions 114
References 115
6. OBJECT RESPONSIBILITIES:CLASS AND OBJECT CONNECTIONS 116
Chapter Objectives 116
"Who'I'Know"Responsibility of an Object 117
Object Patterns 118
Generalization-Specialization Pattern 118
Generalization-Specialization Inheritance 125
Pattern 128
Heuristics for Finding Whole-Part Patterns 134
Object Connection Patterns 136
Video Store Example 144
Summary 147
Questions 147
References 148
7. OBJECT RESPONSIBILITIES:SERVICES AND SCENARIOS 149
Chapter Objectives 149
"What I Do"Responsibility of an Object 150
Business Objectives & Tactics, Information Systems Objectives and Tactics, and Policies and Procedures 150
Types of Services 151
Basic services 151
Problem Domain Specific Services 154
Finding and Identifying Services 159
The Video Store Example-Identifying Services,161 Other Techniques for Identifying Services 162
Service Details 164
Techniques for Documenting and Describing Service Details 164
Scenarios 165
Structured English of Pseudocode 166
Decision Tables and Decision Trees 168
A Decision Table Example 171
A Decision Tree Example 174
State-Transition Diagrams 176
The Video Store Example-Assigning Services to Classes and Message Connections 177
Transition From Systems Analysis to Systems Analysis to Systems Design 180
Summary 181
Questions 182
References 183
Part II Physical Design & Implementation
8. SYSTEMS DESIGN 184
Chapter Objectives 184
Information Systems Design 185
Historical Information Systems Design 185
An Object-Oriented Analysis and Design Methodology 187
Information Systems Design strategy Choices 187
Object-Oriented Design 193
Alternative Object-Oriented Information Systems Development Strategies 202
Summary 203
Questions 204
References 205
9. OUTPUT DESIGN 206
Chapter Objectives 206
Output: High Quality, Usable Information 207
Output types 209
Internal, External, and Turnaround Outputs 209
Static and Dynamic Outputs 211
Output Devices and Media 212
Output Formats 214
Output: Report Types 214
Output: Graphs 221
Output: Internal Controls 225
The Future of Output Design 227
Summary 227
Questions 228
References 228
10. INPUT DESIGN 229
Chapter Objectives 229
Introduction 229
The Many Facets of Input Data 231
Data Validation and Verification 231
Input Data Methods 232
Input Devices 235
General Guidelines for Inputing Data 235
Graphical User Interface(GUI)design for Input 242
Summary 247
Questions 247
References 248
11. FILE AND DATABASE DESIGN 249
Chapter Objectives 249
Files and Databases 250
Data Structures 252
Attribute Classifications 254
File Types 258
File Access and Organization 262
Normalization 265
Object-Oriented Database 279
Evolution of Object-Oriented Database 279
Characteristics of an Object-Oriented Data Model 280
Strengths of an Object-Oriented Database 282
Weaknesses of an Object-Oriented Database 284
Summary 284
Questions 285
References 285
12. SOFTWARE CONSTRUCTION AND TESTING 286
Chapter Objectives 286
Introduction 286
General Software Design Principles 288
Software Construction Framework 291
Object-Oriented software Construction Framework 293
Software construction Strategies 293
Cohesion and Coupling 295
Object-oriented Cohesion and Coupling 299
Software Testing 299
Software Testing Strategies 300
A Generic Software Testing
Methodology 303
Application and Code Generators 308
Summary 308
Questions 309
References 309
13. IMPLEMENTATION 310
Chapter Objectives 310
Introduction 310
Install: The First Phase of Implementation 311
Activate: The Second Phase of Implementation 314
Institutionalization: The Final Phase of Implementation 316
Organizational (Planned) Change for Information Systems 318
The stages of Organizational Change 319
Action Research and Force Field Analysis 322
Implementation Critical success Factors 325
Summary 326
Questions 326
References 327
Part III Modules-Miscellaneous Systems Analysis and Design Topics
A. IMFORMATION SYSTEMS PLANNING 329
Module Objectives 329
Introduction 329
A Generic Information Systems Planning Methodology 331
Why Engage in Information Systems Planning? 334
Information Systems Planning Techniques and Methodologies 335
Summary 335
Questions 335
References 336
B. PROTOTYPING 337
Module Objectives 337
Prototyping's Placement within a Systems Development Life Cycle 338
Product versus Information Systems Prototyping Differences 338
Prototyping Benefits 339
Prototyping's Risk 340
Prototyping Synonyms 341
Enabling Technologies for Prototyping 342
Does Prototyping Work? 343
How to Initiate Prototyping 344
Summary 345
Questions 345
References 345
C. COMPUTER-AIDED SOFTWARE ENGINEERING(CASE) 346
Module Objectives 346
Introduction 346
CASE Architecture 347
The Stages of CASE Usage 349
The Benefits of CASE 349
The Issues of CASE 349
Summary 351
Questions 351
References 351
D. SOFTWARE PROCESS IMPROVEMENT 353
Module Objectives 353
Introduction 353
Immature and Mature Systems Development Organizations 354
The five Maturity Levels of the SEI Capability Maturity Model 355
A Generic Systems Development Process Improvement Model 358
The ISO 9000 Process Improvement Methodology 359
Summary 359
Questions 360
References 360
E. THE SYSTEMS DEVELOPMENT CHALLENGE 361
Module Objectives 361
Introduction 361
Software Development's Quadruple Constraint 363
Information Technology Management Issues 364
Systems development Risks 364
Systems Analysis and Design versus Software Engineering 365
A systems Development Architecture for the 1990s 366
SDLC, Methodology, Technique, and Tool 369
Summary 371
Questions 371
References 372
F. PROJECT MANAGEMENT 373
Module Objectives 373
Introduction 373
Two Tools: PERT Network and Gantt Chart 375
The PERT Network 376
A PERT Network Example 377
PERT Network Strengths and Weaknesses 381
The Gantt Chart 383
A Gantt Chart Example 384
Summary 384
Questions 385
References 386
G. COMMUNICATION AND ELECTRONIC MEETINGS 387
Module Objectives 387
Communication within an Information Systems development Project 388
Systems Development Project Communication Opportunities 389
Problem Solving session Strategy 392
Electronic Meetings to Support Group Work 393
Summary 395
Questions 395
References 395
H. BUSINES PROCESS REENGINEERING 396
Module Objectives 396
Introduction 396
Lessons Learned from Organizations that Have Done It 397
The Core of Business Process Reengineering 398
Business Process Reengineering is Organizational Change 399
A Business Process Reengineering Strategy 399
Summary 399
Questions 400
References 400
GLOSSARY 401
RECOMMENDED READING TO GET STARTED-AUGUST 1995 410
BIBLIOGRAPHY-OBJECT-ORIENTED TECHNOLOGY 411
INDEX 421