+353-1-416-8900REST OF WORLD
+44-20-3973-8888REST OF WORLD
1-917-300-0470EAST COAST U.S
1-800-526-8630U.S. (TOLL FREE)

Systems Analysis and Design. An Object-Oriented Approach with UML. Edition No. 6

  • Book

  • 544 Pages
  • April 2021
  • John Wiley and Sons Ltd
  • ID: 5839435

Systems Analysis and Design: An Object-Oriented Approach with UML, Sixth Edition helps students develop the core skills required to plan, design, analyze, and implement information systems. Offering a practical hands-on approach to the subject, this textbook is designed to keep students focused on doing SAD, rather than simply reading about it. Each chapter describes a specific part of the SAD process, providing clear instructions, a detailed example, and practice exercises. Students are guided through the topics in the same order as professional analysts working on a typical real-world project.

Now in its sixth edition, this edition has been carefully updated to reflect current methods and practices in SAD and prepare students for their future roles as systems analysts. Every essential area of systems analysis and design is clearly and thoroughly covered, from project management, to analysis and design modeling, to construction, installation, and operations. The textbook includes access to a range of teaching and learning resources, and a running case study of a fictitious healthcare company that shows students how SAD concepts are applied in real-life scenarios.

Table of Contents

Chapter 1 Introduction to Systems Analysis and Design 1

Introduction 1

Typical Systems Analyst Roles and Skills 2

Business Analyst 3

Systems Analyst 3

Infrastructure Analyst 3

Change Management Analyst 3

Project Manager 4

The Systems Development Life Cycle 4

Planning 5

Analysis 5

Design 6

Implementation 6

Systems Development Methodologies 7

Structured Design 7

Rapid Application Development (RAD) 9

Object-Oriented Systems Analysis and Design (OOSAD) 11

Agile Development 13

DevOps 16

Custom Methodologies 17

The Unified Process 17

Phases 18

Workflows 20

Extensions to the Unified Process 22

The Unified Modeling Language 26

Applying the Concepts at Patterson Superstore 28

Chapter Review 28

Key Terms 28

Questions 29

Exercises 30

Minicases 30

Appendix Basic Characteristics of Object-Oriented Systems 32

Classes and Objects 32

Methods and Messages 33

Encapsulation and Information Hiding 34

Polymorphism and Dynamic Binding 34

Inheritance 36

Appendix Review 39

Key Terms 40

Questions 40

Exercises 40

Chapter 2 Project Management 41

Introduction 41

Project Identification 43

System Request 44

Feasibility Analysis 45

Technical Feasibility 45

Economic Feasibility 46

Organizational Feasibility 51

Project Selection 53

Ethical Considerations 54

Traditional Project Management Tools 55

Work Breakdown Structures 55

Gantt Chart 57

Network Diagram 57

Project Effort Estimation 60

Creating and Managing the Workplan 65

Evolutionary Work Breakdown Structures and Iterative Workplans 65

Managing Scope 69

Timeboxing 70

Refining Estimates 71

Managing Risk 72

Agile Alternatives to Iterative Workplans 73

Staffing the Project 74

Tuckman’s Stages of Small Group Development 74

Characteristics of a Jelled Team 75

Staffing Plan 76

Motivation 79

Handling Conflict 80

Meeting Management 81

Environment and Infrastructure Management 83

CASE Tools 83

Standards 83

Documentation 84

Configuration and Change Management 85

Applying the Concepts at Patterson Superstore 87

Chapter Review 87

Key Terms 88

Questions 88

Exercises 89

Minicases 90

Part One Analysis Modeling 93

Chapter 3 Requirements Determination 95

Introduction 95

Requirements Determination 96

Defining a Requirement 96

Real-World Problems with Requirements Determination 98

Requirements Analysis Approaches 99

Problem Analysis 99

Root Cause Analysis 100

Duration Analysis 100

Activity-Based Costing 102

Informal Benchmarking 102

Outcome Analysis 102

Technology Analysis 103

Activity Elimination 103

Requirements-Gathering Techniques 103

Interviews 104

Questionnaires 108

Observation 111

Document Analysis 112

Selecting the Appropriate Techniques 113

Text Analysis 115

Requirements Definition 117

Creating a Requirements Definition 117

User Stories 119

The System Proposal 120

Applying the Concepts at Patterson Superstore 121

Chapter Review 122

Key Terms 122

Questions 122

Exercises 123

Minicases 124

Chapter 4 Business Process and Functional Modeling 126

Introduction 126

Business Process Identification with Use Cases and Use-Case Diagrams 128

Types of Use Cases 129

Elements of Use-Case Diagrams 130

Identifying the Major Use Cases 134

Creating a Use-Case Diagram 135

Business Process Modeling with Activity Diagrams 138

Elements of an Activity Diagram 139

Guidelines for Creating Activity Diagrams 143

Creating Activity Diagrams 145

Business Process Documentation with Use-Case Descriptions 148

Elements of a Use-Case Description 149

Guidelines for Creating Use-Case Descriptions 152

Creating Use Case Descriptions 153

Verifying and Validating the Business Processes and Functional Models 160

Verification and Validation through Walkthroughs 160

Functional Model Verification and Validation 161

Applying the Concepts at Patterson Superstore 163

Chapter Review 164

Key Terms 164

Questions 164

Exercises 165

Minicases 167

Chapter 5 Structural Modeling 169

Introduction 169

Structural Models 170

Classes, Attributes, and Operations 170

Relationships 171

Object Identification 172

Textual Analysis 173

Brainstorming 173

Patterns 175

CRC Cards 178

Responsibilities and Collaborations 178

Elements of a CRC Card 179

Role-Playing CRC Cards with Use Cases 180

Class Diagrams 181

Elements of a Class Diagram 181

Simplifying Class Diagrams 190

Object Diagrams 190

Structural Models Using CRC Cards and Class Diagrams 191

Campus Housing Example 193

Library Example 193

Verifying and Validating the Structural Model 200

Balancing Functional and Structural Models 203

Applying the Concepts at Patterson Superstore 206

Chapter Review 206

Key Terms 206

Questions 207

Exercises 207

Minicases 209

Chapter 6 Behavioral Modeling 211

Introduction 211

Behavioral Models 212

Interaction Diagrams 213

Objects, Operations, and Messages 213

Activity Diagrams 213

Sequence Diagrams 215

Creating a Sequence Diagram 223

Crude Analysis 230

Campus Housing Example 231

Library Example 232

Behavioral State Machines 232

States, Events, Transitions, Actions, and Activities 232

Elements of a Behavioral State Machine 234

Guidelines for Creating Behavioral State Machines 238

Creating a Behavioral State Machine 238

Campus Housing Example 239

Library Example 240

Verifying and Validating the Behavioral Model 241

Balancing Functional and Behavioral Models 242

Balancing Structural and Behavioral Models 244

Applying the Concepts at Patterson Superstore 248

Chapter Review 248

Key Terms 248

Questions 249

Exercises 249

Minicases 251

Part Two Design Modeling 253

Chapter 7 Moving on to Design 255

Introduction 255

Verifying and Validating the Analysis Models 257

Evolving the Analysis Models into Design Models 257

Factoring 258

Partitions and Collaborations 258

Layers 259

Packages and Package Diagrams 263

Guidelines for Creating Package Diagrams 265

Creating Package Diagrams 266

Verifying and Validating Package Diagrams 268

Design Criteria 270

Coupling 271

Cohesion 273

Connascence 274

Design Strategies 275

Custom Development 275

Packaged Software 276

Outsourcing 277

Selecting a Design Strategy 279

Selecting an Acquisition Strategy 280

Alternative Matrix 281

Applying the Concepts at Patterson Superstore 282

Chapter Review 283

Key Terms 283

Questions 283

Exercises 284

Minicases 285

Chapter 8 Class and Method Design 287

Introduction 287

Object Design Activities 289

Adding Specifications 289

Identifying Opportunities for Reuse 290

Restructuring the Design 293

Optimizing the Design 294

Mapping Problem-Domain Classes to Implementation Languages 296

Constraints and Contracts 300

Types of Constraints 302

Elements of a Contract 302

Example 305

Method Specification 310

General Information 310

Events 310

Message Passing 311

Algorithm Specifications 312

Example 313

Verifying and Validating Class and Method Design 314

Applying the Concepts at Patterson Superstore 317

Chapter Review 317

Key Terms 317

Questions 317

Exercises 318

Minicases 319

Chapter 9 Data Management Layer Design 320

Introduction 320

Object Persistence Formats 321

Sequential- and Random-Access Files 321

Relational Databases 324

Object-Relational Databases 326

Object-Oriented Databases 326

NoSQL Data Stores 327

Selecting an Object Persistence Format 329

Mapping Problem Domain Objects to Object Persistence Formats 331

Mapping Problem Domain Objects to an OODBMS Format 332

Mapping Problem Domain Objects to an ORDBMS Format 335

Mapping Problem Domain Objects to a RDBMS Format 338

Designing Data Access and Manipulation Classes 340

Nonfunctional Requirements and Data Management Layer Design 344

Verifying and Validating the Data Management

Layer 345

Applying the Concepts at Patterson Superstore 346

Chapter Review 346

Key Terms 346

Questions 347

Exercises 347

Minicases 348

Appendices

Appendix 9-1: Optimizing RDBMS-Based Object Storage 349

Optimizing Storage Efficiency 349

Optimizing Data Access Speed 352

Estimating Data Storage Size 358

Appendix 9-2: Converting Class Diagrams to Entity-Relationship Diagrams 359

Appendix Review 361

Key Terms 361

Questions 361

Exercises 361

Minicases 362

Chapter 10 Human-Computer Interaction Layer Design 364

Introduction 364

Principles for User Interface Design 365

Layout 366

Content Awareness 367

Aesthetics 367

User Experience 368

Consistency 369

Minimizing User Effort 369

User Interface Design Process 369

Use Scenario Development 370

Navigation Structure Design 371

Interface Standards Design 373

Interface Design Prototyping 374

Common Sense Approach to User Interface Design 378

Navigation Design 378

Basic Principles 379

Types of Navigation Controls 379

Messages 381

Navigation Design Documentation 381

Input Design 383

Basic Principles 383

Types of Inputs 385

Input Validation 385

Output Design 386

Basic Principles 386

Types of Outputs 388

Media 388

Mobile Computing and User Interface Design 389

Social Media and User Interface Design 392

Games, Multidimensional Information Visualizations, and Immersive Environments 394

Games, Gamification, and User Interface Design 394

Multidimensional Information Visualization Design 396

User Interface Design and Immersive Environments 398

International and Cultural Issues and User Interface Design 400

Multilingual Requirements 400

Color 401

Cultural Differences 401

Nonfunctional Requirements and Human-Computer Interaction Layer Design 404

Verifying and Validating the Human-Computer Interaction Layer 405

Applying the Concepts at Patterson Superstore 407

Chapter Review 407

Key Terms 407

Questions 408

Exercises 409

Minicases 410

Chapter 11 Physical Architecture Layer Design 414

Introduction 414

Elements of the Physical Architecture Layer 415

Architectural Components 415

Server-Based Architectures 416

Client-Based Architectures 416

Client-Server Architectures 417

Client-Server Tiers 418

Selecting a Physical Architecture 420

Cloud Computing 422

Ubiquitous Computing and the Internet of Things 424

Green IT 427

Infrastructure Design 428

Deployment Diagram 428

Network Model 431

Hardware and System Software Specifications 434

Nonfunctional Requirements and Physical Architecture Layer Design 436

Operational Requirements 437

Performance Requirements 438

Security Requirements 440

Cultural and Political

Requirements 443

Synopsis 445

Verifying and Validating the Physical Architecture Layer 445

Applying the Concepts at Patterson Superstore 446

Chapter Review 446

Key Terms 446

Questions 447

Exercises 448

Minicases 449

Part Three Construction, Installation, and Operations 451

Chapter 12 Construction 452

Introduction 452

Managing Programming 453

Assigning Programmers 453

Coordinating Activities 454

Managing the Schedule 454

Cultural Issues 456

Developing Documentation 458

Types of Documentation 459

Designing Documentation Structure 459

Writing Documentation Topics 461

Identifying Navigation Terms 461

Designing Tests 463

Testing and Object Orientation 464

Test Planning 466

Unit Tests 469

Integration Tests 472

System Tests 473

Acceptance Tests 475

Testing and Security Considerations 475

Applying the Concepts at Patterson Superstore 476

Chapter Review 476

Key Terms 476

Questions 477

Exercises 477

Minicases 478

Chapter 13 Installation and Operations 479

Introduction 479

Cultural Issues and Information Technology Adoption 481

Conversion 483

Conversion Style 484

Conversion Location 485

Conversion Modules 485

Selecting the Appropriate Conversion Strategy 486

DevOps and Continuous Delivery 487

Change Management 488

Understanding Resistance to Change 489

Revising Management Policies 490

Assessing Costs and Benefits 491

Motivating Adoption 493

Enabling Adoption: Training 494

Post-Implementation Activities 496

System Support 496

System Maintenance 497

Project Assessment 499

Applying the Concepts at Patterson Superstore 501

Chapter Review 501

Key Terms 501

Questions 502

Exercises 502

Minicases 503

Index I-1

Authors

Alan Dennis The University of Georgia. Barbara Wixom University of Virginia, McIntyre School of Business. David Tegarden Virginia Tech.