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 DronTeq, 16 Feasibility Analysis, 19 Technical Feasibility, 20 Economic Feasibility, 21 Organizational Feasibility, 27 Applying the Concepts at DronTeq, 29 Chapter Review, 31 Appendix 1A: Detailed Economic Feasibility Analysis for DronTeq, 35 2 Project Selection and Management, 37 Introduction, 38 Project Selection, 39 Applying the Concepts at DronTeq, 40 Creating the Project Plan, 41 Project Methodology Options, 42 Selecting the Appropriate Development Methodology, 49 Contents Dennis8e_ftoc.indd 11 6/30/2021 9:16:30 AM xii Contents 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 DronTeq, 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 DronTeq, 103 Eliciting and Analyzing Requirements, 103 Requirements Definition, 104 System Proposal, 104 Chapter Review, 106 Dennis8e_ftoc.indd 12 6/30/2021 9:16:30 AM Contents xiii 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 DronTeq, 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 DronTeq, 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 Dennis8e_ftoc.indd 13 6/30/2021 9:16:30 AM xiv Contents Creating an Entity Relationship Diagram, 179 Building Entity Relationship Diagrams, 179 Advanced Syntax, 182 Applying the Concepts at DronTeq, 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 6 Moving into Design, 201 Introduction, 202 Transition from Requirements to Design, 202 System Acquisition Strategies, 204 Custom Development, 206 Packaged Software, 207 Outsourcing, 208 Influences on the Acquisition Strategy, 211 Business Need, 211 In-House Experience, 212 Project Skills, 213 Project Management, 213 Time Frame, 213 Selecting an Acquisition Strategy, 213 Alternative Matrix, 214 Applying the Concepts at DronTeq, 216 Chapter Review, 218 Part 3 Design Phase 7 Architecture Design, 223 Introduction, 224 Elements of an Architecture Design, 224 Architectural Components, 224 Client-Server Architectures, 225 Client-Server Tiers, 226 Server-Based Architecture, 228 Mobile Application Architecture, 229 Advances in Architecture Configurations, 230 Comparing Architecture Options, 231 Creating an Architecture Design, 232 Operational Requirements, 232 Performance Requirements, 233 Security Requirements, 235 Dennis8e_ftoc.indd 14 6/30/2021 9:16:31 AM Contents xv Access Control Requirements, 237 Cultural and Political Requirements, 240 Designing the Architecture, 242 Hardware and Software Specification, 244 Applying the Concepts at DronTeq, 246 Creating an Architecture Design, 246 Hardware and Software Specification, 247 Chapter Review, 248 8 User Interface Design, 251 Introduction, 252 The Usability Concept, 252 Principles for User Interface Design, 253 Layout, 253 Content Awareness, 255 Aesthetics, 256 Usage Level, 256 Consistency, 258 Minimize User Effort, 259 Special Issues of Touch Screen Interface Design, 259 User Interface Design Process, 260 Understand the Users, 261 Organize the Interface, 263 Define Standards, 266 Interface Design Prototyping, 267 Interface Evaluation/Testing, 269 Navigation Design, 273 Basic Principles, 273 Menu Tips, 274 Message Tips, 276 Input Design, 279 Basic Principles, 279 Input Tips, 281 Input Validation, 283 Output Design, 283 Basic Principles, 283 Types of Outputs, 285 Media, 287 Applying the Concepts at DronTeq, 288 Understand the Users, 288 Organize the Interface, 289 Define Standards, 290 Interface Template Design, 290 Develop Prototypes, 295 Interface Evaluation/Testing, 296 Chapter Review, 296 Dennis8e_ftoc.indd 15 6/30/2021 9:16:31 AM xvi Contents 9 Program Design, 301 Introduction, 302 Moving from Logical to Physical Process Models, 302 The Physical Data Flow Diagram, 302 Applying the Concepts at DronTeq, 305 Designing Programs, 306 Structure Chart, 309 Syntax, 310 Building the Structure Chart, 313 Applying the Concepts at DronTeq, 315 Design Guidelines, 319 Program Specification, 325 Syntax, 325 Applying the Concepts at DronTeq, 328 Chapter Review, 331 10 Data Storage Design, 337 Introduction, 338 Data Storage Formats, 338 Files, 339 Databases, 341 Selecting a Storage Format, 345 Applying the Concepts at DronTeq, 347 Moving from Logical to Physical Data Models, 348 The Physical Entity Relationship Diagram, 348 Revisiting the CRUD Matrix, 351 Applying the Concepts at DronTeq, 352 Optimizing Data Storage, 352 Optimizing Storage Efficiency, 355 Optimizing Access Speed, 357 Estimating Storage Size, 361 Applying the Concepts at DronTeq, 363 Chapter Review, 365 11 Moving into Implementation, 368 Introduction, 368 Managing the Programming Process, 369 Assigning Programming Tasks, 369 Coordinating Activities, 370 Managing the Schedule, 371 Testing, 371 Test Planning, 373 Unit Tests, 373 Integration Tests, 376 Dennis8e_ftoc.indd 16 6/30/2021 9:16:31 AM Contents xvii System Tests, 376 Acceptance Tests, 376 Developing Documentation, 378 Types of Documentation, 379 Designing Documentation Structure, 379 Writing Documentation Topics, 381 Identifying Navigation Terms, 382 Applying the Concepts at DronTeq, 384 Managing Programming, 384 Testing, 384 Developing User Documentation, 385 Chapter Review, 3.
Systems Analysis and Design