Home > Store

UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design, 2nd Edition

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

UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design, 2nd Edition

eBook (Watermarked)

  • Your Price: $50.39
  • List Price: $62.99
  • About Watermarked eBooks
  • This PDF will be accessible from your Account page after purchase and requires the free Adobe® Reader® software to read it.

    The eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.

    Watermarked eBook FAQ


  • Copyright 2009
  • Edition: 2nd
  • eBook (Watermarked)
  • ISBN-10: 0-13-260335-7
  • ISBN-13: 978-0-13-260335-5

"This book manages to convey the practical use of UML 2 in clear and understandable terms with many examples and guidelines. Even for people not working with the Unified Process, the book is still of great use. UML 2 and the Unified Process, Second Edition is a must-read for every UML 2 beginner and a helpful guide and reference for the experienced practitioner."

--Roland Leibundgut, Technical Director, Zuehlke Engineering Ltd.

"This book is a good starting point for organizations and individuals who are adopting UP and need to understand how to provide visualization of the different aspects needed to satisfy it. "

--Eric Naiburg, Market Manager, Desktop Products, IBM Rational Software

This thoroughly revised edition provides an indispensable and practical guide to the complex process of object-oriented analysis and design using UML 2. It describes how the process of OO analysis and design fits into the software development lifecycle as defined by the Unified Process (UP).

UML 2 and the Unified Process contains a wealth of practical, powerful, and useful techniques that you can apply immediately. As you progress through the text, you will learn OO analysis and design techniques, UML syntax and semantics, and the relevant aspects of the UP. The book provides you with an accurate and succinct summary of both UML and UP from the point of view of the OO analyst and designer.

This book provides

  • Chapter roadmaps, detailed diagrams, and margin notes allowing you to focus on your needs
  • Outline summaries for each chapter, making it ideal for revision, and a comprehensive index that can be used as a reference

New to this edition:

  • Completely revised and updated for UML 2 syntax
  • Easy to understand explanations of the new UML 2 semantics
  • More real-world examples
  • A new section on the Object Constraint Language (OCL)
  • Introductory material on the OMG's Model Driven Architecture (MDA)

The accompanying website provides

  • A complete example of a simple e-commerce system
  • Open source tools for requirements engineering and use case modeling
  • Industrial-strength UML course materials based on the book

Sample Content

Table of Contents




1. What is UML?

    1.1 Chapter roadmap

    1.2 What is UML?

    1.3 The birth of UML

    1.4 MDA - the future of UML

    1.5 Why "unified"?

    1.6 Objects and UML

    1.7 UML structure

    1.8 UML building blocks

    1.9 UML common mechanisms

    1.10 Architecture

    1.11 What we have learned

2. What is the Unified Process?

    2.1 Chapter roadmap

    2.2 What is UP?

    2.3 The birth of UP

    2.4 UP and the Rational Unified Process

    2.5 Instantiating UP for your project

    2.6 UP axioms

    2.7 UP is an iterative and incremental process

    2.8 UP structure

    2.9 UP phases

    2.10 What we have learned


3. The requirements workflow.

    3.1 Chapter roadmap

    3.2 The requirements workflow

    3.3 Software requirements - metamodel

    3.4 Requirements workflow detail

    3.5 The importance of requirements

    3.6 Defining requirements

    3.7 Finding requirements

    3.8 What we have learned

4. Use case modeling.

    4.1 Chapter roadmap

    4.2 Use case modeling

    4.3 UP activity: Find actors and use cases

    4.4 UP activity: Detail a use case

    4.5 Use case specification

    4.6 Requirements tracing

    4.7 When to apply use case modeling

    4.8 What we have learned

5. Advanced use case modeling.

    5.1 Chapter roadmap

    5.2 Actor generalization

    5.3 Use case generalization

    5.4 "include"

    5.5 "extend"

    5.6 When to use advanced features

    5.7 Hints and tips for writing use cases

    5.8 What we have learned


6. The analysis workflow.

    6.1 Chapter roadmap

    6.2 The analysis workflow

    6.3 Analysis artifacts - metamodel

    6.4 Analysis workflow detail

    6.5 Analysis model - rules of thumb

    6.6 What we have learned

7. Objects and classes.

    7.1 Chapter roadmap

    7.2 What are objects?

    7.3 UML object notation

    7.4 What are classes?

    7.5 UML class notation

    7.6 Scope

    7.7 Object construction and destruction

    7.8 What we have learned

8. Finding analysis classes.

    8.1 Chapter roadmap

    8.2 UP activity: Analyze a use case

    8.3 What are analysis classes?

    8.4 Finding classes

    8.5 Creating a first-cut analysis model

    8.6 What we have learned

9. Relationships.

    9.1 Chapter roadmap

    9.2 What is a relationship?

    9.3 What is a link?

    9.4 What is an association?

    9.5 What is a dependency?

    9.6 What we have learned

10. Inheritance and polymorphism.

    10.1 Chapter roadmap

    10.2 Generalization

    10.3 Class inheritance

    10.4 Polymorphism

    10.5 Advanced generalization

    10.6 What we have learned

11. Analysis packages.

    11.1 Chapter roadmap

    11.2 What is a package?

    11.3 Packages and namespaces

    11.4 Nested packages

    11.5 Package dependencies

    11.6 Package generalization

    11.7 Architectural analysis

    11.8 What we have learned

12. Use case realization.

    12.1 Chapter roadmap

    12.2 UP activity: Analyze a use case

    12.3 What are use case realizations?

    12.4 Use case realization - elements

    12.5 Interactions

    12.6 Lifelines

    12.7 Messages

    12.8 Interaction diagrams

    12.9 Sequence diagrams

    12.10 Combined fragments and operators

    12.11 Communication diagrams

    12.12 What we have learned

13. Advanced use case realization.

    13.1 Chapter roadmap

    13.2 Interaction occurrences

    13.3 Continuations

    13.4 What we have learned

14. Activity diagrams.

    14.1 Chapter roadmap

    14.2 What are activity diagrams?

    14.3 Activity diagrams and the UP

    14.4 Activities

    14.5 Activity semantics

    14.6 Activity partitions

    14.7 Action nodes

    14.8 Control nodes

    14.9 Object nodes

    14.10 Pins

    14.11 What we have learned

15. Advanced activity diagrams.

    15.1 Chapter roadmap

    15.2 Connectors

    15.3 Interruptible activity regions

    15.4 Exception handling

    15.5 Expansion nodes

    15.6 Sending signals and accepting events

    15.7 Streaming

    15.8 Advanced object flow features

    15.9 Multicast and multireceive

    15.10 Parameter sets

    15.11 "centralBuffer" node

    15.12 Interaction overview diagrams

    15.13 What we have learned


16. The design workflow.

    16.1 Chapter roadmap

    16.2 The design workflow

    16.3 Design artifacts - metamodel

    16.4 Design workflow detail

    16.5 UP activity: Architectural design

    16.6 What we have learned

17. Design classes.

    17.1 Chapter roadmap

    17.2 UP activity: Design a class

    17.3 What are design classes?

    17.4 Anatomy of a design class

    17.5 Well-formed design classes

    17.6 Inheritance

    17.7 Templates

    17.8 Nested classes

    17.9 What we have learned

18. Refining analysis relationships.

    18.1 Chapter roadmap

    18.2 Design relationships

    18.3 Aggregation and composition

    18.4 Aggregation semantics

    18.5 Composition semantics

    18.6 How to refine analysis relationships

    18.7 One-to-one associations

    18.8 Many-to-one associations

    18.9 One-to-many associations

    18.10 Collections

    18.11 Reified relationships

    18.12 Exploring composition with structured classes

    18.13 What we have learned

19. Interfaces and components.

    19.1 Chapter roadmap

    19.2 UP activity: Design a subsystem

    19.3 What is an interface?

    19.4 Provided and required interfaces

    19.5 Interface realization vs. inheritance

    19.6 Ports

    19.7 Interfaces and component-based development

    19.8 What is a component?

    19.9 Component stereotypes

    19.10 Subsystems

    19.11 Finding interfaces

    19.12 Designing with interfaces

    19.13 Advantages and disadvantages of interfaces

    19.14 What we have learned

20. Use case realization-design.

    20.1 Chapter roadmap

    20.2 UP activity: Design a use case

    20.3 Use case realization-design

    20.4 Interaction diagrams in design

    20.5 Modeling concurrency

    20.6 Subsystem interactions

    20.7 Timing diagrams

    20.8 Example of use case realization-design

    20.9 What we have learned

21. State machines.

    21.1 Chapter roadmap

    21.2 State machines

    21.3 State machines and the UP

    21.4 State machine diagrams

    21.5 States

    21.6 Transitions

    21.7 Events

    21.8 What we have learned

22. Advanced state machines.

    22.1 Chapter roadmap

    22.2 Composite states

    22.3 Submachine states

    22.4 Submachine communication

    22.5 History

    22.6 What we have learned


23. The implementation workflow.

    23.1 Chapter roadmap

    23.2 The implementation workflow

    23.3 Implementation artifacts - metamodel

    23.4 Implementation workflow detail

    23.5 Artifacts

    23.6 What we have learned

24. Deployment.

    24.1 Chapter roadmap

    24.2 UP activity: Architectural implementation

    24.3 The deployment diagram

    24.4 Nodes

    24.5 Artifacts

    24.6 Deployment

    24.7 What we have learned


25. Introduction to OCL.

    25.1 Chapter roadmap

    25.2 What is the Object Constraint Language (OCL)?

    25.3 Why use OCL?

    25.4 OCL expression syntax

    25.5 Package context and pathnames

    25.6 The expression context

    25.7 Types of OCL expressions

    25.8 The expression body

    25.9 OCL navigation

    25.10 Types of OCL expression in detail

    25.11 OCL in other types of diagrams

    25.12 Advanced topics

    25.13 What we have learned

Appendix 1: Example use case model.

Appendix 2: XML and use cases.




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