Preface v PART ONE PLANNING PHASE 1 CHAPTER 1 The Systems Analyst and Information Systems Development 2 Introduction 3 The Systems Analyst 4 Systems Analyst Skills 4 Systems Analyst Roles 5 The Systems Development Life Cycle 6 Planning 9 Analysis 9 Design 10 Implementation 10 Project Identification and Initiation 11 System Request 13 Applying the Concepts at Tune Source 15 Feasibility Analysis 18 Technical Feasibility 18 Economic Feasibility 19 Organizational Feasibility 25 Applying the Concepts at Tune Source 28 Chapter Review 30 Appendix 1A--Detailed Economic Feasibility Analysis for Tune Source 33 CHAPTER 2 Project Selection and Management 35 Introduction 36 Project Selection 37 Applying the Concepts at Tune Source 38 Creating the Project Plan 39 Project Methodology Options 40 Selecting the Appropriate Development Methodology 47 Estimating the Project Time Frame 49 Developing the Work Plan 50 Staffing the Project 55 Staffing Plan 55 Coordinating Project Activities 58 Managing and Controlling the Project 61 Refining Estimates 61 Managing Scope 63 Timeboxing 63 Managing Risk 64 Applying the Concepts at Tune Source 65 Staffing the Project 66 Coordinating Project Activities 69 Chapter Review 70 Appendix 2A--The Function Point Approach 73 Appendix 2B--Project Management Tools: The Gantt Chart and PERT Chart 78 Gantt Chart 78 PERT Chart 78 PART TWO ANALYSIS PHASE 81 CHAPTER 3 Requirements Determination 82 Introduction 82 The Analysis Phase 83 Requirements Determination 85 What Is a Requirement? 85 The Process of Determining Requirements 87 The Requirements Definition Statement 89 Requirements Elicitation Techniques 90 Requirements Elicitation in Practice 91 Interviews 91 Joint Application Development (JAD) 98 Questionnaires 102 Document Analysis 104 Observation 105 Selecting the Appropriate Techniques 107 Requirements Analysis Strategies 108 Problem Analysis 108 Root Cause Analysis 108 Duration Analysis 110 Activity-Based Costing 110 Informal Benchmarking 110 Outcome Analysis 111 Technology Analysis 111 Activity Elimination 112 Comparing Analysis Strategies 113 Applying the Concepts at Tune Source 113 Eliciting and Analyzing Requirements 113 Requirements Definition 114 System Proposal 114 Chapter Review 116 CHAPTER 4 Use Case Analysis 120 Introduction 120 What is a Use Case? 122 The Use Case Concept in a Nutshell 122 Use Case Formats and Elements 123 Casual Use Case Format 123 Use Cases in Sequence 126 Fully Dressed Use Case Format 126 Applying Use Cases 128 Use Case Practical Tips 129 Use Cases and Functional Requirements 129 Use Cases and Testing 129 Creating Use Cases 130 Applying the Concepts at Tune Source 144 Identifying the Major Use Cases 144 Elaborating on the Use Cases 145 Chapter Review 149 CHAPTER 5 Process Modeling 153 Introduction 153 Data Flow Diagrams 154 Reading Data Flow Diagrams 154 Elements of Data Flow Diagrams 156 Using Data Flow Diagrams to Define Business Processes 158 Process Descriptions 162 Creating Data Flow Diagrams 162 Creating the Context Diagram 164 Creating Data Flow Diagram Fragments 165 Creating the Level 0 Data Flow Diagram 166 Creating Level 1 Data Flow Diagrams (and Below) 166 Validating the Data Flow Diagrams 173 Applying the Concepts at Tune Source 177 Creating the Context Diagram 177 Creating Data Flow Diagram Fragments 178 Creating the Level 0 Data Flow Diagram 178 Creating Level 1 Data Flow Diagrams (and Below) 178 Validating the Data Flow Diagrams 183 Chapter Review 184 CHAPTER 6 Data Modeling 187 Introduction 187 The Entity Relationship Diagram 188 Reading an Entity Relationship Diagram 188 Elements of an Entity Relationship Diagram 189 The Data Dictionary and Metadata 193 Creating an Entity Relationship Diagram 196 Building Entity Relationship Diagrams 196 Advanced Syntax 199 Applying the Concepts at Tune Source 200 Validating an Entity Relationship Diagram 203 Design Guidelines 203 Normalization 206 Balancing Entity Relationship Diagrams with Data Flow Diagrams 206 Chapter Review 208 Appendix 6A: Normalizing the Data Model 211 PART THREE DESIGN PHASE 217 CHAPTER 7 Moving into Design 218 Introduction 218 Transition from Requirements to Design 219 System Acquisition Strategies 221 Custom Development 223 Packaged Software 224 Outsourcing 225 Influences on the Acquisition Strategy 228 Business Need 228 In-House Experience 229 Project Skills 229 Project Management 230 Time Frame 230 Selecting an Acquisition Strategy 230 Alternative Matrix 231 Applying the Concepts at Tune Source 233 Chapter Review 234 CHAPTER 8 Architecture Design 237 Introduction 237 Elements of an Architecture Design 238 Architectural Components 238 Client-Server Architectures 239 Client-Server Tiers 240 Server-Based Architecture 242 Mobile Application Architecture 243 Advances in Architecture Configurations 244 Comparing Architecture Options 245 Creating an Architecture Design 246 Operational Requirements 246 Performance Requirements 247 Security Requirements 249 Cultural and Political Requirements 254 Designing the Architecture 256 Hardware and Software Specification 258 Applying the Concepts at Tune Source 260 Creating an Architecture Design 260 Hardware and Software Specifi cation 261 Chapter Review 262 CHAPTER 9 User Interface Design 265 Introduction 266 The Usability Concept 266 Principles for User Interface Design 267 Layout 267 Content Awareness 269 Aesthetics 270 Usage Level 270 Consistency 272 Minimize User Effort 273 Special Issues of Touch Screen Interface Design 273 User Interface Design Process 274 Understand the Users 275 Organize the Interface 277 Defi ne Standards 279 Interface Design Prototyping 280 Interface Evaluation/Testing 283 Navigation Design 286 Basic Principles 286 Menu Tips 287 Message Tips 289 Input Design 292 Basic Principles Input Tips 294 Input Validation 296 Output Design 296 Basic Principles 296 Types of Outputs 298 Media 300 Applying the Concepts at Tune Source 301 Understand the Users 301 Organize the Interface 301 Defi ne Standards 303 Interface Template Design 303 Develop Prototypes 305 Interface Evaluation/Testing 305 Chapter Review 306 CHAPTER 10 Program Design 311 Introduction 312 Moving from Logical to Physical Process Models 312 Th e Physical Data Flow Diagram 312 Applying the Concepts at Tune Source 315 Designing Programs 316 Structure Chart 319 Syntax 320 Building the Structure Chart 322 Applying the Concepts at Tune Source 324 Design Guidelines 328 Program Specifi cation 335 Syntax 335 Applying the Concepts at Tune Source 339 Chapter Review 341 CHAPTER 11 Data Storage Design 346 Introduction 347 Data Storage Formats 347 Files 348 Databases 350 Selecting a Storage Format 354 Applying the Concepts at Tune Source 356 Moving from Logical to Physical Data Models 357 The Physical Entity Relationship Diagram 357 Revisiting the CRUD Matrix 359 Applying the Concepts at Tune Source 360 Optimizing Data Storage 362 Optimizing Storage Efficiency 363 Optimizing Access Speed 364 Estimating Storage Size 369 Applying the Concepts at Tune Source 371 Chapter Review 373 PART FOUR IMPLEMENTATION PHASE 377 CHAPTER 12 Moving into Implementation 378 Introduction 378 Managing the Programming Process 379 Assigning Programming Tasks 379 Coordinating Activities 380 Managing the Schedule 381 Testing 381 Test Planning 382 Unit Tests 384 Integration Tests 386 System Tests 386 Acceptance Tests 386 Developing Documentation 388 Types of Documentation 389 Designing Documentation Structure 389 Writing Documentation Topics 391 Identifying Navigation Terms 392 Applying the Concepts at Tune Source 394 Managing Programming 394 Testing 394 Developing User Documentation 396 Chapter Review 397 CHAPTER 13 Transition to the New System 400 Introduction 400 Making the Transition to the New System 401 The Migration Plan 402 Selecting the Conversion Strategy 402 Preparing a Business Contingency Plan 406 Preparing the Technology 408 Preparing People for the New System 408 Understanding Resistance to Change 409 Revising Management Po.
Systems Analysis and Design