Systems Analysis and Design: An Object-Oriented Approach with UML, 6/e (Paperback)
內容描述
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.
FEATURES
Wiley Advantage:
Focuses on real-world application by guiding students through practice problems and using the technique in a project
Presents a contemporary, object-oriented approach using UML
Integrates stories, feedback, and advice from a diverse industry advisory board of IS professionals and consultants
Provides chapters that each cover a different step in the Systems Development Life Cycle (SDLC) process
Presents a contemporary, object-oriented approach using UML
NEW TO THIS EDITION
New to this Edition:
Increased focus on software quality and user stories
New sections on DevOps methodologies, meeting management, fishbone diagrams, givens-means-ends analysis, and using activity diagrams with swimlanes
目錄大綱
TABLE OF CONTENTS
CHAPTER 1: INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN
OBJECTIVES
INTRODUCTION
TYPICAL SYSTEMS ANALYST ROLES AND SKILLS
Business Analyst
Systems Analyst
Infrastructure Analyst
Change Management Analyst
Project Manager
THE SYSTEMS DEVELOPMENT LIFE CYCLE
Planning
Analysis
Design
Implementation
SYSTEMS DEVELOPMENT METHODOLOGIES
Structured Design
Waterfall Development
Parallel Development
Rapid Application Development (RAD)
Phased Development
Prototyping
Throwaway Prototyping
Object-Oriented Systems Analysis and Design (OOSAD)
Use-Case Driven
Architecture-Centric
Iterative and Incremental
Benefits of Object-Oriented Systems Analysis and Design
Agile Development
Extreme Programming
Scrum
DevOps
Custom Methodologies
THE UNIFIED PROCESS
Phases
Inception
Elaboration
Construction
Transition
Workflows
Engineering Workflows
Business Modeling Workflow
Requirements Workflow
Analysis Workflow
Design Workflow
Implementation Workflow
Testing Workflow
Deployment Workflow
Supporting Workflows
Project Management Workflow
Configuration and Change Management Workflow
Environment Workflow
Extensions to the Unified Process
Production Phase
Operations and Support Workflow
Infrastructure Management Workflow
Existing Workflow Modifications and Extensions
Test Workflow
Deployment Workflow
Environment Workflow
Project Management Workflow
Configuration and Change Management Workflow
THE UNIFIED MODELING LANGUAGE
APPLYING THE CONCEPTS AT PATTERSON SUPERSTORE
CHAPTER REVIEW
KEY TERMS
QUESTIONS
EXERCISES
MINICASES
APPENDIX: BASIC CHARACTERISTICS OF OBJECT-ORIENTED SYSTEMS
Classes and Objects
Methods and Messages
Encapsulation and Information Hiding
Polymorphism and Dynamic Binding
Inheritance
APPENDIX REVIEW
KEY TERMS
QUESTIONS
EXERCISES
CHAPTER 2: PROJECT MANAGEMENT
OBJECTIVES
INTRODUCTION
PROJECT IDENTIFICATION
System Request
FEASIBILITY ANALYSIS
Technical Feasibility
Economic Feasibility
Identifying Costs and Benefits
Assigning Values to Costs and Benefits
Determining Cash Flow
Determining Net Present Value and Return on Investment
Determining the Break-Even Point
Organizational Feasibility
PROJECT SELECTION
Ethical Considerations
TRADITIONAL PROJECT MANAGEMENT TOOLS
Work Breakdown Structures
Gantt Chart
Network Diagram
PROJECT EFFORT ESTIMATION
CREATING AND MANAGING THE WORKPLAN
Evolutionary Work Breakdown Structures and Iterative Workplans
Managing Scope
Timeboxing
Refining Estimates
Managing Risk
AGILE ALTERNATIVES TO ITERATIVE WORKPLANS
STAFFING THE PROJECT
Tuckman’s Stages of Small Group Development
Characteristics of a Jelled Team
Staffing Plan
Motivation
Handling Conflict
MEETING MANAGEMENT
ENVIRONMENT AND INFRASTRUCTURE MANAGEMENT
CASE Tools
Standards
Documentation
CONFIGURATION AND CHANGE MANAGEMENT
APPLYING THE CONCEPTS AT PATTERSON SUPERSTORE
CHAPTER REVIEW
KEY TERMS
QUESTIONS
EXERCISES
MINICASES
CHAPTER 3: REQUIREMENTS DETERMINATION
OBJECTIVES
INTRODUCTION
REQUIREMENTS DETERMINATION
Defining a Requirement
Real-World Problems with Requirements Determination
REQUIREMENTS ANALYSIS APPROACHES
Problem Analysis
Root Cause Analysis
Duration Analysis
Activity-Based Costing
Informal Benchmarking
Outcome Analysis
Technology Analysis
Activity Elimination
REQUIREMENTS-GATHERING TECHNIQUES
Interviews
- Select Interviewees
- Design Interview Questions
- Prepare for the Interview
- Conduct the Interview
- Post-Interview Follow-up
Questionnaires - Select Participants
- Designing a Questionnaire
- Administering the Questionnaire
- Questionnaire Follow-up
Observation
Document Analysis
Selecting the Appropriate Techniques
Type of Information
Depth of Information
Breadth of Information
Integration of Information
User Involvement
Cost
Combining Techniques
TEXT ANALYSIS
REQUIREMENTS DEFINITION
Creating a Requirements Definition
User Stories
THE SYSTEM PROPOSAL
APPLYING THE CONCEPTS AT PATTERSON SUPERSTORE
CHAPTER REVIEW
KEY TERMS
QUESTIONS
EXERCISES
MINICASES
CHAPTER 4: BUSINESS PROCESS AND FUNCTIONAL MODELING
OBJECTIVES
INTRODUCTION
BUSINESS PROCESS IDENTIFICATION WITH USE CASES AND USE-CASE DIAGRAMS
Types of Use Cases
Elements of Use-Case Diagrams
Actors
Association
Use Case
Subject Boundary
Identifying the Major Use Cases - Review Requirements Definition
- Identify Subject’s Boundaries
- Identify Primary Actors & Goals
- Identify Business Processes & Major Use Cases
- Review Current Set of Use Cases
Creating a Use-Case Diagram - Place & Draw Use Cases
- Place & Draw Actors
- Draw Subject Boundary
- Add Associations
Campus Housing Example
Library Example
BUSINESS PROCESS MODELING WITH ACTIVITY DIAGRAMS
Elements of an Activity Diagram
Actions and Activities
Object Nodes
Control Flows and Object Flows
Control Nodes
Swimlanes
Guidelines for Creating Activity Diagrams
Creating Activity Diagrams - Choose a Business Process
- Identify Activities
- Identify Control Flows & Nodes
- Identify Object Flows & Nodes
- Lay Out & Draw Diagram
Campus Housing Example
Library Example
BUSINESS PROCESS DOCUMENTATION WITH USE-CASE DESCRIPTIONS
Elements of a Use-Case Description
Overview Use Case Section
Detail Use Case Section
Optional Characteristics
Guidelines for Creating Use-Case Descriptions
Creating Use Case Descriptions - Choose a Use Case
- Create Overview Description
- Describe the Normal Flow of Events
- Check the Normal Flow of Events
- Identify Alternative or Exceptional Flows
- Review the Use-Case Description
- Repeat Until Done
Campus Housing Example
Library Example
VERIFYING AND VALIDATING THE BUSINESS PROCESSES AND FUNCTIONAL MODELS
Verification and Validation through Walkthroughs
Functional Model Verification and Validation
APPLYING THE CONCEPTS AT PATTERSON SUPERSTORE
CHAPTER REVIEW
KEY TERMS
QUESTIONS
EXERCISES
MINICASES
CHAPTER 5: STRUCTURAL MODELING
OBJECTIVES
INTRODUCTION
STRUCTURAL MODELS
Classes, Attributes, and Operations
Relationships
Generalization Relationships
Aggregation Relationships
Association Relationships
OBJECT IDENTIFICATION
Textual Analysis
Brainstorming
Patterns
CRC CARDS
Responsibilities and Collaborations
Elements of a CRC Card
Role-Playing CRC Cards with Use Cases - Review Use Cases
- Identify Relevant Actors and Objects
- Role-Play Scenarios
- Repeat Steps 1 through 3
CLASS DIAGRAMS
Elements of a Class Diagram
Class
Relationships
Generalization and Aggregation Associations
Simplifying Class Diagrams
Object Diagrams
CREATING STRUCTURAL MODELS USING CRC CARDS AND CLASS DIAGRAMS - Create CRC Cards
- Review CRC Cards
- Role-Play the CRC Cards
- Create Class Diagram
- Review Class Diagram
- Incorporate Patterns
- Review the Model
Campus Housing Example
Library Example
VERIFYING AND VALIDATING THE STRUCTURAL MODEL
Balancing Functional and Structural Models
APPLYING THE CONCEPTS AT PATTERSON SUPERSTORE
CHAPTER REVIEW
KEY TERMS
QUESTIONS
EXERCISES
MINICASES
CHAPTER 6: BEHAVIORAL MODELING
OBJECTIVES
INTRODUCTION
BEHAVIORAL MODELS
INTERACTION DIAGRAMS
Objects, Operations, and Messages
Activity Diagrams
Sequence Diagrams
Elements of a Sequence Diagram
Guidelines for Creating Sequence Diagrams
Creating a Sequence Diagram - Set Context
- Identify Actors and Objects
- Set Lifeline
- Add Messages
- Place Execution Occurrence
- Validate
Campus Housing Example
Library Example
CRUDE ANALYSIS
Campus Housing Example
Library Example
BEHAVIORAL STATE MACHINES
States, Events, Transitions, Actions, and Activities
Elements of a Behavioral State Machine
Guidelines for Creating Behavioral State Machines
Creating a Behavioral State Machine - Set Context
- Identify Object States
- Lay Out Diagram
- Add Transitions
- Validate
Campus Housing Example
Library Example
VERIFYING AND VALIDATING THE BEHAVIORAL MODEL
Balancing Functional and Behavioral Models
Balancing Structural and Behavioral Models
APPLYING THE CONCEPTS AT PATTERSON SUPERSTORE
CHAPTER REVIEW
KEY TERMS
QUESTIONS
EXERCISES
MINICASES
CHAPTER 7: MOVING ON TO DESIGN
OBJECTIVES
INTRODUCTION
VERIFYING AND VALIDATING THE ANALYSIS MODELS
EVOLVING THE ANALYSIS MODELS INTO DESIGN MODELS
Factoring
Partitions and Collaborations
Layers
Foundation
Problem Domain
Data Management
Human–Computer Interaction
Physical Architecture
PACKAGES AND PACKAGE DIAGRAMS
Guidelines for Creating Package Diagrams
Creating Package Diagrams - Set Context
- Cluster Classes
- Create Packages
- Identify Dependencies
- Lay Out and Draw Diagram
Verifying and Validating Package Diagrams
DESIGN CRITERIA
Coupling
Cohesion
Connascence
DESIGN STRATEGIES
Custom Development
Packaged Software
Outsourcing
Selecting a Design Strategy
Business Need
In-house Experience
Project Skills
Project Management
Time Frame
SELECTING AN ACQUISITION STRATEGY
Alternative Matrix
APPLYING THE CONCEPTS AT PATTERSON SUPERSTORE
CHAPTER REVIEW
KEY TERMS
QUESTIONS
EXERCISES
MINICASES
CHAPTER 8: CLASS AND METHOD DESIGN
OBJECTIVES
INTRODUCTION
OBJECT DESIGN ACTIVITIES
Adding Specifications
Identifying Opportunities for Reuse
Restructuring the Design
Optimizing the Design
Mapping Problem-Domain Classes to Implementation Languages
Implementing Problem Domain Classes in a Single-Inheritance Language
Implementing Problem Domain Objects in an Object-Based Language
Implementing Problem-Domain Objects in a Traditional Language
CONSTRAINTS AND CONTRACTS
Types of Constraints
Elements of a Contract
Example
METHOD SPECIFICATION
General Information
Events
Message Passing
Algorithm Specifications
Example
VERIFYING AND VALIDATING CLASS AND METHOD DESIGN
APPLYING THE CONCEPTS AT PATTERSON SUPERSTORE
CHAPTER REVIEW
KEY TERMS
QUESTIONS
EXERCISES
MINICASES
CHAPTER 9: DATA MANAGEMENT LAYER DESIGN
OBJECTIVES
INTRODUCTION
OBJECT PERSISTENCE FORMATS
Sequential and Random-Access Files
Relational Databases
Object-Relational Databases
Object-Oriented Databases
NoSQL Data Stores
Selecting an Object Persistence Format
Major Strengths and Weaknesses
Data Types Supported
Type of Application System
Existing Storage Formats
Future Needs
Other Miscellaneous Criteria
MAPPING PROBLEM DOMAIN OBJECTS TO OBJECT PERSISTENCE FORMATS
Mapping Problem Domain Objects to an OODBMS Format
Mapping Problem Domain Objects to an ORDBMS Format
Mapping Problem Domain Objects to a RDBMS Format
DESIGNING DATA ACCESS AND MANIPULATION CLASSES
NONFUNCTIONAL REQUIREMENTS AND DATA MANAGEMENT LAYER DESIGN
VERIFYING AND VALIDATING THE DATA MANAGEMENT LAYER
APPLYING THE CONCEPTS AT PATTERSON SUPERSTORE
CHAPTER REVIEW
KEY TERMS
QUESTIONS
EXERCISES
MINICASES
APPENDIX 9-1: OPTIMIZING RDBMS-BASED OBJECT STORAGE
Optimizing Storage Efficiency
Optimizing Data Access Speed
Denormalization
Clustering
Indexing
Estimating Data Storage Size
APPENDIX 9-2: CONVERTING CLASS DIAGRAMS TO ENTITY-RELATIONSHIP DIAGRAMS
APPENDIX REVIEW
KEY TERMS
QUESTIONS
EXERCISES
MINICASES
CHAPTER 10: HUMAN–COMPUTER INTERACTION LAYER DESIGN
OBJECTIVES
INTRODUCTION
PRINCIPLES FOR USER INTERFACE DESIGN
Layout
Content Awareness
Aesthetics
User Experience
Consistency
Minimizing User Effort
USER INTERFACE DESIGN PROCESS
Use Scenario Development
Navigation Structure Design
Interface Standards Design
Interface Metaphor
Interface Templates
Interface Objects
Interface Actions
Interface Icons
Interface Design Prototyping
Wireframe Diagram
Storyboard
User Interface Prototypes
Selecting the Appropriate Techniques
Common Sense Approach to User Interface Design
NAVIGATION DESIGN
Basic Principles
Prevent Mistakes
Simplify Recovery from Mistakes
Use Consistent Grammar Order
Types of Navigation Controls
Languages
Menus
Direct Manipulation
Messages
Navigation Design Documentation
INPUT DESIGN
Basic Principles
Online versus Batch Processing
Capture Data at the Source
Minimize Keystrokes
Types of Inputs
Text
Numbers
Selection Box
Input Validation
OUTPUT DESIGN
Basic Principles
Understand Report Usage
Manage Information Load
Minimize Bias
Types of Outputs
Media
MOBILE COMPUTING AND USER INTERFACE DESIGN
SOCIAL MEDIA AND USER INTERFACE DESIGN
GAMES, MULTIDIMENSIONAL INFORMATION VISUALIZATIONS, AND IMMERSIVE ENVIRONMENTS
Games, Gamification, and User Interface Design
Multidimensional Information Visualization Design
User Interface Design and Immersive Environments
INTERNATIONAL AND CULTURAL ISSUES AND USER INTERFACE DESIGN
Multilingual Requirements
Color
Cultural Differences
NONFUNCTIONAL REQUIREMENTS AND HUMAN–COMPUTER INTERACTION LAYER DESIGN
VERIFYING AND VALIDATING THE HUMAN-COMPUTER INTERACTION LAYER APPLYING THE CONCEPTS AT PATTERSON SUPERSTORE
CHAPTER REVIEW
KEY TERMS
QUESTIONS
EXERCISES
MINICASES
CHAPTER 11: PHYSICAL ARCHITECTURE LAYER DESIGN
OBJECTIVES
INTRODUCTION
ELEMENTS OF THE PHYSICAL ARCHITECTURE LAYER
Architectural Components
Server-Based Architectures
Client-Based Architectures
Client–Server Architectures
Client–Server Tiers
Selecting a Physical Architecture
Cost of Infrastructure
Cost of Development
Ease of Development
Interface Capabilities
Control and Security
Scalability
CLOUD COMPUTING
UBIQUITOUS COMPUTING AND THE INTERNET OF THINGS
GREEN IT
INFRASTRUCTURE DESIGN
Deployment Diagram
Network Model
HARDWARE AND SYSTEM SOFTWARE SPECIFICATIONS
NONFUNCTIONAL REQUIREMENTS AND PHYSICAL ARCHITECTURE LAYER DESIGN
Operational Requirements
Technical Environment Requirements
System Integration Requirements
Portability Requirements
Maintainability Requirements
Performance Requirements
Speed Requirements
Capacity Requirements
Availability and Reliability Requirements
Security Requirements
System Value
Access Control Requirements
Encryption and Authentication Requirements
Virus Control Requirements
Cultural and Political Requirements
Customization Requirements
Legal Requirements
Synopsis
VERIFYING AND VALIDATING THE PHYSICAL ARCHITECTURE LAYER
APPLYING THE CONCEPTS AT PATTERSON SUPERSTORE
CHAPTER REVIEW
KEY TERMS
QUESTIONS
EXERCISES
MINICASES
CHAPTER 12: CONSTRUCTION
OBJECTIVES
INTRODUCTION
MANAGING PROGRAMMING
Assigning Programmers
Coordinating Activities
Managing the Schedule
Cultural Issues
DEVELOPING DOCUMENTATION
Types of Documentation
Designing Documentation Structure
Writing Documentation Topics
Identifying Navigation Terms
DESIGNING TESTS
Testing and Object Orientation
Encapsulation and Information Hiding
Polymorphism and Dynamic Binding
Inheritance
Reuse
Object-Oriented Development Process and Products
Test Planning
Unit Tests
Integration Tests
System Tests
Acceptance Tests
Testing and Security Considerations
APPLYING THE CONCEPTS AT PATTERSON SUPERSTORE
CHAPTER REVIEW
KEY TERMS
QUESTIONS
EXERCISES
MINICASES
CHAPTER 13: INSTALLATION AND OPERATIONS
OBJECTIVES
INTRODUCTION
CULTURAL ISSUES AND INFORMATION TECHNOLOGY ADOPTION
CONVERSION
Conversion Style
Direct Conversion
Parallel Conversion
Conversion Location
Pilot Conversion
Phased Conversion
Simultaneous Conversion
Conversion Modules
Whole-System Conversion
Modular Conversion
Selecting the Appropriate Conversion Strategy
Risk
Cost
Time
DevOps and Continuous Delivery
CHANGE MANAGEMENT
Understanding Resistance to Change
Revising Management Policies
Assessing Costs and Benefits
Motivating Adoption
Enabling Adoption: Training
What to Train
How to Train
POST-IMPLEMENTATION ACTIVITIES
System Support
System Maintenance
Project Assessment
Project Team Review
System Review
APPLYING THE CONCEPTS AT PATTERSON SUPERSTORE
CHAPTER REVIEW
KEY TERMS
QUESTIONS
EXERCISES
MINICASES