BN.com Gift Guide

UML 2.0 and the Unified Process: Practical Object-Oriented Analysis and Design / Edition 2

Paperback (Print)
Rent
Rent from BN.com
$15.59
(Save 81%)
Est. Return Date: 02/23/2015
Used and New from Other Sellers
Used and New from Other Sellers
from $34.26
Usually ships in 1-2 business days
(Save 57%)
Other sellers (Paperback)
  • All (13) from $34.26   
  • New (7) from $46.30   
  • Used (6) from $34.26   

Overview

"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
Read More Show Less

Product Details

  • ISBN-13: 9780321321275
  • Publisher: Addison-Wesley
  • Publication date: 6/24/2005
  • Series: Addison-Wesley Object Technology Series
  • Edition description: REV
  • Edition number: 2
  • Pages: 624
  • Sales rank: 920,923
  • Product dimensions: 7.30 (w) x 9.00 (h) x 1.40 (d)

Meet the Author

Jim Arlow has been programming and designing object-oriented software systems since 1990. He has created object models for blue chip companies such as British Airways and M&G. He is a respected OO consultant in Europe and has written and delivered many training courses on object technology and Java. Jim is a regular speaker at conferences such as Object World, and has been an invited speaker at University College London, City University, and the British Computer Society.

Ila Neustadt has worked in IT for British Airways for more than twenty years and has experience of all parts within the IT development life cycle. She worked in the strategy department modeling the architecture process and developing architecture training, and acted as program head for the graduate business analyst program. Ila now coordinates skills development for BA s IT staff.

Read More Show Less

Read an Excerpt

About this book

The aim of this book is to take you through the process of object-oriented (OO) analysis and design using the Unified Modeling Language (UML) and the Unified Process (UP).

UML provides the visual modeling language for OO modeling, and UP provides the software engineering process framework that tells you how to perform OO analysis and design.

There is a lot to UP, and in this book we present only those aspects directly pertinent to the work of the OO analyst/designer. For details on the other aspects of UP, you should refer to Rumbaugh 1 and the other UP books in the bibliography.

In this book we show you enough UML and associated analysis and design techniques so that you can apply modeling effectively on a real project. According to Stephen J Mellor Mellor 1, there are three approaches to UML modeling.

  • UML as a sketch - this is an informal approach to UML where diagrams are sketched out to help visualize a software system. It's a bit like sketching an idea for something on the back of a napkin. The sketches have little value beyond their initial use, are not maintained, and are finally discarded. You typically use whiteboards or drawing tools such as Visio and PowerPoint (www.microsoft.com) to create the informal sketches.
  • UML as a blueprint - this is a more formal and precise approach whereby UML is used to specify a software system in detail. This is like a set of architect's plans or a blueprint for a machine. The UML model is actively maintained and becomes an important deliverable of the project. This approach demands the use of a real modeling tool such as Rational Rose (www.rational.com) or MagicDraw UML (www.magicdraw.com).
  • UML as executable - using Model Driven Architecture (MDA), UML models may be used as a programming language. You add enough detail to UML models so that the system can be compiled from the model. This is the most formal and precise use of UML, and, in our view, it is the future of software development. In this approach, you need an MDA-enabled UML tool such as ArcStyler (www.arcstyler.com). MDA is beyond the scope of this book, although we discuss it briefly in Section 1.4.

Our focus in this book is on UML as a blueprint. The techniques you learn will also apply to using UML as an executable. Having learned UML as a blueprint, you will naturally be able to use UML as a sketch should you need to. We have tried to make our presentation of UML and UP as straightforward and accessible as possible.

Conventions

To help you navigate through the book we have provided each chapter with a roadmap in the form of a UML activity diagram. These diagrams indicate reading activities and the order in which sections might be read. We cover activity diagrams in detail in Chapter 14, but Figure 1 should be sufficient to let you understand the roadmaps.

Most of the diagrams in this book are UML diagrams. The annotations, in blue, are not part of UML syntax.

We have provided notes in the margin to highlight important information. We have used the UML note icon for this.

Who should read this book

We can think of several possible readers for this book.

  • You are an analyst/designer who needs to learn how to perform OO analysis and design.
  • You are an analyst/designer who needs to learn how to perform OO analysis and design within the framework of the Unified Process.
  • You are a student taking a UML course at a university.
  • You are a software engineer who needs a UML reference.
  • You are a software engineer taking a UML training course, and this is your course book.

Clear View Training provides a four-day UML training course based on this book. This course is given throughout Europe by our partners, Zuehlke Engineering (www.zuhlke.com), and is available for licensing. If you are an academic institution using this book as your course book, you can use our training course for free. See www.clearviewtraining.com for more on commercial and academic licensing.

How to read this book

So many books, so little time to read them all! With this in mind we have designed this book so that you can read it in several different ways (as well as cover to cover) according to your needs.

Fast track

Choose Fast Track if you just want an overview of the whole book or a particular chapter. This is also the "management summary".

  • Choose a chapter.
  • Read the chapter roadmap so that you know where you're going.
  • Go through the chapter looking at the figures and reading the margin notes.
  • Read the "What we have learned" section.
  • Go back to any section that takes your interest and read it.

Fast Track is a quick and efficient way to read this book. You may be pleasantly surprised at how much you can pick up! Note that Fast Track works best if you can first formulate a clear idea of the information you want to obtain. For example "I want to understand how to do use case modeling."

Reference

If you need to know a particular part of UML or learn a particular technique, we have provided a detailed index and table of contents that should help you locate the information you need quickly and efficiently. The text is carefully cross-referenced to help you to do this.

Revision

There are two strategies for revision with this text.

  • If you need to refresh your knowledge of UML as quickly and efficiently as possible, read the outline summaries of each chapter in the "What we have learned" section. When you don't understand something, go back and read the appropriate section.
  • If you have more time, you can also browse through each chapter studying the diagrams and reading the margin notes.
Dipping

If you have a few minutes to spare, you might pick up the book and open it at random. We have tried to ensure that there is something interesting on every page. Even if you already know UML quite well, you may still discover new things to learn.

0321321278P06172005

Read More Show Less

Table of Contents

Acknowledgments.

Preface.

I. INTRODUCING UML AND UP.

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

II. REQUIREMENTS.

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

III. ANALYSIS.

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

IV. DESIGN.

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

V. IMPLEMENTATION.

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

VI. SUPPLEMENTARY MATERIAL.

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.

Bibliography.

Index.

Read More Show Less

Preface

About this book

The aim of this book is to take you through the process of object-oriented (OO) analysis and design using the Unified Modeling Language (UML) and the Unified Process (UP).

UML provides the visual modeling language for OO modeling, and UP provides the software engineering process framework that tells you how to perform OO analysis and design.

There is a lot to UP, and in this book we present only those aspects directly pertinent to the work of the OO analyst/designer. For details on the other aspects of UP, you should refer to Rumbaugh 1 and the other UP books in the bibliography.

In this book we show you enough UML and associated analysis and design techniques so that you can apply modeling effectively on a real project. According to Stephen J Mellor Mellor 1, there are three approaches to UML modeling.

  • UML as a sketch - this is an informal approach to UML where diagrams are sketched out to help visualize a software system. It's a bit like sketching an idea for something on the back of a napkin. The sketches have little value beyond their initial use, are not maintained, and are finally discarded. You typically use whiteboards or drawing tools such as Visio and PowerPoint (www.microsoft.com) to create the informal sketches.
  • UML as a blueprint - this is a more formal and precise approach whereby UML is used to specify a software system in detail. This is like a set of architect's plans or a blueprint for a machine. The UML model is actively maintained and becomes an important deliverable of the project. This approach demands the use of a real modeling tool such as Rational Rose (www.rational.com) or MagicDraw UML (www.magicdraw.com).
  • UML as executable - using Model Driven Architecture (MDA), UML models may be used as a programming language. You add enough detail to UML models so that the system can be compiled from the model. This is the most formal and precise use of UML, and, in our view, it is the future of software development. In this approach, you need an MDA-enabled UML tool such as ArcStyler (www.arcstyler.com). MDA is beyond the scope of this book, although we discuss it briefly in Section 1.4.

Our focus in this book is on UML as a blueprint. The techniques you learn will also apply to using UML as an executable. Having learned UML as a blueprint, you will naturally be able to use UML as a sketch should you need to. We have tried to make our presentation of UML and UP as straightforward and accessible as possible.

Conventions

To help you navigate through the book we have provided each chapter with a roadmap in the form of a UML activity diagram. These diagrams indicate reading activities and the order in which sections might be read. We cover activity diagrams in detail in Chapter 14, but Figure 1 should be sufficient to let you understand the roadmaps.

Most of the diagrams in this book are UML diagrams. The annotations, in blue, are not part of UML syntax.

We have provided notes in the margin to highlight important information. We have used the UML note icon for this.

Who should read this book

We can think of several possible readers for this book.

  • You are an analyst/designer who needs to learn how to perform OO analysis and design.
  • You are an analyst/designer who needs to learn how to perform OO analysis and design within the framework of the Unified Process.
  • You are a student taking a UML course at a university.
  • You are a software engineer who needs a UML reference.
  • You are a software engineer taking a UML training course, and this is your course book.

Clear View Training provides a four-day UML training course based on this book. This course is given throughout Europe by our partners, Zuehlke Engineering (www.zuhlke.com), and is available for licensing. If you are an academic institution using this book as your course book, you can use our training course for free. See www.clearviewtraining.com for more on commercial and academic licensing.

How to read this book

So many books, so little time to read them all! With this in mind we have designed this book so that you can read it in several different ways (as well as cover to cover) according to your needs.

Fast track

Choose Fast Track if you just want an overview of the whole book or a particular chapter. This is also the "management summary".

  • Choose a chapter.
  • Read the chapter roadmap so that you know where you're going.
  • Go through the chapter looking at the figures and reading the margin notes.
  • Read the "What we have learned" section.
  • Go back to any section that takes your interest and read it.

Fast Track is a quick and efficient way to read this book. You may be pleasantly surprised at how much you can pick up! Note that Fast Track works best if you can first formulate a clear idea of the information you want to obtain. For example "I want to understand how to do use case modeling."

Reference

If you need to know a particular part of UML or learn a particular technique, we have provided a detailed index and table of contents that should help you locate the information you need quickly and efficiently. The text is carefully cross-referenced to help you to do this.

Revision

There are two strategies for revision with this text.

  • If you need to refresh your knowledge of UML as quickly and efficiently as possible, read the outline summaries of each chapter in the "What we have learned" section. When you don't understand something, go back and read the appropriate section.
  • If you have more time, you can also browse through each chapter studying the diagrams and reading the margin notes.

Dipping

If you have a few minutes to spare, you might pick up the book and open it at random. We have tried to ensure that there is something interesting on every page. Even if you already know UML quite well, you may still discover new things to learn.

0321321278P06172005

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 3 Customer Reviews
  • Anonymous

    Posted November 5, 2005

    a natural union of UML, UP and OO design

    UML has grown. A few years ago, when UML was just getting accepted, a book on how to use it would have been much thinner. But the successful broad uptake of UML led to its semantic notation being expanded. What the authors give us here is a thorough exposition of UML 2.0 and how to use it. As you might expect, there are numerous examples in UML. Which, to many readers, might be more understandable than a mere abstract diagram. But the book is more than just about explaining the UML semantics. It also goes into the Unified Process for running a project, and how this can be documented in UML. By doing so, the authors hope to better enable an understanding of both. There is also something else, related to the above, but sufficiently different and important to warrant notice. If you write in any object oriented language, it requires certain skills in designing classes and how they interact. Part 4 of the book concerns these issues, which it discusses under the rubric of 'Design'. A good explanation of the basic concepts. Like inheritance versus aggregation, or inheritance versus interfaces. Or why the lack of multiple inheritance in a language like C# or Java is not necessarily a deficiency.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted January 14, 2009

    No text was provided for this review.

  • Anonymous

    Posted November 25, 2009

    No text was provided for this review.

Sort by: Showing all of 3 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)