Refactoring: Improving the Design of Existing Code
Martin Fowler
Kent Beck
John Brant
William Opdyke
Don Roberts

ISBN-10: 0201485672
ISBN-13: 9780201485677

Publisher: Addison-Wesley Professional
Copyright: 1999
Format: Cloth; 464 pp
Published: 06/28/1999

Suggested retail price: $59.99
Buy from myPearsonStore

Refactoring is about improving the design of existing code. It is the process of changing a software system in such a way that it does not alter the external behavior of the code, yet improves its internal structure. With refactoring you can even take a bad design and rework it into a good one. This book offers a thorough discussion of the principles of refactoring, including where to spot opportunities for refactoring, and how to set up the required tests. There is also a catalog of more than 40 proven refactorings with details as to when and why to use the refactoring, step by step instructions for implementing it, and an example illustrating how it works The book is written using Java as its principle language, but the ideas are applicable to any OO language.



1. Refactoring, a First Example.

The Starting Point.

The First Step in Refactoring.

Decomposing and Redistributing the Statement Method.

Replacing the Conditional Logic on Price Code with Polymorphism.

Final Thoughts.



2. Principles in Refactoring.

Defining Refactoring.

Why Should You Refactor?

When Should You Refactor?

What Do I Tell My Manager?

Problems with Refactoring.

Refactoring and Design.

Refactoring and Performance.

Where Did Refactoring Come From?



3. Bad Smells in Code.

Duplicated Code.

Long Method.

Large Class.

Long Parameter List.

Divergent Change.

Shotgun Surgery.

Feature Envy.

Data Clumps.

Primitive Obsession.

Switch Statements.

Parallel Inheritance Hierarchies.

Lazy Class.

Speculative Generality.

Temporary Field.

Message Chains.

Middle Man.

Inappropriate Intimacy.

Alternative Classes with Different Interfaces.

Incomplete Library Class.

Data Class.

Refused Bequest.

Comments.



4. Building Tests.

The Value of Self-testing Code.

The JUnit Testing Framework.

Adding More Tests.



5. Toward a Catalog of Refactorings.

Format of the Refactorings.

Finding References.

How Mature Are These Refactorings?



6. Composing Methods.

Extract Method.

Inline Method.

Inline Temp.

Replace Temp with Query.

Introduce Explaining Variable.

Split Temporary Variable.

Remove Assignments to Parameters.

Replace Method with Method Object.

Substitute Algorithm.



7. Moving Features Between Objects.

Move Method.

Move Field.

Extract Class.

Inline Class.

Hide Delegate.

Remove Middle Man.

Introduce Foreign Method.

Introduce Local Extension.



8. Organizing Data.

Self Encapsulate Field.

Replace Data Value with Object.

Change Value to Reference.

Change Reference to Value.

Replace Array with Object.

Duplicate Observed Data.

Change Unidirectional Association to Bidirectional.

Change Bidirectional Association to Unidirectional.

Replace Magic Number with Symbolic Constant.

Encapsulate Field.

Encapsulate Collection.

Replace Record with Data Class.

Replace Type Code with Class.

Replace Type Code with Subclasses.

Replace Type Code with State/Strategy.

Replace Subclass with Fields.



9. Simplifying Conditional Expressions.

Decompose Conditional.

Consolidate Conditional Expression.

Consolidate Duplicate Conditional Fragments.

Remove Control Flag.

Replace Nested Conditional with Guard Clauses.

Replace Conditional with Polymorphism.

Introduce Null Object.

Introduce Assertion.



10. Making Method Calls Simpler.

Rename Method.

Add Parameter.

Remove Parameter.

Separate Query from Modifier.

Parameterize Method.

Replace Parameter with Explicit Methods.

Preserve Whole Object.

Replace Parameter with Method.

Introduce Parameter Object.

Remove Setting Method.

Hide Method.

Replace Constructor with Factory Method.

Encapsulate Downcast.

Replace Error Code with Exception.

Replace Exception with Test.



11. Dealing with Generalization.

Pull Up Field.

Pull Up Method.

Pull Up Constructor Body.

Push Down Method.

Push Down Field.

Extract Subclass.

Extract Superclass.

Extract Interface.

Collapse Hierarchy.

Form Template Method.

Replace Inheritance with Delegation.

Replace Delegation with Inheritance.



12. Big Refactorings.

Tease Apart Inheritance.

Convert Procedural Design to Objects.

Separate Domain from Presentation.

Extract Hierarchy.



13. Refactoring, Reuse, and Reality.

A Reality Check.

Why Are Developers Reluctant to Refactor Their Programs?

A Reality Check (Revisited).

Resources and References for Refactoring.

Implications Regarding Software Reuse and Technology Transfer.

A Final Note.

References.



14. Refactoring Tools.

Refactoring with a Tool.

Technical Criteria for a Refactoring Tool.

Practical Criteria for a Refactoring Tool.

Wrap Up.



15. Putting It All Together.


References.


List of Soundbites.


List of Refactorings.


Index. 0201485672T04062001

Martin Fowler is the Chief Scientist of ThoughtWorks, an enterprise-application development and delivery company. He's been applying object-oriented techniques to enterprise software development for over a decade. He is notorious for his work on patterns, the UML, refactoring, and agile methods. Martin lives in Melrose, Massachusetts, with his wife, Cindy, and a very strange cat. His homepage is http://martinfowler.com.

Kent Beck consistently challenges software engineering dogma, promoting ideas like patterns, test-driven development, and Extreme Programming. Currently affiliated with Three Rivers Institute and Agitar Software, he is the author of many Addison-Wesley titles.

John Brant and Don Roberts are the authors of the Refactoring Browser for Smalltalk, which is found at http://st-www.cs.uiuc.edu/~brant/RefactoringBrowser/. They are also consultants who have studied both the practical and theoretical aspects of refactoring for six years.

William Opdyke's doctoral research on refactoring object-oriented frameworks at the University of Illinois led to the first major publication on this topic. He is currently a Distinguished Member of Technical Staff at Lucent Technologies/Bell Laboratories.

John Brant and Don Roberts are the authors of the Refactoring Browser for Smalltalk, which is found at http://st-www.cs.uiuc.edu/~brant/RefactoringBrowser/. They are also consultants who have studied both the practical and theoretical aspects of refactoring for six years.



As the application of object technology--particularly the Java programming language--has become commonplace, a new problem has emerged to confront the software development community. Significant numbers of poorly designed programs have been created by less-experienced developers, resulting in applications that are inefficient and hard to maintain and extend. Increasingly, software system professionals are discovering just how difficult it is to work with these inherited, "non-optimal" applications. For several years, expert-level object programmers have employed a growing collection of techniques to improve the structural integrity and performance of such existing software programs. Referred to as "refactoring," these practices have remained in the domain of experts because no attempt has been made to transcribe the lore into a form that all developers could use. . .until now. In Refactoring: Improving the Design of Existing Code, renowned object technology mentor Martin Fowler breaks new ground, demystifying these master practices and demonstrating how software practitioners can realize the significant benefits of this new process.

With proper training a skilled system designer can take a bad design and rework it into well-designed, robust code. In this book, Martin Fowler shows you where opportunities for refactoring typically can be found, and how to go about reworking a bad design into a good one. Each refactoring step is simple--seemingly too simple to be worth doing. Refactoring may involve moving a field from one class to another, or pulling some code out of a method to turn it into its own method, or even pushing some code up or down a hierarchy. While these individual steps may seem elementary, the cumulative effect of such small changes can radically improve the design. Refactoring is a proven way to prevent software decay.

In addition to discussing the various techniques of refactoring, the author provides a detailed catalog of more than seventy proven refactorings with helpful pointers that teach you when to apply them; step-by-step instructions for applying each refactoring; and an example illustrating how the refactoring works. The illustrative examples are written in Java, but the ideas are applicable to any object-oriented programming language.



0201485672B04062001

View a Sample Chapter PDF:

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, contact your Pearson Higher Education representative for pricing and ordering information.

This title is a member of the Addison-Wesley Object Technology Series, which also contains the titles below . You can also visit the Addison-Wesley Object Technology Series page.

  • 0321159624ATL Internals: Working with ATL 8, 2/E
    Tavares, Fertitta, Rector & Sells
    © 2007 | Addison-Wesley Professional | Paper; 888 pages | Instock
    ISBN-10: 0321159624 | ISBN-13: 9780321159625
    Buy from myPearsonStore

  • 0321202945Adopting the Rational Unified Process: Success with the RUP
    Bergström & Råberg
    © 2004 | Addison-Wesley Professional | Paper; 272 pages | Instock
    ISBN-10: 0321202945 | ISBN-13: 9780321202949
    Brief Description | Buy from myPearsonStore

  • 0201615924Advanced Use Case Modeling: Software Systems
    Armour & Miller
    © 2001 | Addison-Wesley Professional | Paper; 464 pages | Instock
    ISBN-10: 0201615924 | ISBN-13: 9780201615920
    Buy from myPearsonStore

  • 0321321308Agility and Discipline Made Easy: Practices from OpenUP and RUP
    Kroll & MacIsaac
    © 2006 | Addison-Wesley Professional | Paper; 448 pages | Instock
    ISBN-10: 0321321308 | ISBN-13: 9780321321305
    Buy from myPearsonStore

  • 0201895420Analysis Patterns: Reusable Object Models
    Fowler
    © 1997 | Addison-Wesley Professional | Cloth; 384 pages | Instock
    ISBN-10: 0201895420 | ISBN-13: 9780201895421
    Buy from myPearsonStore

  • 0201325713Applied Software Architecture
    Hofmeister, Nord & Soni
    © 2000 | Addison-Wesley Professional | Cloth; 432 pages | Instock
    ISBN-10: 0201325713 | ISBN-13: 9780201325713
    Buy from myPearsonStore

  • 0201730391Applying Use Case Driven Object Modeling with UML: An Annotated e-Commerce Example
    Rosenberg & Scott
    © 2001 | Addison-Wesley Professional | Paper; 176 pages | Instock
    ISBN-10: 0201730391 | ISBN-13: 9780201730395
    Brief Description | Buy from myPearsonStore

  • 0201708531Applying Use Cases: A Practical Guide, 2/E
    Schneider & Winters
    © 2001 | Addison-Wesley Professional | Paper; 272 pages | Instock
    ISBN-10: 0201708531 | ISBN-13: 9780201708530
    Brief Description | Buy from myPearsonStore

  • 0321262204Art of ClearCase® Deployment, The: The Secrets to Successful Implementation
    Buckley & Pulsipher
    © 2005 | Addison-Wesley Professional | Paper; 432 pages | Instock
    ISBN-10: 0321262204 | ISBN-13: 9780321262202
    Buy from myPearsonStore

  • 0201711613Art of Objects, The: Object-Oriented Design and Architecture
    Lau
    © 2001 | Addison-Wesley Professional | Paper; 384 pages | Estimated Availability: 10/16/2000
    ISBN-10: 0201711613 | ISBN-13: 9780201711615
    Brief Description | Buy from myPearsonStore

  • 0321246748Aspect-Oriented Analysis and Design: The Theme Approach
    Clarke & Baniassad
    © 2005 | Addison-Wesley Professional | Paper; 400 pages | Instock
    ISBN-10: 0321246748 | ISBN-13: 9780321246745
    Brief Description | Buy from myPearsonStore

  • 0321268881Aspect-Oriented Software Development with Use Cases
    Jacobson & Ng
    © 2005 | Addison-Wesley Professional | Paper; 464 pages | Instock
    ISBN-10: 0321268881 | ISBN-13: 9780321268884
    Brief Description | Buy from myPearsonStore

  • 0201730383Building Web Applications with UML, 2/E
    Conallen
    © 2003 | Addison-Wesley Professional | Paper; 496 pages | Instock
    ISBN-10: 0201730383 | ISBN-13: 9780201730388
    Buy from myPearsonStore

  • 0201657937Designing Concurrent, Distributed, and Real-Time Applications with UML
    Gomaa
    © 2000 | Addison-Wesley Professional | Cloth; 816 pages | Instock
    ISBN-10: 0201657937 | ISBN-13: 9780201657937
    Buy from myPearsonStore

  • 080535350XDesigning Object-Oriented User Interfaces
    Collins
    © 1995 | Addison-Wesley Professional | Paper; 608 pages | Estimated Availability: 12/31/1994
    ISBN-10: 080535350X | ISBN-13: 9780805353501
    Buy from myPearsonStore

  • 0201775956Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures
    Gomaa
    © 2005 | Addison-Wesley Professional | Cloth; 736 pages | Instock
    ISBN-10: 0201775956 | ISBN-13: 9780201775952
    Buy from myPearsonStore

  • 0201615797Developing Applications with Visual Basic and UML
    Reed
    © 2000 | Addison-Wesley Professional | Paper; 592 pages | Estimated Availability: 11/04/1999
    ISBN-10: 0201615797 | ISBN-13: 9780201615791
    Buy from myPearsonStore

  • 0201738295Developing Enterprise Java Applications with J2EE™ and UML
    Ahmed & Umrysh
    © 2002 | Addison-Wesley Professional | Paper; 368 pages | Instock
    ISBN-10: 0201738295 | ISBN-13: 9780201738292
    Buy from myPearsonStore

  • 020175603XDeveloping Software with UML: Object-Oriented Analysis and Design in Practice, 2/E
    Oestereich
    © 2002 | Addison-Wesley Professional | Paper; 320 pages | Instock
    ISBN-10: 020175603X | ISBN-13: 9780201756036
    Brief Description | Buy from myPearsonStore

  • 0805327207Discovering Smalltalk
    LaLonde
    © 1994 | Addison-Wesley Professional | Paper; 576 pages | Estimated Availability: 12/31/1993
    ISBN-10: 0805327207 | ISBN-13: 9780805327205
    Buy from myPearsonStore

  • 0201498375Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns
    Douglass
    © 1999 | Addison-Wesley Professional | Cloth Bound w/CD-ROM; 800 pages | Instock
    ISBN-10: 0201498375 | ISBN-13: 9780201498370
    Buy from myPearsonStore

  • 0201379686Effective COM: 50 Ways to Improve Your COM and MTS-based Applications
    Box, Brown, Ewald & Sells
    © 1999 | Addison-Wesley Professional | Paper; 240 pages | Estimated Availability: 12/03/1998
    ISBN-10: 0201379686 | ISBN-13: 9780201379686
    Brief Description | Buy from myPearsonStore

  • 0201433133Enterprise Modeling with UML: Designing Successful Software through Business Analysis
    Marshall
    © 2000 | Addison-Wesley Professional | Paper; 288 pages | Instock
    ISBN-10: 0201433133 | ISBN-13: 9780201433135
    Buy from myPearsonStore

  • 032111230XEnterprise Patterns and MDA: Building Better Software with Archetype Patterns and UML
    Arlow & Neustadt
    © 2004 | Addison-Wesley Professional | Paper; 528 pages | Instock
    ISBN-10: 032111230X | ISBN-13: 9780321112309
    Buy from myPearsonStore

  • 0201748045Executable UML: A Foundation for Model-Driven Architecture
    Mellor & Balcer
    © 2002 | Addison-Wesley Professional | Paper; 416 pages | Instock
    ISBN-10: 0201748045 | ISBN-13: 9780201748048
    Buy from myPearsonStore

  • 020169946XFundamentals of Object-Oriented Design in UML
    Page-Jones
    © 2000 | Addison-Wesley Professional | Paper; 480 pages | Instock
    ISBN-10: 020169946X | ISBN-13: 9780201699463
    Buy from myPearsonStore

  • 080530908XIBM Smalltalk: The Language
    Smith
    © 1995 | Addison-Wesley Professional | Paper; 584 pages | Estimated Availability: 01/26/1995
    ISBN-10: 080530908X | ISBN-13: 9780805309089
    Buy from myPearsonStore

  • 0201788918MDA Distilled
    Mellor, Scott, Uhl & Weise
    © 2004 | Addison-Wesley Professional | Paper; 176 pages | Instock
    ISBN-10: 0201788918 | ISBN-13: 9780201788914
    Buy from myPearsonStore

  • 032119442XMDA Explained: The Model Driven Architecture™: Practice and Promise
    Kleppe, Warmer & Bast
    © 2003 | Addison-Wesley Professional | Paper; 192 pages | Instock
    ISBN-10: 032119442X | ISBN-13: 9780321194428
    Buy from myPearsonStore

  • 032126889XManaging Iterative Software Development Projects
    Bittner & Spence
    © 2007 | Addison-Wesley Professional | Paper; 672 pages | Instock
    ISBN-10: 032126889X | ISBN-13: 9780321268891
    Brief Description | Buy from myPearsonStore

  • 032112247XManaging Software Requirements: A Use Case Approach, 2/E
    Leffingwell & Widrig
    © 2003 | Addison-Wesley Professional | Cloth; 544 pages | Instock
    ISBN-10: 032112247X | ISBN-13: 9780321122476
    Brief Description | Buy from myPearsonStore

  • 0201709155Modeling XML Applications with UML: Practical e-Business Applications
    Carlson
    © 2001 | Addison-Wesley Professional | Paper; 368 pages | Instock
    ISBN-10: 0201709155 | ISBN-13: 9780201709155
    Buy from myPearsonStore

  • 0321179366Object Constraint Language, The: Getting Your Models Ready for MDA, 2/E
    Warmer & Kleppe
    © 2004 | Addison-Wesley Professional | Paper; 240 pages | Instock
    ISBN-10: 0321179366 | ISBN-13: 9780321179364
    Buy from myPearsonStore

  • 0805305947Object Solutions: Managing the Object-Oriented Project
    Booch
    © 1996 | Addison-Wesley Professional | Paper; 336 pages | Estimated Availability: 10/12/1995
    ISBN-10: 0805305947 | ISBN-13: 9780805305944
    Buy from myPearsonStore

  • 020189551XObject-Oriented Analysis and Design with Applications, 3/E
    Booch, Maksimchuk, Engel, Young, Conallen & Houston
    © 2007 | Addison-Wesley Professional | Cloth; 720 pages | Instock
    ISBN-10: 020189551X | ISBN-13: 9780201895513
    Brief Description | Buy from myPearsonStore

  • 0805353402Object-Oriented Analysis and Design with Applications, 2/E
    Booch
    © 1994 | Addison-Wesley Professional | Cloth; 608 pages | Instock
    ISBN-10: 0805353402 | ISBN-13: 9780805353402
    Brief Description | Buy from myPearsonStore

  • 0201895501Object-Oriented Programming Using C++, 2/E
    Pohl
    © 1997 | Addison-Wesley Professional | Paper; 576 pages | Instock
    ISBN-10: 0201895501 | ISBN-13: 9780201895506
    Buy from myPearsonStore

  • 0201310120Objects, Components, and Frameworks with UML: The Catalysis(SM) Approach
    D'Souza & Wills
    © 1999 | Addison-Wesley Professional | Paper; 816 pages | Instock
    ISBN-10: 0201310120 | ISBN-13: 9780201310122
    Brief Description | Buy from myPearsonStore

  • 0201722291Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software
    Smith & Williams
    © 2002 | Addison-Wesley Professional | Paper; 544 pages | Instock
    ISBN-10: 0201722291 | ISBN-13: 9780201722291
    Buy from myPearsonStore

  • 0201325640Practical Guide to Testing Object-Oriented Software, A
    McGregor & Sykes
    © 2001 | Addison-Wesley Professional | Paper; 416 pages | Instock
    ISBN-10: 0201325640 | ISBN-13: 9780201325645
    Brief Description | Buy from myPearsonStore

  • 0321136195Practical Software Engineering: Analysis and Design for the .NET Platform
    Manassis
    © 2004 | Addison-Wesley Professional | Paper; 304 pages | Estimated Availability: 09/16/2003
    ISBN-10: 0321136195 | ISBN-13: 9780321136190
    Buy from myPearsonStore

  • 0201758210Process Quality Assurance for UML-Based Projects
    Unhelkar
    © 2003 | Addison-Wesley Professional | Paper; 432 pages | Out of Stock
    ISBN-10: 0201758210 | ISBN-13: 9780201758214


  • 0321166094Rational Unified Process Made Easy, The: A Practitioner's Guide to the RUP
    Kroll & Kruchten
    © 2003 | Addison-Wesley Professional | Paper; 464 pages | Instock
    ISBN-10: 0321166094 | ISBN-13: 9780321166098
    Brief Description | Buy from myPearsonStore

  • 0321197704Rational Unified Process, The: An Introduction, 3/E
    Kruchten
    © 2004 | Addison-Wesley Professional | Paper; 336 pages | Instock
    ISBN-10: 0321197704 | ISBN-13: 9780321197702
    Brief Description | Buy from myPearsonStore

  • 0321160762Real Time UML: Advances in the UML for Real-Time Systems, 3/E
    Douglass
    © 2004 | Addison-Wesley Professional | Paper; 752 pages | Instock
    ISBN-10: 0321160762 | ISBN-13: 9780321160768
    Brief Description | Buy from myPearsonStore

  • 0201699567Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems
    Douglass
    © 2003 | Addison-Wesley Professional | Paper Bound w/CD-ROM; 528 pages | Instock
    ISBN-10: 0201699567 | ISBN-13: 9780201699562
    Brief Description | Buy from myPearsonStore

  • 0201485672Refactoring: Improving the Design of Existing Code
    Fowler, Beck, Brant, Opdyke & Roberts
    © 1999 | Addison-Wesley Professional | Cloth; 464 pages | Instock
    ISBN-10: 0201485672 | ISBN-13: 9780201485677
    Brief Description | Buy from myPearsonStore

  • 0805306080Software Engineering with ADA, 3/E
    Booch & Bryan
    © 1994 | Addison-Wesley Professional | Paper; 576 pages | Out of Stock
    ISBN-10: 0805306080 | ISBN-13: 9780805306088
    Brief Description

  • 0201309580Software Project Management: A Unified Framework
    Royce
    © 1998 | Addison-Wesley Professional | Cloth; 448 pages | Instock
    ISBN-10: 0201309580 | ISBN-13: 9780201309584
    Brief Description | Buy from myPearsonStore

  • 0201809389Testing Object-Oriented Systems: Models, Patterns, and Tools
    Binder
    © 2000 | Addison-Wesley Professional | Cloth; 1248 pages | Instock
    ISBN-10: 0201809389 | ISBN-13: 9780201809381
    Buy from myPearsonStore

  • 0321321278UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design, 2/E
    Arlow & Neustadt
    © 2005 | Addison-Wesley Professional | Paper; 624 pages | Instock
    ISBN-10: 0321321278 | ISBN-13: 9780321321275
    Brief Description | Buy from myPearsonStore

  • 0321193687UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3/E
    Fowler
    © 2004 | Addison-Wesley Professional | Paper; 208 pages | Instock
    ISBN-10: 0321193687 | ISBN-13: 9780321193681
    Brief Description | Buy from myPearsonStore

  • 0201721635UML for Database Design
    Naiburg & Maksimchuk
    © 2002 | Addison-Wesley Professional | Paper; 320 pages | Instock
    ISBN-10: 0201721635 | ISBN-13: 9780201721638
    Brief Description | Buy from myPearsonStore

  • 0321245628The Unified Modeling Language Reference Manual, 2/E
    Rumbaugh, Jacobson & Booch
    © 2005 | Addison-Wesley Professional | Cloth Bound w/CD-ROM; 752 pages | Instock
    ISBN-10: 0321245628 | ISBN-13: 9780321245625
    Brief Description | Buy from myPearsonStore

  • 020130998XThe Unified Modeling Language Reference Manual
    Rumbaugh, Jacobson & Booch
    © 1999 | Addison-Wesley Professional | Cloth Bound w/CD-ROM; 576 pages | Instock
    ISBN-10: 020130998X | ISBN-13: 9780201309980
    Buy from myPearsonStore

  • 0321267974The Unified Modeling Language User Guide, 2/E
    Booch, Rumbaugh & Jacobson
    © 2005 | Addison-Wesley Professional | Cloth; 496 pages | Instock
    ISBN-10: 0321267974 | ISBN-13: 9780321267979
    Buy from myPearsonStore

  • 0201571692The Unified Software Development Process
    Jacobson, Booch & Rumbaugh
    © 1999 | Addison-Wesley Professional | Cloth; 512 pages | Instock
    ISBN-10: 0201571692 | ISBN-13: 9780201571691
    Brief Description | Buy from myPearsonStore

  • 0201432897Use Case Driven Object Modeling with UML: A Practical Approach
    Rosenberg & Scott
    © 1999 | Addison-Wesley Professional | Paper; 192 pages | Instock
    ISBN-10: 0201432897 | ISBN-13: 9780201432893
    Buy from myPearsonStore

  • 0201709139Use Case Modeling
    Bittner & Spence
    © 2003 | Addison-Wesley Professional | Paper; 368 pages | Instock
    ISBN-10: 0201709139 | ISBN-13: 9780201709131
    Brief Description | Buy from myPearsonStore

  • 0201729326Visual Modeling with Rational Rose 2002 and UML, 3/E
    Quatrani
    © 2003 | Addison-Wesley Professional | Paper; 288 pages | Instock
    ISBN-10: 0201729326 | ISBN-13: 9780201729320
    Brief Description | Buy from myPearsonStore

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, browse our available packages below, or contact your Pearson Higher Education representative to create your own package.



Copyright ©2008 Pearson Education. All rights reserved. Legal Notice | Privacy Policy | Permissions