ii NIL DIsTILLED THIRB EDITION A BRIEF GUIDE TO THE STANDARD OBJECT MODELING LANGVAGE MARTIN FOWLER y is Ko r n t a .*0 so an u ayg scanned by dataCore Class Association p. 35 role of B Class A Class B role of A Class Name attribute :Type[O .n numerically Class specified A generalization set p. 76 {ordered} Class ordered Subtype 1 Subtype 2 Class aggregation p. 67 Constraint {narre : description} p.46 Class qualifier some useful text Navigability p.42 role name Source Target Instance Specification p.47 object name : Class Name Client > Suppiler Class Diagram «interface» Abstract Client Class Interface Class dependency 0 p.
71 Implementing Class provided interface required interface O [UML 2] template class A 81 Class Class T ; Set Association p. 78 Class bound element Set<Integer> Composite Structure p. 139 pari : Class Component Communication Diagram p. 131 Use Case Diagram p.
99 object name:class 1 : message () ole narre : class Praise for UML Distilled "UML Distilled remains the best introduction to UML notation. Martin's agile and pragmatic approach hits the sweet spot, and 1 wholeheartedly recommend it!" -Craig Larman Author of Applying UML and Patterns "Fowler cuts through the complexity of UML to get users started quickly." Jim Rumbaugh Author and originator of UML "Martin Fowler's UML Distilled is an excellent way to get started with UML. In fact for most users, UML Distilled contains all you need to apply UML suc- cessfully. As Martin points out, UML can be used in many ways, but the most common is as a widely recognized notation for sketching designs.
This book does an excellent job of distilling the essence of UML ." -Steve Cook Software Architect Microsoft Corporation "Short books an UML are better than long books an UML. This is still the best short book an UML. In fact, it's the best short book an many subjects ." -Alistair Cockburn Author and President, Humans and Technology "The book is immensely useful, readable, and-one of its great virtues- delightfully concise for the immense scope of its subject. If you only buy one book an UML, this should be it ." -Andy Carmichael BetterSoftwareFaster, Ltd.
"If you're using UML, this book should never be out of reach ." -lohn Crupi Distinguished Engineer, Sun Microsystems Coauthor of Core J2EE` Patterns "Anyone doing UML modeling, learning UML, reading UML, or building UML tools should have this latest edition. (1 own all editions .) There is lots of good, useful information ; generally, just enough to be useful, but not too muck to be dry. It's a must-have reference for my bookshelf!" -Jon Kern Modeler "This is a great starting point for learning the fundamentals of the UML ." -Scott W Ambler Author of Agile Modeling "An eminently sensible description of UML and its usage, with enough humor to hold one's attention. 'The swimming metaphor no longer holds water' indeed!" -Stephen J.
Mellor Coauthor of Executable UML "This is the perfect book for those who want to use the UML but aren't inter- ested in reading thick UML reference books and research papers. Martin Fowler selects all the critical techniques needed to use the UML for design sketches, freeing the reader from complex and rarely used UML features. Read- ers will find no shortage of suggestions for further reading. He gives the reader advice based an experience.
It's a concise and readable book covering the essen- tial aspects of the UML and related object-oriented concepts ." -Pavel Hruby Microsoft Business Solutions "Like all good software developers, Fowler improves his product with each iter- ation. This is the only book 1 consider when teaching a dass involving UML or if asked to recommend one that can be used to learn it ." -Charles Ashbacher President/CEO, Charles Ashbacher Technologies "More books should be like UML Distilled-concise and readable. Martin Fowler selects the parts of UML that you need, and presents them in an easy to read style. More valuable than a mere description of the modeling language, however, is the author's insight and experience in how to use this technique to communicate and document design ." -Rob Purser Purser Consulting, LLC.
UML Distilled Third Edition The Addison-Wesley Object Technology Series Grady Booch, Ivar Jacobson, and James Rumbaugh, Series Editors For more information, check out the series web site at www. Ahmed/Umrysh, Developing Enterprise Java Applications with Marshall, Enterprise Modeling with UML: Designing Successful J2EEM and UML Software through Business Analysis Arlow/Neustadt, UML and the Unilied Process: Practical Object- Manassis, Practical Software Engineering : Analysis and Design for Oriented Analysis and Design the .NET Plattform Armour/Miller, Advanced Use Case Modeling : Software Systems McGregor/Sykes, A Practical Guide to Testing Ohject-Oriented Software Bellin/Simone, The CRC Card Book Mellor/Balcer, Executable UML: A Foundation for Model-Driven Binder, Testing Object-Oriented Systems : Models, Patterns, and Tools Architecture Bittner/Spence. Use Case Modeling Naiburg/Maksimchuk, UML for Database Design Booch, Object Solutions: Managing the Ohject-Oriented Project Oestereich, Developing Software with UML: Object-Oriented Booch, Object-Oriented Analysis and Design with Applications, 2E Analysis und Design in Practice, 2E Booch/Bryan, Software Engineering with ADA, 3E Page-Jones, Fundamentals of Object-Oriented Design in UML Booeh/Rumbaugh/Jacobson, The Unified Modeling Language UserGuide Pohl, Object-Oriented Programming Using C++, 2E BoxBrown/Ewald/Sells, Effective COM : 50 Ways to bnprove Your Quatrani, Visual Modeling with Rational Rose 2002 and UML COM and MTS-based Applications Rector/Sells, ATL Internals Carlson, Modeling XML Applications with UML : Practical Reed, Developing Applications with Visual Basic and UML e-Business Applications Rosenberg/Scott, Applying Use Case Driven Ohject Modeling wich Cockburn, Surviving Object-Oriented Projects : A Manager's Guide UML: Art Annotated e-Comtnerce Example Collins, Designing Object-Oriented User Interfaces Rosenberg/Scott, Use Case Driven Object Modeling with UML : Conallen, Building Web Applications wich UML, 2E A Practical Approach D'Souza/Wills, Objects, Components, und Frameworks with UML : Royce, Software Project Management: A Unified Frantework The Catalysis Approach Rumbaugh/Jacobson/Booch, The Unified Modeling Language Douglass, Doing Hard Time : Developing Real-Time Systems with Reference Manual UML, Objects, Frameworks, and Patterns Schneider/Winters, Applying Use Cases, 2E : A Practical Guide Douglass, Real-Time Design Patterns : Robust Scalable Architecture Shan/Earle, Enterprise Computing with Objects : From Client/Server for Real-Tinte Systems Environments to the Internet Douglass, Real-Time UML, 2E : Developing Efficient Objeets for Smith/Williams, Performance Solutions : A Practical Guide to Embedded Systems Creating Responsive, Scalable Software Eeles/Houston/Kozaczynski, Building J2EErS Applications with the Stevens/Pooley, Using UML, Updated Edition : Software Rational Unified Process Engineering with Objects and Components Fontoura/Pree/Rumpe, The UML Profile for Framework Unhelkar, Process Quality Assurance for UML-Based Projects Architectures van Harmelen, Object Modeling: Designing Interactive Systems Fowler, Analysis Patterns : Reusable Object Models Wake, Refactoring Workbook Fowler et al ., Refactoring: Improving the Design of Existing Code Warmer/Kleppe, The Object Constraint Language, Second Edition : Fowler, UML Distilled, 3E: A Brief Guide to the Standard Ohject Getting Your Models Ready for MDA Modeling Language White, Software Configuration Management Strategie .s und Gomaa, Designing Concurrent, Distributed, und Real-Time Rational ClearCase °: A Practical Introduction Applications with UML Graham, Ohject-Oriented Methods, 3E : Principles and Practice Heinckiens, Building Scalable Database Applications : Object- The Component Software Series Oriented Design, Architectures, and Implementations Clemens Szyperski, Series Editor Hofmeister/Nord/Dilip, Applied Software Architecture For more information, check out the series web site at www. JaeobsonBooch/Rumbaugh, The Unied Software Development Process Jordan, C++ Object Databases : Programming with the ODMG Allen, Realizing eBusiness with Components Standard Apperly et al ., Service- and Component-based Development : Using Kleppe/Warmer/Bast, MDA Explained : The Model Driven the Select Perspective TM and UML ArchitectureTM : Practice and Promi .se Atkinson et al ., Component-Based Product Line Engineering with UML Kroll/Kruchten, The Rational Unified Process Made Easv : A Cheesman/Daniels, UML Components : A Simple Process for Practitioner's Guide to the RUP Specifying Component-Based Software Krachten, The Rational Unified Process, An Introduction, 2E Szyperski, Component Software, 2E: Beyond Object-Oriented Lau, The Art of Objects: Object-Oriented Design and Architecture Programming Leffingwell/Widrig, Managing Software Requirements, 2E: A Use Whitehead, Component-Based Development : Principles and Case Approach Planning for Business Systems UML Distilled Third Edition A Brief Guide to the Standard Object Modeling Language Martin Fowler :Addison Wesley Boston • San Francisco • New York • Toronto • Montreal London • Munich • Paris • Madrid Capetown • Sydney • Tokyo • Singapore • Mexico City Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks.
Where those designations appear in this book, and Addison- Wesley was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. The publisher offers discounts an this book when ordered in quantity for bulk purchases and special sales.
For more information, please contact : U. Corporate and Government Sales (800) 382-3419 c orpsales@pearsontechgroup .com For sales outside of the U ., please contact : International Sales (317) 581-3793 international@pearsontechgroup .co m Visit Addison-Wesley an the Web : www.co m Library o f Congress Cataloging-in-Publication Data Fowler, Martin, 1963- UML distilled : a brief guide to the Standard object modeling language / Martin Fowler. Includes bibliographical references and Index. Object-oriented methods (Computer science) 2.
Computer software- Development.1'7-dc22 2003057759 Copyright © 2004 by Pearson Education, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, electronic, mechanical, photo- copying, recording, or otherwise, without the prior consent of the publisher. Printed in the United States of America.
Published simultaneously in Canada. For information an obtaining permission for use of material from this work, please sub- mit a written request to : Pearson Education, Inc. Rights and Contracts Department 75 Arlington Street, Suite 300 Boston, MA 02116 Fax : (617) 848-7047 ISBN 0-321-19368-7 Text printed an recycled paper 1 2 3 4 5 6 7 8 9 10-CRS-0706050403 First printing, September 2003 Contents List of Figuren xvii Foreword to the Third Edition xxi Foreword to the First Edition xxiii Preface xxv Why Bother with the UML? xxvi Structure of the Book xxvii Changes for the Third Edition xxvii Acknowledgments xxviii Chapter 1 : Introduction 1 What Is the UML? 1 Ways of Using the UML 2 How We Got to the UML 7 Notations and Meta-Models 9 UML Diagrams 10 What Is Legal UML?