Preface v
Part 1 Planning Phase
1 The Systems Analyst and Information Systems Development, 3
Introduction, 4
The Systems Analyst, 6
Systems Analyst Skills, 6
Systems Analyst Roles, 7
The Systems Development Life Cycle, 8
Planning, 10
Analysis, 11
Design, 12
Implementation, 12
Project Identification and Initiation, 13
System Request, 15
Applying the Concepts at Dr?nTeq, 16
Feasibility Analysis, 19
Technical Feasibility, 20
Economic Feasibility, 21
Organizational Feasibility, 27
Applying the Concepts at Dr?nTeq, 29
Chapter Review, 31
Appendix 1A: Detailed Economic Feasibility Analysis for Dr?nTeq, 35
2 Project Selection and Management, 37
Introduction, 38
Project Selection, 39
Applying the Concepts at Dr?nTeq, 40
Creating the Project Plan, 41
Project Methodology Options, 42
Selecting the Appropriate Development Methodology, 49
Staffing the Project, 52
Staffing Plan, 52
Coordinating Project Activities, 55
Managing and Controlling the Project, 58
Refining Estimates, 58
Managing Scope, 60
Timeboxing, 60
Managing Risk, 61
Applying the Concepts at Dr?nTeq, 62
Staffing the Project, 63
Coordinating Project Activities, 64
Chapter Review, 65
Part 2 Analysis Phase
3 Requirements Determination, 71
Introduction, 72
The Analysis Phase, 72
Requirements Determination, 74
What Is a Requirement?, 74
The Process of Determining Requirements, 78
The Requirements Definition Statement, 78
Requirements Elicitation Techniques, 80
Requirements Elicitation in Practice, 80
Interviews, 81
Joint Application Development (JAD), 88
Questionnaires, 92
Document Analysis, 94
Observation, 96
Selecting the Appropriate Techniques, 96
Requirements Analysis Strategies, 98
Problem Analysis, 98
Root Cause Analysis, 98
Duration Analysis, 100
Activity-Based Costing, 100
Informal Benchmarking, 100
Outcome Analysis, 101
Technology Analysis, 101
Activity Elimination, 102
Comparing Analysis Strategies, 103
Applying the Concepts at Dr?nTeq, 103
Eliciting and Analyzing Requirements, 103
Requirements Definition, 104
System Proposal, 104
Chapter Review, 106
4 Understanding Processes with Use Cases and Process Models, 111
Introduction, 112
What Is a Use Case?, 113
The Use Case Concept in a Nutshell, 113
Use Case Formats and Elements, 114
Casual Use Case Format, 114
Use Cases in Sequence, 117
Applying Use Cases, 118
Use Case Practical Tips, 118
Use Cases and Functional Requirements, 119
Use Cases and Testing, 119
Creating Use Cases, 120
Identify the Major Use Cases, 120
Identify the Major Steps for Each Use Case, 122
Identify Elements within Steps, 125
Confirm the Use Case, 128
Revise Functional Requirements Based on Use Cases, 129
Applying the Concepts at Dr?nTeq, 129
Identifying the Major Use Cases, 129
Elaborating on the Use Cases, 130
Data Flow Diagrams, 134
Reading Data Flow Diagrams, 134
Elements of Data Flow Diagrams, 136
Using Data Flow Diagrams to Define Business Processes, 139
Process Descriptions, 142
Creating Data Flow Diagrams, 144
Creating the Context Diagram, 145
Creating Data Flow Diagram Fragments, 146
Creating the Level 0 Data Flow Diagram, 148
Creating Level 1 Data Flow Diagrams (and Below), 149
Validating the Data Flow Diagrams, 152
Applying the Concepts at Dr?nTeq, 156
Developing the Process Model, 156
Creating Data Flow Diagram Fragments, 156
Creating the Level 1 Data Flow Diagram, 157
Creating Level 2 Data Flow Diagrams (and Below), 159
Validating the Data Flow Diagrams, 160
Chapter Review, 161
5 Data Modeling, 169
Introduction, 170
The Entity Relationship Diagram, 170
Reading an Entity Relationship Diagram, 171
Elements of an Entity Relationship Diagram, 172
The Data Dictionary and Metadata, 177
Creating an Entity Relationship Diagram, 179
Building Entity Relationship Diagrams, 179
Advanced Syntax, 182
Applying the Concepts at Dr?nTeq, 184
Validating an Entity Relationship Diagram, 188
Design Guidelines, 188
Normalization, 191
Balancing Entity Relationship Diagrams with Data Flow Diagrams, 191
Chapter Review, 193
Appendix 5A: Normalizing The Data Model, 196
Part 3 Design Phase
6 Moving into Design, 203
Introduction, 204
Transition from Requirements to Design, 204
System Acquisition Strategies, 206
Custom Development, 208
Packaged Software, 209
Outsourcing, 210
Influences on the Acquisition Strategy, 213
Business Need, 213
In-House Experience, 214
Project Skills, 215
Project Management, 215
Time Frame, 215
Selecting an Acquisition Strategy, 215
Alternative Matrix, 216
Applying the Concepts at Dr?nTeq, 218
Chapter Review, 220
7 Architecture Design, 222
Introduction, 223
Elements of an Architecture Design, 223
Architectural Components, 223
Client–Server Architectures, 224
Client–Server Tiers, 225
Server-Based Architecture, 227
Mobile Application Architecture, 228
Advances in Architecture Configurations, 229
Comparing Architecture Options, 230
Creating an Architecture Design, 231
Operational Requirements, 231
Performance Requirements, 232
Security Requirements, 234
Access Control Requirements, 236
Cultural and Political Requirements, 239
Designing the Architecture, 241
Hardware and Software Specification, 243
Applying the Concepts at Dr?nTeq, 245
Creating an Architecture Design, 245
Hardware and Software Specification, 246
Chapter Review, 247
8 User Interface Design, 250
Introduction, 251
The Usability Concept, 251
Principles for User Interface Design, 252
Layout, 252
Content Awareness, 254
Aesthetics, 255
Usage Level, 255
Consistency, 257
Minimize User Effort, 258
Special Issues of Touch Screen Interface Design, 258
User Interface Design Process, 259
Understand the Users, 260
Organize the Interface, 262
Define Standards, 265
Interface Design Prototyping, 266
Interface Evaluation/Testing, 268
Navigation Design, 272
Basic Principles, 272
Menu Tips, 273
Message Tips, 275
Input Design, 278
Basic Principles, 278
Input Tips, 280
Input Validation, 282
Output Design, 282
Basic Principles, 282
Types of Outputs, 284
Media, 286
Applying the Concepts at Dr?nTeq, 287
Understand the Users, 287
Organize the Interface, 288
Define Standards, 289
Interface Template Design, 289
Develop Prototypes, 294
Interface Evaluation/Testing, 295
Chapter Review, 295
9 Program Design, 300
Introduction, 301
Moving from Logical to Physical Process Models, 301
The Physical Data Flow Diagram, 301
Applying the Concepts at Dr?nTeq, 304
Designing Programs, 305
Structure Chart, 308
Syntax, 309
Building the Structure Chart, 312
Applying the Concepts at Dr?nTeq, 314
Design Guidelines, 318
Program Specification, 324
Syntax, 324
Applying the Concepts at Dr?nTeq, 327
Chapter Review, 330
10 Data Storage Design, 336
Introduction, 337
Data Storage Formats, 337
Files, 338
Databases, 340
Selecting a Storage Format, 344
Applying the Concepts at Dr?nTeq, 346
Moving from Logical to Physical Data Models, 347
The Physical Entity Relationship Diagram, 347
Revisiting the CRUD Matrix, 350
Applying the Concepts at Dr?nTeq, 351
Optimizing Data Storage, 351
Optimizing Storage Efficiency, 354
Optimizing Access Speed, 356
Estimating Storage Size, 360
Applying the Concepts at Dr?nTeq, 362
Chapter Review, 364
Part 4 Implementation Phase
11 Moving into Implementation, 369
Introduction, 369
Managing the Programming Process, 370
Assigning Programming Tasks, 370
Coordinating Activities, 371
Managing the Schedule, 372
Testing, 372
Test Planning, 374
Unit Tests, 374
Integration Tests, 377
System Tests, 377
Acceptance Tests, 377
Developing Documentation, 379
Types of Documentation, 380
Designing Documentation Structure, 380
Writing Documentation Topics, 382
Identifying Navigation Terms, 383
Applying the Concepts at Dr?nTeq, 385
Managing Programming, 385
Testing, 385
Developing User Documentation, 386
Chapter Review, 389
12 Transition to the New System, 391
Introduction, 391
Making the Transition to the New System, 392
The Migration Plan, 393
Selecting the Conversion Strategy, 394
Preparing a Business Contingency Plan, 398
Preparing the Technology, 399
Preparing People for the New System, 400
Understanding Resistance to Change, 400
Revising Management Policies, 402
Assessing Costs and Benefits, 402
Motivating Adoption, 405
Enabling Adoption: Training, 406
Postimplementation Activities, 409
System Support, 409
System Maintenance, 410
Project Assessment, 412
Applying the Concepts at Dr?nTeq, 414
Implementation Process, 414
Preparing the People, 414
Postimplementation Activities, 414
Chapter Review, 415
13 Agile Development Methods, 418
Introduction, 418
Origins of Agile, 419
Evolution of Agile Development, 420
Adoption of the Agile Approach, 421
Benefits of Agile Methods, 421
Adoption of Specific Agile Methodologies, 421
Scrum, 422
Overview of Scrum, 422
Scrum Characteristics, 424
Scrum Roles, 424
Scrum Features, 426
Scrum Processes, 430
How Does Scrum End?, 434
Other Types of Agile Methodologies, 434
Crystal Development Methodology, 434
Dynamic Systems Development Methodology, 435
Feature Driven Development, 435
Lean Software Development, 436
Comparing the SDLC with Agile Methodologies, 436
Chapter Review, 437
Index I-1