Systems analysis & design : an object-oriented approach with UML

Author(s)

Bibliographic Information

Systems analysis & design : an object-oriented approach with UML

Alan Dennis, Barbara Haley Wixom, David Tegarden

Wiley, c2021

6th ed

  • : pbk

Other Title

Systems analysis and design, an object-oriented approach with UML

Available at  / 1 libraries

Search this Book/Journal

Note

Previous ed.: c2015

Includes index

Description and Table of Contents

Description

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

by "Nielsen BookData"

Details

Page Top