Skip to main content

Systems Analysis and Design: An Object-Oriented Approach with UML, 5th Edition



Systems Analysis and Design: An Object-Oriented Approach with UML, 5th Edition

Alan Dennis, Barbara Haley Wixom, David Tegarden

ISBN: 978-1-119-13826-6 February 2016 544 Pages

Download Product Flyer

Download Product Flyer

Download Product Flyer is to download PDF in new tab. This is a dummy description. Download Product Flyer is to download PDF in new tab. This is a dummy description. Download Product Flyer is to download PDF in new tab. This is a dummy description. Download Product Flyer is to download PDF in new tab. This is a dummy description.


Systems Analysis and Design: An Object-Oriented Approach with UML, 5th Edition by Dennis, Wixom, and Tegarden captures the dynamic aspects of the field by keeping students focused on doing SAD while presenting the core set of skills that every systems analyst needs to know today and in the future.

The text enables students to do SAD—not just read about it, but understand the issues so they can actually analyze and design systems. The text introduces each major technique, explains what it is, explains how to do it, presents an example, and provides opportunities for students to practice before they do it for real in a project. After reading each chapter, the student will be able to perform that step in the system development process.

Related Resources

Chapter 1 Introduction to Systems Analysis and Design 1

Introduction 1

The Systems Development Life Cycle 2

Planning 3

Analysis 3

Design 4

Implementation 4

Systems Development Methodologies 5

Structured Design 6

Rapid Application Development (RAD) 8

Agile Development 12

Selecting the Appropriate Development Methodology 15

Typical Systems Analyst Roles and Skills 17

Business Analyst 18

Systems Analyst 18

Infrastructure Analyst 18

Change Management Analyst 19

Project Manager 19

Basic Characteristics of Object-Oriented Systems 19

Classes and Objects 19

Methods and Messages 20

Encapsulation and Information Hiding 20

Inheritance 21

Polymorphism and Dynamic Binding 22

Object-Oriented Systems Analysis and Design (OOSAD) 23

Use-Case Driven 24

Architecture-Centric 24

Iterative and Incremental 24

Benefits of Object-Oriented Systems Analysis and Design 25

The Unified Process 25

Phases 26

Workflows 28

Extensions to the Unified Process 30

The Unified Modeling Language 34

Applying the concepts at Patterson superstore 36

Chapter Review 36

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

Traditional Project Management Tools 54

Work Breakdown Structures 55

Gantt chart 56

Network Diagram 57

Project Effort Estimation 58

Creating and Managing the Workplan 63

Evolutionary Work Breakdown Structures and Iterative Workplans 63

Managing Scope 67

Timeboxing 68

Refining Estimates 69

Managing Risk 70

Staffing the Project 71

Characteristics of a Jelled Team 71

Staffing Plan 73

Motivation 75

Handling Conflict 76

Environment and Infrastructure Management 76

CASE Tools 77

Standards 77

Documentation 78

Applying the Concepts at Patterson Superstore 80

Chapter Review 80


Chapter 3 Requirements Determination 86

Introduction 86

Requirements Determination 87

Defining a Requirement 87

Requirements Definition 89

Determining Requirements 89

Creating a Requirements Definition 91

Real-World Problems with Requirements Determination 91

Requirements Analysis Strategies 92

Problem Analysis 92

Root Cause Analysis 92

Duration Analysis 93

Activity-Based Costing 94

Informal Benchmarking 94

Outcome Analysis 95

Technology Analysis 95

Activity Elimination 95

Requirements-Gathering Techniques 95

Interviews 96

Joint Application Development (JAD) 100

Questionnaires 104

Document Analysis 106

Observation 108

Selecting the Appropriate Techniques 108

Alternative Requirements Documentation Techniques 110

Concept Maps 110

User Stories 112

The System Proposal 113

Applying the Concepts at Patterson

Superstore 114

Chapter review 114

Chapter 4 Business Process and Functional Modeling 119

Introduction 119

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

Elements of Use-Case Diagrams 121

Identifying the Major Use Cases 126

Creating a Use-Case Diagram 127

Business Process Modeling with Activity Diagrams 129

Elements of an Activity Diagram 131

Guidelines for Creating Activity Diagrams 136

Creating Activity Diagrams 137

Business Process Documentation with Use Cases and Use-Case Descriptions 140

Types of Use Cases 141

Elements of a Use-Case Description 141

Guidelines for Creating Use-Case Descriptions 145

Creating Use Case Descriptions 146

Verifying and Validating the Business

Processes and Functional Models 153

Verification and Validation through Walkthroughs 153

Functional Model Verification and Validation 154

Applying the Concepts at Patterson Superstore 157

Chapter Review 157

Chapter 5 Structural Modeling 163

Introduction 163

Structural Models 164

Classes, Attributes, and Operations 164

Relationships 165

Object Identification 166

Textual Analysis 166

Brainstorming 167

Common Object Lists 169

Patterns 169

Crc Cards 172

Responsibilities and Collaborations 172

Elements of a CRC Card 173

Role-Playing CRC Cards with Use Cases 174

Class Diagrams 176

Elements of a Class Diagram 176

Simplifying Class Diagrams 184

Object Diagrams 184

Creating Structural Models Using CRC Cards and Class Diagrams 185

Campus Housing Example 187

Library Example 187

Verifying and Validating the Structural Model 194

Applying the Concepts at Patterson Superstore 197

Chapter Review 198

Chapter 6 Behavioral Modeling 202

Introduction 202

Behavioral Models 203

Interaction Diagrams 204

Objects, Operations, and Messages 204

Sequence Diagrams 204

Communication Diagrams 216

Behavioral State Machines 221

States, Events, Transitions, Actions, and Activities 221

Elements of a Behavioral State Machine 222

Creating a Behavioral State Machine 226

Crude Analysis 229

Verifying and Validating the Behavioral Model 233

Applying the Concepts at Patterson Superstore 235

Chapter Review 235


Chapter 7 Moving on to Design 240

Introduction 240

Verifying and Validating the Analysis Models 242

Balancing Functional and Structural Models 242

Balancing Functional and Behavioral Models 243

Balancing Structural and Behavioral Models 251

Summary 254

Evolving the Analysis Models into Design Models 257

Factoring 257

Partitions and Collaborations 258

Layers 259

Packages and Package Diagrams 262

Guidelines for Creating Package Diagrams 264

Creating Package Diagrams 266

Verifying and Validating Package Diagrams 266

Design Strategies 268

Custom Development 268

Packaged Software 269

Outsourcing 270

Selecting a Design Strategy 272

Selecting an Acquisition Strategy 273

Alternative Matrix 274

Applying the Concepts at Patterson Superstore 276

Chapter Review 276

Chapter 8 Class and Method Design 280

Introduction 280

Review of the Basic Characteristics of Object Orientation 282

Classes, Objects, Methods, and Messages 282

Encapsulation and Information Hiding 282

Polymorphism and Dynamic Binding 282

Inheritance 284

Design Criteria 286

Coupling 286

Cohesion 289

Connascence 292

Object Design Activities 293

Adding Specifications 293

Identifying Opportunities for Reuse 294

Restructuring the Design 297

Optimizing the Design 298

Mapping Problem-Domain Classes to Implementation Languages 300

Constraints and Contracts 304

Types of Constraints 306

Elements of a Contract 306

Method Specification 314

General Information 314

Events 314

Message Passing 315

Algorithm Specifications 316

Example 318

Verifying and Validating Class and Method Design 319

Applying the Concepts at Patterson Superstore 322

Chapter review 322

Chapter 9 Data Management Layer Design 326

Introduction 326

Object Persistence Formats 327

Sequential and Random Access Files 327

Relational Databases 330

Object-Relational Databases 332

Object-Oriented Databases 332

NoSQL Data Stores 333

Selecting an Object Persistence Format 335

Mapping Problem Domain Objects to Object Persistence Formats 337

Mapping Problem Domain Objects to an OODBMS Format 338

Mapping Problem Domain Objects to an ORDBMS Format 341

Mapping Problem Domain Objects to a RDBMS Format 344

Optimizing Rdbms-Based Object Storage 346

Optimizing Storage Efficiency 347

Optimizing Data Access Speed 351

Estimating Data Storage Size 356

Designing Data Access and Manipulation Classes 357

Nonfunctional Requirements and Data Management Layer Design 360

Verifying and Validating the Data Management Layer 361

Applying the Concepts at Patterson Superstore 362

Chapter Review 362

Chapter 10 Human–Computer Interaction Layer Design 367

Iintroduction 367

Principles for User Interface Design 368

Layout 369

Content Awareness 369

Aesthetics 370

User Experience 371

Consistency 371

Minimizing User Effort 372

User Interface Design Process 372

Use Scenario Development 373

Navigation Structure Design 375

Interface Standards Design 376

Interface Design Prototyping 377

Interface Evaluation 380

Common Sense Approach to User Interface Design 382

Navigation Design 383

Basic Principles 383

Types of Navigation Controls 384

Messages 386

Navigation Design Documentation 387

Input Design 387

Basic Principles 387

Types of Inputs 390

Input Validation 391

Output Design 392

Basic Principles 392

Types of Outputs 394

Media 394

Mobile Computing and User Interface Design 395

Social Media and User Interface Design 398

Games, Multi-Dimensional Information Visualizations, and Immersive Environments 400

Games, Gamification, and User Interface Design 400

Multidimensional Information Visualization Design 402

User Interface Design and Immersive Environments 404

International and Cultural Issues and User Interface Design 406

Multilingual Requirements 406

Color 407

Cultural Differences 407

Nonfunctional Requirements and Human-Computer Interaction Layer Design 410

Applying the Concepts at Patterson

Superstore 411

Chapter review 411

Chapter 11 Physical Architecture Layer Design 418

Introduction 418

Elements of the Physical Architecture Layer 419

Architectural Components 419

Server-Based Architectures 420

Client-Based Architectures 420

Client–Server Architectures 421

Client–Server Tiers 422

Selecting a Physical Architecture 424

Cloud Computing 426

Ubiquitous Computing and the Internet of Things 428

Green IT 431

Infrastructure Design 432

Deployment Diagram 432

Network Model 434

Hardware and System Software Specifications 438

Nonfunctional Requirements and Physical Architecture Layer Design 440

Operational Requirements 441

Performance Requirements 442

Security Requirements 444

Cultural and Political Requirements 447

Synopsis 448

Verifying and Validating the Physical Architecture Layer 449

Applying the Concepts at Patterson Superstore 450

Chapter Review 450


Chapter 12 Construction 456

Introduction 456

Managing Programming 457

Assigning Programmers 457

Coordinating Activities 458

Managing the Schedule 458

Cultural Issues 460

Developing Documentation 462

Types of Documentation 463

Designing Documentation Structure 463

Writing Documentation Topics 465

Identifying Navigation Terms 465

Designing Tests 467

Testing and Object Orientation 468

Test Planning 469

Unit Tests 471

Integration Tests 475

System Tests 476

Acceptance Tests 477

Applying the Concepts at Patterson Superstore 478

Chapter Review 478

Chapter 13 Installation and Operations 481

Introduction 481

Cultural Issues and Information Technology Adoption 483

Conversion 485

Conversion Style 486

Conversion Location 486

Conversion Modules 487

Selecting the Appropriate Conversion Strategy 488

Change Management 489

Understanding Resistance to Change 490

Revising Management Policies 491

Assessing Costs and Benefits 492

Motivating Adoption 493

Enabling Adoption: Training 495

Post-Implementation Activities 497

System Support 497

System Maintenance 498

Project Assessment 500

Applying the Concepts at Patterson Superstore 502

Chapter Review 502

Index 507

  • The text has been streamlined to focus on the essentials and therefore, to enhance student understanding. Selected materials, like the “Your Turn” and “Concepts in Action” boxes, have been moved online and can be accessed by going to and navigating to the appropriate title and its BCS site.
  • Throughout the book, there is a greater emphasis on verifying, validating, and testing, as well as the incremental and iterative development of systems.
  • There is more content on Agile techniques including scrum meetings, product backlog, and sprints along with an increased focus on software quality and user stories.
  • Chapter 10 includes more coverage of mobile computing, specifics on navigation, input, and output. This chapter also has a new section on games, multidimensional information visualization, augmented reality, and virtual reality.
  • A new, expanded case study on an integrated health clinic delivery system accompanies the 5th Edition. The case study can be accessed by going to and navigating to the appropriate title and its BCS site. At the end of each chapter in the text, a short synopsis of the case is provided.
  • Focus on doing SAD: After presenting the how and what of each major technique, the text guides students through practice problems and then invites them to use the technique in a project.

  • Real World Focus: The authors build extensively from their experience as professional systems analysts for organizations such as Arthur Andersen, IBM, the U.S. Department of Defense, and the Australian Army. They have also worked with a diverse industry advisory board of IS professionals and consultants in developing the book and have incorporated their stories, feedback, and advice throughout.

  • Project approach: Each chapter focuses on a different step in the Systems Development Life Cycle (SDLC) process. Topics are presented in the order in which they are encountered in a typical project.

  • Written in UML: The text takes a contemporary, object-oriented approach using UML.