Home > Store

Object-Oriented Software Engineering Using UML, Patterns, and Java, 3rd Edition

Register your product to gain access to bonus material or receive a coupon.

Object-Oriented Software Engineering Using UML, Patterns, and Java, 3rd Edition


  • Your Price: $186.99
  • List Price: $219.99
  • Usually ships in 24 hours.



For the Student

An object-oriented modeling approach covers techniques in a step-by-step manner, from requirements elicitation to testing, enabling students to grasp the complexity of object-oriented modeling.

State-of-the-art coverage of Object-Oriented software engineering shows students how to use the most practical aspects of software engineering including the basic elements of UML (Unified Modeling Language), Java, Distributed Development, Rationale Management, Configuration Management, and Build- and Release Management.

The "Further Readings" section enables students to search for specialized material on the topic presented.


For the Instructor

The Instructor Resource Center includes a new series of directory resources and lecture slides. These resources offer instructors excellent support and flexibility in planning their course, and they provide students with more hands-on practice at modeling skills.

Instructor Directory Resources: Contains 39 PowerPoint presentations organized in 16 chunks which correspond to the chapters of the book. The slides are in "PowerPoint Microsoft PowerPoint 97-2004" format. We have chosen this format for compatibility reasons. We have successfully tested the slides with the 2008 version of PowerPoint. The chunks contain the slides and additional materials the authors use in their lectures. Some of the chapters also contain material or large homework exercises. The lecture and materials can be used for a two semester course with up to 39 lectures and a final review session.  The material can also be used for a single semester class, in which case the chunks provide the basis for 17 lectures and a final review session. Finally, the slides can be used for a senior software engineering project course usually includes lectures, project reviews, and tool tutorials.   Some materials from past project courses such as problement statements, slides and movies from project kickoff, project review and client acceptance events are available for instructors on request from the authors.

PowerPoint Lecture Slides:  Contain solely the PowerPoint Lecture Slides (also included in Instructor Directory Resources).

Solutions: The homework solutions are available for instructors on request.

The "Further Readings" section gives instructors flexibility when assigning out-of-class readings.



  • Copyright 2010
  • Dimensions: 7" x 9-1/4"
  • Pages: 816
  • Edition: 3rd
  • Book
  • ISBN-10: 0-13-606125-7
  • ISBN-13: 978-0-13-606125-0

For courses in Software Engineering, Software Development, or Object-Oriented Design and Analysis at the Junior/Senior or Graduate level. This text can also be utilized in short technical courses or in short, intensive management courses.

Object-Oriented Software Engineering Using UML, Patterns, and Java, 3e, shows readers how to use both the principles of software engineering and the practices of various object-oriented tools, processes, and products.

Using a step-by-step case study to illustrate the concepts and topics in each chapter, Bruegge and Dutoit emphasize learning object-oriented software engineer through practical experience: readers can apply the techniques learned in class by implementing a real-world software project.

The third edition addresses new trends, in particular agile project management (Chapter 14 Project Management) and agile methodologies (Chapter 16 Methodologies).

Sample Content

Table of Contents




PART I Getting Started

Chapter 1 Introduction to Software Engineering

1.1 Introduction: Software Engineering Failures

1.2 What Is Software Engineering?

    1.2.1 Modeling

    1.2.2 Problem Solving

    1.2.3 Knowledge Acquisition

    1.2.4 Rationale

1.3 Software Engineering Concepts 1

    1.3.1 Participants and Roles

    1.3.2 Systems and Models

    1.3.3 Work Products

    1.3.4 Activities, Tasks, and Resources

    1.3.5 Functional and Nonfunctional Requirements

    1.3.6 Notations, Methods, and Methodologies

1.4 Software Engineering Development Activities

    1.4.1 Requirements Elicitation

    1.4.2 Analysis

    1.4.3 System Design

    1.4.4 Object Design

    1.4.5 Implementation

    1.4.6 Testing

1.5 Managing Software Development

    1.5.1 Communication

    1.5.2 Rationale Management

    1.5.3 Software Configuration Management

    1.5.4 Project Management

    1.5.5 Software Life Cycle

    1.5.6 Putting It All Together

1.6 ARENA Case Study

1.7 Further Reading

1.8 Exercises

Chapter 2 Modeling with UML

2.1 Introduction

    2.2 An Overview of UML

    2.2.1 Use Case Diagrams

    2.2.2 Class Diagrams

    2.2.3 Interaction Diagrams

    2.2.4 State Machine Diagrams

    2.2.5 Activity Diagrams

2.3 Modeling Concepts

    2.3.1 Systems, Models, and Views

    2.3.2 Data Types, Abstract Data Types, and Instances

    2.3.3 Classes, Abstract Classes, and Objects

    2.3.4 Event Classes, Events, and Messages

    2.3.5 Object-Oriented Modeling

    2.3.6 Falsification and Prototyping

2.4 A Deeper View into UML

    2.4.1 Use Case Diagrams

    2.4.2 Class Diagrams

    2.4.3 Interaction Diagrams

    2.4.4 State Machine Diagrams

    2.4.5 Activity Diagrams

    2.4.6 Diagram Organization

    2.4.7 Diagram Extensions

2.5 Further Readings

2.6 Exercises

Chapter 3 Project Organization and Communication

3.1 Introduction: A Rocket Example

3.2 An Overview of Projects

3.3 Project Organization Concepts

3.3.1 Project Organizations

    3.3.2 Roles

    3.3.3 Tasks and Work Products

    3.3.4 Schedule

3.4 Project Communication Concepts

    3.4.1 Planned Communication

    3.4.2 Unplanned Communication

    3.4.3 Communication Mechanisms

3.5 Organizational Activities

    3.5.1 Joining a Team

    3.5.2 Joining the Communication Infrastructure

    3.5.3 Attending Team Status Meetings

    3.5.4 Organizing Client and Project Reviews

3.6 Further Readings

3.7 Exercises

PART II Dealing with Complexity

Chapter 4 Requirements Elicitation

4.1 Introduction: Usability Examples

4.2 An Overview of Requirements Elicitation

4.3 Requirements Elicitation Concepts

    4.3.1 Functional Requirements

    4.3.2 Nonfunctional Requirements

    4.3.3 Completeness, Consistency, Clarity, and Correctness

    4.3.4 Realism, Verifiability, and Traceability

    4.3.5 Greenfield Engineering, Reengineering, and Interface Engineering

4.4 Requirements Elicitation Activities

    4.4.1 Identifying Actors

    4.4.2 Identifying Scenarios

    4.4.3 Identifying Use Cases

    4.4.4 Refining Use Cases

    4.4.5 Identifying Relationships among Actors and Use Cases

    4.4.6 Identifying Initial Analysis Objects

    4.4.7 Identifying Nonfunctional Requirements

4.5 Managing Requirements Elicitation

    4.5.1 Negotiating Specifications with Clients: Joint Application Design

    4.5.2 Maintaining Traceability

    4.5.3 Documenting Requirements Elicitation

4.6 ARENA Case Study

    4.6.1 Initial Problem Statement

    4.6.2 Identifying Actors and Scenarios

    4.6.3 Identifying Use Cases

    4.6.4 Refining Use Cases and Identifying Relationships

    4.6.5 Identifying Nonfunctional Requirements

    4.6.6 Lessons Learned

4.7 Further Readings

4.8 Exercises

Chapter 5Analysis

5.1 Introduction: An Optical Illusion

5.2 An Overview of Analysis

5.3 Analysis Concepts

    5.3.1 Analysis Object Models and Dynamic Models

    5.3.2 Entity, Boundary, and Control Objects

    5.3.3 Generalization and Specialization

5.4 Analysis Activities: From Use Cases to Objects

    5.4.1 Identifying Entity Objects

    5.4.2 Identifying Boundary Objects

    5.4.3 Identifying Control Objects

    5.4.4 Mapping Use Cases to Objects with Sequence Diagrams

    5.4.5 Modeling Interactions among Objects with CRC Cards

    5.4.6 Identifying Associations

    5.4.7 Identifying Aggregates

    5.4.8 Identifying Attributes

    5.4.9 Modeling State-Dependent Behavior of Individual Objects

    5.4.10 Modeling Inheritance Relationships between Objects

    5.4.11 Reviewing the Analysis Model

    5.4.12 Analysis Summary

5.5 Managing Analysis

    5.5.1 Documenting Analysis

    5.5.2 Assigning Responsibilities

    5.5.3 Communicating about Analysis

    5.5.4 Iterating over the Analysis Model

    5.5.5 Client Sign-Off

5.6 ARENA Case Study

    5.6.1 Identifying Entity Objects

    5.6.2 Identifying Boundary Objects

    5.6.3 Identifying Control Objects

    5.6.4 Modeling Interactions Among Objects

    5.6.5 Reviewing and Consolidating the Analysis Model

    5.6.6 Lessons Learned

5.7 Further Readings

5.8 Exercises

Chapter 6System Design: Decomposing the System

6.1 Introduction: A Floor Plan Example

6.2 An Overview of System Design

6.3 System Design Concepts

    6.3.1 Subsystems and Classes

    6.3.2 Services and Subsystem Interfaces

    6.3.3 Coupling and Cohesion

    6.3.4 Layers and Partitions

    6.3.5 Architectural Styles

6.4 System Design Activities: From Objects to Subsystems

    6.4.1 Starting Point: Analysis Model for a Route Planning System

    6.4.2 Identifying Design Goals

    6.4.3 Identifying Subsystems

6.5 Further Readings

6.6 Exercises

Chapter 7System Design: Addressing Design Goals

7.1 Introduction: A Redundancy Example

7.2 An Overview of System Design Activities

7.3 Concepts: UML Deployment Diagrams

7.4 System Design Activities: Addressing Design Goals

    7.4.1 Mapping Subsystems to Processors and Components

    7.4.2 Identifying and Storing Persistent Data

    7.4.3 Providing Access Control

    7.4.4 Designing the Global Control Flow

    7.4.5 Identifying Services

    7.4.6 Identifying Boundary Conditions

    7.4.7 Reviewing System Design

7.5 Managing System Design

    7.5.1 Documenting System Design

    7.5.2 Assigning Responsibilities

    7.5.3 Communicating about System Design

    7.5.4 Iterating over the System Design

7.6 ARENA Case Study

    7.6.1 Identifying Design Goals

    7.6.2 Identifying Subsystems

    7.6.3 Mapping Subsystems to Processors and Components

    7.6.4 Identifying and Storing Persistent Data

    7.6.5 Providing Access Control

    7.6.6 Designing the Global Control Flow

    7.6.7 Identifying Services

    7.6.8 Identifying Boundary Conditions

    7.6.9 Lessons Learned

7.7 Further Readings

7.8 Exercises

Chapter 8Object Design: Reusing Pattern Solutions

8.1 Introduction: Bloopers

8.2 An Overview of Object Design

8.3 Reuse Concepts: Solution Objects, Inheritance, and Design Patterns    

    8.3.1 Application Objects and Solution Objects

    8.3.2 Specification Inheritance and Implementation Inheritance

    8.3.3 Delegation

    8.3.4 The Liskov Substitution Principle

    8.3.5 Delegation and Inheritance in Design Patterns

8.4 Reuse Activities: Selecting Design Patterns and Components

    8.4.1 Encapsulating Data Stores with the Bridge Pattern

    8.4.2 Encapsulating Legacy Components with the Adapter Pattern

    8.4.3 Encapsulating Context with the Strategy Pattern

    8.4.4 Encapsulating Platforms with the Abstract Factory Pattern

    8.4.5 Encapsulating Control Flow with the Command Pattern

    8.4.6 Encapsulating Hierarchies with the Composite Design Pattern

    8.4.7 Heuristics for Selecting Design Patterns

    8.4.8 Identifying and Adjusting Application Frameworks

8.5 Managing Reuse

    8.5.1 Documenting Reuse

    8.5.2 Assigning Responsibilities

8.6 ARENA Case Study

    8.6.1 Applying the Abstract Factory Design Pattern

    8.6.2 Applying the Command Design Pattern

    8.6.3 Applying the Observer Design Pattern

    8.6.4 Lessons Learned

8.7 Further Readings

8.8 Exercises

Chapter 9 Object Design: Specifying Interfaces

9.1 Introduction: A Railroad Example

9.2 An Overview of Interface Specification

9.3 Interface Specification Concepts

    9.3.1 Class Implementor, Class Extender, and Class User

    9.3.2 Types, Signatures, and Visibility

    9.3.3 Contracts: Invariants, Preconditions, and Postconditions

    9.3.4 Object Constraint Language

    9.3.5 OCL Collections: Sets, Bags, and Sequences

    9.3.6 OCL Quantifiers: forAll and exists

9.4 Interface Specification Activities

    9.4.1 Identifying Missing Attributes and Operations

    9.4.2 Specifying Types, Signatures, and Visibility

    9.4.3 Specifying Pre- and Postconditions

    9.4.4 Specifying Invariants

    9.4.5 Inheriting Contracts

9.5 Managing Object Design

    9.5.1 Documenting Object Design

    9.5.2 Assigning Responsibilities

    9.5.3 Using Contracts During Requirements Analysis

9.6 ARENA Case Study

    9.6.1 Identifying Missing Operations in TournamentStyle and Round

    9.6.2 Specifying the TournamentStyle and Round Contracts

    9.6.3 Specifying the KnockOutStyle and KnockOutRound Contracts

    9.6.4 Lessons Learned

9.7 Further Readings

9.8 Exercises

Chapter 10 Mapping Models to Code

10.1 Introduction: A Book Example

10.2 An Overview of Mapping

10.3 Mapping Concepts

    10.3.1 Model Transformation

    10.3.2 Refactoring

    10.3.3 Forward Engineering

    10.3.4 Reverse Engineering

    10.3.5 Transformation Principles

10.4 Mapping Activities

    10.4.1 Optimizing the Object Design Model

    10.4.2 Mapping Associations to Collections

    10.4.3 Mapping Contracts to Exceptions

    10.4.4 Mapping Object Models to a Persistent Storage Schema

10.5 Managing Implementation

    10.5.1 Documenting Transformations

    10.5.2 Assigning Responsibilities

10.6 ARENA Case Study

    10.6.1 ARENA Statistics

    10.6.2 Mapping Associations to Collections

    10.6.3 Mapping Contracts to Exceptions

    10.6.4 Mapping the Object Model to a Database Schema

    10.6.5 Lessons Learned

10.7 Further Readings

10.8 Exercises

Chapter 11Testing 437

11.1 Introduction: Testing The Space Shuttle

11.2 An Overview of Testing

11.3 Testing Concepts

    11.3.1 Faults, Erroneous States, and Failures

    11.3.2 Test Cases

    11.3.3 Test Stubs and Drivers

    11.3.4 Corrections

11.4 Testing Activities

    11.4.1 Component Inspection

    11.4.2 Usability Testing

    11.4.3 Unit Testing

    11.4.4 Integration Testing

    11.4.5 System Testing

11.5 Managing Testing

    11.5.1 Planning Testing

    11.5.2 Documenting Testing

    11.5.3 Assigning Responsibilities

    11.5.4 Regression Testing

    11.5.5 Automating Testing

    11.5.6 Model-based Testing

11.6 Further Readings

11.7 Exercises

PART III Managing Change

Chapter 12 Rationale Management

12.1 Introduction: Slicing Ham

12.2 An Overview of Rationale

12.3 Rationale Concepts

    12.3.1 Centralized Traffic Control

    12.3.2 Defining the Problem: Issues

    12.3.3 Exploring the Solution Space: Proposals

    12.3.4 Evaluating the Solution Space: Criteria and Arguments

    12.3.5 Collapsing the Solution Space: Resolutions

    12.3.6 Implementing Resolutions: Action Items

    12.3.7 Examples of Issue-Based Models and Systems

12.4 Rationale Activities: From Issues to Decisions

    12.4.1 CTC System Design

    12.4.2 Capturing Rationale in Meetings

    12.4.3 Capturing Rationale Asynchronously

    12.4.4 Capturing Rationale when Discussing Change

    12.4.5 Reconstructing Rationale

12.5 Managing Rationale

    12.5.1 Documenting Rationale

    12.5.2 Assigning Responsibilities

    12.5.3 Heuristics for Communicating about Rationale

    12.5.4 Issue Modeling and Negotiation

    12.5.5 Conflict Resolution Strategies

12.6 Further Readings

12.7 Exercises

Chapter 13 Configuration Management

13.1 Introduction: An Aircraft Example

13.2 An Overview of Configuration Management

13.3 Configuration Management Concepts

    13.3.1 Configuration Items and CM Aggregates

    13.3.2 Versions and Configurations

    13.3.3 Change Requests

    13.3.4 Promotions and Releases

    13.3.5 Repositories and Workspaces

    13.3.6 Version Identification Schemes

    13.3.7 Changes and Change Sets

    13.3.8 Configuration Management Tools

13.4 Configuration Management Activities

    13.4.1 Configuration Item and CM Aggregate Identification

    13.4.2 Promotion Management

    13.4.3 Release Management

    13.4.4 Branch Management

    13.4.5 Variant Management

    13.4.6 Change Management

13.5 Managing Configuration Management

    13.5.1 Documenting Configuration Management

    13.5.2 Assigning Configuration Management Responsibilities

    13.5.3 Planning Configuration Management Activities

    13.5.4 Continuous Integration: Testing and Promotion Management

13.6 Further Readings

13.7 Exercises

Chapter 14Project Management

14.1 Introduction: The STS-51L Launch Decision

14.2 An Overview of Project Management

14.3 Project Management Concepts

    14.3.1 Tasks and Activities

    14.3.2 Work Products, Work Packages, and Roles

    14.3.3 Work Breakdown Structure

    14.3.4 Task Model

    14.3.5 Skill Matrix

    14.3.6 The Software Project Management Plan

14.4 Classical Project Management Activities

    14.4.1 Planning the Project

    14.4.2 Organizing the Project

    14.4.3 Controlling the Project

    14.4.4 Terminating the Project

14.5 Agile Project Management Activities

    14.5.1 Planning the Project: Create Product and Sprint Backlogs

    14.5.2 Organizing the Project

    14.5.3 Controlling the Project: Daily Scrums and Burn Down Charts

    14.5.4 Terminating the Project: Sprint Reviews

14.6 Further Readings

14.7 Exercises

Chapter 15Software Life Cycle

15.1 Introduction: Polynesian Navigation

15.2 IEEE 1074: Standard for Developing Life Cycle Processes

    15.2.1 Processes and Activities

    15.2.2 Life Cycle Modeling

    15.2.3 Project Management

    15.2.4 Pre-Development

    15.2.5 Development

    15.2.6 Post-Development

    15.2.7 Integral Processes (Cross-Development)

15.3 Characterizing the Maturity of Software Life Cycle Models

15.4 Life Cycle Models

    15.4.1 Sequential Activity-Centered Models

    15.4.2 Iterative Activity-Centered Models

    15.4.3 Entity-Centered Models

15.5 Further Readings

15.6 Exercises

Chapter 16Methodologies: Putting It All Together

16.1 Introduction: The First Ascent of K2

16.2 Project Environment

16.3 Methodology Issues

    16.3.1 How Much Planning?

    16.3.2 How Much Reuse?

    16.3.3 How Much Modeling?

    16.3.4 How Much Process?

    16.3.5 How Much Control and Monitoring?

    16.3.6 When to Redefine Project Goals?

16.4 A Spectrum of Methodologies

    16.4.1 Royce’s Methodology

    16.4.2 Extreme Programming

    16.4.3 Rugby methodologies

16.5 Case Studies

    16.5.1 XP Project: ATRACT

    16.5.2 Local King Client: FRIEND

    16.5.3 Distributed Project: JAMES

    16.5.4 Case Studies Summary

16.6 Further Readings

16.7 Exercises

PART IV Appendices

Appendix ADesign Patterns

A.1 Abstract Factory: Encapsulating Platforms

A.2 Adapter: Wrapping Around Legacy Code

A.3 Bridge: Allowing for Alternate Implementations

A.4 Command: Encapsulating Control Flow

A.5 Composite: Representing Recursive Hierarchies

A.6 Facade: Encapsulating Subsystems

A.7 Observer: Decoupling Entities from Views

A.8 Proxy: Encapsulating Expensive Objects

A.9 Strategy: Encapsulating Algorithms

A.10 Heuristics for Selecting Design Patterns

Appendix B Glossary

Appendix CBibliography



Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020