Download as pdf or txt
Download as pdf or txt
You are on page 1of 913

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

List of Sidebars

< Day Day Up >

UML Bible

< Day Day Up >


ISBN:0764526049

by Tom Pender John Wiley & Sons 2003 (940 pages)

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Back Cover ISBN:0764526049 by Tom Pender Todays economy demands top quality software development in record time and maximum efficiency. UML arms John Wiley & Sons 2003 (940 pages) you to meet that challenge, and the UML Bible supplies the most comprehensive UML education you can get. One For beginning to advanced and users, thisUML book provides volume covers everything from understanding using and diagramming notation to the object constraint coverage the versatility of 1.4 and 2.0 one UMLresource you can rely on to language (OCL) andcomprehensive profiles, in both 1.4 and of 2.0 UML specifications. Its the specifications, virtually guarantee your success. and shows how to use UML to improve timeliness, quality, and efficiency in development. Learn to model object structure, interactions, behavior, and architecture using UML Companion Web Site Explore diagram structure and usage Understand how to utilize the overlapping features of the UML diagrams to facilitate the modeling process Learn to exploit the features of the UML diagrams to test them for consistency and accuracy <?xml Learn version="1.0" encoding="ISO-8859-1"?> to assess modeling tools to choose the one that suits your needs Table Comprehend of Contents how the statechart diagram is used to model changes in an object over its lifetime Apply object constraint language (OCL) and work with Action Semantics to specify behaviors that ultimately UML Bible will be implemented in code Preface Understand the XML Model Interchange (XMI) standard that helps enable model sharing between modeling Part I - An Introduction to UML tools and other XMI-compatible applications Chapter 1 - What Is to UML? Customize UML meet the needs of specific industries or application types Chapter 2 - UML Architecture About the Author Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4 is - Object-Oriented Concepts Tom Pender currently a teacher and mentor for UML courses offered through Sun Microsystems and DigitalThink, Part II - has Modeling Object Structure Inc. Tom worked as a software engineer for more than 20 years in a wide variety of industries. He has worked in just about position within software development from programmer to manager. His extensive and diverse Chapter 5 -every Capturing Rules about Objects in a Class Diagram experience brings the real world into the classroom, where he has spent the past six very successful years teaching Chapter 6 - How to Capture Rules about Object Relationships analysis and design using UML. He has authored four online courses about UML through DigitalThink, Inc. and the Chapter - Testing with Objects book UML 7 Weekend Crash Course , which has been enthusiastically praised as a very practical, approachable, and comprehensive introduction to UML. Part III - Modeling Object Interactions Chapter 8 Chapter 9 - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Day Up > < Day Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible UML Bible by Tom Pender

ISBN:0764526049

Tom Pender

John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides

WILEY comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows how to use UML to improve Wiley Publishing,specifications, Inc.
timeliness, quality, and efficiency in development.

Published by Companion Web Site Wiley Publishing, Inc. 10475 Crosspoint Boulevard <?xml version="1.0" encoding="ISO-8859-1"?> Indianapolis, IN 46256 Table of Contents http://www.wiley.com
UML Bible

Copyright 2003 Wiley Publishing, Inc., Indianapolis, Indiana Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3

Library of Congress Control Number: 2003101942 - UML Architecture 0-7645-2604-9

- What Is UML?

- UML Diagrams and Extension Mechanisms

Chapter 4 - Object-Oriented Manufactured in the United Concepts States of America


Part II - Modeling Object Structure

10 9 8 7 4 3 2 1 Rules about Objects in a Class Diagram Chapter 5 6 -5Capturing


Chapter 6 Chapter 7

1B/QZ/QZ/QT/IN

- How to Capture Rules about Object Relationships - Testing with Objects

Part - of Modeling Object Interactions No III part this publication may be reproduced,

stored in a retrieval system or transmitted in any form or by

Chapter 8 - Modeling Interactions in UML 1.4 any means, electronics, mechanical, photocopying, recording, scanning or otherwise, except as permitted Chapter 9 - Modeling Interactions UMLUnited 2.0 under Sections 107 or 108 of thein 1976 States Copyright Act, without either the prior written

permission the Publisher, or authorization through Chapter 10 - of Modeling an Object's Lifecycle in UML 1.4 payment of the appropriate per copy fee to the Copyright center, 222 Rosewood Drive, Chapter 11 Clearance - Modeling an Object's Lifecycle in UML 2.0 Danvers, MA 01923, (978) 750-8400, fax (978) 6468700. the Publisher Part IV Requests - Modelingto Object Behavior for permission should be addressed to the Legal Department, Wiley Publishing, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317) 572-4447, EChapter 12 - Modeling the Use of a System with the Use Case Diagram Mail: permcoordinator@wiley.com. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

LIMIT OF LIABILITY/DISCLAIMER OF WARRANTY: WHILE THE PUBLISHER AND AUTHOR HAVE USED THEIR BEST EFFORTS IN PREPARING THIS BOOK, THEY MAKE NO REPRESENTATIONS OR Chapter 15 - Modeling Software Using the Component Diagram WARRANTIES WITH RESPECT TO THE ACCURACY OR COMPLETENESS OF THE CONTENTS OF Chapter 16 - Using Diagrams in UML ANY 1.4 IMPLIED WARRANTIES OF MERCHANTABILITY OR THIS BOOK ANDDeployment SPECIFICALLY DISCLAIM Chapter 17 Representing an Architecture in UML 2.0 FITNESS FOR A PARTICULAR PURPOSE. NO WARRANTY MAY BE CREATED OR EXTENDED BY Part VI Bringing Rigor to the Model SALES REPRESENTATIVES OR WRITTEN SALES MATERIALS. THE ADVICE AND STRATEGIES Chapter 18 - Applying Constraints to BE theSUITABLE UML Diagrams CONTAINED HEREIN MAY NOT FOR YOUR SITUATION. YOU SHOULD CONSULT Chapter 19 - Action Semantics WITH A PROFESSIONAL WHERE APPROPRIATE. NEITHER THE PUBLISHER NOR AUTHOR SHALL Part - Automating the UML Modeling Process BE VII LIABLE FOR ANY LOSS OF PROFIT OR ANY OTHER COMMERCIAL DAMAGES, INCLUDING BUT Chapter 20 - Using Modeling Tool NOT LIMITED TOaSPECIAL, INCIDENTAL, CONSEQUENTIAL, OR OTHER DAMAGES.
Chapter 14 - Modeling the Application Architecture Chapter 21 - Customizing UML Using Profiles

For general information on our other products and services or to obtain technical support, please contact Chapter 22 - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

our Customer Care Department within the U.S. at (800) 762-2974, outside the U.S. at (317) 572-3993 or fax (317)572-4002.

Appendix C -publishes Standard Elements Wiley also its books in a variety of electronic formats. Some content that appears in print may Glossary not be available in electronics books. Index

Trademarks List of Figures : Wiley, the Wiley Publishing logo, and related trade dress are trademarks or registered trademarks List of Tables of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries, and may be used without written permission. UML is a trademark of Object Management Group, Inc. All List of not Listings

other trademarks are the property of their respective owners. Wiley Publishing, Inc., is not associated with < Day Day Up > any product or vendor mentioned in this book. Diagrams identified by the text "OMG 1.4" are from the OMG UML specification v1.4 and are used with permission of theUML OMG. Copyright C 2001, Object Management Group, Inc. http://www.omg.org. Bible Diagrams identified by the text "OMG 2.0" are from the OMG UML specification v2.0 and are used with John Wiley & Sons 2003 (940 pages) permission of the OMG. Copyright C 2003, Object Management Group, Inc. http://www.omg.org.
by Tom Pender
ISBN:0764526049

For beginning to advanced users, this book provides coverage of the versatility of 1.4 and 2.0 UML Figures identifiedcomprehensive by the text "No Magic" are printed with permission from No Magic, Inc., 1998--2003, All specifications, and shows how to use UML to improve rights reserved. timeliness, quality, and efficiency in development. Companion Web Site Inc. WILEY is a trademark of Wiley Publishing, <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Tom Pender is currently a teacher and mentor for UML courses offered through Sun Microsystems and UML Bible DigitalThink, Inc. Tom has worked as a software engineer for more than 20 years in a wide variety of Preface industries. He has worked in just about every position within software development from programmer to
Part I - An Introduction toand UML manager. His extensive diverse

About the Authors

experience brings the real world into the classroom, where he has

Chapter 1 past - What UML? spent the sixIs very successful years teaching analysis and design using UML. He has authored four

online courses about UML through DigitalThink, Inc. (http://www.digitalthink.com/) and the book UML Chapter 2 - UML Architecture Weekend Crash Course , which has been enthusiastically praised as a very practical, approachable, and Chapter 3 UML Diagrams and Extension Mechanisms comprehensive introductionConcepts to UML. When not standing on the UML soapbox, Tom works with orphanages Chapter 4 - Object-Oriented in Romania and with challenged Part II - Modeling Object Structure families in his community, trains his dogs, and periodically indulges in his hobby of old comic books. Tomin can be reached Chapter 5 collecting - Capturing Rules about Objects a Class Diagramat tom@pender.com or via the Wiley Web site, http://www.wiley.com/compbooks/pender. Chapter 6 - How to Capture Rules about Object Relationships
Chapter 7 - Testing with Objects Eugene McSheffrey has over sixteen years experience in the software industry and is a senior consultant with Popkin Software, a company which provides enterprise architecture modeling tools and services that Chapter 8 - Modeling Interactions in UMLand 1.4 IT. Since joining Popkin in 1996, he has worked as a help companies to align their business Chapter 9 -and Modeling Interactions in UML consultant trainer, helping clients in 2.0 Europe, Asia, and North America to build effective architecture Chapter 10 - Modeling an Object's Lifecycle in UML modeling 1.4 and development models using UML and other techniques. Eugene holds a B.Sc. degree from Chapter 11 - Modeling an Object's Lifecycle in UML in 2.0 the University of Edinburgh and a M.Sc. degree Computing for Commerce and Industry from the Open Part IV - Modeling Object Behavior University.
Part III - Modeling Object Interactions

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Lou Varveris is Director of Research Communications at Popkin Software and also serves as UML Chapter 13 - Modeling Behavior Using an& Activity Diagram Product Manager for System Architect. He has Part V - Modeling the Application Architecture been involved with the implementation of object methodologies for nine years. He has published Chapter 14 - Modeling the Application Architecture white papers, given seminars, and written and taught numerous training courses and tutorials on UML and enterprise architecture. Prior to working at Popkin Chapter 15 - Modeling Software Using the Component Diagram Software, he was an engineer at Unisys Corporation for nine years. He holds a B.S. in Engineering Chapter 16 - Using Deployment Diagrams in UML 1.4 Science from the College of Staten Island, CUNY, and an M.S. in Specialized Journalism, with graduate Chapter 17 - Representing an Architecture in UML 2.0 engineering work in communication theory, from Polytechnic University.
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Credits Chapter 19 - Action Semantics

Senior Acquisitions Editor Part VII Automating the UML Modeling Process Jim Minatel Chapter 20 - Using a Modeling Tool
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B -Editors UML 2.0 Notation Guide Technical Appendix C - Standard Elements Robert Rodes

Project Editor Sara Shlaer

Lou Varveris Glossary


Index List of Figures List of Tables

Copy Editor Maryann Steinhart

List of Listings Editorial Manager

Mary Beth Wakefield

< Day Day Up >

Vice President & Executive Group Publisher Richard Swadley Vice President and Executive Publisher by Tom Pender Bob Ipsen
UML Bible
ISBN:0764526049

John Wiley & Sons 2003 (940 pages)

For beginning to advanced users, this book provides Vice President and Publisher comprehensive coverage of the versatility of 1.4 and 2.0 UML Joseph B. Wikert

Executive Editorial Director Companion Web Site Mary Bednarek Project Coordinator

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

<?xml version="1.0" encoding="ISO-8859-1"?> Regina Snyder Table of Contents UML Bible and Production Specialists Graphics Preface Amanda Carter, Jennifer Click,
Part I - An Introduction UML Michael Kruzil, Lynseyto Osborn,

Chapter 1 - Virgin What Is UML? Mary Gillot Chapter 2 Chapter 3

Quality Control Technician - UML Diagrams and Extension Mechanisms Charles Spencer Chapter 4 - Object-Oriented Concepts Carl William Pierce
Part II - Modeling Object Structure

- UML Architecture

Chapter 5 - Capturing Permissions Editor Rules about Objects in a Class Diagram Chapter 6 Krikorian - How to Capture Rules about Object Relationships Carmen Chapter 7 - Testing with Objects

Media Development Specialist Part III Modeling Object Interactions Kit Malone Chapter 8 - Modeling Interactions in UML 1.4
Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Proofreading and Indexing TECHBOOKS Production Services

- Modeling Interactions in UML 2.0

dedicate this book to my Jackie, my daughter Tami, who have stood by me ChapterI 12 - Modeling the Use of awife System withmy theson UseTom, Case and Diagram the demands and thean chaos of work and writing, and through it all have managed to Chapterthrough 13 - Modeling Behavior Using Activity Diagram life. I love you all. Part V -preserve Modelingour thefamily Application Architecture
Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter Using Deployment Diagrams in UML 1.4 Thank 16 you- to my wife Jackie, my son Tom, and my daughter Tami who put up with my crazy work Chapter 17 Representing an Architecture in UML 2.0writing, and my family life (not always very successfully). schedule and my mood swings as I juggled work,
Part VI patience - Bringing Rigor to the Model Their and steadfast support

Acknowledgments

keep me going. Thank you for standing by me through the

Chapter 18 - Applying Constraints to the UML Diagrams challenges. Chapter 19 - Action Semantics

Sara Shlaer was indispensable. She held my hand Part VII - Automating the UML Modeling Process

through the first book, UML Weekend Crash Course , showing me the ropes and showing me how little I knew (know) about writing well. UML Bible was a much Chapter 20 - Using a Modeling Tool bigger undertaking, and once again Sara exemplified professionalism, talent, and patience. I sincerely Chapter 21 - Customizing UML Using Profiles appreciate the tremendous effort Sara made to keep me on track despite the myriad specification Chapter 22 - XML Metadata Interchange changes, schedule revisions, and missed deadlines. She always made an effort to keep our working Appendix A - UML 1.4 Notation Guide relationship humane, balancing our humanity and our obligations with grace and compassion. I could not Appendix B - UML 2.0 Notation Guide have done this book without her.
Appendix C - Standard Elements Glossary Bob Rhodes labored diligently to understand my often cryptic text and sort out what I really meant to say Index (or so he hoped I meant to say), always giving me the benefit of the doubt, deserved or not. Thank you List of much, FiguresBob, for hanging in there through all the changes to the specification and the hundreds of very List of Tables detailed diagrams used to illustrate this book. List of Listings

Lou Varveris is the product manager for Software Architect at Popkin Software. He helped me as technical < Day Day Up > editor on my first book, UML Weekend Crash Course. Then as here he was a tremendous help. Lou is meticulous, patient, and thorough. His insights were always dead on and saved me embarrassment on many occasions. Thank you, Lou. Lou also authored the chapters on packages and automating the UML UML Bible using XMI, profiles, and modeling tools, taking a tremendous burden off my schedule and enhancing the ISBN:0764526049 by Again, Tom Pender quality of the book. thank you very much Lou.
John Wiley & Sons 2003 (940 pages)

Eugene McSheffrey at Popkin Software with Lou Varveris. Eugene took precious time out of his For works beginning to advanced users, this book provides incredibly busy schedule to author the chapter on Action Semantics, relieving comprehensive coverage of the versatility of 1.4 and 2.0 UML another burden from the specifications, and shows for how to use UML to improve schedule and providing excellent primers both subjects.
timeliness, quality, and efficiency in development.

Maryann Steinhart took on a great deal of the editing responsibility. Knowing nothing about UML, she Companion Web Site faithfully labored through the morass of my technical jargon and cryptic examples to offer insights and alternatives so that people could actually read the book. Her comments were always offered in a <?xml version="1.0" encoding="ISO-8859-1"?> professional and understanding manner, underscoring her commitment to the quality of the book and to Table of Contents the readers. Thank you very much for your perseverance, Maryann.
UML Bible

Jim Minatel ran interference and politely, but steadfastly, worked to keep me on track. Jim could have Preface played the bully project Part I - An Introduction tomanager, UML
Chapter 1 Chapter 2 - What Is UML?

but he chose just the right balance of accountability and understanding.

My thanks to the Graphic Techs at Wiley who spent hours making faithful reproductions of my original art - UML Architecture for the book: Karl Brandt, Kelly Emkow, Lauren Goddard, Lynsey Osborn, Rashell Smith, and Mary Virgin. Chapter 3 - UML Diagrams and Extension Mechanisms They did an incredible job and never complained (at least, within my hearing) about the continual revisions Chapter 4 - Object-Oriented Concepts I submitted.
Part II - Modeling Object Structure

Chapter - Capturing Rules about Objects in a Class Diagram Finally,5thank you to all my students who have offered countless suggestions and feedback as I grappled

with ways toHow communicate features and benefits of modeling. Their honesty and enthusiasm were at Chapter 6 to Capture the Rules about Object Relationships once an and Objects a motivation to keep trying. Thank you, to all of you, for speaking up, for asking Chapter 7 inspiration - Testing with questions, for challenging me, and for Part III - Modeling Object Interactions
Chapter 8 Chapter 9

earnestly seeking to understand.

- Modeling Interactions in UML 1.4

- Modeling Interactions in UML 2.0 < Day Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Day Up > Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Preface

UML Bible

ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) In more than 20 years on projects and five years in the classroom, I've seen a lot of things change and a For same. beginning advanced users, this book provides lot of things stay the I'veto watched people get thrown in every direction by the speed and impact of comprehensive coverage of the versatility of 1.4 and 2.0 UML changes in technology, and I've listened to the same unchanging list of complaints: specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Poorly defined requirements

Companion Web Site

Rapidly changing requirements


<?xml version="1.0" encoding="ISO-8859-1"?> Difficulties among IT and business team members and clients Table of Contents

Estimates that can't be trusted because they are actually individualized guesses because no one has UML Bible kept any development metrics Preface
Part I - An Introduction to UML

Chapter 1

The overwhelming challenge of maintaining existing systems with no documentation


- What Is UML?

Chapter 2can - UML Architecture So how the Unified Modeling Language help solve these problems? UML has become an increasingly Chapter 3 and - UML Diagrams and Extension Mechanisms popular powerful component of software development strategies around the world. More than 90 Chapter 4 of -the Object-Oriented Concepts use it in some form. Why? Because UML supplies some essential percent Fortune 500 companies
Part II that - Modeling Object Structureresponse tools support a professional

to these challenges. UML provides

Chapter 5 Chapter 7

- Capturing Rules about Objects in a Class Diagram

A consistent form of communication that works equally well in analysis and design Chapter 6 - How to Capture Rules about Object Relationships
Part III - Modeling Object Interactions

- Testing with Objects A visual presentation that works equally well for technical and non technical team members

Chapter 8 - Modeling Interactions into UML 1.4 consistency and clarity A formal yet flexible standard ensure Chapter 9 - Modeling Interactions in UML 2.0

An10 extensible language thatLifecycle may be in tailored to any industry or application type Chapter - Modeling an Object's UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

A programming language independent way to specify software

Chapter 12 - Modeling the of a software System with the Use Case Diagram A rigorous means toUse specify structure and behavior to generate code or even generate Chapter 13 - Modeling Behavior Using an Activity complete applications (executable UML) Diagram
Part V - Modeling the Application Architecture

Regardless of the method you use to apply it, UML supports the development of precise, consistent, and Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram

traceable communication that will survive the chaotic and rapid pace of change.

Chapter 16 of - Using Diagrams in UML The goal every Deployment book in the Bible series is to 1.4 provide you with a comprehensive explanation of a topic, Chapter 17 Representing an Architecture in UML 2.0 and in UML Bible you learn all about the Unified Modeling Language (UML): diagramming notations and
Part VI - Bringing Rigor to the Model semantics, the Object Constraint Language,

Action Semantics, the UML Metamodel (2M), the XML

Chapter 18 - Applying Constraints to the UML Diagrams Metamodel Interchange (XMI), and the evolution of the standard from UML 1.4 to UML 2.0. Chapter 19 - Action Semantics

UML Bible presents each concept in the UML specification Part VII - Automating the UML Modeling Process

with an introduction that assumes no prior knowledge and progresses through a complete description of its advanced application, while pointing out Chapter 20 - Using a Modeling Tool the changes from UML 1.4 to UML 2.0. For example, the Class diagram includes a number of modeling Chapter 21 - Customizing UML Using Profiles elements. Each element is explained from the basics to the complete specification. Then the entire Class Chapter 22 - XML Metadata Interchange diagram is explained, using the individual modeling elements together to build a complete example. Appendix A - UML 1.4 Notation Guide
Appendix B - UMLmany 2.0 Notation Guide In like manner, concepts at times come together, as in the relationships between Class diagrams Appendix C Standard Elements and Sequence diagrams. Here, too, the book presents an introduction to the basic relationships and their Glossary consequences and then proceeds with a complete description of how those relationships might play out in Index your software modeling process. List of Figures

This unlike many other books that progress from beginning to end, using the first chapters as an List of is Tables introduction List of Listingsand later chapters for the more advanced topics. But I believe that you will find the approach

inUML Bible most effective for this particular subject. You will quickly be able to recognize the < Day Day Up > presentation pattern. As you become accustomed to the approach, you can choose to skip over sections that you might already be familiar with and focus on the new material that is most useful to you. It is my hope thatUML UMLBible Bible will provide you with both an appreciation for the usefulness of the software modeling resources of UML and a working knowledge of the tremendous potential that these tools and ISBN:0764526049 by Tom Pender concepts have for improving the way you build software. John Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Who Should Read This Book specifications, and shows how to use UML to improve

This book presents everything you need to know in order to become proficient and productive at modeling Web Site software with UML. It Companion includes my own experience, and insights from many of the authors and teachers with whom I've had the pleasure of working, as well as the works of many of the industry leaders.
<?xml encoding="ISO-8859-1"?> UMLversion="1.0" Bible is aimed primarily at those people responsible for the countless hours of communication Table of Contents UML Bible every level of the software development process stand to gain from this book: Preface
Part IPeople - An Introduction to UML who are new to OO modeling

timeliness, quality, and efficiency in development.

between users and IT staff and at those tasked with turning the user's wishes into code. Participants at will get a step-by-step introduction to everything from basic

concepts of object orientation that support the modeling notation and process to insights into the use Chapter 1 - What Is UML? and of the models. You will quickly obtain a working knowledge of the diagrams used by Chapter 2 application - UML Architecture your so that you can become an active participant in the review and enhancement of the Chapter 3 teammates - UML Diagrams and Extension Mechanisms models. Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure

Experienced modelers will be able to dig a little deeper and discover the relationships between the - Capturing Rules about Objects in a Class Diagram various diagrams and how they may be used to test the quality and completeness of the whole model. Chapter 6 - How to Capture Rules about Object Relationships If you want, you will be able to exploit the rigors of OCL and Action Semantics as well.
Chapter 5 Chapter 7 - Testing with Objects
Part III - Modeling Object Interactions Programmers will gain a working

knowledge of the models that the analysts and designers are

Chapter 8 - you Modeling Interactions in UML 1.4 asking to implement. Communication will improve as you become comfortable with the

vocabulary usedInteractions by both technical Chapter 9 - Modeling in UMLand 2.0 non-technical team members to describe the software requirements. The become your roadmap for understanding existing systems, new Chapter 10 - Modeling an models Object'swill Lifecycle in UML 1.4 systems, and ideas for enhancements a way Chapter 11 - Modeling an Object's Lifecycle in in UML 2.0 that code alone cannot, while leaving open the freedom to incorporate new techniques Part IV - Modeling Object Behavior and technologies in your implementation.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

People evaluating modeling tools will gain a complete understanding of the features and benefits that you should expect from such a tool.

Chapter 14 - Modeling the Application Architecture Managers and project leaders will gain an appreciation for the power and value of the modeling Chapter 15 - Modeling Software Using the Component Diagram process as a means to solve many of the problems that plague the software development process. Chapter 16 - Using Deployment Diagrams in UML 1.4 Hopefully, you will also come to appreciate the value of having a rigorous and testable tool to

understand and solve aArchitecture problem before committing to the expense and uncertainty of code. In short, I Chapter 17 - Representing an in UML 2.0 hope you come toto see that "the Part VI - Bringing Rigor the Model
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process< Day Day Up >

model is the code" (more of that sermon later ).

Chapter 18 - Applying Constraints to the UML Diagrams

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Why You Need This Book by Tom Pender


ISBN:0764526049

To get the most out ofWiley this book, you need topages) appreciate the intense challenges inherent in today's John & Sons 2003 (940 software development environment. Smarter people have worked long years at developing realFor beginning to advanced users, this than bookI provides world strategies to address these challenges. UML is the distillation of aUML key component of many of these comprehensive coverage of the versatility of 1.4 and 2.0 specifications, shows how to use UML to improve road-tested strategies, namely,and communication.
timeliness, quality, and efficiency in development.

Communication of needs and ideas isSite the substance of the software development process. The quality of Companion Web communication between analysts, developers, trainers, testers, managers, and users can make or break a project.
<?xml version="1.0" encoding="ISO-8859-1"?> Table Contents As aof software professional, you are used to dealing with most, if not all, of these classic communication

challenges. See whether these examples sound familiar. UML Bible


Preface
Part I - An Introduction to UML

Chapter 1

Poor communication leads to delays and extra cost


- What Is UML?

Chapter 2 - UML Architecture As systems change, all project participants must keep informed of the nature and impact of those changes

on the requirements and solutions already in progress or already implemented. Without a standard way to Chapter 3 - UML Diagrams and Extension Mechanisms communicate, everyone is left to his own creativity. You've probably seen teams where more time is spent Chapter 4 - Object-Oriented Concepts in meetings than Object actually working. Part II - Modeling Structure The meetings use up valuable time in an effort to communicate. One person5 uses flowcharts; another screen layouts; others use volumes of written specifications. Chapter - Capturing Rules aboutperson Objectsuses in a Class Diagram The project incurs overhead becoming with a variety of communication styles and Chapter 6 - How to the Capture Rulesof about Object familiar Relationships techniques. Chapter 7 - Testing with Objects
Part III - Modeling Object Interactions

Meanwhile, individual developers who need to apply badly needed changes have to instead labor with - Modeling Interactions in UML 1.4 widely varied types of documentation to try to understand and repair complex systems. In a straw poll that I Chapter 9 in-each Modeling Interactions in UML 2.0how they handle a request to change an existing system when conduct class, students are asked Chapter 10 - Modeling Object's Lifecycle in UML 1.4 the documentation isan difficult to understand or nonexistent. Almost without exception, the students say they Chapter - Modeling an Object's Lifecycle UML 2.0 the budget, that means that they are throwing away a simply 11 rewrite the code. For those of you in managing Part IV - Modeling Objectbecause Behaviorthey can't understand it and didn't have the time to try. Then they are corporate asset simply Chapter 12 more - Modeling the Use of a entirely System new with and the Use Case Diagram spending time creating an untried solution than they would in making a simple Chapter 13 - Modeling Behavior Usingto an Activity correction-if they only knew where make it. Diagram
Chapter 8
Part V - Modeling the Application Architecture

Translation: Poor communication = Architecture slower projects and higher cost of maintenance Chapter 14 - Modeling the Application
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

The volatile nature of the IT work environment


ups and downs, and team members' personal lives, teams are

Chapter 17 - Representing an Architecture in UML 2.0

Between corporate restructuring, economic Part VI - Bringing Rigor to the Model

constantly The typicalto mode of each developer keeping everything in her head or in what she Chapter 18 -changing. Applying Constraints the UML Diagrams believes is-well-documented Chapter 19 Action Semantics code produces a tremendous liability. As people move from project to project andVII as priorities shiftthe and budgets are cut, the knowledge Part Automating UML Modeling Process people who last worked on it. Chapter 20 - Using a Modeling Tool of the system goes away with the well-meaning

Chapter 21 - Customizing UML Using Profiles Many of you are living with this problem today. Two years ago, when companies were throwing money at Chapter 22 XML Metadata Interchange IT, you had plenty of staff to cover each system. Since the summer of 2001 the situation has changed Appendix A - UML 1.4 Notation Guide substantially. Where you once had people dedicated to each system, you now have one person covering Appendix B - UML Notation Guide five systems that2.0 he's never seen before. Without a description of the workings of the system, the only way Appendix - Standard to know C how to makeElements changes is to read thousands of lines of code. While the staff is reading, it isn't Glossary making the badly needed changes. When changes are made, no one can be certain that they are the right

changes. Index
List of Figures List of Tables

List of Listings

A system is a corporate asset and as such it must live beyond the participation of any one individual, and it must do so without incurring the overhead of rewriting with every change in personnel.

< Day Day Upprocess > Lack of control over the development and product quality

Another consequence of developers keeping everything in their heads or in the code itself is the complete trust demanded of management. Unless a manager is willing to learn and read the code herself, she UML Bible cannot assess the quality of the product. Testing is the standard response to this problem. But any ISBN:0764526049 by Tom Pender programmer knows that it is easy to get an application to pass the test suite. After all, in many cases it is John Wiley & Sons 2003 (940 pages) the developer who writes the tests. Consequently, the application works "just like I said it would." But does For beginning to advanced users, this book provides it work like it really should? comprehensive coverage of the versatility of 1.4 and 2.0 UML Quality is more than passing a test. and Quality implies flexibility, maintainability, low cost of timeliness, quality, efficiency in durability, development. maintenance, and much more. Unfortunately, because code is difficult to understand and poorly Companion Web Site documented, if documented at all, over time the code becomes a collage of patches and add-ons in response to change requests. I suspect that if you would poll your team and evaluate your own experience, you'd find that most rewrites of systems result in radically reduced amounts of code yet <?xml version="1.0" encoding="ISO-8859-1"?> increased functionality specifically because rewriting enables you to eliminate all of those patches and Table of Contents focus back on the real requirements. UML Bible
Preface specifications, and shows how to use UML to improve

The foremost lesson that I hope you take away from this book is that every participant on a project has to go through the same thought process to decide what code to write. Modeling is simply a visual and Chapter 1 - What Is UML? standardized way to step through that thought process of leveling in a way that all participants can Chapter 2 - UML Architecture understand, verify, and discuss. With the current modeling tools available, there is every opportunity to Chapter 3 - UML Diagrams and Extension Mechanisms keep your models in sync with your code, or even generate and maintain your code from the models, while Chapter 4 - Object-Oriented Concepts never actually touching the code.
Part I - An Introduction to UML Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7

Changing requirements - How to Capture Rules about Object Relationships

- Capturing Rules about Objects in a Class Diagram

- Testing with Objects The longstanding rift between IT project members and clients nearly always centers on requirements. In fact, Capers Jones of Software Productivity Research, and author of Software Systems Failure and Chapter 8 , did - Modeling UML 1.4 Success a study Interactions on litigation in over software. Almost without exception, software litigation is based on a Chapter - Modeling Interactions in UML 2.0 that their requirements were not satisfied. IT says that the debate9 over requirements. The clients claim Chapter - Modeling Object's Lifecycle in UML is 1.4 clients 10 kept changingan their requirements. What even more disturbing about the results of this study is the Chapter 11 - of Modeling an Object's Lifecycle in UMLby 2.0 fact that all the projects studied were bound contract. How much worse is the problem where there is Part IV - Modeling Object Behavior no contract that formalizes the requirements?
Part III - Modeling Object Interactions

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Without means to track requirements means to trace those requirements into the finished product, Chapter 13 - Modeling Behavior Using anand Activity Diagram there is no way to find out where the problems Part V Modeling the Application Architecture crop up. Is the client really changing his mind? Did IT really fail to include requirements? In my experience, Chapter 14 - Modeling the Application Architecture I have found that when an analyst or designer does not have a disciplined approach to gathering requirements, the project hinges on intangible and highly risky Chapter 15 - Modeling Software Using the Component Diagram factors: the developer's memory, work habits, personal life, communication skills, and his relationship with Chapter 16 - Using Deployment Diagrams in UML 1.4 the client. If any of these factors is less than ideal, the project is at risk.
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor the Model Very often it is not trueto that the client

changed her mind. Instead, the developer simply did not ask the right

Chapter 18 -did Applying Constraints to the UML Diagrams questions, not ask the right people, or simply did not challenge what the client was telling him. The Chapter 19 Action developer may be Semantics hurried and have no interview plan and no way to capture the client's knowledge except
Part - Automating the UMLdrawings, Modeling Process withVII notes and nonstandard neither of

which may be tested or traced.

Chapter 20 - Using a Modeling Tool

A standardized approach to analysis and to capturing the work products of analysis can rapidly eliminate Chapter 21 - Customizing UML Using Profiles these problems just as rapidly elevate the skill level of the people using them. Using the same Chapter 22 - XML and Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix C - Standard Elements Glossary Index

techniques over and over, sharing the results with others using the same techniques, and using the work products to communicate with all participants in the development effort fosters proficiency and facility and Appendix B - UML 2.0 Notation Guide reduces the possibility of misunderstandings and misrepresentations.

The debate over methods and tools


It is easy lately to get caught up in the feverish debate over development methodologies. Tool vendors know this best because they have to support these warring factions. Every software development method

List of Figures List of Tables

List of Listings

has at least three parts: a process, process management, and a vocabulary for expressing the work < Day Day Up > products of the process. Process management follows many of the same principles used for managing other business processes. The process itself is a still greater challenge. Software development is far too diversified to allow just one process. Transaction-oriented systems simply are not the same as real-time UML Bible still from game software or e-commerce. Even the size of the specific project systems, which are different ISBN:0764526049 by Tom Pender changes the process requirements.
John Wiley & Sons 2003 (940 pages)

What can be standardized is the for expressing the work products of the process. UML offers a For beginning to vocabulary advanced users, this book provides solution for standardizing the way you describe your work products comprehensive coverage of the versatility of 1.4 and no 2.0matter UML what method you follow. It specifications, and shows how to use UML touse improve does not dictate that you use all of the features or how you them. But it does help ensure that we can timeliness,and quality, and efficiency in development. all express our knowledge ideas in a consistent manner that we can all understand equally, which radically reduces the Companion learning curve and Web Sitethe time needed to share requirements and ideas about solutions. This standardization has opened the door for a wealth of tools that automate the creation, maintenance,
<?xml encoding="ISO-8859-1"?> and version="1.0" tracking of these work products. With the standard in place, the vendors have been able to focus Table of Contents more effort on feature-rich development environments, customization, and integration with valuable UML Bible technologies such as database management systems, change management, integrated development Preface environments (IDE), and frameworks.
Part I - An Introduction to UML

Chapter 1 Chapter 2

- What Is UML? The demand for cost effective and high quality systems - UML Architecture

Chapter 3 - UML Diagrams and Extension Mechanisms A particular strength of modeling is that it reveals our assumptions. Without reading mountains of code we Chapter 4 - Object-Oriented Concepts can measure communication traffic, evaluate quality by assessing coupling and cohesion, and test our
Part II - Modeling Object models before we write Structure faulty code.

Modeling accomplishes these objectives by raising the level of

Chapter 5 - Capturing Rules aboutAssembler Objects in a Class just Diagram abstraction. Years ago we wrote code, one level above machine language. Then we

moved 6 to third-generation such as Relationships COBOL. The assembly programmers of the time thought Chapter - How to Capturelanguages Rules about Object COBOL couldn't do Objects what Assembler could do and would eventually go away. They insisted that to Chapter 7 just - Testing with write applications, you had to know how Part III - Modeling Object Interactions the machine really works. How many of you (other than game programmers) write any Assembler today, Chapter 8 - Modeling Interactions in UML 1.4let alone develop systems with it? In contrast, how many hundreds millions Interactions of lines of COBOL Chapter 9 of - Modeling in UML code 2.0 are in production today?
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

The Assembler programmers were missing an essential fact in their machine-centric perspective. That is, the only reason to write code is to solve a problem. The machine and the languages are tools to solve a Part IV - Modeling Object Behavior problem, not the end itself. Still today, when our focus is forced onto the technology (Java versus C++, Chapter 12 - Modeling the of and a System the Use Case Diagram JSP versus ASP, and so Use forth) awaywith from the problem, we risk losing sight of our real purpose and Chapter 13 Modeling Behavior Using an Activity Diagram the factors that define true success, and that is not whether the code is finished, but does the application Part V - Modeling the Application Architecture do what we need it to do and can it survive the inevitable changes?
Chapter 14 - Modeling the Application Architecture

UML is15 an -attempt toSoftware express in precise, familiar, and consistent language everything needed to generate Chapter Modeling Using the Component Diagram complete, stable, maintainable systems. a level of abstraction above the current programming Chapter 16 Using Deployment Diagrams inUML UML is 1.4 languages, like COBOL was a level in above People like Leon Starr and Stephen Mellor Chapter 17 - just Representing an Architecture UML Assembler. 2.0 have generating complete systems Part VIbeen - Bringing Rigor to the Model
Chapter 19 - Action Semantics

from models since the mid-1980s. I'm not talking about code

generators belched out bloated low-performance Chapter 18 - that Applying Constraints to the UML Diagrams code, or CASE tools that generate Java

declarations but not the method body. I'm talking about customized generation of the complete application, even generating a single model in multiple implementation environments. Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Toolis possible. The question is, when will we adopt modeling as the next The question is not whether this Chapter 21 - of Customizing UML Using Profiles generation coding? Oops, I tripped over my soapbox again . Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UML Bible How This Book Is Organized by Tom Pender


ISBN:0764526049

This book is organized into Parts, which John Wiley & Sons 2003are (940groups pages) of chapters that deal with a common theme. Here's what you'll find: For beginning to advanced users, this book provides

Part I: An Introduction to UML

comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Companionof Web Site UML is actually the culmination years of effort to isolate and standardize the tools used to express business and software concepts. Chapter 1 explains the development of UML so that you can understand what it looks like today and why. Other chapters introduce you to UML architecture, the UML diagrams and <?xml version="1.0" encoding="ISO-8859-1"?> extensions, and the basic concepts of object orientation that provide the foundation for the modeling Table of Contents concepts UML Bible captured in UML diagrams. Preface
Part I - An Introduction to UML

Part II: Modeling Object Structure

Chapter 1

- What Is UML? UML defines a number of diagrams suited to capturing unique aspects of software requirements. One Chapter 2 - UML Architecture

such aspect includes definitions of the resources used by the application and the resources that make up Chapter 3 - UML Diagrams and Extension Mechanisms
Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

the application itself. Part II covers the Class and Object diagrams, as well as the Composite Structure - Object-Oriented Concepts diagram and collaborations, including their structure and usage. The modeling elements explained include Part II - Modeling Object Structure classes, attributes, operations, associations, objects, links, inheritance, and patterns.
- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

Part III: Modeling Object Interactions - Testing with Objects

Part III - Modeling Object Interactions

Once the resources have been identified and you have scoped their purpose and role within the design, - Modeling Interactions in UML 1.4 you need to put the resources to work. Work implies cooperation. Cooperation requires communication. Chapter 9 - Modeling Interactions in UML 2.0 Part III presents the many different interaction diagrams used to model how objects talk to one another Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 when you run the application. It also explains the use of the Statechart diagram to model the changes in Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 an object over its lifetime. The modeling elements explained include messages, events, and states.
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Part IV: Modeling Object Behavior

It is one thing to say that a system or object does something. It is another thing entirely to explain how it is supposed to do that something. Part IV explains how the UML Use Case diagram models the behavior of a Chapter 15 - Modeling Software Using the Component Diagram system from the perspective of the users, while the Activity diagram can model behavior at any level of Chapter 16 - Using Deployment Diagrams in UML 1.4 abstraction from workflow to method implementation. The modeling elements explained in this part Chapter - Representing an Architecture in activities, UML 2.0 decisions, object flow, and partitions. include17 use cases, actors, dependencies,
Chapter 14 - Modeling the Application Architecture
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Part V: Modeling the Application Architecture

When you are ready to implement your system, or understand an existing implementation, you'll need a way to model the software and hardware elements that make up the system configuration. Part V Chapter 21 the - Customizing Using Profiles illustrates use of the UML Component and Deployment diagrams for modeling the implementation Chapter 22 XML Metadata Interchange environment. The modeling elements explained include packages, components and artifacts, nodes, Appendix A -and UMLports. 1.4 Notation Guide interfaces,
Chapter 20 - Using a Modeling Tool Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary

Part VI: Bringing Rigor to the Model

Index Part VI takes you beyond the diagrams of the UML standard to the syntax and semantics for implementing List of Figures regarding rules and behavior. The Object Constraint Language enables you to model the requirements List of Tables rules that define the correctness of the relationships between model elements and the validity of values for List of Listings a model element. Action Semantics enable you to specify, in an implementation-language-independent

manner, behaviors that are ultimately implemented in code. < Day Day Up >

Part VII: Automating the UML Modeling Process


UML Bible The UML standard has made it easier for modeling tool vendors to support the diagramming process and ISBN:0764526049 Tom code generation. by Part VIIPender offers a description of the capabilities of today's modeling tools. Beyond the John Wiley & Sons 2003 (940 pages) tools, or rather beneath the tools, lie the infrastructure elements that make using the models and beginning topart advanced users, book provides exchanging themFor possible. This presents the this XML Model Interchange (XMI) standard that helps make comprehensive coverage of the versatility of 1.4 and 2.0 UML it possible to share models between modeling tools and other XMI-compatible applications. Finally, it specifications, and shows how to use UML to improve explains how the timeliness, UML can be customized using Profiles that tailor the features of the UML diagramming quality, and efficiency in development. standard to specific industries or application types. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> < Day Day Up > Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible The Companion Web Site by Tom Pender


ISBN:0764526049

The companion Web for book, located at http://www.wiley.com/compbooks/pender, includes the John site Wiley &this Sons 2003 (940 pages) following elements: For beginning to advanced users, this book provides A list of UMLspecifications, resources so and that shows you can keep up UML with the latest news on UML developments, tools, how to use to improve vendors, andtimeliness, forums. quality, and efficiency in development. Modeling tool vendor links so that you can investigate the available tools. Links to onlineencoding="ISO-8859-1"?> courses about using UML. <?xml version="1.0" Table of Contents
UML Bible Preface Companion Web Site comprehensive coverage of the versatility of 1.4 and 2.0 UML

The complete set of diagrams for the Ticketing System in PDF format and the original modeling tool files.
- What Is UML? - UML Architecture - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

< Day Day Up >

- UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible in This Book Conventions Used by Tom Pender


ISBN:0764526049

Every chapter in this book opens with a quick look at what's in the chapter and closes with a summary. John Wiley & Sons 2003 (940 pages) Along the way, you also find icons in the margins draw your attention to specific topics and items of For beginning to advanced users, to this book provides interest. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Here's what the icons mean: Companion Web Site

Cross-Reference These icons point you to chapters or other sources for more information on the topic under discussion.
<?xml version="1.0" encoding="ISO-8859-1"?> Notes provide extra information about a topic, perhaps some technical tidbit or background Table Note of Contents UML Bible explanation. Preface
Part I - An Introduction to UML

Tip Expert Tips offer ideas for the advanced user who wants to get the most out of UML.

Chapter 1 - What Is UML? Caution Cautions point out how to avoid the pitfalls that beginners commonly encounter. Chapter 2 - UML Architecture

Since one of this book is to highlight the changes between UML 1.4 and UML 2.0, I often use Chapter 3 -purpose UML Diagrams and Extension Mechanisms
Chapter 4

figures that highlight the new or modified portions of the UML metamodel. Figure FM-1 is an example of a - Object-Oriented Concepts diagram that uses gray shading to identify differences between the two versions of UML. The gray rounded Part II - Modeling Object Structure rectangle is not part of the UML notation. It is there only to help you quickly identify the details that have Chapter 5 - Capturing Rules about Objects in a Class Diagram changed.
Chapter 6 Chapter 7 Chapter 8 Chapter 9 - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - FM-1: Applying Constraints to the rounded UML Diagrams Figure Using gray shaded rectangles to highlight changes in the metamodel. Chapter 19 - Action Semantics

I use the same convention when I need to focus Part VII - Automating the UML Modeling Process

attention on a specific item in a diagram, especially when explaining examples for concepts and notations, as shown in Figure FM-2. Here, as in the previous Chapter 20 - Using a Modeling Tool example, the gray rounded rectangles are used only to help identify key elements of the figure. They are Chapter 21 - Customizing UML Using Profiles not part of the UML notation. Chapter 22 - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML?

- UML Architecture Figure Using gray rounded rectangles to highlight elements of an illustration. Chapter 3 - FM-2: UML Diagrams and shaded Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram Day Day Up > - How to Capture Rules about Object < Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Part I: An Introduction to UML by Tom Pender John Wiley & Sons 2003 (940 pages)

ISBN:0764526049

For beginning to advanced users, this book provides In This Part comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Chapter 1: What is UML?

Companion Web Site

Chapter 2: UML Architecture


<?xml version="1.0" encoding="ISO-8859-1"?> Chapter 3: UML Diagrams and Extension Mechanisms Table of Contents UML Bible Chapter 4: Object-Oriented Concepts Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture

< Day Day Up >

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Chapter UML 1: What Is UML? by Tom Pender

ISBN:0764526049

Overview

John Wiley & Sons 2003 (940 pages)

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve The Unified Modeling Language (UML) has been formally under development since 1994. UML is a timeliness, quality, and and a efficiency distillation of three major notations numberin ofdevelopment. modeling techniques drawn from widely diverse

methodologies that have been inWeb practice Companion Site over the previous two decades. During this time it has had an undeniable impact on the way we view systems development. Despite early competition from existing modeling notations, UML has become the de facto standard for modeling object-oriented software for <?xml version="1.0" encoding="ISO-8859-1"?> nearly 70 percent of IT shops. UML has been adopted by companies throughout the world, and today Table of Contents more than 50 commercial and academic modeling tools support software and business modeling using UML Bible UML.
Preface
Part IAn Introduction to UML UML enables system developers

to specify, visualize, and document models in a manner that supports

scalability, and robust execution. Because UML modeling raises the level of abstraction Chapter 1 -security, What Is UML? throughout analysis and design process, it is easier to identify patterns of behavior and thus define Chapter 2 - the UML Architecture opportunities for Diagrams refactoring and reuse. Consequently, UML modeling facilitates the creation of modular Chapter 3 - UML and Extension Mechanisms designs in components and component libraries that expedite development and help insure Chapter 4 resulting - Object-Oriented Concepts consistency across systems and implementations. Part II - Modeling Object Structure
Chapter 5 Chapter 6

Unlike previous methodologies, you don't have to change the way you work just to suit the demands of a - How to Capture Rules about Object Relationships vendor or methodologist. UML uses extension mechanisms to customize UML models to a particular Chapter 7 - type Testing with ObjectsWhile the extension mechanisms are a bit limited today, they do provide application or technology. Part III - Modeling Object Interactions substantial support for tailoring UML to the needs of a specific project, whether the project's goal is a Chapter 8 - Modeling application, Interactions real-time in UML 1.4 transaction-oriented or fault-tolerant system, or e-commerce or Web service, and Chapter 9 - of Modeling Interactions in UML 2.0 regardless the subject domain.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

- Capturing Rules about Objects in a Class Diagram

UML profiles collect predefined of extension mechanisms for a specific environment. For example, in Chapter 11 - Modeling an Object's sets Lifecycle in UML 2.0 the IV UML specification itself you will Part - Modeling Object Behavior find profiles for J2EE, COM, .NET, and CCM development. Each profile provides customized modeling elements the common elements and features in each of Chapter 12 - Modeling the Use of a System with thethat Usemap Caseto Diagram these architectures. This approach enables the modeler to focus time and energy on the project content Chapter 13 - Modeling Behavior Using an Activity Diagram instead of the unique modeling features of the implementation domain. Part V - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture Chapter 15 - for Modeling Software Using the Component Diagram foundation creating modeling languages used for object modeling, such as UML, and for data Chapter 16 Using Deployment Diagrams in UML 1.4 modeling, such as the Common Warehouse Model (CWM). The MOF defines standard formats for the Chapter 17 - Representing in be UML 2.0 in a common repository and exchanged between key elements of a model an soArchitecture that they can stored
Part VI - Bringing Rigor to the Model modeling tools and languages. XML

The standardized architecture of UML is based on the Meta-Object Facility (MOF). The MOF defines the

Metadata Interchange (XMI) provides the mechanism to implement

Chapter 18 - of Applying Constraints to the UML Diagrams the sharing these modeling elements between modeling tool vendors and between repositories. This Chapter 19 - example, Action Semantics means, for that a project can use one tool for developing a platform-independent model (PIM)
Part VII - Automating UML Modeling Process using UML diagramsthe and switch to another tool

to refine the model into a platform-specific model (PSM)

Chapter - Using a Modeling Tool the database schemas. This standards-based approach places the using a20 CWM model to generate

choice 21 of tools in the hands the modelers Chapter - Customizing UMLof Using Profiles instead of the tool vendors.
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

UML models can be precise enough to generate code or even the entire application. Automated test suites can verify the accuracy of the model. When coupled with tools to compile the UML model, the model can Appendix B - UML 2.0 Notation Guide even be executed before any code exists. Vendors (for example, Kabira Technologies Appendix C - Standard Elements http://www.kabira.com and Project Technology, Inc. http://www.projtech.com) are already providing Glossary compilers that are being used in projects today. A fully executable UML model may be deployed to Index multiple platforms that each use different technologies. A model might be deployed in one place using one List of Figures language, middleware, and database configuration, and at another location with an entirely different List of Tables configuration. The mapping of the model to an implementation configuration is accomplished using a List of Listings profile, with a separate layer that maps the two requirements, the model and the implementation

environment. To use the model in other implementation environments, simply create a new profile. Thus < Day Day Up > the UML profile represents a level of indirection between the model and the implementation environment, freeing each to be created independently of the other. All of these features didn't appear overnight. A great deal of collaborative effort was invested to create the UML Bible current standard,by and not without conflict. You may have already heard people taking sides on a variety of ISBN:0764526049 Tom Pender modeling issues and practices that arise when they try to use UML. To clarify some of the reasons behind John Wiley & Sons 2003 (940 pages) these debates, I begin with a brief history explaining how UML first came to be. If you can understand the For beginning to advanced users, this book provides process behind the ongoing development of the standard, you will be better comprehensive coverage of the versatility of 1.4 and 2.0 UML equipped to follow the specifications, andthe shows how to use UML to changes between version 1.4 and new developments in improve version 2.0 described throughout the rest of timeliness, quality, and efficiency in development. this book. Even more important, you need to understand how UML fits into the much larger plan by the Object Management Group (OMG) toSite standardize systems development with Model-Driven Architecture Companion Web (MDA).
<?xml version="1.0" encoding="ISO-8859-1"?> Since UML 2.0 is pending as of the writing of this book, I have included both UML 1.4.1 and UML 2.0. I Table of Contents hope this will help those of you who might be using modeling tools based on UML 1.4.1 until you are able UML Bible to upgrade. At the same time it should give you some insights for evaluating either your existing vendor's Preface implementation of UML 2.0 or other new modeling products. For a more complete explanation of this
Part I - An Introduction to to UML approach, refer to "How read

this book" in the Preface.

Chapter 1 Chapter 3 Chapter 4 Chapter 5 Chapter 7

- What Is UML?

Note OMG added Action Semantics to the 1.4 specification, it originally called it "UML 1.4 Chapter 2 When - UML the Architecture
- Object-Oriented Concepts

with Action Semantics." It later appeared on the OMG site as UML 1.5. So don't be surprised if I - UML Diagrams and Extension Mechanisms accidentally bounce between references to 1.4 and 1.5.

Part II - Modeling Object Structure

The rest of this chapter discusses

- Capturing Rules about Objects in a Class Diagram The UML Rules through version 1.4 Chapter 6 history - How of to the Capture about Object Relationships
Part III - Modeling Object Interactions

The goals, scope, and features of the UML

- Testing with Objects

Chapter 8 objectives - Modeling Interactions The of UML 2.0 in UML 1.4 Chapter 9 - Modeling Interactions in UML 2.0 The of the Object Management Group Chapter 10role - Modeling an Object's Lifecycle in UML (OMG) 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

How UML fits into the bigger picture: The OMG's Model-Driven Architecture (MDA) initiative

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram Part V - Modeling the Application Architecture < Day Day Up > Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Understanding the History Behind UML by Tom Pender


ISBN:0764526049

UML is designed John specifically represent object-oriented (OO) systems. Object-oriented development Wiley &to Sons 2003 (940 pages) techniques describe software as set of cooperating of information and behavior. For example, a For beginning to a advanced users, this blocks book provides performance at acomprehensive theater would coverage be coded as a discrete module with2.0 its own of the versatility of 1.4 and UML data about dates and time, specifications, and shows how to use UML improve and behavior such as schedule, cancel, or reschedule all to rolled together. This was a stark departure from timeliness, quality, and efficiency in development. the old notion that data resides in files and behavior lives in programs. The effect of this simple idea, the combining of data and behavior into objects, had a profound effect on application design. As early as the 1970s, a number of methods were developed to exploit the new object<?xml version="1.0" encoding="ISO-8859-1"?> oriented (OO) programming concepts. Developers quickly recognized that object orientation made Table of Contents possible a development process in which the way that they talk about the application corresponds directly UML Bible to how they code it. They also found that it was relatively easy to draw (model) the objects so that they Preface could talk about the design. Each object was represented as an element on a diagram. Because the Part I - An Introduction UML identical to the code elements, the transition from model to code was simple model elements were to almost Chapter 1 - What Is UML? and efficient. Moving design discussions up to the models instead of the code helped the developers deal Chapter 2 - issues UML Architecture with design at a high level of abstraction without getting caught up in the coding syntax.
Chapter 3 Chapter 4 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts Early Modeling Methodologies Companion Web Site

Part II - Modeling Object Structure

Chapter 5 developers - Capturing weren't Rules about Objects in a who Class Diagram the benefit of modeling. Other engineering Software the only people discovered Chapter 6 -such How as to Capture Rules about Object Relationships disciplines database management and design were also creating modeling techniques such as

Entity Relationship (ER diagrams) and Specification and Description Language (SDL). It quickly Chapter 7 - Testing modeling with Objects became clear that modeling provided Part III - Modeling Object Interactions
Chapter 9

a way to cope with complexity, encourage collaboration, and

generally design in all aspects software development. Chapter 8 improve - Modeling Interactions in UML of 1.4 The need for modeling solutions increased with the growth in numbers and sophistication of software systems. Systems were growing rapidly in complexity and required more and more collaboration and solid, Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 durable design quality. Modeling had proven itself in exactly these circumstances. Literally hundreds of Part IV - Modeling Object Behavior people sprang to work developing modeling methodologies to solve the growing problem. But the resulting Chapter 12 - Modeling the Use of a System with the Use Case Diagram proliferation of solutions caused some problems. The widely diverse efforts were inefficient in that they Chapter Modeling Behavior Using to anproduce Activity Diagram lacked 13 the-necessary collaboration results that could be widely applied by the IT community. In Part V - Modeling the Application Architecture fact, the diversified approach resulted in what were affectionately called the "method wars", battles Chapter 14method - Modeling the Application Architecture between authors with their loyal followers pitted against one another over who had the best Chapter 15 Modeling Software Using thefor Component Diagram solution. Authors of each method vied support for their methods. Tool vendors labored to support many Chapter 16 Using Deployment Diagrams in UML 1.4 different notations in the same tool. Companies struggled to identify and follow a single "best" method, Chapter 17 people, - Representing an Architecture in UML train their and support the method only 2.0 to find that no one method could fully meet their needs.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part VI - Bringing Rigor to the Model

- Modeling Interactions in UML 2.0

The proliferation of isolated solutions associated battles were signals that the need for a Chapter 18 - Applying Constraints to theand UMLthe Diagrams comprehensive solution for software modeling was a priority. The solution needed to be flexible, scalable, Chapter 19 - Action Semantics secure, robust enough to handle the diverse Part VII - and Automating the UML Modeling Process the future. Chapter 20 - Using a Modeling Tool
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

software and business environments of the present and

The Creation of UML

By the early 1990s, a few leaders had emerged from the field of methods and notations. Object-Oriented Software Engineering (OOSE), developed by Ivar Jacobson, is based around the use-case concept that Appendix C - Standard Elements proved itself by achieving high levels of reuse by facilitating communication between projects and users, a Glossary key success factor for IT projects. James Rumbaugh developed the Object-Modeling Technique (OMT) Index with an emphasis on the analysis of business and data intensive systems for defining a target problem, a List of Figures second key success factor for IT projects. The Booch method, developed by Grady Booch, had particular List of Tables strengths in design and implementation, defining and mapping a solution to the target problem, a third key List of Listings IT projects. These significant contributions are like the legs on a three-legged stool: the to successful

combination of the three methods and their notations supported the entire range of requirements needed < Day Day Up > to create a single, comprehensive software-modeling standard. It is important to point out that many other methods provided some of the same three key factors. The difference is that UML they did not aggressively seek to combine their efforts to address the bigger picture, a Bible standards-basedby approach to modeling software. In October 1994, Grady Booch and Jim Rumbaugh, ISBN:0764526049 Tom Pender working at Rational Software Corp., started merging their two methods. The independent evolution of their John Wiley & Sons 2003 (940 pages) two products wasFor bringing the methods closer together anyway; Booch was adopting more of an analysis beginning to advanced users, this book provides focus and Rumbaugh was assuming more of a design focus. Now the deliberate reconciliation began in comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve earnest. The effort resulted in a greatly simplified notation and a deliberate effort to address the need for a timeliness, quality, and efficiency in development. true language architecture rather than simply a notation. An architectural approach would bring the needed semantic integrity and consistency Companion Web Site for a durable standard. A year later, in the fall of 1995, Booch and Rumbaugh had completed the first draft of the merged method
<?xml version="1.0" encoding="ISO-8859-1"?> referred to as Unified Modeling Language version 0.8. About the time that the draft was completed, Ivar Table of Contents Jacobson and his company, called Objectory, joined Rational Software Corp., and the "three amigos"UML Bible Booch, Rumbaugh, and Jacobson-began integrating OOSE into the UML standard. The use-case concept Preface brought to UML the essential user-centric elements that completed the range of features to make UML the
Part I - An Introduction to UML comprehensive standard that

it needed to be to gain wide acceptance.

Chapter 1

- What Is UML?

Booch,2 Rumbaugh, and Jacobson established four goals for the Unified Modeling Language: Chapter - UML Architecture 1. Enable the modeling ofExtension systems (not just software) using object-oriented concepts Chapter 3 - UML Diagrams and Mechanisms
Chapter 4
Part II - Modeling Object Structure

2. Establish an explicit coupling to conceptual as well as executable artifacts

- Object-Oriented Concepts

Chapter 5 - Capturing Rulesof about Objects in a Diagram 3. Address the issues scale inherent inClass complex, mission-critical systems Chapter 6 - How to Capture Rules about Object Relationships 4. Create a modeling language usable by both humans and machines (UML 1.4, pgs. 1-12,13) Chapter 7 - Testing with Objects
Part III - Modeling Object Interactions

The result -of the collaborative effort of the three amigos was the release of UML versions 0.9 and 0.9.1 in Modeling Interactions in UML 1.4 the fall of 1996. However, despite the fact that they sought feedback from the development community, Chapter 9 - Modeling Interactions in UML 2.0 they recognized the need for broader involvement if the UML was truly to be a standard.
Chapter 8 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior Definition Language (IDL), and the

Chapter 11 Object - Modeling an Object's Lifecycle in UML 2.0 Enter the Management Group (OMG), the standards body that brought us CORBA, Interface

CORBA Internet Inter-ORB Protocol (IIOP). By this time UML was being

Chapter 12 - as Modeling of a System with the Use It Case recognized vital tothe theUse goals of many companies. wasDiagram in their best interest to see that the standard get Chapter 13 - Modeling Behavior Using an Activity Diagram the support it needed to be completed. In response to this overwhelming need, the OMG published a
Part V - Modeling the Application Architecture Request for Proposal (RFP), and then the Rational

Software Corporation created the UML Partners

Chapter 14 - Modeling the Applicationto Architecture consortium, which was committed finishing what the three amigos had started. Contributing members of

the consortium included a mixUsing of vendors and system integrators: Digital Equipment Corporation, HP, iChapter 15 - Modeling Software the Component Diagram Logix, IntelliCorp, ICON Computing, Microsoft, Oracle, Rational Software, TI, and Chapter 16 - Using IBM, Deployment Diagrams inMCI UMLSystemhouse, 1.4 Unisys.17 The result of their efforts was published in January 1997 as UML 1.0. Chapter - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

At the same time, another group of companies (IBM & ObjecTime, Platinum Technologies, Ptech, Taskon & Reich Technologies, and Softteam) was working on and submitted another proposal for UML. And, Chapter 19 - Action Semantics exemplary of the UML history, the alternative proposal was viewed not as competitive, but collaborative. Part VII - Automating the UML Modeling Process The new team joined the UML Partners consortium and the work of the two groups was merged to Chapter 20 - Using a Modeling Tool produce UML 1.1 in September 1997. Since then, the OMG has assumed formal responsibility for the Chapter 21 - Customizing Using Profiles ongoing development ofUML the standard, but most of the original consortium members still participate.
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 22 - XML Metadata Interchange

In reading this brief you've probably noticed that this all happened pretty fast. The drive to deliver Appendix A UML 1.4 history Notation Guide the final B version had its consequences. While the architecture infrastructure and even the Appendix - UML so 2.0quickly Notation Guide superstructure were relatively Appendix C - Standard Elements well defined, some problems remained. For example, the Activity diagram did not have the ties to the state machine semantics required to support all of the features and notations Glossary needed for real business modeling. Also, many of the Standard Elements were added hastily and had not Index been fully defined. Most important, the meta-modeling approach fell short of the desired implementation, making it difficult to align UML with the Meta-Object Facility (MOF), a foundation technology in the OMG's List of Tables MDA strategy. Fortunately, the standard is still evolving.
List of Figures List of Listings

The OMG set up a Revision Task Force (RTF) to oversee the ongoing evolution of the UML standard. The < Day Day Up > RTF is responsible for addressing all questions, changes, and enhancements to UML and for publishing subsequent releases. To date, the RTF has taken up more than 500 formal usage and implementation issues submitted to the OMG for consideration. In fact, you can submit your own suggestions and UML Bible comments on existing issues to uml - rtf@omg.org.
by Tom Pender
ISBN:0764526049

The standard has since progressed John Wiley & Sons through 2003 (940 version pages) 1.3 (1.2 was a purely editorial revision) and on to version 1.4. The most recently adopted specification 2002) is version 1.4.1 with Action For beginning to advanced users, this(September book provides Semantics, which, as the name implies, added action semantics to specification. Action Semantics comprehensive coverage of the versatility of 1.4 and the 2.0 1.4 UML specifications, and of shows how to UML use UML to improve is a critical element in the creation executable models.
timeliness, quality, and efficiency in development.

Cross-Reference To learn more about Action Semantics, refer to Chapter 19. Companion Web Site
<?xml version="1.0" encoding="ISO-8859-1"?> < Day Day Up > Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible The Goals and Features of UML by Tom Pender


ISBN:0764526049

UML is designed John to meet some very objectives so that it can truly be a standard that addresses the Wiley & Sons specific 2003 (940 pages) practical needs of the softwareto development community. Any effort to be all things to all people is doomed For beginning advanced users, this book provides to fail, so the UML authors have taken care to establish clear boundaries for the features of the UML. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Thenext section explains the objectives and the scope of the UML, the fundamental features provided by the UML, and discusses the role of the OMG in the management and ongoing development of the UML as Companion Web Site a part of its MDA strategy. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

The goals of UML

UML Bible Preface

The OMG knows that the success of UML hinges on its ability to address the widely diverse real-world needs of software developers. The standard will fail if it is too rigid or too relaxed, too narrow in scope or Part I - An Introduction to UML too all-encompassing, too bound to a particular technology or so vague that it cannot be applied to real Chapter 1 - What Is UML?that the standard will, in fact, be both practical and durable, the OMG established technologies. To ensure Chapter 2 UML Architecture a list of goals.
Chapter 3 - UML Diagrams and Extension Mechanisms

UML will Chapter 4 - Object-Oriented Concepts


Part II - Modeling Object Structure

Chapter 5 Chapter 6

Provide modelers with a ready-to-use, expressive, and visual modeling language to develop and - Capturing Rules about Objects in a Class Diagram exchange meaningful models.
- How to Capture Rules about Object Relationships

Chapter 7 - Testing with Objects Furnish extensibility and specialization mechanisms to extend the core concepts.
Part III - Modeling Object Interactions

Support specifications that are of particular programming languages and development Chapter 8 - Modeling Interactions in independent UML 1.4 processes. Chapter 9 - Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior Encourage the growth of the

Provide a formal basis for understanding the modeling language. object tools market.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Support higher-level development concepts such as components, collaborations, frameworks, and Chapter 13 - Modeling Behavior Using an Activity Diagram patterns. (UML1.4 specifications) Part V - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 17 - Representing an Architecture in UML 2.0

Each of these goals is discussed in detail in the following sections.

Chapter 16 Using Deployment Diagrams 1.4 Goal 1: Provide modelers withinaUML ready-to-use,

expressive, and visual modeling language to develop and exchange meaningful models Part VI - Bringing Rigor to the Model
Chapter 18 -be Applying Constraints to the UML Diagrams UML must defined at a level that allows it to be used as-is off the shelf. Modelers should be able to start Chapter 19 - Action Semantics building diagrams without first customizing the notation to their development environment, programming
Part VII - Automating the UML Process language, or application. TheModeling modeling language

should work equally well for Java and C++, for

Chapter 20 - and Using a Modeling Tool accounting aviation. Chapter 21 - Customizing UML Using Profiles

To accomplish the standard has to define the semantics of the modeling language as well as the Chapter 22 - XMLthis, Metadata Interchange visual representation of the language. Semantics provide the rigor that ensures the consistent application Appendix A - UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

of the models and model elements. A consistent visual representation of the model elements facilitates adoption and use of the modeling technique.

Glossary The standard also must be comprehensive but not exhaustive. It must include all the core modeling Index elements common to most, not all, software projects. If it is not complete, modelers will not be able to use List of Figures it without customization. If it is exhaustive-well, it just can't be. Instead, the OMG adopted the second goal. List of Tables

Goal 2: Furnish List of Listings

extensibility and specialization mechanisms to extend the core

concepts

< Day Day Up >

In overly simplified terms, the core concepts should represent the old 80/20 rule. We should be able to build 80 percent of the systems out there with 20 percent of the conceivable concepts. When these core Bible concepts are not UML enough, there should be a way to build on them to get what we need.
by Tom Pender
ISBN:0764526049

Wherever possible a modeler should not (940 have to invent entirely new concepts. Users should be able to John Wiley & Sons 2003 pages) use concepts already defined by UML. There are at least three ways that UML enables modelers to create For beginning to advanced users, this book provides new model elements: comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiencyconcepts in development. The core defines a number of fundamental that may be combined to create the new concept. Companion Web Site

The core provides multiple definitions for a concept.


<?xml version="1.0" encoding="ISO-8859-1"?> UML supports the ability to customize a concept by specializing one or more of its definitions. (To Table of Contents UML Bible

specialize means to use an existing definition and then override and/or add elements to it.)

Preface A UML-defined solution for wholesale extensibility is a profile. A profile is basically an implementation of
Part I - An Introduction to UML

UML for a specific domain, such as a particular technology platform or a specific line of business. A profile

Chapter 1 -a What Ismodel UML? elements that are unique or simply common to the target environment. In this predefines set of Chapter 2 profiles - UML Architecture manner, tailor the modeling elements so that the modeler can represent his environment more Chapter 3 -than UML is Diagrams Extension Mechanisms accurately possibleand with generic UML but without losing any of the semantic clarity of UML Chapter 4 - Object-Oriented Concepts concepts.
Part II - Modeling Object Structure

Goal 3: Support specifications areDiagram independent Chapter 5 Capturing Rules about Objects that in a Class
Chapter 6 - How to Capture Rules about Object Relationships languages and development processes Chapter 7 - Testing with Objects

of particular programming

One very valuable reason for modeling is Part III - Modeling Object Interactions

to separate the requirements from the implementation. Tying

UML to8a particular language automatically Chapter - Modeling Interactions in UML 1.4 alienates everyone not using that language. An implementation also Interactions ties UML to a in time. For example, when the programming language changes, Chapter 9 - Modeling in point UML 2.0 UML becomes obsolete until it can be brought up to date. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

However, UML must map to the common object-oriented design constructs defined in most OO languages. This alignment will support code generation and reverse engineering, the integration of the Chapter 12 and - Modeling Use of a System with the Use Case Diagram modeling codingthe environments. But rather than alter UML to conform to languages, the mapping is Chapter 13 Modeling Behavior Using an Activity Diagram accomplished through profiles that define the relationships between the model elements and the Part V - Modeling constructs. the Application Architecture implementation Using a separate mapping layer effectively decouples, or separates, UML from Chapter 14 Modeling the Application Architecture the implementation languages, allowing both to evolve at their own pace.
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 Using Deployment Diagrams UML 1.4 Goal 4: Provide a formal basisinfor understanding Chapter 17 - Representing an Architecture in UML 2.0

the modeling language

The language must beto defined at a Part VI - Bringing Rigor the Model
Chapter 19 - Action Semantics

level that is precise yet accessible. Without precision, the models do

not help define a real solution. Without accessibility, Chapter 18 - Applying Constraints to the UML Diagrams no one will use it. The UML standard uses Class

diagrams to represent the formal definitions of objects and their relationships. Each Class diagram is supplemented with text detailing the semantics and the notation options. The constraints that define the Part VII - Automating the UML Modeling Process integrity of the model elements are expressed using Object Constraint Language (OCL). (See Chapter Chapter 20 - Using a Modeling Tool 18.)
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Goal 5: Encourage the growth of the object tools market

Appendix B - UML 2.0 Notation Guide The modeling tool market is dependent on a unified standard for modeling, for the model repository, and Appendix CStandard Elements for model interchange. To the extent that vendors can rely on a stable standard, they can quickly and

effectively implement all three fundamental tool features. As the vendors cost to provide the core Glossary functionality decreases, vendors are freed to pursue value-added modeling-environment enhancements Index such as integration with coding environments, database management tools, syntax checking, model List of Figures verification, List of Tables and more.
List of Listings

We are seeing the effect of the standard today. The number of tools has mushroomed, and the feature < Day Day Up > sets offered in the tools have exploded. Where tools used to focus almost exclusively on just being able to draw diagrams, today they are performing syntax checking of OCL statements, diagram synchronization, code generation and reverse engineering, importing from various other tools, exporting HTML or XML UML Bible reports, supporting integration with one or more coding environments, and much more.
by Tom Pender
ISBN:0764526049

John higher-level Wiley & Sons 2003 (940 pages) Goal 6: Support development concepts such as components, For beginning to advanced users, this book provides collaborations, frameworks, and patterns comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, howof tohigher-level use UML to improve The standard needs to support and the shows modeling concepts such as frameworks, patterns, and timeliness, quality, and efficiency in development. collaborations. Doing so supports the advancement of modeling and systems development. By ensuring Companion Web Site this future potential, UML becomes an asset that facilitates technological evolution rather than being one more legacy that has to be dragged into the future with all the other old technologies. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

The scope of the UML

UML Bible

UML is designed to be the merging of best development practices and the leading modeling concepts of Preface the I past years. There is also Part - An30 Introduction to UML
Chapter 2 Chapter 3 - UML Architecture

a deliberate effort to take into account the fact that development technologies and techniques are always changing. Chapter 1 - What Is UML? With such an ambitious goal, it would be easy to fall into the trap of making UML define everythingUML Diagrams and Extension Mechanisms modeling, development methodology, project management, systems integration, and so forth-about the Chapter 4 Object-Oriented Concepts software development process. So the first and most visible boundary established by the OMG was to Part II - Modeling Object Structure define only the modeling language, including the semantics and the notation for creating models. Chapter 5 - UML Capturing Rules about Objects inelements a Class Diagram Therefore, defines only the modeling used to describe the artifacts of software Chapter 6 How to Capture Rules about Object Relationships development. It does not describe any process for creating those artifacts. In fact, the intent of the Chapter 7 is - to Testing with Objects that may be used with any process, much like you could hand someone a standard create a language Part III Modeling Object hammer and say, "HangInteractions this picture" or "Build a house." The same tool may be used for very different Chapter 8 the - Modeling Interactions UML be 1.4(and is) used with the Rational Unified Process, Shlaer/Mellor, tasks. In same manner, UML in might Chapter 9 - Modeling Interactions UML 2.0 methodologies. Agile Modeling, or any number ofin proprietary
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

UML also says nothing about programming languages. The object-oriented concepts applied in modeling are the same concepts applied in OO programming languages, but the relationship begins and ends with Part IV - Modeling Object Behavior this common foundation. For example, Java does not support multiple inheritance but UML does. Neither Chapter 12 - Modeling the Use of a System with the Use Case Diagram Java nor UML is going to change because of this inconsistency. They each have their own goals and Chapter 13 - Modeling Behavior Using an Activity Diagram audiences that drive their choices regarding how to support OO concepts. Again, the UML standard cannot Part V - Modeling the Application Architecture be tied to a particular technology without losing its ability to keep pace with advancements in technology.
Chapter 14 - Modeling the Application Architecture Chapter - Modeling Software Component Diagram Finally,15 UML does not seek to Using usurpthe other modeling techniques such as Business Process Re-engineering Chapter 16 - Using or Deployment Diagramsmodeling. in UML 1.4However, it has proven itself to be robust enough to bring (BPR) flowcharts entity-relationship Chapter 17 - Representing an Architecture in UML 2.0 to the same modeling domains. The infrastructure of added precision, comprehensiveness, and flexibility
Part VI - Bringing Rigor to the Model UML (covered later in this chapter)

is actually designed to be the basis for defining any number of

modeling In the event, andUML to the extent that, these other modeling techniques conform to the Chapter 18 languages. - Applying Constraints to the Diagrams infrastructure, it will be possible to exchange model elements between the various techniques. For Chapter 19 - Action Semantics example, a UML model be input Process to an entity-relationship Part VII - Automating the could UML Modeling implemented in some tools. Tool Chapter 20 - Using a Modeling
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

model and vice versa. In fact, this is already

Features of UML

In addition the2.0 setNotation of diagrams defined in the UML specification, UML provides a set of features that Appendix B -to UML Guide derive from a variety of sources but have all proven valuable in real-world modeling: Appendix C - Standard Elements
Glossary Index

Extensibility mechanisms (stereotypes, tagged values, and constraints): No standard, language, or tool will ever be able to address 100 percent of the users' needs. Trying to deliver such a tool would List ofresult Figures in a never-ending project without any product. Instead, UML authors focused on a core set of List offunctionality Tables and features. Then they added a set of mechanisms-stereotypes, tagged values, and List ofconstraints-that Listings may be used to augment or tailor the core concepts without corrupting the integrity of

those core concepts. Applying a stereotype to a model element is like getting dressed up for a special < Day Day Up > occasion. You remain the same person regardless of what you wear, but the attire helps you fit into the particular situation. Stereotypes help UML identify Bible the role of an element within the model without defining or altering its fundamentalby purpose or function. Stereotypes for model elements work much the same as ISBN:0764526049 Tom Pender stereotypes for business descriptions; that is, you might point out a company and identify it as an John Wiley & Sons 2003 (940 pages) accounting firm, a shoe distributor, or a grocery store. But it is still a company. Tagged values provide For beginning to advanced users, this book provides the means to add new model elements that hold values-for example, author="Tom Pender". comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve Constraints allow you to define rules regarding the integrity or use of a model element, such as the timeliness, quality, and 1 efficiency in development. attribute "name" must be between and 40 characters including spaces and punctuation, but no special characters. UML added OCL Companion Web Site (see Chapter 18) for formally specifying constraints. Threads and processes: Threads and processes are an increasingly common aspect of
<?xml version="1.0" encoding="ISO-8859-1"?> applications. UML supports the modeling of threads and processes in all of the behavioral models, Table of Contents including the enhanced Activity diagram. (See Chapters 8 through 13.) UML Bible

Patterns and collaborations: In recent years developers have come to appreciate more and more Preface value of designs based Part Ithe - An Introduction to UML on proven solutions. Patterns and collaborations allow the modelers to define standard approaches to solving common problems. A pattern may then be applied to a variety Chapter 1 - What Is UML? of specific situations, bringing with it a combination of predefined roles and interactions. Patterns and Chapter 2 - UML Architecture collaborations may be identified and defined at many levels of abstraction, cataloged, and Chapter 3 - UML Diagrams and Extension Mechanisms documented for others to use. This approach brings reuse out of the realm of pure code and into Chapter 4 - Object-Oriented Concepts every phase of the modeling effort, from requirements and architecture through implementation.
Part II - Modeling Object Structure

Chapter 5 - Capturing Rules Objects in a Class Diagram For years business and technical staff have Activity diagrams (forabout business process modeling): Chapter 6 How to Capture Rules about Object Relationships relied on the flowchart. UML renamed the flowchart to Activity diagram. The Activity diagram is a Chapter 7 - yet Testing with Objects simple effective tool to model logic. Logic appears throughout the development process in
Part III - Modeling Object Interactions workflow, method design, screen

navigation, calculations, and more. The value of the Activity diagram

Chapter 8 - be Modeling Interactions in UML 1.4 cannot overlooked so it has been incorporated into the UML standard since the earliest versions. Chapter - Modeling Interactions in UML 2.0 To9 bring it up to date, it has been enhanced most recently with its own semantics, distinct from state

machines, to represent control flow and/or flow. Chapter 10 - Modeling an Object's Lifecycle in UML object 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Refinement (to handle relationships between levels of abstraction): Many concepts, such as classifiers and relationships, permeate all layers of systems development, and the semantics for these Chapter 12 - Modeling the Use of a System with the Use Case Diagram concepts hold true regardless of the business or technical environment. Each abstraction layer adds Chapter 13 - Modeling Behavior Using an Activity Diagram to, customizes, and otherwise refines the original definition. This approach supports and in some ways Part V - Modeling the Application Architecture encourages the development of varying applications of the concepts at each new level of abstraction. Chapter 14 - Modeling the Application Architecture The result of this approach has been the development of an increasingly holistic set of models for Chapter 15 - Modeling Software Using the Component Diagram systems development, all founded on the same conceptual standard, but each tailored to a unique Chapter 16 - Using Deployment Diagrams in UML 1.4 perspective.
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringingand Rigor to the Model Interfaces components:

One advantage of modeling is the ability to work at different levels of

abstraction instead of always the code level. Chapter 18 - Applying Constraints to working the UML at Diagrams
Chapter 19 - Action Semantics

Interfaces and components allow the modeler to work on a problem by focusing on the connectivity and communication issues that can help solve that problem. The implementation or even the internal Chapter 20 - Using a Modeling Tool design of a component can be ignored temporarily until the bigger issues of policy, protocol, interface, Chapter 21 - Customizing UML Using Profiles and communication requirements are resolved. Working at this higher level of abstraction produces a Chapter 22 - XML Metadata Interchange model that later can be, and often is, implemented in multiple environments.
Part VII - Automating the UML Modeling Process

Appendix A - UML 1.4 Notation Guide

Appendix B - UML language: 2.0 NotationThe Guide Constraint Object Constraint Language (OCL) provides the syntax to define rules that Appendix C -the Standard Elements insure integrity of the model. Much of the constraint concept is borrowed from programming by

contract, in which relationships between model elements are defined in terms of the rules that govern Glossary
Index an interaction. When two parties enter into a contract, the terms of the contract place obligations on

client (the person asking for a product or service) and the supplier (the one providing the product List ofthe Figures service). Constraints called pre-conditions define what the client must do in order to have the right List ofor Tables receive the product or service. Constraints also define the obligations the supplier must fulfill if the List ofto Listings

client fulfills her part. These constraints are called post-conditions or guarantees. Constraints can also < Day Day Up > apply to individual elements to define the domain of valid values. (See Chapter 18.) Action semantics: The goal of UML has always been to model software as accurately as possible. Modeling software means modeling behavior. The action semantics extensions enable you to express UML Bible discrete behaviors as actions. Actions can transform information and/or change the system. ISBN:0764526049 by Tom Pender Furthermore, UML models actions as individual objects. As such, actions may execute concurrently. In John Wiley & Sons 2003 (940 pages) fact, that is their normal mode of execution unless chained together to enforce sequential execution. For beginning to advanced users, this book provides Settling on concurrent execution as the norm better supports today's distributed environments. Action comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows how to use UML to improve semantics is specifications, also a major contribution toward executable UML. (See Chapter 19.)
timeliness, quality, and efficiency in development. Companion Web Site

< Day Day Up >


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Introducing UML 2.0 by Tom Pender


ISBN:0764526049

The next version John of UML, 2.0, is due to be released Wiley & Sons 2003 (940 pages) sometime in 2003. Three proposals have been submitted. I haveFor based the content of this users, book on those and my expectation that they will be beginning to advanced this booksubmissions provides adopted in wholecomprehensive or in part. Version 2.0 is a substantial improvement of the underlying architecture, coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to and use UML to improve cleaning up many of the fundamental definitions improving the alignment with the other key timeliness, quality, and efficiency in development. technologies sponsored by the OMG. I've outlined some of the specific objectives for version 2.0 set forth in the RFP. I don't expect beginners to UML to understand them from these very brief descriptions. The rest of this chapter explains many of the <?xml encoding="ISO-8859-1"?> new version="1.0" terms. The rest of the book is devoted to explaining how these concepts have been addressed in the Table of Contents diagrams and in the semantics that support the diagrams. For those of you who have been working with UML Bible UML for a while, these items should demonstrate the OMG's commitment to the long-term success of Preface UML.
Part I - An Introduction to UML

Companion Web Site

Improve architecture: Rework the physical metamodel so that it is more tightly aligned with the MOF Chapter 1 the - What Is UML? meta-metamodel. Improve the guidelines that establish what constructs should be defined in the kernel Chapter 2 - UML Architecture language what constructs should be defined in UML profiles or standard model libraries. (See Chapter 3 and - UML Diagrams and Extension Mechanisms
Chapter 4

Chapter 2.) - Object-Oriented Concepts

Part II - Modeling Object Structure

Chapter 5 - Capturing Rules about Objects in a Class true "four-layer architecture." Profiles provide muchDiagram of the customization support, at least in concept. But Chapter 6 How to Capture Rules about Object Relationships tagged values, and constraints) are still rather the extensibility features used to create them (stereotypes, Chapter 7 UML - Testing with Objects low-level. extensibility features should align more closely with the MOF extensibility features, that is,
Part III - Modeling Object Interactions metaclasses. (See Chapters 2 and 3.)

Provide improved extensibility: Enhance the extensibility mechanisms to align them more closely to a

Chapter 8

- Modeling Interactions in UML 1.4

Improve for component-based development: Current technologies such as EJB and COM+ Chapter 9 support - Modeling Interactions in UML 2.0 require a means to model and manage component-based designs. The current semantics and notation Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 are not quite up to the task. (See Chapters 15 through 17.) Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Improve the modeling of relationships: Improve the semantics for refinement and trace dependencies. Today it is difficult to support refinement of the models through the life cycle of a project, Chapter - Modeling Behavior Using to animplementation. Activity Diagram (See Chapter 6.) that is, 13 analysis to design or design
Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application Architecture

Chapter 14 the - Modeling the Application Architecture Separate semantics of statecharts and activity graphs: The initial UML specification tried to define

activity 15 graphs as a specialization of the a statechart. The overlap has created obstacles to business modeling Chapter - Modeling Software Using Component Diagram and has prevented the addition of valuable business modeling features. Support more relaxed Chapter 16 - Using Deployment Diagrams in UML 1.4 concurrency in both diagrams. Support specialization of state machines. (See Chapters 11 and 13.) Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the Define UML Modeling Process General mechanisms: support for model

Improve model management: Update the notation and semantics for models and subsystems to improve support for enterprise architecture views. versioning.

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

Bible The Object UML Management Group by Tom Pender


ISBN:0764526049

The organizationJohn responsible developing UML goals described previously is the Object Wiley & for Sons 2003 (940 the pages) Management Group (OMG). The OMG is the official of the UML standard. This is not simply For beginning to advanced users, thissteward book provides because the OMG likes standards or likes to take on work, but it is the driving force behind a comprehensive coverage of the versatility of 1.4 because and 2.0 UML and shows how to use UML to improve much larger planspecifications, for software development called Model-Driven Architecture (MDA). MDA is a genuinely timeliness, quality, and efficiency in development. ambitious effort to standardize systems development. The goal is to create a complete standard for the creation of implementation-independent models that may be mapped to any platform, present or future. Companion Web Site Did I say it was ambitious?
<?xml encoding="ISO-8859-1"?> UMLversion="1.0" plays an integral role in the development and use of the MDA approach. UML is the language used Table of Contents to describe the key standards of MDA, namely UML itself, the Meta-Object Facility (MOF), and the UML Bible Warehouse Model (CWM). UML is also used to create the work products of the MDA process, Common Preface specifically the business and implementation models.
Part I - An Introduction to UML

Chapter 1 Chapter 2

- What Is UML? Model-Driven Architecture (MDA) - UML Architecture

Chapter 3 - UML Diagrams and Extension Mechanisms Developers usually find that there is a division in most applications between the business logic and the Chapter 4 - Object-Oriented Concepts implementation mechanisms to support that logic. For example, selling tickets to a performance is a
Part II - Modeling Object Structure business practice that could be implemented

using any of dozens of technologies and techniques. But no

Chapter - Capturing Rules about Objects in a Class Diagram matter 5 how it is implemented, there are fundamental rules that must hold true. If the rules for conducting Chapter 6 - How to Capture Rules about Object Relationships the business transaction are bound to specific implementation technologies, then changes in those

technologies require changes to the rules of the transaction. Such changes incur the risk either of Chapter 7 - Testing with Objects corrupting the transaction or of causing Part III - Modeling Object Interactions delays while you untangle the business from the technology. This makes 8 even changing the application to 1.4 take advantage of technological advancements a risk to the Chapter - Modeling Interactions in UML business. Chapter 9 - Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Model-Driven Architecture (MDA) separates the two fundamental elements of an application into two distinct models. The platform-independent model (PIM) defines business functionality and behavior, the Part IV - Modeling Object Behavior essence of the system apart from implementation technologies. The platform-specific model (PSM) maps Chapter 12 - Modeling the Use of a System with the Use Case Diagram the PIM to a specific technology without altering the PIM. That last phrase is critical. Defining a PIM is like Chapter 13 - Modeling Behavior Using an Activity defining the job description "bookkeeper". We Diagram can define the purpose, responsibilities, qualifications, and Part V - Modeling the Application Architecture skills for the job, that is, the PIM, without knowing who will actually do the job. The PSM corresponds to Chapter 14 - Modeling Architecture hiring someone to dothe theApplication job defined by the bookkeeper job description.
Chapter 15 - Modeling Software Using the Component Diagram

This example highlights the power of the approach. I can hire different people over time. I can even Chapter 16 - Using Deployment Diagrams in MDA UML 1.4 hire multiple people at the time to in perform the book-keeping duties. I can even take the job Chapter 17 - Representing ansame Architecture UML 2.0 description to another and Part VI - Bringing Rigor company to the Model
Chapter 19 - Action Semantics

use it there. In the same manner, I should be able to take the same

PIM and it in many technologies or even in different businesses. Chapter 18deploy - Applying Constraints to the UML Diagrams The division of the two models also supports interoperability. A business function does not need to know the implementation of another business function in order to access it. The interface is defined in PIM Chapter 20 - Using a Modeling Tool fashion. The PSM takes care of the mapping to the implementation. So the calling function is unaffected Chapter 21 - Customizing UML Using of Profiles by changes to the implementation the called function. In the bookkeeper example, the bookkeeper Chapter 22 XML Metadata Interchange PIM/job description can define an interface to the general ledger. Where or how the general ledger is Appendix A - UML 1.4 Notation Guide implemented is irrelevant. The interface is always the same. Whether I implement the bookkeeping Appendix B 2.0 Notation Guide system at a UML department store, software consulting firm, or insurance company, and whether the system is Appendix C - Standard implemented in .NETElements or Java One, the interaction between the bookkeeper and the general ledger is the Glossary same. So, as technologies change over time, as they inevitably will, the business remains stable and relatively unaffected by the changes. Index
Part VII - Automating the UML Modeling Process

List of Figures List of Tables

List of Listings

This same concept applies to functions that should be globally available to systems such as transaction management, domain specific services, and application services. Having learned from its experience with

the CORBA-based Object Management Architecture, OMG recognizes the need for three levels of MDA< Day Day Up > based specifications built on the standardized technologies already defined by the OMG (see Figure 1-1): Pervasive Services include security, transaction management, directory support, and event generation and handling UML Bible common to most systems. Domain Facilities include standardized models for subject areas such as telecom, space sciences, John Wiley & Sons 2003 (940 pages) biotechnology, and finance.
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Applications are within a domain, such as a heart monitor in the biotechnology domain or a funds specifications, and shows how to use UML to improve transfer application in aquality, financial domain. timeliness, and efficiency in development. Companion Web Site by Tom Pender
ISBN:0764526049

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Figure The an Model-Driven Architecture. Chapter 11 - 1-1: Modeling Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

The core of the MDA is the set of standards (MOF, UML, CWM, and XMI) and technologies (CORBA, .NET, Java, and so on). The pervasive services are built on that core. Then based on these standards and Chapter 13 - Modeling Behavior Using an Activity Diagram services, businesses can build domain specific profiles for finance, e-commerce and so on. Within each Part V - Modeling the Application Architecture domain, businesses may then build specific applications that conform to the supporting standards.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram The Pervasive Services Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0 The features included in the Pervasive Services level are those commonly found in the existing list of
Part VI - Bringing Rigor to the Model CORBA services:

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Directory services Transactions

Chapter 20 - Using a Modeling Tool Chapter 21 Customizing UML Using Profiles Event handling/notification Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B sure - UML 2.0 Notation Guide The list is to grow in time with additions from the OMG itself, based on CORBA, and from CMG Appendix C Standard Elements members. Work has already started on mapping these services to PIMs so that they can be applied to all Glossary platforms through the MDA development approach. Index List of Figures Domain Facilities List of Tables

Security

A domain is simply a subject area, such as warehousing and distribution, or biotechnology. Each domain List of Listings

has its own peculiar set of problems and concepts. For example, there are many banks but they all < Day Day Up > conduct the same type of business. The resources they use, the behaviors they support, and even many of the regulations that govern their performance are the same. The differences arise in how they choose to embellish the basic business to appeal to their customers and to improve profitability. A domain is the Bible description of theUML fundamental elements common to all systems in the same subject area. The uses of by elements Tom Pender those fundamental define the applications within the ISBN:0764526049 domain. These applications are covered in thenext section. John Wiley & Sons 2003 (940 pages) Work has already begun on a number of of domain models.of Even though standards for specific comprehensive coverage the versatility 1.4 and 2.0 MDA-based UML and shows how to use Task UML to improve domains are still specifications, under development, OMG Domain Forces (DTF) have started to apply MDA to quality, andLife efficiency in development. existing projects. timeliness, For example, OMG's Science Research DTF, working in biotechnology, has already modified its Mission and Goals Statement Companion Web Site to reflect its work in MDA. In mid-2000, even before MDA, OMG's Healthcare DTF (formerly know by its nickname, CORBAmed) published its Clinical Image Access Service (CIAS) (http://www.omg.org/cgi-bin/doc?dtc/01-07-01) including a nonstandard UML model that <?xml version="1.0" encoding="ISO-8859-1"?> describes the specification written in OMG IDL. The document provides a good example of what a future Table of Contents MDA specification might look like.
UML Bible Preface Note In a true MDA specification, the model follows the UML standard and is fully developed, defining
Part I - An Introduction UML all interfacesto and operations

For beginning to advanced users, this book provides

including parameters and types, and specifying pre- and post-

Chapter 1 conditions - What Is UML? in OCL. Chapter 2 Chapter 3 Chapter 4 - UML Architecture

MDA Success Stories - UML Diagrams and Extension Mechanisms


- Object-Oriented Concepts

Part II - Modeling Object Structure

Companies who have applied/are applying MDA include:

Chapter 5 Regions - Capturing Rules about Objects in a Class Diagram Bank of Birmingham, Alabama Chapter 6 - How to Capture Rules about Object Relationships

Parliament Chapter 7 Swedish - Testing with Objects


Part III - Modeling Object Interactions

Chapter 8

Deutsche Bank Bauspar AG

- Modeling Interactions in UML 1.4

Chapter 9 U.S. - Modeling Interactions in UML 2.0 Government Intelligence Agency Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

The Open System Architecture Condition Chapter 11 - Modeling an Object's Lifecyclefor in UML 2.0 Based Monitoring (OSA-CBM) Project
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram ff-eCommerce
Part V - Modeling the Application Architecture

CGI

Swisslog Software AG Chapter 14 - Modeling the Application Architecture


Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architects Architecture in UML 2.0 Financial Systems
Part VI - Bringing Rigor to the Model

Adaptive; Adaptive Framework

Headway Software; Headway review Chapter 18 - Applying Constraints to the UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

IKV++ GmbH; m2c(tm)

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Applications Appendix A - UML 1.4 Notation Guide

For years, have started Appendix B -businesses UML 2.0 Notation Guide projects by modeling the business application requirements. As the projects C proceeded, fell deeper and deeper into implementation-dependent modeling, often losing Appendix - Standard they Elements sight of the original business requirements in the midst of the overwhelming task of working with everGlossary changing implementation technologies. As MDA-based development tools become more widely available, Index projects can be focused more on the platform independent model of the business requirements. In fact, List of Figures
List of Tables List of Listings

the focus throughout the project will remain on the original requirements while the implementation becomes more and more automated through the application of platform specific models.

Lest you think that this is a pipe dream, take a< look the list Dayat Day Up >of companies in the sidebar who are already using this technique successfully. Many more companies are listed at http://www.omg.org/mda/products_success.htm.

Meta-Object Facility (MOF) by Tom Pender


John Wiley & Sons 2003 (940 pages)

UML Bible

ISBN:0764526049

The Meta-Object Facility (MOF) is at the heart of the MDA strategy along with the UML, CWM, CORBA, beginning advanced users, this book provides and XMI. It is the For starting point,to the standard that defines the languages used to describe systems and comprehensive coverage of the versatility of 1.4 and 2.0 UML MDA itself. The MOF is a metamodel (often called M2 ), a model defining the concepts required to build a specifications, and shows how to use UML to improve model and to store the model in a repository. Thein model is stored by representing the metadata as timeliness, quality, and efficiency development. CORBA objects.
Companion Web Site

Models, metamodels, and meta-metamodels are more fully explained in Chapter 2. <?xml version="1.0" encoding="ISO-8859-1"?>
Table of Contents UML Bible

Cross-Reference

Currently the MOF defines all the foundation concepts needed to build the two modeling languages UML and CWM. Now just to make this a little more confusing, both UML and CWM are themselves Preface metamodels. They are models that define modeling languages. When a metamodel like MOF is used to Part I - An Introduction to UML define another metamodel, it becomes a meta-metamodel , or M3 for short. Since all elements defined by Chapter - What Is UML? UML or1CWM conform to the MOF standard, it is possible to define a standardized repository for all data Chapter 2 UML Architecture generated in UML or CWM or, in the future, any other languages derived from MOF.
Chapter 3 - UML Diagrams and Extension Mechanisms The model in the Concepts UML are created, or instantiated, from model elements defined in the MOF. Chapter 4 - elements Object-Oriented

For II example, theObject MOF defines the Part - Modeling Structure

concept "Classifier." UML defines a concept called "Classifier" that

inherits5the in the MOF and then adds to it for the purpose of modeling objects. CWM also Chapter - description Capturing Rules about Objects in a Class Diagram inherits6"Classifier" but for aRules different reason: adds to the "Classifier" definition to support modeling Chapter - How to Capture about Object CWM Relationships data.Figure 1-2 illustrates this relationship between the three models. Chapter 7 - Testing with Objects
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0

Figure 1-2: The relationship between Part VI - Bringing Rigor to the Model
Chapter 19 - Action Semantics

the MOF and the UML and CWM languages.

Chapter 18 - Applying Constraints to the UML Diagrams

MOF is also part of the long-term OMG strategy to support the creation and exchange of a variety of metamodels across diverse repositories. For example, using the MOF, a UML model might be transmitted Part VII - Automating the UML Modeling Process between tools by different vendors. Likewise, a UML object model might be ported to a data-modeling tool Chapter 20 - Using a Modeling Tool in order to derive a logical data model from the object model.
Chapter 21 - Customizing UML Using Profiles Appendix A - UML 1.4 Notation Guide Chapter 22 - XML Metadata Interchange MOF supports this long-term strategy by providing

TheBinfrastructure for implementing CORBA-based design and reuse repositories Appendix - UML 2.0 Notation Guide
Appendix C - Standard Elements Glossary models created using them Index List ofconsistency Tables List of Listings

The definition for a set of CORBA IDL interfaces to define and manipulate metamodels and the

rules for automatically generating the CORBA interfaces for metamodels, thus insuring List ofThe Figures

Common Warehouse Metamodel (CWM) < Day Day Up >


The Common Warehouse Model (CWM) was developed in cooperation with the Meta-Data Coalition (MDC). The goal of CWM was to provide to the data modeling community the same type of solution that Bible modeling community. In the same way that UML describes a common UML provided to UML the object ISBN:0764526049 by Tom Pender systems, CWM describes metadata modeling language for building interchange among data warehousing, John Wiley & Sons 2003 (940 pages) business intelligence, knowledge management, and portal technologies. Like UML, CWM is a language derived from the For MOF. CWM provides the mapping from MDA PIMs to database schemas. CWM covers beginning to advanced users, this book provides comprehensive coverage of managing the versatility of warehouse 1.4 and 2.0 applications UML the full life cycle of designing, building, and data and supports specifications, management of the life cycle. and shows how to use UML to improve
timeliness, quality, and efficiency in development.

You can find the specifications for CWM at http://www.omg.org/technology/documents/formal/cwm.htm . Companion Web Site Two other specifications to extend CWM to the Internet are also currently under way: CWM Web Services (http://www.omg.org/techprocess/meetings/schedule/CWM_Web_Services_RFP.html) and CWM <?xml version="1.0" encoding="ISO-8859-1"?> Metadata Interchange Patterns (MIP) Table of Contents (http://www.omg.org/techprocess/meetings/schedule/CWM_MIP_RFP.html).
UML Bible Preface XML

Metadata Interchange (XMI)

Part I - An Introduction to UML

Chapter 1 - What Is UML? At its simplest level, XMI defines a mapping from UML to XML. It defines standard formats and Document

Type Definitions (DTD) to capture UML models (and metamodels). This makes it possible to then convert Chapter 2 - UML Architecture a UML 3 model into XML, distribute it pretty much anywhere, and then convert it back to UML. The mapping Chapter - UML Diagrams and Extension Mechanisms also makes it possible to exchange UML models between tools and across platforms. Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5

Cross-Reference

- Capturing Rules about Objects in a Class Diagram

You can read more about XMI in Chapter 22.

Chapter 6 - How Capture uses Rules about Object Relationships Technically, XMIto mapping MOF metadata, not UML. But since UML is based on the MOF metadata, Chapter 7 Testing with Objects anything defined by UML is compatible with XMI mapping features. Additional work is being done to extend
Part III Modeling Object Interactions XMI to support W3C-standard XML schema.

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Day Up > < Day Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

UML grew out of John the increasingly complex challenge to build systems that not only met users' Wiley & Sons 2003 (940 pages) requirements butFor that could withstand the ever-changing technological environment. Change, complexity, beginning to advanced users, this book provides and speed conspired to focus critical attention on how to build robust, durable comprehensive coverage of the versatility of 1.4 and 2.0 UML systems. One result was a specifications, and shows how to use UML to improve standard language for modeling systems, the Unified Modeling Language (UML).
timeliness, quality, and efficiency in development.

But the desire for truly industry-capable tools to build systems did not stop there. The OMG has continued Companion Web Site to spearhead the effort to build a comprehensive strategy in the form of Model-Driven Architecture (MDA). There are a lot of languages involved in these strategies. Here's how they all relate: <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents The Meta Object Facility (MOF) defines a common meta-language for building other languages. UML Bible
Preface
Part I - An Introduction to UML

UML defines a meta-language, derived from the MOF, for describing object-oriented systems.

Chapter 1 Common - What IsWarehouse UML? The Metamodel defines a meta-language, derived from the MOF, for describing Chapter 2 warehousing - UML Architecture data and related systems. Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

XML Metadata Interchange defines the means to share models derived from the MOF. - Object-Oriented Concepts
- Capturing Rules about Objects in a Class Diagram Day Day Up > - How to Capture Rules about Object < Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

- UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Chapter UML 2: UML Architecture by Tom Pender

ISBN:0764526049

John Sons 2003 (940 pages) In every version of theWiley UML,& the authors have applied a four-layer metamodel architecture. Although time For beginning to advanced users, this bookfrom provides pressures kept the original specification's implementation being all it needed to be for the long term, comprehensive coverage of the versatility of 1.4 and 2.0 UML UML 1.4 successfully adheres to the four-layer concept. The authors of 2.0 have taken great pains to specifications, and shows how to use UML to improve expand on the four-layer approach, andefficiency their effort in an improved implementation of it. I'll step timeliness, quality, and in results development.

through both UML 1.4 and 2.0 versions after I discuss the significance of the four-layer metamodel Companion Web Site architecture.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

The Four-Layer Metamodel Architecture

UML Bible Understanding the four-layer model will be easier if we start with an example using two layers and build Preface up. To do this, though, I need to use Class diagram notation. If you are unfamiliar with this Class diagram
Part I - An you Introduction to UML notation, may want to read

Chapters 5 and 6 first, and then come back here.

Chapter 1 Chapter 2

Chapter 1 -explained that the MOF is a metamodel, a model that defines the concepts used to build UML Architecture models. When you show the relationship between the metamodel and the model, as in Figure 2-1, you get Chapter 3 - UML Diagrams and Extension Mechanisms two layers, the metamodel and the model. The metamodel layer defines what a Class is. It tells us that a Chapter 4 - Object-Oriented Concepts class may contain attributes and operations and that it may participate in associations. The Class in the Part II - Modeling Object Structure metamodel is a metaclass , a concept that describes what a class is and how to use it. An instance of the Chapter 5 - Capturing Rules about Objects in a Class Diagram Class metaclass is a class that you can see on a diagram. It contains attributes about a type of object, Chapter 6 - How to Capture Rules about Object Relationships operations that the type of object can support, and information about the associations that the type of Chapter 7 - Testing in. with Objectsinstances of the metaclass Class describe different types of objects. In object participates Different Part III - Modeling Object Interactions Figure 2-1, Person and Car are both model-level classes that are instances of the metaclass Class.
Chapter 8 Chapter 9 - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

- What Is UML?

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - 2-1: Representing an Architecture in UML 2.0Association instantiated in a model containing two Figure A metamodel defining Class and
Part VI - Bringing the Model instances of Rigor class to and an instance

of association (the arrow between Person and Car).

Chapter 18 - Applying Constraints to the UML Diagrams

The metamodel also defines an Association and how to represent it; that is, structures and relationships Chapter 19 - Action Semantics thatVII describe any association. The Association Part - Automating the UML Modeling Process in the metamodel is a metaclass just like Class. An instance of the metaclass Association is an association on a class diagram, modeled as the arrow Chapter 20 - Using a Modeling Tool between Person and Car in Figure 2-1. Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide can be used to create a model. The model layer describes information such as people and cars and their Appendix B UML 2.0 Notation Guide relationships, using the symbols defined in the metamodel. The model layer is where all UML diagrams Appendix C developers - Standard Elements drawn by exist. The UML (metamodel) defines the rules that govern how modelers draw the Glossary diagrams and define the elements of the diagram. Index

In this two-layer example, the metamodel layer defines the symbols-such as classes and associations-that

Earlier I said that a model element is an instance of a metamodel element. But that seems to conflict with List of Figures theof common List Tables object-oriented terminology that says that an object is an instance of a class. The concept of
List of Listings

instantiation can become confusing in this context. To instantiate a metamodel means to create a model,

like creating a Person class from the Class metaclass. Instantiating a model class means creating an < Day Day Up > object of that type. In Figure 2-2 the object Mike is an instance of the class Person. Both are model level elements.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> 2-2: A metamodel defining a Class and an Instance Specification instantiated by a diagram Table Figure of Contents

containing a class and an object. UML Bible


Preface

But in order to model the object Mike we need a definition for modeling an object. Figure 2-2 illustrates that it is valid and useful to define a metamodel for instances, in this case a metaclass called Chapter 1 - What Is UML? InstanceSpecification. InstanceSpecification defines the needed modeling elements for describing an Chapter 2 - UML Architecture instance. To instantiate the InstanceSpecification, model an object like Mike:Person, that is, an instance Chapter 3 - UML Diagrams and Extension Mechanisms called Mike of type Person. Note that Mike: Person is still a model element, not the actual object Mike. Chapter 4 - be Object-Oriented Concepts That would yet a third layer.
Part I - An Introduction to UML Part II - Modeling Object Structure

Chapter 5 layering - Capturing Rules about Objects in a Class Diagram Using the concepts similar to those illustrated in the previous examples, the UML authors set out

to employ aHow multi-layered architecture theRelationships one shown in Table 2-1. Chapter 6 to Capture Rules about like Object
Chapter 7 Chapter 8 Chapter 9 - Testing with Objects
Part III 2-1: - Modeling Object Interactions Table The Four-Layer Architecture

(OMG 1.4) Example

Layer

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Description

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

MetaThe infrastructure for a MetaClass, MetaAttribute, MetaOperation metamodel metamodeling architecture. Chapter 12 - Modeling the Use of a System with the Use Case Diagram (M3) Defines the language for Chapter 13 - Modeling Behavior Using an Activity Diagram specifying metamodels.
Part V - Modeling the Application Architecture

Metamodel instance of a metaChapter 14 - ModelingAn the Application Architecture for specifying a model. Chapter 16 - Using Deployment Diagrams in UML 1.4
Chapter - Representing an Architecture in UML 2.0 Model17 (M1) An instance of a metamodel.
Part VI - Bringing Rigor to the a Model Defines language

Class Property, Operation, Component

(M2) 15 - Modelingmetamodel. Defines the language Chapter Software Using the Component Diagram StockShare, askPrice, sellLimitOrder, StockQuoteServer <Acme_SW_Share_98789>, <654.56, sell_limit_order, <Stock_Quote_Svr_32123>

to describe an

Chapter 18 - Applyinginformation Constraints domain. to the UML Diagrams Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

User object An instance of a model. Defines (user data) the values of a specific domain. Chapter 20 - Using a Modeling Tool (MO)
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Appendix A UML 1.4 Notation Guide Layer M3 (meta-metamodel) is a model that describes the artifacts of and rules for a metamodel. In

Table 2-1, M3 layer defines the rules for defining a metaclass. This level of abstraction supports the Appendix B -the UML 2.0 Notation Guide creation C of- many different models from the same set of basic concepts. For example, both UML and CWM Appendix Standard Elements derive from the same MOF model. MOF exemplifies M3, and UML exemplifies M2. Glossary
Index

Layer M2 (metamodel) is a model that describes the artifacts of and rules for a model. In the context of this book, it is UML that defines the model for elements like attributes, classes, and instances. (These are List of Tables just samples. The actual specification includes many more model elements.) The UML definition of a
List of Figures List of Listings

class extends the core definition of the Class metaclass found in the M3 layer. The UML definition for an < Day Day Up > attribute also extends the MOF Class definition. It is valid, and useful, to allow a class at one level to inherit from multiple classes in the level above. This encourages a model in which the higher layers are extremely cohesive and loosely coupled to support the widest range of application.
UML Bible

Layer M1 (model) the Pender model that describes the artifacts and rules for the problem domain. This is the ISBN:0764526049 byis Tom level at which weJohn draw Class diagrams, Sequence diagrams, and so forth. Classes and objects, Wiley & Sons 2003 (940 pages) associations, attributes, and all other elements of the model layer depend on the M2 layer definitions. For beginning to advanced users, this book provides Layer MO consists of the runtime created executing the model. specifications, andelements shows how to use by UML to improve
timeliness, quality, and efficiency in development. comprehensive coverage of the versatility of 1.4 and 2.0 UML

To sum up, layer M0 represents the actual artifacts of the problem domain, consisting of the elements Companion Web Site created and used at runtime. Layer M1 is a model of layer M0, layer M2 is a model of layer M1, and finally, layer M3 is a model of M2.
<?xml version="1.0" encoding="ISO-8859-1"?> This layered approach to defining concepts leads to the possibility that the same concept (class Table Note of Contents UML Bible Preface

Part I - An Introduction to UML

name) may appear at multiple levels. Each lower level inherits the concept from the layer above and adds to or overrides the definition. For example, Classifier appears in both M3 and M2. The definition in M2 adds new features not defined in M3.

Chapter 1 this - What Isfar UML? Although is as as the UML architecture goes, multilayer architecture may actually have an infinite Chapter 2 of-layers. UML Architecture number Successive higher layers come from the process of abstraction, a natural process of Chapter 3a set - UML Diagrams and Mechanisms refining of rules. It is a bitExtension like mathematics in the sense that as we progress through our education in Chapter 4 discover - Object-Oriented Concepts math, we first the basic concepts like adding and subtracting. Then we learn that there are rules
Part - Modeling Object Structure thatII govern why addition and subtraction

actually work. As we continue our math studies we encounter

Chapter 5 - higher Capturing Rules about Objects in a Class Diagram higher and level principles that govern broader principles that can be applied to many different

types of Chapter 6 math. - How to Capture Rules about Object Relationships


Chapter 7

Moving to lower levels of abstraction, the application of the principles can be layered to define rules for converting a visual model to a programming language model. That language can be mapped to other Chapter 8 - Modeling Interactions in UML 1.4 lower-level languages, and finally to ones and zeros in computer memory.
Part III - Modeling Object Interactions

- Testing with Objects

Chapter 9

- Modeling Interactions in UML 2.0

Chapter 10 - Modeling an is Object's Lifecycle in UML 1.4 Driven Architecture). You could think of it as the old This layering approach at the heart of MDA (Model Chapter 11 - Modelingapproach. an Object's Lifecycle in UML divide-and-conquer As we isolate the 2.0 different levels of problems to solve and abstract the
Part IV - Modeling Behavior principles further Object away from the implementation,

we create the ability to mix and match solutions and

Chapter 12 -We Modeling the Use done of a System with similar the Usefor Case Diagram principles. have already something years, separating interface from implementation in Chapter 13 - Modeling Behavior Usingproblem an Activity Diagram object-oriented design. A business solved at one layer may be implemented in any number of
Part V - Modeling the Application Architecture solution environments while preserving consistent

definitions throughout by mapping each layer to the

next. 14 - Modeling the Application Architecture Chapter


Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 <2.0 Day Day Up > Chapter 17 - Representing an Architecture in UML
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible UML Version 1.4 by Tom Pender


ISBN:0764526049

UML 1.4 was published in September of 2001. UML 1.4 with Action Semantics (also known as UML 1.5) John Wiley & Sons 2003 (940 pages) was published a year later. UML was developed MOF and OMG's CORBA technologies. For beginning to 1.4 advanced users, thisalongside book provides The complete integration of these three standards would later be realized by UML 2.0. By striving to align comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve MOF, UML, and CORBA, the authors were trying hard to pave the way for future extensibility. The 1.4 timeliness, quality, and efficiency in development. specification includes Formal definition of a common Object-Oriented Analysis and Design (OOA&D) metamodel semantics Graphic notation for OOA&D <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Model interchange using XMI UML Bible
Preface
Part I - An Introduction to UML

Companion Web Site

Chapter 1 Chapter 2 Chapter 3 Chapter 4

Model interchange using CORBA IDL (this feature might be dropped in UML 2.0 due to lack of interest)
- What Is UML? - UML Architecture

Language architecture - UML Diagrams and Extension Mechanisms

- Object-Oriented Concepts UML 1.4 consists of three top-level packages and additional specifications for Action Semantics and the Object Constraint Language. The three top-level packages each contain a unique set of resources Chapter 5 to -define Capturing Rules about Objects in represents a Class Diagram needed a UML model. Figure 2-3 the three packages: Behavioral Elements and Chapter 6 How to Capture Rules about Object Model Management packages, which depend Relationships on the Foundation package (in UML, the dashed arrow Chapter 7 -a Testing with Objects represents dependency).
Part II - Modeling Object Structure Part III - Modeling Object Interactions

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles

Figure 2-3: Top-level packages of UML 1.4. OMG 1.4

Chapter 22 - XML Metadata Interchange Cross-Reference Packages are UML's way of organizing information, much like directories. Appendix A - UML 1.4 Notation Guide Packages are fully explained in Chapter 14. Appendix B - UML 2.0 Notation Guide

A dependency arrow Elements between packages simply means that the thing at the source of the arrow needs Appendix C - Standard
Glossary

something that is owned by the thing at the target end of the arrow. For example, the Behavioral Elements package contains the Instance class that inherits from the Classifier class in the Foundation package. Index Without access to the Classifier class, the Instance class would be incomplete. Because Classifier is List of Figures required by many classes in both Behavioral Elements and Model Management packages, it makes sense List of Tables to put it in a common package, namely the Foundation package.
List of Listings

Foundation package

< Day Day Up >

The Foundation package provides those model elements that are required throughout the metamodel in the construction of other elements. Figure 2-4 identifies three sub-packages: Core elements, Extension UML Bible Mechanisms, and Data Types.
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram

Part II - Modeling Object Structure

- How to Capture Rules about Object Relationships Figure UML 1.4 Foundation packages. Chapter 7 - 2-4: Testing with Objects

OMG 1.4 Object Interactions Part III - Modeling


Chapter 8

Nearly all of the diagram elements in UML derive their basic features from the elements defined in these Chapter 9 - Modeling Interactions in UML 2.0 three packages. So it is important that you be familiar with their basic features. You don't need to Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 memorize the descriptions that follow, but you will probably want to mark these pages so that you can Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 refresh you memory when these elements are used later to explain the features of each diagram notation.
Part IV - Modeling Object Behavior

- Modeling Interactions in UML 1.4

Chapter 12 - Modeling the Use of a System with the Use Case Diagram The Core package Chapter 13 - Modeling Behavior Using an Activity Diagram
Part VCore - Modeling the provides Application The package theArchitecture bulk of the fundamental

constructs of the UML metamodel. It contains

some classes that cannot be instantiated but which define a fundamental set of features. A class that Chapter 14 - Modeling the Application Architecture cannot 15 be instantiated is called abstract. Some abstract classes are ModelElement, Chapter Modeling Software Using the Component Diagram GeneralizableElement, and Classifier. Chapter 16 - Using Deployment DiagramsI'll in explain UML 1.4these classes in more depth in just a moment. These abstract classes serve asan the basis for ain number of other, more specialized classes that can be Chapter 17 - Representing Architecture UML 2.0 instantiated. Part VI - Bringing Rigor to the Model
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

A class that can be instantiated is called concrete. Core concrete classes include Class, Property, and Association. Other concrete classes include Instance, Operation, Link, and many more. These are the Part VII - Automating the UML Modeling Process classes that define the concepts that appear either as notation on UML diagrams or as description Chapter 20 for - Using a Modeling Tool elements notations on the diagrams.
Chapter 21 - Customizing UML Using Profiles

Take a22 brief lookMetadata at three Interchange Core abstract classes: Chapter - XML
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

ModelElement: ModelElement is the most basic definition of a modeling entity. It is the definition from which all other modeling metaclasses derive. A model element may have constraints, may be derived, Appendix C - Standard Elements has an associated set of zero or more presentation options, may be stereotyped, and may contain any Glossary number of tagged values. Hence, any other metaclass deriving from ModelElement already Index possesses all of these same features.
List of Figures List ofGeneralizableElement: Tables A GeneralizableElement may be specialized into any number of other List ofelements. Listings For example, a Classifier may be specialized into Class, Property, and Association. When

specialized like this, the GeneralizableElement contains the features that all the specialized elements < Day Day Up > have in common. It may also be a specialization of another GeneralizableElement. This concept makes it possible to construct a hierarchy of elements in which each element above contains shared or generalized properties, and each element below in the hierarchy contains only those properties UML Bible unique to that new type of element.
by Tom Pender
ISBN:0764526049

Classifier: A classifier a named element with features. As a subclass of ModelElement, a John Wiley describes & Sons 2003 (940 pages) classifier may have constraints, may be derived, an associated set of zero or more presentation For beginning to advanced users, this has book provides options, maycomprehensive be stereotyped, and may contain any number of tagged values. It describes an element coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML improve that may be named uniquely within a namespace liketo a package.
timeliness, quality, and efficiency in development.

A classifier is itself a namespace. As such, it can contain other, nested classifiers. A classifier declares a Companion Web Site collection of features, both structural and behavioral, like attributes and operations, respectively. It may be generalizable, that is, it may inherit from GeneralizableElement. A classifier may own behavioral models <?xml encoding="ISO-8859-1"?> suchversion="1.0" as state machines, and collaborations that are used to explain the classifier's lifecycle and behaviors.
Table of Contents

The classifier metaclass is specialized to define many other metaclasses such as Class, Object, UML Bible Association, Link, Use Case, Collaboration, and many more common UML model elements. So in some Preface of the narrative I to refer to Part I - book An Introduction UML
Chapter 2 Chapter 3 - UML Architecture

"classifier" instead of the specific sub-metaclass, to make it clear that I am describing a concept that applies to all classifiers. Chapter 1 - What Is UML?

The Extension Mechanisms package - UML Diagrams and Extension Mechanisms


elements for specific application domains or technologies. Extension mechanisms include stereotypes,

Chapter 4 - Object-Oriented The Extension MechanismsConcepts package provides a means to tailor the use and appearance of existing
Part II - Modeling Object Structure

Chapter 5 - Capturing Rules about Objects in adescription Class Diagram constraints, and tagged values. (A complete of these mechanisms is provided in Chapter 3.) Chapter 6 - How to Capture Rules about Object Relationships Chapter 7 - Testing with Objects The Data Types package
Part III - Modeling Object Interactions

The Data package defines a UML common Chapter 8 Types - Modeling Interactions in 1.4 set of valid data types and enumerations for use in defining the metamodel. They are the data used in the diagrams that describe the UML metamodel, not the Chapter 9 - Modeling Interactions in types UML 2.0 data types are used in UML Lifecycle modeling. data types are defined in the following list. You Chapter 10 -that Modeling an Object's in The UML available 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

might want to skip this section for now and refer back to it when you encounter the terms in the chapters that describe the diagrams that use the data types. Part IV - Modeling Object Behavior
Chapter 12 - Modeling the Defines Use of a the System with Use Case Diagram AggregationKind: end of anthe association. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application none: The associationArchitecture end is not an

aggregate.

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor tovalue the Model the aggregate of "none."

aggregate: The association end is an aggregate so the object on the other end is part of it. The part must have the aggregate value of "none." The distinction between aggregation and composition is covered ArgListsExpression defines a statement that evaluates to

Chapter 17 composite: - Representing Architecture in is UML 2.0 Thean association end a composite so the other end is part of it. The part must have Chapter 18 fully - Applying Constraints to the UML Diagrams in Chapter 6. Chapter 19 - Action Semantics

ArgListsExpression: In Modeling the metamodel an Part VII - Automating the UML Process a set object Chapter 20 of - Using a lists. Modeling Tool
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A true: - UML 1.4condition Notation is Guide The satisfied. Appendix B - UML 2.0 Notation Guide

Boolean: A set of logical alternatives.

The condition Appendix Cfalse: - Standard Elementsis not satisfied.


Glossary Index

BooleanExpression: A statement that evaluates to a Boolean value.

List ofCallConcurrencyKind: Figures Used to describe how calls may be made to an instance and how they will be List ofprocessed Tables when received. List of Listings

sequential: Calls to the instance must be coordinated so that no more than one call is handled at < Day Day Up > a time. Attempts to do otherwise put the integrity of the system at risk. guarded: Multiple calls are allowed but only one is processed at a time.
by Tom Pender John Wiley & Sons 2003 (940 pages) ChangeableKind: Defines the allowed modifications for an attribute value (via an AttributeLink) or the For beginning to advanced users, this book provides end of a link (LinkEnd). comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML toallowed. improve changeable: No restrictions. All modifications are timeliness, quality, and efficiency in development.

concurrent: Multiple calls may occur simultaneously and all may proceed simultaneously. ISBN:0764526049

UML Bible

frozen: Once values have been Companion Web Site initialized, they may not be altered. addOnly: Once the values have been initialized, new values may be added but values may not
<?xml version="1.0" encoding="ISO-8859-1"?> be deleted. Table of Contents

Expression: A statement that evaluates elements of the environment but does not alter the UML Bible environment. Evaluation of the statement results in a set of instances. It is valid to get an empty result Preface (Compare with Part Iset. - An Introduction toProcedureExpression.) UML
Chapter 1 Chapter 2

name: An identifier for the expression.


- UML Architecture

- What Is UML?

Chapter 3 language: - UML Diagrams and Extension Mechanisms The name of the language used to write the expression. The predefined languages Chapter 4 are - Object-Oriented Concepts Object Constraint Language (OCL) and the default signified by a blank. A blank language is
Part II - Modeling Object Structure interpreted to mean that

the language is natural language intended for human use. In other

Chapter 5 words - Capturing Rules about infree-form a Class Diagram the expression is Objects written in text. The language may be any programming

or specification language. Chapter 6 language - How to Capture Rules about Object Relationships
Chapter 7
Part III - Modeling Object Interactions

body: The text of the expression.

- Testing with Objects

Chapter 8 - Modeling Interactions in UML 1.4 the UML in vendor tools. The attribute is used to hold the Geometry: Geometry is defined outside Chapter 9 - defined Modeling Interactions 2.0 the shape of the icon associated with a model element like a values by the vendorin toUML describe Chapter 10 or - Modeling Object's Lifecycle in UML 1.4 class decisionan node. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Integer: integer in the metamodel Part IV - Modeling Object Behavior

is a classifier that is an instance of the Primitive class representing the set of integers. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

LocationReference: A means to identify where to make a reference to another element during a behavior sequence, such as an extension use case.

Chapter 15 - Modeling Software Using the Component Mapping: (Identified but not actually defined in Diagram UML 1.4.) A text string that describes how elements in Chapter 16 - Using Deployment Diagrams in UML 1.4 one model map to elements in another model. Chapter 17 - Representing an Architecture in UML 2.0

MappingExpression: AModel statement Part VI - Bringing Rigor to the


Chapter 19 - Action Semantics

that evaluates to a mapping.

Chapter 18 - Applying Constraints to the UML Diagrams

MultiplicityRange: An upper and lower limit on the cardinality that may be assigned to an element. The lower limit may be zero but not negative. The upper limit must be equal to or greater than the Part VII - Automating the UML Modeling Process lower limit and may be infinity.
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing Using Profiles Name: A token that UML is assigned to a model element. Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

OrderingKind: Used in conjunction with elements that may have a multiplicity of greater than one. The values designate the sequencing requirements for the members of the set.

Appendix Cunordered: - Standard Elements The members of the set are maintained in no particular order. Glossary Index

ordered: The members of the set are kept in order as created. Other options (sorted , for example) may be created using stereotypes.

List of Figures List of Tables

List ofParameterDirectionKind: Listings Defines the usage of a parameter on behavioral features such as an

operation.

< Day Day Up >

in: The value is for input only and may not be modified. out: The value is for output and may be modified. UML Bible
ISBN:0764526049 by Tom Pender inout: The value is provided as input to the behavior and may be modified as part of the output.

John Wiley & Sons 2003 (940 pages)

return: The return value of a call. users, this book provides For beginning to advanced
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, shows how to use UML to improve ProcedureExpression: A and statement that can modify the environment when it is evaluated. (Compare timeliness, quality, and efficiency in development. with Expression.)

PseudostateKind: Within a Statechart diagram, states define the condition of an object. Pseudostates define mechanisms that support navigation through the Statechart diagram.
<?xml version="1.0" encoding="ISO-8859-1"?> choice: A decision point from which there may be any number of alternative transitions. Table of Contents UML Bible Preface

Companion Web Site

Part I - An Introduction to UML

deepHistory : When a transition ends in a deepHistory pseudostate, the state of the object is fully restored to the state it was in before it last exited. (Contrast with shallowHistory.)

Chapter 1 shallowHistory - What Is UML? : When a transition ends in a shallowHistory pseudostate, the state of the object is Chapter 2 restored - UML Architecture to the state it was in before it last exited, but without resetting any substates that might Chapter 3 have - UML Diagrams and Extension Mechanisms applied. (Contrast with deepHistory.) Chapter 4 - Object-Oriented Concepts

fork : Identifies a point where Part II - Modeling Object Structure


Chapter 6 Chapter 7

a single transition generates multiple concurrent transitions. (See

Chapter 5 join.) - Capturing Rules about Objects in a Class Diagram

Part III - Modeling Object Interactions

join: Identifies a point where multiple concurrent transitions end and become a single transition. - Testing with Objects (See fork.)

- How to Capture Rules about Object Relationships

Chapter 8 initial - Modeling Interactions in UML 1.4 entering a composite state or the starting transition on a : The default transition when Chapter 9 Statechart - Modeling diagram. Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV

junction: Defines a focal point at which many incoming and outgoing transitions intersect. Only one combination of one incoming and one outgoing path fire at any one execution. - Modeling Object Behavior

Chapter 12 - Modeling the Use a Systemboundaries with the Use Case ScopeKind : Defines theof governing for the Diagram definition of an element. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture instance : The element is contained

within an instance of a classifier, that is, an attribute value is

an object. Chapter 14 contained - Modelingwithin the Application Architecture


Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model String : A classifier element that

Chapter 17 - Representing an Architecture in UML 2.0

classifier. The element is contained within a classifier, that is, an attribute value is contained within a class, common to all instances of the class. contains text. it defers to the constraints of the implementation

Chapter 18 - Applying Constraints to the UML Diagrams

TimeExpression: A statement that defines the occurrence of an event. However, UML does not Chapter 19 - Action Semantics define the format for the Modeling expression. Instead, Part VII - Automating the UML Process environment. Chapter 20 - Using a Modeling Tool
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

TypeExpression: The encoding of programming language data type, like Java short, long, or float, used with an instance of ProgrammingLanguageDataType.

Appendix B - UML 2.0 Notation Guide to the symbol used to mean that there is no upper limit to a value-for UnlimitedInteger: A reference Appendix C - Standard Elements example, the asterisk (*) used in multiplicity ranges. Glossary Index

Uninterpreted: In the UML metamodel, an Uninterpreted element is a blob, a domain specific concept that is not defined within the UML. The designation is interpreted by the domain into which the List of Figures model is mapped.
List of Tables List ofVisibilityKind: Listings Defines the allowed access to a model element such as an attribute or operation. The

types of visibility are private, public, package, and protected. The meaning of each visibility is fully < Day Day Up > explained in Chapter 5.

Behavioral UML Elements package Bible


ISBN:0764526049 by Tom Pender The Behavioral Elements package contains the model elements used to represent how the system works John Wiley & Sons 2003 (940 pages) in terms of controlling actions and interactions between elements. As Figure 2-5 shows, behavior is beginning to advancedusing users, this book provides namely Collaboration diagram, Use described from aFor number of perspectives different diagrams, comprehensive coverage of the versatility of 1.4 and 2.0 UML Case diagram, State Machine, and Activity graph. But all of these diagrams depend on the same set of specifications, and shows how to use UML to improve core-behavior-related concepts to build their unique description of system behavior. The Use Case timeliness, quality, and efficiency in development. diagram models user interactions. The State Machines model object lifecycles. Activity graphs model logic Companion Web Site sequences. Collaboration diagrams model standard patterns of interactions that appear through the system design. All describe behavior but for a different audience and to reveal a different aspect of the system's behavior.encoding="ISO-8859-1"?> <?xml version="1.0"

Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure 2-5: UML 1.4 Behavioral Elements packages. OMG 1.4

Collaborations

Chapter 14 - Modeling the Application Architecture

Collaborations explain how classifiers work together to perform an operation or an interaction between Chapter 15 - Modeling Software Using the Component Diagram elements. Collaborations include two key concepts: Chapter 16 Using Deployment Diagrams in UML 1.4 the structure of the participating elements and the pattern17 of messages exchanged between elements. Collaboration may be modeled at the classifier or Chapter - Representing an Architecture in the UML 2.0 instance level. InRigor fact, it be modeled Part VI - Bringing tomay the Model
Chapter 19 - Action Semantics

at just about any level of abstraction all the way up to systems.

Chapter 18 - Applying Constraints to the UML Diagrams

Collaboration is also a common way to model design and analysis level patterns. Patterns define common ways that model elements may be configured to accomplish a type of work. Work requires interaction, and Part VII - Automating the UML Modeling Process a collaboration provides the needed concepts to appropriately represent the pattern requirements.
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles 7. Collaborations are defined fully in Chapter Chapter 22 - XML Metadata Interchange

Use cases Appendix A - UML 1.4 Notation Guide


Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

Use cases represent how clients interact with the system. A Use Case diagram is like an encapsulated view of the entire system in that the client can only see and interact with the interface provided by the Glossary system. The internal workings, the implementations, are inaccessible to the client except through the Index published interfaces, the use cases.
List of Figures List of cases Tablesare defined fully in Chapter 12. Use List of Listings

State Machines

< Day Day Up >

State Machines model the transformations that take place within an object over time. The transformations are responses to stimuli from outside the object. State is described by the values of the properties of an UML Bible object at a point in time. Transformations in the values redefine the state of the object. A State Machine ISBN:0764526049 by Tom Pender reveals that two key elements are needed to understand and manage the life of the object: the events that John Wiley Sons 2003 (940 pages) trigger the changes, and the&behaviors that accompany the events and actually make the changes. State Machines are defined fullycoverage in Chapter 11. versatility of 1.4 and 2.0 UML comprehensive of the
specifications, and shows how to use UML to improve timeliness, quality, andimplemented efficiency in development. Note State Machines are formally in UML 1.4 as Statechart diagrams. In UML 1.4, the State Machine package is the parent package for both Statecharts and Activity graphs. Companion Web Site For beginning to advanced users, this book provides

Activity graph
<?xml version="1.0" encoding="ISO-8859-1"?> An Activity graph is basically the old flowchart. It models logic, any logic, from workflow to the sequence of Table of Contents

behaviors UML Bible in a single method. The authors of UML 1.4 tried to fit the Activity graph into the State Machine metamodel as a refinement of a state machine. UML 2.0 has chosen to separate the two to more fully Preface support the business modeling Part I - An Introduction to UML potential
Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 - What Is UML? - UML Architecture

of the Activity graph.

Activity graphs are defined fully in Chapter 13.

Model Management package Object-Oriented Concepts

- UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

Model Management refers to the means to model the organization of modeling artifacts. Artifacts may be - Capturing Rules about Objects in a Class Diagram organized along very general lines such as project phases, application incremental builds, subject matter, Chapter 6 - How to Capture Rules about Object Relationships and utility versus business models, using packages. Packages may also be specialized to represent more Chapter 7 - Testing with Objects refined views. For example, artifacts may be organized to represent the partitioning of a system into Part III - Modeling Object Interactions subsystems at any number of levels. Finally, the artifacts may represent a physical system such as a Chapter 8 receiving - Modeling Interactions 1.4 billing or system. Viewsin ofUML the physical system are called models.
Chapter 9 - Modeling Interactions in UML 2.0 Packages, and models are fully defined Chapter 10 - subsystems, Modeling an Object's Lifecycle in UML 1.4 in Chapter 14. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter - Modeling Behavior(OCL) Using provides an Activity Diagram Object 13 Constraint Language the semantics for declaring static requirements for attributes
Part - Modeling the Application andVoperations. A constraint on Architecture an attribute is

Object Constraint Language

called an invariant, which is a rule that must never be

violated during the life of Application the system. For example, a phone number must always have 10 digits (not Chapter 14 - Modeling the Architecture including code). Constraints on Component an operation define what must be true in order to invoke the Chapter 15 country - Modeling Software Using the Diagram operation, pre-condition , and what must be true when the operation is completed, called a postChapter 16 -called Using a Deployment Diagrams in UML 1.4 condition. For example, to place an order Chapter 17 Representing an Architecture in you UMLmust 2.0 provide a valid customer account number. When the order placed, all items are Model reserved Part VI is - Bringing Rigor to the
Chapter 19 - Action Semantics

in inventory and the order value is posted to the customer account.

Together constraints ensure that an operation Chapter 18 these - Applying Constraints to the UML Diagrams is always used properly and always yields a proper result. Constraints define the static requirements of the system. Contrast this with the dynamic requirements defined by the Action Semantics discussed next. Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Action Semantics

Action Semantics define the rules that govern the dynamic aspects of a system. An action is a class that defines a behavior. For example, the instance of CreateObjectAction in Figure 2-6 defines how to create Appendix B - UML 2.0 Notation Guide an object. An action also defines the classes that participate in a behavior. In Figure 2-6 the participants Appendix C - Standard Elements include six instances of Action metaclasses and one of the Class metaclass.
Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Figure 1.4 Action example. Chapter 1 - 2-6: WhatUML Is UML? OMG 1.4 Architecture Chapter 2 - UML
Chapter 3 Chapter 4 Chapter 5 Chapter 6

Here's an explanation of the roles of each element:


- Object-Oriented Concepts

- UML Diagrams and Extension Mechanisms

CreateObjectAction object Part 1. II - The Modeling Object Structure

generates an instance, labeled customer, of the Class metaclass.

2. This new customer object is attached to an OutputPin object that holds the result of the action.
- How to Capture Rules about Object Relationships

- Capturing Rules about Objects in a Class Diagram

Chapter 7 Dataflow - Testingobject with Objects 3. A connects the OutputPin object to an InputPin object so that the "customer" object
Part III Modeling Object Interactions can be passed through it to another

action.

Chapter 8

- Modeling Interactions in UML 1.4

4. InputPin provides the customer object Chapter 9 - Modeling Interactions in UML 2.0 as an input value to the next action called
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 5. WriteVariableAction assigns the customer object to the variable called newCustomer.
Part IV - Modeling Object Behavior

WriteVariableAction.

Chapter - Modeling Use ofmethod a System with the Use Case Diagram Actions12 can be used the to define implementations, handling of calls and signals between objects,

and all 13 other behaviors that define Chapter - Modeling Behavior Usingthe an proper Activity operation Diagram of a system. Action Semantics combined with Object Constraint Language provide all of the Part V - Modeling the Application Architecture precision needed to generate a complete platform independent model of a system. Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0

Diagrams of UML 1.4

UML 1.4 defines Rigor nine diagrams for Part VI - Bringing to the Model

describing a system and one for organizing the various artifacts of the

development process. The diagrams categorized in a variety of ways. For description purposes I Chapter 18 - Applying Constraints to themay UML be Diagrams find the following Chapter 19 - Actiongroupings Semantics helpful. There is nothing standard about the groupings but it has helped many of my students graspthe the different types of diagrams Part VII - Automating UML Modeling Process
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

and their relationships to one another. Figure 2-7 shows the organization of the UML diagrams into three categories. Chapter 20 - Using a Modeling Tool

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site Figure 2-7: Three complementary sets of diagramming tools.

<?xml version="1.0" encoding="ISO-8859-1"?> Static (or structural) view Table of Contents UML Bible The static view includes those diagrams that model resources used in the construction of the system. Preface Class diagrams define the resources in terms of their allowed features and relationships. Object diagrams
Part I - An Introduction to UML model facts or examples about

resources. The Object diagram may be used either to figure out what the

Class diagram should look like or to verify that the Class diagram is correct. Chapter 1 - What Is UML?
Chapter 2 Chapter 3

TheComponent diagram models the physical pieces of software in a system, including applications, files, - UML Diagrams and Extension Mechanisms user interfaces, and pretty much anything that can execute on a processor, be stored in memory, or Chapter 4 - Object-Oriented Concepts performed by a person.
Part II - Modeling Object Structure

- UML Architecture

Chapter 5 - Capturing Rules about Objects in a Class Diagram namely processors where components may TheDeployment diagram models the hardware environment, Chapter 6 How to Capture Rules about Object Relationships run. The UML's loose definition of processor allows for human beings to be processors so that manual Chapter 7 -can Testing with Objects processes be modeled as well.
Part III - Modeling Object Interactions

Dynamic view Interactions in UML 1.4 Chapter 8 - Modeling


Chapter 9

The dynamic view includes diagrams that model the behavior of objects in terms of interactions. The Sequence diagram and Collaboration diagram use slightly different means to model objects passing Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 messages back and forth to accomplish a task. The dynamic view is particularly useful for discovering the Part IV - Modeling Object Behavior interface requirements to support the interactions. The interactions also reveal the data that is passed and Chapter 12 - Modeling the Use of a System with the Use Case Diagram that has to be owned and managed by the objects. Both the interfaces and the data reveal updates to the Chapter 13 - Modeling Behavior Using an Activity Diagram structure of the objects defined in the Class diagram.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part V - Modeling the Application Architecture

- Modeling Interactions in UML 2.0

Chapter 14 - Modeling theexamines Application Architecture TheStatechart diagram the effect of the interaction in terms of the inner workings of a single Chapter - Modeling Software Using the Component Diagram object. 15 It tracks the changes in an object's state and the reasons for the changes. The reasons for the Chapter 16are - Using Deployment inobjects UML 1.4 changes often messages Diagrams from other seen clearly on the interaction diagrams. Here again, the

changes object's state reveal changes in data Chapter 17to - an Representing an Architecture in UML 2.0 within the object, which can reveal changes for the Class Part VI diagram. - Bringing Rigor to the Model
Chapter 18 - Applying Constraints to the UML Diagrams

Functional view Chapter 19 - Action Semantics

Part VII - Automating the UML Modeling Process

Functionality drives the requirements for most applications. The users want the system to provide information or behavior to support the business process or goals. The Use Case diagram specifically Chapter 21 - Customizing UML Using Profiles models what the users expect to see when they interact with the system. A use case captures the dialog Chapter 22 - XML Metadata Interchange between a user and the system in performing a specific task. For example, a user at an ATM requesting a Appendix A - will UML 1.4 Notation Guide withdrawal answer a series of questions in response to prompts from the system. The end result is Appendix B UML 2.0 Notation Guide already defined to be either one of a number of predefined error messages or money and optionally a Appendix receipt. C - Standard Elements
Chapter 20 - Using a Modeling Tool Glossary

TheActivity diagram (also referred to as an Activity graph) models logic. Since logic appears throughout Index theof design of a system, the Activity diagram has broad application. Workflow, use cases, collaborations, List Figures and all involve logic and may be represented in an Activity diagram. List ofoperations Tables
List of Listings

< < Day Day Day Day Up Up > >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML 2.0

UML Bible by Tom Pender


ISBN:0764526049

UML 1.4 was the John culmination a concerted Wiley & of Sons 2003 (940 effort pages) to create a practical tool for modeling systems. The focus was on "practical." The tool had to be useful forbook a broad spectrum of projects and easily For beginning to advanced users, this provides implemented by users and tool vendors alike. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, efficiency development. UML 2.0 provided the opportunity toand go back overin the tool and fine-tune the definitions, clean up the architecture, and generally refine the tool to ensure its long-term success. Also, while UML was gaining Companion Web Site acceptance, OMG was hard at work promoting Model Driven Architecture (MDA). UML is a major component of MDA, so complete alignment with the other elements of MDA is essential. <?xml version="1.0" encoding="ISO-8859-1"?> Table Contents UMLof 2.0 is comprised of two libraries, the Infrastructure and the Superstructure. The Infrastructure defines

the Bible core metamodel used to define the MOF, UML, CWM, and Profiles. Now that probably sounds UML strange. Didn't I say earlier that UML derived from the MOF? Well, yes. But one of the requirements for Preface UML 2.0 to go back and improve Part IAn was Introduction to UML the alignment of MDA components. The Infrastructure is now the top metamodel. The MOF, UML, and CWM all derive from the Infrastructure. But the UML also still derives Chapter 1 - What Is UML? from the MOF. Confused? Well, read on and it should become clearer. Chapter 2 - UML Architecture
Chapter 3 Chapter 4 Chapter 5

The Superstructure extends and customizes the Infrastructure to define the UML metamodel. The - Object-Oriented Concepts Superstructure defines the elements that make up the modeling notations of the UML, created by Part II - Modeling Object Structure extending and adding to the basic elements defined in the Infrastructure.
- Capturing Rules about Objects in a Class Diagram Chapter How to Capture Rules about Objectand Relationships As part6of the effort to fine-tune the standard align it more closely with MDA, the authors established a

- UML Diagrams and Extension Mechanisms

set of design principles guide their work. The principles reflect some of the objectives set forth by the Chapter 7 - Testing with to Objects RFP but they apply beyond specific corrections Part III - Modeling Object Interactions to the whole approach to the revision process. The design principles modularity, layering , and Chapter 8 include - Modeling Interactions in UML 1.4 extensibility. These principles were chosen specifically (though not exclusively) because they yield language structure that facilitates reuse. Chapter 9 - Modeling Interactions in a UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Modularity/Partitioning: To maximize reuse, the modeling elements are isolated into highly cohesive and loosely coupled packages. The use of small, well-defined units enables a "cookbook" approach Part IV - Modeling Object Behavior to assembling new model elements at each successive layer of the architecture, taking from separate Chapter 12 - Modeling the Use of a System with the Use Case Diagram modules as needed to build a new concept. For example, the Infrastructure defines the model Chapter 13 - Modeling Behavior Using an Activity Diagram elements Classifier and Relationship, among others. The Superstructure combines these two Part V - Modeling the Application Architecture metaclasses and three others from five separate packages to put together all of the features needed Chapter 14 - Modeling the Application Architecture to define an Association.
Chapter 15 - Modeling Software Using the Component Diagram

Layering: Layering refersDiagrams to two means of1.4 separating concerns in the way the models are organized. Chapter 16 - Using Deployment in UML The type is seenan in Architecture the four-layer explained earlier. The second type is within each Chapter 17first - Representing in architecture UML 2.0 layer. The packages in each layer Part VI - Bringing Rigor to the Model may also separate model elements to define levels of abstraction within the layer. For example, the Infrastructure, the Abstractions package provides the Chapter 18 Applying Constraints to within the UML Diagrams foundation for Semantics the concepts defined in the Constructs package. You might call them layers within Chapter 19 - Action layers, providingthe successive refinements of Part VII - Automating UML Modeling Process
Chapter 20 - Using a Modeling Tool

the model elements in each new layer.

Chapter 21 Customizing Using Profiles uses very fine-grained partitioning to maximize reuse across layer. For instance, UML the Infrastructure Chapter 22 XML Metadata Interchange diverse implementations, and the Superstructure uses more coarse-grained partitioning to support the Appendix UML 1.4 Notation Guide in context. In the Superstructure, for example, a partition might use A of-the modeling concepts Appendix B - UML to 2.0 Guide correspond a Notation type of diagram, so the partition contains all of the elements that support the diagram, Appendix C - Standard Elements but those concepts have been constructed from metaclasses defined in many different Infrastructure Glossary partitions. Index

A layer may use different degrees of modularity or partitioning to coincide with the purpose of the

Extensibility: The specification must support two types of extension. One type uses profiles. Profiles use adornments to customize UML for use with a specific platform or domain. Second, the List of Tables Infrastructure may be specialized to create a new language like UML, as has been done to create the
List of Figures List of Listings

CWM. (Technically CWM existed before the Infrastructure but it is currently being aligned with the < Day Day Up > Infrastructure.) All three of these principles were chosen to support high reuse. Modularity provides small, well-defined, easy-to-use units. Layering UML Bibleorganizes the units for ease of use. Extensibility supports customization of existing model elements so that new elements do not have to be created to solve new problems. ISBN:0764526049 by Tom Pender
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML The four UML 2.0 RFPs are available at the locations: specifications, and shows how to following use UML to improve timeliness, quality, and efficiency in development.

Links to the UML 2.0 RFPs

UML Infrastructure: Companion Web Site http://www.omg.org/techprocess/meetings/schedule/UML_2.0_Infrastructure_RFP.html UML Superstructure:

<?xml version="1.0" encoding="ISO-8859-1"?> http://www.omg.org/techprocess/meetings/schedule/UML_2.0_Superstructure_RFP.html Table of Contents UML Bible Object Constraint Language: Preface http://www.omg.org/techprocess/meetings/schedule/UML_2.0_OCL_RFP.html
Part I - An Introduction to UML

Diagram Interchange: Chapter 1 UML - What Is UML?


Chapter 2 http://www.omg.org/techprocess/meetings/schedule/UML_2.0_Diagram_Interchange_RFP.html - UML Architecture Chapter 3 Chapter 4 Chapter 5 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

Many of the issues that came out of the development of UML 1.4 were simply too large to be addressed in - Capturing Rules about Objects in a Class Diagram UML 1.4 or even small revisions. So in mid-2001, even as UML 1.4 was being released, OMG members Chapter 6 - How to Capture Rules about Object Relationships started work on a major upgrade from UML 1.4 to UML 2.0. The OMG sent out separate RFPs for the Chapter 7 Testing with Objects Infrastructure, the Superstructure, the Object Constraint Language, and Diagram Interchange.
Part III - Modeling Object Interactions

Chapter 8

Infrastructure library Chapter 9 - Modeling Interactions in UML 2.0


Chapter 10 - Modeling an Object's Lifecycle in UML The Infrastructure library contains the Core and 1.4 Profiles packages. The Core package is the metamodel at Chapter 11 Modeling an Object's Lifecycle in UML 2.0 the heart of the MDA architecture. The Profiles package defines UML extension mechanisms for creating
Part IV - dialect, Modeling Object Behavior a UML variations on the basic

- Modeling Interactions in UML 1.4

language that are customized to specific environments or

Chapter 12 - subject Modeling the Use of a System with the Use Case Diagram application areas. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Core package

Chapter 14 - Modeling the Application Architecture

The Core provides the foundation on which to build the MOF, UML, CWM, profiles, and future Chapter 15 package - Modeling Software Using the Component Diagram languages. common metamodel makes model interchange via XML Model Interchange Chapter 16 - The Using Deployment Diagrams in UMLpossible 1.4
Chapter 17 - Representing an Architecture in UML 2.0

(XMI). It also makes it possible to customize UML variations using profiles and to create other languages like UML, but for other domains. Common Warehouse Model (CWM) is one of another language. The Part VI - Bringing Rigor to the Model same Infrastructure that supports UML is used to define a language for specifying data structures for Chapter 18 - Applying Constraints to the UML Diagrams database design. Figure 2-8 models the relationship between the Core package and the other major Chapter 19 - Action Semantics components of the MDA. The dependency arrows represent the fact that each of the four packages, UML, Part VII - Automating the UML Modeling Process CWM, MOF, and Profiles, need help from the Core package. They each use information defined in the Chapter 20 - Using a Modeling Tool Core. So they depend on the contents of the Core in order to complete their own sets of definitions.
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

Figure 2-8: UML 2.0 Infrastructure defines the core metamodel for the rest of the MDA components. packages: Abstractions, Basic, and Constructs, that all depend on

Part I Core - An Introduction to UML The package contains three other

Chapter 1 types - What Is UML? the data defined in the PrimitiveTypes package (see Figure 2-9). Chapter 2 - UML Architecture Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - 2-9: UML UML 2.0 Notation Guide Figure 2.0 Core package. Appendix C - Standard Elements

The Primitive Types package defines a small set of data types that are used to specify the core Glossary metamodel. These are not data types used for modeling application domains. They are used to create the Index
List of Figures

models that express the core metamodel. The three types are Integer, Boolean, and String. An instance of an Integer is any valid integer value. An instance of a Boolean is either true or false. An instance of a String List of Tables is some text.
List of Listings

The Abstractions package defines the common concepts needed to build modeling elements such as < Day Day Up > classifiers, behavioral elements, comments, generalizations, and visibilities. Nearly all of these metaclasses are abstract, meaning that they may not be instantiated. The purpose of the metaclasses is to define the fundamental concepts common to most modeling languages. The metaclasses are UML Bible used throughout the language and in many different ways. Defining them in generalizations of concepts ISBN:0764526049 by Tom Pender this generalized form makes them available to any package that chooses to build on the concepts and John Wiley Sons setting. 2003 (940 pages) customize them for use in a& specific The Basic package defines the common of classes, data types, and packages. comprehensive coverage characteristics of the versatility ofclassifiers, 1.4 and 2.0 UML specifications, and shows how to Abstractions use UML to improve The Constructs package refines contents of the and Basic packages, merging and refining timeliness, efficiency in development. abstract concepts to create quality, a set of and common modeling elements. The sub-packages under the Constructs package reflect the progressive Companion refinement Web Site from abstract concepts to concrete; they are implementable concepts with package names like Classes, Attributes, Associations, and Packages. All of these package names reflect notation elements for diagramming languages rather than abstract concepts.
For beginning to advanced users, this book provides

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Now, to clarify my earlier statement about how the MOF uses the concepts defined by the Infrastructure, UML Bible refer to Figure 2-10. The MOF defines a set of concepts needed to define the elements of the MDA, for
Part I - An Introduction to UML concepts are created by utilizing and

Preface example, models, primitive data types, and the means to provide identity for elements in a model. These

extending the abstract concepts defined within the Infrastructure.

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing to the Modelbetween Figure 2-10:Rigor The relationship

MOF and the Infrastructure Core package.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Profiles package

Chapter 20 - Using a Modeling Tool

The Profiles package contains mechanisms to adapt existing metaclasses to a specific subject or platform. Profiles are fully explained in Chapter 21, including some profiles that have already been created Chapter 22 - XML Metadata Interchange and standardized.
Chapter 21 - Customizing UML Using Profiles Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

Superstructure library: The UML package


The Superstructure library, shown in Figure 2-11, is really the UML package, containing all the elements used to construct the UML diagrams.

List of Figures List of Tables

List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table Figure of Contents 2-11: The SuperstructureLibrary package. UML Bible

The Superstructure (or UML) defines all the diagramming elements of the UML. Within the specification Preface document, the elements are organized Part I - An Introduction to UML structure, and supplemental. Chapter 1 behavior, - What Is UML?
Chapter 2 Chapter 3 - UML Diagrams and Extension Mechanisms Package diagrams that model various elements and the relationships between them. Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure The Behavioral section defines

by the type of diagram that they support. The three categories are

- UML Architecture The Structure section defines Class, Object, Composite Structure, Component, Deployment, and

Sequence, Interaction Overview, Timing, Communication, and State

Machine diagrams, as well asObjects Action in Semantics. Chapter 5 - Capturing Rules about a Class Diagram
Chapter 6 Chapter 7 Chapter 8 Chapter 9

The Supplemental section defines auxiliary concepts like information flows and class templates, and - Testing with Objects profiles as defined within the UML (versus profiles as defined in a more general way by the Part III - Modeling Object Interactions Infrastructure).
- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

- How to Capture Rules about Object Relationships

Diagrams of UML 2.0

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

UML 2.0 kept most of the diagrams of UML 1.4 and added some of its own. Table 2-2 lists the old and the new with a few notes to identify the differences. Diagrams

Table Comparison of UML 1.4 and 2.0 Part V - 2-2: Modeling the Application Architecture

Chapter 14 - Modeling the Application UML 1.4 UML 2.0 Architecture Changes Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter - Representing an Architecture Class 17 diagram Class diagram in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Object diagram

Object diagram

The Object diagram is drawn in the Class diagram canvas, not in its own diagram space. (See Composite Structure diagram.) (See the UML 2.0 Composite Structure diagram.) UML 1.4 didn't technically refer to a Package diagram even though it was used throughout the specification to illustrate the organization of the spec. Note: the Package diagram is drawn in the Class diagram canvas, not in its own diagram space.

Composite Object Chapter 20 - Using a Modeling Tool diagram Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Packages Package diagram Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures Component List of Tables diagram List of Listings

Component diagram

Deployment diagram

Deployment diagram < Day Day Up >

Combined Combined Deployment and Deployment and UML Bible Component Component diagram by Tom Pender diagram John Wiley & Sons 2003 (940 pages) Statechart diagram

ISBN:0764526049

For beginning to advanced Use Case diagram Use Case diagram users, this book provides

comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how toTechnically use UML to these improve State Machine are the same, just with different timeliness, quality, and efficiency in development. diagram names. Companion Web Site Protocol State

Machine diagram
<?xml version="1.0" encoding="ISO-8859-1"?> Activity graph Activity diagram Table of Contents UML Bible Preface Chapter 1 Chapter 2 Chapter 3 Chapter 4
Part I - An Introduction to UML

This is a State Machine at a higher level of abstraction. The Activity diagram has been substantially refined and improved with its own metamodel, independent of the state machine. This is kind of a combination of an Object diagram and a Composite Object diagram. This is a group title that includes the Sequence diagrams. The functionality was redistributed among the new (See Interaction diagrams.)

- What Is UML?

Composite Structure diagram

Interaction diagrams - UML Architecture


- Object-Oriented Concepts

Communication, Interaction Overview, Timing, and - UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure Collaboration

Chapter 5 - Capturing Rules about Objects in a Class Diagramdiagrams. diagram Interaction Chapter 6 Chapter 7 Chapter 8

Part III - Modeling Object Interactions

Sequence Sequence diagram - Testing with Objects diagram

- How to Capture Rules about Object Relationships

(See Interaction diagrams.) diagram Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Interaction Object's Lifecycle in UML (See 1.4 Interaction diagrams.) Overview Chapter 11 - Modeling an diagram Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Communication - Modeling Interactions in UML 1.4

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Timing diagram

(See Interaction diagrams.)

Chapter 14 - Modeling the Application Architecture < Day Day Up > Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

The UML authors of both 1.4 2.0 endeavored John Wiley & and Sons 2003 (940 pages) to uphold the four-layer metamodel architecture, an approach that supports the distribution of concepts across levels of abstraction. The layering For beginning to advanced users, this book many provides supports the specialization of concepts for different purposes such object comprehensive coverage of the versatility of 1.4 andas 2.0 UML modeling (UML) and data specifications, and shows howdomains, to use UML toultimately improve for different implementations. modeling (CWM), customization for different and
timeliness, quality, and efficiency in development.

In the UML 1.4 architecture: Companion Web Site The MOF provides the foundation for the UML.
<?xml version="1.0" encoding="ISO-8859-1"?> The UML defines a Foundation package as well as the Behavioral and Model Management Table of Contents UML Bible features. Together these packages define all of the essential features needed to create the Preface Chapter 1

modeling elements used to build UML diagrams.


- What Is UML?

Part I - An Introduction to UML

In the UML 2.0 architecture: The new architecture defines an Infrastructure and a Superstructure.

Chapter 2 The - UML Architecture redefines the highest level of the architecture used to create the MOF and all Infrastructure

components. Chapter 3 other - UMLMDA Diagrams and Extension Mechanisms


Chapter 4 Chapter 5
Part II - Modeling Object Structure

The Superstructure is the UML portion of the architecture. The Superstructure derives all of its components from both the Infrastructure and the MOF.
- Capturing Rules about Objects in a Class Diagram

- Object-Oriented Concepts

Chapter 6 The - How to Capture Rules about Object Relationships superstructure is organized according to the three types of diagrams defined by UML, that is Chapter 7 structural - Testing with Objects (Class, Object, and so on), behavioral (Sequence, Timing, State Machine, and the
Part III - Modeling Object Interactions like), and supplemental (information

flows, profiles, and templates).

Chapter 8

- Modeling Interactions in UML 1.4

A summary of the diagram changes between 1.4 and 2.0 includes: Chapter 9 - Modeling Interactions in UML 2.0
Chapter 10 UML - Modeling an Object's Lifecycle in UML 1.4 2.0 replaced the Collaboration diagram with a more limited Communication diagram. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

UML 2.0 added two new interaction Part IV - Modeling Object Behavior

diagrams: the Interaction Overview diagram and the Timing diagram. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

UML 2.0 added the Protocol State Machine.

Chapter 14 UML - Modeling the Application Architecture 2.0 added the Composite Structure diagram. Chapter 15 - Modeling Software Using the Component Diagram

2.0Deployment isolated theDiagrams Activity diagram with its own semantics separate from the State Machine. Chapter 16 UML - Using in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

< Day Day Up > Chapter 18 - Applying Constraints to the UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Chapter UML 3: UML Diagrams and Extension Mechanisms ISBN:0764526049 by Tom Pender

Overview

John Wiley & Sons 2003 (940 pages)

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows use UMLin tosoftware improve development. To accomplish this UML was designed to be the distillation of how bestto practices timeliness, quality, and efficiency development. ambitious goal, UML provides an extensive set of in diagramming tools. Because UML is such a big subject

<?xml version="1.0" encoding="ISO-8859-1"?> Table Contents As aof kind of roadmap I'll use the UML groupings that divide the diagrams into packages based on their UML Bible roles in the Model Management, Structural, and Behavioral aspects of system design. Preface

and the diagrammingCompanion tools are so diverse Web Site I thought it would be helpful to give you an overview of the diagrams themselves. This chapter presents some samples of each diagram with a brief introduction describing the purpose and benefits of each diagram.

Model Management Part I - An Introductiondiagrams to UML more. 1 - What Is UML? Chapter


Chapter 2

include Packages, which are used to represent Subsystems, Models, and

Chapter 3 - UML Diagrams and Extension Mechanisms Component diagram, Deployment diagram, and the Combined Component and Deployment diagram. Chapter 4 - Object-Oriented Concepts
Part II - Modeling Objectinclude Structure Behavioral diagrams the

- UML Architecture Structural diagrams include the Class diagram, Object diagram, Composite Structure diagram,

Use Case diagram, Activity diagram, Interaction diagrams (two

diagrams UML 1.4; Rules four diagrams in UML 2.0), State Machine diagram, and Protocol State Machine Chapter 5 in - Capturing about Objects in a Class Diagram diagram. Chapter 6 - How to Capture Rules about Object Relationships
Chapter 7 Chapter 8 Chapter 9 - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part III - Modeling Object Interactions

< Day Day Up >

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible UML Diagrams and Work Products by Tom Pender


ISBN:0764526049

Each diagram reveals a unique yet overlapping view of a system. That sounds a bit strange. How can a John Wiley & Sons 2003 (940 pages) diagram be unique yet overlap to other diagrams? The comes from the different perspective For beginning advanced users, thisuniqueness book provides taken by each diagram. The overlap comes from the fact that all of are looking at the same comprehensive coverage of the versatility of 1.4 and the 2.0 diagrams UML specifications, and shows how to use UML to improve problem.
timeliness, quality, and efficiency in development.

The big question that Companion usually crops up about now is, "Why do I have to use all these diagrams? Joe and Web Site Susan have always just drawn Class diagrams." This question is valid. For small, simple projects you may not need to create all these diagrams. But I suspect that one reason you're reading this book is that you <?xml version="1.0" encoding="ISO-8859-1"?> don't work on small projects, and the projects you do work on get pretty complicated.
Table of Contents

When the projects become large and complicated, you often move from one piece of the project to UML Bible another in rapid succession. Coming back to something you worked on a few days ago often means hours Preface of getting your head back into Part I - An Introduction to UML a pile of notes and/or mountains of code, much of it not your own. It also means that there is no realistic way to know how right you are until you build enough code to run tests. By Chapter 1 - What Is UML? then you have used up a large part of the project schedule, and if you find problems it is difficult to justify Chapter 2 - UML Architecture the extra time to do a lot of rewriting. If only we got paid by the hour . Chapter 3 - UML Diagrams and Extension Mechanisms
Chapter 4 - Object-Oriented Concepts So how does a diverse set of diagrams help? Consider a common example from everyday life. Suppose you're in a car accident at an intersection. Someone runs a red light and broadsides your car. A police Chapter 5 - Capturing Rules about Objects in a Class Diagram officer shows up, walks over to a witness, and takes her story. She says that you ran the red light, not the Chapter 6 How to Capture Rules about Object Relationships other person. Then the officer leaves assuming he has the truth. How do you feel? Outraged, I imagine. Chapter - Testing with Objects But the7officer talked to a "client" and captured the facts just like we typically gather requirements from our Part III Modeling Object Interactions clients. So what's the problem?
Part II - Modeling Object Structure

Chapter 8

- Modeling Interactions in UML 1.4

The problem is that the officer did to verify his facts. He should have asked the other witnesses for Chapter 9 - Modeling Interactions innothing UML 2.0 their perspectives. After he got information a variety of sources he would have a set of accounts Chapter 10 - Modeling an Object's Lifecycle in from UML 1.4 looking at the same set of facts but from different perspectives. If he compared the stories, he would Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 discover two things. First, some of the information from different testimonies will agree. He could Part IV - Modeling Object Behavior reasonably assume that those portions of the accounts are true. Second, the portions that didn't line up Chapter 12 - Modeling the Use of a System with the Use Case Diagram could not be trusted until he could find corroborating evidence.
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Dealing with many different views of a software or business problem works the same. Each diagram

Chapter 14 Modeling the describes the problem inApplication a differentArchitecture way, just like different witnesses describe an incident. The diagrams Chapter 15 Modeling Software Usingthe thesame Component Diagram will overlap because they describe body of facts. If they agree where they overlap, you can relax Chapter 16you've - Using Deployment in UML 1.4 knowing probably got itDiagrams right. If they don't agree, then you have some homework to do to reconcile Chapter 17 Representing an Architecture in UML 2.0 benefits: the differences. Now here are the two really-great
Part VI - Bringing Rigor to the Model

When viewpoints disagree, you've Chapter 18 -the Applying Constraints to the UML pinpointed Diagrams where you need to invest your effort.
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

When all the viewpoints agree, you know you're done.

Chapter 20 - times Using have a Modeling Tool How many you sat in a status meeting trying to come up with a way to describe how much Chapter 21 you've - Customizing UML Using Profilesto be done? Often we get stuck "guesstimating" a percentage of progress made and what remains Chapter 22 - XML completion. The Metadata question Interchange is, "a percentage of what?" Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

Instead, wouldn't it be nice to be able to say something like, "We have 28 business requirements so far. Seventeen have been completely reviewed and approved with clients. The clients tell us that we've Appendix C - Standard Elements identified all of the critical business requirements but there are maybe five more low-priority requirements Glossary that we need to document. Of the 17, we have fully modeled 12. Based on the time we have invested so Index far, we estimate another week to finish the remaining five, and three weeks to finish the other eleven."
List of Figures List of Tables Even better, the more practice you get and the more metrics you keep on each modeling effort, the more List of Listings reliable your estimates become.

< Day Day Up > to draw UML diagrams. Most modeling As a point of reference, Figure 3-1 shows a modeling tool used tools provide a similar set of features. UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

Figure 3-1: A screen shot of a typical modeling tool with menu, navigation area, thumbnail view, - Capturing Rules about Objects in a Class Diagram canvas, and diagram-specific toolbar.
- How to Capture Rules about Object Relationships

Chapter 7 row - Testing with Objects The top of menu options provides the project-level features such as editing, setting preferences, help,
Part III Modeling Interactions layout, and tools, Object including code generation

and reverse engineering. The section on the top left is a

Chapter 8 -area Modeling Interactions inthe UML 1.4 navigation that displays all of diagrams and model elements you've created. Below it is a viewing

area with version of the diagram Chapter 9 a - thumbnail Modeling Interactions in UML 2.0 currently being worked on. The large canvas area on the right side the drawing area. Between the area on the left and the drawing canvas is a drawing Chapter 10 is - Modeling an Object's Lifecycle in navigation UML 1.4 toolbar11 that is customized for the type of diagram displayed on the canvas. Chapter - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

As I describe the diagrams, I will make reference to where they are drawn, because the drawing canvas and drawing toolbar are different for different diagrams. The rest of this chapter provides examples of all Chapter 13 - Modeling Behavior Using an Activity Diagram of the UML diagrams, their purposes, and their benefits. This should give you a solid introduction to the Part V - Modeling the Application Architecture role that each diagram plays in the overall system design.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 < Day Day Up > Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Model Management Diagrams by Tom Pender


ISBN:0764526049

Packages have been the lifetime of UML as a means to organize artifacts of the John used Wiley through & Sons 2003 (940 pages) development process. A package is the UML equivalent of provides a directory or folder. It is a place to store For beginning to advanced users, this book diagrams. In UML 1.4 and earlier, the packages were not defined specifically comprehensive coverage of the versatility of 1.4 and 2.0 UML as a diagram, but they were specifications, and shows how to useMDA) UML to and are used consistently throughout the UML (and toimprove represent visually the organization of timeliness, and efficiency in development. modeling concepts. In UML quality, 2.0, packages are officially part of a Package diagram. This change doesn't alter Package functionality. It just brings a little clarity to the rules for how to model packages. Companion Web Site To support model management, Package diagrams are customized to illustrate different aspects of
<?xml version="1.0" encoding="ISO-8859-1"?> systems. For example, a package diagram can model the structure of systems and subsystems. An Table of Contents Accounting System package, for instance, might contain packages for the Accounts Receivable UML Bible subsystem, the Accounts Payable subsystem, the General Ledger subsystem, and so on. A Package Preface diagram can also represent the organization of the various types of models used to describe a system. A
Part I - An Introduction toin UML Package diagram used this

way might contain a set of packages that describes a billing system

Chapter 1 the - What UML? including UseIs Case model, the Analysis model (Class diagrams), and the Deployment model. In a Chapter - UML an Architecture similar 2 manner, Analysis model package could contain packages that represent just the analysis-level

models set Diagrams of subsystems. Chapter 3for -a UML and Extension Mechanisms
Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9
Part II - Modeling Object Structure

A package is represented in a Package or Class diagram as a folder icon, as shown in Figure 3-2.
- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

- Object-Oriented Concepts

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Usingare Deployment Diagrams in UML When packages combined in a diagram, it 1.4 is expressly to model the relationships between the Chapter 17 Representing an Architecture in UML 2.0 a dependency. A dependency simply states that one packages. The specific type of relationship is called
Part VI - Bringing Rigor to the Modelelement. element needs help from another

Figure 3-2: Package icon.

The help may be in the form of functionality or data provided

Chapter 18 - Applying Constraints to the UML a Diagrams by the other element. Between packages, dependency states that something inside of one package Chapter 19 - from Action Semantics inside the other package. The dashed arrows in Figure 3-3 model the needs help something
Part VII - Automating the UML Modeling Process packages for the theater system. Notice, for example,

the dependency between the two packages at the

Chapter 20 diagram, - Using a Modeling Tool top of the VenueManagement and Scheduling. This dependency states that something inside the Chapter 21 - Customizing UMLhelp Using Profiles Scheduling package needs from something inside the VenueManagement package. Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure 3-3: Package dependency.


<?xml version="1.0" encoding="ISO-8859-1"?> Package diagrams are valuable because they Table of Contents UML Bible Preface

Identify the data and functional dependencies between parts of a system. a system into subsystems.
- What Is UML? - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part IIdentify - An Introduction to UML the partitioning of

Chapter 1 Chapter 3 Chapter 4 Chapter 5

Identify phases in a project. Chapter 2 - UML Architecture Separate utilities from system-specific components.

Part II - Modeling Object Isolate layers of an Structure architecture.

- Capturing Rules about Objects in a Class Diagram Packages are your tool for organizing of the work products of the modeling process. In a modeling tool, Chapter 6 How to Capture Rules aboutall Object Relationships

the Package diagram is Objects typically accessed within the Class diagram facility/canvas. For a complete Chapter 7 - Testing with explanation of theObject Package diagram and Part III - Modeling Interactions
Chapter 8 Chapter 9

its many additional features, see Chapter 14.

- Modeling Interactions in UML 1.4

- Modeling Interactions in UML 2.0 < Day Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Day Up > Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Structural Diagrams by Tom Pender


ISBN:0764526049

Structural diagrams illustrate static features of a model. Static features include classes and John Wiley & the Sons 2003 (940 pages) association, objects links, and collaborations. These static features provide the framework in which For and beginning to advanced users, this book provides the dynamic elements of the model execute. For example, a Class comprehensive coverage of the versatility of 1.4 and defines 2.0 UMLthe behaviors that types of specifications, and shows how totype use of UML to improve objects can provide. An association defines the relationship that objects can participate in. A timeliness, quality, efficiency (and in development. Deployment diagram models piecesand of hardware people) that can perform work. Components define pieces of software and procedures that need to be deployed to processors. Companion Web Site The structural diagrams function much like a blueprint for building a house or a piece of equipment. They
<?xml version="1.0" encoding="ISO-8859-1"?> show the parts and how they can be assembled, but they cannot show how the finished product will Table of Contents behave. UML Bible Preface
Part I - An Introduction to UML

Class diagram

Chapter 1 -diagram What Is is UML? The Class at the heart of the object modeling process. It models the definitions of resources Chapter 2 UML Architecture essential to the proper operation of the system. All of the other modeling diagrams discover information Chapter 3 - UML Diagrams andas Extension about these resources (such attributeMechanisms values, state, and constraints on behavior) that ultimately must Chapter 4 way - Object-Oriented Concepts make its onto the Class diagram. The Class diagram is the source for code generation (converting a
Part II - to Modeling Object model code) and the Structure target for

reverse engineering (converting code to a model).

Chapter 5

- Capturing Rules about Objects in a Class Diagram

The Class models Rules the resources used to build and operate the system. Resources represent Chapter 6 -diagram How to Capture about Object Relationships people, Chapter 7materials, - Testinginformation, with Objectsand behaviors. Class diagrams model each resource in terms of its structure, relationships, behaviors. Part III - Modeling Object and Interactions
Chapter 9

The notation is surprisingly simple. Figure 3-4 models a class with the three predefined compartments found in nearly every class: name, attribute, and operations. The Chapter 8 - Modeling Interactions in UML 1.4 notation used in this figure is fully explained in Chapter 5.
- Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Figure 3-4: A class with the three Process predefined Part VII - Automating the UML Modeling
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

compartments.

But I said that the Class diagram models resources and relationships between resources. Figure 3-5 models two classes and the relationship between them. In the theater system a venue manager authorizes Chapter 22 - XML Metadata Interchange agents to sell tickets. Over time an agent may be authorized by any number of different venue managers. Appendix A - UML 1.4 Notation Guide The model defines how many objects may participate in the relationship and may even set rules defining Appendix B - UML 2.0 Notation Guide which objects can participate.
Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 - 3-5: WhatA Is UML?diagram with a relationship called "authorizes." Figure Class Chapter 2 - UML Architecture

You will have a number Class diagrams on a project. Each will focus on the resources for a Chapter 3 likely - UML Diagrams and of Extension Mechanisms specific area. This is one example of where Package diagrams come into play. A Class diagram Chapter 4subject - Object-Oriented Concepts for the required to manage a Part II - resources Modeling Object Structure venue can be placed in one package. A Class diagram for the resources to manage agents can be in another package. Because all the diagram elements for a project Chapter 5 - Capturing Rules about Objects in a Class Diagram are stored in the same repository, regardless of package, you can reference any of these resources on Chapter 6 - How to Capture Rules about Object Relationships any diagram merely by using the proper naming convention (explained in Chapter 5) or using the import Chapter 7 - Testing with Objects concept (discussed in Chapter 14).
Part III - Modeling Object Interactions

Chapter 8 - Modeling Interactions in UML 1.4 Class diagrams are valuable because they Chapter 9 - Modeling Interactions in UML 2.0

Define essential resources of a system. Chapter 10 - the Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Define relationships between resources.

Chapter 12 - Modeling Generate code. the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

Model code the (reverse engineering). Part V - Modeling Application Architecture


Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 -diagram Using Deployment in other UML 1.4 The Class includes aDiagrams number of modeling constructs to cover the range of resources and Chapter 17 Representing an Architecture in UML 2.0 design mechanisms common to systems. Interfaces, template classes, association, aggregation,
Part VI - Bringing Rigor to generalization, the Model composition, realization,

Provide a focus for all the other diagrams.

specialization, and dependency are among the concepts you will

Chapter 18 - Applying Constraints to the UML Diagrams learn in Chapters 5 and 6. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 Class - Customizing UML Using Profiles While the diagram models the definitions of resources, the Object diagram models facts or Chapter 22 XML Metadata Interchange examples. Figure 3-5 shows a Class diagram that defines venue managers, agents, and their relationship. Appendix A -presents UML 1.4 Notation Guide Figure 3-6 an Object diagram that models one specific agent, Mike, and two specific venue

Object diagram

managers, and Bill, and the relationships between the three people. In most modeling tools you Appendix B - Susan UML 2.0 Notation Guide draw an C Object diagram in the same facility/canvas as the Class diagram. Appendix - Standard Elements
Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Figure 3-6: Object diagram. Preface

An I Object diagram is most useful Part - An Introduction to UML

in the early phases of a project for modeling examples. Examples often can uncover the rules that need to be part of the definitions of the resources and their relationships. Later Chapter 1 - What Is UML? in the project the Object diagram is useful for modeling test cases to see whether the Class diagram is Chapter 2 - UML Architecture correct and complete. Chapter 3 - UML Diagrams and Extension Mechanisms
Chapter 4
Part II - Modeling Object Structure

Object diagrams are valuable because they

- Object-Oriented Concepts

Chapter 5 - Capturing Rules about Objects in a Class Diagramexamples from the problem domain (that may Support the investigation of requirements by modeling Chapter 6 be - How toas Capture Rules about Object Relationships later used test cases). Chapter 7 Chapter 8 Chapter 9 - Testing with Objects

Model test cases to validate the Class Part III - Modeling Object Interactions

diagram.

The Object diagram is explained in Chapter 7.


- Modeling Interactions in UML 2.0

- Modeling Interactions in UML 1.4

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Composite Structure diagram

The Composite Structure diagram is new in UML 2.0. It represents the functionality formerly described using Composite Context diagrams and collaborations (not the same as Collaboration diagrams). The Chapter 13 - Modeling Behavior Using an Activity Diagram concept of the Composite Structure diagram is to visually represent the parts of a class, component, or Part V - Modeling the Application Architecture collaboration, including the interaction points (called ports) used to access features of the structure.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 14 - Modeling the Application Architecture Chapter Modeling Using the Component Diagram Figure 15 3-7-models a Software simple Composite Structure diagram of a pricing strategy from the theater system. A

pricing 16 strategy is Deployment built using aDiagrams discount in and a set Chapter - Using UML 1.4of price tiers.
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - 3-7: Customizing UMLStructure Using Profiles Figure Composite diagram of a pricing strategy. Chapter 22 - XML Metadata Interchange

The Composite diagrams Appendix A - UML Structure 1.4 Notation Guide also model collaborations. A collaboration describes a behavior, the resources used perform the behavior, and the roles the participating resources assume during the Appendix B UML to 2.0 Notation Guide behavior. 3-8 models a collaboration in which a venue manager secures the services of an agent. Appendix CFigure - Standard Elements
Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to representing use UML to improve Figure 3-8: A Composite Structure diagram a collaboration. timeliness, quality, and efficiency in development.

Composite Structure Companion diagrams are valuable because they Web Site Reveal the design of a complex component.
<?xml version="1.0" encoding="ISO-8859-1"?> Reveal the interface to a component separate from its structure. Table of Contents UML Bible Preface satisfy the required interactions.
Part I - An Introduction to UML

Describe the roles that elements play in the structure to fulfill the purpose of the structure and to

Chapter 1 - What Is UML? diagram is described in Chapter 7, in the section titled "Modeling the Composite The Composite Structure

Structure Chapter 2 Diagram." - UML Architecture


Chapter 3 Chapter 4 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts Component diagram

Part II - Modeling Object Structure

Chapter 5 - Capturing Rules about Objects in a Class Diagram The Component diagram represents pieces of software in the implementation environment. Where the

Class and diagrams model the logical design of the software, the Component diagram models Chapter 6 -Package How to Capture Rules about Object Relationships the implementation view. For example, an Order class could be generated as an EJB component. An Chapter 7 - Testing with Objects OrderEntry class could generated Part III - Modeling Objectbe Interactions as an HTML page. Figure 3-9 uses the component notation of UML 1.4 to represent browsers, JavaBeans, Chapter 8 - Modeling Interactions in UMLJSPs, 1.4 and HTML. You can also use components to represent source 9 code, XML, ASP, or virtually any 2.0 piece of software. Chapter - Modeling Interactions in UML
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Note that the Component diagram uses dependencies in the same manner that the Package diagram uses them. The successful operation of one component depends on its ability to communicate with the Part IV - Modeling Object Behavior other component.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part - Modeling the Application 2.0 V notation. Note the change inArchitecture the icon. The

Chapter 13changed - Modeling Behavior Using an Activity Diagram UML 2.0 the notation slightly. Figure 3-10 shows the same diagram from Figure 3-9 using UML

component symbol is now placed in the top right corner of

the rectangle. Chapter 14 - Modeling the Application Architecture


Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List ofFigure Tables 3-9: UML 1.4 Component diagram using components and dependencies. List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface Figure 3-10: UML 2.0 Component diagram using components and dependencies.
Part I - An Introduction to UML

Component diagrams are valuable because they Chapter 1 - What Is UML?


Chapter 2 Chapter 3

Model the real software in the implementation environment.


- UML Diagrams and Extension Mechanisms

- UML Architecture

Chapter 4 reveal - Object-Oriented Concepts They software configuration issues through the dependency relationships.
Part II - Modeling Object Structure

They provideRules an accurate picturein of systems prior to making changes or enhancements. Chapter 5 can - Capturing about Objects aexisting Class Diagram
Chapter 6 Chapter 7 Chapter 8 Chapter 9

They can reveal bottlenecks in an implementation without forcing you to read all of the code.
- Testing with Objects

- How to Capture Rules about Object Relationships

Part III - Modelingdiagram Object Interactions The Component is fully described

in Chapter 15.

- Modeling Interactions in UML 1.4

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 The Deployment diagram models the hardware of the implementation environment. Each node on a
Part IV - Modeling Object Behavior Deployment diagram typically represents

- Modeling Interactions in UML 2.0 Deployment diagram

one type of hardware, such as a disk drive, a client PC, a server,

Chapter 12 - Modeling the Use also of a System with Use being Case Diagram or a processor. A node may represent a the human or organizational unit, or more precisely, the Chapter 13 - Modeling Behavior Using an Activity function that a person can perform. Nodes areDiagram like classes in that respect. They represent a type of
Part V - Modeling the Application Architecture device, not a specific device, and the features

of each device. Like classes they are related using

associations that explain how the nodes may be connected. Figure 3-11 models a Deployment diagram Chapter 14 - Modeling the Application Architecture with four a database server, middleware server, and two types of client devices. Chapter 15nodes: - Modeling Software Using a the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Figure 3-11: Object Deployment diagram Part III - Modeling Interactions

with four nodes and their connections.

Class diagrams are valuable because they

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 -the Modeling an Object's Lifecycle in UML 1.4 Model hardware platform for a system. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Identify hardware capabilities Part IV - Modeling Object Behavior

that affect performance planning and software configuration.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

The Deployment diagram is discussed in Chapter 16.

Chapter 14 - Modeling the Application Architecture

Combined Component/Deployment diagram

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

By far the most common application of the Component and Deployment diagrams is to use them in a combined view that shows components installed on nodes. This view provides insights about the mapping Chapter 17 - Representing an Architecture in UML 2.0 of the communication requirements of the software to the physical properties of the nodes and Part VI - Bringing Rigor to the Model connections of the implementation platform. Figure 3-12 shows the two diagrams combined into one, Chapter 18 components - Applying Constraints to the UML Diagrams revealing installed on each node and the dependencies that cross the hardware boundaries.
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

- Capturing Rules about Objects in a Class Diagram Figure Combined Component and Deployment Chapter 6 - 3-12: How to Capture Rules about Object Relationshipsdiagram.

Combined Deployment Component Part III - Modeling Objectand Interactions

- Testing with Objects

diagrams are valuable because they

- Modeling Interactions in UML 1.4 Provide a view of the performance issues of an implementation, that is, software running on devices, Chapter 9 - Modeling requirements Interactions inacross UML 2.0 communication physical connections, and software migration across nodes. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Provide a visual check on the complexity of 2.0 an implementation that aids partitioning and Chapter 11 - Modeling an Object's Lifecycle in UML reconfiguration. Part IV - Modeling Object Behavior
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

The Combined Component/Deployment diagram is described in Chapter 17.

Chapter 14 - Modeling the Application Architecture < Day Day Up > Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Behavioral UML Diagrams by Tom Pender


ISBN:0764526049

Behavioral diagrams how the resources Johndescribe Wiley & Sons 2003 (940 pages)modeled in the Structural diagrams interact and how they each execute their capabilities. The behavioral diagram puts the resources in motion, in contrast to For beginning to advanced users, this book provides the structural view, which provides a static definition of the resources. comprehensive coverage of the versatility of 1.4 and 2.0 UML

Use Case diagram

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

The Use Case diagram models the users' expectation for using the system. The people and systems that interact with the target system are called actors. The features of the system that the actors use are called <?xml version="1.0" encoding="ISO-8859-1"?> use cases. Some use cases interact with other use cases, a relationship modeled using dependency Table of Contents arrows. UML Bible
Preface

The goal of the Use Case diagram is to identify all the features that the clients expect the system to support, but it does not reveal any details about the implementation of these features. Use cases can be Chapter - What Is UML? written 1 many different ways but the most common is to represent a view of the system from outside the Chapter 2 UML Architecture system. For example, when a customer approaches the sales portion of the theater systems, he might Chapter - UML Diagrams Extension expect 3 to see features thatand let him place Mechanisms an order by selecting a performance, selecting seats at the Chapter 4 - Object-Oriented Concepts performance, and paying for the order. Figure 3-13 models the customer's view of the system features.
Part I - An Introduction to UML Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to valuable the Model Use Case diagrams are because

Chapter 17 - Representing an Architecture in UML 2.0

Figure 3-13: Use Case diagram showing the customer's expectations for using the sales system. they

Chapter 18 - Applying Constraints to the UML Diagrams

Identify the clients' expectations for the system. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Identify specific features of the system.

Chapter 21 - Customizing UML Using Profiles Identify shared behavior among system features. Chapter 22 - XML Metadata Interchange

Provide a simple and easily understood way for clients to view their requirements. Appendix A - UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

The Use Case diagram is described in Chapter 12.

Activity diagram
The Activity diagram models logic-any logic-from workflow to use cases to methods. It borrows most of its notation from flowcharts, but has added the concept of concurrency to support many modern applications.

List of Figures List of Tables

List of Listings

Figure 3-14 models the use case "Select Performance" from Figure 3-13. The arrows trace the flow from < Day Day Up > beginning to end through decisions and loops, while identifying each logic step in the process.

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Figure Activity diagram for selecting theater performance. Chapter 11 - 3-14: Modeling an Object's Lifecycle in UMLa2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using Activity Diagram Represent the logic required to an implement system behaviors.
Part V - Modeling the Application Architecture

Activity diagrams are valuable because they

Represent logic at any level theArchitecture design needs, from system workflow to individual method Chapter 14 - Modeling the Application implementations. Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model since Are relatively familiar to users

Are simple enough to learn quickly.

they are often used in business training and procedures manuals.

Chapter 18 - Applying Constraints to the UML Diagrams

The Activity diagram is described in Chapter 13, "How to Model the Behavior of a System or Object Using Chapter 19 - Action Semantics an Activity Diagram."the UML Modeling Process Part VII - Automating
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Interaction diagrams

ThroughAUML 1.4, the phrase interaction diagrams referred to Sequence and Collaboration diagrams. Appendix - UML 1.4 Notation Guide These two described the communication between objects to accomplish some task such as Appendix B -diagrams UML 2.0 Notation Guide placing an or finalizing a contract. In UML 2.0, the phrase interaction diagrams includes the Appendix C -order Standard Elements
Glossary Index

Sequence, Communication, Interaction Overview, and Timing diagrams. The Collaboration diagram has been replaced by the Communication diagram, a slightly simpler version of the same diagram.

List of goal Figures The is still the same, though. Each of these diagrams represents some aspect of the communication List of Tables between objects to perform a task, and each diagram provides a unique perspective. List of Listings

Sequence diagram

< Day Day Up >

The Sequence diagram originated with James Rumbaugh and the Object Modeling Technique (OMT). The focus of the diagram is on identifying interactions between objects over time. The major benefit of the diagram is that it UML helpsBible identify the messages exchanged between objects. Exchanging messages requires ISBN:0764526049 by Tom a sender and receiver. A Pender receiver must have an interface in order to receive a message. Hence, if a John Wiley Sons 2003 (940 pages) the receiver must define an interface that conforms to message must be sent from&one object to another, the message. AnFor interface is an on theprovides class to which the receiving object belongs. beginning tooperation advanced signature users, this book comprehensive coverage the versatility 1.4 and 2.0 UML Class diagram. The Sequence diagram helps us find andof document new of operations on-the
specifications, and shows how to use UML to improve timeliness, quality,aand efficiency in development. Figure 3-15 models three objects: customer actor, a theater system, and a venue, and three messages. The theater system asks the venue for a set of events taking place in a specified date range. The venue Companion Web Site returns the set of events. The theater system then sends the events to the customer actor (user interface) to be displayed. The types of arrows describe the type of interaction. The messages become operation <?xml version="1.0" encoding="ISO-8859-1"?> signatures. The returns help validate the interaction. Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 7

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - Testing with Objects

Part II - Modeling Object Structure

Chapter 6 - 3-15: How to Capture Rules about Relationships Figure Sequence diagram ofObject a portion of the "Select a Performance" use case.

Another benefit ofObject the Sequence diagram Part III - Modeling Interactions
Chapter 9

is that it has a very narrow scope, typically, one scenario for one

use case. AModeling scenarioInteractions describes one possible Chapter 8 in UML 1.4 sequence of interactions when a use case executes. For

example, when you attempt to pay for your order at the theater, your credit card is approved and you get - Modeling Interactions in UML 2.0 your tickets, or your card is rejected and you don't get your tickets. These are two scenarios; each scenario Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 is represented by one Sequence diagram.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Sequence diagrams areBehavior valuable because

they task. It is not very easy to gloss over the details when

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Have narrow focus that Using helps an you see the specific questions, commands, and data being Chapter 13 a - Modeling Behavior Activity Diagram communicated the execution of a specific Part V - Modeling the during Application Architecture the express design the diagram reveals those details. Chapter 14 - Modeling theof Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model Explicitly identify the objects that

Chapter 17 - Representing an Architecture in UML 2.0

Explicitly identify the communication required to fulfill an interaction. This helps validate or discover the interfaces required by a class. participate in an interaction. This helps validate or even discover the

Chapter 18 - Applying Constraints to the UML Diagrams features of a class. Chapter 19 - Action Semantics

Explicitly identifythe theUML dataModeling that are passed Part VII - Automating Process as
Chapter 21 - Customizing UML Using Profiles Chapter 22 XML Metadata discussed in Chapter 9. Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Collaboration diagram (UML Appendix C - Standard Elements

part of the interactions. The data have to belong to a class somewhere in the design. Tracking down the source of the data often reveals new interactions. Chapter 20 - Using a Modeling Tool The UML 1.4 version of the Sequence diagram is described fully in Chapter 8. The UML 2.0 version is

1.4 and previous versions)

The Collaboration diagram is almost exactly the same as the Sequence diagram. The difference is the Glossary perspective. Both diagrams model interactions between objects for a specific task, but while the Sequence Index diagram emphasizes the sequencing of interactions over time, the Collaboration diagram models how the List of Figures
List of Tables

interactions utilize the structure of the participating objects and their relationships.

List of Listings

Figure 3-16 presents the Collaboration diagram of the sequence of messages shown in the Sequence < Day Day Up > diagram segment in Figure 3-15.

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

Figure 3-16: A Collaboration diagram version of the "Select a Performance" sequence from Figure 315. - Capturing Rules about Objects in a Class Diagram
- How to Capture Rules about Object Relationships

Chapter 7 - Testing with Objects Collaboration diagrams are valuable because they
Part III - Modeling Object Interactions

Reveal the structural requirements Chapter 8 - Modeling Interactions in UML for 1.4completing a task. They explicitly identify the objects that participate in an interaction. helps Chapter 9 - Modeling Interactions This in UML 2.0 validate or even discover the features of a class.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior Identify the structural changes

Reveal the interface requirements of the participating classes. required to satisfy an interaction. the source of the data often reveals new interactions.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Explicitly identify Behavior the data Using that isan passed asDiagram part of the interactions. The data have to belong to a class Chapter 13 - Modeling Activity somewhere in the design. Tracking down Part V - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram diagram." Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0 Communication diagram
Part VI - Bringing Rigor to the Model

The Collaboration diagram is explained in Chapter 8. See also the following section. "Communication

The Communication diagram is to the UML 2.0 version of the Collaboration diagram. The focus is still on Chapter 18 - Applying Constraints the UML Diagrams communication asSemantics it relates to the structure of the objects involved in a task. One very significant Chapter 19 - Action improvement over the older diagram Part VII - Automating the UMLCollaboration Modeling Process is the ability to nest interactions. This saves a good deal of time because it enables reuse of behavior in much the same way that other diagrams reuse Chapter 20 - Using a Modeling Tool objects and collaborations. Figure 3-17 models a collaboration that references an existing collaboration Chapter 21 - Customizing UML Using Profiles called "get performances." Chapter 22 - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1

- What Is UML?

Chapter 2 - 3-17: UML Architecture Figure A Communication diagram modeling an interaction that includes another interaction, the Chapter - UML Diagrams and Extension Mechanisms sd 3 (Collaboration diagram) "get performances." Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 - Object-Oriented Concepts

Communication are valuable Part II - Modeling diagrams Object Structure

because they

Reveal the structural requirements for completing a task. They explicitly identify the objects that - How to Capture Rules about Object Relationships participate in an interaction. This helps validate or even discover the features of a class.
- Testing with Objects

- Capturing Rules about Objects in a Class Diagram

Part III - Modeling Object Interactions Reveal the interface requirements

of the participating classes.

- Modeling Interactions in UML 1.4

Identify the structural changes Chapter 9 - Modeling Interactions in required UML 2.0 to satisfy an interaction.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Explicitly identify the data that is passed as part of the interactions. The data have to belong to a class somewhere in the design. Tracking down the source of the data often reveals new interactions.

Chapter 12 - Modeling the Use of System with the Case Diagram The Communication diagram isafully described inUse Chapter 9. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Interaction Overview diagram

Chapter 14 - Modeling the Application Architecture

The Interaction Overview diagram uses the layout of an Activity diagram to model the flow of logic in a Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4

series of interactions. In other words, instead of modeling a series of discrete behaviors (activities), the Interaction Overview uses blocks of interactions called Interaction Occurrences, and individual interactions Chapter 17 - Representing an Architecture in UML 2.0 (expressed in the form of a Sequence diagram). Figure 3-18 models the set of interactions needed to set Part VI - Bringing Rigor to the Model up the initial display for the theater system sales application. It steps through the logic of displaying the Chapter 18 - Applying Constraints to the UML Diagrams default list of events, then facing the user with the choice to use the default set of performances or enter a Chapter 19 - Action Semantics date range to find the desired performances.
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> 3-18: An Interaction Overview diagram modeling the logical progression through a series of Table Figure of Contents

interactions. UML Bible


Preface

The interactions for displaying events, displaying performance, and so forth are defined elsewhere and referenced here. Using this technique facilitates reuse of individual interactions across different Chapter 1 - What Is UML? applications.
Part I - An Introduction to UML

Chapter 2

- UML Architecture

Chapter 3 -Overview UML Diagrams and Extension Mechanisms Interaction diagrams are valuable because they Chapter 4 - Object-Oriented Concepts

Provide a high-level view of the Part II - Modeling Object Structure


Chapter 5 Chapter 6 Chapter 7 Chapter 8

logical progression through a set of interactions.

Keep the focus on the "big picture" and away from implementation details until the bigger issues are - How to Capture Rules about Object Relationships resolved.
- Testing with Objects

- Capturing Rules about Objects in a Class Diagram

Part III - Modeling Object Interactions Support working on an interaction independent

of where it might be used.

- Modeling Interactions in UML 1.4

Encourage the reuse of interactions as easily as classes and interfaces are. Chapter 9 - Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior

Chapter 11 - Modeling Object's UML decisions did notan corrupt theLifecycle original in goal or2.0 logic of a process. Chapter 12 - Modeling the Use of a System the Use Diagram The Interaction Overview diagram is fullywith described inCase Chapter 9. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Provide a good check after implementation to make certain that the individual low-level design

Timing diagram

Chapter 14 - Modeling the Application Architecture

The Timing diagram provides a view of state change that emphasizes the importance of time and timing. The diagram layout is a grid with time and states as the axes. Figure 3-19 provides a sample Timing Chapter 16 - Using Deployment Diagrams in UML 1.4 diagram. Each event in it is matched to a point in time - there is even a timing constraint, {20 ms +/- 2 ms}, Chapter 17 - Representing an Architecture in UML 2.0 on the duration of one state. Everything is about time in a Timing diagram.
Chapter 15 - Modeling Software Using the Component Diagram
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1

- What Is UML?

Chapter 2 - 3-19: UML Architecture Figure A sample Timing diagram, showing the different states of a heartbeat over time. OMG Chapter 2.03 - UML Diagrams and Extension Mechanisms Chapter 4 - Object-Oriented Concepts

Time a critical Object element of many Part II is - Modeling Structure


Chapter 6 Chapter 7

designs for embedded applications. Timing diagrams are valuable because they Chapter 5 - Capturing Rules about Objects in a Class Diagram
- How to Capture Rules about Object Relationships Clearly document the timing requirements that govern state change. - Testing with Objects

Part III - Modeling Object Interactions Provide a great complement to the

State Machine diagram (discussed in the following section) when

Chapter 8timing - Modeling Interactions in UML 1.4 the of events is a critical requirement of the successful operation of the system. Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

The Timing diagram is described in Chapter 9.

- Modeling Interactions in UML 2.0

State Machine diagram

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

The State Machine diagram represents a single object. The diagram shows how external stimuli cause Chapter 13 Modeling Behavior Using an Activity Diagram changes in the object over its lifetime. Figure Part V - Modeling the Application Architecture

3-20 shows a partial State Machine diagram that models how a seat at a show (a "ShowSeat") in the theater system changes each time someone attempts to make a Chapter 14 - Modeling the Application Architecture change to it. Each attempt, called an event, can change the seat's condition, called a state. The select Chapter 15 - Modeling Software Using the Component Diagram event caused the seat to change from a state in which it is "Not Priced, Not Selected, and Not Sold" to a Chapter 16 - Using Deployment Diagrams in UML 1.4 state in which it is "Not Priced, Selected, Not Sold". The select event is not recognized in this new state so Chapter 17 - Representing an Architecture in UML 2.0 it has no effect. The diagram illustrates this by showing that there is no arrow with the select event leaving Part VI - Bringing Rigor to the Model this state. The price() event is recognized (an outgoing arrow labeled price ()) and causes the object to Chapter 18 - Applying Constraints to the UML Diagrams change to yet a third state.
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Figure 3-20: Partial State Machine diagram for a seat at a performance.

Preface State Machine diagrams are valuable because they


Part I - An Introduction to UML

Chapter 1 - What Is UML? Identify the specific responses of an object to everything that can happen to the object. Chapter 2 Chapter 3

Identify what events an object will and will not respond to depending on its current state. - UML Diagrams and Extension Mechanisms change.

- UML Architecture

Chapter 4 - Object-Oriented Discover or validate theConcepts data needed to define the state of the object and the attributes affected by the
Part II - Modeling Object Structure

Chapter 5 Chapter 7

- Capturing Rules about Objects in a Class Diagram Help internal effects of behaviors that cannot be seen using interaction-based diagrams. Chapter 6 discover - How to the Capture Rules about Object Relationships

The State Machine diagram includes a number of other notations that explain the behavior of the object as it transitions from state to state, and while it is in a specified state. The State Machine diagram is described Chapter 8 - Modeling Interactions in UML 1.4 fully in Chapters 10 and 11.
Part III - Modeling Object Interactions

- Testing with Objects

Chapter 9

- Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Protocol State Machine diagram

A Protocol State Machine diagram is like a more narrowly defined State Machine diagram, in that it limits the scope of the diagram to show only the transitions that trigger the state changes. The Protocol State Chapter 13 - Modeling Behavior Using an Activity Diagram Machine focuses on conditions that govern the transitions (called pre- and post-conditions), and state Part V - Modeling the Application Architecture invariants , which define conditions that must be true whenever the object is in that state.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 14 - Modeling the Application Architecture Chapter - Modeling Software Using Component Diagram diagram. Notice that the notation for State Figure 15 3-21 shows an example of a the Protocol State Machine Chapter 16 and - Using Deployment Diagrams in Machines Protocol State Machines is UML very 1.4 similar. The difference in the purposes of the two diagrams Chapter 17 Representing an Architecture in UML 2.0 drives the differences in the notations. The State Machine diagram simply documents that an event causes
Part VI - Bringing Rigor toState the Model a change. The Protocol Machine

documents when such an event is permitted to cause a change

and what be true when theto change finishes. The State Machine defines what is possible. The Chapter 18 must - Applying Constraints the UML Diagrams Protocol Machine defines what is legal. Chapter 19State - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List ofFigure Tables 3-21: Protocol State Machine for a seat at the theater. List of Listings

Protocol State Machine diagrams are valuable because they < Day Day Up > Place the focus on what it takes to legally change an object. Reveal conditions that ensure the integrity of the object while it is being manipulated by other objects UML Bible in the system. ISBN:0764526049

by Tom Pender John Wiley Sons 2003 (940 pages) Keep the designer from& drilling down to the implementation details before resolving the integrity For beginning to advanced users, this book provides issues. comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and showsfully how in to Chapter use UML 11. to improve The Protocol State Machine is explained timeliness, quality, and efficiency in development. Companion Web Site

< Day Day Up >


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Extensibility mechanisms by Tom Pender


ISBN:0764526049

UML formally uses the expression mechanisms to refer to stereotypes, tagged values, and John Wiley & Sons extensibility 2003 (940 pages) constraints. These three constructs provide the ability to customize For beginning to advanced users, this book provides UML diagrams for a specific subject and/or platform. These constructs appear as adornments to standard UML comprehensive coverage of the versatility of 1.4 and 2.0 UMLnotation. Work is also being specifications, and shows how extensibility to use UML to improve done for subsequent UML versions to provide through the use of metaclasses, an approach timeliness, quality, andof efficiency in development. that can handle the bigger challenges frameworks and distributed business components. Stereotypes, tagged values, and constraints will appear on nearly every diagram type described in this book.Stereotypes identify a set of qualities that may appear on a number of diagram elements. Tagged <?xml version="1.0" encoding="ISO-8859-1"?> values allow you to add new features to an element of the diagram. Constraints define rules to protect the Table of Contents integrity of a diagram element. All three mechanisms are defined here and applied throughout the UML Bible descriptions. diagram
Preface
Part I - An Introduction to UML

Companion Web Site

Chapter 1

Stereotypes - What Is UML?

Chapter 2 2.0 - UML Architecture The UML specification defines stereotype as Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4 - Object-Oriented Concepts

AModeling new typeObject of modeling element Part II Structure

that extends the semantics of the metamodel. Stereotypes must be based on certain existing types or classes in the metamodel. Stereotypes may extend the semantics, Chapter 5 - Capturing Rules about Objects in a Class Diagram but not the structure of pre-existing types and classes. Certain stereotypes are predefined in the Chapter 6 - How to Capture Rules about Object Relationships UML, others may be user defined. Stereotypes are one of three extensibility mechanisms in UML. Chapter 7 - Testing with Objects (UML 2.0 )
Part III - Modeling Object Interactions

Chapter 8

- Modeling Interactions in UML 1.4 A stereotype is a common concept used in ordinary conversation. For example, on entering a meeting, I Chapter 9 - out Modeling Interactions in the UML 2.0 people on the right side of the room are accounting folk, the might point to a colleague that three Chapter Modeling an Object's in UML 1.4 four to 10 our-left are sales, and so Lifecycle on. My colleague understands that these labels identify a set of qualities Chapter 11 - Modeling an Object's Lifecycle in UML 2.0forth. The labels do not explain or define their specific like skill sets, knowledge about the project, and so Part IVOne - Modeling Object Behavior jobs. of the accounting people might be a CPA, another a bookkeeper, and the other a manager. Chapter 12 - Modeling the Use of a System with the Use Case Diagram

In the same manner,Behavior within a software design, Diagram I might designate some classes as user interface classes, Chapter 13 - Modeling Using an Activity others as controllers, and still others as utilities. Part V - Modeling the Application Architecture The interface classes might be as diverse as buttons, frames, drop-down lists, or graphics. But all these classes are still tools for building a user interface. Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Stereotype notation encloses the label in guillemets (French quotes) as in user interface or controller. The stereotype is then added to the description of the model elements, the icons containing the name, and Chapter 17 - Representing an provides Architecture in examples UML 2.0 of the application of stereotypes. The first is a other features. Figure 3-22 three Part VI - Bringing Rigor to the Model stereotype on a dependency between two use cases, the second is a stereotype on a class, and the third Chapter 18 - Applying Constraints to the UML Diagrams is a stereotype on the dependency between two packages.
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - 3-22: Modeling an Object's Lifecycle UML 2.0 of stereotypes. Figure Three examples of the in application
Part IV - Modeling Object Behavior

A number of stereotypes have been UML. They are called Standard Elements Chapter 12 Modeling the Use of already a System withdefined the Use within Case Diagram because are provided as Using part of the UML standard. Chapter 13they - Modeling Behavior an Activity Diagram Appendix C provides a complete list of the UML 2.0 V standard elements. Part - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture

While these existing stereotypes are useful, they do not prevent you from creating your own. By definition a stereotype is a means to extend UML, to add new concepts that augment and customize its standard Chapter 16 - Using Deployment Diagrams in UML 1.4 modeling elements. The goal of providing this mechanism is to allow users to tailor their use of UML Chapter - Representing an Architecture in UML 2.0 without17 having to create new model elements or even a new language that fits their particular domain or Part VI - Bringing Rigor to the Model platform.
Chapter 15 - Modeling Software Using the Component Diagram Chapter 18 - Applying Constraints to the UML Diagrams

In my earlier description of a stereotype, I said that a stereotype brings with it some information about the Chapter 19 - Action Semantics entities that share the stereotype. For example, Part VII Automating the UML Modeling Process the accounting folks bring specific knowledge to the project about how the accounting processes and policies work. This stereotype-related information is Chapter 20 - Using a Modeling Tool attached to a stereotype using tagged values, the next topic in the description of extension mechanisms. Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

Tagged Values

The UML specification defines tagged value as Appendix C 2.0 - Standard Elements
Glossary Index The explicit definition of a property as a name-value pair. In a tagged value, the name is referred to List of Figures as the tag. Certain tags are predefined in the UML; others may be user defined. Tagged values are List of Tables one of three extensibility mechanisms in UML. (UML 2.0) List of Listings

In UML 1.4, tagged values first appear as features of a stereotype-a tagged value is paired with a tag < Day Day Up > definition, a label that describes the type of value that may be assigned to the tag. The tag definition was a bit redundant because the TaggedValue metaclass inherits from the ModelElement metaclass, which already has a name attribute. So in 2.0, tag definition is dropped but tagged values are retained.
UML Bible

The purpose of aby tagged value is to assign a feature to a model element in addition to those features ISBN:0764526049 Tom Pender already defined in the metamodel. This enables you to tailor or enhance the description of a model John Wiley & Sons 2003 (940 pages) element while still adhering to the UML metamodel. Tagged values must not alter or contradict the existing For beginning to advanced users, this book provides definition of a metaclass. They may only add to it. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, and efficiency in development. You may add tagged valuesquality, to any model element. Some common places to use tagged values include the name compartment of a class, and attribute descriptions. Some tagged values are even predefined, Companion Web Site such as the persistence tagged value on a class that identifies whether the class is stored or transient.

Tagged values are expressed in the form name=value, for example author="Tom", project_phase=2, or <?xml version="1.0" encoding="ISO-8859-1"?> last_update="1-07-02". In some diagram locations they are also enclosed within curly braces, Table of Contents {author="Tom", last_update="1-07-02"}. UML Bible
Preface
Part I - An Introduction to UML

Constraints

Chapter 1 Chapter 3 Chapter 4 Chapter 5

- What Is UML? The UML specification defines constraint as Chapter 2 2.0 - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

A semantic condition or restriction. Certain constraints are predefined in the UML, others may be user defined. Constraints are one of three extensibility mechanisms in UML. (UML 2.0)
- Capturing Rules about Objects in a Class Diagram

Chapter 6 - How to Capture Rules about Object Relationships Like stereotypes, constraints appear throughout UML diagrams. Constraints define the invariants that Chapter 7 Testing with Objects preserve the integrity of the system.
Part III - Modeling Object Interactions

A constraint defines a condition that must hold true for the duration of the context in which it is defined. A Chapter 8 - Modeling Interactions in UML 1.4 constraint on an attribute value for object Chapter 9 Modeling Interactions in an UML 2.0 holds true for the life of the object. A constraint on an object state holds as long as the object is that state. A constraint on an operation holds true for the duration Chapter 10 - true Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

of the attempt to execute the operation.

Chapter 12 - Modeling the the Use length of a System the Use Case Diagram performance might limit to 50 with alpha characters, including spaces and punctuation but no Chapter 13 Modeling Behavior Using an Activity Diagram special characters. The constraint may be expressed by placing the preceding text inside curly brackets,
Part V {up - Modeling the Application Architecture as in to 50 alpha characters, including spaces

A constraint is enclosed within curly braces {}. For example, an attribute called name on a theater

and punctuation but no special characters}. Figure 3-23

Chapter 14 - Sales Modeling the Application models the Agreement class Architecture with a constraint on the attribute endDate. The end date must be no Chapter 15 Modeling Software Using the on Component Diagram less than the start date. The constraint the relationship states that there may be any number (zero or Chapter 16 - Using Deployment Diagrams in UML more) sales agreements for each contract but 1.4 the dates for the sales agreements must not overlap. Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Figure 3-23: Constraints on attributes and associations. Preface


Part I - An Introduction to UML

Chapter 1

Note Curly braces are also used for properties.


- What Is UML?

Chapter 2 - UML Architecture Constraints are often expressed more formally using the UML Object Constraint Language (OCL). For Chapter 3 the - UML Diagrams and Extension Mechanisms example, endDate constraint could be expressed in OCL as Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure context SalesAgreement inv:

- - definition of an invariant

Chapter 5 -=< Capturing Rules about Objects in a Class Diagram endDate startDate. Chapter 6 Chapter 7 - How to Capture Rules about Object Relationships - Testing with Objects

The first line is a definition statement Part III - Modeling Object Interactions

that establishes the context for the statement as being within the

SalesAgreement class. The double dash designates a comment. The second line is the actual constraint Chapter 8 - Modeling Interactions in UML 1.4 stating 9 that end date of the sales agreement must always be equal to or greater than the start date. Chapter - the Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Constraints support traversing links, working with groups of items, and enumerations. Constraints are most often applied to attributes and associations, but may also apply to stereotypes, messages, and actions.

Chapter 12 information - Modeling the Use the of aUML System withConstraint the Use Case Diagram see Chapter 19, "Action Semantics", For more about Object Language, Chapter 13 - Modeling Behavior UsingTool." an Activity Diagram andChapter 20, "Using a Modeling
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component < DayDiagram Day Up > Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Comments UML Bible


by Tom Pender
ISBN:0764526049

Since it is impossible provide a notation forpages) everything that could be expressed in a project, UML Johnto Wiley & Sons 2003 (940 provides the capability to attach text to any element in the model. Comments may be attached to For beginning tofreeform advanced users, this book provides individual attributes, operations, associations, messages, objects, anything in a UML model. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Figure 3-24 models a comment attached to a class. Comments are enclosed in a box with a "folded" top right corner. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Figure 3-24: A comment attached to a class. - How to Capture Rules about Object Relationships

Part III - Modeling Object Interactions

< Day Day Up >

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Profiles

UML Bible by Tom Pender


ISBN:0764526049

A profile is a means toWiley customize the use(940 of UML John & Sons 2003 pages)for a specific domain or platform. Profiles use a combination of extension mechanisms to tailor UML For example, in Chapter 4 of the UML 1.4 For beginning to advanced users, thisnotation. book provides specification you comprehensive can find two sample profiles. One defines software development processes, and the coverage of the versatility of 1.4 and 2.0 UML and shows how to use UML to improve other defines the specifications, use of UML for business modeling.
timeliness, quality, and efficiency in development.

A profile may provideCompanion stereotypes for organizing the artifacts of a project into packages. For example, the Web Site software development profile uses stereotypes to identify analysis models versus design models. A profile may also define class-level stereotypes such as entity, control, and boundary that explain how <?xml version="1.0" encoding="ISO-8859-1"?> groups of classes should be used within an architecture.
Table of Contents

The goal of a profile is to expedite modeling in a domain by predefining a set of common concepts and UML Bible constructs.Chapter 21 provides a complete explanation of some example profiles so that you can see Preface how use profiles to Part I you - Anmight Introduction to UML
Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - What Is UML? - UML Architecture

customize your projects.

< Day Day Up > - UML Diagrams and Extension Mechanisms


- Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

UML provides a variety of diagrams support the wide range of requirements and design details needed John Wiley & Sons to 2003 (940 pages) to define and build software systems. For beginning to advanced users, this book provides

Model Management diagrams

comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Companion Web Site Model Management diagrams provide a means to organize the work products of the software development process. <?xml version="1.0" encoding="ISO-8859-1"?> ThePackage diagram is a general purpose tool for organizing like products in much the same way Table of Contents UML Bible

that directories and file systems do.

Preface TheSubsystem diagram is a stereotypes version of the Package diagram that partitions the work
Part Iproducts - An Introduction to UML of a project according

to the parts of a system that they describe.

Chapter 1

- What Is UML?

The diagram is a stereotyped version of the Package diagram used to partition the work Chapter 2 Model - UML Architecture products according to and type of diagram used to describe the system, such as Use Case diagrams and Chapter 3 - UML Diagrams Extension Mechanisms
Chapter 4 Chapter 5 Chapter 6

Class diagrams. Object-Oriented Concepts

Part II - Modeling Object Structure

- Capturing Rules about Objects in a Class Diagram Structural diagrams

- How to Capture Rules about Object Relationships The structural diagrams provide a static view of the resources available to the system. Chapter 7 - Testing with Objects
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

TheClass diagram provides the definitions of resources essential to the proper operation of the - Modeling Interactions in UML 1.4 system, and the rules for the relationships between them.
- Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in to UML 1.4 The Object diagram provides a means evaluate facts in the real world in order to support the

development of the Class diagram. also provides a means to test the Class diagram by representing Chapter 11 - Modeling an Object's LifecycleIt in UML 2.0 test data. Part IV - Modeling Object Behavior
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

TheComponent diagram represents physical pieces of software used by the implemented system. TheDeployment diagram represents the processing environment of the implemented system,

Chapter 14 - Modeling the Application Architecture including both machine and human processing units and their connections. Chapter 15 - Modeling Software Using the Component Diagram

Together the Deployment Component Diagrams and Deployment diagrams describe how a software system is installed and Chapter 16 - Using in UML 1.4 runs the processing Chapter 17on - Representing an environment. Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Behavioral diagrams

The behavioral diagrams represent how the system Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

resources work when they execute.

Interaction diagrams of UML 1.4 describe how objects work together to accomplish the tasks of the system.

Appendix A The - UML 1.4 Notation Guide Sequence diagram models the sequence of messages between objects during the Appendix B execution - UML 2.0 of Notation Guide a behavior such as a use case. Appendix C - Standard Elements Glossary Index

TheCollaboration diagram models how objects use the links between them to pass messages during the execution of a behavior.

List of Figures List of Tables

Interaction diagrams of UML 2.0 have been enhanced to facilitate reuse.

List of Listings TheSequence diagram still models the sequence of messages between objects during the

execution of a behavior such as a use case. < Day Day Up > TheCommunication diagram is a simplified version of the Collaboration diagram. TheInteraction Overview diagram combines logical flow with interaction occurrences (preUML Bible defined interaction sets) to model the behavior of theISBN:0764526049 system.
by Tom Pender John Wiley & provides Sons 2003 (940 pages) TheTiming diagram a precise tool for working out the exact time constraints for a For beginning to advanced users, this book provides behavior of the system. comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. < Day Day Up > Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Chapter UML 4: Object-Oriented Concepts ISBN:0764526049 by Tom Pender

Overview

John Wiley & Sons 2003 (940 pages)

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, shows how to use UML to improve Object-oriented concepts have and been around since the 1970s. A variety of programming languages, timeliness, quality, efficiency in development. including C++, Smalltalk, Java, andand Eiffel, implement object-oriented principles. Object-oriented modeling

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Unfortunately, many companies did not reap the real benefits of these languages and techniques because UML Bible they did not understand what makes them work. Because object-oriented principles guided the design of Preface these tools, understanding these principles has a direct impact on the application of the tools. Shortly after
Part - Anof Introduction to from UML the I start the transition

languages followed close behind, built on earlier modeling environments based on basic drawing tools Companion Web Site and procedural modeling techniques like structured analysis. By the early 1990s formal object-oriented methods such as the Object Modeling Technique, Booch '93, and OOSE came into common use.

procedural to object-oriented development, studies showed that most

companies less than 20 percent improvement in development time. This hardly warranted the Chapter 1 - were What seeing Is UML? cost and to switch over. Chapter 2 effort - UML Architecture
Chapter 3 Chapter 4

The big question still is, "Why didn't they achieve the big gains promised by the new object-oriented - Object-Oriented Concepts techniques?" The answer in large part is that people tried to use the new technique without changing the Part II - Modeling Object Structure way they thought about the problem. They didn't really grasp what it means to approach a problem from Chapter 5 - Capturing Rules about Objects in a Class Diagram an object-oriented perspective. The rest of this chapter is an attempt to explain the key concepts that Chapter 6 - How to Capture Rules about Object Relationships together define an object-oriented approach to software development.
Chapter 7 - Testing with Objects
Part - Modeling So III what does the Object phraseInteractions object-oriented

- UML Diagrams and Extension Mechanisms

mean? The phrase itself sheds some light on the answer. It has

Chapter 8 -to Modeling UML in 1.4 something do with Interactions viewing the in things the world as objects. Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Day Up > < Day
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Objects and Classes by Tom Pender


ISBN:0764526049

An object can beJohn a physical entity, a pages) chair or this book. You can describe the chair, repair it, and Wiley & Sons such 2003as (940 sell it. You can buy this book, read this book, and this mark thisprovides book (or even provide a great review of the For beginning to advanced users, book book). comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and as efficiency inclass development. An object may also be intangible, such a job or attendance. Even though a job is not something you can touch, it is something you can describe, discuss, assign, and complete. Class attendance can be Companion Web Site described, monitored, and reported. Anything that you can describe can be represented as an object, and that representation can be created, manipulated, and destroyed to represent how you use the real object <?xml version="1.0" encoding="ISO-8859-1"?> that it models. Table of Contents

Anobject UML Bible is the representation of a specific entity in the real world, such as a specific person or a specific order. A class is the rules that define the object. For example, this book is real. It is made of paper, has Preface dimensions, pages, colors, and Part I - An Introduction to UML ISBN and title. In the real world we move the book from the printer, to inventory, to stores, and finally into the hands of customers. To track the physical book we would have to Chapter 1 - What Is UML? physically follow it through all these movements. For one book that might be possible, though a bit costly. Chapter 2 - UML Architecture For a publisher who wants to track thousands of books, the physical approach would be impossible and Chapter 3 - UML Diagrams and Extension Mechanisms impractical. Instead, the publisher creates a representation of the book, a description that contains enough Chapter 4 - Object-Oriented Concepts information to accurately track what the publisher needs to know about the book and its movements to Part II - Modeling Object Structure support the publisher's business objectives. Then, for every relevant change that happens to the book, the Chapter 5 - Capturing Rules about Objects in a Class Diagram publisher alters the representation.
Chapter 6 - How to Capture Rules about Object Relationships Chapter 7 individual - Testing with Objects Since the representation for all books tracked by the publisher need to have the same
Part III - Modeling Object Interactions information, the publisher creates a single set

of rules that apply to all books. The set of rules is called a

Chapter 8 class - Modeling Interactions in UML 1.4 class. A is a definition, a template, that describes how to build an accurate representation of a Chapter 9type - Modeling Interactions in UML 2.0 specific of object. Each object is instantiated (created, made real) by using the class definition as a Chapter 10 Yet - Modeling an Object's 1.4 template. each object, each Lifecycle instancein ofUML the class, can be described using unique values for each of

the rules the class example, the class says that each book needs an ISBN. But each Chapter 11that - Modeling an defines. Object's For Lifecycle in UML 2.0 book is assigned a different Part IVobject - Modeling Object Behavior ISBN.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram Part V - Modeling the Application Architecture < Day Day Up > Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Creating Abstractions of Objects by Tom Pender


ISBN:0764526049

To use objects, we first need distinguish between John Wiley & to Sons 2003 (940 pages) a real object and the representation of an object. In software projectsFor we beginning are nearly always working with to advanced users, thisrepresentations book provides of objects. The system needs to manage the representation to reflect how you are managing the real objects. comprehensive coverage of the versatility of 1.4 and 2.0 UML For example, an orderspecifications, and shows how to use UML and to improve processing system needs to manage customers, orders, products. The software does not directly timeliness, quality, and efficiency in development. manipulate customers, orders, or products. Instead the software creates representations called abstractions, a general term referring to the use of objects and classes. The software then manages the Companion Web Site abstractions to coincide with changes occurring to the real world objects. Figure 4-1 shows that when a real customer places an order for a product, the software creates an order object (abstraction) that <?xml version="1.0" encoding="ISO-8859-1"?> associates the customer (abstraction) with the product (abstraction).
Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure RealInteractions objects versus abstractions. Chapter 8 - 4-1: Modeling in UML 1.4
Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV -4-1 Modeling Object Behavior Figure actually poses a problem

The quality and value of the abstraction are defined by how well it represents the real-world objects in terms of the information we need to maintain about them and the things we need to do with them. with what I've just said because all of the images in Figure 4-1 are

- Modeling Interactions in UML 2.0

Chapter 12 - Modeling Use of a of System with the Use Case Diagram abstractions, that is, the pictures the people and the products are abstractions, representations of real Chapter - Modeling Behavior Using an ship Activity Diagram people13 and products. But since I can't a real person and real products along with the book, this will
Part V the however, Application Architecture have toModeling do. It does, make my point

about the quality of an abstraction. If the image is good

Chapter 14 Modeling the Application Architecture enough to -convey the needed information for the example, then it is a successful abstraction. Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

So an abstraction represents something in the real world. An abstraction describes that "something" using only the information that supports how we plan to use it. When I need to contact my tech editor, for Chapter 17 - Representing an Architecture in UML 2.0 example, I don't need to know everything about him. I could contact him using just his name and phone Part VI - Bringing Rigor to the Model number. It does not add anything to my ability to contact him if I also record his eating habits, his Chapter 18 - Applying Constraints to the UML Diagrams genealogy, and his music preferences. All that other information is valid and does in fact describe him, but Chapter 19 - Action Semantics it does not help me contact him. Figure 4-2 shows my tech editor on the left hard at work, and an object Part VII - Automating the UML Modeling Process icon, an abstraction, on the right containing the information needed to contact him; his name and phone Chapter 20 - Using a Modeling Tool number.
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure 4-2: Victor (on the left) and an abstraction of Victor (on the right, an object icon). < Day Day Up > The reason we create abstractions is get work done. We need to create, manipulate, and dispose of information to reflect how we create, manipulate, and dispose of real things. So to create an appropriate abstraction, I must understand the real-world problem that the abstraction represents. If I want to sell UML Bible shirts, then my shirt abstraction of identifying features, size, cost, and ISBN:0764526049 by Tom Pender must include at least some kind price. Knowing the person assembled the shirt, the machine(s) it was made on, or the box it was John Wileywho & Sons 2003 (940 pages) shipped in from the don't my ability sell it, so that information isn't needed. Forfactory beginning to affect advanced users, to this book provides It is tempting at times to pick up a dictionary orto some other objective specifications, and shows how use UML to improve reference source to create the timeliness, quality, andexample, efficiencythe in development. abstraction. But, keeping with the shirt question is not "What is the generally accepted definition of a shirt in the English Web language?" The question is, "What information do we need to have about Companion Site a shirt in order to sell it effectively?" Using this approach to define an abstraction results in a different solution if the problem changes, for example, if I need to represent shirts because I design them, or wash <?xml version="1.0" encoding="ISO-8859-1"?> them, or tailor them. There is bound to be some overlap because all four problems are using the same Table Contents real of world entity, the shirt. But each problem focuses on different features of the shirt.
UML Bible Preface
Part I - An Introduction to UML

comprehensive coverage of the versatility of 1.4 and 2.0 UML

< Day Day Up >

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Defining an object by Tom Pender


ISBN:0764526049

Defining an object has to take into account information and behavior. Each object defines three basic John Wiley & Sons 2003 (940 pages) types of information two types of behavior. For and beginning to advanced users, this book provides

Information

comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Web Site of an entity that will allow users of the object to distinguish it First, an object has toCompanion describe the features from other objects. It needs to have an identity. In fact, identity was given significant clarification in the latest versions of MOF and UML. But even if an object does not own a unique identification number, it still <?xml version="1.0" encoding="ISO-8859-1"?> has a identity. Even if two objects share the same features, each object has a unique identity. Table ofunique Contents UML Bible Preface

Second, an object must be able to describe itself. This book has a title, author, ISBN, and a price, and contains pages and a cover. This type of information is often called its structure , the information used to Part I - An Introduction to UML create it.
Chapter 1 - What Is UML? Chapter 2 - UML Architecture Third, each object must be able to describe its current condition, called its state. Object state is sometimes

represented by the values and of each of its features. For example, the cover of this book could be new or very Chapter 3 - UML Diagrams Extension Mechanisms worn. Other times, the stateConcepts is represented by the presence or absence of key relationships with other Chapter 4 - Object-Oriented objects. For example, a Structure book can be Part II - Modeling Object reserved or ordered. A reserved book has a relationship with the person5 who reserved Rules it. An ordered book in has a relationship Chapter - Capturing about Objects a Class Diagram with an order. Sometimes a single status code represents object's state. But more than not, that status code represents a unique combination of Chapter 6 - an How to Capture Rules about often Object Relationships feature7and relationship values that together define the current condition of the object. Chapter - Testing with Objects
Part III - Modeling Object Interactions

In some cases, an object may even contain a fourth type of information. Some objects are created simply - Modeling Interactions in UML 1.4 to hold and protect information generated by the system. The object does not create or even really own Chapter 9 - Modeling Interactions in UML the information. It is simply a steward to 2.0 information, a repository. For example, log files record events that Chapter 10 - Modeling an Object's in UML 1.4 occur during the execution of anLifecycle application. The log file does not create the information. The information Chapter 11describe - Modeling an Object's Lifecycle UMLThe 2.0 log file simply provides a place to store the information does not either the log file or its in state. Part IV - Modeling Object Behavior until someone asks for it.
Chapter 8 Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Not every of an objectUsing defines state.Diagram For example, the author name of this book does not affect Chapter 13 feature - Modeling Behavior an its Activity its condition. It isthe simply a fact about the book. Part V - Modeling Application Architecture
Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter - Using Deployment Diagrams in UML 1.4 Its 16 unique identity. Chapter 17 - Representing an Architecture in UML 2.0

So in order for an object to be useful, it must know

How to describe itself. Part VI - Bringing Rigor to the Model


Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Its current condition, or state.

Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Behavior

We create objects to represent real world entities because we need to do something. For example, Wiley Publishing hires employees. Wiley maintains records about these employees so that it can track progress Appendix A - UML 1.4 Notation Guide and compensate the employees lavishly for their efforts. Wiley also wants to publish, distribute, and sell Appendix B - UML 2.0 Notation Guide books. To manage the employees, Wiley must know what the employees can do. Employees can work, Appendix Cposted - Standard Elements apply for jobs, edit books, acquire new authors, market new books, hire contract editors, take Glossary assignments, use a work space, take vacation, and do many more things that are important to the success Index of the company. A definition for each behavior becomes part of the complete definition of an employee List of Figures object, that is, the class Employee.
List of Tables

The are a bit different though. Books don't actually do anything themselves. Wiley wants to do List of books Listings

things to the book. Wiley wants to acquire books, edit books, print books, distribute books, review books, < Day Day Up > and sell books. In reality, someone is doing these things to the books. So why does object-orientation tell us to assign these behaviors to the book instead of assigning them to the person who actually performs the behavior?
UML Bible

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents proposed that the behavior should be defined once, regardless of who uses the Object-orientation UML Bible and that the behavior should be stored with the object. Using this approach to organizing the behavior, Preface code, anyone who wants to know how to use the object correctly simply looks at the behaviors defined in
Part - An Introduction to UML the I object itself. The added benefit

This approach is by theTom hallmark of the object-oriented approach. For years software systems were designed ISBN:0764526049 Pender with the information about an object separate from the behavior that uses the object. For each use of the John Wiley & Sons 2003 (940 pages) object in a different context there was typically a different program. For beginning to advanced users, this book provides Unfortunately, this approach led to some serious and costly problems. Namely, because many programs could comprehensive coverage of the versatility of 1.4 and 2.0 UML use the same object, it was specifications, and of shows how tobehaviors. use UML to improve common for them to require some the same So the same behavior was coded into a number quality, efficiency inwrote development. of programs with timeliness, no guarantee that and each program the behavior in the same way. Maintaining the object meant maintaining all the code spread across all the programs that use the object. The separation Companion Web Site of the behavior from the information about the object resulted in redundant descriptions of behavior, lack of integrity among the many definitions, and high cost to maintain the redundant program code.

to this approach is simpler code in the programs that use the object.

Chapter What Is UML? Instead1of writing the behaviors in the programs, the programs simply invoke behaviors already defined in

the object. Chapter 2 - UML Architecture


Chapter 3 Chapter 4 Chapter 5 Chapter 7 Chapter 8 Chapter 9

So in order for an object to be useful, the object must know


- Object-Oriented Concepts

- UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

What it can do.

- Capturing Rules about Objects in a Class Diagram - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

What can be done to it.Rules about Object Relationships Chapter 6 How to Capture
Part III - Modeling Object Interactions

< Day Day Up >

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Encapsulation by Tom Pender


ISBN:0764526049

Encapsulation is John another concept that sets the object-oriented approach to software apart from its Wiley & Sons 2003 (940 pages) predecessors. Encapsulation aadvanced way to organize the book many types of information and behavior described For beginningis to users, this provides earlier so that objects can be used as efficiently and effectively possible. comprehensive coverage of the versatility of 1.4 as and 2.0 UML Encapsulation states that specifications, and shows how to usewe UML to improve when designing an object we should separate what know about the object according to two concepts:
timeliness, quality, and efficiency in development.

The minimum information needed to use the object. Companion Web Site The information required to make the object work properly.
<?xml version="1.0" encoding="ISO-8859-1"?> These concepts direct us to look at the object from two perspectives: an external view that asks only, Table of two Contents

"What can I do with this object?" and an internal view that asks, "How does this thing work?" UML Bible
Preface
Part I - An Introduction to UML

To use an object

Chapter 1

- What Is UML? A few years ago,Architecture I taught my daughter how to drive. My first challenge was to identify for her the minimum Chapter 2 - UML

knowledge to have in Extension order to use the car to drive. Chapter 3 - she UML had Diagrams and Mechanisms
Chapter 4 Chapter 5
Part II - Modeling Object Structure

- Object-Oriented Concepts I decided that she needed to know about the ignition, the steering, the brake, the gas pedal, the gearshift, the mirrors, the gauges, and so on. - Capturing Rules about Objects in a Class Diagram

Chapter - How to Capture about Object Relationships Should6I have included the Rules universal joints, the spark plugs, and the radiator on the list? No, because she

didn't need knowwith about those things in order to use the car to drive. Remember that an abstraction Chapter 7 - to Testing Objects should contain the information needed Part III -only Modeling Object Interactions
Chapter 9 - Modeling Interactions in UML 2.0

to address a specific problem, which in this case is driving. In

fact, she been driving for a few years and still doesn't know about many of those other parts. Chapter 8 has - Modeling Interactions in UML 1.4 The information that the car (object) exposes so that someone can use it is called the car's (object's) interface. The interface is how you communicate to the car (object) that you want to use one or more of its Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 behaviors. For example, when you press on the gas pedal, you're telling the car to go faster.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of ato System with theof Use Case Diagram An interface can also allow you access some the object's knowledge. For example, the fuel gauge Chapter 13presents - Modeling Behavior Using Activity Diagram interface information aboutan the level of gasoline in the gas tank.
Part V - Modeling the Application Architecture

So in order use anthe object, you need to expose the interface of the object, much like the car interface in Chapter 14 - to Modeling Application Architecture Figure 15 4-3. Chapter - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

Figure 4-3: The interface for a car enables us to use the car by accessing its behaviors and its knowledge.

List of Figures List of Tables List of Listings

Caution The term interface is used in a few different ways within OO. It may mean a single operation signature that provides the means to access a behavior. It may also mean a set of behaviors offered by an object, as in a Product interface class. In this discussion I am using the single operation meaning only. (For more on interfaces, see the descriptions interface classes, as UML Bible wellby asTom provided and required interfaces, in Chapter 5). ISBN:0764526049 Pender
John Wiley & Sons 2003 (940 pages) Forobject beginning work to advanced users, this book provides To make the properly comprehensive coverage of the versatility of 1.4 and 2.0 UML

< Day Day Up >

and shows how to use UML to improve I remember as a specifications, kid our neighbors had the old shell of a car in a field behind the house. It had brake and timeliness, quality, and efficiency in development. gas pedals, a steering wheel, a gearshift, and so on. But no matter how I pushed on that gas pedal or Web Site An interface without an implementation doesn't do much. I turned the wheel, the Companion car never responded. could communicate with the object, but the object didn't have any way to respond. <?xml version="1.0" encoding="ISO-8859-1"?> To make the object work, you need to provide the mechanisms that respond to the interface. Here is Table of Contents UML Bible

where it all starts to come together. Remember the part about what an object knows? When you press the gas pedal, the behavior behind that interface needs to know how the car is put together, its structure. An Preface object knows about itself, so the car would know how it is put together. For example, when the gas pedal is Part I - An Introduction to UML pressed, the behavior behind that interface is supposed to move more gas to the engine, causing the car Chapter 1 - What Is UML? to accelerate. If the behavior does not know how the gas tank is connected to the engine, or that the fuel Chapter 2 UML Architecture pump is the mechanism it should use to move the gas from the tank to the engine, then the accelerate Chapter 3 cannot - UML Diagrams and Extension Mechanisms behavior achieve its purpose. A behavior without the means to make it work is little more than a Chapter 4 - Object-Oriented Concepts good intention.
Part II - Modeling Object Structure

Encapsulation tells usRules that in order to support an interface, Chapter 5 - Capturing about Objects in a Class Diagramthe information about the structure has to be inside the along with Rules the behavior, so that the behavior can access and manipulate it when needed. Chapter 6 object - How to Capture about Object Relationships The implementation is the combination of the behavior and the resources to satisfy the goal of the Chapter 7 - Testing with Objects behavior. Part III - Modeling Object Interactions
Chapter 8 - Modeling Interactions in UML 1.4 Furthermore, you want to ensure that no one can incorrectly alter the information that the behavior is Chapter 9 - on. Modeling Interactions in UML 2.0 depending This is why encapsulation is often called information hiding -it enables an object to protect Chapter 10 - Modeling an You Object's in UML 1.4 the integrity of its parts. hideLifecycle the information inside the object, where the object has complete control. Chapter 11 - Modeling Lifecycle in UMLinternal 2.0 For example, Figure an 4-4Object's illustrates the hidden, mechanisms that make an engine work properly. Part IV - Modeling Object Behavior The interface only exposes the gas pedal, brake, ignition, and so forth; it does not provide direct access to Chapter 12 - Modeling Use of a System with the Use Case Diagram any of these internal the mechanisms. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

Figure 4-4: Defining the internal design of an object so that it will work properly.

List Figures Soof encapsulation has two reasons to declare that all information that an object owns should be kept List of Tables hidden inside the object, away from unauthorized access: The object must know the structure in order to List of Listings implement its behaviors, and the information that describes the structure must be protected so that it

cannot be corrupted and break the implementation. < Day Day Up > Now the gas pedal interface has an associated implementation that is aware of the engine and all the other parts of the car. So what really happens when you press the gas pedal? Well, that depends, doesn't it? It depends on UML whether the car is turned on and what gear the transmission is in. This reveals something Bible else that the implementation depends upon in order to work properly: the state of the car (object), the ISBN:0764526049 by Tom Pender current condition John of allWiley of its & parts. Sons 2003 (940 pages) In summary, in order to make an object work properly, you need to place inside the object comprehensive coverage of the versatility of 1.4 and 2.0 UML The behaviors that implement each interface. timeliness, quality, for and efficiency in development.
Companion Web Site The data that describes the object's structure. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface specifications, and shows how to use UML to improve For beginning to advanced users, this book provides

The data that describes the object's current state.

Giving an object purpose

It sounds like we have everything we need to use an object and make it work properly. But we need something else to fully define encapsulation: purpose. Many objects can have the same set of interfaces. Chapter 1 - What Is UML? Just think for a minute about all the objects you know of that share the interfaces accelerate, decelerate, Chapter 2 - UML Architecture turn, start, and stop. Figure 4-5 models just two examples, a luxury car and a go-cart.
Part I - An Introduction to UML

Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - 4-5: Modeling Behavior Using Activity Diagram Figure Purpose drives the an design and use of an object.
Part V - Modeling the Application Architecture

They share both the same interfaces. But you would never use them both in the same way (hopefully). If Chapter 14 - Modeling the Application Architecture the set 15 of interfaces doesn't adequately distinguish objects, then what else do you need in order to Chapter - Modeling alone Software Using the Component Diagram define an Purpose. You need to know Chapter 16 object? - Using Deployment Diagrams in UML why 1.4 that type of object exists - what it was designed for. The interface to satisfy the purpose. Purpose Chapter 17is - designed Representing an Architecture in UML 2.0 drives not only the choice of interfaces but of every other of an object. In fact, purpose Part VI aspect - Bringing Rigor to the Model
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

drives the measures of quality for the design of an object, which

are covered later in this chapter.to the UML Diagrams Chapter 18 - Applying Constraints

Applying encapsulation

Chapter 20 - Using a Modeling Tool

Encapsulation of an object requires you to expose Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Itspurpose, so you can select the proper object for the application you have in mind.

Appendix B - UML , 2.0 Guide Itsinterfaces so Notation you know how to use the object. Appendix C - Standard Elements

Encapsulation of an object requires you to hide. Glossary


Index List of Figures

Theimplementation that provides the behavior requested through the interfaces.

List ofThe Tables data within the object that defines the structure that supports its behavior. List of Listings

The data within the object that tracks the < state of the object, its condition at any given point in time. Day Day Up > Encapsulation provides a number of substantial benefits for the design of applications. Probably the most significant is the separation of each interface from its implementation. Because the implementation is a separate concept from the interface, it becomes possible to replace one implementation with another as UML Bible new designs, new programming anything else changes in the development ISBN:0764526049 by Tom Pender features, new requirements, or environment. The interface remains unchanged so other objects that interact with the interface don't need John Wiley & Sons 2003 (940 pages) to be altered. For beginning to advanced users, this book provides In UML terms, the interface is an operation , short for UML operation signature. The implementation is called the specifications, and shows how to use to improve timeliness, quality, and efficiency in development. method. Many objects may share the same operation, but each may provide its own unique method to implement the operation. So whether I am driving the luxury car or the go-cart, I can say "accelerate" and Companion Web Site each vehicle will satisfy my request to go faster, even though each vehicle is built differently, fueled differently, and used for a different purpose.
<?xml version="1.0" encoding="ISO-8859-1"?> This of ability to have many classes with the same operation, but their own methods, is called polymorphism , Table Contents comprehensive coverage of the versatility of 1.4 and 2.0 UML

andBible I'll explain a bit more about it later in the chapter. UML
Preface

Encapsulation ensures that the data associated with an object cannot be corrupted by other objects. The only way to access the data is through an interface provided by the owning object. If, for example, you Chapter 1 - What Is UML? want to change the price of a ticket, you have to ask the ticket, "May I please set the price to another Chapter 2 - UML Architecture value?" The ticket then invokes its implementation for price changes, tests your request, and decides to let Chapter 3 - UML Diagrams and Extension Mechanisms you change the price. Of course, it is up to the designer to provide adequate tests in the implementation to Chapter 4 -the Object-Oriented Concepts guarantee integrity of the data.
Part I - An Introduction to UML Part II - Modeling Object Structure

Figure 5 4-6-shows a Ticket On the in left two interfaces to set the value of the price feature. Chapter Capturing Rulesobject. about Objects a are Class Diagram Each provides a to value of a different type. Encapsulation supports the ability to store information internally Chapter 6 - How Capture Rules about Object Relationships in one format, evenwith though it is provided to the object in another format. For example, I could input a price Chapter 7 - Testing Objects as $10.00, but theObject objectInteractions could convert Part III - Modeling it from a string (with the dollar sign and decimal point) to store it as a float value or even Interactions as an integer Chapter 8 - Modeling in (without UML 1.4 the dollar sign and decimal point). It is up to the implementation for each to do the correct validate the input value, and allow or disallow the change. Chapter 9 interface - Modeling Interactions in conversion, UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - 4-6: Modeling the Application Architecture Figure Separation of interface from implementation supports a difference between the internal Chapter 15 Modeling Software Using Component storage of data and the externalthe use of data. Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

The same true for getting data from an When I ask for a value, the object converts the stored Chapter 17 -is Representing an Architecture inobject. UML 2.0 value the format I ask for. In fact, Part VI into - Bringing Rigor to the Model it might provide interfaces to return it in many different formats. Figure 18 4-6-also shows two interfaces allow you to get the value from the price field. Each interface Chapter Applying Constraints to thethat UML Diagrams asks for adifferent type of output value; a string, and a decimal. It is up to the implementation for each Chapter 19 Action Semantics interface to validate access to the value, and to Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool

perform the needed conversion.

Chapter 21 - Customizing UML is Using Profiles need to know how the value stored. They only need to know what the interfaces support or require, Chapter 22 XML Metadata Interchange depending on the type of interface. Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

In both cases, providing values to an object and asking for values from an object, the object's users do not

< Day Day Up >

< Day Day Up >

UML Bible Defining associations and links by Tom Pender


ISBN:0764526049

Defining individual objects is&just the of object modeling. In order for software objects to get John Wiley Sons beginning 2003 (940 pages) work done, they need to work together the users, way the objects they represent work together. When a For beginning to advanced this book provides customer orders comprehensive tickets, the customer has to create an order and add tickets coverage of the versatility of 1.4 and 2.0 UML to that order. The software specifications, and shows how totickets use UML to improve objects that represent the customer, order, and need to exactly replicate the relationships between timeliness, quality, and efficiency in development. the real-world objects. Alink is a relationship between two objects. An association is a relationship between two classes. An association is the definition of a type of link in the same way that a class is a definition of a type of object. <?xml encoding="ISO-8859-1"?> Just version="1.0" as an object is an instance of a class, a link is an instance of an association.
Table of Contents Companion Web Site

Associations (and links) take on three different forms, association, aggregation, and composition. The UML Bible simplest form, association, is a peer-to-peer relationship. One object simply knows about another object in Preface much same way that one Part I - the An Introduction to UML person might know about another person. That knowledge is typically stored in the object as a reference, like a person who keeps a phone number or address of another person he Chapter 1 - What Is UML? wants to contact. An association is most commonly modeled as a named line between two classes, as Chapter 2 - UML Architecture shown in Figure 4-7. The association between the customer and order models a relationship in which a Chapter 3 - UML Diagrams and Extension Mechanisms customer places an order. The existence of this association means that it is valid for individual customer Chapter 4 - Object-Oriented Concepts and order objects to participate in this type of relationship. The association between order and ticket Part II - Modeling Object Structure models a relationship in which an order reserves tickets. The existence of this association means that it is Chapter 5 - Capturing Rules about Objects in a Class Diagram valid for individual order and ticket objects to participate in this type of relationship.
Chapter 6 Chapter 7 Chapter 8 Chapter 9 - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Figure Modeling anTool association. Chapter 20 - 4-7: Using a Modeling


Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Also, like human associations, software class associations may require a set of rules that govern the relationship. Who can participate in the relationship? How many objects can participate? How do the Appendix A - UML 1.4 Notation Guide participants behave in the relationship? Which direction should the association name be read? When does Appendix B - UML 2.0 Notation Guide the relationship begin and end? Chapters 5 and 6 explain the means to model these rules - multiplicity, Appendix C - Standard Elements constraints, direction indicators, association classes, roles, and comments.
Glossary Index Associations can be refined to model a more restrictive type of relationship called aggregation. List of Figures may also be refined to model an even more restrictive relationship called composition. Figure Aggregation

4-8 models List of Tables the relationships between these three types of associations.
List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure 4-8: The relationship between association, aggregation, and composition.


<?xml encoding="ISO-8859-1"?> The version="1.0" purpose of Figure 4-8 is to emphasize the relationship between these three class relationships: Table of Contents

Every aggregation relationship is a type of association. Every aggregation relationship has all the UML Bible properties of an association relationship, plus some new rules of its own. Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5

Every composition relationship is a form of aggregation. Every composition relationship has all the - What Is UML? properties of an aggregation, plus some new rules of its own.
- UML Architecture - UML Diagrams and Extension Mechanisms

Defining aggregation - Object-Oriented Concepts

Part II - Modeling Object Structure

Aggregation is a special type of association used to indicate that the participating objects are not just - Capturing Rules about Objects in a Class Diagram independent objects that know about each other. Instead, they are assembled or configured together to Chapter 6 - How to Capture Rules about Object Relationships create a new, more complex object. For example, a number of different parts can be combined to create a Chapter 7 - Testing with Objects physical assembly such as a car, a boat, or a plane. You could also create a logical assembly such as a Part III - Modeling Object Interactions team where the parts are not physically connected to one another but they still operate as a unit.
Chapter 8 - Modeling Interactions in UML 1.4 Chapter 9 Modeling Interactions indiagram: UML 2.0 To model aggregation on a Class Chapter 10 - Modeling an Object's Lifecycle in UML 1. Draw an association (a line) between the 1.4 class that represents the member or part of the assembly Chapter and 11 - the Modeling Object's Lifecycle in UML 2.0 , the assembly. In Figure 4-9, that would mean a line class an that represents the aggregation
Part IV -between Modeling Object Behavior the Engine class

(the member or part) and the Car class (the assembly).

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

2. Draw a hollow diamond on the of the association that is attached to the aggregate class. In Chapter 13 - Modeling Behavior Using anend Activity Diagram Figure 4-9, the diamond Architecture is next to the Part V - Modeling the Application Car class that represents an assembly that includes an engine. This model shows that a car is built using an engine as one part of its configuration. Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams

4-9: How to represent an aggregation relationship in UML. Chapter 19 -Figure Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool More importantly, what makes aggregation beneficial? Aggregation What makes aggregation unique? Chapter 21 UML Using Profiles describes a Customizing group of objects in a way that changes how you interact with them. The concept is aimed at Chapter 22 XML Metadata Interchange protecting the integrity of an assembly or configuration of objects in two specific ways. Appendix A - UML 1.4 Notation Guide

First, aggregation defines a single Appendix B - UML 2.0 Notation Guide point of control in the object that represents the assembly, like the car in Figure 4-9. object becomes the boss, so to speak, directing the activities of all the other objects in the Appendix C - That Standard Elements assembly. This ensures that no matter what objects outside the assembly might want to do to the parts of Glossary the assembly, the control object has the final word on whether the actions are allowed. In Figure 4-9, the car controls what can be done to its engine. If you want to tune its engine, you talk to the car's "tune List of Figures engine" interface. If you want to replace an engine, you talk to the car's "replace engine" interface. This List of Tables assignment of control may be at many levels within the assembly. For example, a car might control its
Index List of Listings

engine, but an engine controls its parts, such as the pistons and plugs. < Day Day Up > If the application did not enforce this design choice then it would be possible to alter the engine without first validating that it was legitimate or even safe to do so. For example, attempting to tune the engine while the car is being driven down the freeway could be dangerous. UML Bible Second, when an instruction is given that might affect the entire collection of objects, the control object John Wiley & Sons 2003 (940 pages) dictates how the members will respond. So for all intentions the assembly appears to function like a single For beginning to advanced users, this book provides object. When I push the gas pedal, telling the car I want to accelerate, the entire car assembly (with its comprehensive coverage of the versatility of 1.4 and 2.0 UML thousands of parts) accelerates, not just the gas pedal. Without this point of control, I would have to specifications, and shows how to use UML to improve timeliness, quality, and efficiencydirectly, in development. manually manipulate each part in the assembly risking a mistake or leaving out an important item. The more the assembly is used, the bigger the payback in time savings and reduced risk when using or Companion Web Site altering the aggregate object. As the number of objects and behaviors in the configuration increases, the point of control and making the <?xml version="1.0" encoding="ISO-8859-1"?> entire Table ofassembly Contentsof objects act as a single unit can drastically reduce the complexity of the application and the Bible cost of maintenance. In fact, designers often model an aggregation in one Class diagram, fully UML describing all the parts and the rules for propagating instructions throughout the assembly. Then whenever Preface they to use the assembly Part I need - An Introduction to UML
Chapter 2 Chapter 3 Chapter 4 - UML Architecture - Object-Oriented Concepts by Tom Pender
ISBN:0764526049

in another Class diagram, they only include the one class that represents the control point, understanding that the entire configuration lies behind that class. Chapter 1 - What Is UML?
- UML Diagrams and Extension Mechanisms Defining composition

Composition is used for Structure aggregations Part II - Modeling Object

in which the life span of the part depends on the life span of the

aggregate The aggregate has control creation and destruction of the part. In short, the Chapter 5 -object. Capturing Rules about Objects in a over Classthe Diagram member exist apart from Object the assembly. The part object would never exist on its own, in Chapter 6 object - Howcannot to Capture Rules about Relationships
Chapter 7

inventory or in a parts store, for example. - Testing with Objects

Part III - Modeling Object Interactions

Chapter 8 car - Modeling Interactions in UML 1.4 4-10, the example uses aggregation, the hollow diamond. A car contains an engine as part of its Chapter 9 -The Modeling in UML 2.0 assembly. orderInteractions example uses composition, the solid diamond. An order is composed of line items. A Chapter 10is - simply Modeling an Object's in records UML 1.4 the fact that you want a product, along with the line item a place on an Lifecycle order that Chapter 11price, - Modeling an Object's Lifecycle in UML the 2.0 order is ever placed, or the order is deleted, the quantity, and possible discount. Whether
Part IV - Modeling Object product still exists. But aBehavior line item

Draw this stronger form of aggregation simply by making the aggregation diamond solid (black). In Figure

only exists as part of an order. The line items would not continue to exist

Chapter 12 -on Modeling theif Use a System with the If Use Case Diagram elsewhere their own theof order was deleted. the order containing the line items is deleted, the line Chapter 13 - Modeling Behavior Using an Activity Diagram items cease to exist along with the order.
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles

Figure 4-10: How to represent composition.

Chapter 22 XML Metadata Interchange Tip In database applications this type of relationship is reflected in "cascading deletions". In a Appendix A - UML 1.4 Notation Guide composition relationship, when the master record is deleted, all the related records are deleted. Appendix B - UML 2.0 Notation Guideno meaning independent of their participation in the assembly The related records have Appendix represented C - Standard by Elements the master record, so it is pointless to keep them around without the master Glossary record. Index List of Figures List of Tables List of Listings

< Day Day Up > Caution The UML definition of composition does allow a part to be moved to another composite. In the middle of the behavior that moves it, the composite member is not part of the assembly. But by the end of the behavior it has to be part of an assembly. For example, if I define the car/engine as a composite relationship, then the engine must always be part of a car. UML UML Bible allows me to move it to another car. But I could never uninstall it and leave it sitting in my ISBN:0764526049 by Tom Pender garage. John Wiley & Sons 2003 (940 pages)

Java'sinner classcomprehensive construct is a coding equivalent to composition. Although the UML and Java coverage of the versatility of 1.4 and 2.0 UML implementations specifications, differ slightly, and theyshows are close to perhaps help you understand the concept if you how enough to use UML to improve timeliness, quality, andobservation efficiency in brings development. are already familiar with Java. But this up an important issue: aggregation, for the most part, does not have any coding equivalents. Aggregation and composition are design, not implementation, Companion Web Site concepts. In other words, there is nothing in the syntax of a programming language that enforces the unique qualities of aggregation, that is, point of control or having the assembly behave as a unit. It is up to <?xml version="1.0" encoding="ISO-8859-1"?> the designer to adhere to these principles when designing the interactions between the aggregation and Table of Contents other objects in the application.
UML Bible

For beginning to advanced users, this book provides

For example, when a customer object places an order, each line item should be added by accessing an Preface interface/operation on to the order Part I - An Introduction UML object to add the line item. When a customer deletes an order, he should call an interface/operation on the order. The order deletes the line items and then completes its own Chapter 1 - What Is UML? deletion. Chapter 2 - UML Architecture
Chapter 3 Chapter 4 - Object-Oriented risks corrupting the integrityConcepts of the order. The order needs to know what is happening to its parts so that it
Part II - Modeling Object Structure

- UML Diagrams and Extension Mechanisms From a programming syntax perspective, it is valid to communicate directly with a line item. But to do so

has the opportunity to protect the integrity of its configuration and properly coordinate the behavior of its
- How to Capture Rules about Object Relationships - Testing with Objects

Chapter 5 - Capturing Rules about Objects in a Class Diagram members. Chapter 6 Chapter 7 Chapter 8 Chapter 9

Part III - Modeling Object Interactions

< Day Day Up >

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Defining inheritance/generalization by Tom Pender


ISBN:0764526049

<?xml version="1.0" encoding="ISO-8859-1"?> Table Contents You of might also hear this type of relationship referred to as inheritance. Many times the terms UML Bible generalization and inheritance are used synonymously. This is because if an apple, for example, is a kind Preface of fruit, then it inherits all of the properties of fruit. Likewise, an apple is a specialization of fruit because it
Part I - An Introduction to UML inherits all of the generalized

The term generalization is used in two ways. Creating a generalization is the process of organizing the John Wiley & Sons 2003 (940 pages) features of different of objects that share the same purpose. For types beginning to advanced users, this book providesA generalization is a description of the features shared by a set of objects. We use the generalization to create generalizations routinely comprehensive coverage of the versatility of 1.4process and 2.0 UML and shows how tothrough use UML improve to organize largespecifications, amounts of information. Walk ato grocery store and you find foods located in timeliness, quality, efficiency in development. areas of the store according to theirand properties - dry goods are located in one area, fruits and vegetables in another, meat in yet another. All Web of these Companion Site items are foods, but they are different kinds or types of foods. Phrases like "kind of" or "type of" are often used to describe a generalization relationship between classes (for example, an apple is a type of fruit that is in turn a kind of food and so on).

properties of fruit and adds some unique properties that make apples special

Chapter 1 within - What Is UML? or unique the larger group of fruits. In the reverse, I could say that the concept "fruit" is a Chapter 2 - UML generalization ofArchitecture the facts that are true for watermelons, apples, peaches, and all types of objects in the

group. 3 Chapter
Chapter 4

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

A generalization is not an association. That is worth repeating. A generalization is not an association. In fact, association and generalization are treated as separate model elements in the UML metamodel, two Chapter 5 - Capturing Rules about Objects in a Class Diagram distinct specializations of the Relationship metaclass. Associations define the rules for how objects may Chapter 6 - How to Capture Rules about Object Relationships relate to one another. Generalization relates classes together where each class contains only a subset of Chapter 7 - Testing with Objects the properties needed to define a type of object.
Part II - Modeling Object Structure Part III - Modeling Object Interactions

Chapter 8 4-11, - Modeling Interactions UML In Figure the large categoryin Fruit is1.4 specialized into three categories. Apple, Watermelon, and Chapter 9 Apple - Modeling Interactions ininto UML 2.0 Orange. is then specialized RedDelicious and GrannySmith. Apple defines those features that Chapter 10 - Modeling Object's Lifecycle UML 1.4 make apples distinct an from all other fruits. in RedDelicious defines those features that make red delicious

apples 11 distinct from all apples. To instantiate Chapter - Modeling another Object's Lifecycle in UML 2.0a Red Delicious apple, I need to combine the RedDelicious class, the Behavior Apple class, Part IV - Modeling Object and the Fruit class to get all the features that define a red delicious apple. From the combination ofaall three with classes, I can create (instantiate) an object of type RedDelicious. Chapter 12 - Modeling the Use of System the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures

Figure 4-11: Modeling generalization.

List Tables the same thing in words, I might say, "A red delicious is a type of apple, and an apple is a type To of express List of Listings fruit." For this reason, you sometimes hear generalization called the "is a" relationship. That is, every red

delicious object "is an" apple object and every apple object "is a" fruit object. < Day Day Up > Because the generalization relationship is not a form of association, generalization does not use any of the rules or other features found on associations, such as multiplicity, role, and constraints. These features are simply irrelevant. UML Bible To understand the concept of generalization, we also need to define superclass, subclass, abstract class, John Wiley & Sons 2003 (940 pages) concrete class, and discriminator. A superclass is a class that contains features that are common to two or For beginning to advanced users, this book provides more types of objects that share the same purpose. In Figure 4-11, the Fruit class and Apple class are comprehensive coverage of the versatility of 1.4 and 2.0 UML examples of superclasses. Theand Apple class contains features that Red Delicious, Granny Smith, and all specifications, shows how to use UML to improve timeliness, quality, efficiency in development. other apples have in common. The and term superclass borrows from the concept of superset. The superset, or superclass in this case, contains the traits that are common to every object in the set. The difference Companion Web Site between superclass and superset is that a superclass only contains the features that all of the members have in common. A superset would include everything they have in common, but could also include <?xml version="1.0" encoding="ISO-8859-1"?> properties unique to itself.
Table of Contents by Tom Pender
ISBN:0764526049

Asubclass is a class that contains some combination of features that are unique to a type of object that is UML Bible partially defined by a superclass. In Figure 4-11, Apple, Watermelon, Orange, RedDelicious, and Preface GrannySmith are all examples Part I - An Introduction to UML of subclasses. Note that a class-the Apple class, for example-may be both a superclass and a subclass. The term subclass borrows from the concept of subset. The subset, or Chapter 1 - What Is UML? subclass, contains a unique set of features for only certain objects within the set. The GrannySmith class Chapter 2 - UML Architecture in Figure 4-11 would contain only the features that are unique to GrannySmith apples. A GrannySmith Chapter 3 - UML Diagrams and Extension Mechanisms object would get the rest of the information about the features it shares with all apples from the Apple Chapter 4 - Object-Oriented Concepts superclass, and all the features it has in common with all fruits from the Fruit superclass. In other words, it Part II - Modeling Object Structure actually takes three classes to generate a single object representing a GrannySmith apple.
Chapter 5 - Capturing Rules about Objects in a Class Diagram Chapter 6 - class How to Rules about Relationships Anabstract is Capture a class that lacks a Object complete definition. If a class defines an operation or operations Chapter 7 Testing with Objects that do not have a method, it is said to be abstract. Since an abstract class is not fully implemented, it
Part III -create Modeling Object Interactions cannot objects (cannot be instantiated).

Abstract classes must have subclasses that provide

Chapter 8 for - Modeling Interactions in UML 1.4 As such, only a superclass can be abstract. In Figure 4-11 methods any unimplemented operations. Chapter 9 and - Modeling Interactions in UML 2.0 but they don't have to be, since it is valid and common to the Fruit Apple classes may be abstract

create objects from a superclass. For example, your store might do a high volume of Red Delicious and Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Granny Smith apples, so creating new classes justified to track the performance of these individual Chapter 11 - Modeling an Object's Lifecycle in UMLis 2.0 products. But youObject also sell other miscellaneous Part IV - Modeling Behavior varieties as they become available. You still need to track that sale of apples but it is not worth your time to the differences between the small lots of different Chapter 12 - Modeling the Use of a System with the track Use Case Diagram varieties. So you just lump them under generic apples by creating an instance of the Apple class. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Aconcrete class is a class that has a method for every operation so that it can create objects. The methods may be defined in the class or inherited from a superclass. All classes at the bottom of a Chapter 15 - Modeling Software Using the Component Diagram generalization hierarchy are called leaf nodes. These classes are not specialized by any other class that Chapter 16 - Using Diagrams in UML 1.4 could provide the Deployment missing method, so these classes must be concrete. But as the previous example of the Chapter 17 Representing an Architecture in UML 2.0 miscellaneous apple varieties showed, any superclass also may be concrete.
Chapter 14 - Modeling the Application Architecture
Part VI - Bringing Rigor to the Model

Adiscriminator is an attribute or rule that describes how you choose the set of subclasses for a Chapter 18 - Applying Constraints to the UML Diagrams superclass. If I want to organize the information about types of cars, for example, I could discriminate Chapter 19 - Action Semantics based a feature that the objects Process share such Part VII on - Automating the all UML Modeling as price range, manufacturer, engine size, fuel type, usage, or any number of other criteria. The discriminator I choose depends on the problem I am trying to Chapter 20 - Using a Modeling Tool solve. Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

In Figure 4-12, I use another very common practice: I identify a set of predefined designations (that is, types of fruit and varieties within types), which UML calls PowerTypes. A PowerType is an enumeration of Appendix B - exist UML 2.0 Notation Guide values that apart from, but which describe sets of objects within a group. For example, cars may be Appendix C Standard Elements distinguished as economy and luxury, or as compact, intermediate and full-size.
Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface Figure 4-12: Modeling generalization with discriminators.
Part I - An Introduction to UML

The composition class reveals the possible discriminating features. Classes define features of objects Chapter 1 - What of Is a UML? including operations, and association. These are the first three possible discriminating Chapter 2 attributes, - UML Architecture properties. objects of the class share the same attributes, such as age and address, they might be in the Chapter 3 - If UML Diagrams and Extension Mechanisms same subgroup. However, objects might have the same attribute (such as age) but the values allowed for Chapter 4 - Object-Oriented Concepts ageII in-some of the objects are different Part Modeling Object Structure from those allowed in others. For example, every Person might have an age value assigned. However, minors would have age values less than 21 (in some states) and Chapter 5 - Capturing Rules about Objects in a Class Diagram adults would have ages greater than 20. If the application needs to distinguish between people based on Chapter 6 - How to Capture Rules about Object Relationships the value of the age attribute, then the value range of the age attribute is the discriminator, not the age Chapter 7 - Testing with Objects attribute.
Part III - Modeling Object Interactions

Chapter 8 -concept Modeling Interactions in UML 1.4 The same applies to operations. Objects might have the same operation, that is, the same Chapter 9 such - Modeling Interactions in UML 2.0 objects might implement that operation in very different ways. interface, as "accelerate." But different Chapter 10 - Modeling andifferently Object's Lifecycle in UML 1.4 A car accelerates very from a rocket. Even different cars accelerate using different Chapter 11 - Modeling an Object's in UML 2.0 combinations of parts and fuels. Lifecycle If the application needs to distinguish objects based on the differences in
Part IV - Modeling Object Behavior their methods, then methods become the

discriminator for organizing the objects into classes.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram Chapter 14 - Modeling Attribute type the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram

In summary, there are at least five objective criteria we can use to discriminate between objects within the same class (superclass): Part V - Modeling the Application Architecture

Attribute values allowed Diagrams in UML 1.4 Chapter 16 - Using Deployment


Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Operation (interface)

Chapter 18 - Applying Constraints to the UML Diagrams Method (implementation) Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process Associations

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UML Bible Defining Polymorphism by Tom Pender


ISBN:0764526049

Polymorphism is John the ability choose Wiley to & dynamically Sons 2003 (940 pages) the method for an operation at runtime, depending on the type of objectFor responding request. Keeping with the car and rocket example, my application can beginningto tothe advanced users, this book provides invoke the accelerate operation on any car, without having to first know comprehensive coverage of the versatility of 1.4 and 2.0 how UML the individual car will specifications, and showsis how to use UML to improve implement the operation. Polymorphism made possible by two principles: encapsulation and timeliness, quality, and development. generalization. Encapsulation defines a efficiency means ofin organizing the information about an object so that the interface/operation is Companion separate from the implementation/method. Generalization defines a means of Web Site organizing class features so that shared features reside in one class and unique features reside in another class. Applied together, these concepts say that an operation could be shared and defined in a <?xml version="1.0" encoding="ISO-8859-1"?> superclass, but that the method for that operation might be unique within each subclass.
Table of Contents UML Bible Polymorphism simply means many ways to accomplish the same thing. A polymorphic operation has a Preface different method in each class in which it is implemented. For example, Figure 4-13 models discounts. All
Part I - An Introduction toan UML discounts can calculate applied

discount amount. But not all discounts implement the calculation the

Chapter 1 - In What UML? the subclasses GroupDiscount, ValueDiscount, And QuantityDiscount each same way. this Is model, Chapter 2 UML Architecture inherit the "calculate applied discount" operation defined in the Discount class. Then each subclass

provides own Diagrams method. It is also valid to provide some or all of the implementation logic in the superclass Chapter 3 its - UML and Extension Mechanisms and have subclasses inherit, and then override or extend the logic. Chapter 4 the - Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Figure Polymorphic behavior: calcAppliedDiscount() is implemented differently by each Chapter 13 - 4-13: Modeling Behavior Using an Activity Diagram subclass of Discount. Part V - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture

Caution Regarding Figure 4-13: In code I would need to declare the operation calcAppliedDiscount in each subclass so that I could override the method. In a Chapter 16 - Using Deployment Diagrams in UML 1.4 modeling tool, the inherited operation can be automatically generated in the subclasses so I Chapter 17 - Representing an Architecture in UML 2.0 usually don't bother to put it directly into the model when the tools can do it for me.
Chapter 15 - Modeling Software Using the Component Diagram
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Generalization is one way to accomplish polymorphism. Another way is to define a special kind of abstract Chapter 19 - Action Semantics class called an interface class. An interface class follows some simple rules that prevent it from being
Part VII -a Automating the UML Modeling Process used as regular class. An interface may only

declare operation signatures -the operation details that tell other objects how to invoke the behavior. This typically consists of the name, parameters (if any), and the Chapter 20 - Using a Modeling Tool result (if any). In other words, an interface class is an abstract class with no methods at all. Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix C - Standard Elements

Note I use the expression interface class, not just interface. The usage of the term interface so far referred to a single operation, a way to invoke a single behavior. An interface class is a collection of operations in a Appendix B - UML 2.0 Notation Guide single class.
Glossary Implementing an interface class is called realizing the interface class. That is to say, the rules established Index by the interface class are made real by adding an implementation. Realization allows a class to inherit

from an interface class without being a subclass of the interface class. But the only features that the class List of Figures can List ofinherit Tablesare the operations-no methods, no attributes, and no associations.
List of Listings

Day Up > Note Actually, UML does allow attributes < in Day interface classes. The rules are explained fully in Chapter 5.

Realization is also used in other contexts such as collaborations (which I discuss in Chapter 6), use cases UML Bible (Chapter 12), and packages (Chapter 14). ISBN:0764526049
by Tom Pender John Wiley & Sons 2003 (940 pages) Note Programming correlations: Java explicitly supports an interface class. The Java realization For beginning to advanced users, this book provides relationship uses the key word "implements". In C++, you can use a pure virtual class to mimic comprehensive coverage of the versatility of 1.4 and 2.0 UML an interface. specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

For example, the classes that define shirts, perfumes, and lawn mowers do not have much in common, so Companion Web Site they would not have a common superclass. But a department store uses all of these items as products. As products, the store wants to buy them, price them, and sell them. But the process for buying each item is different - the store buys them through different buyers, from different distributors, and under different <?xml version="1.0" encoding="ISO-8859-1"?> terms so one implementation won't support the store's requirements for all the different types of Table of-Contents products. UML Bible
Preface An alternative is to define a Product interface class, like the one shown in Figure 4-14, which declares the
Part I - An Introduction UML operations buy,priceto , and sell.

Then when the Shirt, Perfume, and LawnMower classes realize the

Chapter 1 interface - What Is UML? Product class, they each must provide their own method for each operation. Chapter 2 - UML Architecture Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure Unrelated classesArchitecture realizing the same interface class. Chapter 14 - 4-14: Modeling the Application
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

The implementing class is obligated to provide a method for every operation declared in the interface class. So every class that implements the same interface class presents the same set of behaviors to the Chapter 17 - Representing an Architecture in UML 2.0 world whether or not the realizing classes are in the same generalization family of classes.
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings
Part VII - Automating the UML Modeling Process

< Day Day Up >

< Day Day Up >

Bible Measuring UML Quality by Tom Pender


ISBN:0764526049

As we have seenJohn so far, object orientation is built on a number of valuable concepts. But these concepts Wiley & Sons 2003 (940 pages) alone do not ensure a quality object-oriented model. still need some principles to guide the use of For beginning to advanced users, this We book provides these concepts. Cohesion and coupling are two common principles thatUML have been in use for a long time comprehensive coverage of the versatility of 1.4 and 2.0 and shows how to use UMLof tothe improve and are to some specifications, extent responsible for the development object-oriented concepts.
timeliness, quality, and efficiency in development. Companion Web Site

Cohesion

Cohesion is a measure of how well the parts of an object support the same purpose. Cohesion measures <?xml version="1.0" encoding="ISO-8859-1"?> two factors: how well-defined the purpose of the object is, and whether every part of the object contributes Table of Contents directly UML Bibleto fulfilling the purpose. High cohesion means that an object has one well-defined purpose and
Preface

everything in the object contributes directly to that purpose. Low cohesion means that either the purpose of the object is ambiguous (as when an object has multiple jobs or a poorly defined job) or not all the parts of Part I - An Introduction to UML the object contribute directly to the object's purpose, or both.
Chapter 1 - What Is UML? Chapter 2 - UML To describe howArchitecture objects work, I often refer to the way people work. The similarities are strong and the Chapter 3 UML Diagrams principles work very much and the Extension same. So Mechanisms I will use the example of an employee's job description and then Chapter 4 it - with Object-Oriented Concepts compare a class description to illustrate the significance of these two factors in measuring cohesion.
Part II - Modeling Object Structure

When you a person to do a job, it is very that the job be clearly defined. When the job is not Chapter 5 -hire Capturing Rules about Objects in a important Class Diagram clear, a time wasted trying to figure out what the person is supposed to do. Many of us have been Chapter 6lot - of How to is Capture Rules about Object Relationships in this position and know how frustrating and inefficient it can be. To avoid this problem we often write a job Chapter 7 - Testing with Objects description-"software developer", for Part III - Modeling Object Interactions example. The job description starts with a few lines about the purpose of the job, such as, "A software developer is responsible for creating quality software solutions to Chapter 8 - Modeling Interactions in UML 1.4 company needs on time and within budget". Next, the job description lists duties that a person in that Chapter 9 - Modeling Interactions in UML 2.0 position must perform to fulfill the purpose of the job. The list might include gathering requirements, Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 researching those requirements, designing and constructing a solution to those requirements, testing the Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 solution, and putting it into production.
Part IV - Modeling Object Behavior

Chapter 12 asks - Modeling the each Use of System with directly the Use contributes Case Diagram Cohesion whether ofathose duties to the fulfillment of the job's purpose. For Chapter 13 does - Modeling Behavior Using an Activity Diagram instance, gathering requirements contribute to creating a quality software solution? Does testing the
Part V - Modeling the Application solution contribute to creating a Architecture quality software

solution? In this example the answers are all yes, and the

Chapter 14 - Modeling the Architecture job description is said to Application have high cohesion. The purpose is well defined and all the parts of the job

description directly toward fulfilling that purpose. Chapter 15 - contribute Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4

What happens to the job if I add a new, unrelated duty to the list? For example, I am the vice president of operations and I have been told by the board that I have to institute a safety program. So I go to each Part VI - Bringing Rigor to the Model project team and I pick some poor software developer to be in charge of the safety procedures for her Chapter 18 - Applying Constraints to the UML Diagrams team. I have only added one duty to her job. But what is the effect of that one change? Does the new duty Chapter 19 - Action Semantics directly support creating a quality software solution? No. And notice the effect it has on her job. Is she now Part VII - Automating the UML Modeling Process more productive or less productive? The duty added not only the new responsibility, but also the need to Chapter 20 - Using a Modeling Tool decide when to work on safety duties and when to work on software duties. It added a requirement to keep Chapter 21 - Customizing UML Using Profiles track of information related to safety separate from information related to software development as well. Chapter 22 XML Metadata Interchange Now whenever she wants to start a task, she needs to first evaluate the effect that it might have on the Appendix A - UML 1.4 Notation other duties. During the time Guide that she is evaluating a plan of action, no work is getting done. In short, Appendix - UML 2.0more Notation Guide behaviorBbecomes complicated and different, unrelated data are managed within the same job, Appendix - Standard Elements creating C overhead and loss of productivity.
Chapter 17 - Representing an Architecture in UML 2.0 Glossary

A class works much the same way. When the behaviors, data, and associations assigned to a class Index
List of Figures

directly support its purpose, it can do its job any time another object makes a demand on it. When I assign unrelated behaviors to the same class, I also need to assign the corresponding unrelated data to the same List of Tables class. When I invoke a behavior on an object of that class, the behavior might first have to check whether it
List of Listings

can perform that behavior. The class has to build in the overhead to manage unrelated behavior, data, < Day Day Up > and associations. The easiest way to spot this problem is to look at the volume and type of decision logic in the class behaviors. If the decisions have more to do with deciding what to do than how to do it, you might have a cohesion problem, like the software developer who has to decide whether to attend a safety UML Bible meeting or a design walkthrough scheduled at the same time.
by Tom Pender
ISBN:0764526049

This happens a lot in user interface designs. One object is designed to handle everything that can happen John Wiley & Sons 2003 (940 pages) on the screen. But often a user can select multiple items, boxes, and fill in text fields, all of which For beginning to advanced users, this bookcheck provides might affect the response of the application to an action like hitting comprehensive coverage of the versatility of 1.4 andthe 2.0Enter UML key. So when the object specifications, howit to use to improve receives the Enter key request,and the shows first thing has toUML do is run through a long list of questions about what quality, and efficiency in development. happened on thetimeliness, screen before it can figure out what to do. During the time that it is evaluating a plan of action, no work is getting done. Web Site Companion Compromise: In the job description example, we see that cohesion is a matter of degree that might involve
<?xml version="1.0" trade-offs. It wouldencoding="ISO-8859-1"?> be ideal to have a separate person who could handle the safety issues. Unfortunately, Table of Contents that's not always practical. The same is true of a class. It is desirable to seek the highest possible UML Bible but it isn't always practical. The important thing is to make the decision to compromise explicit. cohesion, Preface Recognize the cohesion issues and choose to compromise based on conscious, well-informed costPart I - An Introduction to UML benefit trade-offs.

Chapter 1 Chapter 2 Chapter 3

- What Is UML? - UML Diagrams and Extension Mechanisms

- UML Architecture Coupling

Chapter 4 is - Object-Oriented Concepts Coupling a measure of the degree of dependency between objects. Loose coupling means that an
Part II -is Modeling Object Structure object pretty much free to do its

job without a lot of interaction with other objects. Ultimate loose coupling

Chapter 5 complete - Capturing Rules about Objects in a Class Diagram would be independence, no dependency at all. Tight coupling is kind of like being on a short

leash: you because the connections to other objects are too binding. Chapter 6 -can't How move to Capture Rules about Object Relationships
Chapter 7

Coupling looks at the relationships and the interactions between objects to see whether one object requires the help of another object to do its job. A dependency often reveals itself when a change in one Chapter 8 - Modeling Interactions in UML 1.4 object requires a change in another object.
Part III - Modeling Object Interactions

- Testing with Objects

Chapter 9

- Modeling Interactions in UML 2.0

Chapter 10 illustration - Modeling an Object's Lifecycle in UML 1.4software developer needs to work with the database Again, an using people might help. Our Chapter 11 - Modeling anset Object's Lifecycle in UML 2.0 administrator (DBA) to up the tables for her application. Whenever the DBA changes one of the tables,
Part - Modeling Object Behavior the IV developer needs to at least check

her application to see whether she needs to make any

Chapter 12 - Modeling the Use of a System with the Use Case Diagram corresponding changes. Chapter 13 - Modeling Behavior Using an Activity Diagram

Likewise, a server-side object provides services Part V - Modeling the Application Architecture

to any number of user interface applications. When a service changes all of the dependent applications need to evaluate the effect and make any needed Chapter 14 - Modeling the Application Architecture changes. Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 aspects of the relationships between classes: Dependency can be measured by looking at four Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model The number of associations.

Each association in which a class participates requires maintenance.

The to be created, maintained, Chapter 18connection - Applying has Constraints to the UML Diagramsand deleted over time. That maintenance is overhead. As19 the- number of connections increases, the time spent maintaining the connections increases. Any Chapter Action Semantics time an object on the other end of Process any of the connections Part VII - Automating the UML Modeling impact the a change. Chapter 20 - of Using Modeling Tool
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

changes, the object needs to evaluate the

Consider your job. If you are accountable to one project leader, the overhead to keep in touch and function properly is limited. If you are accountable to not only the project leader but the user manager, Appendix A - UML 1.4 Notation Guide the DBA, the technical lead, the reuse library manager, the design review committee, the standards Appendix B - UML and 2.0 Notation committee, the legalGuide department, you are going to spend more time trying to keep everyone Appendix C Standard Elements happy than getting work done. Objects have the same problems.
Glossary Index The volume of communication. Communication also requires overhead. While an object is

it is not getting work done, much like an employee stuck in meetings all the time. List ofcommunicating, Figures is vital, but how much is really necessary? Every piece of communication requires a List ofCommunication Tables
List ofresponse, Listings even if it is only an internal acknowledgement that I have the information. As the volume of

information increases, more of the object's time is spent interpreting the information and deciding how < Day Day Up > to respond. Consider for a moment why it is so difficult for teams to institute design and code walkthroughs. Most often, it is the sheer volume of information that chokes the process. No one has sufficient time to UML Bible critically evaluate and respond to the material, so the review meetings (the downstream processes) ISBN:0764526049 by Tom Pender are hindered. John Wiley & Sons 2003 (940 pages) Objects can choke on volumes of information, too. Throughput can max out, and objects can create comprehensive coverage of the versatility of 1.4 and 2.0 UML bottlenecks in the system. Also when how one to object is responsible specifications, and shows use UML to improvefor channeling large volumes of data, it timeliness, quality, or and efficiency in object development. can be very difficult to replace enhance that without a cascading set of changes to all of the objects downstream. Companion Web Site The complexity of the communication. Even when the volume of communication is low, the complexity can create tight coupling. When the communication is complex then the objects on both <?xml version="1.0" encoding="ISO-8859-1"?> theContents sending and receiving ends have to know and maintain the rules for properly interpreting the Table of information. If one object changes the rules and the other does not, the communication breaks down. UML Bible
Preface For beginning to advanced users, this book provides

Complexity is seen most easily in the parameter lists in operations. An object might require a long list of data items or a large object packed with information. If the calling object incorrectly passes even Chapter 1 - What Is UML? one item then the entire message can be in error. The overhead exists in keeping all parties up to date Chapter 2 - UML Architecture on the rules for the communication. Once again the effort in maintaining the system is diverted from Chapter 3 - UML Diagrams and Extension Mechanisms the work the application was designed to perform and onto coordination.
Part I - An Introduction to UML

Chapter 4

- Object-Oriented Concepts

Part II - Modeling Whether anObject objectStructure requires

knowledge of the internal structure or state of another object.

Chapter 5 - Capturing Rules Objects a Class Diagram Perhaps the worst formabout of coupling isin also a violation of encapsulation; when an object needs to know

the of another object before can communicate. Chapter 6state - How to Capture Rules aboutitObject Relationships An object should not depend on another object's state and it Objects certainly should not be able to interrogate the other object's state. Chapter 7 - Testing with
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

An alternative is to simply invoke a behavior on the object and let it tell you whether it can support the - Modeling Interactions in UML 1.4 request.
- Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in problems UML 1.4 is better cohesion, and identifying coupling Interestingly, the answer to many coupling Chapter 11 - creates Modeling an Object's Lifecycle in UML 2.0 challenges opportunities to improve cohesion. Other times, cohesion and coupling have to be
Part IV - Modeling Behaviorthe balanced. Figure Object 4-15 illustrates

balancing act between cohesion and coupling. Cohesion is an internal

Chapter 12 of - Modeling the Use of goal a System the Use Case Diagram measure object quality. The is to with create each object with a single well-defined purpose. But if you Chapter 13 purpose - Modeling Behavior Using anup Activity Diagram make the too small, you end with objects so small that they cannot get any significant work
Part V Modeling the Application Architecture done without lots and lots of connections and

communication with other objects, thus creating very tight

coupling. Chapter 14 - Modeling the Application Architecture


Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

Figure 4-15: Balancing cohesion and coupling.

Glossary Likewise, the goal of coupling is to make each object as independent as possible. If you push this to the Index extreme, every object would be completely independent. Independence means that there are no List of Figures and no communication. In other words, each object would have to do everything itself, thus connections List of Tables creating very low cohesion. List of Listings

The real goal is balance. Cohesion and coupling have a direct impact on your ability to change an < Day Day Up > application easily. If your need for change is low, then you can afford to compromise. For example, if you have more than sufficient bandwidth, high volumes of communication may not be a problem. If the application is very stable, that is, there are very few change requests, low cohesion would not increase UML Bible your maintenance cost significantly.
by Tom Pender
ISBN:0764526049

The point of this section is to what look for when you measure quality and to know how to make John Wiley &know Sons 2003to (940 pages) conscious decisions about where to compromise to achieve the best solution for the specific For beginning to advanced users, this book provides circumstances. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Recommended Reading on Design Principles

Meilir Page-Jones wrote a very good book, Fundamentals of Object-Oriented Design in UML (Addison-Wesley Publishing, 1999), that probes at length the specific characteristics of quality in <?xml software version="1.0" encoding="ISO-8859-1"?> design. He breaks them down much more than I have here, providing many specific Table examples of Contents of problems and solutions in a design.
UML Bible

Companion Web Site

Capers Jones is probably the nation's foremost authority on software metrics. He has conducted a Preface of studies to on what Part Inumber - An Introduction UML makes a quality software project or application. His book, Patterns of Software Systems Success and Failure (International Thomson Publishing, 1996), documents the Chapter 1 - What Is UML? specific practices that define success and failure in a variety of different types of applications. He then Chapter 2 - UML Architecture offers strategies for improving our practices.
Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4 -Fowler Object-Oriented Concepts - Improving the Design of Existing Code (Addison-Wesley Publishing, Martin wrote Refactoring
Part II - Modeling Object Structure 1999), in which he provides specific

examples of how to spot problems with the quality of a design. It is

Chapter - Capturing Rulesbook, about filled Objects inconcrete a Class Diagram an 5 extremely practical with examples and practical help to restructure a design. Chapter 6 - How to Capture Rules about Object Relationships Chapter 7 Chapter 8 Chapter 9 - Testing with Objects - Modeling Interactions in UML 1.4
Part III - Modeling Object Interactions

- Modeling Interactions in UML 2.0 < Day Day Up > Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

Abstraction: An abstraction is a John Wiley & Sons representation 2003 (940 pages) of something real, such as a picture of this book. Even though thereFor is an almost infinite amount of information about any real entity, a useful software beginning to advanced users, this book provides abstraction contains just enough information about the entity to 2.0 support comprehensive coverage of the versatility of 1.4 and UML the purpose of the software application. specifications, and shows how to use UML to improve
timeliness, quality, and efficiency in development.

Encapsulation:Encapsulation describes a way to organize the information in an abstraction so that it Companion Web Site can be used efficiently in a software application. Encapsulation separates the facts needed in order to use the object , from the facts needed to make it work properly. To use an object, the object needs to <?xml version="1.0" encoding="ISO-8859-1"?> expose its purpose and interfaces. To make the object work properly, the object needs to contain the Table of Contents data and behavior that satisfy the services offered by the interfaces.
UML Bible

Classes and objects: A class is a definition for a type of entity in much the same way that an entry in a Preface is a description Part Idictionary - An Introduction to UML of a type of entity, such as a car. An object is an abstraction for a single entity, such as my car. A class defines rules. An object defines facts. An object is instantiated Chapter 1 - What Is UML? (created) according to the rules defined by its class. Chapter 2 - UML Architecture
Chapter 3 Chapter 4

Associations and links: An association defines a type of relationship in the same way that a class - Object-Oriented Concepts defines a type of entity. A link is an abstraction of a specific relationship that conforms to the rules set Part II - Modeling Object Structure forth by an association in the same way that an object is an abstraction of an entity that conforms to Chapter 5rules - Capturing about Objects in a Class Diagram the set forthRules by a class.
Chapter 6 - How to Capture Rules about Object Relationships Aggregation: Aggregation is a type of association that states that one of the participating objects must Chapter 7 - Testing with Objects

- UML Diagrams and Extension Mechanisms

play the role of the controller of the Part III - Modeling Object Interactions

other object. All interactions with the pair are directed to the

controlling object, the aggregate object. Chapter 8 - Modeling Interactions in UML 1.4 The aggregate class defines how an aggregate object must behave. The aggregate object the required instructions to the member object. A member Chapter 9 - Modeling Interactions in propagates UML 2.0 class how member object behave. Chapter 10 defines - Modeling anthe Object's Lifecycle inmust UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

The two defining characteristics of aggregation are that one object plays the controlling role (and the other the member or subordinate role), and the two (or more) objects behave as one. An instruction Chapter 12 - Modeling the Use of a System with the Use Case Diagram directed at the aggregate object results in the set of objects working together to satisfy the request.
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Applicationis Architecture Composition: Composition a type of aggregation that

states that a member object may only be a

Chapter 14 - Modeling the Application Architecture member of one aggregation. The life-span of the member is dependent on the life-span of the

composite object. Chapter 15 - Modeling Software Using the Component Diagram


Chapter 16 - Using Deployment Diagrams in UML 1.4

Generalization, specialization, and inheritance: To generalize is to gather all the common features from a set of classes and define them in a single class. A generalization is the class that contains the Part VI - Bringing Rigor to the Model shared features. To specialize is to isolate the features of a class that only apply to a subset of the Chapter 18 - Applying Constraints to the UML Diagrams object of that class. A specialization is a class that contains the features unique to the subset of Chapter 19 - Action Semantics objects.Inheritance is the principle that allows a specialization to have access to the features in a Part VII - Automating the UML Modeling Process generalization. An object instantiated by a specialized class is built from the features of the specialized Chapter 20 - Using a Modeling Tool class and all of its generalized classes.
Chapter 17 - Representing an Architecture in UML 2.0 Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata InterchangeSpecialization may be performed by evaluating the features of the PowerTypes and discriminators:

objects represented by aGuide class. When the values of these features define the criteria for subAppendix A - UML 1.4 Notation setting/specializing the class, Appendix B - UML 2.0 Notation Guidethe value is called the discriminating value or discriminator. When an external set of criteria is used to sub-set the objects, the enumeration of types is called a PowerType. Appendix C - Standard Elements
Glossary Index

Polymorphism:Polymorphism states that because the interface/operation for a behavior is separate from the implementation/method for a behavior, an operation may have any number of methods. List of Figures Each class that supports the same operation may define a different method. The method that List ofexecutes Tables when an operation is invoked depends on the object that is satisfying the request.
List of Listings

Interface class: An interface class defines< aDay set Day of operations without specifying any methods. Up > Cohesion:Cohesion is a measure of how well the parts of an object support the single purpose of the object. Coupling: Coupling is a measure of the degree of dependency between objects. ISBN:0764526049
by Tom Pender John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides < versatility Day Day Up comprehensive coverage of the of > 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site UML Bible

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Part II: Modeling Object Structure ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides In This Part comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Chapter 5: Capturing Rules about Objects in a Class Diagram


Companion Web Site

Chapter 6: Capturing Rules about Object Relationships


<?xml version="1.0" encoding="ISO-8859-1"?> Chapter 7: Testing with Objects Table of Contents UML Bible Preface
Part I - An Introduction to UML

< Day Day Up >

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Chapter UML 5: Capturing Rules about Objects in a Class ISBN:0764526049 by Tom Pender Diagram John Wiley & Sons 2003 (940 pages)

Overview

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

The Class diagram stands at theWeb center of the object-modeling process. It is the primary diagram for Companion Site capturing all the rules that govern the definition and use of objects. As the repository for all the rules it is also the primary source for forward engineering (turning a model into code), and the target for reverse <?xml version="1.0" encoding="ISO-8859-1"?> engineering (turning code into a model).
Table of Contents

The Class diagram is described in this chapter and in Chapter 6. This chapter covers classes and all the UML Bible features used to describe them. Attributes and operations describe the knowledge and behavior of a class. Preface Additional embellishments such Part I - An Introduction to UML as stereotypes, tagged values, and constraints describe how you can customize classes to facilitate development in a particular domain. Chapter 6 describes how to model Chapter 1 - What Is UML? relationships between classes. Chapter 2 - UML Architecture
Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

I cover the UML 1.4 description of classes, attributes, and operations, and step through the UML 2.0 - Object-Oriented Concepts specification to explain the current definitions for classes, attributes, and operations, and the key definition Part II - Modeling Object Structure elements such as visibility, changeability, multiplicity, default values, and properties.
- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

- UML Diagrams and Extension Mechanisms

< Day Day Up >

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Defining the Purpose and Function of the Class Diagram by Tom Pender
ISBN:0764526049

The Class diagram is probably the most used diagram of the UML. In fact, the Class diagram is the John Wiley & Sons 2003 widely (940 pages) primary modeling tool for describing UML itself. For beginning to advanced users, this book provides Note When Ispecifications, discuss UML and 2.0 elements, refer theto Class diagrams in the UML 2.0 specification to shows howI to useto UML improve quality, efficiency in development. explaintimeliness, the features. This and gives you some practice reading and interpreting the diagrams while you familiarize yourselfWeb withSite the specifications. Companion The Class diagram is also the primary diagram for generating code. While there have been valuable applications that support code generation from State and Sequence diagrams, these tools are not in the <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents mainstream. This ability to generate code places the Class diagram in a unique position relative to all the other diagrams. Figure 5-1 shows all of the UML diagrams, with the Class diagram at the center. It UML Bible illustrates that even though each of the other diagrams help modelers discover valuable information about Preface a subject, everything they uncover Part I - An Introduction to UML
Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 - What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects comprehensive coverage of the versatility of 1.4 and 2.0 UML

must somehow make its way onto the Class diagram.

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 8 - 5-1: Modeling Interactions in UML Figure All other diagrams feed1.4 information to the Class diagram. Chapter 9 - Modeling Interactions in UML 2.0

Chapter 3 -describes theObject's purpose and function of each of the UML diagrams. Apart from the Component Chapter 10 Modeling an Lifecycle in UML 1.4 and Deployment diagrams, which are used to describe the implementation environment, all the diagrams Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 model facts at theObject objectBehavior level. These Part IV Modeling facts come from test cases and examples that help us understand how things work. Facts are invaluable resources, but Case to build a software application the modeler has to Chapter 12 - Modeling the Use of a System with the Use Diagram create a set of abstractions, rules, and concepts that describe how these facts may be used. The Chapter 13 - Modeling Behavior Using an Activity Diagram abstraction needs to define what each resource is, the information it owns, what it can do, and the other Part V - Modeling the Application Architecture types of resources with which it needs to interact to do its job correctly. Figure 5-2 represents how the UML Chapter 14 - Modeling the Application Architecture diagrams uncover facts that support the creation of the Class diagram. The Class diagram models the Chapter 15 - Modeling Software Using the Component Diagram facts so that the model represents reality as closely as possible. The Class diagram defines the code that Chapter 16 - Using Deployment Diagrams in UML 1.4 generates the objects. The objects conform to the Class diagram.
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List ofFigure Tables 5-2: The relationships between the Class diagram, other diagrams, and the application code. List of Listings

The other UML diagrams model facts as objects. These objects either conform to the rules set forth in the < Day Day Up > Class diagram, or they reveal the need for corrections to the rules. The rules in the Class diagram are used to generate code. The code generates objects, while the application is running, that behave according to the rules defined by the Class diagram. UML Bible Systems may be fairly complex and may require more than one Class diagram. In fact, it is very common John Wiley & Sons 2003 (940 pages) to break a subject area down into a set of smaller Class diagrams. Smaller diagrams are easier to work For beginning to advanced users, this book provides with and easier to verify. But no matter how many diagrams you use for the system, each class has only comprehensive coverage of the versatility of 1.4 and 2.0 UML one definition. A class represents the same concept matter where or how often it appears in the specifications, and shows how to use no UML to improve timeliness, quality, efficiency inby development. diagrams. In a modeling tool, this is and accomplished using a repository. A repository is a shared dictionary, usually built into the modeling tool, of all of the information defined during the modeling Companion Web Site process. The first time you add a class to a diagram, a definition is placed into the repository by the tool. Each subsequent time that the class is referenced on a new diagram, the new reference is associated with <?xml version="1.0" encoding="ISO-8859-1"?> the existing definition. Consequently, a change made to a class on one diagram is also made to the class Table of Contents definition in the repository, and is reflected in all diagrams that include that class.
UML Bible by Tom Pender
ISBN:0764526049

Defining all of these rules sounds quite complicated. In truth, the notations of the Class diagram provide a Preface surprisingly simple yet to powerful Part I - An Introduction UML means to specify everything needed to generate code. With rigor and the proper software support, the Class diagram can even become fully executable. This means that the model Chapter 1 - What Is UML? can be tested by executing scenarios and can even generate the complete application in a variety of Chapter 2 - UML Architecture implementation environments. But I'm getting ahead of myself. Chapter 3 - UML Diagrams and Extension Mechanisms
Chapter Object-Oriented Concepts Figure 4 5-3-illustrates how the Class diagram uses simple rectangles and lines to represent the resources
Part II - Modeling Object Structure

that make up a system (rectangles) and the relationships between the resources (lines). It has been my

Chapter 5 - that, Capturing about Objects in a Class Diagram experience even Rules without prior experience, most participants on a team can quickly learn to read the Chapter 6 How to Capture Rules about Object Relationships basic notations of the Class diagram. The portion of a Class diagram shown in Figure 5-3 models some Chapter 7 - Testing with Objects relationships in a theater system. The Class diagram represents the resources needed to support
Part III - Modeling Interactions scheduling eventsObject at a venue and selling

access to the seats in the venue that hosts the events. The

Chapter 8 and - Modeling Interactions in UML 1.4 numbers all other notations are explained later in this chapter. Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary

Figure 5-3: A simple Class diagram of the relationships between the resources Venue, Event, and Seat.

Index The simplicity of the Class diagram can be a bit deceiving. The Class diagram can be used to model a List of Figureswide variety of systems, such as airplane navigation, monthly invoicing, real-time embedded surprisingly List of Tables devices such as medical equipment, and human-machine interface systems used to automate factories. List of Listings But all of these applications rely on the same small set of descriptive elements: classes and relationships.

With the addition of the standard UML extension mechanisms (covered in Chapter 3), the Class diagram < Day Day Up > can model pretty much anything you need in a business or technical environment.

UML Bible

< Day Day Up > ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Modeling aUML Class by Tom Pender


ISBN:0764526049

Classes form theJohn foundation the Class diagram. Wiley &of Sons 2003 (940 pages) So to work with the Class diagram, you need to be clear on the difference between and objects. class is a definition for a resource. It includes For beginning toclasses advanced users, this A book provides information that describes the features of an entity and how it can be used. comprehensive coverage of the versatility of 1.4 and 2.0 UMLIn contrast, an object is a specifications, and showsto how use defined UML to improve uniquely identifiable entity that conforms theto rules by the class. In software terms, code is written timeliness, quality, to and efficiency in development. as a set of classes and references behaviors defined by the classes. The information actually created and manipulated is owned by objects that conform to the class descriptions. Objects are represented by Companion Web Site rows in a database, records in files, or areas of memory in a computer.
<?xml Cross-Reference version="1.0" encoding="ISO-8859-1"?> Chapter 4 explains the concepts of classes and objects fully. Table of Contents

A class UML Bibleis very much like a dictionary entry. If our theater application has to manipulate information about events, then we first need to explain what we mean by the term event using a class definition. A UML Preface Class describes a type Part I - definition An Introduction to UML of object. In fact, the term "type" is often used as a synonym for "class" (even though there is a subtle difference that will be covered when we get to inheritance in Chapter 6). Chapter 1 - What Is UML? One class definition describes many objects of the same type. Each class definition contains at least a Chapter 2 - UML Architecture unique name. This name defines the class in the repository so that any time the same name is referenced Chapter 3 - UML Diagrams and Extension Mechanisms it is associated with the same repository definition. A class can also contain attributes and operations that Chapter 4 - Object-Oriented Concepts describe everything necessary to create (instantiate) an object of the defined type. Part II - Modeling Object Structure
Chapter 5 - definitions Capturing Rules about Objects in a Class Diagram a UML class definition provides an icon with To support for identity, attributes, and operations, Chapter 6 How to Capture Rules about Object Relationships three predefined compartments to contain and organize this information: name, attributes, and operations. Chapter 7 - Testing with Objects These compartments (see Figure 5-4) correspond to the common elements of a class definition. In
Part III - Modeling Objectuser-defined Interactions addition, UML supports

compartments so that the modeler can add project-related

Chapter 8 - Modeling Interactions in UML 1.4 information or anything else that she finds useful. Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Figure 5-4: Three predefined class compartments.

Chapter 21 - Customizing UML Using Profiles When a class is presented on a Class diagram, the name compartment is the only compartment that must Chapter 22 XML Metadata Interchange be visible. The attributes, operations, and user-defined compartments may or may not be displayed, Appendix A - on UML 1.4 Notation Guide depending the purpose and goals for presenting the diagram. Figure 5-5 illustrates the available Appendix B - presenting UML 2.0 Notation Guide options for the class compartments. Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure 5-5: Valid presentation options for classes.


<?xml version="1.0" encoding="ISO-8859-1"?> Hiding other compartments does not change the fact that they exist. It merely enables you to keep the Table of the Contents

people who are reviewing your Class diagram focused on the elements about which you need their insights. Many modeling tools offer this flexibility with simple settings to display or hide compartments and Preface elements as you wish.
UML Bible
Part I - An Introduction to UML

Chapter 1 - What Is other UML? than the name compartment are simply lists. In fact, the attributes compartment, The compartments Chapter 2 - UML Architecture and user-defined compartments all derive from the ListCompartment the operations compartment, Chapter 3 - In UML and Extension Mechanisms metaclass. allDiagrams list compartments, the name of the compartment may be placed at the top of the Chapter 4 - Object-Oriented compartment, but since theConcepts attributes and operations compartments are standard, we usually leave off the
Part II Modeling Object Structure name and rely on position within the

class icon as illustrated in Figure 5-5. The name compartment is at

Chapter 5The - Capturing about Objects in a Class Diagram the top. attributesRules compartment is directly below the name compartment, and the operations

compartment is directly below the attributes compartment. Chapter 6 - How to Capture Rules about Object Relationships
Chapter 7 Chapter 8 Chapter 9 - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part III - Modeling Object Interactions

< Day Day Up >

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling the Name Compartment by Tom Pender


ISBN:0764526049

The name compartment provides to uniquely identify a class using a noun or noun phrase like John Wiley & Sonsa means 2003 (940 pages) Venue, Event, or For PricingStrategy. Figure 5-6 shows three classes. beginning to advanced users, this book providesEach class rectangle is divided into three compartments. The name always resides in the topmost comprehensive coverage of the versatility of 1.4compartment. and 2.0 UML But remember that you may shows how to use UML to improve display the namespecifications, compartmentand by itself.
timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

Figure 5-6: Classes with names only.


- What Is UML?

Part I - An Introduction to UML

Chapter 1 Chapter 2

Class name - UML Architecture


The name is nearly always a singular noun or noun phrase such as

Chapter 3 -of UML Diagrams and Extension Mechanisms The name a class is very important. The name is the primary means for people to recognize a Chapter 4 Object-Oriented Concepts fundamental resource in the model. The name should be an accurate and concise descriptor for the type
Part II - Modeling Object Structure of object represented by the class.

Chapter - Capturing Rules about Objects in a Class Diagram Venue,5Event, or PricingStrategy. The exceptions to this rule include classes that represent collections of Chapter 6 How to Capture Rules about Object Relationships objects, such as Agents, where an instance or object of this type is in fact a list or collection of people-type Chapter - Testing with Objects objects7who are associated with a Venue as its "agents". You could think of it like a list that you keep on
Part - the Modeling Object Interactions file III with Venue so that when you schedule a

new Event you can easily contact all the agents.

Chapter 8

- Modeling Interactions in UML 1.4

The capitalization rules for a class typically correspond to the standards established by your Chapter 9 - Modeling Interactions in name UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

organization for the targeted programming language, that is, the language that will be used to code the application. Since the code generated from these names usually does not support spaces in the name, it Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 is a good idea to use underscores or hyphens or simply no spaces between the words, whichever method Part IV - Modeling Object Behavior is dictated by your programming standards. Every modeling tool that I know of will generate class names Chapter 12 - Modeling the Use of a System with the Use Case Diagram (and attributes and operations) exactly the way you type them into the Class diagram. Sticking to the Chapter 13 - Modeling Behavior Using an Activity Diagram standards early in the modeling effort prevents reworking the model later on.
Part V - Modeling the Application Architecture

Chapter 14 it - is Modeling theof Application Architecture Although not a part UML notation, a written definition of the class can be very valuable. A written Chapter 15 can - Modeling Using the Component definition quicklySoftware put to rest much of the debateDiagram regarding what properties should be included in the Chapter 16 - Using Deployment Diagramsin in modeling UML 1.4 comes from the fact that participants in the project class definition. Much of the confusion

each have preconceived ideas about Chapter 17 -different Representing an Architecture in UMLthe 2.0meaning of each model element. In the theater example, for instance, one person Part VI - Bringing Rigor to the Model could assume that an event means a one-time performance. Another modeler that an event to is like a play or concert with many performances. Still another assumes Chapter 18assumes - Applying Constraints the UML Diagrams that an19 event refers to a marketing campaign. Chapter - Action Semantics
Part VII - Automating the UML Modeling Process

As an illustration, I heard once that Eskimos have more than a dozen different words for what we call "snow". My immediate reaction was to ask "Why so many words?" The answer lies in their need to Chapter 21 - Customizing UML Using Profiles understand snow. Their survival depends on their ability to adapt to and use the snow effectively. They Chapter 22 - XML Metadata Interchange need to understand the differences between snow that they can walk on, snow that they will sink into, snow Appendix A UML 1.4 Notation that hides ice beneath, snow Guide that can be used to build shelters, snow that foretells a serious storm, and Appendix B UML 2.0 Notation Guide much more.
Chapter 20 - Using a Modeling Tool Appendix C - Standard Elements

This is true for people who work with the same concepts every day. I once went to work for an insurance Glossary company thinking that I knew what an insurance policy was; foolish man that I am. During the rewrite of the Index insurance system, I had to collaborate with people from the sales, billing, and claims areas of the List of Figures company. I never dreamed that there were so many unique ways to view an insurance policy. More than List of Tables
List of Listings

that, all of the perspectives were completely reasonable given the purpose that each participant had in

mind. Therein lies the key. Purpose drives the< definition of an object. The purpose of an object may be Day Day Up > different within different systems or applications. An accurate definition of the purpose of the class drives every decision about the class during the modeling process. The purpose explains why the object is part of the subject area and why it is important UML Bible to the project. Anby accurate definition of the purpose reduces or eliminates debate. In practical terms, an ISBN:0764526049 Tom Pender accurate definition can guide the selection of properties that support the purpose of the class. This John Wiley & Sons 2003 (940 pages) approach, that is,For using the definition as the scale on which to weigh beginning to advanced users, this book provides the value of each property, helps ensure high cohesion in the class, a primary measure of quality for the (Cohesion is discussed in comprehensive coverage of the versatility of 1.4 and 2.0 model. UML specifications, and shows how to use UML to improve Chapter 4.)
timeliness, quality, and efficiency in development.

A little care in this early stage of modeling can pay large dividends throughout the rest of the modeling Companion Web Site process. Alternatively, poor naming and definition breed needless debate and wasted time. The version="1.0" following are some examples of poor class names: <?xml encoding="ISO-8859-1"?> Table of Contents
UML Bible

Scheduled_Show

Preface Cancelled_Show
Part I - An Introduction to UML

Chapter 1 - What Is UML? Event_with_no_Shows Chapter 2 Chapter 3

Exempt_Employee - UML Diagrams and Extension Mechanisms

- UML Architecture

Chapter 4 - Object-Oriented Concepts Non-exempt_Employee


Part II - Modeling Object Structure

Chapter 5 - Capturing about in a Class Diagram These names embed Rules attributes ofObjects the objects in the name. A better way to name them would be to refer to

the object Event and provide access to Object the attributes that can be used to distinguish events from one Chapter 6 How to Capture Rules about Relationships another. words, separate the identity of the type of object (Event) from attributes that describe it Chapter 7 In - other Testing with Objects (Show.status, Event.nbr_of_shows, and Part III - Modeling Object Interactions 5-7. 8 Chapter
Chapter 9

Employee.exempt_status), as illustrated by the classes in Figure

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture I explain the entire notation to define the attributes

Figure 5-7: Separating identity from attributes in a class description. in the "Modeling the Attributes Compartment" section

Chapter - chapter. ModelingFor the now, Application Architecture later in 14 this simply note the difference between defining what an object is and identifying Chapter 15 know - Modeling Usingdefines the Component Diagram what you aboutSoftware it. The name identity and purpose. The attributes and operations define

knowledge capabilities. Chapter 16 - and Using Deployment Diagrams in UML 1.4


Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Now you might want to challenge me regarding the class names Exempt_Employee and NonExempt_Employee. You would be right to do so. They could actually be valid in the right context. In fact, Chapter 18 - Applying Constraints to the UML Diagrams UML provides a mechanism called specialization to handle exactly this type of situation. The rules for Chapter 19 - Action Semantics when and how to apply specialization are very well defined. I'll cover the UML definition of specialization Part VII - Automating the UML Modeling Process and the associated rules for handling this situation in Chapter 6 when I explain inheritance.
Chapter 20 - Using a Modeling Tool Chapter - Customizing UML Using Profiles A class21 name must be unique within a package. But the same class name may occur in multiple Chapter 22 -To XML Metadata Interchange packages. clarify which class you mean to reference you must qualify the class name with the name of Appendix A - UML Notation Guide the package that1.4 owns it. The format for a fully qualified class name is Package_Name :: Class_Name , as

shown in 5-8 Notation in the fully qualified names Scheduling :: Event, Sales :: Event, and Contract_Admin :: Appendix B Figure - UML 2.0 Guide Event. The names are separated by double colons. The phrase "class path" is also used to mean a Appendix C - two Standard Elements fully qualified class name. "Path" refers to the path through one or more nested packages to access the Glossary class. In Figure 5-8 the package names are Scheduling, Sales, and Contract_Admin. Index
List of Figures List of Tables

List of Listings

The three classes in Figure 5-8 are three distinct definitions even though they all share the class name, Event. This redundancy often happens when systems are worked on by different teams or developed as

parts of different projects, or when integrating< in-house and vendor products. Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Figure 5-8: Fully qualified to class names. For beginning advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML

An unqualified class name, for and example, interpreted to mean a class defined in the current specifications, showsEvent, how tois use UML to improve timeliness, and efficiency in development. package or a class that hasquality, been imported. If the class is imported, you do not need its path (package name), because the import action defines the package name (access path) for all classes in the package. For example, the theater sales application <?xml version="1.0" encoding="ISO-8859-1"?> needs access to the seating arrangements defined in the VenueManagement package. The sales Table of Contents application can simply import the entire VenueManagement package and have access to any or all of the UML Bible defined in it. classes
Preface Companion Web Site

The name needed Part I fully - An qualified Introduction to is UML

only if the current package and the imported package both have a class by the same name. For example, the Sales and VenueManagement packages both define a Seat Chapter 1 - What Is UML? class. Classes within the Sales package would then need to fully qualify the VenueManagement Seat Chapter 2 - UML Architecture class as VenueManagement :: Seat.
Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4 - is Object-Oriented Concepts If the class referenced but not imported, you must use the path name. A reference does not first
Part II - Modeling Object establish the access as Structure an import

action does, so the path must be explicitly defined. For example, the

Chapter 5 - Capturing Rules about Objects in aVenue Class Diagram Scheduling system just needs access to the class. So the scheduling application references the Chapter - How to the Capture about Object Relationships Venue 6 class using fully Rules qualified name VenueManagement :: Venue. Chapter 7 Chapter 8 - Testing with Objects - Modeling Interactions in UML 1.4
Part III - Modeling Object Interactions

Stereotype

Chapter 9 - Modeling Interactions in a UML 2.0 UML enables you to further define class using a UML stereotype, which is yet another way to identify how Chapter - Modeling an Object's Lifecycle in UML modeling 1.4 a class10 is used in a design. For example, when a business application it is common to draw a Chapter 11 Modeling an Object's UML elements 2.0 distinction between classes that Lifecycle describein entity and those that describe control elements. An
Part IV element - Modeling Object Behavior entity describes objects that

are part of the subject matter represented by the Class diagram,

such as venues, events, and of seats. Control elements typically represent specialized pieces of software Chapter 12 - Modeling the Use a System with the Use Case Diagram that manage the behavior of some of the application, such as screen navigation or scheduling. UML Chapter 13 - Modeling Behavior Usingpart an Activity Diagram models a stereotype by enclosing the name Part V - Modeling the Application Architecture in guillemets (French quotation marks) as in entity or control. you can't map the specific keyboard characters it is acceptable to use two less than (<) and Chapter 14 -IfModeling the Application Architecture two greater than (>) symbols, such as entity. Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the A class stereotype is not partModel of the

Cross-Reference

Stereotypes are covered fully in Chapter 3 under "UML Extension Mechanisms." class name and does not generate any code for the class. The intent

Chapter 18 - Applying Constraints to the to UML Diagrams of a stereotype is to bring consistency the treatment of common elements in UML diagrams. Chapter 19 - Action Stereotypes do so Semantics by defining a purpose and a limited number of expected properties for the set of model
Part VII - Automating the UMLthat Modeling Process elements (in this discussion means classes)

that share the same stereotype.

Chapter 20 - Using a Modeling Tool

For example, every class with the entity stereotype is understood to play a very specific role within the system design. That is, each entity class represents a resource in the real world, outside of the software. Chapter 22 - XML Metadata Interchange An entity class contains properties that describe its features and their current condition (their state). To Appendix A - UML 1.4 Notation Guide protect its integrity, an entity type of class also contains behaviors that control access to those properties. Appendix B - UML 2.0 Notation Guide Finally, entity classes typically have little or no knowledge of their surroundings other than their immediate Appendix C - Standard Elements relationships. This limited knowledge is part of what makes them so highly reusable. For example, a venue Glossary is an entity, a resource used by the theater system. No matter what the theater system uses a venue for, a Index venue object provides all of the same features and capabilities like capacity, seating, lighting and sound List of Figures support, and so on.
Chapter 21 - Customizing UML Using Profiles List of Tables

In contrast, a class with a control stereotype owns almost no information about itself. It represents a List of Listings

behavior rather than a resource. Further, a control-stereotyped class is more concerned with directing the < Day Day Up > behavior of other objects and has almost no behavior of its own. The contrast between entity and control stereotypes is summarized in Table 5-1. Table 5-1: Comparison of entity and control Stereotypes
by Tom Pender UML Bible

ISBN:0764526049

Stereotype

Knowledge John Wiley & Sons 2003 (940 pages)

Responsibilities

Entity Control

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and itself shows how to use UML to improve Knows only about and its Must preserve its own integrity timeliness, quality, and efficiency in development.

immediate relationships.

regardless of where or when it is used. Directs the use and behavior of the resources and other software elements at its disposal.

Knows only about the resources (other types of objects) that it needs to <?xml version="1.0" encoding="ISO-8859-1"?> manipulate or direct.
Table of Contents UML Bible

Companion Web Site

To apply this additional level of definition to the class, the UML places the stereotype notation at the top of Preface the I name compartment Part - An Introduction toabove UML the name. The stereotype may be applied in either of two forms: the stereotype name in guillemets (), or a graphical symbol. The symbols, also called icons, are a circle on Chapter 1 - What Is UML? a straight line, representing the entity stereotype, and a circle "arrow", representing the control stereotype. Chapter 2 - UML Architecture In Figure 5-9, the Scheduler class is designated as a control element and the Event as an entity element. Chapter 3 - UML Diagrams and Extension Mechanisms Notice how in the leftmost version of each class the words entity and control are enclosed in Chapter 4 - Object-Oriented Concepts guillemets at the top of the name compartment.
Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure 5-9: Four ways to model classes with stereotypes.

Chapter 14 - Modeling the Application Architecture The two circular icons are alternative notations for entity and control stereotypes. The icons can be used Chapter - Modeling Software Using the Component Diagram with or 15 in place of the stereotype labels. The icons may even be used by themselves, replacing the class Chapter 16 symbol - Using Deployment rectangle altogether. Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0

Note These Rigor icons to were Part VI - Bringing the absorbed Model

from the Object-Oriented Software Engineering method by Jacobson, Christerson, Jonsson, and vergaard. Chapter 18 - Applying Constraints to the UML Diagrams
Chapter 19 - Action Semantics The following examples using the utility and enumeration stereotypes further illustrate the versatility
Part VII - Automating the UML Modeling Process

and timesaving aspects of the stereotype concept for modeling systems.

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Utility class Chapter 22 - XML Metadata Interchange

A utility class has noNotation instances. Instead, it represents a named collection of static (class-scoped) attributes Appendix A - UML 1.4 Guide and operations. other words, a utility acts a bit like a dictionary on your desk. There is only one copy and Appendix B - UML In 2.0 Notation Guide everyone that one copy. A common use for utility classes is to hold common functionality used Appendix C references - Standard Elements
Glossary Index

throughout the system. For example, the Math class in Figure 5-10 provides basic mathematical functions that could be used virtually anywhere in a system.

List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Figure 5-10:specifications, Utility classesand have no instances and contain only static operations. shows how to use UML to improve timeliness, quality, and efficiency in development.

Enumeration

Companion Web Site

An enumeration is encoding="ISO-8859-1"?> a user-defined datatype that defines a set of values that don't change (constants). <?xml version="1.0" Figure 5-11 shows the UML VisibilityKind enumeration used to define visibility throughout the UML Table of Contents specification. It defines the valid set of values for setting the scope of access on attributes, operations, and UML Bible other model elements. Each entry is a literal, a static string of text like "public" that represents a valid Preface option for Introduction some value.to UML Part I - An
Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Figure An Constraints enumeration defines a set of literal values, usually used for validation. Chapter 18 - 5-11: Applying to class the UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

Properties

Below the name inside the name compartment, UML also allows you to add properties. Properties are Chapter 22 XML Metadata Interchange simply pieces of 1.4 information Appendix A - UML Notation about Guide the class that do not fit easily into one of the predefined compartments or elements. For example, you might want to add a "development status" to let team members know whether the class description is complete, under revision, finalized, and so on. You could also add audit Appendix C - Standard Elements details such as who last worked on the class, history of changes, and a version number.
Appendix B - UML 2.0 Notation Guide Glossary IndexTip If there is a lot of this type of information about the class, you can also create a user-defined List of Figures compartment to hold the properties. User-defined compartments are described fully in the List of Tables "Modeling User-Defined Compartments" section later in this chapter. List of Listings

Properties are expressed as a tag-definition/tagged-value pair, such as author="Tom", and enclosed in a < Day Day Up > single pair of braces ({}). If there are multiple properties, simply string them together, separated by commas, inside the same pair of braces. Cross-Reference Tagged values are described fully in Chapter 3. UML Bible Figure 5-12 adds the properties Author="Tom", Last_updated="09-18-02", and Approved to the Event John Wiley & Sons 2003 (940 pages) class. Author, Last_updated, and Approved are tag definitions, names of properties. "Tom" and "09-18-02" For beginning to advanced users, this book provides are tag values associated with the tag names. The Approved property is a Boolean tagged value, which is comprehensive coverage of the versatility of 1.4 and 2.0 UML expressed using the presence of the tag name touse indicate true, and the absence of the tag name to specifications, and shows how to UML to improve quality, efficiency inis development. indicate false. Sotimeliness, the Approved tag and in Figure 5-12 visible to reflect a true value. The word Approved would not appear if the Boolean value were false. Companion Web Site
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

by Tom Pender

ISBN:0764526049

Chapter 1 Chapter 2 Chapter 3 Chapter 4

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

Chapter 5 - 5-12: Capturing Rules about Objects in a Class Diagram Figure Examples of properties using tagged values. Chapter 6 Chapter 7 Chapter 8 - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part III - Modeling Object Interactions

UML 2.0

Chapter 9 has - Modeling Interactions in UML of 2.0 UML 2.0 reorganized the definition a class to align it more closely with the MOF. The UML 2.0 Chapter 10 Modeling an step Object's Lifecycle in UML 1.4 portions of- this chapter through the UML 2.0 specification identifying the key elements of the class Chapter 11 and - Modeling an Object's Lifecycle in UML 2.0 UML 1.4. I use this same approach in each chapter on definition highlighting significant changes from
Part IVdiagrams, - Modeling Object Behavior UML and often for individual

topics within a chapter.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

If your goal is to learn the UML diagrams quickly so that you can get busy modeling, I recommend that you skip the UML 2.0 sections. The differences between the UML 1.4 and 2.0 notations are fairly Part V - Modeling the Application Architecture straightforward, but the 2.0 sections provide a lot of specification detail that goes beyond the nuts and bolts Chapter 14 - Modeling the Application Architecture of drawing the diagrams. Once you become familiar with the diagrams, the notations, and the vocabulary, Chapter 15 - Modeling Software Using the Component Diagram then return to these sections and tackle them one at a time.
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI -of Bringing Rigor to the Model review the architecture read Chapters

Chapter - following Representing an Architecture in I'll UML 2.0 review the UML 2.0 architecture. (For an in-depth To give17 the discourse a context, quickly

2 and 3.) UML 2.0 has two distinct layers, the Infrastructure and

Chapter 18 - ApplyingThe Constraints to the UML Diagrams the Superstructure. Infrastructure provides the foundation for all of the MDA components. The Chapter 19 - Action Semantics Superstructure defines the UML language and notation.
Part VII - Automating the UML Modeling Process

The Infrastructure divided into Chapter 20 - Using ais Modeling Toolfour packages: Abstractions, Basic, Constructs, and PrimitiveTypes. Most of the elements used for modeling first appear in the Constructs package. But the Constructs package relies on the PrimitiveTypes, Abstractions, and Basic packages in much the same way that a book relies Chapter 22 - XML Metadata Interchange on rules of grammar and an alphabet.
Chapter 21 - Customizing UML Using Profiles Appendix A - UML 1.4 Notation Guide

Appendix B - UML 2.0 relies Notation The Superstructure on Guide the essential concepts defined by the Infrastructure to build the concepts for Appendix C Standard Elements constructing UML diagrams. The Superstructure is divided into packages for structural, behavioral, and Glossary supplemental diagrams. These three packages break down into packages for each UML diagram or Index concept, as in the Actions package. Each package provides a metamodel and definitions for each class in

theof metamodel. List Figures


List of Tables List of Listings

In these UML 2.0 sections, I reference the packages within the Superstructure to review how classes are

defined. As you walk through the Superstructure a few times, you will become increasingly familiar with the < Day Day Up > structure and the concepts. This particular UML 2.0 section covers only the concept of a class as a container for other model elements. Subsequent sections in this chapter will add attributes and operations. The formal definition a class in the UML glossary states that: UMLfor Bible A class describes a set of objects that share the same specifications of features, constraints, and beginning to advanced users, this book provides semantics.For (UML 2.0)
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve This is a good working definition. But forefficiency modeling this definition needs to be a bit more rigorous. timeliness, quality, and inpurposes development.

The definition must work not only in conversation, but also for representing a class in a diagram. Classes Web Site are first defined in theCompanion Superstructure::Kernel ::Classes package (note the use of the fully qualified class name to describe the location of the class definition within the specification). In Figure 5-13, the hollow triangle on the endencoding="ISO-8859-1"?> of the connecting lines is the UML inheritance symbol. So by looking over the diagram <?xml version="1.0" inFigure 5-13 we see that the class Class inherits from the class Classifier, which inherits features from Table of Contents Namespace, PackageableElement , and RedefinableElement. UML Bible
Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Figure 5-13: The ancestry of the definition for Class.

Appendix -a UML 1.4 Notation memberAof package. WhileGuide this was assumed in UML 1.4, it has been made explicit in UML 2.0. By Appendix B UML 2.0 Notation Guide inheriting from Classifier, Class incorporates a number of features already defined by other elements of Appendix C - Standard Elements the specification. Glossary Index As a subtype of Namespace, a class may contain NamedElements. Since a class is also a

This definition is almost the same as in UML 1.4. But UML 2.0 adds the rule that a classifier may be a

a class can be a member of another class. For example, a class may be declared List ofNamedElement, Figures the scope of another class as are inner classes in Java. List ofwithin Tables
List of Listings

As a subtype of PackageableElement, a class may be a member of a package. < Day Day Up > As a subtype of RedefineableElement, a class may be specialized, just as Class specializes Classifier. For example, an AssociationClass inherits and specializes the features of both a class and an association to create a new type of model element for capturing information about a relationship. See UML Bible Chapter 6 for a Tom complete description of association classes. ISBN:0764526049 by Pender In UML 1.4, some of the key features, attributes, operations, and associations that are generally For beginning to advanced users, this book provides associated with acomprehensive class were actually defined for classifiers and then inherited by a class. In UML 2.0, coverage of the versatility of 1.4 and 2.0 UML these features are assigned directly to thehow class. Specifically, a class may possess structural features specifications, and shows to use UML to improve timeliness, features quality, and efficiency in development. (attributes), and behavioral (operations). Attributes and operations become owned features of a class in that they reside within (are encapsulated within), and travel with the class. Figure 5-14 illustrates Companion Web Site this relationship using the lines (associations) connecting the Class icon to the Property and Operation icons. I'll explain the terms property and attribute in just a moment.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

John Wiley & Sons 2003 (940 pages)

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

- Capturing Rules about Objects in a Class Diagram Figure ACapture class may contain attributes, and operations. Chapter 6 - 5-14: How to Rules aboutnested Object classes, Relationships

OMG (modified) Chapter 7 - 2.0 Testing with Objects


Part III - Modeling Object Interactions

Chapter 8 Chapter 9

This chapter covers attributes and operation in the sections titled "Modeling the Attributes Compartment" - Modeling Interactions in UML 1.4 and "Modeling the Operations Compartment."
- Modeling Interactions in UML 2.0

Chapter - Modeling an that Object's Lifecycle in UML classifiers. 1.4 Figure 10 5-14 also states a class can contain In other words, a class can contain interfaces, Chapter 11 - Modeling Object's Lifecycle in UMLFor 2.0 a complete list of classifiers, see "Appendix E, associations, signals,an enumerations and more.
Part IV - Modeling Object Behavior Classifiers Taxonomy" in the UML

2.0 specification.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

One significant structural change in an theActivity definition of a class is the addition of the concept of a Property. Chapter 13 - Modeling Behavior Using Diagram UML used the Attribute class to define data Part V 1.4 - Modeling the Application Architecture

owned by a class. But since data may be used to describe a variety of model elements other than classes, it made sense to define a concept, Property, that contains Chapter 14 - Modeling the Application Architecture information, and then use that same concept wherever it is needed. When a property is owned by a class it Chapter 15 - Modeling Software Using the Component Diagram is interpreted as an ownedAttribute (see Figure 5-14).
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI package, - Bringingand Rigor to the Model Ports illustrated in Figure

Chapter 17does - Representing Architecture UML 2.0 add a newan concept calledin a UML Port 2.0 , found in the Superstructure :: CompositeStructures ::

5-15. A port is both a ConnectableElement and a Feature. As a

Chapter 18a-port Applying Constraints to UML Diagrams Feature, can become part ofthe a class definition. As a ConnectableElement, a port provides the Chapter - Action Semantics means19 to connect two elements of the model. Compare this idea of a port to something like airlocks on
Part VII - Automating the UML Modeling Process submarines or spacecraft. When two ships need

to connect, they only need to know whether the airlocks

Chapter 20 -ships Usingare a Modeling Tool How big the craft is or what technology or design is involved in each craft on the two compatible.

is completely irrelevant. UML If the connectors Chapter 21 - Customizing Using Profiles can attach properly, the ships can dock.
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List ofFigure Listings 5-15: Adding ports to the class definition. OMG 2.0

< Day Day Up objects. > In a similar manner, ports provide the "airlocks" to connect A port is a class' gateway to the outside world. The addition of ports is an attempt to encapsulate a class from the technology in which it is implemented. By using ports, a modeler is able to create a class definition that may be implemented in any programming environment, as long as the connections conform to the definitions of the ports. UML Bible by Tom Pender So whether one object is coded in Java and the other in C++ should not matter. Obviously, we are not John Wiley & Sons 2003 (940 pages) quite there yet, but that is the goal of adding ports to the class definition, to create opportunities to reuse a For beginning to advanced this book provides software specification by rethinking how weusers, define software requirements like connectivity.
ISBN:0764526049

comprehensive coverage of the versatility of 1.4 and 2.0 UML

specifications, and shows how to use UML to improve Thenext section of this chapter continues the description of the UML 1.4 specification for classes. Each timeliness, quality, and efficiency in development. new topic in this chapter is followed by a description of UML 2.0 specification for the same subject area. Companion Web Site <?xml version="1.0" encoding="ISO-8859-1"?> < Day Day Up > Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling Visibility by Tom Pender


ISBN:0764526049

Visibility is applied to both attributes John Wiley & Sons and 2003 operations (940 pages) in a class. Since this concept applies equally to attributes and operations, I'll cover the concept here, then demonstrate how to apply it in the For beginning to advanced users, this and book provides descriptions of attributes and operations that follow. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve and efficiency Visibility refers to timeliness, the scope quality, of access allowed forin a development. member of a class. Scope refers to specific regions within the total system. UML visibility or access levels map to similar visibility designations in most OO Companion Web Site programming languages as follows:

Private scope:encoding="ISO-8859-1"?> Within a class <?xml version="1.0" Table of Contents Package scope: Within the same package UML Bible
Preface
Part I - An Introduction to UML

Public scope: Within a system

Chapter 1 - What Is UML? Protected scope: Within an inheritance tree Chapter 2 - UML Architecture

To understand visibility it isand helpful to comprehend the concept of a UML namespace. A namespace is a Chapter 3 - UML Diagrams Extension Mechanisms
Chapter 4

UML element that can be named (inherits from NamedElement), and can contain other NamedElements. - Object-Oriented Concepts A UML class is a namespace that can contain NamedElements in the forms of attributes and operations. A Part II - Modeling Object Structure package is a namespace that can contain classes and other packages. As namespaces, both classes and Chapter 5 - Capturing Rules about Objects in a Class Diagram packages can control access to contained elements by assigning a visibility value.
Chapter 6 - How to Capture Rules about Object Relationships Chapter 7 - Testing with Objects As I explain each visibility in the following pages, note the symbols used to designate each visibility level,
Part III - Modeling Object displayed in Table 5-2. Interactions

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Table 5-2: Visibility Symbols

Visibility Chapter 11 -Level Modeling an Object's Lifecycle in UML 2.0


Part IV - Modeling Object Behavior

Symbol

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Private Chapter 13 - Modeling Behavior Using an Activity Diagram


Part V - Modeling the Application Architecture Package

~ + #

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram

Public

Protected Chapter 16 - Using Deployment Diagrams in UML 1.4


Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

As with most UML concepts, there is latitude in how you choose to represent visibility. The UML suggested character symbols for each visibility type are included in the following explanations. Some vendors have Chapter 19 - Action Semantics chosen to use colors or images, such as a closed padlock to identify private access.
Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Private visibility

UML definition: "A private element is only visible inside the namespace that owns it." (UML 2.0)

Appendix B - UML Notation Guide In the context of 2.0 classes, private (-) visibility limits access to objects of the same class. For example, Appendix C Standard Elements private attributes of Class B in Figure 5-16 can only be accessed by operations performed by objects of Glossary Class B. They would not be accessible to Class A, other classes in the same package, or to any classes in Index Package 2, or elsewhere in the system. Contrast this with the other visibility values described later in this List of Figures section. List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure 5-16: Private elements of Class B are visible/accessible only to objects of Class B.

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Tip If you adhere strictly to encapsulation, all attributes should use private visibility because all of the Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 within the object, accessible only through operations. data that an object owns should be hidden
Part IV - Modeling Object to Behavior The exceptions this are

inherited attributes that are covered by the protected visibility value

Chapter 12 - Modeling the a System with the Use Case Diagram (covered later in Use this of section). Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component UML Definition: "A package element is owned by a Diagram namespace that is not a package, and is visible to Chapter 16 Using Deployment Diagrams in UML 1.4 elements that are in the same package as its owning namespace." (UML 2.0) Chapter 17 - Representing an Architecture in UML 2.0

Package visibility

That is, packageRigor (~) visibility allows Part VI - Bringing to the Model

access by other objects in the same package, regardless of the class

they belong to. For example, in Figure 5-17, let's say that Class B defines an operation with package Chapter 18 - Applying Constraints to the UML Diagrams visibility. Package allows an operation in Class A, and objects of any other class in Package 1, to Chapter 19 - Action visibility Semantics invoke package-level operation in Class B. Part VII the - Automating the UML Modeling Process Package 2, or any other part of the system. Chapter 20 - Using a Modeling Tool
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

But the operation remains inaccessible to objects in

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure 5-17: The package-visible elements of Class B are visible/accessible to all objects in Package Chapter 9 - Modeling Interactions in UML 2.0 1.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Public visibility

Chapter 14 - Modeling the Application Architecture

UML Definition: "A public element is visible to all elements that can access the contents of the namespace that owns it." (UML 2.0)

Chapter 15 Modeling Software Using Component Diagram Public (+) visibility allows access by the objects of all other classes in the defined namespace anywhere in the Chapter 16 - Figure Using Deployment Diagrams in UML 1.4 can "see" the package that contains the public system. As 5-18 shows, as long as an object

element (an attribute or operation), it can that element. Chapter 17 - Representing an Architecture inaccess UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure 5-18: The public elements of Class B are visible/accessible to objects in the same system Chapter 9 - Modeling Interactions in UML 2.0 regardless of the package they reside in.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Protected visibility

Chapter 14 - Modeling the Application Architecture

UML Definition: "A protected element is visible to elements that have a generalization relationship to the namespace that owns it." (UML 2.0)

Chapter 15 Modeling Using the Component Diagram Protected (#) visibilitySoftware allows access by subclasses. In generalizations (inheritance) , subclasses must have

access16 to the attributes and operations of UML the superclass so that they can inherit these features. This is Chapter - Using Deployment Diagrams in 1.4 true whether or not the subclasses reside the2.0 same package. For example, in Figure 5-19, objects of Chapter 17 - Representing an Architecture in in UML Class are allowed access the protected Part VI D - Bringing Rigor to the to Model
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

attributes and operations of Class B because Class D is a

subclass of Class Chapter 18 (specialization) - Applying Constraints to B. the UML Diagrams

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure 5-19: The protected elements of Class B are visible/accessible to subclasses of Class B Chapter 9 - Modeling Interactions in UML 2.0 regardless of where they reside.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior definition varies across

Chapter 11 Check - Modeling an Object's Lifecycle in UML 2.0 Note your programming language implementations for protected visibility because the

languages. For example, in Java protected also allows access by objects

Chapter 12 in - Modeling the Use of aThe System with the Case Diagram the same package. net effect of Use Java's implementation is a blend of package and Chapter 13 subclass - Modeling Behavior Using an Activity Diagram level visibility.
Part V - Modeling the Application Architecture

Note circumstances where aArchitecture named element ends up with multiple visibilities, for example by being Chapter 14 In - Modeling the Application multiple times, public visibility overrides Chapter 15 imported - Modeling Software Using the Component Diagramprivate visibility.
Chapter 16 - Using Deployment Diagrams in UML 1.4

Protected access is especially valuable when you consider that a great deal of object-oriented programming is accomplished by extending existing libraries. For example, while writing an accounts Part VI - Bringing Rigor to the Model receivable application, I might define an Account class that contains my customer's personal billing Chapter 18 - Applying Constraints the UML Diagrams information. Later, while workingto on a marketing application, I am asked to enhance the system to handle Chapter 19 - Action Semantics different classifications of accounts for marketing purposes. To do so I need to specialize the Account Part VIIBut - Automating UML Modeling Process are in two different domains. class. marketing the and accounts receivable
Chapter 17 - Representing an Architecture in UML 2.0 Chapter 20 - Using a Modeling Tool

One solution is to make UML the features of the Account class public. But that means that any object in the Chapter 21 - Customizing Using Profiles system22 can access the features without using an operation that can validate the access. I could make the Chapter - XML Metadata Interchange AccountA features private to prevent Appendix - UML 1.4 Notation Guide access but that would also prevent inheritance, since inheritance is a form of access. only solution is a compromise. Allow access outside the class, but only to the classes Appendix B - UML The 2.0 Notation Guide
Appendix C - Standard Elements Glossary To standardize these visibility definitions the UML 1.4 authors created a class called VisibilityKind. The Index VisibilityKind class pictured on the right in Figure 5-20 is a set of the valid values for visibility. In addition, List of Figures UML 2.0 assigns a visibility to every NamedElement. So every model element that extends List of Tables NamedElement, such as classes, attributes, and operations, has a visibility designation. List of Listings

that need to inherit from it.

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Figure 5-20: VisibilityKind and NamedElement classes. Companion Web Site OMG 2.0
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

< Day Day Up >

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling Multiplicity by Tom Pender


ISBN:0764526049

Multiplicity, like visibility is a concept with a number of UML model elements, most notably with John Wiley & Sons used 2003 (940 pages) attributes and associations. Multiplicity specifies the number of values that may be associated with a model For beginning to advanced users, this book provides element. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Multiplicity is modeled as a value expression. When multiplicity is used in a text string like an attribute, the value expression is enclosed within square brackets ([]). When multiplicity is used to adorn a diagram Companion Web Site notation like an association, it has no enclosing brackets. Multiplicity can express a range of values, a specific value, a range without limit, or a set of discrete values. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Range of values

Preface A range of values includes a lower and an upper value separated by two periods, as in [0..5] or 0..5,
Part I - An Introduction to UML

zero through five inclusively, and [6..10] or 6..10, six through 10 inclusively. Figure 5-21 represents an

Chapter 1 called - What Is UML? that may contain values for 1 to 20 performers. attribute performer Chapter 2 - UML Architecture Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure Modeling a range for the Chapter 9 - 5-21: Modeling Interactions in UML 2.0number of values associated with an attribute.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Specific value

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram Chapter 14 - Modeling the Application Architecture

When the upper and lower values in a range are the same, the UML allows the use of the upper value by itself. So the multiplicity [2..2] can be displayed instead as [2], as shown in Figure 5-22 where the Part V - Modeling the Application Architecture manager attribute can hold exactly two Venue_Manager references.
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Figure Using the upper Appendix A - 5-22: UML 1.4 Notation Guidevalue when the lower and upper range values are the same.
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

Note that while this abbreviated form is valid, you should be careful when replacing [1..1] with [1]. One of the most common errors in modeling is forgetting to ask whether the lower value should be zero. A Glossary lower value of zero as in [0..1] indicates that the item is optional. A lower value of 1 as in [1..1] or [1] Index indicates that the value is always present and required. In my experience the lower bound is zero the vast List of Figures majority of the time.
List of Tables List of Listings

Range without limit

< Day Day Up >

When the upper value is unknown or unspecified, the UML uses the asterisk (*) in place of a number value. The asterisk appears as the upper value as in [1..*], which means one or more. The range UMLor Bible [0..*] means zero more. The asterisk by itself [*] also means zero or more. Figure 5-23 shows the ISBN:0764526049 by Tom Pender price_tiers attribute set to one or more.
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Figure 5-23: Use an asterisk to signify "or more", meaning no upper limit. Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2

- What Is UML? Set of discrete values - UML Architecture

Chapter - UML Diagrams and Extension Mechanisms In UML31.4, a set of discrete values is separated by commas, as in [2, 4, 6]. To date, UML 2.0 Chapter 4 - Object-Oriented Concepts submissions seem to have left out this option, but it will likely be included in the final version.
Part II - Modeling Object Structure

Chapter 5 Chapter 6

- Capturing Rules about Objects in a Class Diagram Ordering - How to Capture Rules about Object Relationships

Chapter 7 supports - Testing with Objects UML also the option to specify the ordering of the elements counted by the multiplicity. The
Part III - Modeling ordering is placedObject within Interactions curly braces

({}) after the multiplicity value, as shown in Figure 5-24. Ordering is

Chapter 8 defined - Modeling in UMLcalled 1.4 actually as a Interactions Boolean property isOrdered, so if the set of values is not ordered, the Chapter 9 is-not Modeling Interactions in UML 2.0 property shown. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Figure Multiplicity ordering. in UML 2.0 Chapter 17 - 5-24: Representing an Architecture


Part VI - Bringing Rigor to the Model

In the specification and other places you will also see {ordered}. Technically, a Boolean positive value is represented by the name of the Boolean tag, in this case, isOrdered. The other form appears to be a Chapter 19 - Action Semantics carryover from previous versions of the UML. Since most modeling is done using a tool, you will get Part VII - Automating the UML Modeling Process whatever form the tool vendor decided to provide when you select the ordered option.
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

UML 2.0

The Superstructure :: Kernel::Multiplicities package defines a MultiplicityElement as having an optional lower value and an optional upper value, as well as two attributes, isOrdered and isUnique, pictured in Appendix C - Standard Elements Figure 5-25. The isUnique attribute is new in UML 2.0. Uniqueness in this instance refers to the values Glossary that the multiplicity refers to. For example, a multiplicity might be that there may be zero to 5 values Index associated with this attribute or association. A value of true (the default) for the attribute isUnique states List ofthere Figures that are no duplicates in the set of values. A value of false for the attribute isUnique states that List of Tables there can be duplicates in the set of values.
List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides coverage of the versatility of 1.4 and 2.0 UML Figure 5-25:comprehensive Multiplicity associated with any TypeElement. specifications, and shows how to use UML to improve OMG 2.0 timeliness, quality, and efficiency in development. Web Site UML 2.0 specifies theCompanion following syntax for declaring the multiplicity for a model element:

multiplicity_range ::= [lower '..'] upper <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents lower UML Bible ::= integer | value_specification upper ::= integer | '*' | value_specification Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2

The lower and upper values may be any value specification, including expressions, literals, and instance - UML Architecture values (references to objects). The upper value is always required. The lower value is required when it is Chapter 3 - UML Diagrams and Extension Mechanisms different from the upper value. When no specific upper value can be defined, the asterisk may be used to Chapter 4 - Object-Oriented Concepts indicate that there is no upper limit to the value.
Part II - Modeling Object Structure

- What Is UML?

Chapter 5 -the Capturing Rules about Objects in acan Class Diagram the ordering and the uniqueness of the values Along with multiplicity values, multiplicity designate Chapter 6 bounded - How to Capture Rules about Object Relationships in the set by the multiplicity values. The syntax for ordering and uniqueness is as follows: Chapter 7 Chapter 8 - Testing with Objects
Part III - Modeling Object Interactions [ '{' <order_designator> [,

<uniqueness_designator>]'}' ]

- Modeling Interactions in UML 1.4

Chapter 9 - Modeling Interactions in UML 2.0| unordered <order_designator> ::= ordered Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 <uniqueness_designator> ::= unique | nonunique Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

TheisOrdered attribute is a Boolean value in conjunction with a multi-valued multiplicity. It Chapter 12 - Modeling the Use of a System with used the Use Case Diagram specifies theBehavior values in an instantiation of this element are sequentially ordered. The default value Chapter 13whether - Modeling Using an Activity Diagram isfalse. Part V - Modeling the Application Architecture
Chapter 14 - Modeling the is Application Architecture TheisUnique attribute a Boolean value used in conjunction with a multi-valued multiplicity. It specifies Chapter 15 Modeling Software Using the Diagram whether the values in an instantiation of Component this element are unique. The default value is true. Chapter 16 - Using Deployment Diagrams in UML 1.4

TheisOrdered and isUnique attributes are modeled as properties inside curly brackets ( { }).Figure Chapter 17 - Representing an Architecture in UML 2.0 5-26 illustrates the use ofthe both ordering and Part VI - Bringing Rigor to Model
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

uniqueness where both values are true. In an attribute

declaration properties follow immediately after the multiplicity value. Chapter 18 - these Applying Constraints to the UML Diagrams

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

Figure Modeling ordering and uniqueness with multiplicity. Appendix C - 5-26: Standard Elements
Glossary Index

TheisUnique and isOrdered attributes describe the structure of a collection. For example, the multiplicity can describe a set of values for an attribute or a set of references in an association. The List of Figures implementations for these sets must conform to the rules for the set defined by the values of isUnique List of Tables and isOrdered. The unique combinations of these two attributes define the types of collections that may be
List of Listings

used to implement the sets following the rules illustrated in Table 5-3. The exact implementation < Day Day Up > mechanism for the collection will depend on the resources available through the implementing programming language. Table 5-3: The Use of Properties for Collection Types isOrdered
by Tom Pender isUnique John Wiley & Sons 2003 (940 pages) UML Bible

ISBN:0764526049

Collection type

false true false

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows true how to use UML to improve Set timeliness, quality, and efficiency in development. Companion Web Site

true

OrderedSet Bag Sequence

false

true false <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents


UML Bible Preface
Part I - An Introduction to UML

< Day Day Up >

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling the attributes compartment by Tom Pender


ISBN:0764526049

The attributes compartment contains definitions for all the information that an object owns. Like the other John Wiley & Sons 2003 (940 pages) compartments, it For is simply a list of like items, a listthis compartment. It differs from other compartments in two beginning to advanced users, book provides ways. It may onlycomprehensive contain attributes and it always appears in the same relative coverage of the versatility of 1.4 and 2.0 UML location within the class specifications, and showsThe how attribute to use UML to improve contains all the information that an icon, just below the name compartment. compartment object can own. timeliness, quality, and efficiency in development.
Companion Web Site

Modeling an Attribute
<?xml version="1.0" encoding="ISO-8859-1"?> An object can own three types of information. First, an object must know about itself, namely its own Table of Contents

structure UML Bible and its own current condition, called its state. Second, an object is aware of its immediate
Preface

relationships. Third, an object is sometimes made responsible for overseeing specific information, much like a steward or custodian. Part I - An Introduction to UML
Chapter 1 can - What UML? An object tellIs you about itself. In Figure 5-27, Venue can tell you its seating capacity and its current Chapter 2 UML Architecture status, that is, open, closed for holiday, closed for repairs, or reserved for private engagement. Event can Chapter UMLand Diagrams and Extension Mechanisms tell you3its start end dates, the number of shows that have been scheduled so far for the event, the Chapter 4 of-shows Object-Oriented Concepts number that the contract states may be scheduled, and its current status, that is, tentative,
Part II - Modeling Object Structure contracted but not scheduled, scheduled,

completed, or cancelled. Seat can tell you its location within the

Chapter 5 - its Capturing Rules about Objects or in a Class Diagram venue and current condition (disabled available for use). Chapter 6 Chapter 7 Chapter 8 Chapter 9 - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure 5-27: What an object knows about itself.

Chapter 14 - an Modeling Application Architecture In order for objectthe to do work, it typically needs to interact with other objects. To do so, a class must Chapter 15 Modeling Software Using the the Component define the valid set of relationships and rules forDiagram establishing and breaking those relationships. For Chapter 16 when - Using Diagrams in UML 1.4 the members are assigned tasks. Often those tasks are example, a Deployment project team is first established, Chapter 17 Representing an Architecture in the UML 2.0 interrelated. Members of the team record contact information of other members, like phone numbers
Part - Bringing Rigor to the Model andVI e-mail addresses, so that they

can collaborate.

Chapter 18 - Applying Constraints to the UML Diagrams

Likewise, to define a means for each object to contact other objects so that they can Chapter 19 classes - Action need Semantics collaborate. The class defines an attribute that Part VII - Automating the UML Modeling Process can contain a reference to another object. Each type of reference requires a different attribute. Keeping with the team member example, a developer might keep Chapter 20 - Using a Modeling Tool references for a project leader and for a database administrator. Each attribute points to an employee, but Chapter 21 - Customizing UML Using Profiles each attribute refers to an employee for a unique purpose.
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Alternatively, a reference may be to a collection of objects, all for the same reason. For example, a Appendix B UML 2.0 Notation Guide member of the team may keep a reference to the list of fellow team members. In this case, a single Appendix - Standard Elements attributeC holds multiple references. In UML, this is modeled using multiplicity. In a programming language, Glossary this is accomplished with an array or some type of container class like a Java Collection, such as a Vector. Index

Today most modeling tools provide some help for setting up these reference attributes. They do it based List of Figures
List of Tables List of Listings

on associations (discussed in Chapter 6). For example, when an event is scheduled at a venue, the event needs to know where it will be held. In a manual system, the manager might write the venue name on the

contract for the event. In a similar manner, the Event class needs to include a place to "write" the < Day Day Up > reference to the venue so that it can collaborate with the venue to set up the performances. For each relationship on the class diagram, the modeler (or the modeling tool) must generate a reference attribute like the one shown in Figure 5-28.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml Figure version="1.0" encoding="ISO-8859-1"?> 5-28: Add the reference attribute so that the event can collaborate with the venue. Table of Contents UML An Bible object can also own information that the object is not directly responsible for either creating or Preface maintaining. For example, a System Event Log has to track error conditions encountered during the
Part I - An Introduction to UML execution of the system. The log

does not generate these system events or have any control over them. It

simply 1 provides aIs place to record them. Chapter - What UML?


Chapter 2 Chapter 3

Regardless of the type of attribute, each attribute needs to be defined to the level at which the application - UML Diagrams and Extension Mechanisms can insure the integrity of the attribute and of the system in which it is used. To accomplish this, a UML Chapter 4 - Object-Oriented Concepts attribute definition includes the following elements:
Part II - Modeling Object Structure

- UML Architecture

Chapter 5 - Capturing Rules about Objects in a Class Diagram Visibility Chapter 6 - How to Capture Rules about Object Relationships

Derived (true/false) Chapter 7 - Testing with Objects


Part III - Modeling Object Interactions

Chapter 8

Name

- Modeling Interactions in UML 1.4

Chapter 9 type - Modeling Interactions in UML 2.0 Data Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Multiplicity Chapter 11 - Modeling an Object's Lifecycle in UML 2.0


Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Property string Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Default value

Class-level versus instance level designation Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram

Attribute notation Chapter 16 - Using Deployment Diagrams in UML 1.4


Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

These attribute definition elements are commonly expressed in a single text string using the following syntax: [visibility] [/] name [: type] [multiplicity] [=default] [{property-string}]

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange The attribute definition string is a handy way to document the features of an attribute. However, tools Appendix - UML 1.4 Guide a separate field for each feature. Using this form, the tools can offer typically A also offer a Notation form containing Appendix B -form UML of 2.0 Notation Guide help in the drop-down lists and defaults to ease and speed up the modeling process. Figure 5-29 Appendix C attribute - Standard Elements shows an definition screen from MagicDraw 6.0. Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4

- What Is UML? - UML Architecture

Figure 5-29: Sample attribute-entry form in a modeling tool. - UML Diagrams and Extension Mechanisms No Magic
- Object-Oriented Concepts

Part II - Modeling Object Software only works if itStructure has all the

information it needs. By definition, all the information in an object-

Chapter 5 system - Capturing Rules about Objects in as a Class Diagram oriented is contained within objects attributes. The elements of an attribute definition help insure Chapter 6 How to Capture Rules about Object Relationships that all of the facts have been evaluated and explained. The rest of this section defines and describes the Chapter 7 - Testing with Objects use of each of these elements.
Part III - Modeling Object Interactions

Visibility Chapter 8 - Modeling Interactions in UML 1.4


Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior

[visibility] [/] name [: type] [multiplicity] [= default] [{property-string}] encapsulation states that all of the attributes of an object should be private. Figure 5-30 models seven

- Modeling Interactions in UML 2.0

Chapter - Modeling Object's Lifecycle in UML 2.0 of visibility. I also reinforced the concept that Earlier 11 in this chapteran I explained the various levels Chapter 12 for - Modeling the Use of a Systemare with the Case Diagram attributes an event. All the attributes set toUse private using the minus sign symbol (-) in front of the Chapter 13 Modeling Behavior Using an Activity Diagram attribute name.
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary IndexFigure 5-30: Assigning private visibility ( - ) to attributes to enforce encapsulation. List of Figures List of Tables

List of Listings

In the initial stages of analysis, it is usually easiest to simply default all attributes to private ( - ) visibility. Later, if you find a compelling reason to change it you can always do so.

Derived

< Day Day Up >

[visibility] [/] name [: type] [multiplicity] [= default] [{ property-string }] A slash (/) in front of an attribute name identifies the attribute as containing a derived value. The absence UML Bible of the slash indicates a base value. A derived value is one that's computed, or figured out, using other ISBN:0764526049 by Tom Pender data and a rule or formula. A base value must be provided because there is no other way to obtain the John Wiley & Sons 2003 (940 pages) value. When an attribute is determined to be derived, there are more For beginning to advanced users, this book provides design decisions that need to be addressed regarding the handling of the data, so the derived flag is used as a reminder to the modeler comprehensive coverage of the versatility of 1.4 and 2.0 UML showsof how to use UML to improve until there is timespecifications, to resolve theand handling the data. Base values are designated by the absence of the derived symbol. timeliness, quality, and efficiency in development. For example, a theater employee might need to create a report detailing events that are scheduled. The report needs to provide the name of each event as well as the start and end dates of the events. The <?xml version="1.0" encoding="ISO-8859-1"?> name attribute defines a base value because the name cannot be calculated or figured out by any rules. It Table of Contents must be provided by a user. The start_date is also a base value. The end_date however, can be UML Bible calculated using the event duration and the start date. So in Figure 5-31, a slash is placed after the visibility Preface symbol and before the attribute name to indicate that end_date represents a derived value.
Part I - An Introduction to UML

Companion Web Site

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - 5-31: Modeling the Use base of a System with the Use Case Diagram Figure Identifying and derived attributes. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture Depending on factors like frequency of access

and cost to calculate the derived value, you might choose

not to store the end_date value at all because you can calculate it at a lower cost than storing it. Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

In some cases, the calculation is very costly, access is frequent, and timeliness is critical, while the values don't change very often or not at all. Then it might very well be cheaper to store the derived value than to Chapter 17 - Representing an Architecture in UML 2.0 calculate it every time it is needed. For example, I worked with a team responsible for distilling all of the Part VI - Bringing Rigor to the Model weather data from NASA weather satellites each day. The distillations were then distributed to universities Chapter 18 - Applying Constraints to the UML Diagrams and researchers around the country. The data shipped was derived from more than a terabyte of raw data. Chapter 19 - Action Semantics The team had to define a derivation strategy for virtually every attribute of the final product. When it was Part VII - Automating the UML Modeling Process finished, the derived values had to be stored and the raw data erased.
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles you that more work needs to be done to decide on the handling Use the slash (derived) symbol to remind

of the derived value. Once a decision is made, you can always delete the attribute if it is not stored and use Chapter 22 - XML Metadata Interchange only a corresponding operation to calculate it when needed. Appendix A - UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide

Name C - Standard Elements Appendix


Glossary Index

[visibility] [/] name [: type] [multiplicity] [= default] [{property-string}]

List of attribute Figures name is required. The name must be unique within the class. Attribute names should be as The List of Tablesas possible to avoid confusion. Names are one place where brevity is not a virtue. Always descriptive

remember that other people may need to read and understand your code long after you are gone. List of Listings

Frankly, even while you are still around, do you really want to be hounded with questions about cryptic < Day Day Up > names? If the same name appears in multiple classes and you need to refer to both values in the same context, the attribute name must be qualified with the class name in the form class_name.attribute_name. UML Bible For example, when and Event you would need to specify ISBN:0764526049 by the Tomattribute Pender status appears in both Venue them as Venue.status and Event.status , respectively. John Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and in development. [visibility] [/] name [: type] [multiplicity] [=efficiency default] [{property-string}]

Data type

An attribute type identifies a classifier (not class) that explains the kind of information that can be stored in the attribute. A classifier may be:
<?xml version="1.0" encoding="ISO-8859-1"?> A reference Table of Contents to a UML primitive Data Type (Integer, UnlimitedInteger, or String) UML Bible Preface

Companion Web Site

An enumeration such as Boolean type such as float, long, short in Java


- What Is UML? - UML Diagrams and Extension Mechanisms

Part IA - An Introduction to UML reference to a language-specific

Chapter 1 Chapter 3

A reference to another class in your system Chapter 2 - UML Architecture


Chapter 4 String. - Object-Oriented Concepts name : End_date is assigned a class called Date from a library of classes provided by the
Part II - Modeling Object Structure

For example, in Figure 5-32 the name attribute is assigned the UML Data Type String using the format Java programming language. The Date data type actually holds a reference to an object designed to

Chapter 5 information - Capturing Rules Objects in a status Class Diagram represent aboutabout a date and time. is assigned a reference to an application-specific Chapter 6 How to Capture Rules about Object Relationships enumeration called Event_Status, which defines a set of valid literal values for event status, such as Chapter 7 -and Testing with Objects scheduled cancelled.
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - 5-32: Using Each a Modeling Toolis assigned a data type. Figure attribute Chapter 21 - Customizing UML Using Profiles

The UML definition only allows for one data type. But remember that system development is a Chapter 22 attribute - XML Metadata Interchange series ofAtasks encompassing gathering requirements and converting those requirements to a solution. Appendix - UML 1.4 Notation Guide During requirements gathering, the data type should reflect how the client sees the data, such as dollar Appendix B - UML 2.0 Notation Guide
Appendix C - Standard Elements

signs and commas, and parentheses for negative values - ($12,345.67), for example. You could call this the external view, the way the values look outside of the software application. During design, however, the Glossary data type needs to correspond to the programming language and database data types for the environment Index in which the class will be coded, such as float. This is the internal view, the way the information looks List of Figures inside the software application. These two different views of the required data type can give the List of Tables programmer some very specific insights for coding the operations used to capture and retrieve the
List of Listings

attribute value/s.

< Day Day Up >

The external view identifies the form that the value takes as input and output. The design-level definition defines the internal storage requirements. The accessor methods, the operations used to put the data into the object and take it back out of the object, are responsible for the translation between the two forms. In UML Bible some instances there may even be many external forms, as inISBN:0764526049 Figure 5-33. The Ticket class defines an by Tom Pender internal data typeJohn of float, to match the desired programming language type, to contain a price value. But Wiley & Sons 2003 (940 pages) the clients want to use the value of the price attribute in three different formats. For beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram

Part II - Modeling Object Structure

- How to Capture Rules about Object Relationships Figure Internal and external data types. Chapter 7 - 5-33: Testing with Objects
Part III - Modeling Object Interactions

So during requirements gathering, data Chapter 8 Modeling Interactions in the UML 1.4 type captured in the attribute definition should reflect the
Chapter 9

clients' expectations, external view. The design-level version of the model should replace the external view - Modeling Interactions in UML 2.0 with the internal representation. This is one reason the version control is so important for the modeling Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 process.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13[/] - Modeling Behavior Using an Activity Diagram [visibility] name [: type] [multiplicity] [= default] [{property-string}]
Part V - Modeling the Application Architecture

Multiplicity

When an may have only one value, you can use a multiplicity range of [1..1], the abbreviated Chapter 14 attribute - Modeling the Application Architecture form[1] , or even let Software the attribute assume a defaultDiagram multiplicity of 1. In Figure 5-34, I used the [1] Chapter 15 - Modeling Using the Component notation, it is very common to use the1.4 default. An attribute may also contain more than one value. Chapter 16although - Using Deployment Diagrams in UML Referring to the multiplicity notation defined earlier in this chapter, you can express, for example, that a venue contains references to two managers, a primary and an alternate. The venue could define a Part VI - Bringing Rigor to the Model manager attribute as either manager : Venue_Manager [2] or manager [2] : Venue_Manager. Chapter 18 - Applying Constraints to the UML Diagrams The multiplicity expression may appear by the attribute name or the data type. Technically it just needs to Chapter 19 - Action Semantics be somewhere in the attribute definition text string. These expressions tell us that the attribute called Part VII - Automating the UML Modeling Process "manager" is of-data type "Manager" (a reference to a Manager object), and that the attribute may contain Chapter 20 - Using a Modeling Tool two[2] references.
Chapter 17 - Representing an Architecture in UML 2.0 Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve Figure 5-34:timeliness, Attribute multiplicity. quality, and efficiency in development. Companion Web Site contains multiple values it is usually implemented with some type As I mentioned earlier, when an attribute of array or container class reference. For modeling purposes, however, it can be handy to simply capture the requirement that the reference needs to support a set of values, not just one. Once you are certain that <?xml version="1.0" encoding="ISO-8859-1"?> the attribute is defined correctly, you can resolve the design alternatives for handling the set of values. Table of Contents UML Bible Preface

Default value
[visibility] [/] name [: type] [multiplicity] [ = default] [{property-string}]
- What Is UML?

Part I - An Introduction to UML

Chapter 1

Chapter - UML Architecture Default2values serve two very valuable purposes: Chapter 3 protect - UML Diagrams and of Extension Mechanisms 1. To the integrity the system from being corrupted by missing or invalid values. Chapter 4 - Object-Oriented Concepts

provide significant ease-of-use Part 2. II - To Modeling Object Structure


Chapter 5 Chapter 6

improvements for the client.

For example, it is common practice to let the programming language syntax default numeric attributes to - How to Capture Rules about Object Relationships zero. However, if the application ever attempts to divide using one of these values, you will have to handle Chapter 7 - Testing with Objects the resulting errors that could have been avoided easily with the use of an explicitly specified default value.
Part III - Modeling Object Interactions

- Capturing Rules about Objects in a Class Diagram

Chapter 8 -the Modeling Interactions inattribute UML 1.4 definition string using an assignment operator (=) followed by UML adds default value to the Chapter 9 - value Modeling Interactions UML 2.0 the default expression. Thein default value expression may be a single value or a string expressed in Chapter 10 - Modeling an Object's Lifecycle inLanguage UML 1.4 or an implementation language. During modeling it some language like the Object Constraint Chapter 11 equally - Modeling an Lifecycle in in UML 2.0 can work well toObject's use free-form text the default to capture what you want to do. Then return later
Part IV -out Modeling Object Behavior However, to iron the specific language.

UML does not provide any mechanism for resolving the

expression SoUse it is of up the designer to provide the code to implement the rule defined in the Chapter 12 - language. Modeling the a to System with the Use Case Diagram default 13 expression. Chapter - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Default values are applied to the attribute when an object is created. They may appear in the constructor as hard-coded values. They may be defined as class-level or static values that can be referenced in the Chapter 15 - Modeling Software Using the Component Diagram constructor. They may even be stored elsewhere and loaded using a static operation when the class is Chapter 16 - Using Deployment Diagrams in UML 1.4 loaded. The concept of static attributes is covered a little later in this same section. (The static concept Chapter 17 - Representing an Architecture in UML 2.0 applies to operations as well.)
Chapter 14 - Modeling the Application Architecture
Part VI - Bringing Rigor to the Model

Chapter 185-35 - Applying to been the UML Diagrams In Figure defaultConstraints values have added to the Event attributes following the assignment operator ( = ). The descriptions follow the figure. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure 5-35: A default value assigned to each attribute can help prevent errors and improve ease of
<?xml use version="1.0" encoding="ISO-8859-1"?> for your clients. Table of Contents

name and start_date: There are no default values, but a value is required for both attributes. This UML Bible combination tells us that the value must be supplied (no default) and it must be supplied immediately Preface an event object is created Part Iwhen - An Introduction to UML
Chapter 2 Chapter 3 Chapter 4 - UML Architecture

(required). Consequently, it must be an input parameter on the constructor (operation) that creates the object. Chapter 1 - What Is UML? end_date: end_date is a derived value so the default expression describes how to derive the - UML Diagrams and Extension Mechanisms value. (Technically, it could also simply refer to the properties value covered next in this chapter.)
- Object-Oriented Concepts

Part II - Modeling Object Structure duration_in_days ,nbr_of_shows_allowed,

and nbr_of_shows_sched: All three attributes

Chapter 5 - Capturing default to a valueRules of 1. about Objects in a Class Diagram Chapter 6 - How to Capture Rules about Object Relationships

status : The event status defaults to the Scheduled value defined by the Event_Status enumeration. Chapter 7 - Testing with Objects
Part III - Modeling Object Interactions

venue: The venue reference defaults to whatever the primary venue is at the time. The default here is - Modeling Interactions in UML 1.4 expressed in freeform text, assuming that the designer can find a way to determine the primary Venue Chapter 9 - Modeling Interactions in UML 2.0 and insert that logic into the Event to set this value.
Chapter 8 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV where - Modeling Object Constraints Behavior place the Object

Chapter 11 an Object'smay Lifecycle UMLor 2.0 To recap, a Modeling default expression be a in value a String expressed in some language. This is one more

Language may be used to formalize an expression. In fact, the

expression is actually a very simple OCL statement. Chapter 12 - "Event.status" Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Property string

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram

[visibility] [/] name [: type] [multiplicity] [= default] [{property-string}]

Chapter 16 - Using Deployment Diagrams UML 1.4 The property string is like a catchall for in anything you might want to include in the definition but for which Chapter 17 Representing an Architecture in UML 2.0 use of the property string is to express the rules there is no designated location. The most common
Part VI - Bringing Rigor the to the Modelof required to guarantee integrity

the attribute value whenever another object attempts to change it.

Chapter 18another - Applying Constraints to the UML Diagrams Any time object tries to alter the attribute value, it must pass the rules established in the property Chapter 19 - Action string. These rulesSemantics may be expressed as constraints on the value and may even use the Object Constraint
Part VII - Automating the UML Modeling Language (OCL) defined by UML and Process covered

in Chapter 18. The constraints are implemented/enforced in any method that attempts to change the attribute value. Chapter 20 - Using a Modeling Tool
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure 5-36 models the Event class with the properties added to the end of each attribute definition string, enclosed in a pair of braces ({ }). Properties may be expressed as free form text, a standardized language, Appendix A - UML 1.4 Notation Guide or tagged values. Multiple properties are separated by commas.

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Figure 5-36:comprehensive Attribute properties enable you to defineof constraints and other facts to ensure the coverage of the versatility 1.4 and 2.0 UML specifications, and shows how to use UML to improve integrity of the attribute value.
timeliness, quality, and efficiency in development.

For beginning to advanced users, this book provides

In Figure 5-36, the following properties are added to the Event attributes: Companion Web Site name: The name value must be 1 to 30 characters long. It may include spaces and punctuation (but no other special characters). <?xml version="1.0" encoding="ISO-8859-1"?>
Table of Contents UML Bible

start_date: The start date value must be later than today, that is, the system will not allow retroactive event setups. We must also make certain that the venue is actually open when the event Preface starts. This reveals one of the benefits of researching the properties and constraints for an attribute. Part I - An Introduction to UML The research often exposes the need for other information. In this case, the constraint on the Chapter 1 - What Is UML? start_date reveals the need for a calendar of operation that identifies when the venue is open for Chapter 2 - UML Architecture operation.
Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4 - Object-Oriented Concepts is a derived attribute, the constraint is the same as the default. That end_date : Since the end_date
Part II - they Modeling Object is, are both theStructure rule for deriving

the value.

Chapter 5

- Capturing Rules about Objects in a Class Diagram

duration_in_days nbr_of_shows_allowed Chapter 6 - How to Capture and Rules about Object Relationships : Both attributes simply need to have a nonzero although you might want to find out whether there is a reasonable limit to either value. Chapter 7 value, - Testing with Objects
Part III - Modeling Object Interactions

Chapter 8 - Modeling Interactions in UML 1.4 nbr_of_shows_allowed.nbr_of_shows_allowed is established in the contract with the Chapter 9 - Modeling Interactions in UML 2.0 performer and cannot be exceeded without revising the contract. The lower limit is zero to allow for Chapter 10 - Modeling anthe Object's in into UML the 1.4 system you might not yet know when you want to the fact that when event Lifecycle is entered Chapter 11 - Modeling an Object's Lifecycle UML 2.0 schedule the shows. The zero lower in limit enables you to set up the event, go home for the evening,
Part IV - Modeling Object and come back the Behavior next day to

nbr_of_shows_sched: This attribute must conform to the limitation established by

do the scheduling. the predefined values.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

status : The valid set of status values have been defined within a class called Event_Status. The Chapter 13 - Modeling Behavior Using an Activity Diagram status attribute only refer to one of Part V - Modeling the may Application Architecture
Chapter 14 - Modeling the Application Architecture

venue: It would not make much sense to schedule the event to take place in a venue that will not be open. This constraint helps the clients make certain that everything is ready before they start Chapter 16 - Using Deployment Diagrams in UML 1.4 scheduling.
Chapter 15 - Modeling Software Using the Component Diagram Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the you Model To recap, properties enable to

define any information about the attribute that does not fit into one of

Chapter 18 - Applying to the UML Diagrams the predefined fields Constraints for an attribute. The most common use of properties is to hold the constraints that

guarantee integrity of the attribute value throughout the object's lifetime. Chapter 19 -the Action Semantics
Part VII - Automating the UML Modeling Process

Class-level attribute Chapter 20 - Using a Modeling Tool


Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Most attribute values are owned by a specific object, an instance of a class. They are called instance-level attributes. A class-level attribute refers to an attribute that is accessible within the class. Class-level Appendix A - UML 1.4 Notation Guide attributes are also referred to as static attributes in some languages. Because the value is defined and Appendix B - UML 2.0 Notation Guide stored at the class level, every object of the class may access the value. Literally, all of the objects of the Appendix C -share Standard same type the Elements same value.
Glossary

One example of the use of a static attribute is the ticket in the theater application. The ticket class needs to Index sequentially List of Figures number the ticket objects to ensure that there are no duplicates. The ticket class could define a static attribute next_ticket_nbr as shown in Figure 5-37. Each time a ticket object is created, the List of Tables value in next_ticket_nbr is assigned to the ticket's ticket_nbr attribute. Then the List of Listings

next_ticket_nbr is incremented on the ticket class.

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Figure 5-37: A static attribute is modeled by underlining the attribute definition.


Companion Web Site

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents As of this writing, UML 2.0 does not explicitly say that a static attribute is underlined. However, it does UML Bible define all features, such as attributes, as having a Boolean attribute called isStatic. This would allow Preface you to define an attribute as static. The notation will probably be updated in the final version.
Part I - An Introduction to UML

UML 1.4 stated that a static or class scoped attribute is designated by underlining the entire definition text string, for example: next_invoice_nbr : int = 1.

Chapter 1 Chapter 2

- What Is UML? UML 2.0 - UML Architecture

Chapter 3 - UML Diagrams and 2.0 Extension Mechanisms This section reviews the UML specification for any changes, enhancements, or clarifications with Chapter 4 Object-Oriented Concepts regard to defining attributes. Apart from the name change from Attribute to Property, most of the changes
Part II - Modeling Object regarding attributes are Structure changes

to the structure of the metamodel. Figure 5-38 summarizes the

Chapter 5 - Capturing aboutthe Objects in a Class Diagram The highlighted areas indicate the sources of metamodel elements Rules that affect definition of a property. Chapter 6 - Howthat to Capture about Object Relationships the information definesRules a property. Chapter 7 Chapter 8 Chapter 9 - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - 5-38: XML Metadata Interchange Figure A property inherits many of its features from other metaclasses. Appendix A UML 1.4 Notation Guide OMG 2.0 Appendix B - UML 2.0 Notation Guide

That information includes all the items in the attribute declaration syntax: Appendix C - Standard Elements
Glossary Index [visibility] [/] name [: type] [multiplicity] [=default] List of Figures [{property-string}] List of Tables List of Listings

visibility (from NamedElement): As a subclass of NamedElement, a property inherits both name < Day Day Up > and visibility. The valid options for specifying visibility are defined by the enumeration called VisibilityKind. derived (/) : (See Figure 5-39 and the subsequent description.) UML Bible
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Figure 5-39: A property describes a class, may be subsetted, and may have a default value. Preface OMG 2.0
Part I - An Introduction to UML

Chapter 1 Chapter 2

name (from NamedElement): As a subclass of NamedElement, a property inherits both name and UML Architecture visibility. Chapter 3 - UML Diagrams and Extension Mechanisms
Chapter 4 Object-Oriented Concepts Type (from TypedElement): As a subclass of TypedElement, a property inherits an association with a
Part II - Modeling Object Structure

- What Is UML?

classifier that provides its type. That is, a property may be a UML DataType (Primitive or

Chapter 5 - Capturing Rules about Objects a Class Diagram Enumeration), a class, signal, or any in other classifier or subclass of classifier. Chapter 6 - How to Capture Rules about Object Relationships

multiplicity (from MultiplicityElement): As a subclass of MultiplicityElement, a property may own Chapter 7 - Testing with Objects an -upper andObject a lower limit for the Part III Modeling Interactions
Chapter 8 Chapter 9

number of values that may be contained in the property.

default (/): (See Figure 5-39 and the subsequent description.)


- Modeling Interactions in UML 2.0

- Modeling Interactions in UML 1.4

Chapter 10 - Modeling an Object's Lifecycle inAs UML 1.4 property-string (from Element): a subclass of Element, a property may own other elements. Chapter 11 - other Modeling an Object's Lifecycle in augment UML 2.0 the description of the property. The most common These elements may be used to
Part IV - Modeling Object is Behavior additional element a constraint

or set of constraints on the domain of values for the property.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

isStatic (from Feature): As a subclass of Feature, a property owns the attribute isStatic. If isStatic is Chapter 13 - Modeling Behavior Using an Activity Diagram true, then the property applies to the classifier Part V - Modeling the Application Architecture that owns the property, not to instances associated with the classifier. The default value is false. The attribute was formerly defined by the enumeration Chapter 14 - Modeling the Application Architecture ScopeKind, which included the values instance and classifier. Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 isReadOnly (from StructuredFeature): As a subclass of StructuredFeature, a property owns the Chapter 17 Representing an Architecture in UML attribute isReadOnly. If isReadOnly is true, 2.0 then the property may only be read, not written/changed.
Part VI - Bringing Rigor to the Model Once the property value is set it

may not be changed. This feature was formerly defined by the

Chapter 18 - Applying Constraints to the UMLincluded Diagrams enumeration ChangeableKind, which the values changeable, frozen, and addOnly. Chapter 19 - Action Semantics

In addition to the features already identified, a property may Part VII - Automating the UML Modeling Process

define whether it is derived, whether the values of the property is the union of other values, and how the property is associated with the classifier Chapter 20 - Using a Modeling Tool that owns it. Figure 5-39 introduces the property class itself with three new features, isDerived, Chapter 21 - Customizing UML Using Profiles isDerivedUnion, and aggregation, as well as an optional association with a value specification, and other Chapter 22 - XML Metadata Interchange properties that subset the property. Appendix A - UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide the property's value or values can be computed from other isDerived : Specifies whether Appendix C Standard Elements information. The default value is false. The slash ( /) in front of the attribute name designates that the Glossary attribute's value is derived from other properties. The absence of the slash designates that the Index attribute represents a base value. List of Figures

: Specifies whether the property is derived as the combination of all of the List ofisDerivedUnion Tables
List ofproperties Listings that defined subsets of the property. For example, in the class Company the model might

define an attribute, employees. It might also define two other attributes, full-timeEmployees and < Day Day Up > part-timeEmployees. A true value for the isDerivedUnion attribute of the employees property defines the value of the employees attribute to be the combination of all the values of fulltimeEmployees and part-timeEmployees. The default value is false.
UML Bible

aggregation Specifies the kind of aggregation that applies to the property, that is, none, ISBN:0764526049 by :Tom Pender aggregation, John or composition. The default value is none. The kinds of aggregation are explained fully in Wiley & Sons 2003 (940 pages) Chapter 6. For beginning to advanced users, this book provides default: A specifications, property can be associated a value, defined by a ValueSpecification. This value is and shows howwith to use UML to improve timeliness, quality, and efficiency in development. assigned to the property if no explicit assignment is made at the time that the property is created. In the case of a property that represents an attribute of a class, the default value is assigned to the Companion Web Site property when an instance of the class is created. subsettedProperty : This association points to other properties for which the source property <?xml version="1.0" encoding="ISO-8859-1"?> defines a subset. In the example described under the isDerivedUnion attribute, the property fullTable of Contents timeEmployees would point to the property employees. (See the example that follows the next UML Bible paragraph.) Preface
Part I - An Introduction to UML

comprehensive coverage of the versatility of 1.4 and 2.0 UML

The isDerivedUnion and subsettedProperties attributes may be added to the attribute declaration string - What Is UML? using the optional {property-string}. Each feature added to the property string is a separate tagged Chapter 2 - UML Architecture value in the property string. For example:
Chapter 1 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

full-timeEmployee : Vector = null {union, subsets employee}


- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

< Day Day Up >

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling the operations compartment by Tom Pender


ISBN:0764526049

The operations compartment a list-compartment John Wiley & is Sons 2003 (940 pages) containing all of the behaviors defined for a class of objects. The default ofto the operations compartment is below the attributes compartment and For location beginning advanced users, this book provides above any user-defined compartments. The compartment may be suppressed. Often, modeling tools also comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows to use UML to improve within the compartment. allow suppression of specific elements of how the operation declarations
timeliness, quality, and efficiency in development.

Within the operations Companion compartment, is valid to use stereotypes to label groups of operations according to WebitSite their usage (or whatever criteria are useful to the maintenance of the class). The stereotype applies to all operations below it in the list until another stereotype appears or until you reach the end of the <?xml version="1.0" encoding="ISO-8859-1"?> compartment, as shown in Figure 5-40.
Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram

Figure with stereotypes. Chapter 16 - 5-40: Using Operations Deployment compartment Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Note In all the figures in this section, the attributes compartment has been suppressed to keep the focus on the discussion of operations.

Modeling operations

Chapter 20 - Using a Modeling Tool

Operations define behaviors, the services that an object can provide. UML makes a distinction between the interface to a behavior and the implementation of a behavior. The interface to a behavior is called an Chapter 22 - XML Metadata Interchange operation. An operation declares the information needed to invoke a behavior. The operation is the only Appendix - UML 1.4 Notation Guide part of aAbehavior modeled in the Class diagram.
Chapter 21 - Customizing UML Using Profiles Appendix B - UML 2.0 Notation Guide

The implementation, which is not modeled in the Class diagram, is referred to as the method. This can be Appendix C - Standard Elements a source of confusion because many programming languages use the terms operation and method Glossary interchangeably. Index
List of Figures List of Tables

Operation notation

List of Listings

The UML operation notation defines the elements of a class behavior modeled using the syntax: < Day Day Up > [visibility] name ([parameter-list]) ':' [return-result] [{properties}]
UML Bible
ISBN:0764526049 by Tom Pender In addition, UML supports the use of exceptions, pre-conditions, and post-conditions. I'll cover the notation John Wiley & Sons 2003 operation (940 pages) elements. elements first, and then these additional

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve quality, :and efficiency in[{properties}] development. [Visibility] nametimeliness, ([parameter-list]) [return-result]

Visibility

Operation visibility follows the same visibility concepts covered earlier in this chapter. In the context of operations, visibility applies as follows:
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents private ( - ): Only objects of the same class may call/invoke a private operation. UML Bible Preface

Companion Web Site

package (~): Only objects owned by the same package may call a package-level operation. public (+): Any object may call a public operation, as long as the calling object can access the

Part I - An Introduction to UML

Chapter 1 - What Is UML? package in which the operation resides. Chapter 2 - UML Architecture

protected (#): Only objects defined within subclasses of the owning class may call a protected Chapter 3 - UML Diagrams and Extension Mechanisms operation. Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure

Name Chapter 5
Chapter 6 Chapter 7

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

[Visibility]name ([parameter-list]) : [return-result] [{properties}] specific behavioral feature of a class of objects. To be effective, the

Part III - Modeling Object Interactions The name of an operation identifies a

Chapter 8 - Modeling Interactions in UML 1.4 name should be as meaningful and expressive as possible. For example, an operation named update with Chapter 9 - Modeling Interactions inbe UML 2.0 difficult to interpret properly than operations named a long string of parameters would more Chapter 10 - Modeling an Object's reschedule, addPerformance , orLifecycle cancel. in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

The name does not have to be unique Part IV - Modeling Object Behavior

within a class. However, the combination of the name, parameter list, and return result, often called the signature , must be unique within the class. (Note that this rule is not Chapter 12 - Modeling the Use of a System with the Use Case Diagram the same for all programming-languages. Some languages do not consider the return result to be part of Chapter 13 - Modeling Behavior Using an Activity Diagram the signature.)
Part V - Modeling the Application Architecture

Chapter - Modeling Application Architecture Figure 14 5-41 contains the operation names for the Event class. Each operation definition in the figure includes Chapter 15 Modeling Software Using the Component Diagram the operation visibility, an operation name, and an empty parameter list. Each operation models a behavior Chapter - Using Deployment inbehaviors UML 1.4 enable us to cancel the event, reschedule the event to that an16 event object supports. Diagrams The listed Chapter 17 - period, Representing an Architecture in of UML 2.0 a new time or change the duration the event. I'll explain the Event and
Part VI - Bringing Rigor to the Model check_For_Conflicts operations

in a moment.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

Figure 5-41: Each operation identifies a behavioral feature of the class. in the Class diagram will generate the operation code in your target

Part I -remember An Introduction to UML Also, that the operations

Chapter 1 -so What Is UML? language, be certain to follow the naming standards for the target language because the code will be Chapter 2 -exactly UML Architecture generated as it is written in the diagram. For example, constructors are typically identified by the

fact that operation name isExtension the sameMechanisms as the class name, like the Event() operation in Figure 5-41. Chapter 3 the - UML Diagrams and
Chapter 4

Note visibilityObject designations in front Part II the - Modeling Structure


Chapter 6

of each operation. Whenever a class needs to make a behavior available to other types of objects, the visibility cannot be private. Often the visibility is set to public until and Chapter 5 - Capturing Rules about Objects in a Class Diagram unless there is a compelling reason to limit it to package, protected, or private.
- How to Capture Rules about Object Relationships Chapter 7 class - Testing with is Objects When a behavior only used internally, the visibility may be private or protected. Internal behaviors
Part III - functions Modeling Object may be sharedInteractions by more than

- Object-Oriented Concepts

one class behavior. For example, the event needs to check for

Chapter 8 - conflicts Modeling when Interactions in UML 1.4whenever someone tries to change its duration or start date. scheduling it is created and Chapter - Modeling Interactions in UML 2.0 within each operation, it is easier to isolate the behavior in its Rather 9 than define the behavior twice, once Chapter 10 - Modeling an it Object's Lifecycle in UML 1.4 5-41 models the check_For_Conflicts operation own operation and call from the other two. Figure Chapter 11 an Object's Lifecycle in UML the 2.0 same class. as private toModeling restrict access to operations within
Part IV - Modeling Object Behavior

Parameter-list Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

[Visibility] name ([parameter-list]) : [return-result] [{properties}]

Chapter 14 - Modeling Application The parameter-list isthe an ordered listArchitecture of attributes that together define the input to an operation. The Chapter 15 Modeling Software Using Component parameter-list is optional, that is, an the operation doesDiagram not have to have parameters. For example, if I ask an Chapter 16 Using Deployment Diagrams in UML event object to cancel itself using the cancel() 1.4 operation in Figure 5-42, it does not require any additional Chapter 17 - Representing Architecture in the UML 2.0 information. It can satisfyan the request with knowledge it already has. However, to change the duration
Part VI event, - Bringing Rigor to the of the I have to tell theModel event

what the new duration value should be. I do this by adding a parameter

Chapter 18 - Applying Constraints to parameter-list the UML Diagrams that can hold the new value in the of the operation. Now when I invoke the operation, I can Chapter - Action Semantics assign 19 a new duration value to the parameter value and pass the parameter along with the request. The
Part VII - Automating the UML Modeling Process event object receives the parameter and uses

the value to complete the operation.

Chapter 20 - Using a Modeling Tool

In Figure 5-42, parameters are added to two of the operations. The reschedule() operation needs to know the new date on which you want to schedule the event. This new date will replace the current value Chapter 22 - XML Metadata Interchange for the attribute start_date. The setDuration() operation needs to know the new duration value Appendix A - UML 1.4 Notation Guide that will be used to replace the existing value in the duration_in_days attribute.
Chapter 21 - Customizing UML Using Profiles Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table Figure of Contents 5-42: Operation parameters define the required input for the class behavior. UML Bible

Each parameter is defined in the same manner used to define attributes, a name and a data type in the Preface format name:datatype When using Part I - An Introduction to . UML
Chapter 2 Chapter 3 Chapter 4 - UML Architecture

more than one parameter, simply separate the "name : datatype" pairs with commas, for example (new_start_date : Date, new_duration : int). Chapter 1 - What Is UML? Caution If you are a Java programmer, don't let the name:datatype syntax throw you. It is the opposite - UML Diagrams and Extension Mechanisms of what you are used to, namely datatype name , but it accomplishes the same purpose.
- Object-Oriented Concepts

Part II -an Modeling Object Structure When operation does not require

parameters you still need to include the empty parentheses. Again

Chapter 5 - Capturing Rules about Objects in a Class Diagram this is largely because the operation definition will be used to generate code and needs the correct syntax. Chapter 6 - How to Capture Rules about Object Relationships

Return-result Chapter 7 - Testing with Objects


Part III - Modeling Object Interactions

Chapter 8

[Visibility] name ([parameter-list]) : [return-result] [{properties}] - Modeling Interactions in UML 1.4

Chapter 9 - Modeling Interactions in UML 2.0 The return-result is the output of the operation. For example, when I ask the event for its name, I want it to Chapter 10 Modeling an Object's Lifecycle in UML 1.4 give me astring containing the name of the event, like the getName() operation in Figure 5-43. When I Chapter Modeling I an Object's Lifecycle in UML 2.0 ask for 11 the- duration, want the event to return an integer as in the getDuration() operation.
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

Figure 5-43: Operation return-results define the output of an operation.

Appendix C different - Standard Elements Note how the return is from the parameters. The return specifies only the return data type. No Glossary name is required. Also note that there is only one return, whereas there are potentially many parameters. Index Technically, UML 2.0 supports many return values. However, most if not all programming languages List of Figures support only one return value. If you need to return more than one result value, you will need to wrap the List of Tables values up in another object and ship the entire object back as a reference. List of Listings

< Day Day Up > Caution It is valid to have no return value. But again, your programming language might require you to say so by using a keyword like void in the return.

The return value may be any primitive type or object (or object reference). The getDuration() UML Bible operation in Figure 5-43 returns a primitive integer value. The getStartDate() operation returns a Date ISBN:0764526049 by Tom Pender object.
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve [Visibility] name ([parameter-list]) : [return-result] timeliness, quality, and efficiency [{properties}] in development.

Properties

Companion Web The properties element allows you to Site add pretty much any additional information about the operation that does not fit into one of the other predefined elements. One common use for the properties is as a description of the implementation for the operation, as shown in the following syntax for an operation <?xml version="1.0" encoding="ISO-8859-1"?> declaration: Table of Contents UML Bible

setDuration(new_duration: int): void {the new duration may Preface not overlap with Part I -cause An Introduction to UML
Chapter 1 Chapter 2 Chapter 3 - What Is UML? - UML Architecture

another scheduled event}

The property text describes the constraints on the performance of the operation. This is yet another - UML Diagrams and Extension Mechanisms occasion when the Object Constraint Language (OCL) might be applied to lend precision to the Chapter 4 - Object-Oriented Concepts specification. Since properties may be defined with any language, not just OCL, it is valid to use free-form Part II - Modeling Object Structure text. Ultimately the contents of the properties become part or all the implementation logic for the behavior.
Chapter 5 Chapter 7 - Capturing Rules about Objects in a Class Diagram - Testing with Objects Chapter 6 - How to Capture Rules about Object Relationships Class-level operation

Most operations are owned by a specific Part III - Modeling Object Interactions

object, an instance of a class. They are called instance-level

operations. In contrast, a class-level operation refers to an operation that is accessible within the class Chapter 8 - Modeling Interactions in UML 1.4 rather than an Interactions object of the class. Class-level operations are also referred to as static operations in Chapter 9 - within Modeling in UML 2.0 some languages. Because the operation is UML defined Chapter 10 - Modeling an Object's Lifecycle in 1.4 and stored at the class level, every object of the class may access the operation. In fact, objects other Chapter 11 - Modeling an Object's Lifecycle inof UML 2.0classes may access the operation without referring to an instance of the class.Behavior Part IV - Modeling Object
Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application Architecture

Chapter 13 - Modeling Behavior Using an Activity Diagram getNextTicketNbr() :int, which returns the value of the next_ticket_nbr attribute, which

One example of the use of a static operation from the theater system is the operation

also happens to be defined as static. UML 1.4 states that a static or class scoped operation is designated

Chapter 14 - Modeling the Application Architecture by underlining the entire definition text string, as illustrated in Figure 5-44. Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - 5-44: UML 2.0 Notation Guide is modeled by underlining the operation definition. Figure A static operation Appendix C - Standard Elements

As of this writing UML 2.0 does not explicitly say that a static operation is underlined. However, it does Glossary
Index List of Figures List of Tables

define all features, such as operations, as having a Boolean attribute called isStatic. This attribute enables you to define an operation as static. The notation will probably be updated in the final version.

List of Listings

Exceptions

Those of you with a programming background might be asking, "What about exceptions?" One way to < Day Day Up > handle exceptions is to return a value to the calling object and let it interpret that value to decide how to respond to success or failure. The more common approach implemented by most OO languages is to throw (generate) an exception. An exception in this technique is an object. Exception objects may be UML Bible specialized into almost any form to handle any type of error. Some languages even come with a ISBN:0764526049 Tom Pender predefined set of by standard error types.
John Wiley & Sons 2003 (940 pages)

When a method throws an exception, that method is terminated and each successive method in the call For beginning to advanced users, this book provides stack is terminated until the exception is caught by an exception-handling code block. That code, comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve specifically designed to capture exception objects, may then be enhanced to interrogate the exception timeliness, quality, and efficiency in development. object and decide how to respond. The advantage to this approach is that it isolates error handling from the normal execution of the behavior that generated the exception. This separation makes the code easier to understand and maintain. It also <?xml version="1.0" encoding="ISO-8859-1"?> helps make the error handling more reusable since all exceptions of the same type can be handled by Table of Contents common logic.
UML Bible Companion Web Site

UML 1.4 does not have a notation for exceptions. It does, however, support the definition of exceptions as Preface a type of signal that can passed between Part I - An Introduction to be UML objects. To provide the exception information you need to use the specification window provided by your modeling tool. Figure 5-45 shows portions of the screens used Chapter 1 - What Is UML? in MagicDraw 6.0 to specify exceptions in Java and C++. Chapter 2 - UML Architecture
Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - 5-45: Representing an Architecture in UML Figure Tools support the definition of2.0 operation exceptions. No Magic
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Preconditions

The term precondition is borrowed from the concept programming by contract. In a conventional contract, one party agrees to do something or provide something if and only if the other party fulfills his part of the Chapter 21For - Customizing Using Profiles contract. example, I UML will give you a pair of shoes if you give me $50. If you come to me with $40 I am Chapter 22 XML Metadata Interchange not obligated to give you the shoes.
Chapter 20 - Using a Modeling Tool Appendix A - UML 1.4 Notation Guide

In the same manner, an operation Appendix B - UML 2.0 Notation Guide may specify a precondition or a set of preconditions. The preconditions define the terms that Elements the invoking object must meet before the operation is obligated to perform its Appendix CStandard behavior. A common example of this type of agreement can be seen in the use of parameters. An Glossary operation specifies that certain parameters must be supplied. It may further specify constraints on the Index
List of Figures

values of those parameters.

List of Tables Testing of the preconditions is the first task of the invoked behavior. Keeping with the previous example, if List ofparameter Listings any is not supplied or the value for any of the parameters does not satisfy the associated

constraints, the operation is not obligated to perform its behavior. < Day Day Up > Tip This concept is also applied to Use Cases. As was the case with exceptions, the preconditions are typically captured in a form provided by a modeling UML Bible tool. There is no corresponding notation. ISBN:0764526049

Post conditions

by Tom Pender John Wiley & Sons 2003 (940 pages)

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Post conditions also come from the concept of programming by contract. As the prefix implies however, specifications, and shows how to use UML to improve the condition specifies something that must be true after the behavior finishes. Post conditions provide the timeliness, quality, and efficiency in development.

other half of the contract, the obligation of the invoked behavior.


Companion Web Site

To keep with the precondition example, if you give me $50 (satisfy the precondition) then I am obligated to give you the shoes to satisfy the post condition. <?xml version="1.0" encoding="ISO-8859-1"?>
Table of Contents UML Bible

In short, a post condition is a condition that must be true at the conclusion of the behavior. The process to satisfy the post condition is implemented in the method of the operation. The method can be as simple as Preface a request and a response, as shown in Table 5-4, or as complicated as the example illustrated in Table 5Part I - An Introduction to UML 5:
Chapter 1 Chapter 2 Chapter 3 - What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms

Table 5-4: Pre- and Post Conditions in a Simple Request/Response ActionConcepts - Object-Oriented

Step 4 Chapter
Chapter 5

Part II - Modeling Object Structure

- Capturing Rules about Objects in a Class Diagram Request "What is the about event Object name?" Chapter 6 - How to Capture Rules Relationships Chapter 7 - Testing with Objects Precondition None
Part III - Modeling Object Interactions

Processing the value the1.4 event name attribute Chapter 8 - Modeling Get Interactions inof UML
Chapter 9 - Modeling The Interactions in UML 2.0 Sound of Music" Post condition event name: "The Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Table 5-5: Pre- and Post Conditions in a Complex Request/Response

Step 13 - Modeling Action Chapter Behavior Using an Activity Diagram


Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Request "How much is the car premium?" Chapter 15 - Modeling Software Using the insurance Component Diagram
Chapter 16 - Using Provide Deployment Diagrams in UML 1.4 and mileage, options included, and driving record Precondition the make, model, year, Chapter 17 - Representing an Architecture in UML 2.0 of drivers.
Part VI - Bringing Rigor to the Model

Calculate the car insurance premium using the current state mandated factors (15), historical factors (7), manufacturers' repair costs, actuarial tables for drivers Chapter 19 - Action Semantics in our state
Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating the UML Modeling Process

Processing

Post 20 - Using "The car insurance premium will be $215.00 per month." Chapter a Modeling Tool condition Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B -In UML 2.0 real Notation Guide operation. a very sense the preconditions and post conditions encapsulate the operation, defining Appendix C Standard Elements its correct function without dictating any particular implementation. Glossary IndexTip The method does not appear in a UML diagram, although the logic can be modeled using an

In both cases the pre- and post conditions set the boundaries that define the successful fulfillment of the

Activity diagram. Most modeling tools provide a comment or description area in the specification List of Figures forms. Whatever is entered here - freeform text, pseudo-code, or actual code - can be generated List of Tables as a comment in the code generated from the Class diagram. List of Listings

UML 2.0

< Day Day Up >

As was the case with attributes, the changes in the specification regarding operations are largely refinements to the metamodel. Figure 5-46 brings together all the classes that contribute to the features of UML Bible an operation. Many of them you of the UML 2.0 model for ISBN:0764526049 by Tom Pender already encountered in the description attributes, including NamedElement, MultiplicityElement, and Feature. The highlighted areas indicate the John Wiley & Sons 2003 (940 pages) sources of the information that defines a property. For beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - 5-46: Modeling the Use of a System with the Use Case Figure UML operation metamodel, part 1 of 2. Diagram Chapter 13 - 2.0 Modeling Behavior Using an Activity Diagram OMG
Part V - Modeling the Application Architecture

The information used to define an operation is specified in the operation declaration syntax: Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 ':' [return-result] [visibility] name ([parameter-list]) Chapter 17 - Representing an Architecture in UML 2.0 [{properties}]
Part VI - Bringing Rigor to the Model

parameter-list:= name [':' ] ['[' multiplicity ']'] Chapter 18 - Applying Constraints to thedata-type UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

visibility (from NamedElement): As a subclass of NamedElement, an operation inherits both name and visibility. The valid options for specifying visibility are defined by the enumeration called Chapter 21 - Customizing UML Using Profiles VisibilityKind.
Chapter 20 - Using a Modeling Tool Chapter 22 - XML Metadata Interchange Appendix A UML 1.4 Notation Guide As a subclass of NamedElement, a property inherits both name and name (from NamedElement): Appendix B - UML 2.0 is Notation visibility. Name simply Guide a String. The combination of the name, parameter-list, and return-result must Appendix C - Standard be unique within Elements a class. Glossary Index

parameter-list: A parameter may define information passed into and out of an operation. An operation may use any number of input parameters and may produce any number of output List of Figures parameters. Though not supported by all programming languages, UML offers parameter direction List of Tables types of in, out, inout, and return. These options are defined by the enumeration
List of Listings

ParameterDirectionKind.

< Day Day Up >

name (from NamedElement): As a subclass of NamedElement, a property inherits both name and visibility. data-type (from TypeElement): Each parameter obtains its type from a classifier. For ISBN:0764526049 by Tom Pender example, in order to define a parameter that can pass in a list of show seats, I need to associate John Wiley & Sons 2003 (940 pages) the parameter with a classifier designed to contain a set of objects such as the Vector class in For beginning to advanced users, this book provides Java. The operation would look like select (showseats:Vector). >multiplicity (from MultiplicityElement): As a subclass of MultiplicityElement, a parameter timeliness, quality, and efficiency in development. may own an upper and a lower limit for the number of values that may be contained in the Companion Web Site parameter. For example, a parameter can contain a set of one or more show seats that a customer wants to purchase. The operation would look like select (showseats:Vector [1..10] ). <?xml version="1.0" encoding="ISO-8859-1"?>
Table of Contents UML Bible comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve UML Bible

return-result: Each operation may return one or more values. Each value is a parameter, so each value is associated with a data type and a multiplicity. Technically, a parameter can have a Preface name as well. But most programming languages specify a return using only the data type.
Part I - An Introduction to UML

Chapter 1 Caution - What Is UML? UML supports multiple return results. But many programming languages limit an Chapter 2 - UML Architecture operation return to a single value. During analysis determine what the operation needs to Chapter 3 - UML Diagrams and Extension Mechanisms return. During design you can combine multiple values into an object and pass the one Chapter 4 - Object-Oriented Concepts object as the return.
Part II - Modeling Object Structure

(from Element): a Class subclass of Element, a property may own other elements. Chapter 5 properties - Capturing Rules about ObjectsAs in a Diagram elements be used to augment the description of the operation. The most Chapter 6 These - How other to Capture Rulesmay about Object Relationships
Chapter 7
Part III - Modeling Object Interactions

common additional element is a constraint or set of constraints on the behavior of the operation. - Testing with Objects isStatic (from Feature): As a subclass of Feature, a property owns the attribute isStatic. If

Chapter 8 isStatic - Modeling Interactions UML 1.4 is true , thenin the property applies to the classifier that owns the property, not to Chapter 9 instances - Modeling Interactions in UML 2.0 associated with the classifier. The default value is false. The attribute was formerly Chapter 10 defined - Modeling an Object's Lifecycle in UML 1.4 by the enumeration ScopeKind, which included the values instance and Chapter 11 classifier - Modeling an .Object's Lifecycle in UML 2.0 An operation is modeled as static by underlining the operation.
Part IV - Modeling Object Behavior

Many programming also support ofDiagram exceptions as objects generated by an Chapter 12 - Modelinglanguages the Use of a System withthe theconcept Use Case operation something happens outside the normal execution of the operation. For example, a file Chapter 13 when - Modeling Behavior Using an Activity Diagram might be available, or the operation data Part V -not Modeling the Application Architecture types don't match the required object data types. Generating an exception is also called raising an exception Chapter 14 - Modeling the Application Architecture or throwing an exception. UML accounts for this ability by associating an operation with any number of raised exceptions. Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - an Using Deployment Diagrams in UML In addition, operation may be declared as a1.4 query, and be assigned pre-and post conditions that govern Chapter 17 Representing an Architecture in UML 2.0 models the unique features of an operation. the proper execution of the operation. Figure 5-47
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List ofFigure Figures5-47: UML operation metamodel, part 2 of 2. List of Tables List ofisQuery Listings : When the isQuery attribute is true , then the operation cannot alter the state of the

system. A false value means that the operation can change one or more attribute values in the < Day Day Up > system. An operation may have any number (*) of preconditions and post conditions. Pre- and post conditions are expressed as constraints. Each pre- and post condition applies only to the operation that defines it. UML Bible Technically, a prepost condition may be defined apart from an operation (note the 0..1 multiplicity), but ISBN:0764526049 byor Tom Pender without the association to an operation, it has no meaning. Each type of condition affects a different aspect John Wiley & Sons 2003 (940 pages) of the execution of an operation as follows: For beginning to advanced users, this book provides pre-condition : A pre-condition defines a use state of the system that must be true when the operation specifications, and shows how to UML to improve timeliness, quality, types and efficiency in development. is invoked. The most common of pre-conditions are tests on the valid parameters values that may be passed to the operation. If any of the parameters values do not satisfy the pre-conditions then Companion Web Site the operation is not obligated to execute. post-condition : A post condition defines that state of the system at the end of the execution of the <?xml version="1.0" encoding="ISO-8859-1"?> operation. Post conditions have to take into account both successful and unsuccessful completion of Table of Contents the operation. UML Bible
Preface comprehensive coverage of the versatility of 1.4 and 2.0 UML

bodyCondition: bodyCondition refers to the minimum expected result of invoking the operation, regardless of pre- and post conditions. bodyCondition is also sometimes referred to as the minimum Chapter 1 - What Is UML? guarantee.
Part I - An Introduction to UML

Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- UML Architecture

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

< Day Day Up >

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling User-Defined Compartments by Tom Pender


ISBN:0764526049

You've already encountered three class compartments - name, attributes, and operations. These John Wiley & Sonstypes 2003of (940 pages) compartments are so commonto that they are predefined by provides the UML. But the UML also supports userFor beginning advanced users, this book defined compartments. User-defined compartments provide a place to put any information that does not comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows how to use A UML to improvecompartment is simply another list readily fit into anyspecifications, of the pre-defined compartments. user-defined timeliness, quality, efficiency in development. compartment like the attributes andand operations compartments, with a name, properties, stereotypes, and sorting. Companion Web Site
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

Name

A list compartment may have a name. In Figure 5-48, the name Project Info appears at the top of the UML Bible
Preface

user-defined compartment. (The compartment name does not appear in the name, attributes, or operations compartments because those compartments are predefined by UML and rely on their position Part I - An Introduction to UML within the class to indicate their type.)
Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Behavior Figure 5-48: Object User-defined compartment

with a name and tagged values (attributes and operations

Chapter 12 - Modeling the Use of a System with the Use Case Diagram compartments are suppressed). Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram

Properties

Because information in a user-defined compartment does not fit into the already defined elements, Chapter 16 the - Using Deployment Diagrams in UML 1.4 UML gives the ability an to Architecture make up your using tagged values. To make your own tagged Chapter 17 -you Representing in own UML elements 2.0 values, simply create tag-definition/name Part VI - Bringing Rigora to the Model
Chapter 19 - Action Semantics

and a corresponding tag-value, such as the team="alpha" and deadline="08-01-02" items in Figure 5-48. Chapter 18 - Applying Constraints to the UML Diagrams UML supports less formal properties in the form of strings, that is, simple free-form text. You can literally write anything you want to in each string within the compartment including rules, responsibilities, Chapter 20 - raised, Using aand Modeling Tool that need to be handled. exceptions exceptions
Part VII - Automating the UML Modeling Process

Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Stereotypes and sorting

Appendix - UML Notation The factBthat you2.0 can includeGuide a lot of varied information in a compartment begs for a way to organize that Appendix C Standard Elements information. A UML stereotype may be assigned to each string in the compartment. The stereotype can be Glossary used to sort the strings into a meaningful arrangement. Index

For example, List of Figures exceptions could be grouped together, rules and responsibilities together, and behaviors that have yet to be fully defined could be in yet another group, as shown in Figure 5-49. List of Tables
List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

5-49: User-defined Part IFigure - An Introduction to UML


Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - What Is UML? - UML Architecture

compartment with properties sorted by stereotype.

UML 2.0 - UML Diagrams and Extension Mechanisms


UML 2.0 has not changed the specification regarding user-defined compartments.
- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships < Day Day Up > - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0 - Object-Oriented Concepts

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling Advanced Class Features by Tom Pender


ISBN:0764526049

So far this chapter has described the most common use of classes. UML provides some additional John Wiley & Sons 2003 (940 pages) capabilities. A template class, for example,users, supports creation of a variety of classes using parameters For beginning to advanced thisthe book provides to describe the specific type of class. An interface supports the definition of a common way to interact with comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve classes that might not be related.
timeliness, quality, and efficiency in development. Companion Web Site Modeling a class template

A template is not actually a class in the sense that we have used class throughout this chapter. Instead, it <?xml version="1.0" encoding="ISO-8859-1"?> provides a means of customizing a type of class using parameters, hence the alternative name Table of Contents parameterized class. A template defines a type of class such as an array that may be used to store a UML Bible
Preface

specified type of object.

Part I - An Introduction to UML

Chapter 1

Tip Templates are commonly used in C++. Java plans to add them in JDK 1.5.
- What Is UML?

Chapter 2 to-actually UML Architecture In order create a usable class from a template, you must supply values for the parameters. For

example, array template might Mechanisms require a data type for the type of object that you want to store, Chapter 3 a - simple UML Diagrams and Extension and the number of objects you want to store. Figure 5-50 shows a template class, Chapter 4maximum - Object-Oriented Concepts TemplateArray, two parameters, Part II - Modelingwith Object Structure type and qty defined in the top right corner within the dashed box. Each parameter follows theabout now familiar name : datatype. Actually I threw you a curve. The Chapter 5 - Capturing Rules Objects format in a Class Diagram parameter type actually a Rules shorthand Whenever the name of the parameter appears without a Chapter 6 Howis to Capture about form. Object Relationships corresponding datawith type, the name of the parameter is assumed to be the data type. Chapter 7 - Testing Objects
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - 5-50: Customizing UMLnotation Using Profiles Figure Template with parameters. Chapter 22 - XML Metadata Interchange

So if I want store to a group of people interested in getting a group discount to a show at my Appendix A - to UML 1.4 references Notation Guide theater, B I supply the Notation values Customer and 20. To create a useable class, I bind the parameters to the Appendix - UML 2.0 Guide template. result is a class defined by the combination of the two parameters. In the example in Figure Appendix C The - Standard Elements 5-51 get an array class called Group that can hold up to 20 Customer objects. Glossary
Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml Figure version="1.0" encoding="ISO-8859-1"?> 5-51: Interface notation alternatives. Table of Contents UML Bible Preface
Part I - An Introduction to UML

UML 2.0

Chapter 1 has - What Is UML? the specification regarding template classes. UML 2.0 not changed Chapter 2 - UML Architecture Chapter 3 Chapter 4 - UML Diagrams and Extension Mechanisms Modeling an interface - Object-Oriented Concepts

Part II -I Modeling Object Structure When defined an operation earlier

in this chapter, I pointed out that UML draws a distinction between the

Chapter - Capturing Rules about Objects in a Class Diagram means5 to invoke a behavior and the implementation of a behavior. The means to invoke a behavior is Chapter 6 How to Capture Rules about Object Relationships called the operation or operation signature. An operation signature includes the name, parameters, and

return-result. The unique combination of these elements defines an interface. The implementation of a Chapter 7 - Testing with Objects behavior, the method, is Interactions not modeled Part III - Modeling Object
Chapter 8 Chapter 9

in a Class diagram.

Since the interface and implementation are separate, it is possible to define an interface and map it to any - Modeling Interactions in UML 2.0 number of implementations. In general terms this one-to-many type of mapping between interface and Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 implementations is called polymorphism. Polymorphism can be a powerful tool for building flexibility into Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 an application's design.
Part IV - Modeling Object Behavior

- Modeling Interactions in UML 1.4

Chapter 12 - Modeling the Use of System with the Use Case Diagram Tip The formal definition ofapolymorphism differs slightly between languages. For example, in C++ if Chapter 13 - Modeling Behavior Using anas Activity Diagram you don't define your method virtual, you can have multiple implementations in subclasses, but
Part V - Modeling the Application Architecture not have them be called polymorphically.

In Java, polymorphism is offered by default. To be

Chapter 14 - Modeling the Application Architecture precise, polymorphism is the ability to dynamically choose which implementation should be called

at runtime according the type of the invoked object. Chapter 15 Modeling Software to Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4

An interface is a declaration rather than an actual class. As a declaration, an interface has some constraints that classes do not, namely, the operations defined by an interface cannot have any Part VI - Bringing Rigor to the Model implementation, and interfaces cannot have attributes. The implementation is provided by the class that Chapter 18 - Applying Constraints to the UML Diagrams realizes or implements the interface.
Chapter 17 - Representing an Architecture in UML 2.0 Chapter 19 - Action Semantics
Part - Automating the UML Modeling Process For VII example, the classes shirt and perfume don't

really have anything in common. In a system supporting

Chapter - Using a Modeling Tool want to treat both of these different types of objects as products. That is, a retail 20 store, however, the users Chapter 21 to - Customizing UML Using Profiles they want buy them, inventory them, price them, and sell them. One solution is to add all of these Chapter 22 - to XML Metadata Interchange operations each class. But as the number of different items increases, so does the likelihood that the

operations be Notation defined differently. The code becomes more and more complex as I try to support Appendix A - might UML 1.4 Guide many different items with many different product-related operations. What I really want is the ability to Appendix B - UML 2.0 Notation Guide define once the set of operations that I want to use on all the items that I view as products. Appendix C - Standard Elements
Glossary Index

One solution is to isolate the operation signatures in a class by themselves, without any methods, that is, without specifying how the operations must be implemented. This class that only contains the operation List of Figures signatures is called an interface. Each class that implements this interface is obligated to override all the List of Tables interface operations to provide their own methods, their own way to satisfy the operation.
List of Listings

Those of you who have programmed in an OO language are probably thinking that an interface sounds a < Day Day Up > lot like an abstract class. Abstract classes are explained fully in Chapter 6. But it is important to explain here the distinction between an interface and an abstract class. An abstract classUML is a class Bible that cannot be instantiated. What prevents it from being instantiated is one of two things. The class is labeled anyone from instantiating it, or at least one ISBN:0764526049 by Tom Pender as abstract to explicitly prevent operation in the class has no corresponding method. In the second case, if an object was created using John Wiley & Sons 2003 (940 pages) this class, the object would not know how to behave when that operation is invoked. For beginning to advanced users, this book provides The second casespecifications, alludes to the most significant and shows how to difference use UML tobetween improve an interface and an abstract class. An timeliness, quality, and in development. interface cannot have any methods. An efficiency abstract class can have methods for all operations (when explicitly defined as abstract), or for some but not all operations. Companion Web Site Another distinction between abstract classes and interfaces is the fact that abstract classes can define attributes while interfaces cannot. In short, interfaces only define common services that must be supported <?xml version="1.0" encoding="ISO-8859-1"?> by implementing Table of Contents classes. Abstract classes can contain any information that is true for all classes that specialize UML Bible the abstract classes, including attributes, operations, and methods.
Preface
Part I - An Introduction to UML

comprehensive coverage of the versatility of 1.4 and 2.0 UML

Interface notation

Chapter 1 Chapter 2

One way to accomplish this is to create a quasi class that contains only the operation signatures, like the - UML Architecture interface shown in Figure 5-50. I can then apply this interface to each of the classes. Now every class that Chapter 3 - UML Diagrams and Extension Mechanisms implements the interface has the same set of operations. Then the implementing classes, shirt and Chapter 4 have - Object-Oriented Concepts perfume, to be updated to override the operations and provide their own methods.
Part II - Modeling Object Structure

- What Is UML?

Chapter 5 provides - Capturing about Objects in for a Class Diagram UML 1.4 twoRules presentation options interfaces. The first appears in the top right portion of Figure

5-51. It6 looks liketo a Capture class with theabout stereotype interface. The Shirt class realizes (implements) the Chapter - How Rules Object Relationships interface. relationship is modeled with the realization symbol, a dashed line with a hollow triangle at Chapter 7 This - Testing with Objects the III interface end.Object The diagram is read Part - Modeling Interactions
Chapter 8 Chapter 9

as "The Shirt class realizes the Product interface."

The second option is modeled in the bottom of Figure 5-52. The interface is the circle attached to the - Modeling Interactions in UML 2.0 realizing/implementing Perfume class by a solid line. The size of the circle varies among tools and Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 documents. The important element is the circle and a solid line. Label the circle with the name of the Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 interface.
Part IV - Modeling Object Behavior

- Modeling Interactions in UML 1.4

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure 5-52: Structure::Classes::Interfaces interface definition - Part 1 of 2. < Day Day Up >

UML 2.0

UML Bible

ISBN:0764526049 by Tom Interfaces are defined in Pender the Superstructure::Classes::Interfaces package. Figure 5-52 shows that an John Wiley of & Sons 2003so (940 interface is a specialization classifier, it pages) is a Namespace. It may be generalized and may itself be a For beginning to advanced users, other this book provides specialization of another interface. It can contain elements, namely attributes and operations. An comprehensive coverage of the versatility of 1.4 and 2.0 UML interface may also nest other interface declarations.

specifications, and shows how to use UML to improve

timeliness, quality, and efficiency in development. Figure 5-53 shows that an interface may contain any number of attributes and operations. UML 2.0 states that the attributes must be abstract; that is, they cannot be implemented except by the class that realizes Companion Web Site the interface. When an interface defines attributes, it is stating a requirement that the instantiating class should maintain that type of information. How it does so is entirely up to the implementing class. At a <?xml version="1.0" encoding="ISO-8859-1"?> minimum, the implementing class must define an operation that provides access to the information Table of Contents described by the attribute, even if the attribute itself does not exist. This is very much like the UML Bible implementation of a derived attribute that the designer chooses not to store. Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

- Capturing Rules about Objects in a Class Diagram Figure 5-53: Structure::Classes:: Interfaces interface definition - Part 2 of 2. - How to Capture Rules about Object Relationships

Chapter 7 - Testing Caution Checkwith the Objects syntax of the implementation language to find out whether the language supports
Part III - Modeling Object Interactions the use of attributes in an

interface. Java, for example, does not allow instance-level

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 attributes in an interface class. - Modeling Interactions in UML 2.0

UML 2.0 enhances the definition of interface class to say that the operations of an interface class can define two types of interfaces: provided and required. A provided interface is a service that the object Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 makes available to other objects. The MarketingPlan, in Figure 5-54, provides the price() operation which Part IV - Modeling Object Behavior can assign a price to a product. Provided interfaces may be modeled as a circle attached to the Chapter 12 - Modeling the Use of a System with the Use Case Diagram implementing class by a solid line as in Figure 5-54. (This is sometimes called the lollipop notation. ) An Chapter 13 - Modeling Behavior Using an Activity Diagram interface class can still be modeled as a class with the interface stereotype just as was done in UML Part V - Modeling the Application Architecture 1.4.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Figure 5-54: Provided interface - the MarketingPlan provides an interface to price products.

Appendix A -object UML 1.4 Notation Guide words, the needs to find another object that provides the required interface. A required interface Appendix B UML 2.0 Notation Guide can be modeled as a crescent or half circle, as shown in the example in Figure 5-55. The Shirt class Appendix - Standard Elements requiresC the Price interface. Glossary Index List of Figures List of Tables List of Listings

When an object requires access to a service, the object is said to have a required interface. In other

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

beginning to advanced users, this book Figure 5-55:For Required interface - the shirt needs to beprovides priced. comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, shows improve When you put the two together,and you get a how kind to of use ballUML and to socket configuration, as illustrated in Figure 5quality, and efficiency in development. 56. The shirt is a timeliness, product that needs to be priced and the MarketingPlan provides the ability to price a Companion Web Site product.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 - 5-56: What Is UML? Figure Interconnected provided and required interfaces. Chapter 2 - UML Architecture Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

< Day Day Up >

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

Chapters 5 and 6John cover the & notation the Class Wiley Sons for 2003 (940 pages)diagram. The focus of Chapter 5 is on the class itself. Chapter 6 explains relationships For beginning to between advancedclasses. users, this book provides Class: A class is modeled as ashows rectangle three standard compartments for name, attributes, and specifications, and how with to use UML to improve timeliness, quality, and efficiency in development. operations, in that order, and optional user-defined compartments. The name of the class must be unique within a package. When to classes with the same name but different owning Companion Webreferring Site packages, use the fully qualified name in the format package-name::class-name. Attribute: Attributes define the type of information that can be owned and managed by the type of <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents object defined by the class that owns the attributes. Attributes are declared using the syntax:
UML Bible Preface [visibility] [/] name [: type] [multiplicity] [=default]
Part [{property-string}] I - An Introduction to UML

comprehensive coverage of the versatility of 1.4 and 2.0 UML

Chapter 1 Chapter 2

- What Is UML?

- UML Architecture Operation (and method): operation defines how a behavior can be invoked on an object. The Chapter 3 - UML Diagrams and An Extension Mechanisms

operation is distinct from the method that provides the implementation for the operation. In fact, more Chapter 4 - Object-Oriented Concepts than one method may be defined Part II - Modeling Object Structure
Chapter 5 Chapter 7 Chapter 8

for the same operation in different classes:

- Capturing Rules about Objects in a Class Diagram [visibility] name Rules ([parameter-list]) ':' [return-result] Chapter 6 - How to Capture about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4
Part [{properties}] III - Modeling Object Interactions

parameter-list:= name [':' data-type] ['['multiplicity' Chapter 9 - Modeling Interactions in UML 2.0 ]']
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Template class: A template class provides a means to define the structure of a class without

Chapter 12 - Modeling the This Use of a System thefor Use Case Diagram specifying the type. technique iswith useful container classes such as arrays and Vectors that may Chapter 13 Modeling Behavior Using an Activity Diagram contain any type of object. To instantiate a template class you must provide the type.
Part V - Modeling the Application Architecture

Interface: An interface class defines a set of behaviors that an implementing class must support. The Chapter 14 - Modeling the Application Architecture operations of an Software interfaceUsing class the cannot have any methods. The attributes of an interface class must Chapter 15 - Modeling Component Diagram be 16 abstract. is, the attributes have Chapter - UsingThat Deployment Diagramsdo in not UML 1.4 to be declared by the implementing class as long as the implementing class can provide access to the Chapter 17 - Representing an Architecture in UML 2.0 same information through an operation.
Part VI - Bringing Rigor to the Model

Visibility: Visibility defines the level of access allowed to a model element such as a class, an attribute, or an operation. The allowed visibility values are defined in the enumeration VisibilityKind as private, Chapter 19 - protected, Action Semantics public, and package.
Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool the number of values that may be assigned to a model element such as Multiplicity: Multiplicity defines

an 21 attribute or a parameter. The number may be expressed as a range, and enumeration, a fixed Chapter - Customizing UML Using Profiles number, or an undefined limit (*). The syntax for declaring multiplicity is: Chapter 22 - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide multiplicity_range ::= [ lower '..'] upper Appendix C - Standard Elements

lower ::= integer | value_specification Glossary upper ::= integer | '*' | value_specification Index
List of Figures List of Tables List of Listings

Multiplicity ordering and uniqueness: Along with the multiplicity values, multiplicity can designate the

ordering and the uniqueness of the values in the set bounded by the multiplicity values. The syntax for < Day Day Up > ordering and uniqueness is as follows: [ '{' <order_designator> [, <uniqueness_designator>]'}' ]
UML Bible by Tom Pender <order_designator> ::= ordered | unordered ISBN:0764526049 John Wiley & Sons ::= 2003 (940 pages) <uniqueness_designator> unique | nonunique For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. < Day Day Up > Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Chapter UML 6: How to Capture Rules about Object ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) Relationships

Overview

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

A software application requires aWeb set of resources. To use them you need to describe each resource using Companion Site a class definition. Classes describe the types of resources, their purpose, and the features that they provide, including attributes and operations.
<?xml version="1.0" encoding="ISO-8859-1"?> Table ofcoordinate Contents the interaction of these resources, you need to explain how they can communicate. To But to

communicate, they need to be aware of one another. Just as people use various means to communicate UML Bible like phone calls and mail or e-mail, objects also need to define a means to communicate. They need to Preface define a type of relationship. Part I - An Introduction to UML UML and dependency. Chapter 1 - What Is UML?
Chapter 2 Chapter 3 - UML Architecture

relationships come in three different types: association, generalization,

Anassociation is a semantic relationship between two model elements. In a Class diagram, an - UML Diagrams and Extension Mechanisms association defines the rules that apply to relationships between the objects defined by the participating Chapter 4 - Object-Oriented Concepts classes. Each association includes the rules to establish and maintain the integrity of the relationships as Part II - Modeling Object Structure the relationships are created and used by the application.
Chapter 5 - Capturing Rules about Objects in a Class Diagram Chapter 6 -concept How to Capture about Object Relationships The same may be Rules refined to account for objects that are actually assemblies of other objects.

This assembly type with of association, called aggregation , greatly facilitates the use of complex configurations Chapter 7 - Testing Objects of objects. Aggregation also be refined Part III - Modeling Objectcan Interactions to model assemblies where the parts have a more restricted association with the assembly. In in this refinement of aggregation, called composition, the lives of the parts Chapter 8 - Modeling Interactions UML 1.4 of the assembly depend wholly on in the assembly. Chapter 9 - Modeling Interactions in their UML participation 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Caution There is considerable debate about the definition of composition. I'll describe the alternative views later in this chapter.

Chapter 12 - Modeling the Use of a not System withdirect the Use Case Diagram In this relationship, an object relies on A dependency relationship does require communication. Chapter 13 - Modeling Behavior Using anis Activity the fact that another object exists and doing,Diagram or has done, its job. For example, a business transaction
Part V depend - Modeling Architecture may on the Application security system to insure that

no unauthorized person can access the business

Chapter 14 - Modeling the Application transaction. The implementation of Architecture this relationship is handled in the workflow, the technology, or other

design 15 options in the Software application. Chapter - Modeling Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4

Generalization is used in the context of inheritance. A generalization relationship is very different from an association. In fact, generalization does not require any of the rules established for associations. Instead, Part VI - Bringing Rigor to the Model generalization defines the organization of information about objects that share the same semantic Chapter 18 - Applying Constraints to the UML Diagrams meaning but which vary in their individual features. For example, the term "car" refers to a broad range of Chapter 19 - Action Semantics vehicles. For a car manufacturer, it is important to differentiate cars based on their unique features. So a Part VII - Automating the UML Modeling Process manufacturer might draw distinctions between passenger cars, SUVs, trucks, and so on, based on their Chapter 20 - Using a Modeling Tool differentiating features.
Chapter 17 - Representing an Architecture in UML 2.0 Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange This chapter covers all three types of relationships-association (including aggregation and composition),

dependency, and generalization-and provides examples of the features used to fully define each type of Appendix A - UML 1.4 Notation Guide relationship. Appendix B - UML 2.0 Notation Guide
Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UML Bible Defining the Purpose and Function of an Association by Tom Pender
ISBN:0764526049

The purpose of an association is to establish the reason why two classes of objects need to know about John Wiley & Sons 2003 (940 pages) one another, andFor thebeginning rules thatto govern the users, relationship. Forprovides example, an event may be held at a venue. advanced this book The event needs comprehensive to know wherecoverage it is to take place, and the venue needs to know what is taking place of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve within it. These are two perspectives on the same association.
timeliness, quality, and efficiency in development.

Some associations, like the event and venue example, are very simple. Other associations can be more Companion Web Site complex. For example, a person may have many different reasons to know about a car-he might own a car, drive a car, insure a car, or wreck a car, and there are many more possibilities. Each reason defines <?xml encoding="ISO-8859-1"?> one version="1.0" association, one reason why one type of object needs to know about the other type of object.
Table of Contents

Regardless of the complexity, each association has to define its own rules to establish and maintain the UML Bible integrity of the relationship. These rules include Preface
Part I - An Introduction to UML

Chapter 1

A way to uniquely and meaningfully identify the association.


- What Is UML?

Chapter 2 number - UML Architecture The of objects that may participate in the association. Chapter 3 - UML Diagrams and Extension Mechanisms

The on the objects that are allowed to participate in the association. Chapter 4 restrictions - Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5

The role that each type of object plays when it participates in the association.
- Capturing Rules about Objects in a Class Diagram

Chapter 6 - How to Capture Rules aboutmay Object Relationships A means to identify which objects gain access across the association. Chapter 7 - Testing with Objects

Information about the association, Part III - Modeling Object Interactions


Chapter 9

such as when it started, the terms of the association, when it ended,

and status. Chapter 8 its - current Modeling Interactions in UML 1.4


Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Together, these rules define how the objects in an application can come into contact and collaborate with one another.

- Modeling Interactions in UML 2.0

Chapter 12 - Modeling the Use of a System with the Use Case Diagram < Day Day Up > Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling an Association by Tom Pender


ISBN:0764526049

Modeling an association begins by identifying the participating classes. The first examples we'll discuss John Wiley & Sons 2003 (940 pages) use a pair of classes, called a binary association since this is the most common type of association. We'll For beginning to advanced users, ,this book provides cover associations that use more than two participating classes, called comprehensive coverage of the versatility of 1.4 and 2.0 n-ary UML associations , later in the specifications, and shows how to use UML to improve chapter.
timeliness, quality, and efficiency in development. Companion Web Site Binary association notation

In a version="1.0" Class diagram, a binary association documents the rules that govern one relationship between two <?xml encoding="ISO-8859-1"?> classes of objects. The association is a rule that explains what is allowed. In an Object diagram, an actual Table of Contents relationship is called a link. An association is a rule. A link is a fact. UML Bible
Preface
Part I - An Introduction to UML

Chapter 1

Note There is a situation in which the participating objects are defined by the same class. See the description of a reflexive association later in this chapter.
- What Is UML?

Chapter UML Architecture Figure 2 6-1-shows an association connecting the Venue class and the Event class. The Venue class

defines3what a venue object is Extension and what Mechanisms it can do. The Event class defines what an event is and what it Chapter - UML Diagrams and can do. association defines a single type of relationship that can be established between venues and Chapter 4The - Object-Oriented Concepts events, one reason whyStructure these types Part II - Modeling Object
Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

of objects need to communicate.

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Figure Association isUsing a type of relationship. A link is an instance, or implementation, of an Chapter 13 - 6-1: Modeling Behavior an Activity Diagram association. Part V - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture

The object myTheater:Venue in Figure 6-1 describes a Venue object named myTheater that conforms to the Venue class definition. The object Phantom of the Opera:Event describes an Event object named Chapter 16 - Using Deployment Diagrams in UML 1.4 Phantom of the Opera that conforms to the Event class definition. The link defines a single relationship Chapter 17 - Representing an Architecture in UML 2.0 between the venue myTheater and the event Phantom of the Opera.
Chapter 15 - Modeling Software Using the Component Diagram
Part VI - Bringing Rigor to the Model

Chapter 18 as - Applying Constraints to a the UML Diagrams However, shown in Figure 6-2, complete association definition is built with three parts: an association Chapter 19 - Action Semantics line between the classes and two association ends. The association line and its name define the identity
Part Automating therelationship. UML Modeling Process andVII the-purpose of the The association

ends each define the rules about how the objects of

the classes at each end mayTool participate. Chapter 20 - Using a Modeling


Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure 6-2: An Association is made up of < a Day connection and two AssociationEnds. Day Up > Note AssociationEnd is a metaclass in the UML language. As such it owns attributes such as multiplicity, constraints, and roles.
UML Bible

Association name by Tom Pender


John Wiley & Sons 2003 (940 pages)

ISBN:0764526049

The naming of classes, attributes, and operations is very important, as you know. The name of an For beginning to advanced users, this book provides association also is important, because it expresses to the of reader the2.0 intent of the relationship. Each comprehensive coverage of the versatility 1.4 and UML association represents an investment of time effort toto establish specifications, and shows howand to use UML improvethe relationship, preserve its integrity, timeliness, quality, in development. and ensure its proper usage. Whenand the efficiency name is vague, it introduces confusion and debate, increasing cost and reducing effectiveness in the modeling process. Companion Web Site The usual way to name an association is with a verb or verb phrase. Figure 6-3 shows the same association modeled with two different names, using a verb "hosts" and a verb phrase "is hosted by". The <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents position of the name is not critical. The name only needs to be somewhere in the middle of the line between UML Bible the two classes. Keep it near enough to the line so that the reader of the diagram clearly understands what the name is referring to. Also, keep the name away from the association ends, where Preface youIwill be adding a lot of information. Part - An Introduction to UML
Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 - What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 9 - 6-3: Modeling Interactions in UML uses 2.0 a verb or verb phrase. Figure An association's name Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

UML assigns one association name with the understanding that the relationship can be read in the Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 opposite direction by reversing the Part IV - Modeling Object Behavior

meaning. In other words, the top association name in Figure 6-3 is read with the understanding that if a "venue hosts an event" then the reverse must be true, that is "an event is Chapter 12 - Modeling the Use of a System with the Use Case Diagram hosted by a venue." So you would model one or the other of the associations in Figure 6-3, not both.
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Note Association Name Controversy: Advocates of executable UML make a strong case for

Chapter 14 naming - Modeling the Application Architecture both directions. The bottom line for me rests on two facts. First, the name does not Chapter 15 generate - Modeling Software Using the purpose Component Diagram code so its primary is to foster understanding of the model (The exception is in Chapter 16 executable - Using Deployment Diagrams in UML 1.4 UML (xUML). But xUML is not in widespread use yet.). Second, asking the reader to Chapter 17 reverse - Representing an Architecture UML the meaning does not in pose a2.0 particular challenge. In fact, the opposite is true: if the
Part VI - Bringing Rigor to the Model modeler assigns two names,

he runs the risk of unintentionally introducing multiple relationships

Chapter 18 in - Applying Constraints to the UML Diagrams the same association. Chapter 19 - Action Semantics

Figure also introduced a useful device called Part VII 6-3 - Automating the UML Modeling Process

a directional indicator. At least in western culture we tend to read from left to right, so when the drawing requires us to label something reading from right to left, we Chapter 20 - Using a Modeling Tool need a way to let the reader know our intent. The solution to this problem is pretty simple: place a Chapter 21 - Customizing UML Using Profiles directional indicator, like an arrow, next to the association name to show the reader how to interpret the Chapter 22 - XML Metadata Interchange meaning of the association name. In Figure 6-3, an arrow is placed next to both association names for Appendix A - UML 1.4 Notation Guide clarity. Often the directional indicator is only used when the association name reads in some direction Appendix B - UML 2.0 Notation Guide other than the typical left-to-right direction. In short, do what is necessary to help ensure that the diagram is Appendix C - Standard understood correctly.Elements
Glossary IndexTip In some tools the directional indicator is simply a feature of each association name that can be

turned on or off. In other tools you set the direction within the association specification. In still other List of Figures tools you may have to actually draw the symbol. List of Tables
List of Listings

The association name becomes even more important when two classes have more than one reason for < Day Day Up > collaborating. In the venue and event example, for instance, a venue may sponsor an event while others host the event. At other times a venue may be both the host and the sponsor. Figure 6-4 uses two associations to represent the fact that rules for hosting an event are different from the rules for sponsoring UML Bible an event. The two associations need to be defined and maintained separately.
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> 6-4: Each association represents a separate set of rules. Table Figure of Contents UML Bible Preface

The goal of an association name is to clearly and concisely define the purpose of the relationship between the two types of objects. That purpose will guide the definition of the actual communication between the Part I - An Introduction to UML objects and drive the definition of the roles that each object plays in the communication.
Chapter 1 Chapter 3 - What Is UML? Chapter 2 - UML end Architecture Association - UML Diagrams and Extension Mechanisms To define roles, UML Concepts treats each association end as a separate and distinct entity with its own rules. Chapter 4 those - Object-Oriented

That a venue's participation in Part IIis, - Modeling Object Structure


Chapter 6 Chapter 7 Chapter 8 Chapter 9

the "hosts" association is different from the event's participation in the

"hosts"5 association asRules modeled inObjects Figure in 6-5. Chapter - Capturing about a Class Diagram
- How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure 6-5: Association ends define the participation of each type of object.

Chapter 12 of - Modeling the Use needs of a System with the Case Diagram Each end the association to explain, for Use instance, what role the object at that end plays in the Chapter 13 Modeling Behavior Using an Activity Diagram relationship, how many objects of that type may participate in the relationship, and if there may be many
Part V - Modeling the Application Architecture participating objects, whether they have to be

in some order. The association end also specifies whether

Chapter - Modeling Application Architecture there's 14 some featurethe of the object that could be used to access it, and whether the object on one end can Chapter 15 - Modeling Software Using the Component Diagram even access the object/s on the other end. Each end of the association includes some or all of these Chapter 16 - Using Deployment Diagrams in UML 1.4 defining features: Chapter 17 - Representing an Architecture in UML 2.0

Roles Part VI - Bringing Rigor to the Model


Chapter 19 - Action Semantics

Chapter 18 - Applying Constraints to the UML Diagrams

Interface specifier

Part VII - Automating the UML Modeling Process Visibility (required)

Chapter 20 - Using a Modeling Tool

Multiplicity (required) Chapter 21 - Customizing UML Using Profiles


Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Constraints Appendix C - Standard Elements Glossary

Ordering

Qualifier

Index Navigability List of Figures List ofChangeability Tables List of Listings

The following sections discuss these features < and their notations. Day Day Up > Roles A role name explains how an object participates in the relationship. Unlike the association name, the role UML Bible name at the association end can generate code. Each object needs to hold a reference to the associated ISBN:0764526049 by Tom Pender object or objects. The reference is held in an attribute value within the object. When there is only one John Wiley & Sons 2003 (940 pages) association then there is only one attribute holding a reference. In the generated code, the attribute will be For beginning to advanced users, this book provides named using the comprehensive role name of the referenced object. coverage of the versatility of 1.4 and 2.0 UML For example, in Figure 6-1, quality, the Phantom of the Opera event is hosted by myTheater. The event object timeliness, and efficiency in development. Phantom of the Opera contains an attribute with an object reference to myTheater. So far it doesn't really Companion Web Site matter what we call the attribute because there is only one reference. It is possible for an event not only to be hosted by a venue but also to be sponsored by a venue. This means that there are two possible references to a venue in the same event object. One venue negotiates to bring the theater troop to town, <?xml version="1.0" encoding="ISO-8859-1"?> but the performance will be spread across three different host venues. Now we need multiple venue Table of Contents references and we need to be able to tell the difference between the sponsoring venue and the hosting UML Bible venues. To represent two distinct references, the role names are often used to name the attributes that Preface hold the references. Part I - An Introduction to UML
Chapter 1 Chapter 2 specifications, and shows how to use UML to improve

Role names describe the association in terms of how each type of object (venue and event, in our - UML Architecture example) participates in the association. Because both association names and role names help describe Chapter 3 - UML Diagrams and Extension Mechanisms the nature of the relationship, the role names may be used with or in place of the association name. Figure Chapter 4 - Object-Oriented Concepts 6-6 models both alternatives for the venue and event relationships. The top model uses an association Part II - Modeling Object Structure name and roles only on the event ends. The bottom model uses only the roles name throughout.
Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

- What Is UML?

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Figure Role names assigned to association Chapter 18 - 6-6: Applying Constraints to the UML Diagrams ends.
Chapter 19 - Action Semantics

Place the role name at the end of the association line and next to the class that it describes. The exact position is not critical. Just keep it near the end of the association near the class. There are other model Chapter 20 - Using a Modeling Tool elements that will need to fit at the association end as well, so don't be surprised if you have to move Chapter 21 - Customizing Using Profiles things around a little for UML readability.
Part VII - Automating the UML Modeling Process

Chapter 22 - XML Metadata Interchange

Interface Appendix A specifier - UML 1.4 Notation Guide


Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

A class defines a set of operations called an interface. In any given association only one or a few of those operations might be needed. For example, the theater system performance class is used for a variety of Glossary reasons. The marketing subsystem accesses the features of a performance that support assigning prices. Index The sales subsystem accesses the features that support finding and choosing available seats at the List of Figures performance. The interface specifier is paired with the role name in the format "role name : Interface", as List of Tables in "performance : IPricing", and "performance : IAvailability."
List of Listings

The interface specifier is a way to define the required features without dictating either the class that < Day Day Up > provides them or the implementation. It simply states that for the relationship to work there are specific features that must be supported. (See Chapter 4 for more on interfaces.) Visibility
UML Bible by Tom Pender
ISBN:0764526049

Figure 6-6 also illustrates the visibility notation for role names. Visibility was covered fully in Chapter 4, and John Wiley & Sons 2003 (940 pages) here we are using the exact same concepts, except that the visibility refers to who can access the role For beginning to advanced users, this book provides name. Reading Figure 6-6, the Event class has a reference to a role name "-host" (at the opposite comprehensive coverage of the versatility of 1.4 and 2.0 UML association end).specifications, The minus sign (-) in front of to the role name is the UML-suggested shorthand for private and shows how use UML to improve timeliness, and efficiency in development. visibility. This means that anquality, event contains a private attribute that holds a reference to a venue that plays the role of host to theCompanion event. If you want access to the value in that attribute, you need to request it through Web Site an operation that has a visibility of something other than private access. Visibility encoding="ISO-8859-1"?> has been dropped from the association end in UML 2.0. I am guessing that it was for the <?xml Note version="1.0" simple reason that encapsulation dictates that all attributes should be private. Table of Contents
UML Bible Preface

Multiplicity Association multiplicity refers to the valid number of objects that may be related under the rules of the

Part I - An Introduction to UML

Chapter 1 - What Is UML? association. Multiplicity may express a range of values, a specific value, a range without limit, or a set of Chapter 2 values. - UML For Architecture discrete a complete explanation of multiplicity, see Chapter 5. Chapter 3 - UML Diagrams and Extension Mechanisms There is significant difference between the attribute multiplicity notation presented in Chapter 5 and Chapter 4 one - Object-Oriented Concepts

the II multiplicity notation with Part - Modeling Object used Structure


Chapter 6 Chapter 7 Chapter 8 Chapter 9

association ends: attribute multiplicity is enclosed in square braces ([]),

and association multiplicity by itself Figure 6-7). Chapter 5 - Capturing Rules stands about Objects in(see a Class Diagram
- How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - 6-7: Modeling Behavior Using anto Activity Diagram Figure Assigning multiplicity each association end.
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture The multiplicity assigned to an association end defines the number of objects at one end of the association Chapter 15be - Modeling Software Component Diagram that may associated with a Using singlethe object on the other end of the association. For example, Figure 6-7

states that and only one (1..1) venue Chapter 16 -one Using Deployment Diagrams in sponsors UML 1.4 each event. The multiplicity value goes beside the type of object it is counting. this case the multiplicity value is counting the number of venues, so the value Chapter 17that - Representing an In Architecture in UML 2.0 goes to the Rigor Venue class. At the Part VInext - Bringing to the Model
Chapter 19 - Action Semantics

other end of the "sponsors" association in Figure 6-7, the association

end states zero or more (0..*) event may be sponsored by each venue. Chapter 18 -that Applying Constraints to the UML Diagrams In Figure 6-7 there are two associations, sponsors and hosts, and each end of each association is assigned its own value for a total of four values. Even if the values happen to be the same, they are not Chapter 20 - Using a Modeling Tool saying the same thing about the model. In Figure 6-7, on the "sponsors" association at the end near event Chapter 21 - Customizing UML Using Profiles you see the multiplicity 0..*. The same multiplicity is on the event end of the "hosts" association. The first Chapter 22 - XML Metadata Interchange association defines how many events may be sponsored by each venue. The second association defines Appendix A UML 1.4 Notation Guide how many events may be hosted by each venue.
Part VII - Automating the UML Modeling Process

Appendix B - UML 2.0 Notation Guide

Note example emphasizes again the importance of meaningful association names. I have Appendix C This - Standard Elements actually seen a lot of modelers simply draw the association line, not name it, and proceed to assign multiplicity and other values. The inevitable result is a lot of debate over the multiplicities and other values because discussion participants are confusing and combining information List of Figures about different relationships that have not been isolated and defined individually. List of Tables
Glossary Index List of Listings

In the explanation of visibility, I said that each association would be implemented as an attribute that holds < Day Day Up > a reference to the object at the other end of the association. Multiplicity allows us to identify relationships with more than one object, like a venue that may sponsor many events. In this case the single object reference becomes a group of object references. Thus multiplicity alerts the programmer (or the modeling UML Bible tool) charged with implementing this requirement that she will need to use some type of container class or ISBN:0764526049 by Tom Pender array syntax to hold the group of references. The next topic, ordering, enables you to be even more John Wiley & Sonsrequirements. 2003 (940 pages) specific about the implementation
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Whenever multiplicity allows for more than one object, UML supports the ability to specify ordering.

Ordering

Ordering simply means that the objects in the group need to be arranged in a sequence. Ordered is a Companion Web Site predefined Boolean tag value used to specify the need to arrange the objects in the group. To show that the group of objects that participate in the relationship needs to be preserved in some sequence, simply <?xml version="1.0" place the keywordencoding="ISO-8859-1"?> {ordered} enclosed in curly braces at the end of the association. The curly braces Table of Contents identify constraints on the association end. Ordering is one type of constraint. More examples are provided UML Bible later in this chapter.
Preface

Figure 6-8 represents to the fact Part I - An Introduction UML


Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 - UML Architecture

that when a venue hosts a number of events, the list of events needs to be arranged in a specified sequence. Chapter 1 - What Is UML?
- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 8 - 6-8: Modeling in UML for 1.4 an association end. Figure The Interactions ordered constraint Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's in UML 1.4 If the objects in the group do notLifecycle have to be in any sequence, the default is to leave off the {ordered}

property. example, a venue sponsors number of events, it does not need to keep track of the Chapter 11 For - Modeling an when Object's Lifecycle in UML a 2.0 group of events in any particular Part IV Modeling Object Behaviorsequence so the ordered property is left off (refer to Figure 6-7).
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

What is the significance of specifying ordering? Earlier I stated that each association is implemented as an attribute that holds a reference to the group of objects. The {ordered} property now adds the requirement Part V - Modeling the Application Architecture that the objects need to be maintained in a specified order. They are no longer simply a random set of Chapter 14 - Modeling the Application Architecture values. The implementation for the association end will need to consider things like the sort criteria and Chapter 15 - Modeling Software Using the Component Diagram adding and removing objects from the list (add at the top or at the bottom, insert into the sequence, and so Chapter 16 - Using Deployment Diagrams in UML 1.4 forth) in order to maintain the correct sequence within the group of references.
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model Avoiding

Dangerous Notation Defaults

Chapter 18 - Applying Constraints to the UML Diagrams

In some respects, using the absence of a value on the diagram as a default value is a dangerous Chapter 19 - Action Semantics practice. It may save a few seconds and a bit Part VII - Automating the UML Modeling Process of clutter in the short run but you always run the risk of simply forgetting to address the question until late in the project or not at all. To avoid this problem, Chapter 20 - Using a Modeling Tool you might instead display the UML-supported default property {unordered}. The trade-off is clarity Chapter 21 - Customizing UML Using Profiles versus clutter. Remember, the purpose of modeling is to reveal information, not hide it. Chapter 22 - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix CStandard Elements Given this new requirement it sounds like we need something more to help specify not only whether the Glossary group is ordered but also by what sort criteria. That is one reason why the UML provides the constraint Index notation. List of Figures

Constraints List of Tables


List of Listings

Aconstraint defines a restriction that needs to < be enforced on a modeling element to insure its integrity Day Day Up > throughout the life of the system. For example, in the preceding section we found the need to specify the sort sequence for a group of objects that participate in an association. When a venue hosts a series of events, the venue manager might want to keep track of the events according to the dates they are UML scheduled to start. ButBible the {ordered} property is merely a Boolean and cannot help us with the sequencing ISBN:0764526049 by you Tommay Pender details. Additionally want to set a limit on the cost of an event or restrict how an event may be John Wiley & Sons 2003 (940 pages) scheduled at a venue. UML defines three extension mechanisms: values, stereotypes, comprehensive coverage of tagged the versatility of 1.4 and 2.0 and UML constraints. A constraint is specifications, and us shows use UML to improve used to define rules, and can help withhow this to new set of requirements. The format of a constraint is really timeliness, quality, and efficiency in be development. just a string of text (in a specific language) that can attached to almost any element in your model. The language of the constraint may be OCL, Companion Web Sitea programming language, or even your own written language, such as English, German, or French.
<?xml version="1.0" On an association encoding="ISO-8859-1"?> end, the constraint may be added to the {ordered} property string to specify the Table of Contents maximum cost of an event association with a venue to be $100,000. Figure 6-9 illustrates the addition of UML the Bible constraint within the same pair of braces used to contain the ordered property. Preface
Part I - An Introduction to UML

For beginning to advanced users, this book provides

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Figure 6-9: Adding language Part III - Modeling Object constraint Interactions
- Modeling Interactions in UML 1.4

to an association end.

Since constraints are really just strings, you can add as many constraints as you need between the pairs of Chapter 9 - Modeling Interactions in UML 2.0 braces {}. Figure 6-10 shows the addition of another constraint, this time in free-form text, stating that the Chapter 10events - Modeling an be Object's Lifecycle in UML 1.4 date. The maximum cost was specified using OCL. group of should sorted by the event start Chapter 11 Modeling an Object's Lifecycle in UML The sorting was specified using free form text. 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Figure 6-10: Concatenating constraints. Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool

Some tools enforce some rigor on the specification of constraints, that is, you may have to specify each constraint individually. The tool may also provide support to test the syntax of the constraint against the Chapter 22 - XML Metadata Interchange Object Constraint Language (OCL) specification. The tool then concatenates the list of constraints into the Appendix A - UML 1.4 Notation Guide braces for you. Figure 6-11 shows the Magic Draw 6.0 dialog box for entering constraints in an association Appendix B - UML 2.0 Notation Guide end.
Chapter 21 - Customizing UML Using Profiles Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Figure 6-11: Using a tool to enter association end constraints. Preface


Part INo - An Magic Introduction to UML

Chapter 1 Chapter 2

Constraints document the implementation requirements for the end of the association. They are - UML Architecture implemented in the methods that create and alter the object references that represent the relationship. In Chapter 3 - UML Diagrams and Extension Mechanisms the event example, every time a new event is scheduled, the corresponding venue must update its set of Chapter 4 - to Object-Oriented references events hostedConcepts at the venue. The new event references is added to the list by inserting it into Part II - Modeling Object Structure the existing list of event references using the start date of the new event to find the correct location. Chapter 5 -whenever Capturingan Rules about Objects in a Class Diagram Moreover, event is rescheduled, the list must be altered to maintain the correct order.
Chapter 6 - How to Capture Rules about Object Relationships Constraints may bewith used for many other reasons. A very common application of a constraint on an Chapter 7 - Testing Objects

- What Is UML?

association end isObject to define which objects Part III - Modeling Interactions

are allowed to participate in an association. In the theater

application, scheduling is centralized for1.4 all of the venues owned by the company. The schedulers cannot Chapter 8 - Modeling Interactions in UML commit to host an event in if that Chapter 9a venue - Modeling Interactions UML event 2.0 has not been authorized by the venue's manager. This is a safeguard insure that the schedulers have the approval of the venue manager before committing the Chapter 10 -to Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

venue.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure 6-12 adds the vm_approved Boolean constraint requiring authorization by a venue manager.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - 6-12: Customizing Using Profiles Figure Using UML constraints to restrict object participation. Chapter 22 - XML Metadata Interchange

A constraint applies to the objects Appendix A - UML 1.4 Notation Guide of the class at the end of the association next to the constraint, so be
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

careful to place the constraint in an unambiguous place at the end of the association and near the class it applies to.

Glossary In Chapter 18, we will apply the formal Object Constraint Language to the constraints used in the modeling Index examples throughout the book. If you don't know OCL, you can use free form text to specify the List of Figures on your diagram. requirements List of Tables

Qualifier List of Listings

A qualifier works very much like a key on an indexed file.Up It provides a means to go directly to the object < Day Day > you want. Now consider the venue. When a venue needs to find an event, it can take advantage of the sorting by start_date already defined using the {ordered} property and the sort constraint. But that still requires the venue to read through the list of references until it finds the one it needs, which could be the Bible last event on the UML list. After a few years of events at a venue, this list could get rather long. Finding one ISBN:0764526049 by Tom specific event could take Pender a long time.
John Wiley & Sons 2003 (940 pages)

The qualifier defines an attribute the referenced objects and uses it as a key to get direct access to a For beginning to of advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML or the requirement to have this specific object. From a modeling standpoint, this simply specifies the desire specifications, and shows to use UML to improve type for access. The goal is to then to findhow an implementation that can satisfy the desired direct access timeliness, quality, and efficiency in development. with the specified key.
Companion Web Site

To model a qualifier you must identify the type of object that wants to use the access, and the type of object that provides the access. The qualifier is placed next to the type of object that wants to use it. For <?xml version="1.0" encoding="ISO-8859-1"?> example, the venue wants to use a qualifier value to access an event. Figure 6-13 shows how the qualifier Table of Contents is placed in a small rectangle at the end of the association next to the Venue class.
UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Figure 6-13: Using a qualifier to get direct access to an object.

Part III - Modeling Object Interactions

The rectangle containing the qualifier is inserted between the class and the end of the association so that

Chapter 8 - Modeling Interactions in UML 1.4 as multiplicity and constraints) remains intact. Observe two all the other association end notation (such Chapter 9 in - the Modeling Interactions in UML 2.0 changes model: Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

1. The qualifier is placed in a small rectangle on the venue end of the "hosts" association because the venue uses the qualifier. The rectangle contains the attribute type used to look up the objects on Part IV - Modeling Object Behavior theother end of the association. In this case the venue looks up events using the id attribute of the Chapter event. 12 - Modeling the Use ofspecification a System with Case Diagram You can see the ofthe theUse corresponding "id" attribute in the Event class on the Chapter right. 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

2. The on the event end of the host association has changed from zero or more (0..*) to Chapter 14 - multiplicity Modeling the Application Architecture only one (1). That is the because if a venue object uses a unique event id to access events, it Chapter one 15 - and Modeling Software Using Component Diagram get one event Diagrams that matches the1.4 look-up value. Chapter will 16 -only Using Deployment in UML
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

If the qualifier were a non-unique value, the result would be a set of events so the multiplicity would remain zero or more (0..*). However, the result would still most likely be a subset of events, not the entire list. Chapter 18 - Applying Constraints to the UML Diagrams When using a unique qualifier, a good case could be made for using a multiplicity of zero or one (0..1). Chapter 19 - Action Semantics This allows for the possibility that the venue would try to use a unique qualifier value that does not match Part VII - Automating the UML Modeling Process any of the events.
Chapter 20 - Using a Modeling Tool Chapter 21 - a Customizing UMLfor Using What does qualifier imply the Profiles implementation? A qualifier states that the Venue class needs a set of

references be keyed on a value. Most OO languages provide a variety of predefined classes for Chapter 22 - that XML can Metadata Interchange just this A purpose. For example, in Java you might use a HashTable or a Map that supports key-value pairs, Appendix - UML 1.4 Notation Guide so everyBtime the venue adds a reference to an event, it adds the object reference to the Map along with a Appendix - UML 2.0 Notation Guide corresponding qualifier or key value. Appendix C - Standard Elements
Glossary Index List of Figures List of Tables List of Listings

< Day Day Up > Caution A qualifier sounds a lot like a key on a database. The function is very much the same, but the usage is significantly different. A key on a database is used to facilitate access to physical storage. A qualifier works on objects in memory. By the time data has been retrieved from a database into memory, the key selection has already taken place. There is no need to UML Bible replicate the same keyed access in the object model. The qualifier's value is for manipulating ISBN:0764526049 by Tom Pender objects in memory. For example, you have pulled up all of the events taking place this year to John Wiley & Sons 2003 (940 pages) generate a report. Now the application needs to find the For beginning to advanced users, this book provides best selling events to highlight them on the report. The database access may be of keyed on start date. The qualified access may comprehensive coverage of the versatility 1.4 and 2.0 UML specifications, and shows how to use UML to improve be keyed on net sales. timeliness, quality, and efficiency in development.

Navigability

Companion Web Site

Navigability describes the need for an object to access another object by "navigating across the link." In other words, setting the navigability attribute of an association end determines whether the object at the <?xml version="1.0" encoding="ISO-8859-1"?> other end of the link can access the object on the navigable end of the link. Navigability is modeled with an Table of Contents arrow on the end of the association. If the arrow is present, that end of the association is navigable. If the UML Bible arrow Preface is absent then that end of the association is not navigable.
Part I - An Introduction to UML

Figure 6-14 shows that the navigability on the event end of the hosts association is true. We know this - What Is UML? because the navigation arrow is visible on the end of the association pointing to and touching the Event Chapter 2 - UML Architecture class. This means that the events are visible to the venue at the other end of the link.
Chapter 1 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Figure 6-14: Object Specify navigation by placing Part III - Modeling Interactions
- Modeling Interactions in UML 1.4

an arrow at the end of the association.

Now for the twist: Based on my description so far, when both ends of the association are navigable, you - Modeling Interactions in UML 2.0 might expect both ends to have arrows on them. Unfortunately this is another place where default Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 reasoning can cause confusion. When both ends are navigable, most tools use the default that does not Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 show any arrows. The reasoning is that most associations are bi-directional. The exception is unidirectional Part IV - Modeling Object Behavior navigation. To save time and effort, it can be easier to assume that all associations are bi-directional Chapter - Modeling the Use of a System with the Use Case Diagram unless 12 otherwise modeled.
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part Vdanger - Modeling the Application The here is that there is Architecture no way to tell

whether anyone even investigated the navigation

requirements. Remember that navigation requires object references. Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Object references are attributes. Attributes need to be managed using operations. Attributes and operations are code that someone has to write and maintain. If navigation is not required, you can avoid Chapter 17 - Representing an Architecture in UML 2.0 that extra coding and maintenance. Defaulting the navigation results in navigation implementations on both Part VI - Bringing Rigor to the Model ends whether they are needed or not.
Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating Modeling Process arrows the are UML modeled on the end of

Chapter 19 - Action Semantics Caution Do not confuse navigation arrows with directional indicators on association names. Navigation

the association line. Directional indicators appear to the

Chapter 20 - Using a Modeling Tool left or right of the text of the association name. Chapter 21 - Customizing UML Using Profiles

Changeability Chapter 22 - XML Metadata Interchange


Appendix A - UML 1.4 Notation Guide Appendix B - UMLThe 2.0 default Notation Guide an association. changeability is to allow any type of edit-add, change, delete, and move. As Appendix C Standard Elements has been the case with other default values, you do not have to model the default. Glossary

Thechangeability property enables you to specify the operations that are allowed on the links defined by

If, however, the changeability needs to be restricted, the changeability value is represented in the property Index string along with ordering and constraints. The predefined options include {frozen}, which means that once List of Figures theof link has been established, it cannot be changed or moved. If the application only allows new links to be List Tables created (no deletions), use the {addOnly} property. List of Listings

Figure 6-15 models a new association example between the < Day Day Up >Contract and Vendor classes. The theater company sets up contracts with vendors who provide services and supplies to the venues. The contracts represent legal documents that must not be deleted from the vendors file. To prevent unwanted deletions, they set the {frozen} property on the contract end of the association.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve Figure 6-15:timeliness, Modeling the non-default changeability property {frozen}. quality, and efficiency in development. Companion Web Site The changeability property applies only to the link, the connection between a vendor object and a contract object. It does not say anything about the ability to change the contract itself. <?xml version="1.0" encoding="ISO-8859-1"?> Constraints between associations Table of Contents UML Bible Preface

Given the modeling options covered so far, how would you handle a situation where two associations are mutually exclusive? For example, let's say that a venue manager may either oversee an event or audit an Part I - An Introduction to UML event, but not both.
Chapter 1 - What Is UML? Chapter - UML Architecture Figure 2 6-16 models the "exclusive or"-{xor}-constraint notation used when the model needs to specify that Chapter 3 - UML Diagrams and exclusive. Extension Mechanisms two associations are mutually Draw a dashed line between the two associations. Place the {xor} Chapter 4 dashed - Object-Oriented Concepts {xor} constraint states that only one of the two associations may be near the line. The predefined
Part II - Modeling Object Structure instantiated between the pair of objects.

In the Figure 6-16 diagram, a venue may have an "oversees" link

to an event it may have "audits" link, but the same pair of objects can never have both links. Chapter 5 - or Capturing Rulesan about Objects in a Class Diagram
Chapter 6 Chapter 7 Chapter 8 Chapter 9 - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure 6-16: Exclusive or constraint on two associations {xor}.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application Architecture

Chapter 13 - Modeling Behavior Usingcomments an Activity (called Diagram general-purpose tools of the UML: notes in UML 2.0). The comment looks like a page

When the constraint involves more than two associations, you need to fall back on one of the other

with a folded corner. The text of the constraint goes inside the comment. Attach the comment to the

Chapter 14 - Modeling the Application Architecture constrained associations using a dashed line, called an anchor , from the note to each association, as Chapter 15 Modeling Software Using the Component Diagram shown in Figure 6-17. Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List ofFigure Figures6-17: Constraint notation involving more than two elements uses a comment (or note) with List of Tables

anchor lines to the constrained elements.

List of Listings

According to the Class diagram in Figure 6-17 a venue manager now has to choose whether to contract, < Day Day Up > audit, or coordinate an event. She must choose one of the three.

Reflexive association UML Bible


ISBN:0764526049 by Tom Pender so far have modeled relationships All of the association examples between objects of two different John Wiley & Sons 2003 (940 pages) classes, such as Event and Venue. There are times, however, when the participating objects belong to the For beginning advanced users, this book provides same class. For example, one to venue manager might provide backup for another venue manager. When comprehensive coverage of the versatility of 1.4 and 2.0 UML the participating objects are in two different classes, the association line comes out of one class and into specifications, and shows how to use UML to improve another class. When the objects alland belong to thein same class the association has to come out of the class timeliness, quality, efficiency development. and return back to the same class, as shown in Figure 6-18.

Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

Chapter 5 - 6-18: Capturing Rules about Objectsmodels in a Class Diagram between objects in the same class. Figure A reflexive association relationships Chapter 6 - How to Capture Rules about Object Relationships Chapter 7 -association Testing with Objects A reflexive is a very common place to use role names. In a binary association, the association
Part IIIalmost - Modeling Interactions reads like Object a sentence using the

class names. For example, "VenueManager audits Event" or

"Contract Agent". In a reflexive association the meaning may not be quite as clear. Without the role Chapter 8 binds - Modeling Interactions in UML 1.4 names9 in the Figure 6-18 diagram, the association would read, "one VenueManager is associated with Chapter - Modeling Interactions in UML 2.0 zero or10 more VenueManagers." With the in role names Chapter - Modeling an Object's Lifecycle UML 1.4 it reads, "VenueManagers functioning as coordinators always work with a Lifecycle VenueManager functioning as an auditor." Chapter 11 - Modeling an Object's in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

Derived associations

A derived association is much like a derived Part V - Modeling the Application Architecture

attribute in that it is not really needed. That is, the same

information could be the figured out by looking at other associations. Derived associations, like derived Chapter 14 - Modeling Application Architecture attributes, are used quite often for performance reasons, because when a model becomes large or Chapter 15 Modeling Software Using the Component Diagram complex, become difficult to navigate to the Chapter 16 it - can Using Deployment Diagrams in UML 1.4 information you need.
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

For example, Figure 6-19 represents a portion of the theater system. An agent has a contract with the venue. The venue hosts an event that is made up of a number of performances for which it sells tickets. In Chapter 18 - Applying to an theagent UML Diagrams order to find out howConstraints many tickets sold the application would need to traverse all of these Chapter 19 - Action Semantics associations, filtering out unwanted objects along the way. Given that agents always want to know how Part VII - Automating the UML Modeling Process much money they are making, this process could be a real burden on the system.
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List ofFigure Tables 6-19: Finding information in a large or complex model. List of Listings

One derived association is added in Figure 6-20 to solve the problem. The new association is added < Day Day Up > between the Agent and Ticket classes. A slash mark is placed in front of the association name to mark the association as derived. The slash is the same symbol we used for derived attributes.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure 6-20: The highlighted ellipse shows the derived association notation using a forward slash in
<?xml front version="1.0" encoding="ISO-8859-1"?> of the association name. Table of Contents

How does the new derived association work? Each time a ticket is sold by an agent, the ticket is updated UML Bible with a reference to the selling agent and the agent is updated with a reference to the ticket that he sold. Preface (These two referencesto depend, Part I - An Introduction UML of course, on the specified navigation.) When it comes time to look up the agent's sales, the application only needs to read one of the two references, that is, look up the tickets to Chapter 1 - What Is UML? see who sold them or look up the agent to see what tickets she sold. Chapter 2 - UML Architecture
Chapter 3 Chapter 4 Object-Oriented Concepts additional references and maintain them. So the trade off is between the cost of maintaining the additional
Part II - Modeling Object Structure

- UML Diagrams and Extension Mechanisms Using a derived association incurs the same overhead as using a derived attribute. You need to store the

references and the value of the improved performance.


- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

Chapter 5 Chapter 6 Chapter 7

UML 2.0 - Testing with Objects

Part III - Modeling Object Interactions

Chapter 8 - Modeling Interactions in UML 1.4 these notation concepts except interface specifiers. Interface specifiers have been dropped from the Chapter 9 The - Modeling Interactions inare UML 2.0 notation. changes in UML 2.0 primarily changes to the metamodel. The changes highlighted in Chapter - Modeling an Object's Lifecycle in UML 1.4 Figure 10 6-21 are identified in the following list and explained in the text that follows Figure 6-21: Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

This chapter has covered the fundamental association as defined in UML 1.4. UML 2.0 supports all of

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

Figure 6-21: The metamodel for associations. OMG 2.0

Glossary An association end is now defined by the Property metaclass. The UML 1.4 AssociationEnd metaclass Index has been deleted. Instead, an association end is defined by the role name memberEnd assigned to

Property end of the relationship between a Property and an Association. List ofthe Figures
List of Tables List of Listings

The default value for a memberEnd property is defined using a Value Specification instead of the

Attribute metaclass.

< Day Day Up >

Associations and Properties may be explicitly defined as being derived. The default is not derived, also called base. Formerly this was a feature of every instance of the ModelElement metaclass. But ModelElement has been removed from the metamodel. UML Bible Many features formerly assigned specifically to the AssociationEnd metaclass are now inherited from John Wiley & Sons 2003 (940 pages) more general metaclasses like StructuralFeature, MultiplicityElement, TypedElement, and Element. For beginning to advanced users, this book provides For example, formerly, an association end was typed by a direct association with a classifier. In UML comprehensive coverage of the versatility of 1.4 and 2.0 UML 2.0 the association between a memberEnd a type is a relationship inherited from specifications, and shows how toproperty use UML and to improve timeliness, quality, and efficiency in development. TypedElement.
Companion Web Site UML 1.4 specified navigability using an attribute of AssociationEnd. UML 2.0 defines navigability using two associations between the Association and Property metaclasses, distinguished by the role names memberEnd and ownedEnd. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible by Tom Pender
ISBN:0764526049

A qualifier is now defined by the Property metaclass instead of the Attribute metaclass. notation.

Preface The notation for navigability has been improved to remove some of the ambiguity in the UML 1.4
Part I - An Introduction to UML

Chapter 1

- What Is UML? The attribute opposite in Property simply states that a property can find out what property is on Chapter 2 derived - UML Architecture

the end of the association long as the other end is navigable). Chapter 3opposite - UML Diagrams and Extension (as Mechanisms
Chapter 4 Chapter 5
Part II - Modeling Object Structure

The vocabulary for the aggregation options has changed from none, aggregation , and composite, to none,shared , and composite. (Aggregation will be covered later in this chapter.)
- Capturing Rules about Objects in a Class Diagram

- Object-Oriented Concepts

Chapter - the How to Capture Rules aboutwere Object Relationships In UML61.4 ends of an association defined with a unique metaclass called AssociationEnd, a Chapter 7 Testing with Objects subclass of ModelElement. Two or more AssociationEnds were associated with an association. UML 2.0
Part III - Modeling Object Interactions simplifies this model by reusing the metaclass Property as

a means to describe the features of each end

Chapter 8 - Modeling Interactions in UML 1.4 end has been replaced with memberEnd. of an association. Even the term association Chapter 9 - Modeling Interactions in UML 2.0

The term a role played byin a UML property Chapter 10 memberEnd - Modeling anis Object's Lifecycle 1.4 when it is used to define an association. The
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

properties that function as memberEnds of an association define all of the classifiers referenced by the association. Part IV - Modeling Object Behavior
Chapter 12 - Modeling the own Use of a System That with the Use Case Diagram An association can also properties. is, the Association metaclass is associated with zero or more Chapter 13 Modeling Behavior Using an Activity Diagram properties in the role ownedEnd. An ownedEnd property is owned by the association itself and as such is
Part - Modeling Application Architecture not V navigable bythe other properties that participate

in the same association.

Chapter 14 - Modeling the Application Architecture

In other words, if the Software Contract Using end of the binds association Chapter 15 - Modeling the Component Diagramin Figure 6-22 is navigable (is a memberEnd property), an agent can, so to Diagrams speak, see Chapter 16 Using Deployment in the UMLend 1.4 of the association next to the Contract class. It can see the end of -the association because it is implemented as an attribute of type Contract in the Agent class. If Chapter 17 Representing an Architecture in UML 2.0 the VI Contract endRigor of the association Part - Bringing to the Model
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

is an ownedEnd property, an agent cannot see the Contract end of the

association because Constraints the end of the association is not navigable. Chapter 18 - Applying to the UML Diagrams

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables

Figure 6-22: Agent inherits from Vendor so Agent inherits the binds association with Contract.

List of Listings

A default value may be assigned to a memberEnd property using a ValueSpecification in the same way < Day Day Up > that a default value may be assigned to an attribute of a class. This is because both memberEnds and attributes are properties. The isDerived attribute is now part of the Property and Association metaclasses. So a memberEnd UML Bible property may be derived from other associations just as in UML 1.4. ISBN:0764526049 by Tom Pender The Property metaclass brings with it a number of features inherited from the ancestor classes For beginning to advanced users, this book provides (superclasses) pictured in Figure 6-21. The inherited features are listed following according to the comprehensive coverage of the versatility of 1.4 and 2.0 UML superclass that defines the feature. specifications, and shows how to use UML to improve
timeliness, quality, and efficiency in development. John Wiley & Sons 2003 (940 pages)

As a subclass of ModelElement, a property may own other properties. Hence, a memberEnd of an Companion Web Site association may be described using other properties like role names, multiplicity, visibility, and so forth.
<?xml version="1.0" encoding="ISO-8859-1"?> property. So a memberEnd identifies the type of class that participates in the association. Table of Contents UML Bible

As a subclass of TypedElement, a property is associated with a Classifier that defines the type of the As a subclass of Feature, a property may be defined as applying to an instance or to a classifier. This attribute. The default for the isStatic attribute is false, meaning that the property has a unique value for

Preface means that the implementation for a memberEnd may be an instance-level or static/class-level
Part I - An Introduction to UML

Chapter 1 instance - What Isof UML? each the referenced class/classifier. A true value for isStatic means that the attribute is Chapter 2 - UML declared as Architecture static, that there is only one value that is owned by the class/classifier and shared by all Chapter 3 - UML and Extension Mechanisms instances of Diagrams the class/classifier. Chapter 4 - Object-Oriented Concepts

As a subclass of MultiplicityElement, Part II - Modeling Object Structure

a property can be defined as having some number of values.

When property Rules has more than one value, theDiagram values may be ordered and may be constrained to Chapter 5 -a Capturing about Objects in a Class make certain that every value is different. Ordering is specified using the isOrdered attribute, which Chapter 6 How to Capture Rules about Object Relationships
Chapter 7

defaults to false (unordered). The uniqueness of the values is specified using the isUnique attribute, - Testing with Objects which defaults to true (unique). Part III - Modeling Object Interactions
Chapter - Modeling in UML 1.4 As8 a subclass ofInteractions StructuralFeature, a property may be designated as read only or changeable. The Chapter 9 - Modeling Interactions in UML is 2.0 default for the isReadOnly attribute false, meaning that a property may be modified. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

As11 a subclass ofan StructuralFeature, Chapter - Modeling Object's Lifecycle a inproperty UML 2.0is also redefineable. That is, a general property may be specialized by another property that Part IV - Modeling Object Behavior overrides and/or adds to the features of the general property through inheritance. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

The concept of a redefineable element refers to inheritance between model elements such as classes. Since I haven't yet covered inheritance, you might want to come back to this topic after reading the section Chapter 14 - Modeling the Application Architecture on generalization later in this chapter.
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams UML 1.4 Aredefineable element is a reference toin an inherited model element. For example, in Figure 6-22 the Chapter 17 - Representing Architecture in UML 2.0 Agent class inherits from an the Vendor class. That means that an agent is a type of vendor and as such the
Part VI inherits - Bringing the Model agent all Rigor of theto features of a

vendor, including the association with the Contract class.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Whenever a feature is inherited, the inherited feature is considered to be redefineable, that is it can be overridden or extended. In Figure 6-23, the binds association between the Vendor and the Contract is Part VII - Automating the UML Modeling Process inherited by the Agent class. The inherited association is redefined to describe the relationship between an Chapter 20 - Using a Modeling Tool agent (a specialized type of Vendor) and the Contract class. The new association changes the inherited Chapter 21 - Customizing UML Using Profiles association in two ways:
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

1.

Figure 6-23: Redefining the end of an association. < Day Day Up > 1. The first change is to the multiplicity on the Contract end of the association. The contract multiplicity changed from zero or more (0..*) to one or more (1..*). The 0..* multiplicity on the Contract end of the Contract-Vendor UML Bible association states that the theater company wants to keep track of vendors whether they have zero contracts or many contracts with the theater company. But the multiplicity ISBN:0764526049 by Tom Pender on the Agent end of the Contract-Agent association states that the theater company tracks agents John Wiley & Sons 2003 (940 pages) only if they have at leastto one (1..*) contract with the theater company. For beginning advanced users, this book provides Cross-Reference Multiplicity notation as 1, 0..* and 1..*) is covered in Chapter 5. specifications, and shows how to use (such UML to improve
timeliness, quality, and efficiency in development. comprehensive coverage of the versatility of 1.4 and 2.0 UML

When redefining multiplicity, the rules state that the lower bound may increase, that is, it may Companion Web Site become more restrictive. In this example, the lower bound changed from zero (0..*) to one (1..*). In like manner, the upper bound may not be higher, or less restrictive than the redefined/original value. <?xml version="1.0" encoding="ISO-8859-1"?>
Table of Contents

The second change is to the changeability value. In Figure 6-23 the changeability of the UML 2. Bible
Preface

memberEnd next to Contract allowed any type of change to the memberEnd because the isReadOnly attribute is set to the default value of false. The redefined memberEnd states that the Part I - An Introduction to UML link has to remain unchanged, isReadOnly=true, once it has been established. The UML 2.0 Chapter 1 - What Is UML? {readOnly} attribute of the memberEnd corresponds to the UML 1.4 changeability value {frozen}.
Chapter 2 - UML Architecture Chapter 3 is - also UML defined Diagrams and Mechanisms Ordering by an Extension attribute of property that is inherited from MultiplicityElement. If the Chapter 4 Object-Oriented Concepts in the redefined memberEnd, the redefining memberEnd may set it to isOrdered value is false (unordered)
Part - Modeling Object Structure trueII (ordered). However, if the original

value is true, the redefining memberEnd property may not change it

Chapter 5 In-other Capturing Rules about Objects in a Class property Diagram may not make an ordered memberEnd to false. words, a specialized memberEnd Chapter 6 become - How to Capture Rules about Object Relationships property unordered. Chapter 7

As a subclass of Element a memberEnd Part III - Modeling Object Interactions


Chapter 9

property can have a name. To indicate that a memberEnd property redefines another memberEnd property, use the keyword redefined and the name of the Chapter 8 - Modeling Interactions in UML 1.4 redefined memberEnd property in the following syntax:
- Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

- Testing with Objects

{redefined <end-name>} Chapter 11 - Modeling an Object's Lifecycle in UML 2.0


Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

In Figure 6-24 the Contract end of the Contract-Agent association redefines the memberEnd called contract on the Contract-Vendor association.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Figure Modeling the redefined memberEnd property called contract. Appendix B - 6-24: UML 2.0 Notation Guide
Appendix C - Standard Elements Glossary Index

The memberEnd name in UML 2.0 replaces the role name in UML 1.4. When there is no memberEnd/role name, the memberEnd gets its name from the name of classifier that gives it its type.

List of Figures Since inheritance may encompass any number of levels, there may be any number of redefined List of Tables properties. At each level of inheritance, there is a potential to redefine the inherited elements. memberEnd List Listings multiple redefined elements, simply list them together inside a single pair of curly braces To of represent

separated by commas, such as {redefined class, classifier, namespace}. < Day Day Up > A qualified association defines a memberEnd property that owns another property in the role of a qualifier of the memberEnd property. This replaces the UML 1.4 scheme that defined a qualifier as an attribute associated with an association end since in UML 1.4 both attributes and association ends are defined as UML Bible properties. ISBN:0764526049 by Tom Pender As you can see, a memberEnd property can utilize a number of descriptive attributes. Table 6-1 provides a For beginning to advanced users, this book provides summary of the features of a memberEnd property and how they are depicted at the end of an association comprehensive coverage of the versatility of 1.4 and 2.0 UML in a Class diagram. When more than one how of these features specifications, and shows to use UML to appears improve together they are enclosed in a single timeliness, quality, by and efficiency in development. pair of curly braces and separated commas. For example, you could write {subsets propertyA, redefines propertyA, union, bag}. If the end of the association is navigable (is a memberEnd, not an Companion Web Site ownedEnd), you can also add any property strings that apply to an attribute, in addition to the features listed in Table 6-1.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible John Wiley & Sons 2003 (940 pages)

Table 6-1: Summary of Notations for memberEnd Features Explanation

Feature notation Preface


Chapter 1

Part I - An Introduction to UML

- What Is UML? {subsets<propertyChapter 2 - UML Architecture The memberEnd property is a subset of the other memberEnd property

name>} referenced <property-name>. Chapter 3 - UML Diagrams and Extension by Mechanisms


Chapter 4 - Object-Oriented Concepts {redefined<endThe memberEnd property redefines the other memberEnd property
Part II - Modeling Object Structure name>} referenced

by <end-name>.

Chapter 5 Chapter 6 Chapter 7 Chapter {bag} 8 Chapter 9

{union}

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

The memberEnd property is derived by being the union of all memberEnds that subset it. property represents an ordered set, the default.

{ordered} The memberEnd Part III - Modeling Object Interactions

- Modeling Interactions in UML 1.4 property represents a collection that permits the The memberEnd - Modeling Interactions inelement UML 2.0to appear more than once. same

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

{sequence} or {seq}

The memberEnd property represents a sequence (an ordered bag).

Chapter 12does - Modeling the one Use of a System with the Use Case Diagram UML 2.0 introduce change to the association notation for navigability. In UML 1.4 it was Chapter 13 Modeling Behavior Using an Activity Diagram impossible to tell the difference between an association that was not navigable, one that was undefined,
Part - Modeling theend Application Architecture andVan association that was part of a bi-directional

association. UML 2.0 solves this problem with the

Chapter 14 Modeling the Application Architecture addition of-a simple X' on an association end that is not navigable. The resulting navigability options are Chapter 15 Modeling Software Using the Component Diagram illustrated in Figure 6-25. Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List ofFigure Listings 6-25: Notation for the allowed navigability options in UML 2.0.

< Day Day Up > The following is brief description of the meaning of each example association illustrated in Figure 6-25.

Example 1 models an association in which navigability is undefined on both ends.


UML Bible Example 2 models an association in which an agent can access (navigate to) the contracts but ISBN:0764526049 by Tom Penderto an associated agent is undefined. navigation from a contract Notice that the absence of navigation John Wiley & Sons 2003 (940 pages) notation is an undefined value. For beginning to advanced users, this book provides comprehensive coverage of the an versatility of 1.4 and 2.0 UML Example 3 models an association in which agent can access the associated contracts and a and shows how to usecombination UML to improve contract can specifications, access the associated agent. This of navigation notation is called bitimeliness, quality, and efficiency in development. directional navigation. Companion Web Site

Example 4 models an association in which an agent can access the contracts but a contract cannot access the associated agent. The X' on the end of the association indicates that the association end is <?xml version="1.0" encoding="ISO-8859-1"?> not navigable. This combination of navigation notation is called unidirectional navigation.
Table of Contents UML Bible Example 5 models an association in which an agent can access the contracts and a contract cannot Preface access the associated agent. This is a rather useless notation but it illustrates the use of the X' as a
Part Iway - Anto Introduction UML distinguish to non-navigable

relationships from undefined relationships.

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms < Day Day Up > - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling an Association Class by Tom Pender


ISBN:0764526049

An association between two& types objects often requires information not just about the participating John Wiley Sonsof 2003 (940 pages) objects but also about the association itself. For example, did the association begin? When did it For beginning to advanced users, this book when provides end? Were therecomprehensive terms or conditions applied to the association? coverage of the versatility of 1.4 and 2.0 UML

Association class notation


Companion Web Site

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

In an object oriented model all information is modeled as attributes. Attributes reside within classes. So information about an association must be defined as attributes in a class. But how do we model the fact <?xml version="1.0" encoding="ISO-8859-1"?> that of theContents information describes an association, and not an entity like a venue or an event? Figure 6-26 Table models UML Bible the association between agents and the theater company. The association is described in terms of start, end, terms and conditions, and authorization. The descriptive attributes are encapsulated within a Preface class called Contract. The Contract class is then connected to the authorizes association that it describes Part I - An Introduction to UML using a dashed line. The dashed line does not have an arrow.
Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Figure 6-26: Object Association class Part IV - Modeling Behavior

captures information about an association.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

An association class is much like any other class. The only real difference is in how you found the need for the class. Where most classes describe an entity, something that you can see or touch, an association Part V - Modeling the Application Architecture class describes a relationship. Because an association class is just another class, it can participate in other Chapter 14 - Modeling the Application Architecture associations. Figure 6-27 shows how the Contract class may also be associated with a SalesAgreement Chapter 15 Modeling Software Using the Component DiagramThe sales agreement details the scheduling of class. The contract provides the legal right to do business. Chapter 16 Using Deployment Diagrams in UML 1.4 services within the terms defined by the contract.
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

Figure 6-27: An association class may participate in other associations.

Association class promotion

The association class notation is valuable in that it reveals why the new class was added. But it also poses challenges for implementation. By default, an association class defines a type of link between the two List of Tables classes. So an instance of the association class, one contract in the example, refers to a single connection List of Listings between one theater company and one agent. But what happens when a contract can apply to more than
List of Figures

one agent? For example, a contract might apply to an agency that employs a number of agents who will < Day Day Up > all be bound by the same contract. In this situation, the default multiplicity will not work. In order to correct the problem, the diagram needs to change to reveal UML the association ends so that they can be modified. Figures 6-28 through 6-30 show the Bible steps to transition the implied associations to explicit associations that can be updated. ISBN:0764526049 by Tom Pender Step 1, shown in Figure 6-28, adds and names two new associations based on the implied associations For beginning to advanced users, this book provides from the association class. That is, the association class defines a link that connects exactly one theater comprehensive coverage of the versatility of 1.4 and 2.0 UML company and one agent. Note and the multiplicity the new associations: a contract refers to exactly one specifications, shows how on to use UML to improve quality, and efficiency in development. theater companytimeliness, and one agent.
Companion Web Site John Wiley & Sons 2003 (940 pages)

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms

Figure 6-28: Add the explicit associations to replace the associations implied by the association class.

Chapter - Object-Oriented Concepts Step 2,4shown in Figure 6-29, assigns the multiplicity on the contract end of each association. The
Part II - Modeling Structure multiplicity of the Object original association read,

"Each theater company authorizes zero or more agents", and

Chapter 5 - Capturing Rules about Objects in a Class Diagram The new associations read, "Each theater "Each agent is authorized by exactly one theater company". Chapter 6 How to Capture Rules about Object Relationships company approves zero or more contracts", and "Each agent is authorized by one contract". Chapter 7 Chapter 8 Chapter 9 - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Figure 6-29: Map the original multiplicities to the two new associations.

Chapter 15 - Modeling Software the Component Diagram This translation of the original Using association into two new associations reveals two problems. First, we need Chapter 16 Using Deployment Diagrams in UML 1.4 the contract to apply to one or more agents. To correct this problem, change the multiplicity next to agent Chapter 17 (1) - Representing an Architecture in UML 2.0 from one to one or more (1..*). Second, if contracts only last a year, an agent might have many
Part VI - Bringing Rigor to the Model contracts over time. To correct this problem,

change the multiplicity near the contract end of the

Chapter 18 -association Applying Constraints the authorizes from oneto (1) to UML one Diagrams or more (1..*). Chapter 19 - Action Semantics

Step 3 incorporates changes, asProcess shown in Part VII - Automating these the UML Modeling
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables

Figure 6-30. Once the two new associations have been fully defined and updated, the original association may be deleted. Chapter 20 - Using a Modeling Tool

Figure 6-30: Update the new (exposed) association multiplicity as needed.

List ofevery Listings Not association class needs to be expanded in this manner. The only time it is necessary is when the

implied associations are not accurate. Then the implied associations need to be made explicit so that the < Day Day Up > association ends are exposed and may be modified.

UML 2.0

UML Bible

by Tom Pender The UML 2.0 definition for an association class is the same as ISBN:0764526049 in UML 1.4. An association class is a John Wiley & Sons 2003 (940 pages) subclass of both the Class and Association metaclasses. For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve < Day Day Up > timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling N-ary Associations by Tom Pender


ISBN:0764526049

So far all the association examples have involved John Wiley & Sons 2003 (940 pages) at most two classes. On rare occasions you might find it necessary to associate more classes. Such associations are considered n-ary as opposed to binary. For For beginning to advanced users, this book provides example, in order to define a schedule there must be an event, coordinating venue manager, and a comprehensive coverage of the versatility of 1.4 a and 2.0 UML specifications, and shows howbe to added use UML improve location to host the event. An event may only toto the schedule when all three elements are in timeliness, quality, efficiency classes in development. place. Figure 6-31 models the threeand participating and the diamond symbol in the middle is used to merge the three association ends intoSite one association. The Schedule class is an association class that Companion Web describes the combination as a scheduled item.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

- Modeling Interactions in UML 1.4 Figure 6-31: An n-ary association using the diamond symbol. - Modeling Interactions in UML 2.0

Chapter 10association - Modeling an Object's Lifecycle in UML An n-ary may include any number of1.4 classes, but be careful to avoid creating an overly Chapter 11model. - Modeling an Object's Lifecycle in UML 2.0 can be broken down into a set of binary associations. complex In most cases an n-ary association
Part IV - depending Modeling Object Behavior In fact, on the features

of your programming environment, you may have no choice but to break

it down12 into a set of binary associations in order to implement the associations. Chapter - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

The UML 2.0 definition for n-ary associations is consistent with the definition in UML 1.4.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram < Day Day Up > Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling Aggregation by Tom Pender


ISBN:0764526049

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Figure 6-32 summarizes the relationships between association and aggregation. The diagram illustrates UML thatBible aggregations are a subset of all associations. The aggregation subset is a specialization that Preface introduces a new set of characteristics that regular associations do not have:
Part I - An Introduction to UML

Aggregation describes a special type of association John Wiley & Sons 2003 (940 pages) designed to help us cope with complexity. In a typical association the participating classes are peers. Each remains independent of the other and neither For beginning to advanced users, this class book provides class is superior to the other. They simply communicate. Aggregation, the other hand, defines a definite comprehensive coverage of the versatility of 1.4 and 2.0on UML specifications, and an shows how toor use UML to improve hierarchical relationship. It defines assembly configuration of elements to make a larger more timeliness, quality, and in development. complex unit. The saying "The whole is efficiency greater than the sum of the parts" is true with aggregation. Furthermore, in an aggregation objects Companionof Web Site there has to be a point of control, a boss, one object that represents the interface to the assembly and assumes responsibility for coordinating the behavior of the aggregation.

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 8 - 6-32: Modeling Interactions in UML 1.4 of an aggregation association. Figure The unique characteristics Chapter 9 - Modeling Interactions in UML 2.0

An10 aggregation used primarily to define and Chapter - Modelingis an Object's Lifecycle in UML 1.4protect the integrity of a configuration of objects.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - the Modeling the Application Architecture to configuration. The control object then

An aggregation defines a configuration so that the collection of objects can be managed as a single unit, as though the collection was one large object. propagates instructions to objects within the configuration

Chapter - Modelingdefines Behavior Activity in Diagram An13 aggregation a Using focus an of control one object in the configuration that provides the interface Chapter 14 - Modeling the Application Architecture to satisfy the interface. Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Aggregation may represent both physical and logical assemblies. For example, aggregation can model the configuration of a desktop computer as easily as the configuration of a project team. In a model of a Chapter 17 - Representing an Architecture in UML 2.0 desktop, the classes represent hardware devices that have physical connections in the forms of wires, Part VI - Bringing Rigor to the Model cables, and even soldered contacts. In the model of a project team, the classes represent people who are Chapter 18 - Applying Constraints to the UML Diagrams "connected" by agreements and assignments. The associations in the project team model represent Chapter 19 - Action Semantics intangible relationships.
Part VII - Automating the UML Modeling Process

Chapter - Using a Modeling Tool to the logical model as to the physical model. The team can have a Yet the20 same rules can be applied Chapter - Customizing UML Using point of21 control, a project leader orProfiles manager for instance, who directs the activities of the team. If the team Chapter 22 - XML Metadata Interchange is assigned to a new location or to work on a new assignment, every member of the team participates in

the relocation or 1.4 the Notation work on Guide the assignment. They function together as a unit as directed by the project Appendix A - UML leader. B - UML 2.0 Notation Guide Appendix
Appendix C - Standard Elements Glossary

If aggregation is just another type of association then why is it so important to define aggregation as something different? What is the value for the added notation? The answer is that aggregation describes a Index group of objects in a way that changes how you interact with them. The concept is aimed at protecting the List of Figures integrity of a configuration of objects in two specific ways.
List of Tables List of Listings First, aggregation defines a single point of control in one object, the aggregate, that represents the entire

configuration. This ensures that no matter what others might want to do to the members of the assembly, < Day Day Up > the aggregate has the final word on whether the actions are allowed. This assignment of control may be at many levels within the aggregation hierarchy. For example, an engine might be the controller of its parts, but the car is the controller of the engine, and the other parts of the car.
UML Bible

It is important to note, however, choice. There is no syntax either in ISBN:0764526049 by Tom Pender that this model of control is a design UML or in programming languages to enforce this design choice. There is no code construct that prevents John Wiley & Sons 2003 (940 pages) a programmer from calling an operation on a member object. The intent of aggregation notation is to For beginning to advanced users, this book provides inform the programmer of the designer's intent to work through the designated point of control, the comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve aggregate object.
timeliness, quality, and efficiency in development.

Second, when an instruction is given that might affect the entire collection of objects, the aggregate object Companion Web Site dictates how the members will respond, so the assembly appears to function like a single object. For example, when I push the gas pedal on my car to tell the car I want to accelerate, the entire car assembly <?xml (withversion="1.0" its thousandsencoding="ISO-8859-1"?> of parts) accelerates, not just the gas pedal.
Table of Contents

Once this pattern of propagation from aggregate to members is defined at every level of the assembly, no UML Bible one outside the assembly needs to be aware of it. They need only invoke the aggregate object's interface. Preface The handled within the Part I rest - Anis Introduction to UML
Chapter 2 Chapter 3 - UML Architecture

assembly. This is what I meant at the beginning of the chapter when I said that aggregation helps us control complexity. Chapter 1 - What Is UML? It is common practice to model an aggregation in one diagram. Then everywhere the aggregation is used, - UML Diagrams and Extension Mechanisms only the aggregate class appears. This is because we know that all interaction with the assembly goes Chapter 4 - Object-Oriented Concepts through the aggregate and that the behavior of the assembly has already been defined on the other Part II - Modeling Object Structure diagram and doesn't need to be modeled again.
Chapter 5 - Capturing Rules about Objects in a Class Diagram Aggregation models a relationship just like an Relationships association, so the same rules apply to defining Chapter 6 - How to Capture Rules about Object

aggregations as to associations, Chapter 7 - Testing with Objects namely roles, multiplicity, qualifiers, changeability, constraints, and derivation. Part III - Modeling Object Interactions
Chapter 8 Chapter 9 - Modeling Interactions in UML 2.0 1. Draw an association (a line) between the 1.4 class that represents the member and the class that Chapter 10 - Modeling an Object's Lifecycle in UML

To model aggregation on a class diagram:

- Modeling Interactions in UML 1.4

the assembly. In Figure Chapter represents 11 - Modeling an Object's Lifecycle in6-33 UML there 2.0 is an association line between the Agency class and class. Part IV -Agent Modeling Object Behavior
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

6-33: How to model an relationship. Chapter 17 -Figure Representing an Architecture in aggregation UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams


Part VII - Automating the UML Modeling Process

Chapter 33 19 the - Action Semantics diamond is next to the Agency class that represents the organizations that employ the

2. Draw a hollow diamond on the end of the association that touches the assembly class. In Figure 6agents who work for the theater company.

Chapter 20 - Using a Modeling Tool

3. Assign the appropriate multiplicities Chapter 21 - Customizing UML Using Profiles to each end of the association, and add any roles and/or that might be needed to define the rules for the relationship as in Figure 6-33. Chapter constraints 22 - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

Figure 6-33 reads as follows:

a. An agent mayElements be a part of no more than one agency, but an agent does not have to be part of an Appendix CStandard
Glossaryagency (0..1), that is an agent may be independent. Index List of Figures (1..*). List of Tables

b. The agency is always comprised of at least one agent but there may be any number of agents

c.Listings An agent is considered an employee (role name) of an agency. List of d.

c.
< Day Day Up have > d. Every agent is constrained by the fact that she must a current contract in order to be an employee of the agency.

UML Bible

< Day Day Up > ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling Composition by Tom Pender


ISBN:0764526049

Composition is used for aggregations where life span of the member object depends on the life span John Wiley & Sons 2003 (940 the pages) of the aggregate.For The aggregate not only has control over the behavior of the member, but also has beginning to advanced users, this book provides control over the creation and destruction of the member. In other words, the member object cannot exist comprehensive coverage versatility of 1.4 and 2.0 UML specifications, shows how to use is UML tocomposition improve apart from the aggregate. This and greater responsibility why is sometimes referred to as strong timeliness, quality, efficiency is in a development. aggregation. Figure 6-34 shows thatand composition subset of aggregation, just as aggregation is a subset of association.Companion Web Site
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Figure 6-34: How to model an aggregation relationship.

Part III - Modeling Object Interactions

Chapter - Modeling Interactions in UML 1.4 project 8 team example uses aggregation, the hollow diamond; employees are assembled into a project Chapter 9 in UML 2.0 team. But if Modeling the teamInteractions is disbanded, the employees live on (depending, of course, on how well they

Draw this stronger form of aggregation simply by filling in the aggregation diamond. In Figure 6-35, the

Chapter 10 - on Modeling an Object's Lifecycle in UML 1.4 performed the project). The theater event example uses composition, the solid diamond; an event is Chapter 11 - of Modeling Object's Lifecycle in UML 2.0 composed one or an more performances. The performances would not continue to exist elsewhere on
Part IV - Modeling Object Behavior their own. If the event were deleted,

the performances would cease to exist along with the event. In a

Chapter 12 environment - Modeling the Use a System with the Use Case Diagram database this is of called cascading deletions. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2

- What Is UML? - UML Architecture

Chapter 3 - 6-35: UML Diagrams and Extension Mechanisms Figure How to represent a composition relationship in UML. Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure The multiplicity provides some clues about

the distinction between aggregation and composition. On the

project5 team exampleRules in Figure 6-35, each may or may not be a member of a project team Chapter - Capturing about Objects in employee a Class Diagram (0..*). This that employees may exist independent Chapter 6 -tells Howme to Capture Rules about Object Relationships from project teams. In fact, an employee may simultaneously participate in many project teams. Aggregation is a weak association in that it allows the Chapter 7 - Testing with Objects members to participate not participate or Part III - Modeling Objector Interactions
Chapter 8 Chapter 9 - Modeling Interactions in UML 1.4

even participate in other aggregations at the same time.

Composition is exemplified by the event example that says that a performance must be associated with - Modeling Interactions in UML 2.0 one and only one event (1..1). This tells me that a performance cannot exist independent of the event. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Composition does allow a member object to be moved to another composite before the original composite Chapter 11 - Modeling Object's Lifecycle inalways UML 2.0 is destroyed. But the an member object must end up inside a composite by the end of the change Part IV - Modeling Object Behavior transaction.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Tip As point of Behavior reference for Java programmers, Chapter 13 -a Modeling Using an Activity Diagram composition does have a coding equivalent in Java using the private inner class construct. Part V - Modeling the Application Architecture Private inner classes in Java are inaccessible to any classes other than the outer class they are created within. As a result, they only serve that outer Chapter 14 - Modeling the Application Architecture class and would generally garbage collected when the object of the outer class is garbage Chapter 15 - Modeling Software Usingbe the Component Diagram collected. Although UML and Java implementations differ slightly, they are close enough to Chapter 16 - Using Deployment Diagrams in UML 1.4 perhaps help you understand composition Chapter 17 - Representing an Architecture in UML 2.0 if you are already familiar with Java.
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Alternative notation in UML 1.4

UML 1.4 provides anthe alternative notation for composition Part VII - Automating UML Modeling Process

using a composite object with nested objects. (UML 2.0 offers similar capabilities in the Composite Structure diagram.) A composite object provides the Chapter 20 - Using a Modeling Tool context for modeling the elements used to construct it. The member elements are drawn inside the Chapter 21 - Customizing UML Using Profiles context to indicate containment. Nested containment simply continues the context approach to as many Chapter 22 - XML Metadata Interchange levels as are needed, that is, you could place objects within one of the performance objects in the same Appendix A - UML 1.4 Notation Guide manner that the performances are placed within the event context. Figure 6-36 provides an example using Appendix B - UML 2.0 Notation Guide the event/performance relationship.
Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site Figure 6-36: A composite object.

The version="1.0" composite object is modeled as a rectangle with a name compartment and containment area. The <?xml encoding="ISO-8859-1"?> name in the name compartment at the top of the symbol. The name of the object is the name of Table ofappears Contents the Bible class that it represents-Event, in this example. UML
Preface

The member objects are represented inside the border of the composite object. The member names use the format role name : classifier, where role name comes from an association end in which the class Chapter 1 - What Is that UML? participates. Notice there are three member objects of Event. But all three are of the same class, Chapter 2 UML Architecture Performance, each with a different role name.
Part I - An Introduction to UML

Chapter 3

- UML Diagrams and Extension Mechanisms The number in the top right Concepts corner of the member icons is the multiplicity. According to the multiplicities on Chapter 4 - Object-Oriented

the II member objects, we see that Part - Modeling Object Structure

creating an event may imply scheduling at the very least one (1..1)

premier and possibly any number (0..*) of "regular" performances, and possibly (0..1) a Chapter 5 performance, - Capturing Rules about Objects in a Class Diagram "closing performance. Chapter 6 night" - How to Capture Rules about Object Relationships
Chapter 7

In a composite object, as in any type of aggregation, the members of the aggregation may be associated with one another. For example, for the event in Figure 6-36, the premier performance precedes the Chapter 8 - Modeling Interactions in UML 1.4 regular performances, which precede the closing night performance.
Part III - Modeling Object Interactions

- Testing with Objects

Chapter 9

- Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

UML 2.0

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

UML 2.0 alters the definitions for aggregation and composition just slightly from UML 1.4. The enumeration AggregationKind and the definitions are summarized in Table 6-2. Table 6-2: AggregationKind in UML 1.4 and 2.0

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram UML 1.4 UML 2.0 Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the The Model none none relationship

is a simple association.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Defines a whole/part relationship that implies propagation from the aggregate object to the part object. If one end is aggregate, the other Part VII - Automating the UML Modeling Process end must have an AggregationKind of none. Part objects function as a Chapter 20 - Using a Modeling unit Toolwith the aggregate object. But the part objects may exist Chapter 21 - Customizing UML independent Using Profilesof the relationship. Part objects may participate Chapter 22 - XML Metadata Interchange simultaneously in multiple aggregate relationships.
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

aggregate

shared

A strong form of aggregation in which a part object may be a member of no more than one composite object at any time. "The composite Appendix C - Standard Elements object has the responsibility for the existence and storage of the Glossary composed objects (parts)." (UML 2.0)
Index List of Figures List of Tables List of Listings

composite

composite

Day Day Up > Caution There is significant debate about< the interpretation of composition. The UML 2.0 specification allows a part object to be removed from a composite and live independently. But it also states that "the composite object has the responsibility for the existence and storage of the composed objects (parts)." The debate centers on the question, "If a part exists outside of a UML Bible composite how can the composite be responsible for the existence and storage of the ISBN:0764526049 by Tom then Pender parts?" Some argue that it is a bit like saying that composition is composition unless it is John Wiley & Sons 2003 (940 pages) aggregation and that an object can switch between the two at will. For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. < Day Day Up > Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling Generalization by Tom Pender


ISBN:0764526049

Generalization is John the process organizing the properties of a set of objects that share the same purpose. Wiley & of Sons 2003 (940 pages) People use this process routinely to organize large amounts of information. Walk through a grocery store For beginning to advanced users, this book provides and you will find foods located in areas of the store depending their properties. Dry goods are comprehensive coverage of the versatility of 1.4upon and 2.0 UML specifications, and shows how to use UML toin improve located in one area, fruits and vegetables in another, meat yet another. All of these items are foods, but quality, and efficiency development. they are differenttimeliness, kinds of foods or types of foods.in Phrases like "kind of" and "type of" are often used to describe a generalization relationship between classes. For example, a play is a type of event and an Companion Web Site agent is a kind of vendor.
<?xml encoding="ISO-8859-1"?> You version="1.0" might also hear this type of relationship called inheritance. Many times the terms generalization and Table of Contents inheritance are used synonymously. That is, if a play is a kind of event, then a play inherits all of the UML Bible of an event. A play is also a specialization of an event because it inherits all of the generalized features Preface features of an event and adds some unique features, or overrides/redefines existing features, which only
Part I - to An Introduction to UML apply plays. In the reverse,

I could say that the concept "event" is a generalization of the facts that are

Chapter What concerts, Is UML? lectures series, movies, and corporate meetings. true for1all-plays, Chapter 2 - UML Architecture

There are six fundamental criteria for specializing or generalizing classes: Chapter 3 UML Diagrams and Extension Mechanisms
Chapter 4
Part II - Modeling Object Structure

- Object-Oriented Concepts Attribute definitions

Chapter 5 - Capturing Rules about Objects in a Class Diagram Attribute domain of values Chapter 6 - How to Capture Rules about Object Relationships

Operations (signature) Chapter 7 - Testing with Objects


Part III - Modeling Object Interactions

Chapter 8

Methods

- Modeling Interactions in UML 1.4

Chapter 9 - Modeling Interactions in UML 2.0 Associations Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Links Chapter 11 - Modeling an Object's Lifecycle in UML 2.0


Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

We'll cover more about these when we get to discriminators.

Distinguishing generalization from association

Chapter 14 - Modeling the Application Architecture

A generalization is not an association. In fact, association and generalization are treated as separate types of relationships in the UML metamodel. The metamodel class Relationship is specialized into associations, Chapter 16 - Using Deployment Diagrams in UML 1.4 generalizations, flows, and dependencies. Associations define the rules for how objects may relate to one Chapter 17Generalization - Representingrelates an Architecture in UML 2.0 another. classes to one another where each class contains a subset of the features Part VI - Bringing Rigor to the Model needed to define one type of object. Instantiating all the feature subsets from each of the classes in a Chapter 18 - Applying Constraints tothe thegeneralization UML Diagrams results in one object. single inheritance/vertical path of
Chapter 15 - Modeling Software Using the Component Diagram Chapter 19 - Action Semantics

For VII example, take a the look at the event generalization Part - Automating UML Modeling Process

in Figure 6-37. To create a Musical object, you would need to combine the Musical class, the Play class, and the Event class to get all the features - the Chapter 20 - Using a Modeling Tool attributes, operations, and associations that define a Musical object. From the combined set of features, Chapter 21 - Customizing UML Using Profiles you could create (instantiate) one object of type Musical. Chapter 22 - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1

- What Is UML?

Chapter 2 - 6-37: UML Architecture Figure Generalization structure with two levels of specialization. Chapter 3 - UML Diagrams and Extension Mechanisms

To express same thing in words, you might say, "A musical is a type of play, and a play is a type of Chapter 4 - the Object-Oriented Concepts event." For this reason, you sometimes hear Part II - Modeling Object Structure generalization called the "is a" relationship. That is to say, every musical object "is a" play object and play object "is an" event object. Note that a musical is not Chapter 5 - Capturing Rules about Objects inevery a Class Diagram associated play. A musical is a play. Chapter 6 - with How a to Capture Rules about Object Relationships
Chapter 7

This unique relationship between classes in a generalization raises an interesting problem. In Chapter 4, I described the concept of visibility. Visibility determines which other objects can see an attribute or Chapter 8 - Modeling Interactions in UML 1.4 operation. Normally, attributes are set to private so that only objects of the same class may see them. But Chapter 9 - Modeling Interactions in UML 2.0 what would happen to the Musical class in Figure 6-37 if the attributes of the Play class were set as Chapter 10 - Modeling anMusical Object'sclass Lifecycle in UML 1.4 access to them so inheritance, in essence, is shortprivate? Objects of the would not have Chapter 11 Modeling an Object's Lifecycle in UML 2.0 , is defined to handle just this situation. The protected circuited. Another visibility, called protected visibility Part IV - Modeling Object Behavior visibility allows only objects of the same class and subclasses of that class to see the element.
Part III - Modeling Object Interactions

- Testing with Objects

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Note, however, that using protected attributes encapsulation since more classes can now Chapter 13 - Modeling Behavior Using an Activity compromises Diagram access those attributes. Thus, in some cases Part V - Modeling the Application Architecture it might be better to keep the data private and let the subclasses public get/set operations, or to have private data and protected get/set operations so that Chapter 14 - use Modeling the Application Architecture only subclasses can Software affect those attributes at all, and they still have to use the operations to do so. Chapter 15 - Modeling Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Generalization notation

Because generalization relationship is not a form of association, there is no need for multiplicity, roles, Chapter 18 the - Applying Constraints to the UML Diagrams and constraints. These elements are simply irrelevant. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

To explain the notation for a generalization relationship, I first need to define superclass, subclass, abstract class, and concrete class. A superclass is a class that contains some combination of attributes, Chapter 21 - Customizing UML Using Profiles operations, and associations that are common to two or more types of objects that share the same Chapter 22 The - XML Metadata purpose. Event class Interchange and Play class in Figure 6-38 are examples of superclasses. The term Appendix A UML 1.4 Notation superclass borrows from the Guide superset concept. A superclass contains only the features that are common Appendix - UML 2.0 Notation Guide to every B object in the set.
Chapter 20 - Using a Modeling Tool Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface Figure 6-38: Superclasses and subclasses in a generalization hierarchy.
Part I - An Introduction to UML

Asubclass a class that contains some combination of the features that are unique to a subset of the Chapter 1 - is What Is UML? objects2defined a superclass. In Figure 6-38, all classes except the Event class are examples of Chapter - UML by Architecture subclasses. TheDiagrams Play subclass contains Mechanisms features that other types of events do not have. The Chapter 3 - UML and Extension
Chapter 4

LectureSeries class defines features that other types of events do not have. Note that a class may be both - Object-Oriented Concepts a superclass and a subclass, as is illustrated by the Play class. Part II - Modeling Object Structure
Chapter 5 subclass - Capturing Rules the about Objects in a Class Diagramcontains a set of features that is unique among The term reflects subset concept. A subclass Chapter 6 How to Capture Rules about Object Relationships the objects that make up the set of events. The Musical class in Figure 6-38 contains only features that are Chapter - Testing with Objects unique 7 to Musical events. A Musical object would get the rest of the information about the features it
Part III -with Modeling Object Interactions shares all other plays from the Play superclass,

and all the features it has in common with all events

Chapter 8 Event - Modeling Interactions in UML 1.4it actually takes three classes to generate a single object from the superclass. In other words, Chapter 9 - Modeling Interactions in UML 2.0 representing a musical type of event. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

To model the relationship between a superclass and a subclass draw a line between them and place a Chapter 11 Modeling an Object's Lifecycle in UML 2.0 hollow triangle atBehavior the end of Part IV -closed Modeling Object the line that touches the superclass. The effect is a kind of arrow pointing from the subclass to the superclass, as modeled in Figure 6-38. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application Architecture

Chapter 13 - Modeling Behavior Using an Activity Diagram Another way to model the generalization relationship is to merge all of the lines that lead to the same

superclass as shown in Figure 6-39. This is called the shared target style. The previous figures used the

Chapter 14 target - Modeling Application Architecture separate style.the Both notations are accepted and commonly used. Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Figure Shared target style notation for generalizations. Appendix B - 6-39: UML 2.0 Notation Guide
Appendix C - Standard Elements Glossary Index

In Figure 6-39 you also see the use of an ellipse () to indicate that there are more subclasses modeled that are not shown on the diagram. This convention can be useful when working with large diagrams.

List Figures Anof abstract class is a class that cannot be used to create objects, a class that cannot be instantiated. This List ofbe Tables can because the class is explicitly designated as abstract, or because the class defines at least one List of Listings operation for which it does not define a method. Without a method, the class does not provide a complete

definition for an object. To create an object, the method must then be provided by a subclass that inherits < Day Day Up > and overrides the operation. For this reason only a superclass, a class that is subclassed, can be abstract. Model an abstract class by italicizing the name of the class, by providing the {abstract} property in the name compartment, or by adding the {abstract} property to the operation that does not have a method, as UML Bible shown in Figure 6-40.
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 - 6-40: What Is UML? Figure Alternatives for modeling an abstract class. Chapter 2 Chapter 4 - UML Architecture Aconcrete is a class and thatExtension has a method for every operation so that it can create objects. The Chapter 3 -class UML Diagrams Mechanisms

methods may be defined in the class itself or inherited from a superclass. For this reason all classes at the - Object-Oriented Concepts bottom of a generalization hierarchy, called leaf nodes or leaf classes, must be concrete. That is because Part II - Modeling Object Structure there are no subclasses beneath them that could provide the missing method/s. Since a superclass can Chapter 5 - Capturing Rules about Objects in a Class Diagram provide its own implementations for all of its operations any superclass may also be concrete.
Chapter 6 - How to Capture Rules about Object Relationships Chapter - Testing with Objects Figure 7 6-41 summarizes the abstract and concrete options for the event generalization hierarchy.
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - 6-41: UML 1.4 Notation Guide Figure Abstract and concrete classes. Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Caution Figure 6-41 is incorrect in one respect. In the generalization hierarchy in a framework such as

the Java SDK, a leaf class is only the bottom of the framework. The classes at the bottom of the generalization hierarchy in a framework are not actually leaf classes because the List of Figures framework hierarchy does not include classes that extend the framework. We don't see the List of Tables classes that specialize the framework until a developer builds an application using the List of Listings framework classes. So leaf classes in a framework can be, and usually are, abstract.
Glossary Index

Powertype and discriminator

< Day Day Up >

When modeling generalization you need to describe how you choose to identify the set of subclasses for a superclass. If, for example, you want to organize the information about types of cars, you could distinguish different types of UML cars Bible based on price range, manufacturer, engine size, fuel type, usage, or any number of ISBN:0764526049 by Tom Pender you choose depends on the problem other criteria. The discriminator you are trying to solve. In Figures 6John Wiley & Sons 2003 (940 pages) 38 through 6-41, the event concept is partitioned into types of events. This form of subclassing utilizes a For beginning to advanced users, this book provides powertype. A powertype is a standard stereotype applied to classes and dependencies. It is a metaclass comprehensive coverage of the versatility of 1.4 and 2.0into UML that overlays the subclass in the sense that it redefines the superclass a set of subclasses that specifications, and shows how to use UML to improve correspond to its timeliness, own instances. Those powertype instances/subclasses together define all possible quality, and efficiency in development. objects of the superclass. In the event example we defined a set of subclasses for all possible event types.
Companion Web Site

Figure 6-42 shows the powertype documented as a class with the powertype stereotype (a UML standard element). To represent that the powertype explains the subclassing of the Event class, draw a <?xml version="1.0" encoding="ISO-8859-1"?> dashed line across the three generalization arrows to the powertype class. Table of Contents
UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Part III - Modeling Interactions Figure 6-42: Object Identifying subclasses

using a powertype.

- Modeling Interactions in UML 1.4

Powertypes are one way to define subclasses. Another way is to use one or more properties of the Chapter 9 - Modeling Interactions inthe UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

objects themselves like size, price range, capacity, or age. For example, concerts might be partitioned based on the size of the performance, such as a solo performing with no band, a solo with a band size Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 less than 10, a group with backup size less than 10, and group with backup size greater than 10. Using Part IV - Modeling Object Behavior properties of the class utilizes a discriminator. A discriminator identifies features of the superclass itself Chapter 12 - Modeling the Use of a System with the Use Case Diagram that are used to distinguish the subclasses. The effect is the same as with powertypes, a set of subclasses Chapter 13 - Modeling Behavior Using an Activity Diagram that together define all possible objects of the superclass.
Part V - Modeling the Application Architecture

Chapter - Modeling the generalizations Application Architecture Figure 14 6-43 models the for Event with a discriminator on each generalization. Since I used Chapter 15 - target Modeling Software Using the Component Diagram the shared style of generalization lines and the same discriminator for all subclasses on the same Chapter - Using UML 1.4the discriminator appears once on the branch. In the branch16 (Solo and Deployment Group both Diagrams subclass in Concert),

same manner Solo and Group are eachin subclassed Chapter 17 - Representing an Architecture UML 2.0 using the backupsize as the discriminator.
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2

Figure 6-43: Applying a discriminator to define subclasses.


- UML Architecture

- What Is UML?

Chapter 3 define - UMLaDiagrams and Extension Mechanisms Classes set of features, and these features are the possible discriminating properties. If objects of Chapter 4 Object-Oriented Concepts the class share the same attributes such as age and address, for example, they might be in the same
Part II - Modeling Object Structure subgroup. However, objects might

have the same attribute (such as age) but the values allowed for age in

Chapter 5 the - Capturing Rules about from Objects in aallowed Class Diagram some of objects are different those in others. For example, every Person has an age Chapter 6 - How However, to Captureminors Rules about Object value assigned. would have Relationships age values of less than, say, 21 and adults would have ages Chapter - Testing greater7than 20. with Objects
Part III - Modeling Object Interactions

The same applies to operations. Objects might have the same operation, that is, the same Chapter 8 -concept Modeling Interactions in UML 1.4
Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV (superclass): - Modeling Object Behavior class

interface, like "accelerate." But different objects might implement that interface in very different ways. For - Modeling Interactions in UML 2.0 example, different cars accelerate using different combinations of parts and fuels.

Chapter 11 - Modeling an Lifecycle in criteria UML 2.0 In summary there are atObject's least six objective to use to discriminate between objects within the same Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Attribute type Behavior Using an Activity Diagram Chapter 13 - Modeling


Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Operation (interface) Chapter 16 - Using Deployment Diagrams in UML 1.4

Attribute values allowed (domain)

Method (implementation) Chapter 17 - Representing an Architecture in UML 2.0


Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics Links
Part VII - Automating the UML Modeling Process

Associations

Chapter 20 - Using a Modeling Tool Modeling multiple generalization Chapter 21 - Customizing UML Using Profiles

Figure 22 6-44 depicts multiple generalizations on a single superclass. The model shows that the same Chapter - XML Metadata Interchange superclass using multiple criteria. Using two discriminators results in two sets of Appendix A - may UML be 1.4subclassed Notation Guide subclasses the same superclass. This approach allows there to be two representations of the same Appendix B - for UML 2.0 Notation Guide
Appendix C - Standard Elements Index

object, one from each discriminator's perspective. In other words, the same solo performer might be represented by an instance of the Solo class and an instance of the SmallBackup class. That is why all of Glossary the classes in a multiple generalization must be abstract.
List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows how to use UML to improve Figure 6-44:specifications, Modeling multiple discriminators. timeliness, quality, and efficiency in development. Companion Site objects you have two options: you can combine the To get concrete classes that canWeb generate discriminators to get four subclasses of Event that represent all of the possible combinations, or you can use multiple-inheritance to bring the separate class definitions together into one new class. Figure 6-44 <?xml version="1.0" encoding="ISO-8859-1"?> models multiple-inheritance with the Solo-SmallBackup class, which inherits from both the Solo and Table of Contents SmallBackup classes. UML Bible Preface Note Whether or not multiple-inheritance may be used as an implementation depends on the
Part I - An Introduction tolanguage UML programming used to

implement the model, and the local development standards. For

Chapter 1 example, - What Is C++ UML?does allow multiple inheritance, but Java does not allow multiple inheritance of Chapter 2 classes. - UML Architecture Chapter 3 - UML Diagrams and Extension Mechanisms

Constraints Chapter 4 - Object-Oriented Concepts


Part II - Modeling Object Structure

The generalization example shown in Figure 6-44 begs for some clarifying notation. Specifically, how do - Capturing Rules about Objects in a Class Diagram we know when the subclasses are allowed to overlap and when they must not overlap? If we can find a Chapter 6 - How to Capture Rules about Object Relationships way to document these rules, then could we also document other rules? Yes, you can use UML constraint Chapter 7 - Testing with Objects notation to model these rules. UML predefines four constraints for use on generalization relationships:
Chapter 5
Part III - Modeling Object Interactions

Chapter 8 - Modeling Interactions in UML 1.4 Overlapping Chapter 9 - Modeling Interactions in UML 2.0

Disjoint Chapter 10 - Modeling an Object's Lifecycle in UML 1.4


Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Complete

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Incomplete Chapter 13 - Modeling Behavior Using an Activity Diagram

Figure 6-45 models the {overlapping} constraint Part V - Modeling the Application Architecture

as an example of the use of the notation. A dashed line

crosses the generalization lines affected by the {overlapping} constraint. In this example there are two sets Chapter 14 - Modeling the Application Architecture of overlapping generalizations, performersize overlaps backupsize. Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Figure 6-45: Modeling generalization constraints.

Appendix A - UML 1.4 Notation Guide The overlapping and disjoint constraints refer to whether or not an instance may be represented by more Appendix B UML 2.0 Notation Guide than one subclass. Appendix C - Standard Elements

Theoverlapping constraint applies to generalizations that are based on multiple discriminators or Glossary powertypes, like the diagram in Figure 6-45. The overlapping constraint allows an instance to derive from Index multiple classes that are specializations based on different discriminators or powertypes. In the Event List of Figures example, the same performer may be an instance of both the Solo class and the SmallBackup class. List of Tables
List of Listings

Thedisjoint constraint prevents any overlap. An instance may not be represented by more than one < Day Day Up > subclass at the constrained level of the hierarchy. In the Event example, use of the disjoint constraint (instead of the overlapping constraint) would mean that the same performer cannot be represented by the Solo class and the SmallBackup class.
UML Bible

The complete and constraints document the status of the diagram. ISBN:0764526049 byincomplete Tom Pender Thecomplete constraint documents the fact that every possible subclass of a generalization has been For beginning to advanced users, this book provides identified and modeled. That is not to say that they have to be illustrated in the current view of the diagram. comprehensive coverage of the versatility of 1.4 and 2.0 UML The ellipse may be used to indicate that other classes areto defined but not shown. specifications, and shows how to use UML improve
timeliness, quality, and efficiency in development. John Wiley & Sons 2003 (940 pages)

Theincomplete constraint documents the fact that the research on the possible subclasses Companion Web Site (specializations) is not finished. We know that there are probably more but they are not yet modeled.
<?xml version="1.0" encoding="ISO-8859-1"?> complete/incomplete, together. Whenever you have to model more than one constraint on the same Table of Contents UML Bible Preface
Part I - An Introduction to UML

Figure 6-46 shows an example using both types of constraints, overlapping/disjoint and generalization, use commas to separate them within the same pair of curly braces.

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Figure 6-46: Applying constraints to a generalization.

Part III - Modeling Object Interactions

UML 2.0 - Modeling Interactions in UML 1.4

Chapter - changes Modeling Interactions in UML 2.0 to the metamodel. UML 2.0 has introduced two new Most of9the in UML 2.0 are changes Chapter 10 Modeling anisSubstitutable Object's Lifecycle inthe UML 1.4 concepts; the attribute and GeneralizationSet. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

The metamodel has eliminated Part IV - Modeling Object Behavior

the isRoot attribute and moved the isLeaf attribute to the RedefineableElement metaclass. The role names for Diagram the classifiers that participate in a generalization Chapter 12 - Modeling the Use of a System with the Use Case relationship have changed from child and parent to specific and general to more closely parallel the Chapter 13 - Modeling Behavior Using an Activity Diagram concepts of specialization and generalization. Also, the attributes for defining abstract classes and for Part V - Modeling the Application Architecture designating classes as the leaf or root in a generalization hierarchy have been moved. Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using classifier can Deployment be used. Diagrams in UML 1.4
Part VI - Bringing Rigor to the The GeneralizationSet isModel a new

The isSubstitutable attribute indicates whether the specific classifier can be used wherever the general metaclass that simplifies the specification of discriminators,

Chapter 17 - Representing an Architecture in UML 2.0

powertypes, andConstraints constraints. constraint is renamed and assigned an Chapter 18 - Applying toThe the complete/incomplete UML Diagrams attribute called isCovering. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

A Generalization is a type of directed relationship as modeled by the diagram in Figure 6-47. Every directed relationship has a target classifier and a source classifier. For a generalization, the target is the Chapter 21 - Customizing UML Using Profiles superclass, identified by the role name general. The source is the subclass, identified by the role name Chapter 22 - XML Metadata Interchange specific.
Chapter 20 - Using a Modeling Tool Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

beginning to advanced users, this book provides Figure 6-47:For The Generalization metamodel. comprehensive coverage of the versatility of 1.4 and 2.0 UML OMG 2.0 specifications, and shows how to use UML to improve

As in UML 1.4, a general class may be designated as abstract. UML 2.0 defines an abstract class setting Companion Web Site the isAbstract attribute in the classifier to true. A leaf or terminating class (a class that cannot be subclassed) is defined by setting the isLeaf attribute inherited from the RedefineableElement metaclass. The version="1.0" isRoot attribute has been dropped in UML 2.0. <?xml encoding="ISO-8859-1"?>
Table of Contents UML Bible Preface

timeliness, quality, and efficiency in development.

CrossReference

For a complete explanation of abstract, concrete, and leaf classes refer to the earlier sections in this chapter that covered generalization. the Generalization metaclass is a Boolean value that defaults to true. If

Part I isSubstitutable - An Introduction to UML The attribute of

Chapter 1 instance - What of Is UML? true , an the specific classifier can be used wherever a reference is made to the general Chapter 2 However, - UML Architecture classifier. when doing so the substituted classifier conforms to the interface of the general Chapter 3 Specialized - UML Diagrams and Extension Mechanisms classifier. features of the specific instance cannot be accessed without explicitly redefining the Chapter 4classifier - Object-Oriented Concepts specific into its specific type.
Part II - Modeling Object Structure

CrossSee about also the Substitution dependency Chapter 5 - Capturing Rules Objects in a Class Diagram in the UML 2.0 Superstructure :: Structure ::
Chapter 6

Reference Classes :: Dependencies package. - How to Capture Rules about Object Relationships

Chapter 7 - discriminators, Testing with Objects To support powertypes, and constraints UML 2.0 adds the concept of a generalization set
Part III - Modeling Object Interactions

shown in Figure 6-48. A generalization set may be applied to many generalizations. A generalization set
- Modeling Interactions in UML 2.0

Chapter 8 a-classifier Modeling as Interactions in UML 1.4 may use a powertype. Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0

Figure 6-48:Rigor Defining a generalization Part VI - Bringing to the Model


Chapter 19 - Action Semantics

set as a collection of generalizations on the same classifier. OMG 2.0 Chapter 18 - Applying Constraints to the UML Diagrams The new GeneralizationSet class represents what used to be accomplished by assigning the same discriminator or powertype to groups of generalizations on the same superclass. Now instead of labeling Chapter 20 - Using a Modeling Tool the set of generalizations once. (The generalization set can be named each generalization you will name Chapter 21it-is Customizing UML Using Profiles because a specialization of PackageableElement which is a type of NamedElement.) The Chapter 22 - XML Metadata Interchange discriminator name in UML 1.4 is now the name of the generalization set in UML 2.0. Optionally, a Appendix A - UML 1.4 Notation Guide with a classifier as the powertype for a set of generalizations. generalization set can be associated
Part VII - Automating the UML Modeling Process

Appendix B - UML 2.0 Notation Guide

The UML notation adds a colon in front of the powertype name. The constraint notation is the same Appendix C 2.0 - Standard Elements except that the generalization set name may also appear as the first item within the curly braces. Figure 6Glossary
Index

49 shows the revised notation.

List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Figure 6-49:For UML 2.0 notation for powertype associated with a generalization set with constraints. beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how tothe use UML to improve The new GeneralizationSet class also contains attributes isDisjoint and isCovering. Setting these timeliness, quality, efficiency in development. attributes replaces what used to be and modeled as disjoint/overlapping and complete/incomplete and constraints in UML 1.4. Companion Web Site

isDisjoint is a Boolean value. When isDisjoint is true then each instance of the superclass can be
<?xml version="1.0" instantiated byencoding="ISO-8859-1"?> exactly one instance of one of the subclasses of the generalization set. This Table of Contents to the UML 1.4 {disjoint} constraint. When isDisjoint is false then instances of the corresponds UML Bible superclass can be instantiated by multiple subclasses of the generalization set. This corresponds to Preface the UML 1.4 {overlapping} constraint.
Part I - An Introduction to UML

isCovering isIs a UML? Boolean value. When isCovering is true every possible instance of the superclass can Chapter 1 - What be instantiated as an instance of at least one of the subclasses of the generalization set. This - UML Architecture corresponds to the UML 1.4 {complete} constraint. When isCovering is false there may be instances Chapter 3 - UML Diagrams and Extension Mechanisms of the superclass that cannot be instantiated by any of the subclasses of the generalization set. This Chapter 4 - Object-Oriented Concepts corresponds to the UML 1.4 {incomplete} constraint.
Chapter 2
Part II - Modeling Object Structure

Chapter 5 is - where Capturing Rules about Objects in a Class Diagram Now this it gets really confusing. UML 2.0 has replaced the standard constraints complete and Chapter 6 How to Capture Rules about Object Relationships incomplete with the Boolean attribute isCovering. But for modeling the values for the isCovering attribute, Chapter 7 still - Testing with Objects UML 2.0 uses the terms complete and incomplete. Table 6-3 lists the allowed combinations of
Part III - Modeling Object Interactions isCovering and isDisjoint and a brief explanation

of their meanings.

Chapter 8

- Modeling Interactions in UML 1.4

Chapter 9 - Using Modeling Interactions in isDisjoint UML 2.0 Table 6-3: isCovering and Together Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Valid 11 - Modeling an Object's Interpretation Chapter Lifecycle in UML 2.0 combinations Part IV - Modeling Object Behavior
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

{complete, disjoint} Every instance of the Part V - Modeling the Application Architecture

general class of the generalization set can be instantiated by at least one of its subclasses, and its subclasses have no Chapter 14 - Modeling the Application Architecture common instances.
Chapter 15 - Modeling Software Using the Component Diagram

{incomplete, Not every instance of the Chapter 16 - Using Deployment Diagrams in UML 1.4general class of the generalization set can be disjoint} instantiated by at least Chapter 17 - Representing an Architecture in UMLone 2.0 of its subclasses, and its subclasses have no common instances. Part VI - Bringing Rigor to the Model
Chapter 18 - Applying Constraints to the UML Diagrams {complete, Every instance of the general class of the generalization set can be Chapter 19 - Action Semantics overlapping} instantiated by at least one of its subclasses, and its subclasses do share
Part VII - Automating the common UML Modeling Process instances.

Chapter 20 - Using a Modeling Tool

Not every instance of the general class of the generalization set can be instantiated by at least one of its subclasses, and its subclasses do share Chapter 22 - XML Metadata Interchange common instances.
Chapter 21 - Customizing UML Using Profiles Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

{incomplete, overlapping}

< Day Day Up >

< Day Day Up >

UML Bible Modeling Dependency by Tom Pender


ISBN:0764526049

There are times in modeling appropriate John Wiley &when Sons it is 2003 (940 pages) to address a higher level of abstraction than classes and associations.For For example, before you users, ever get tobook the details of how to design the marketing portion of beginning to advanced this provides the theater system, you might need to document the fact that marketing depends on facts captured by the comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve sales portion of the theater system.
timeliness, quality, and efficiency in development.

Dependency represents a client-supplier Companion Web Site relationship in which a change to the supplier requires a change to the client. Using the marketing/sales example, a change to the sales portion of the system would require changes to the marketing portion of the system. In practical terms this means that the marketing <?xml version="1.0" encoding="ISO-8859-1"?> system needs to access specific interfaces provided by sales. If and when those interfaces change, Table of Contents marketing can no longer access sales.
UML Bible

Dependency may also represent precedence. The ticket payment screen in the theater application Preface requires list of tickets that Part I - Anthe Introduction to UML the customer wants to purchase before it can work properly. But the tickets are selected on a screen that provides access to the seating chart for the performance. The dependency Chapter 1 - What Is UML? here represents the fact that the seating chart screen needs to precede the ticket payment screen in the Chapter 2 - UML Architecture workflow. Chapter 3 - UML Diagrams and Extension Mechanisms
Chapter 4 Chapter 5 - Object-Oriented Concepts
Part II - Modeling Object Structure

Dependency notation

- Capturing Rules about Objects in a Class Diagram A dependency isto modeled dashed arrow between model elements, one or more clients, and one Chapter 6 - How Capture using Rules a about Object Relationships

or more 6-50 models a package dependency (on the left) between the Marketing Chapter 7 suppliers. - Testing Figure with Objects package and the Sales and Part III - Modeling Objectpackage Interactions
Chapter 9

a class dependency (on the right) between the TicketSelectionScreen class and the TicketPaymentScreen class. Chapter 8 - Modeling Interactions in UML 1.4
- Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles

Figure 6-50: Modeling dependency notation.

Chapter 22 - XML Metadata Interchange UML predefines four general types of dependency: abstraction, binding, permission, and usage. These Appendix A - UML 1.4 Notation Guide four general types are refined into more specific types. Abstraction, for example, models a difference in Appendix - abstraction UML 2.0 Notation Guide the levelBof between the two model elements. The migration from one level of abstraction to

another C level may beElements achieved through refinement or realization (implementation). For example, a project Appendix - Standard involves phases, and the models created during the analysis phase are refined in the design phase and Glossary finally realized or implemented in the coding phases. Figure 6-51 models the type of dependency between Index theof Analysis List Figures and Design packages as refinement. That is, the contents of the Design package represent a refinement List of Tables of the contents of the Analysis package. Likewise, the contents of the Implementation package
List of Listings

represent a realization or implementation of the contents of the Design package.

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure 6-51: Modeling refines and realizes dependencies.


<?xml version="1.0" encoding="ISO-8859-1"?> Table Contents arrows may also merge, as modeled in Figure 6-52. ClassC is a refinement of ClassD The of dependency UML andBible ClassE. The comment attached to the dependency explains the meaning of the merge, that ClassC

combines ClassD and ClassE. Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure Merging dependency lines. Chapter 12 - 6-52: Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

UML provides a specific notation for the realization dependency when used in the context of interface classes and components. These notations and their usage are Chapter 14 - Modeling the Application Architecture explained in Chapters 5 and 15.
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

CrossReference

Predefined dependency types

UML has predefined a set of stereotypes for use with dependencies between packages, classes, and other classifiers. Table 6-4 lists these predefined stereotypes along with an explanation of where they are Chapter 19 - Action Semantics used and how to interpret them.
Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Table 6-4: Types Chapter 21 - Predefined Customizing Dependency UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

General Type

Specific Stereotype
UML Bible

< Day Day Up > Description

Permission

access by Tom Pender

The supplier package grants permission to the client package ISBN:0764526049 to access its member. Access is limited by the visibility of John Wiley & Sons 2003 (940 pages) each member.
For beginning to advanced users, this book provides

Binding

comprehensive coverage of the of 1.4 and 2.0 UML to actual values to bind Refers to versatility binding template parameters specifications, and shows how to use UML to improve create a non-parameterized element. (Template classes are timeliness, quality, and efficiency in development. covered in Chapter 4.)

Abstraction

derive

Companion Web Site

Similar in use to derived attributes. The client is computed or figured out using the supplier/s. to access public members and to make those members' names part of the client package.

<?xml version="1.0" encoding="ISO-8859-1"?> Permission import The supplier package grants permission to the client package Table of Contents UML Bible Preface

Abstraction refinement Part I - An Introduction to UML


Chapter 1 Chapter 2 - What Is UML? - UML Architecture

The client represents enhancements, merging, alterations, and other such improvements to the contents of the supplier/s.

Chapter 3 - UML trace Diagrams and Extension Abstraction AnMechanisms historical relationship representing the evolution of Chapter 4 - Object-Oriented Concepts members over time as in the tracing of requirements through
Part II - Modeling Object Structure

the models and finally into the implementation. Represents the requirement of the client to have access to the supplier member/s in order to function properly. The nature of the usage may be qualified with any of the usage stereotypes to further explain the nature of the requirement.

Chapter 5 Chapter 6

use, call, instantiate, Chapter 7 - Testing with Objects send


Chapter 8 Chapter 9

Usage

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

Part III - Modeling Object Interactions

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

UML 2.0

UML 2.0 adds one new concept called a substitution dependency. As modeled in Figure 6-53, substitution is a type realization. That is to say, substitution is another way that a classifier might be implemented. The Chapter 13 - Modeling Behavior Usingtakes an Activity Diagram client in a substitution dependency the place of the supplier classifier.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Figure 6-53: Adding the concept of substitution. $OMG 2.0. Index

This List of concept Figures could be especially useful for modeling customizations. For example a retail system designed to sell lines of sporting goods could be customized to sell music and videos. One set of products List of Tables might be substituted for another while the rest of the system design remains the same. List of Listings

Figure 6-54 illustrates the use of the substitution dependency < Day Day Up > in an example where a system designed to create reservations is implemented to reserve seats at shows. The ShowSeat class is substituted for the Reservation class everywhere in the application where reservation is referenced. To do so, the ShowSeat has to conform to the contract or interface established by the Reservation class.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve Figure 6-54:timeliness, Using the quality, substitution dependency. and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> < Day Day Up > Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

UML supports four distinct of relationships; association, generalization, dependency, and flow (flow is John Wileytypes & Sons 2003 (940 pages) covered with Activity diagrams to in Chapter For beginning advanced13). users, this book provides Associations and links: A link is the how simplest form that supports communication specifications, and shows to use UMLof torelationship improve timeliness, quality,are andaware efficiency in development. between objects. Two objects of one another because they own references to one another. An association defines a type of link Companion Web Sitethat may exist between types of objects. A link is an instance of an association in the same way that an object is an instance of a class. Multiplicity: Each end of an association must define the number of objects that may participate in the <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Multiplicity can be expressed as a range (min. max) or an enumeration of values (value, association. value,). An asterisk (*) used by itself designates zero or more objects. An asterisk used as the UML Bible maximum value in a range means "more", or no upper limit. Preface
Part I - An Introduction to UML

comprehensive coverage of the versatility of 1.4 and 2.0 UML

Constraints: A constraint is a rule that must be enforced for the association to be valid. A constraint is - What Is UML? placed at the end of an association to dictate the conditions that have to be satisfied before objects (of Chapter 2 - UML Architecture the type at the association end) can participate in the relationship. Constraints are enclosed in curly Chapter 3 - UML Diagrams and Extension Mechanisms braces ({ }).
Chapter 1 Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure Role names: A role name explains

how an object participates in a link. The role name is placed at the

Chapter 5 of - an Capturing Rules about in(type a Class end association next to Objects the class of Diagram object) that plays the role. Chapter 6 - How to Capture Rules about Object Relationships

Association class: An association class encapsulates information about an association; for example Chapter 7 - Testing with Objects when the relationship started, ended, Part III - Modeling Object Interactions
Chapter 9

terms and conditions, and status. An association class is a class that is needed or discovered because it explains an association. The association class is attached to Chapter 8 - Modeling Interactions in UML 1.4 an association by a dashed line.
- Modeling Interactions in UML 2.0 Chapter 10 Reflexive - Modelingassociation: an Object's Lifecycle in UML 1.4 A reflexive association defines a type of relationship that may exist Chapter 11 between - Modeling an Object's in UML 2.0 objects of theLifecycle same type/class.
Part IV - Modeling Object Behavior

is a with type the of association in which one class defines the objects that Chapter 12 Aggregation: - Modeling the Aggregation Use of a System Use Case Diagram parts in an assembly or configuration and objects of the other class represent the Chapter 13 participate - Modeling as Behavior Using an Activity Diagram whole,the the Application entire assembly. Part V - Modeling Architecture
Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor the arrow on the to end ofModel the association),

Composition: Composition is a type of aggregation in which a member object may only be a part object of at most one aggregate object. or not navigable (an X' on the end of the association).

Chapter 17 Navigability: - Representing an Architecture in UML 2.0 is designated as undefined (no notation), navigable (an Each end of an association Chapter 18 - Applying Constraints to the UML Diagrams

Generalization, superclass, and subclass: Generalization provides a means for organizing Chapter 19 - Action Semantics similarities and differences amongProcess a set of Part VII - Automating the UML Modeling

objects that share the same purpose. Generalization is a relationship between classes in which one class called the superclass, contains features shared by all Chapter 20 - Using a Modeling Tool objects of the class, and the other class, called the subclass, contains only the features that make a Chapter 21 - Customizing UML Using Profiles subset of objects different from all other objects represented by the superclass. Generalization is Chapter 22 - XML Metadata Interchange modeled as a line between classes with a closed and hollow triangle at the end near the superclass.
Appendix A - UML 1.4 Notation Guide Appendix B Specialization: - UML 2.0 Notation Guide Specialization describes the process of identifying the features that make Appendix Cobjects - Standard Elements unique within a superclass. "A specialization" refers to an individual subclass. Glossary

Inheritance: Inheritance describes the fact that a subclass has access to the features of a superclass at the time that it is used to instantiate an object. Inheritance can be compromised by List of Figures the use of visibility restrictions.
Index List of Tables List of Listings Abstract, concrete, and leaf classes: An abstract class cannot be instantiated either because it

is designated as abstract using a property in the name compartment, or because at least one < Day Day Up > operation in the class does not have a method. Powertype and discriminator: Subclasses may be identified by the use of a powertype or a discriminator. A powertype is a class whose instances are subclasses of a superclass. A UML Bible discriminator identifies the subclasses from one another. UML ISBN:0764526049 by Tom Pender the criteria used to differentiate 2.0 uses a generalization set to encapsulate the discriminator name, optional powertype and John Wiley & Sons 2003 (940 pages) constraints for a set of generalization relationships for the same superclass. For beginning to advanced users, this book provides Generalization constraints (isCovering and specifications, and shows how to use UMLisDisjoint): to improve Generalization constraints describe quality, efficiency in development. the usetimeliness, of subclasses in aand generalization. The isCovering constraint (formerly called complete/incomplete) describes whether every possible object of the superclass can be Companion Web Site described using at least one subclass. The isDisjoint constraint describes whether an object can be an instance of more than one subclass of the same superclass.
<?xml version="1.0" encoding="ISO-8859-1"?> Dependencies (refinement, realization, etc.): A dependency represents a high-level Table of Contents UML Bible abstraction of the relationship between model entities such as classes or packages. A comprehensive coverage of the versatility of 1.4 and 2.0 UML

dependency defines only the existence of some kind of relationship without specifying the type of relationship. to The general nature of the dependency can be described using a stereotype such as Part I - An Introduction UML include, extend, realization, or refinement. Chapter 1 - What Is UML?
Preface Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Architecture - UML Diagrams and Extension Mechanisms < Day Day Up > - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Chapter UML 7: Testing with ObjectsISBN:0764526049 by Tom Pender

Overview

John Wiley & Sons 2003 (940 pages)

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows to how to use UML to facts. improve The Object diagram provides the means explore specific The Class diagram models definitions timeliness, quality, and efficiency ingreat development. and rules. The contrast of these two diagrams is a benefit to modelers. Most often we talk about a

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Throughout a project we want to verify that what we have modeled is accurate. Verification requires test UML Bible cases that exercise the definitions and rules we've captured in our Class diagram. Modeling a test case
Part I - An Introduction to UML suited to model the data and relationships

problem using concepts and general rules about how things work. When there is a dispute over the Companion Web Site interpretation of a concept or a rule, we often apply examples, specific data, and circumstances that either prove or disprove our interpretation. The Object diagram is the UML tool for modeling an example.

Preface requires the means to represent specific data, relationships, and behaviors. The Object diagram is ideally

of the test cases, while the Interaction diagrams model the

behavior. diagrams (covered in Chapters 8 through 10) describe how objects use one another's Chapter 1 Interaction - What Is UML? services. they can represent a complete view of a test case. Chapter 2 Together - UML Architecture
Chapter 3 Chapter 4

In UML 1.4, the Object diagram is described as distinct from the Class diagram. In UML 2.0, it is included - Object-Oriented Concepts with the Class diagram. This is not really a change. In modeling tools, the Object diagram has always Part II - Modeling Object Structure been drawn in the same canvas with the Class diagram. Figure 7-1 shows an example of classes and Chapter 5 - Capturing Rules about Objects in a Class Diagram objects on the same canvas in the Magic Draw 6.0 modeling tool. The Customer and Venue classes are Chapter 6 - How to Capture Rules about Object Relationships on the left. The objects-an instance of Customer called Kevin and an instance of Venue called Luxury Chapter 7 - Testing Objects Theater-are on the with right.
Part III - Modeling Object Interactions

- UML Diagrams and Extension Mechanisms

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - 7-1: UML Drawing 1.4 Notation Guide Figure classes and objects in a modeling tool. Appendix BMagic - UML 2.0 Notation Guide No Appendix C - Standard Elements

UML 2.0 has added another tool, the Composite Structure diagram, which blends the UML 1.4 Composite Glossary Context diagram, pattern structure notation, and collaboration roles. The goal of the Composite Structure Index diagram is to model the parts of a configuration, explaining the roles of each part in terms of how they List of Figures
List of Tables

work together to fulfill the purpose of the configuration.

List of Listings

This might sound familiar after reading about < aggregation and composition in Chapter 5. The Composite Day Day Up > Structure diagram supports modeling of any type of aggregation. An aggregate object contains parts. The parts are linked together and play specific roles in the configuration. One significant difference between the old Composite Context diagram and the new Composite Structure diagram is the addition of ports, UML Bible which are much like interfaces. Ports add a description of the communication links between objects that ISBN:0764526049 by Tom 1.4. Pender was not present in UML The added value is that it is now easier to verify the need for a specific John Wiley & Sons 2003 (940 pages) in which it is required. Mapping the port to an object interface by associating it with a pattern of behavior also helps verify that the correct giventhis responsibility for the communication. (Note that this is an For beginning toresource advancedis users, book provides comprehensive coverage ofdiagrams. the versatility of 1.4 and 2.0 UML aid in verification). overlap with the features of the Interaction Overlap can be another
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

< Day Day Up >

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible and Links Modeling Objects by Tom Pender


ISBN:0764526049

To begin modeling anWiley Object we need objects. Objects represent real things such as a specific John & diagram Sons 2003 (940 pages) customer, a specific venue, or to a specific performance. Contrast this with a class, which represents a For beginning advanced users, this book provides definition of real things such as customers, venues, or performances in UML the theater system. comprehensive coverage of the versatility of 1.4 and 2.0

Object notation

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Object notation requires two elements: the name of the object and the name of the class that describes the object. The format for the object name notation is <?xml version="1.0" encoding="ISO-8859-1"?>
Table of Contents

object-name : class-name UML Bible


Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2

Note Throughout the book I often include spaces in the expression syntax. The spaces are not part of - What Is UML? the syntax. They simply make the expression syntax easier to read.
- UML Architecture

Chapter 3 - name UML Diagrams andvalue Extension Mechanisms The object is often the of the "name" or other identifying attribute of the object. The class Chapter 4 Object-Oriented Concepts name helps remove the ambiguity caused by the fact that objects of different types may have the same
Part II - For Modeling Object Structure name. example, Tom Pender

might be the name of a customer and an employee. The class name

Chapter 5 - with Capturing Rules definition, about Objects in a Class Diagram also brings it the class which defines what attributes the object can possess. Also note that Chapter 6 How to Capture Rules about Object Relationships the object name expression is always underlined. Chapter 7 - Testing with Objects

Examples of object notation include Kevin Part III - Modeling Object Interactions
Chapter 9

: Customer, Jackie : Customer, "Pender's Luxury Theater" :

Venue,8and 73865 : Performance. Chapter - Modeling Interactions in UML 1.4


Chapter 10 are - Modeling an applies Object'sin Lifecycle in UML what you modeling the same way 1.4 for any instance of the named class, and that providing a Chapter 11 Modeling an Object's Lifecycle in UML specific example adds no new information. This 2.0 is actually a very common technique.
Part IV - Modeling Object Behavior

- Modeling Interactions in UML 2.0 The format ": class name"-without the object name - is called an anonymous object. It simply means that

One other option is valid, and that is to omit the colon and class name (in other words, to use only Chapter 12 -naming Modeling the Use of a System with the Use Case Diagram the name the particular object without telling what kind of class it is an instance of) if the context makes Chapter 13 of - Modeling Behavior Using an Activity Diagram it obvious. Part V - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram

Note The same object name notation is used in all the Interaction diagrams.

Chapter 16 - name Using Deployment Diagramsin inaUML 1.4 The object notation is enclosed rectangle just like a class. Figure 7-2 models customers named Chapter 17 Representing an Architecture in UML Kevin and Jackie, and an anonymous object of 2.0 the Venue class. The entity stereotype symbols are
Part VI - Bringing Rigor to the Model optional. If a class is stereotyped, the

tool will often automatically include the stereotype along with the

Chapter 18 - Applying Constraints the UML Diagrams name when modeling objects ofto the stereotyped class. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

Figure 7-2: Two objects of type Customer, Kevin and Jackie, and one anonymous Venue object. The entity stereotype symbol is explained in Chapter 3.

List ofCross-Reference Figures List of Tables

Anof instance List Listings of a class may possess its own unique values for each class attribute. Taken together, these

attributes represent the state of the instance, and often play a valuable role in examples and test cases. < Day Day Up > Showing them in the diagram facilitates verification of the Class diagram and evaluation of the test cases and examples. Like attributes of a class, Object attributes are modeled in a second compartment, below the name compartment.
UML Bible

An Object diagram not include the attribute definition (type, visibility, and so forth). It shows the ISBN:0764526049 by does Tom Pender attribute names and values in an assignment statement, like, name = "Kevin". The diagram simply lists the John Wiley & Sons 2003 (940 pages) attribute names and values in the second compartment, as shown in For beginning to advanced users, this book provides Figure 7-3. The attribute definition defines the set ofcomprehensive valid values for each attribute. In some cases, a blank or null value for an attribute is coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve valid.
timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface Figure 7-3: Modeling object attributes.
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3

- What Is UML? - UML Diagrams and Extension Mechanisms

- UML Architecture Link notation

Chapter 4 not - Object-Oriented Concepts Objects only have their own data, but they also participate in relationships, called links. The
Part II - Modeling Object associations on a ClassStructure diagram

define the types of links that objects are allowed to participate in. Just as

a class5 defines a typeRules of object, an association defines a type of link. Just as an object is an instance of a Chapter - Capturing about Objects in a Class Diagram class, a is anto instance an association. Chapter 6 link - How Capture of Rules about Object Relationships
Chapter 7

When two objects enter into the type of relationship specified by an association, they are said to be linked. A link is modeled as a line between two objects. A link may be named in three ways: it may bear the same Chapter 8 - Modeling Interactions in UML 1.4 name as the association that describes it, or it may be described using the role names defined at the ends Chapter 9 - Modeling Interactions in UML 2.0 of the association, or role names that coincide with the participating class names. Figure 7-4 models a Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 venue that "holds" an event, where "holds" is the association name. Figure 7-4 also shows two Chapter 11 - Modeling an Object's in UML 2.0 performances scheduled for theLifecycle event. The performance-event links use role names that coincide with the Part IV - Modeling Object Behavior class names.
Part III - Modeling Object Interactions

- Testing with Objects

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Figure 7-4: Modeling links.

Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UML 2.0

UML Bible by Tom Pender


ISBN:0764526049

UML 2.0 defines John objects as & instances using the InstanceSpecification metaclass. Figure 7-5 represents an Wiley Sons 2003 (940 pages) InstanceSpecification as a model element that can bebook part provides of a package and may be associated with any For beginning to advanced users, this number of classifiers. A classifier may be a class, an association, a data type, and so forth. So an comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how of to a use UMLa to improve InstanceSpecification may describe an object class, link of an association, or an instance of a data quality, concept and efficiency in development. type. This meanstimeliness, that the instance explains both objects and links on an Object diagram.
Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Part III - Modeling Object Interactions Figure 7-5: The relationship between

instances and slots.

Chapter 8 - 2.0 Modeling Interactions in UML 1.4 OMG Chapter 9 - Modeling Interactions in UML 2.0 UML 1.4 a slot a role Lifecycle played by metaclass that represents a connection between an attribute Chapter 10defines - Modeling anas Object's in a UML 1.4

and an11 instance, the an Attribute Link metaclass. UML Chapter - Modeling Object's Lifecycle in UML 2.0 2.0 changed the name of the metaclass from AttributeLink to Slot. A slot is a place Part IV - Modeling Object Behavior that holds a value. Each slot corresponds to a structural feature of the classifier. For a class, a StructuralFeature refers an Diagram attribute. For an association, this means the Chapter 12 - Modeling the Use of a System with the Use to Case isDerived attribute. An InstanceSpecification may have as many slots as it needs; for example an object Chapter 13 - Modeling Behavior Using an Activity Diagram could have no slots or 50 slots or more, as long as they correspond to structural features defined by the Part V - Modeling the Application Architecture associated classifier. Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using Diagram When modeling an instance you do the not Component need to represent every known attribute. Object diagrams Chapter 16 Using Deployment Diagrams in UML 1.4 represent test cases and examples; they only need to model the information relevant for the particular Chapter 17 The - Representing an Architecture in UML 2.0 list of attributes. exercise. class definition maintains the definitive
Part VI - Bringing Rigor to the Model

Figure 18 7-6-adds the metamodel elements explain how to capture the values for the slots on an Chapter Applying Constraints to the UML that Diagrams InstanceSpecification. Each slot has zero or more ordered values that describe the instance. A slot may be Chapter 19 - Action Semantics empty, meaning there is UML no value for the instance Part VII Automating the Modeling Process at the point in time that is represented by the Object diagram. A slot may have many values-for example, as in an array of references to seats reserved on an Chapter 20 - Using a Modeling Tool order. Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, and efficiency development. Figure 7-6: Adding the quality, ValueSpecification to in store values for each slot.

No Magic

Companion Web Site

The relationship between InstanceSpecification and ValueSpecification supports the idea that an instance
<?xml mayversion="1.0" be derived or encoding="ISO-8859-1"?> computed. The ValueSpecification, if needed, provides the details about how to perform Table of Contents the derivation or computation. For example, an order can make reference to the discount used to compute UML Bible its net price. The choice of discount is based on a set of rules that qualify the order for a specific discount. Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture

< Day Day Up >

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible and Object Diagrams ComparingUML Class by Tom Pender


ISBN:0764526049

Figure 7-7 showsJohn a Class diagram containing the rules regarding Customer and Order and the relationship Wiley & Sons 2003 (940 pages) between the two For types of objects (one customer zero or more orders and each order is placed by beginning to advanced users,places this book provides exactly one customer). The Class diagram defines the attributes that must be used to define each type of comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows to use UML to improve object and the behaviors that each type ofhow object must support.
timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Figure UMLan Class notation for an between two classes. Chapter 11 - 7-7: Modeling Object's Lifecycle in association UML 2.0
Part IV - Modeling Object Behavior

The Object diagram in Figure 7-8 shows that object Kevin of type Customer has placed two orders. Although each attribute for the three objects in this example is assigned a value, remember that it is valid Chapter 13 - Modeling Behavior Using an Activity Diagram for attributes to be blank or null if the attribute definition in the class allows it.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - 7-8: Customizing UML notation Using Profiles Figure UML object for one customer who has placed two orders. Chapter 22 - XML Metadata Interchange Appendix A the - UML 1.4 Notation Note that Object diagramGuide is missing part of the information that is required in every Class diagram: the

third compartment, the operations. In the Class diagram, you must include the attributes Appendix B - UML 2.0 containing Notation Guide because objectElements potentially possesses different values for the attributes defined by the class. But the Appendix Ceach - Standard class defines an operation that does not have multiple interpretations or values. Every object of the same Glossary class possesses the same operations. To model, the operations again on the Object diagram would add Index redundancy List of Figures without adding new information. So the operations do not appear on the Object diagram.
List of Tables List of Listings

Table 7-1 shows a side-by-side comparison of the features of Class and Object diagrams. A working

knowledge of the relationship between these two types of diagrams will help you understand how to use < Day Day Up > them both to facilitate analysis and to test the results of your analysis and design efforts. Table 7-1: Comparison of the Class and Object Diagrams
UML Bible

Class Diagramby Tom Pender


John Wiley & Sons 2003 (940 pages)

ISBN:0764526049 Object Diagram

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 two UML The class has three compartments: name, The object has only compartments: name specifications, and shows how to use UML to improve attribute, and operation. and attribute. timeliness, quality, and efficiency in development.

The class name stands alone in the class Companion Web Site name compartment.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

The format for an object name is object name, colon, class-name (1234 : Order), with the entire expression underlined. You will encounter this notation in other diagrams that model objects. An anonymous object uses only the colon and class-name (: Order). The object defines only the current value of each attribute for the test or example being modeled.

Chapter 1

- What Is UML? Operations are Architecture listed in the class. Chapter 2 - UML

The class attribute compartment defines the properties of the attributes.

Operations are not included in the object because they would be identical for every object Chapter 3 - UML Diagrams and Extension Mechanisms of the same class. Chapter 4 - Object-Oriented Concepts Part II classes - Modeling Structure The areObject connected with an The objects are connected with a link that has a Chapter 5 - Capturing Rules about in a Class name, Diagram association that is defined with a Objects name and/or and/or roles, and no multiplicity. An object roles, 6 multiplicity, constraints. A class represents a single entity. All links are one to Chapter - How to and Capture Rules about Object Relationships represents a "classification" of objects, so it is one, so multiplicity is irrelevant. Chapter 7 - Testing with Objects necessary to specify how many may Part III - Modeling Object Interactions participate in the association. Chapter 8 - Modeling Interactions in UML 1.4
Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 < Day Day Up > Part IV - Modeling Object Behavior Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Using the Object Diagram to Test the Class Diagram by Tom Pender
ISBN:0764526049

Drawing a Class John diagram and incorrectly assuming Wiley & Sons 2003 (940 pages) that it's right is very easy to do. That's why you need to use additional diagrams to testto the Class diagram. For example, if I brought you the Class diagram in For beginning advanced users, this book provides Figure 7-9, whichcomprehensive models the sales agreements and seats in the theater application (sure that it's too coverage of the versatility of 1.4 and 2.0 UML specifications, how to with use an UML to improve simple to be wrong), you could and test shows my diagram Object diagram. If you did, you might find some quality, and efficiency in development. problems and betimeliness, able to provide objective proof that the Class diagram needs to be changed.
Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Figure 7-9: Initial Class diagram for sales agreements and seats. Preface
Part I - An Introduction to UML

Sales agreements define the seats that are assigned to an agent for a specified period of time. These - What Is UML? seats comprise the agent's sales territory within the venue. Figure 7-9 tells you that each sales agreement Chapter 2 - UML Architecture may assign one or more (1..*) seats and that each seat is assigned to one (1 or 1..1) sales agreement.
Chapter 1 Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4 of - this Object-Oriented Concepts The rest section steps through the construction of a set of Object diagrams that model the test
Part II -for Modeling Object Structure cases the sales agreement Class

diagram in Figure 7-9. The construction process demonstrates the

Chapter 5 - Capturing Rules about Objects in how a Class Diagram model elements of the Object diagram and the Object diagram illustrates test cases. Chapter 6 - How to Capture Rules about Object Relationships

As I explain each test case you might spot more problems with the original Class diagram than the current Chapter 7 - Testing with Objects testIII case reveals.Object By the Interactions time we finish Part - Modeling
Chapter 8 Chapter 9

all of the test cases, we will have found all the problems.

- Modeling Interactions in UML 1.4

- Modeling Test case 1 Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

First, I create a new sales agreement (6475) and assign two seats (2875 and 2876). Figure 7-10 shows Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 the IV three new objects. The Object Part - Modeling Object Behavior

diagram tells us that the sales agreement assigns two seats. The Class diagram allows this. The Object diagram tells us that each seat is assigned by one sales agreement. This Chapter 12 - Modeling the Use of a System with the Use Case Diagram also agrees with the Class diagram. So far so good.
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Figure 7-10: The Object diagram for test case 1 confirms the Class diagram.

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Test case 2

Does every seat have to be assigned by a sales agreement? After reviewing all the test data obtained from interviews with clients, we find that some seats have never been assigned to an agent. They have always Appendix A - UML 1.4 Notation Guide been available for direct sale to the public. Figure 7-11 adds a seat (1450) that is not assigned by any Appendix B - UML 2.0 Notation Guide sales agreement.
Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Figure 7-11:comprehensive The Object diagram with an unassigned seat. coverage of the versatility of 1.4 and 2.0 UML The Class diagram said that every seat had to bein assigned, using a multiplicity of 1 (short for 1..1). If this timeliness, quality, and efficiency development. test data is correct, we need to update the Class diagram to allow the possibility that a seat might never be Companion Web Site assigned by a sale agreement. Figure 7-12 shows the updated Class diagram, which says that a seat may be assigned by zero or one sales agreement (0..1).
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

For beginning to advanced users, this book provides

specifications, and shows how to use UML to improve

Chapter 1 Chapter 2 Chapter 3 Chapter 4

Figure 7-12: The updated Class diagram.


- UML Architecture - UML Diagrams and Extension Mechanisms

- What Is UML?

Part II - Modeling Object Structure

- Object-Oriented Concepts Test case 3

Chapter 5evidence - Capturing about Objects in a Class Diagram Is there that Rules a seat could be assigned by more than one sales agreement? A review of the test Chapter 6 How to Capture Rules about Object Relationships data and the current system reveals that this is possible. In fact, many seats are assigned and reassigned Chapter 7 - over Testing Objects repeatedly thewith life of the system. Figure 7-13 shows that the two original seats (2875 and 2876) have
Part III - Modeling Interactions been assigned byObject two different sales

agreements (6475 and 6494).

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0

Figure 7-13: Seats assigned by two different sales agreements.

But note the attribute values for the sales agreements. The dates do not overlap. A brief conversation with

Chapter 18 -confirms Applying that Constraints the UML the clients it wouldto violate theDiagrams theater-agent contracts to assign the same seat to two Chapter 19 - Action Semantics different agents for the same period of time.
Part VII - Automating the UML Modeling Process

This one case revealed Chapter 20test - Using a has Modeling Tooltwo problems with the original Class diagram:
Chapter 21seat - Customizing UML Using Profiles 1. A may be assigned by any number of sales agreements, not just one. Chapter 22 - XML Metadata Interchange

2. The for the sales agreements that assign the same seat may not overlap one another. Appendix A - time UML periods 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure 7-14 models the revised Class diagram with modified multiplicity and a new constraint. Zero or more (0..*) sales agreements may assign the same seat, but for time periods that do not overlap.

< Day Day Up >

UML Bible
ISBN:0764526049 Tom Pender Figure 7-14:by Updated Class diagram with revised multiplicity and a new constraint.

John Wiley & Sons 2003 (940 pages)

Test case 4

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Interviews with the clients reveal that our model needs to support their ability to define groups of seats for Companion Web Site assignments. For example, they want to be able to select a predefined block of 200 seats from the west side and another predefined 200-seat block from the east side of the venue quickly. The current model requires that they choose each of the 200 seats separately each time. Figure 7-15 models a new kind of <?xml version="1.0" encoding="ISO-8859-1"?> Table of called Contents object SeatGroup that identifies a set of seats. The venue manager may now assign either groups of seats UML Bible or individual seats.
Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure Adding the newin SeatGroup Chapter 9 - 7-15: Modeling Interactions UML 2.0 to facilitate seat assignments.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

This approach also supports common grouping mechanisms such as grouping seats into rows and rows into sections. In other words, you can make groups from other groups, as in making sections out of rows.

Chapter 12 - Modeling the groups Use of a System a with the Use Case Diagram The addition of the seat requires change to the Class diagram. Figure 7-16 shows that a sales Chapter 13 Modeling Behavior Using an Activity Diagram agreement may be set up with groups of seats as well as individual seats.
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Figure Revised Class diagram Chapter 21 - 7-16: Customizing UML Using Profileswith seat groups.
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Note the changes revealed by this test case:

Appendix B - group UML 2.0 Notation Guide A seat defines an aggregation of 2 or more (2..*) seats, modeled by the aggregation type of Appendix C Standard Elements association between SeatGroup and Seat, where SeatGroup is the aggregate and Seat is the Glossary member/part. Index

a sales agreement may assign either individual seats or seat groups. Also, any given sales List ofNow Figures might not assign any individual seats (0..*) or any groups (0..*) so the minimum multiplicity List ofagreement Tables to zero for both association ends. But this poses a problem because we need to make certain List ofdrops Listings

that at least one seat or seat group is assigned. The current Class diagram (Figure 7-16) allows a < Day Day Up > sales agreement with zero seats and zero seat groups. Hold that thought (we'll call it the "zero" problem) while we refine the Class diagram based on what we have learned. There is alsoUML a problem Bible with the composition of seat groups. The revised Class diagram says that every seat group must contain at least two (2..*) seats and at least two (2..*) seat groups. We'll call it ISBN:0764526049 by Tom Pender the "two minimum" problem. This still isn't quite what the clients want. John Wiley & Sons 2003 (940 pages)

Class diagram refinement

The new model provides the flexibility that the clients want and need, but it leaves us with the "zero" and Companion Web Site the users to consciously choose between working with groups the "two minimum" problems, and requires of seats and working with individual seats.
<?xml version="1.0" encoding="ISO-8859-1"?> Further examination tells us that seats and seat groups have a lot in common: Table of Contents UML Bible They are both assigned by sales agreements. Preface

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

both designate locations Part IThey - An Introduction to UML


Chapter 1 Chapter 2 - What Is UML? - UML Architecture

within the venue.

They both may be a member of a group.

Chapter 3 generalizing - UML Diagrams and types Extension Mechanisms Perhaps the two of objects could help solve the "zero" and the "two minimum" Chapter 4 -and Object-Oriented Concepts problems, provide a means to help the clients use both objects in exactly the same manner thereby
Part II - Modeling Object Structure simplifying their work.

Chapter 5 Chapter 7

- Capturing Rules about Objects in a Class Diagram Figure 6 7-17 adds a Capture new superclass, called Location, which embodies the common properties of seats and Chapter - How to Rules about Object Relationships

groups of seats. That is, they both can be assigned by a sales agreement, and they both can be a - Testing with Objects member of a group. Location is specialized into individual seats and seat groups. Now a sales agreement Part III - Modeling Object Interactions may assign any type of location in the same manner, whether the location is a single seat or 500 seats Chapter 8 - Modeling Interactions in UML 1.4 organized into a section composed of 10 rows that are each composed of 50 seats. Both are simply Chapter 9 - Modeling Interactions in UML 2.0 locations.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process Figure 7-17: Revised Class diagram with the

Location generalization.

Chapter 20 - Using a Modeling Tool

How does new Class diagram solve the problems identified earlier? Chapter 21 -this Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix C - Standard Elements

The revised Class diagram says that a sales agreement must have at least one (1..*) location. It doesn't matter what type of location; any type, a seat or a seat group, will do. This solves the "zero" Appendix B - UML 2.0 Notation Guide problem.
Glossary The revised Class diagram solves the "two minimum" problem of needing two seats and two seat Index groups to form a seat group by saying that a seat group is formed from two locations. Again, any type

location will do. The group may be formed using at least two seats, two seat groups, or a seat and a List ofof Figures group. List ofseat Tables
List of Listings

< Day Day Up > Note By the way, the Location generalization combined with the aggregation between the subclass SeatGroup and the superclass Location is an example of the "Composite" design pattern (not to be confused with composition).

In summary, use the Object diagram on an as-needed basis to model specific examples or test cases. ISBN:0764526049 by Tom Pender Use examples to discover how to draw the Class diagram. Use representation of the facts (test cases) in John Wiley & Sons 2003 (940 pages) the Object diagram to test the representation of the rules set forth in the Class diagram. Adjust the Class For beginning to advanced users, this book provides diagram to address errors and missed requirements. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

UML Bible

< Day Day Up >

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling the Composite Structure diagram (UML 2.0) by Tom Pender
ISBN:0764526049

A Composite Structure diagram models John Wiley & Sons 2003the (940parts pages)of a class, component, or collaboration, including the interaction pointsFor (ports) used to features the structure. The visual concept comes from the old beginning to access advanced users, of this book provides Composite Context diagram of earlier UML versions. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in diagram development. Figure 7-18 models a simple Composite Structure of a pricing strategy from the theater system. A pricing strategy is built using a discount and a set of price tiers. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2

Figure 7-18: Composite Structure diagram of a pricing strategy.


- UML Architecture

- What Is UML?

Chapter 3 - UML Structure Diagrams diagrams and Extension The Composite alsoMechanisms model collaborations. A collaboration describes a behavior, the Chapter 4 Object-Oriented Concepts resources used to perform the behavior, and the roles the resources assume during the behavior. Figure
Part II models - Modeling Object Structure 7-19 a collaboration in which

a venue manager secures the services of an agent.

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure 7-19: A Composite Structure diagram representing a collaboration.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Structure Rigor to the Model models The Composite diagram

Modeling a class and its parts

a class as a large rectangle with the class name in a

Chapter 18 - Applying Constraints to the UML Diagrams compartment at the top of the rectangle, as the two examples in Figure 7-20 show. The classes that define Chapter 19of - Action Semantics the parts the containing class reside within the body of the class rectangle. The classes (whether
Part VII - Automating the UML Modeling Process containers or parts) play various roles depending on

the purpose of the specific test case. Pay particular attention to the instances of the SeatGroup class depicted in the figure. Chapter 20 - Using a Modeling Tool
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure 7-20: Class notation in a Composite Structure diagram.

On the left is a SeatGroup class taken from the example in Figure 7-17. The seat group is playing the role < Day Day Up > of a row (/Row), which is made up of a set of seats. The seats are modeled as an instance with a multiplicity value enclosed in square braces [ ] stating how many parts are contained in the class. In this example, a row is made up of 20 seats. In the middle example in Figure 7-20, a seat group playing the role UML Bible of a section (/ Section) contains 10 seat groups, each playing the role of a row.
by Tom Pender
ISBN:0764526049

On the right in Figure section contains rows that contain seats. As of this writing, UML 2.0 does John 7-20, Wiley the & Sons 2003 (940 pages) not explicitly allow nesting of StructuredClassifiers. In book UML provides 2.0 the / Row : SeatGroup instance on the right For beginning to advanced users, this comprehensive of the versatility of 1.4 andsame 2.0 UML cannot be broken down to showcoverage the member Seat instances in the diagram so the seat group on the specifications, and shows how to use UML to improve right would be invalid.
timeliness, quality, and efficiency in development. Companion Web Site Modeling connectors and ports

The version="1.0" Composite Structure diagram also models the way the parts of an aggregate object are connected to <?xml encoding="ISO-8859-1"?> function properly. For example (departing from the theater system momentarily), a car is constructed with Table of Contents an engine, a transmission, and a fuel pump (and many other parts). The engine must receive fuel to run, UML Bible and it must be connected to the transmission in order to power the car. Figure 7-21 models the Car class Preface andI three part objects:to the engine, Part - An Introduction UML between each pair of parts. Chapter 1 - What Is UML?
Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

the transmission, and the fuel pump. The connectors are the lines

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - 7-21: Modeling Behavior Using an Activity Diagram Figure Connectors and ports.
Part V - Modeling the Application Architecture

Chapter 14 -squares Modeling Architecture The small atthe theApplication ends of the connectors model ports, the points of contact between the connector Chapter 15 - Modeling Software the interaction Componentpoint Diagram and the object. A port defines Using a distinct on the object. A port may specify the types of

interactions in terms of required interfaces and1.4 provided interfaces. A required interface describes the Chapter 16 - Using Deployment Diagrams in UML object's need for a service by some other Chapter 17 - Representing anprovided Architecture in UML 2.0 object. All requests for services through a required interface are outbound, that Part VI - Bringing Rigor tomeaning the Model the object seeks help from some other object. For example, the engine 18 requires a fuel source, so needs to look outside itself to find a source, like a fuel pump, Chapter - Applying Constraints tothe theengine UML Diagrams and obtain help. A provided interface describes a service that the object offers to other objects, such as Chapter 19 - its Action Semantics when the engine provides power to theProcess transmission Part VII - Automating the UML Modeling
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

or when the fuel pump provides fuel to the engine.

Cross Reference Chapter 4 provides a complete description of required and provided interfaces and the relevant notation.

Appendix Ais - modeled UML 1.4 Notation Guide The port as a square on the boundary of the object. The default visibility is public. It is possible

however, draw the square Guide inside the object boundary and declare it as private in cases where the Appendix B to - UML 2.0 Notation interface usedElements internally by the object. Appendix Cis - only Standard
Glossary Index

A port may specify any number of interfaces. The set of interfaces defines the port. In Figure 7-21, the engine defines a port that requires a fuel interface. The fuel pump defines a port that provides a fuel List of Figures interface. Likewise, the transmission defines a port that requires a power interface, and the engine List of Tables provides a power interface. The sum of the ports and associated services defines the boundary of the
List of Listings

object. In other words, the object is encapsulated within the set of interfaces. Encapsulation encourages < Day Day Up > reuse. For example, the fuel pump in our example could be used with any engine that requires the same type of interface provided by the fuel pump. You do not need UML to use ports to connect parts. The transmission end of the connector between engine and Bible transmission in our does not have a port. Ports simply provide a means to encapsulate a part so ISBN:0764526049 by example Tom Pender that features of the part are hidden and the interfaces to the part take priority in the design discussion. It is John Wiley & Sons 2003 (940 pages) the designer's decision whether this level of encapsulation aids or hinders the design process. For beginning to advanced users, this book provides Finally, ports come in two types, signal and service. types are mutually exclusive. If the port is specifications, and shows how to useThe UMLtwo to improve timeliness, and efficiency in development. defined as isSignal, and thequality, isSignal attribute is true, it may only relay signals. If the port is defined as isService, and the isService attribute is true, it defines the services provided by the classifier, like the fuel Companion Web Site and power services in the car example. If isService is false, the port is not part of the externally published features of the classifier, and it may be changed or deleted without altering the definition of the classifier. <?xml version="1.0" encoding="ISO-8859-1"?> For example, the engine also has gaskets and mounting bolts but they do not provide services to the Table of Contents engine or other parts of the car. They may be replaced or even deleted in favor of other technologies UML Bible without affecting the car's fundamental design. The same cannot be said for the fuel pump, which provides Preface an essential service. Deleting or replacing it requires that we first address the replacement of the service Part - was An Introduction thatIit providing. to UML
Chapter 1 Chapter 2 Chapter 3 - What Is UML? - UML Diagrams and Extension Mechanisms - UML Architecture Modeling a collaboration comprehensive coverage of the versatility of 1.4 and 2.0 UML

Chapter 4 - Object-Oriented Concepts Acollaboration represents how elements of the model cooperate to perform some essential behavior. The
Part II - Modeling Object Structure participating elements may include

classes and objects, associations and links, attributes and operations,

Chapter 5 -use Capturing about Objects in a Class Diagram interfaces, cases,Rules components, and nodes. The behavior may be a use case, an operation, a

collection operations, or a general mechanism of the system. In other words, a collaboration may be Chapter 6 of - How to Capture Rules about Object Relationships modeled many different levels of abstraction. Chapter 7 at - Testing with Objects
Part III - Modeling Object Interactions

When a collaboration describes the implementation of a single operation, it includes the classes, - Modeling Interactions in UML 1.4 associations, interactions, and roles that each class plays in the behavior. The collaboration may be Chapter 9 - Modeling Interactions in UML 2.0 modeled from two perspectives. First, the structure may be modeled with a class diagram that shows only Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 the classes, associations, attributes, and operations relevant to the realization of that specific collaboration. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Second, the behavioral perspective may be modeled with an interaction diagram: a Sequence or Part IV - Modeling Object Behavior Collaboration diagram (or both).
Chapter 8 Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part - Modeling the Application Architecture thatV requires a standard set of interactions among

Chapter 13 - Modeling Behavior Using an Diagram One common use for collaborations is Activity to model design patterns. A pattern models a common behavior

a set of objects that fit the roles defined by the pattern.

For example, the Composite designArchitecture pattern defines a way to organize objects of varying complexity so that Chapter 14 - Modeling the Application they can used in the same Using manner of their complexity. A collaboration is modeled as a Chapter 15be - Modeling Software theregardless Component Diagram dashed oval with the collaboration name Figure 7-22 shows Composite (for the design pattern) Chapter 16 - Using Deployment Diagrams in inside. UML 1.4 modeled a collaboration. Chapter 17 as - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary

Figure 7-22: Modeling a collaboration icon.

Index A collaboration does not specify particular classes, but it defines the roles that classes have to play in List of Figures order to accomplish the goal of collaboration. A role, formally called a ClassifierRole, defines the set of

features that a classifier needs to possess in order to fulfill a particular responsibility in the collaboration. List of Tables This much like defining player positions on a sports team. We can define the roles of the pitcher, List of is Listings

catcher, and first baseman on a baseball team without knowing any specific people who might play these < Day Day Up > positions. The ClassifierRole also may define attribute values and behaviors that an instance must possess in order to play the role. For example, UML Bible a pitcher must be able to throw specific pitches and meet specific criteria for speed and accuracy. ISBN:0764526049 by Tom Pender The notation for a ClassifierRole uses the following syntax:
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use ClassifierName UML to improve ObjectName '/' ClassifierRoleName ':' [',' ClassifierName] timeliness, quality, and efficiency in development.

The entire name is underlined when referring to an instance. When only a role name is needed and no instance reference is implied, do not underline the name. Table 7-2 provides a complete description of <?xml version="1.0" encoding="ISO-8859-1"?> alternative object and role names.
Table of Contents UML Bible Preface

Companion Web Site

Table 7-2: Examples of ClassifierRole Name Variations


- What Is UML?

Part I - An Introduction to UML Syntax Interpretation

Chapter 1 Chapter 2

- UML Architecture : Class1instance An and anonymous instance of type Class 1. Chapter 3 UML Diagrams Extension Mechanisms

name 4 Chapter
Chapter name 5 Chapter 6 Chapter 7 Chapter 8

- Object-Oriented Concepts

Part II - Modeling Object Structure

: Class1- role

Used to model the fact that any instance of type Class1 could fulfill the

An instance called Object1 of type Class1. Used to model the fact that a particular instance, of type Class1, fulfills the Part III - Modeling Object Interactions requirements of the specified part in the collaboration.
- Testing with Objects - Modeling Interactions in UML 1.4

Object1 : Class1

- Capturing Rules about Objects in specified a Class Diagram requirements of the part in the collaboration. - How to Capture Rules about Object Relationships

Object1 : Interactions An instance called Object1 of type Class1 playing RoleA. Chapter 9 / -RoleA Modeling in UML 2.0 Class1 Used to model the that Chapter 10 - Modeling an Object's Lifecycle infact UML 1.4a specific instance, of a specific type, behaving in a specific manner, fulfills Chapter 11 - Modeling an Object's Lifecycle in UML 2.0the requirements of the specified part in the Part IV - Modeling Objectcollaboration. Behavior
Chapter 12 / -RoleA Modeling the Use of a System with the Use Diagramtype playing RoleA (we know the Object1 An instance called Object1 of Case an unknown Chapter 13 - Modeling Behavior Using Activity Diagram name of the an object but not the type).
Part V - Modeling the Application Used to Architecture model the fact

that a specific instance, behaving in a specific

Chapter 14 - Modeling the Application Architecture manner, fulfills the requirements of the specified part in the collaboration. Chapter 15 - Modeling Software Using the Component Diagram Chapter name 16 - Using Deployment Diagrams in UML 1.4

/ RoleA - instance

An unspecified instance of an unknown type playing RoleA.

Chapter 17 - Representing an Architecture in UML 2.0

/ RoleA - role Rigor to Used to model Part VI - Bringing the Model

the fact that the solution requires that any type of object may name fulfill the role as long as it conforms to the rules for the role. Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics Object1 An instance called Object1 of an unknown type. Part VII - Automating the UML Modeling Used to model Process the fact that this specific object exemplifies the required behavior. Chapter 20 - Using a Modeling Tool
Chapter 21: Customizing UML Using Profiles / RoleA Class1 An anonymous instance of type Class1 playing RoleA. Chapter 22 XML Metadata Interchange instance name Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index The role names for the composite design pattern are "component", "composite", and "leaf". Figure 7-23 is List of Figures a Class diagram within a collaboration, using role names instead of class names. The format for the List of Tables ClassifierRole used in Figure 7-23 is "/ RoleName". This is typical of design patterns that may be applied to List of Listings many different types of objects. The leaf role describes an individual object. The composite role describes

/ RoleA : Class1 role name

Used to model the fact that the solution will work with any instance of this type playing this role.

an object that is actually an assembly of other< objects. The component is basically the interface, the view Day Day Up > that other classes and applications see. Since both a leaf and a composite object are types of components (specializations), the user views and manipulates both types of objects as though they are components. So single objects and complex aggregate objects are handled in the same manner without requiring the UML Bible user to first understand their structure.
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3

Figure 7-23: Applying role names to classes. - UML Architecture

- What Is UML?

Chapter - Object-Oriented Concepts design 4 if we can assemble a set of classes that will assume the defined roles and associations. The next
Part II - Modeling Object Structure

- UML Diagrams and Extension Mechanisms Figure 7-23 represents the pattern abstraction, the concept. It tells us that we can apply the pattern to our

section addresses the application of the pattern to a set of classes that fulfill the pattern within a specific
- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

Chapter 5 context. Chapter 6 Chapter 7

Part III - Modeling Object Interactions

- Testing with Objects Modeling a collaboration occurrence

Chapter 8 continues - Modeling Interactions in UML 1.4 UML 2.0 with the fundamental concept that a collaboration describes the essential structure and Chapter 9 to - accomplish Modeling Interactions in system UML 2.0task. A collaboration may specify the required attributes and behavior a standard Chapter 10 - communication Modeling an Object's Lifecycle in UML 1.4 operations, between objects, and the needed relationships. But all of these requirements Chapter 11 -in Modeling an does Object's in or UML 2.0 are stated a way that notLifecycle mandate presuppose any particular classes.
Part IV - Modeling Object Behavior

In fact, 12 a collaboration is Use often in terms of interfaces rather than classes for this very reason. Chapter - Modeling the of expressed a System with the Use Case Diagram Any classes that can Behavior support the needed interfaces may participate in the collaboration. Chapter 13 - Modeling Using an Activity Diagram
Part V - Modeling the Application Architecture

To exploit this approach, UML 2.0 introduces the concept of a collaboration occurrence. A collaboration occurrence is a single instance of the collaboration that is bound to a specific set of elements, that is, Chapter 15 - Modeling Software Using the Component Diagram classes and associations. So there may be any number of collaboration occurrences for any collaboration. Chapter 16 - Using Deployment Diagrams in composite UML 1.4 collaboration for seating arrangements, events, In the theater application, I might use the Chapter 17 Representing an Architecture in UML 2.0 pricing strategies, and so forth. The roles, rules, and requirements for the participants are identical in each Part VI Bringing Rigor to the Model case even though the actual classes and applications vary substantially.
Chapter 14 - Modeling the Application Architecture Chapter 18 - Applying Constraints to the UML Diagrams

Figure 19 7-24 presents a portion of the UML 2.0 metamodel for collaboration occurrences, showing that they Chapter - Action Semantics canVII be bound to anythe type of classifier. Part Automating UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> 7-24: A collaboration occurrence is bound to either operations or classes. Table Figure of Contents

No Magic UML Bible


Preface

Apart from collaboration occurrence, the only change in UML 2.0 is that it uses the Composite Structure diagram to model collaboration structure. Also, since the collaboration is itself a classifier, it can use any Chapter 1 - What Is UML? kind of behavioral diagram to represent its behavioral requirements such as a State Machine or Sequence Chapter 2 - UML Architecture diagram.
Part I - An Introduction to UML

Chapter 3

- UML Diagrams and Extension Mechanisms

Chapter 4 - Object-Oriented Concepts As an example of a collaboration occurrence, Figure 7-25 applies a set of classes from the theater system
Part II - Modeling Object to exploit the benefits ofStructure the composite

design pattern from Figure 7-23 to work with various seating

Chapter 5 - Capturing Rules about Objects in a Class Diagram arrangements. Chapter 6 Chapter 7 Chapter 8 Chapter 9 - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - 7-25: Modeling Behavior an Activity Diagram Figure Applying theUsing collaboration structure to the theater system.
Part V - Modeling the Application Architecture

Chapter 14a- pattern Modeling Application Architecture To apply tothe actual classes, each class assumes one of the collaboration roles. The dependency Chapter 15 -points Modeling Software Usingon thethe Component Diagram arrow that to the class takes role name played by the class. Figure 7-25 models the applied

pattern16 using three theater system classes used to define seating arrangements. An individual seat is a Chapter - Using Deployment Diagrams in UML 1.4 leaf. A 17 grouping of seats an such as a row composed Chapter - Representing Architecture in UML 2.0 of seats or a section composed of rows is a composite object. location is a component that Part VI - A Bringing Rigor to the Model
Chapter 19 - Action Semantics

may be either an individual seat or a seat group. Using this pattern,

a user can an entire section easily as booking a single seat. Chapter 18 - book Applying Constraints toas the UML Diagrams Within a collaboration, the dependency arrow is a called a connector. The connector binds a role to a model element. For example, in Figure 7-25 the component role is bound to the Location class. The Chapter 20 - Using a Modeling Tool collaboration defines the roles. The collaboration occurrence binds or maps the roles to specific classes Chapter 21 - Customizing UML Using Profiles that fulfill the purpose of the collaboration. In the preceding example, the Composite design pattern / Chapter 22 - XML Metadata collaboration is fulfilled byInterchange the Location collaboration occurrence. All the collaboration roles are accounted Appendix A UML 1.4 Notation Guide and generalizations. for by a set of classes, associations,
Part VII - Automating the UML Modeling Process

Appendix B - UML 2.0 Notation Guide

A collaboration may also model the implementation of an individual operation. Figure 7-26 shows how to Appendix C - Standard Elements associate a collaboration with the operation that it realizes/implements. Glossary
Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Figure 7-26: Modeling collaborations that realize an operation.

Preface This representation is most valuable when the implementation is complex. The collaboration may include
Part IAn Introduction to UMLdiagrams both structural and behavior

to explain the collaboration. The benefit of using a collaboration to

Chapter 1 the - What Is UML? is the separation of the implementation from the requirements. This separation describe requirements Chapter 2the - design, UML Architecture permits review, and maintenance of the implementation without altering or losing sight of the Chapter - UML Diagrams and Extension Mechanisms original3requirement. In the Order example, that means never losing sight of the need to compute the total

price of4the even if you need to change the algorithm that does so a dozen times over the life of the Chapter - order Object-Oriented Concepts application. Part II - Modeling Object Structure
Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships < Day Day Up > - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

UML supports the description of objects well as classes. Objects are modeled using an Object John Wiley & Sons 2003as (940 pages) diagram, a specialized Class diagram that users, contains only objects and links. To model objects that are For beginning to advanced this book provides constructed by assembling other objects, UML defines the Composite diagram that models comprehensive coverage of the versatility of 1.4 and 2.0Structure UML and shows how to use UML another. to improve assemblies usingspecifications, visual containment of one object within
timeliness, quality, and efficiency in development.

Object diagram, objects, and links: The Object diagram models facts about specific objects and their Companion Web Site links. A link represents a relationship between two objects. A link is an instance of an association in the same way that an object is an instance of a class. The Object diagram is used primarily to <?xml version="1.0" discover facts encoding="ISO-8859-1"?> in order to build a Class diagram, or to model test data to test a Class diagram.
Table of Contents

Composite Structure, parts, and ports: The Composite Structure diagram is an alternative for UML Bible modeling aggregation and composition relationships. Classes that represent types of part objects are Preface inside the border Part Iplaced - An Introduction to UML of
Chapter 2 Chapter 3 - UML Architecture

the aggregate class icon to represent physical containment. Ports define the interfaces between parts within a Composite Structure diagram. Chapter 1 - What Is UML? UML models the behavior of objects in specific situations using Interaction diagrams. But UML also - UML Diagrams and Extension Mechanisms supports a collaboration, which defines a pattern of interactions between objects and the interfaces Chapter 4 - Object-Oriented Concepts needed to make the interaction work. Collaborations may be used within any of the UML diagrams to Part II - Modeling Object Structure define a predictable pattern of classifiers and interactions without identifying the specific types of classifiers Chapter 5fulfill - Capturing Rules about Objects in aeffectively Class Diagram that will the collaboration requirements separating the specification of the system from the Chapter 6 How to Capture Rules about Object Relationships implementation.
Chapter 7 - Testing with Objects

Collaborations, roles, and realization: Part III - Modeling Object Interactions

A collaboration models a standard type of behavior within a

system. The behavior is modeled as a set of cooperating classifiers, their relationships, and the Chapter 8 - Modeling Interactions in UML 1.4 interactions between them. A collaboration is defined in terms of the roles that participating classifiers Chapter 9 - Modeling Interactions in UML 2.0 must toan in order to participate the collaboration. A collaboration may be Chapter 10 conform - Modeling Object's Lifecycle in in UML 1.4 realized/implemented by a set of classifiers that conform to the types and interactions defined by the Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 collaboration. Each Behavior classifier Part IV - Modeling Object assumes a role defined by the collaboration and implements the interactions specified for that role. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

< Day Day Up > Chapter 14 - Modeling the Application Architecture


Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Part III: Modeling Object Interactions ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides In This Part comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Chapter 08: Modeling Interactions in UML 1.4


Companion Web Site

Chapter 09: Modeling Interactions in UML 2.0


<?xml version="1.0" encoding="ISO-8859-1"?> Chapter 10: Modeling an Object's Lifecycle in UML 1.4 Table of Contents UML Bible Chapter 11: Modeling an Object's Lifecycle in UML 2.0 Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture

< Day Day Up >

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Chapter UML 8: Modeling Interactions in UML 1.4 ISBN:0764526049 by Tom Pender

Overview

John Wiley & Sons 2003 (940 pages)

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows todiagrams. use UML to improve In Chapter 3, I provided an overview of thehow UML I distinguished their use around three general timeliness, quality, and efficiency in development. headings: structural diagrams, behavioral diagrams, and model management diagrams. The structural

diagrams (class, object, component, Companion Web and Site so forth) represent how the objects are defined and how they are related to one another. They do not represent how the objects behave when you put them to work. In contrast, the behavioral diagrams represent how the objects work using the structure already defined in <?xml version="1.0" encoding="ISO-8859-1"?> the other diagrams. This dynamic view contains diagrams specifically designed to model how the objects Table of Contents communicate in order to accomplish tasks within the operation of the system. They can represent how the UML Bibleresponds to actions from the users, how it maintains internal integrity, how data is moved from system Preface storage to a user view, how objects are created and manipulated, and much more.
Part I - An Introduction to UML

Because Chapter 1 system - What behaviors Is UML? can be large and complex, the behavioral diagrams tend to look at small, discrete the system such as individual scenarios or operations. You might not see the behavioral Chapter 2 pieces - UMLof Architecture diagrams all system because not all behaviors are complex enough to warrant a Chapter 3 used - UMLfor Diagrams andbehaviors Extension simply Mechanisms visual explanation of the communication required to accomplish them. Even so, the Class diagram and the Chapter 4 - Object-Oriented Concepts various behavioral diagrams are the Part II - Modeling Object Structure
Chapter 6

most often-used diagrams because they most directly reveal the specific features required to generate code. Chapter 5 - Capturing Rules about Objects in a Class Diagram
Chapter 7 -to Testing with Objects compared UML 2.0's five. UML 2.0 renames two diagrams and adds the Timing diagram and the
Part III - Modeling Object Interactions

How to Capture Rules about Object Relationships Table 8-1 shows the three behavioral diagrams in UML 1.4 (Sequence, Collaboration, and Statechart)

Interaction Overview diagram.

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4


Part IV - Modeling Object Behavior

Table 8-1: Comparison of Behavioral Diagrams Between UML 1.4 and UML 2.0

UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 UML 2.0
Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Sequence diagram Behavior Using an Activity remains Sequence diagram Chapter 13 - Modeling Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Collaboration diagram

becomes

Communication diagram

Statechart diagram Software Using the becomes State Machine Chapter 15 - Modeling Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 new Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Interaction Overview diagram Timing diagram

new

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics This chapter covers the Sequence and Collaboration diagrams of the UML 1.4 specification. Chapter 9
Part VII - Automating theSequence, UML Modeling Process discusses the UML 2.0 Communication,

Interaction Overview diagrams, and Timing diagrams.

Chapter 20 - Using a Modeling Tool Chapter 10 explains the UML 1.4 Statechart diagram. Chapter 11 explains the UML 2.0 State Machine. Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

Bible Modeling aUML Sequence Diagram by Tom Pender


ISBN:0764526049

The Sequence and Collaboration diagrams most often used to illustrate interactions between objects. John Wiley & Sons 2003 (940are pages) As such, they both model objects and messages For beginning to advanced users, between this book objects. provides Tip The diagrams can alsoand be used model interactions between classifiers, as is done to model the specifications, showsto how to use UML to improve timeliness, quality, and efficiency in development. interactions for a collaboration. The Sequence diagram uses a time-oriented visualization. It uses a set of object icons and associated timelines, together called an object lifeline , for each object. In contrast, the Collaboration diagram presents a structure-oriented visualization. In fact, the Collaboration diagram's notation is based on the <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Object diagram notation that models objects and links.
UML Bible Preface Companion Web Site comprehensive coverage of the versatility of 1.4 and 2.0 UML

Note You might think it's odd that the UML has two diagrams that do the same thing. In a way, you're right. The reason is that they come from different methodologies and each offers a slightly Part I - An Introduction to UML different perspective that can be quite valuable. The two diagrams are compared later in this Chapter 1 - What Is UML? chapter.
Chapter 2 - UML Architecture Chapter 3 - UML Diagrams anddiagrams Extensionis Mechanisms The common feature of both the ability to represent interactions. Interactions show us how Chapter - Object-Oriented Concepts objects4send messages to each other. When one object wants to send a message to another object, the
Part II - Modeling Object Structure second object has to have a way

to receive the message. The message must match an interface provided

Chapter 5 - Capturing about Objects in a Class Diagram by the second object. Rules It is kind of like receiving a phone call. The person receiving the call has to own the Chapter 6 being - How to Capture Rules about Object Relationships number called in order to receive the call. The number is the interface. So interactions, messages

sent between objects, reveal interface requirements. The interface is literally an operation. Chapter 7 - Testing with Objects
Part III - Modeling Object Interactions

Chapter 8

Cross-Reference SeeChapter 5 for an explanation of operations. - Modeling Interactions in UML 1.4

Chapter 9 - Modeling Interactions in UML 2.0 This pairing of messages and interfaces is helpful in two ways for building and testing your model: Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

1. It can point to existing model elements. If one object needs to send a message to a target object, you should check to see if the second object already provides the needed interface. When using a Part IV - Modeling Object Behavior modeling tool, this is as simple as pulling up a list of the defined interfaces for the target object and Chapter 12 - Modeling the Use of a System with the Use Case Diagram then picking the matching interface to complete the interaction. In a modeling tool, you might Chapter 13 - Modeling Behavior Using an Activity Diagram accomplish this either by accessing the list from within the Sequence or Collaboration diagram, or Part V - Modeling the Application Architecture by checking the object's corresponding class specification in the Class diagram. This ability to Chapter choose 14 - Modeling the Application Architecture existing interfaces makes adding new features to a system very quick and easy, which can, Chapter in 15turn, - Modeling Software Using the Component Diagram project phases and later maintenance facilitate the development work in subsequent Chapter activities. 16 - Using Deployment Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0

can aid Rigor in discovering the need Part 2. VI -ItBringing to the Model

for new model elements. If you find that you need to send a

to aConstraints target object, but UML that Diagrams object does not have a corresponding interface, then you have Chapter message 18 - Applying to the a new interface requirement. Similarly, if you do not already have an appropriate target Chapter discovered 19 - Action Semantics to take the responsibility for receiving Part VII object - Automating UML Modeling Process
Chapter 21 - Customizing UML Using Profiles

and responding to the message, then you have discovered a requirement for a new type of object, a new class definition. Chapter 20 - Using a Modeling Tool
Chapter - XML Metadata options22 in the bottom rightInterchange corner, <new operation> and Call Action. While the actual labels may differ Appendix A UML 1.4 Notation between tools, the same two Guide concepts are commonly supported. The Call Action is an example of

Figure 8-1 shows a clip from the MagicDraw Sequence diagram menu for an event object. Note the two

Appendix B 1; - UML 2.0 Notation Guide approach it provides the list displayed on the left side of the figure containing all the operations already Appendix C Standard Elements defined on the event class. The <new operation> option is an example of approach 2; it enables you to Glossary define a new operation (big surprise). The new operation is added to the specification for the class that the Index current object belongs to, that is, the Event class. List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1

- What Is UML? Figure example of the automated support for finding operations, and for adding new Chapter 2 - 8-1: UML An Architecture

operations on messaging requirements. Chapter 3 - UMLbased Diagrams and Extension Mechanisms$No Magic
Chapter 4

Sequence and Collaboration diagrams are based entirely on messaging requirements. Messaging requirements come from the fact that objects are required to perform behaviors. So where do you find the Chapter 5 - Capturing Rules about Objects in a Class Diagram behaviors you need to model? In many projects the use cases are created first because they model the Chapter 6 - How to Capture Rules about Object Relationships behaviors of the system expected by the clients. These behaviors provide the basis for building scenarios. Chapter 7 - Testing with Objects Each scenario describes in text form how the system should behave under a specific set of circumstances, Part III - Modeling Object Interactions such as using the system to select a show to attend. The Sequence and Collaboration diagrams provide a Chapter 8 - Modeling Interactions in UML 1.4 pathway from the textual descriptions of behaviors in the scenarios to the operations/interfaces required by Chapter 9 diagram - Modeling in UML code. 2.0 the Class in Interactions order to generate
Part II - Modeling Object Structure

- Object-Oriented Concepts

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Tip The scenarios provide a basis for developing test cases and an acceptance-level test plan. Chapter 11 - Modeling analso Object's Lifecycle in UML 2.0 Chapter 12 explains use cases Part IV - Modeling Object Behavior and scenarios.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Modeling an object lifeline

Chapter 14 - Modeling Architecture While classes definethe the Application types of behaviors that objects can perform, all behavior in the object-oriented

system15 is performed by objects, not the classes. Objects take on the responsibility for editing data, storing Chapter - Modeling Software Using Component Diagram data, moving dataDeployment around in the system, to queries, protecting the system, and more. Objects Chapter 16 - Using Diagrams inresponding UML 1.4 work together to perform an these tasks by in communicating with one another. Examining how specific objects Chapter 17 - Representing Architecture UML 2.0 work under specific circumstances Part VI - Bringing Rigor to the Model
Chapter 19 - Action Semantics

reveals the exact nature of the communication.

Chapter 18 - Applying Constraints to the UML Diagrams

Consequently, Sequence (and Collaboration) diagrams are most often modeled at the object level rather than the class level. This approach also supports scenarios in which multiple objects of the same class Part VII - Automating the UML Modeling Process work together as, for example, when one employee object collaborates with another employee object. It Chapter 20 - Using a Modeling Tool also allows the Sequence diagram to model facts in the forms of concrete test data and examples, instead Chapter 21 - Customizing UML of more general concepts or Using rules Profiles captured in the class specifications. The Sequence diagram uses two Chapter 22 XML Metadata Interchange fundamental notation elements: object lifelines and messages or stimuli.
Appendix A - UML 1.4 Notation Guide

The object notation combines the object icon notation and a timeline. The object notation is the Appendix B - lifeline UML 2.0 Notation Guide same icon in the Object diagram in Chapter 7: a rectangle containing the object name. In this Appendix C -used Standard Elements example, I use the common anonymous object notation :classname.Figure 8-2 drafts a scenario in which Glossary a customer selects seats to purchase at a performance in the theater. You see the five participating Index
List of Figures

objects lined up across the top of the diagram. The top of the diagram is the default location for all objects in a Sequence diagram. Positioning an object at the top of the diagram indicates that the object already List of Tables exists at the outset of the scenario. This implies that positioning an object lower in the diagram models the
List of Listings

creation of the object during the scenario.

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Figure 8-2: Object lifelines for five objects.. For beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, shows how to use UML to the improve The object lifeline includes the and rectangular object icon and vertical dashed line below each object. The timeliness, quality, and efficiency development. line is a timeline that runs from the beginning of ain scenario at the top of the diagram, to the end of the scenario at the bottom of the diagram. The amount of time represented by the timeline depends on the Companion Web Site length of the interaction you are modeling. <?xml encoding="ISO-8859-1"?> Noteversion="1.0" that an object lifeline, that is, an object icon and its associated timeline, may actually represent a set Table of Contents of objects such as an application, a pattern, a subsystem, or simply a collection of objects of the same UML Bible type. This high-level view can sometimes help you work out the "big picture" behavior before digging Preface deeper to work out the details. For example, the SelectShowSeat object in Figure 8-2 represents a
Part I - An Introduction to UML collection of objects that together

manage the behavior of the application. The ShowSeat object

Chapter 1 - all What Is UML? represents of the ShowSeats in the application. Chapter 2 Chapter 3 Chapter 4 - UML Architecture - Object-Oriented Concepts - UML and Extension Mechanisms Modeling aDiagrams message or stimulus

Part II - Modeling Object Structure A message is the formal specification

of a stimulus. A message is a definition of some type of

Chapter 5 - Capturing Rules about Objects Class Diagram communication between objects. As suchin it a may invoke an operation, raise a signal, or cause the creation

or destruction of to the target object. A stimulus an instance of a message. The message explains the Chapter 6 - How Capture Rules about Object is Relationships roles of sender with and the receiver of the stimulus, as well as the procedure that generates the stimulus. Chapter 7the - Testing Objects For III practical purposes, can think of Part - Modeling Objectwe Interactions a message and a stimulus as the same thing, that is, as a unit of communication between objects,in so I will use the term message in the rest of this book. (Details about the Chapter 8 - Modeling Interactions UML 1.4 distinctions and stimuli Chapter 9 - between Modeling messages Interactions in UML 2.0 are provided in the "Stimulus, message, operation, and signal" section10 later in this chapter.) Chapter - Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

A message is modeled as an arrow. The type of arrow visually describes the type of message. Perhaps the most common type of arrow is a solid line with a solid arrow-head, representing a message that Chapter 12 Modeling the Usea of a System with the Use Case Diagram requires a -response, called simple or synchronous message. The dashed arrow with a stick arrowhead Chapter 13 Modeling Behavior Using an Activity Diagram represents a response or return. I cover more arrow/message types later in this chapter. Messages are Part V - Modeling the between Application placed horizontally theArchitecture object lifelines, as shown in Figure 8-3. The horizontal placement Chapter 14 Modeling the Application Architecture indicates that transmission of the message is considered to be instantaneous, that is, the message is Chapter 15 Modeling Software Using the Component Diagram received as soon as it is sent. The relative vertical position on the timelines represents the order in which Chapter 16 - Using Deployment Diagrams in UML 1.4 that you can read the diagram from beginning to end by the messages happen. This arrangement means Chapter 17 - Representing an Architecture in UML 2.0 reading the messages from top to bottom.
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables

List of Listings

Figure 8-3: Messages are placed on the object lifelines to model object interactions. Relative vertical position indicates the order of execution from top to bottom.

Caution The placement of the arrows on the timeline does not imply any specific measurement of time. Only the relative position matters, that is, if one message is placed on the timeline above a second message, then the first message is sent before the second message. The tail of the message arrow identifies the sender. The head ISBN:0764526049 of the message arrow identifies the receiver. by Tom Pender Reading from top to bottom, the Sequence diagram in Figure 8-3 reads as follows: John Wiley & Sons 2003 (940 pages) 1. The customer selects the seatusers, she wants to purchase, For beginning to show advanced this book provides presumably from a user interface, comprehensive coverage of the 1.4 and UML of SelectShowSeat. The passing the identifier for the show seat toversatility a controlof object, an2.0 instance specifications, and to use UMLscenario. to improve control object is basically anshows event how handler in this
timeliness, quality, and efficiency in development. UML Bible

< Day Day Up >

2. The control object, SelectShowSeat, asks the performance object for a reference to the show seat Companion Web Site that matches the provided identifier.
<?xml3. version="1.0" encoding="ISO-8859-1"?> The performance returns a reference to a show seat object based on the showSeatID passed to it. Table of Contents

The control object tells the order object to add the selected show seat to its list of ordered show UML 4. Bible
Preface seats.
Part I - An Introduction to UML

Chapter 1

5. The order returns a Boolean value of True saying that everything worked properly.
- What Is UML?

Chapter 2 - control UML Architecture 6. The object then tells the show seat object that it has been successfully selected. This the show seat change its status from not sold to sold. Chapter causes 3 - UML Diagrams andto Extension Mechanisms Chapter 4

7. The show seat returns void, that is, nothing. (In some cases you would return some values but this provides an example of how you can use a void return.) Chapter 5 - Capturing Rules about Objects in a Class Diagram
Part II - Modeling Object Structure

- Object-Oriented Concepts

Chapter 6 Building - How to the Capture Rules about Object Relationships Note Sequence diagram is easier if you have completed at least a first draft of the Use Chapter 7 Case - Testing with Objects model - the diagram and associated use case descriptions (see Chapter 12) and the Class
Part III - Modeling Object diagram. FromInteractions these two resources,

you can find sets of interactions (scenarios) and a pool of

Chapter 8 candidate - Modelingobjects Interactions in UML 1.4 to take responsibility for those interactions. Chapter 9 - Modeling Interactions in UML 2.0

The sequence numbers at the beginning of UML each of the messages are optional but they are very helpful Chapter 10 - Modeling an Object's Lifecycle in 1.4 when you to discuss the diagram orin make changes. Later, I explain the full message description that Chapter 11 need - Modeling an Object's Lifecycle UML 2.0 canIV make use of Object message numbering. Part - Modeling Behavior The numbers are also useful when working with multiple scenarios that use some of the same messages. For example, the Diagram first 7 steps of scenario #1 are the same in Chapter 12 - Modeling the Use of a System with the Use if Case scenario #2, then scenario #2 could simply refer to the first seven steps by number in a comment icon Chapter 13 - Modeling Behavior Using an Activity Diagram rather than have them redrawn. Fortunately, many modeling tools simply take care of the numbering for Part V - Modeling the Application Architecture you.
Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using theis Component Diagram Tip Reusing common interactions a significant addition to the features of UML 2.0. Chapter 16 - Using Deployment Diagrams in UML 1.4

Each solid describes message using formal Chapter 17 -arrow Representing an a Architecture in UML 2.0 operation notation. The operation defines the interface required by the receiving Part VI - Bringing Rigor to the Model object, the object whose timeline the arrow is pointing to. In order to be received, message must conform to an interface (an operation signature) defined on the class Chapter 18 the - Applying Constraints to the exactly UML Diagrams to which the receiving object belongs. The syntax for a message is as follows: Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

predecessors '/' sequence-term iteration [condition] return ':=' operation Chapter 20 - Using a Modeling Tool
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

The expression predecessors, followed by a slash (/), refers to a list of comma-separated sequence numbers of messages that must come before the current message. The list implies synchronization, that Appendix B - UML 2.0 Notation Guide is, the predecessors must be completed before the current message may proceed. Immediate Appendix C - Standard Elements predecessors on the diagram are assumed so they don't need to be included. In a simple sequential flow Glossary of control, the predecessors are not needed because each message follows immediately after the Index previous message.
List of Figures

The sequence-term may be either a number or a name. Numbers are far more common. Specific List of Tables schemes for numbering vary widely. Most use the dot notation to model nested levels for calls, for List of Listings

example, 3.1, 3.1.1, 3.1.2, 3.1.3, and so forth.< Day Day Up > Iteration and conditions are explained a bit later in this chapter. Thereturn may include a list of values sent back to the sender by the receiver. For example, message UML Bible 4, addShowSeat(showSeat):Boolean, in Figure 8-3 defines a return type of Boolean. Message 5 returns ISBN:0764526049 by Tom Pender the Boolean value true. Another scenario would return a Boolean value of false. Note that the return John Wiley & Sons 2003 (940 pages) arrow is drawn using a dashed line and a stick arrow to distinguish it from the synchronous message For beginning to advanced users, this book provides arrow. The choice whether to show the return varies among UML practitioners. Some place a priority on comprehensive coverage of the versatility of 1.4 and 2.0 UML saving steps so they leave the returns off of the focus on clarity so they always include specifications, and shows how todiagram. use UML Others to improve timeliness, quality, and efficiency in development. them. When modeling scenarios, it is useful to reveal the values that cause the scenario to execute in a specific manner, like the True and False paths mentioned in the last example. There are also times when Companion Web Site not showing the returns causes some ambiguity in the interpretation of the interactions. I provide an example of how the lack of returns can cause ambiguity in the interpretation of the diagram a bit later in <?xml version="1.0" encoding="ISO-8859-1"?> the "Self-reference message" section.
Table of Contents

The operation defines the name of the operation, optionally the parameters, and optionally a return. UML Bible Parameters are not required; when used, they follow the attribute definition format of name :' type, and Preface may specify defaults and Part I even - An Introduction to UML
Chapter 1 Chapter 2

constraints.

Cross-Reference

- What Is UML?

- UML Architecture

Chapter 5 provides a complete description of the operation syntax.

Chapter 3 Creating - UML Diagrams and Extension Mechanisms Note all these arrows, messages, and returns might sound like a lot of work, but consider Chapter 4 two - Object-Oriented Concepts things. First, you have to define all of this information anyway to write an application. This
Part II - Modeling Object way you have Structure a visual record

of how you decided that the way you wrote the code was the best

Chapter 5 way - Capturing about consider Objects in a Class Diagram to write Rules it. Second, the process. You define a class. Then you create a few

diagrams. Each adds some new operations to the class. Soon, building additional Chapter 6 Sequence - How to Capture Rules about Object Relationships diagrams Chapter 7 Sequence - Testing with Objectsbecomes a process of drawing message arrows and simply choosing from a list of Object existingInteractions operations on Part III - Modeling
Chapter 9

the class. The process starts slowly but quickly picks up speed as

class definitions become more Chapter 8 the - Modeling Interactions in UML 1.4 complete.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Having explained the full message syntax, I have to say that most Sequence diagrams depict only the operation portion of the message.

- Modeling Interactions in UML 2.0

Stimulus, message, operation, and signal


operation, and signal make up the vocabulary for

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity To understand the various message types andDiagram notations that can be used on a Sequence diagram you
Part V Modeling the Application Architecture need some basic definitions. Stimulus, message,

working with interactions between objects in both Sequence and Collaboration diagrams. A stimulus is an Chapter 14 - Modeling the Application Architecture item of 15 communication between twothe objects, and has the following characteristics: Chapter - Modeling Software Using Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI Bringing Rigor to travels the Model Astimulus normally across

Chapter 17 - Representing an Architecture in UML 2.0

A stimulus is associated with both a sending and a receiving object. a link. However, when the stimulus is sent and received by the a signal, or even cause an object to be created or

Chapter 18 Applying Constraints toThis the UML same object, there is no link. kind Diagrams of stimulus is called a self-reference. Chapter 19 - Action Semantics

A stimulus may invoke an operation, raise Part VII - Automating the UML Modeling Process destroyed. Chapter 20 - Using a Modeling Tool
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

A stimulus may include parameters/arguments in the form of either primitive values or object references.

Appendix B - UMLis 2.0 Notation Guide A stimulus associated with the procedure that causes it to be sent. Appendix C - Standard Elements

In contrast, a message is the specification of a stimulus. The specification includes the roles that the Glossary
Index

sender object and the receiver object play in the interaction, and the procedure that dispatches the stimulus. So technically speaking, a stimulus is an instance of a message. In the parts of the UML List of Figures specification that cover Sequence and Collaboration diagrams, the two terms stimulus and message are List of Tables almost always used synonymously (note that I did say almost).
List of Listings

When using a tool to model the Sequence and Class diagrams, you only need to define the features < Day Day Up > required to generate the code. Namely, for each message you need to define either the operation signature (as described in Chapter 5) or the information returned from a message. The operation explains the procedure that the message invokes on the receiving object. The return contains the information UML passed back from the Bible receiver to the sender. An empty return is valid.
by Tom Pender
ISBN:0764526049

A message may raise a signal. This that the message may be no more than an alert like a John Wiley & Sons means 2003 (940 pages) doorbell, an alarm, or a message box on a computer screen. It does not require a return message. The For beginning to advanced users, this book provides implications of this type of message are explained more fully in message" section of comprehensive coverage of the versatility of 1.4 the and"Asynchronous 2.0 UML specifications, and shows how to use UML improve this chapter. A signal is a type of class associated with an to event that can trigger a procedure within the timeliness, quality, andlike efficiency in development. receiving class. In this respect it is just a message. The fundamental difference is that it does not require a return from Companion the receiving object. Web Site Anexception is a type of signal. Throwing an exception means sending out a message containing an
<?xml version="1.0" encoding="ISO-8859-1"?> object that describes the error condition. This means that throwing an exception is a behavior that may be Table of Contents modeled using a Sequence diagram, or any other behavior diagram. For example, in Figure 8-3, message UML Bible 5 returned a Boolean value of true. In another scenario for the same process, we might need to return a Preface value of false, but that value would not tell us what actually happened that made it fail. Since exceptions
Part I be - An Introduction an to UML may user-defined, exception

object could encapsulate any information you want to capture about an

Chapter 1 - What Isan UML? error condition. So alternative approach would be to throw an exception that could be caught by either

the calling or another object higher up the call sequence (stack). Chapter 2 -object UML Architecture
Chapter 3 Chapter 4

Tip The throw/catch approach to exceptions is common to most object-oriented languages. It allows - Object-Oriented Concepts errors to be defined as objects that encapsulate any and all information needed to fully describe Part II - Modeling Object Structure the problem, instead of limiting errors to a simple true or false value or an error code. This Chapter 5 - Capturing Rules about Objects in a Class Diagram approach also separates the problem of where to trap errors from where and how to handle them.
Chapter 6 - How to Capture Rules about Object Relationships Chapter 7 - Testing with Objects A message may also indicate the creation or destruction of an object. How a message does so is
Part III - Modeling Interactions explained later in Object the "Modeling object

- UML Diagrams and Extension Mechanisms

creation and destruction" section.

Chapter 8

- Modeling Interactions in UML 1.4

Synchronous message Chapter 9 - Modeling Interactions in UML 2.0


Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

So far I have used only synchronous messages in the examples. A synchronous message assumes that a return is needed, so the sender waits for the return before proceeding with any other activity. Messages 1, Part IV - Modeling Object Behavior 2, 4, and 6 in Figure 8-3 are all synchronous messages.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V Modeling the Application Architecture reply to a message, called a return. The return

Chapter 13 - Modeling Behavior Usingas ansequence Activity Diagram The dashed return arrows marked numbers 3, 5, and 7 in Figure 8-3 each represent only the

value is placed on the return message arrow. For code

Chapter 14 - Modeling the Application generation, a return may only have Architecture one value such as a Boolean True or False value, a numeric value, an Chapter 15 Modeling Software the Component Diagram object (reference), or a string. Using Technically, UML allows a list of values. Chapter 16 - Using Deployment Diagrams in UML 1.4

Tip When creating your initial model, be concerned that the return ultimately needs to be limited Chapter 17 - Representing an Architecture indon't UML 2.0 to a single value. Focus on Part VI - Bringing Rigor to the Model
Chapter 19 - Action Semantics

discovering the information that needs to be passed. Put as many

values as you need in the Once you are sure that you have the right information, you can Chapter 18 - Applying Constraints to return. the UML Diagrams always package/encapsulate the multiple values into an object such as a transaction.
Part VII - Automating the UML Modeling Process

Chapter 20 - can Using a Modeling Tool what you're getting back is consistent with what the test case required and the returns help ensure that Chapter 21message/operation - Customizing UML Using Profiles what the requires. Remember that a primary value of models is the ability to review Chapter 22 XML people Metadata them with other to Interchange solicit observations regarding the accuracy, completeness, and efficiency of an Appendix A to - UML 1.4 Notation Guide approach a problem. People can't make observations about what they can't see and often make Appendix - UML 2.0 Notation Guide differentB assumptions than you might have made. Appendix C - Standard Elements

Some folks leave the returns off of synchronous messages, choosing to assume the return. But showing

Self-reference Glossary
Index List of Figures

message

In a self-reference message, the sender and the receiver for the message are the same object. For example, a user object might send a "cancel" message to a theater event object. The event must change List of Tables its own status and the status of each performance within the event. Since an event might have to cancel
List of Listings

an individual performance for other reasons, it makes sense to make the ability to cancel a performance a < Day Day Up > separate operation that could be called under either circumstance. Doing so enables the same event operation, cancelPerformance(), to be called once to cancel one performance for the event, or called multiple times to cancel all performances for the event, or even for a time frame within the event.
UML Bible

Figure 8-4 models portion of the Sequence diagram that calls cancel() on the event object, which in turn ISBN:0764526049 byaTom Pender causes the eventJohn to call the cancelPerformance() operation on itself. Note that the message arrow leaves Wiley & Sons 2003 (940 pages) and comes back For to the same lifeline. This is called a self-reference beginning to advanced users, this book provides the event object is referring to itself when it makes the call. Note toocoverage that message is only the comprehensive of the 2 versatility of invocation. 1.4 and 2.0 The UML return is a separate message specifications, andthe shows how to use UML to improve (5) drawn the same way. It leaves event lifeline and comes back to the same event lifeline. In other timeliness, quality, andevent efficiency in development. words, messages 2 and 5 say that the object is telling itself to start the cancelPerformance() process, and then telling itself when has finished. The event object initiates and responds to the Companion WebitSite message.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure Self-reference. Chapter 9 - 8-4: Modeling Interactions in UML 2.0


Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Note In message 3, the asterisk indicates iteration and the expression [for each performance whose date is => today] is a condition. Both concepts are explained later in this chapter. Part IV - Modeling Object Behavior
Chapter 12 - mistake Modelingis the of a System with the Use is Case Diagram A common to Use think that the self-reference a send and return in one message, that is, the Chapter 13 Modeling Behavior Using an Activity Diagram portion of the arrow leaving the lifeline is the invocation message and the portion of the arrow returning to
Part - Modeling Application the V lifeline is the the return from theArchitecture message. But

each arrow is a single message from one sender to one

Chapter 14The - Modeling thereturn Application Architecture receiver. send and cannot be combined into one message. Chapter 15 - Modeling Software Using the Component Diagram

When a message appears only as a self-reference, Chapter 16 - Using Deployment Diagrams in UML 1.4 it says that the operation is only invoked from within the object's own behaviors. is a good Chapter 17 - Representing an This Architecture in indication UML 2.0 that the operation might be set to private access to ensure the use of to the operation Part VI - that Bringing Rigor the Model
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

is limited to within objects of the same class. Be sure to check all of

the Sequence diagrams where the operation is called to be certain it never needs to be called by another Chapter 18 - Applying Constraints to the UML Diagrams object directly. Figure 8-4 is also a good example of why showing returns can remove ambiguity. It is obvious from the

Chapter 20 - message Using a Modeling Tool model that 3 returns before message 2 finishes. But if I remove the returns, there is no way to Chapter 21 - Customizing Using Profiles know whether message UML 2 must finish before sending message 3. Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 message Notation Guide Asynchronous Appendix B - UML 2.0 Notation Guide

Earlier I C referred to signals as messages that do not have a return. Another name for this type of message Appendix - Standard Elements is an asynchronous message. An asynchronous message says something about the responsibilities of the Glossary sender and receiver. The sender is responsible only to get the message to the receiver. It has no responsibility or obligation to wait to find out if or how the receiver will respond. The sender may simply go List of Figures about its business. The receiver may decide to do nothing or to process the received message.
Index List of Tables List of Listings In these respects an asynchronous message resembles the way you receive mail. The postman delivers

the mail without any regard for what you do with it once you get it. You can choose to throw away the junk < Day Day Up > mail, keep and pay the bills, respond to letters from people you like, and ignore the mail from those you don't like. Regardless of your choice, the postman continues delivering mail to other people. In contrast, a synchronous message is like a letter sent by messenger requiring a signature. The messenger waits on UML Bible your doorstep until she gets a reply from you.
by Tom Pender
ISBN:0764526049

An asynchronous message is Sons modeled using a solid line and a stick arrowhead to distinguish it from the John Wiley & 2003 (940 pages) solid arrowhead of the synchronous message. (You might see half arrowheads in some tools. This For beginning to advanced users, this book also provides was the notation from UML 1.3 and earlier). The content of the message is an operation, the same as for a comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML improve synchronous message. The only difference is that there isto no return (in many languages this means the timeliness, return is specified as void). quality, and efficiency in development. In Figure 8-5, message 3, the theater system obtains a list of events from a venue object. It then tells the boundary object CustomerActor that represents the user interface to display the events. It does not wait to <?xml version="1.0" encoding="ISO-8859-1"?> find out if or how the user interface displays the events. Contrast this with message 1, getEvents(start, Table of Contents end). This is a synchronous message that requires a specific response. The theater system actually stops UML Bible else it might be doing until it receives the list of events or an error. whatever
Preface
Part I - An Introduction to UML

Companion Web Site

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

- Modeling Interactions in UML 1.4 Figure 8-5: Asynchronous event.. - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Another way to understand the asynchronous concept is that nothing else the sending object does is Chapter 11 -on Modeling an Object's inThis UMLapproach 2.0 contingent the reaction of theLifecycle receiver. can actually make an application a bit easier to
Part IV - Modeling Object Behavior design. For example, the theater system

can continue with other work while assuming that the user

interface The theater with system gets Diagram involved if it receives a thrown exception or Chapter 12is - working Modelingjust the fine. Use of a System the only Use Case other signal from theBehavior user interface. The alternative would be to design the theater system object to wait Chapter 13 - Modeling Using an Activity Diagram for a for every message it sends to the Part V response - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture

user interface.

Comment Chapter 15 - Modeling Software Using the Component Diagram


Chapter 16 - Using Deployment Diagrams in UML 1.4

Sometimes you might want or need to provide some explanation for the diagram or elements within diagram, but UML notation does not provide the specific means to do so. What you really need is the Part VI - Bringing Rigor to the Model chance to simply write some freeform text to get your point across. Figure 8-6 shows how you might use a Chapter 18 - Applying Constraints thea UML Diagrams UML comment icon (a rectangleto with folded corner) to add information that is not explicitly part of the Chapter 19A - comment Action Semantics notation. may be placed anywhere on or around the diagram. Optionally, the comment may Part VII - Automating the UML Process be attached to an element ofModeling the diagram using a dashed line called an anchor.
Chapter 17 - Representing an Architecture in UML 2.0 Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Figure 8-6: A comment on a Sequence diagram.


Companion Web Site

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Tip UML 2.0 changed the name from comment to note.


<?xml version="1.0" encoding="ISO-8859-1"?> Timed message Table of Contents UML Bible Preface message, for example, {if you don't get a response from the event object within 2 seconds, bypass the
Part I - An Introduction to UML

Often there is also a condition or a constraint on a message that expresses the timing parameters for the request and send an error to the user interface}. In order to evaluate this constraint, you first need a

Chapter - What Is time. UML? A message may have any number of user-defined time attributes, such as means1 to measure Chapter 2 UML Architecture sentTime, receivedTime, and elapsedTime. But to access these values you need to identify the message Chapter 3 UML Diagrams and Extension Mechanisms that owns the value by using either a message number or a message name. For example Figure 8-7 uses Chapter 4 names - Object-Oriented message instead of Concepts numbers.
Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - 8-7: Using Deployment Diagrams in UML 1.4 notation. Figure Timed messages using constraint Chapter 17 - Representing an Architecture in UML 2.0 OMG 1.4
Part VI - Bringing Rigor to the Model

Figure 18 8-7-models a Constraints phone connection from the time a person picks up the receiver to make a call until Chapter Applying to the UML Diagrams the time someone picks up to answer the call. Each message is assigned a name: a, b, c, and d. The Chapter 19 - Action Semantics caller lifts the receiver; this sends message a (lift Part VII - Automating the UML Modeling Process receiver) to the exchange. The exchange sends message b (dial tone) to the caller's phone. To the left of messages a and b is a constraint, Chapter 20 - Using a Modeling Tool {(b.receiveTime - a.sendTime) < 1 sec.}. The constraints tells us the design must provide a response time Chapter 21 - Customizing UML Using Profiles of less than 1 second between the time the lift receiver message is sent (the tail of the a:lift receiver arrow) Chapter 22 - XML Metadata Interchange until the dial tone message is received (the head of the b:dial tone arrow).
Appendix A - UML 1.4 Notation Guide Appendix B constraint - UML 2.0 Notation Guide Place the in the left margin of the Sequence diagram next to the period of time that it constrains. Appendix C - Standard Elements

In most Sequence diagrams you model the arrows horizontally as though the messages are Glossary instantaneous. Message d:route illustrates a way to model a message that requires a significant amount of Index
List of Figures

time, and that you want everyone reading the model to be very aware of it. Simply slant the arrow from the tail down to the head. Again, place the time constraint in the left margin. The arrow is simply a visual cue; it List of Tables doesn't designate any specific amount of time. This is why you must use a constraint to provide the timing
List of Listings

requirement.

< Day Day Up >

Not every tool supports the left-margin approach. You might need to use comments and type the constraint into the comment. Other tools support constraints in the specification of the message, an approach that is not as flexible or visible but is more precise. UML Bible The timed message is an example of the use of a UML extension mechanism, namely the constraint. A John Wiley & Sons 2003 (940 pages) timed message is not a part of the core UML notation but it represents a valid usage of the UML constraint For beginning to advanced users, this book provides notation to extend the features of the basic Sequence diagram. comprehensive coverage of the versatility of 1.4 and 2.0 UML
by Tom Pender
ISBN:0764526049

Iteration

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Web Site Iteration refers to the Companion need to execute one or more messages in a sequence more than once. Iteration on a single message is molded using iteration symbol, an asterisk (*), and a condition to control the number of iterations. Figure 8-8 shows how you can indicate that an operation should be performed repeatedly. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

Figure Modeling iteration on a message. Chapter 5 - 8-8: Capturing Rules about Objects in a Class Diagram
Chapter 6 Chapter 7

There are actually two components of the iteration notation that are placed in front of the message text. An - Testing with Objects asterisk (*) indicates that the message will execute repeatedly. If you want to explain how to control the Part III - Modeling Object Interactions iteration you can enclose a conditional statement in square braces ([ ]). Message 3 in Figure 8-8 reads, Chapter 8 - Modeling Interactions in UML 1.4 "*[for each show seat]," meaning that the same message is sent by the performance object to a show seat Chapter 9 - Modeling Interactions in UML 2.0 object for every show seat object in the location (the set of show seats) passed to the performance in Chapter 10 2. - Modeling an Object's Lifecycle in UML 1.4 message The conditional expression may be a Boolean expression or freeform text.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior implies Executing a message repeatedly

- How to Capture Rules about Object Relationships

executing all of the subordinate messages repeatedly as well. In

other words, if message 3 in of this required sending a message to three related objects as well, the Chapter 12 - Modeling the Use a example System with the Use Case Diagram block of messages would be executed repeatedly. Another technique commonly used in this case is to Chapter 13 - Modeling Behavior Using an Activity Diagram enclose the set of repeated messages in a box and Part V - Modeling the Application Architecture be supported by every tool. Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

place the condition in the box. This approach might not

Conditions

Conditions are used to specify the control of the iteration. However, conditions may be used pretty much anywhere in the sequence of messages. In fact, if a Sequence diagram models a single scenario, it is Chapter - Applying Constraints to the UML Diagrams almost 18 certain that there are conditions that drive the use of the messages in the scenario. A condition is Chapter 19 -as Action Semanticswithin square braces []. expressed text enclosed
Part VII - Automating the UML Modeling Process

For example, when a customer selects a show seat that he wants to purchase, it only becomes part of his Chapter 20 - Using a Modeling Tool order if21 it has not already been selected by someone else. Figure 8-9 models the successful scenario. Chapter - Customizing UML Using Profiles Message the condition [show seat not selected], between the sequence number and the colon, to Chapter 22 3 - adds XML Metadata Interchange convey that the performance returns a show seat reference only if the show seat has not been previously Appendix A - UML 1.4 Notation Guide selected. Appendix B - UML 2.0 Notation Guide
Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure 8-9: Modeling conditions to explain the flow of messages. Message 3 states that if the show that is being selected in message 2 has not already been selected, then message 3 will return a <?xml seat version="1.0" encoding="ISO-8859-1"?> to the selected show seat object. Table reference of Contents
UML Bible Preface

Figure 8-10 models the failed scenario. Message 3 adds the condition [show seat selected] meaning that the performance returns an error because the show seat has been selected. Message 4 is a completely Part I - An Introduction to UML different message than in the first scenario, because the different condition in message 3 caused an Chapter 1 - What Is UML? alteration in the flow of events.
Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - 8-10: Modeling an Object's Lifecycle in UML 1.4using a condition to explain the variation. Figure Modeling an alternative scenario Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Behavior Technically, UMLObject supports the ability

to model branching on a decision. This involves drawing a diamond

(decision and multiple arrows fromwith the same point on the timeline to multiple destinations. But since Chapter 12 point) - Modeling the Use of a System the Use Case Diagram the subsequent messages could vary end up with multiple overlapping sets of messages on Chapter 13 - Modeling Behavior Using anwidely, Activityyou Diagram the V same diagram. diagram quickly becomes Part - Modeling the The Application Architecture indecipherable. It is simpler to stick to the rule that one Sequence one Architecture logical path or one scenario, and avoid branching altogether. Chapter 14 -diagram Modelingrepresents the Application
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Modeling activation/focus of control


to illustrate object activation and object deactivation. Activation

Chapter 17 - Representing an Architecture in UML 2.0

Sequence diagrams can be enhanced Part VI - Bringing Rigor to the Model

means18 that an object is occupied a task. Deactivation means that the object is idle, waiting for Chapter - Applying Constraints toperforming the UML Diagrams a message. To show that an object is active, widen the vertical object lifeline to a narrow rectangle, as Chapter 19 - Action Semantics shown Figure 8-11. The narrow rectangle is Part VII in - Automating the UML Modeling Process called an activation bar or focus of control. An object becomes active at the top of the rectangle. Note that the venue object lifeline becomes active when it Chapter 20 - Using a Modeling Tool begins to do work when the message arrow labeled getEvents points to the venue object lifeline. An object Chapter 21 - Customizing UML Using Profiles is deactivated when it finishes its work. This is usually illustrated as a message arrow leaving the object Chapter 22 - XML Metadata Interchange lifeline, as when the return events message leaves the venue object lifeline in message 2.
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure 8-11: Object activation and deactivation.


<?xml version="1.0" encoding="ISO-8859-1"?> Sometimes a distinction is made between an activation and a focus of control , although this distinction is Table of Contents UML Bible

not directly supported by the UML specification. It is sometimes useful to recognize that some object remains in control of the entire process modeled by the Sequence diagram. Such an object does more Preface than respond to messages; it oversees the entire interaction set. For example, the theater system object Part I - An Introduction to UML remains active from the time it starts up and sends the first message. It remains active while overseeing Chapter 1 - What Is UML? the results of the call to the venue and continues to work based on the response it gets from the venue. An Chapter 2 -represents UML Architecture object that the focus of control has an activation rectangle along the entire length of its object Chapter 3 UML Diagrams and Extension Mechanisms lifeline.
Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 - Object-Oriented Concepts

Caution There is an odd practice Part II - Modeling Object Structure

in modeling tools that is not consistent with the UML specification.

Tool vendors toObjects put a "tail" the end of the activation that extends beyond the point at - Capturing Rules tend about in a on Class Diagram which the activity actually yet to find out why. - How to Capture Rules about ends. ObjectI've Relationships
- Testing with Objects - Modeling Interactions in UML 1.4

Part III - Modeling Object Interactions

Recursion

An object might also need to call a message recursively, that is, call the same message from within the Chapter 9 - Modeling Interactions in UML 2.0 message. For example, in Figure 8-8 the priceShowSeat message requires the performance to price Chapter 10 -in Modeling an Object's Lifecycle in UML 1.4diagram for the theater, a location is defined as a set of every seat the location passed to it. In the Class Chapter 11 Modeling an Object's Lifecycle in UML 2.0 could mean a section composed of rows, composed one or more seats or groups of seats. So a location Part IV - Modeling Object Behavior of seats. We could modify Figure 8-8 to use a recursive call to the location object instead of separate calls Chapter 12performance - Modeling the of individual a System show with the Use Case Diagram from the toUse each seat.
Chapter 13 - Modeling Behavior Using an Activity Diagram

Figure 8-12 models the recursive call in message Part V - Modeling the Application Architecture overlapping activation notation. Chapter 14 - Modeling the Application Architecture

4 utilizing a combination of a self-reference and

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

Figure 8-12: Recursive message calls.

Glossary cycle), that is, the task invoked by message 3. That task then calls itself, so there is another activation on Index top of the first, offset to the right. For example, if a location is a section in the theater, then the location List of Figures object calls priceLocation on all of its rows. Each row in turn calls priceLocation on all of its seats. Seats List of Tables contain no other locations so the calls stop. This technique is common when performing a task against List of Listings hierarchies or nested collections such as the theater locations, or sales territories within regions, within

The larger of the two overlapping activations indicates that the object is busy performing a task (in its duty

countries, within global divisions, and so forth.< Day Day Up >

Modeling object creation and destruction


Bible Finally, to model UML object creation you have a few options. When I explained the object lifeline notation, I ISBN:0764526049 by Tom Pender said that the default location for the object icon is at the top of the page. If an object is in this position, it John Wiley & Sons 2003 (940 pages) means that the object exists when the sequence starts. If the object is created during the execution of the For beginning to advanced users, this of book scenario, it should appear somewhere below the top theprovides diagram. Some tools do not support this comprehensive coverage of the versatility of 1.4 and 2.0 UML visually accurate approach, so you might see any one of the three variations modeled in Figures 8-13 and specifications, and shows how to use UML to improve 8-14. All three examples model the and event object that calls the constructor Performance(event), the timeliness, quality, efficiency in development. operation that creates an instance of the Performance class. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML?

- UML Architecture Figure Two UML standard visualizations Chapter 3 - 8-13: UML Diagrams and Extension Mechanismsfor object creation. - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - 8-14: Modeling Behavior Using anthe Activity Diagram Figure Object creation with created object at the top of the page.
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the is Application The example on the left the form Architecture explicitly defined by UML 1.4. The creation message/constructor,

called Performance(event), points directly at the performance object icon. This means that the object icon Chapter 15 - Modeling Software Using the Component Diagram has to be thein top of the Chapter 16 placed - Using somewhere Deployment below Diagrams UML 1.4 page indicating when the constructor is actually called.
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

The example on the right is a minor variation where the constructor points to the object lifeline just below the object, but the object is still placed on the diagram at (or at least near) the point in time when it is Chapter 18 - Applying Constraints to the UML Diagrams created, rather than at the top.
Chapter 19 - Action Semantics
Part VII - Automating the UML Process The goal of the notation is to Modeling represent the fact

that the object did not exist prior to the creation message.

Chapter 20 - lifeline Using aliterally Modeling Tool into existence when the creation message is sent, so there is no object The object comes Chapter - Customizing UML Using Profiles lifeline 21 before (above) the creation message. The figure on the left indicates this most clearly. Chapter 22 - XML Metadata Interchange

Some modeling tools can only place objects at the top of the page. Figure 8-14 models the object icon at Appendix A - UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide

the top of the page, and must depend on the message description to convey when the object is created.

Appendix C - to Standard Elements In contrast, show that an object is terminated, place an X at the point in the object lifeline when the Glossary termination occurs. This is usually in response to a message such as delete or cancel. Figure 8-15 models Index the fact that the performance has been deleted from the system. The absence of the X on an object List of Figures lifeline means that the object lives on after this sequence of events is ended. List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Figure 8-15: Object termination.

Companion Web Site

Not all tools support this notation. As was true for object creation, you might need to depend on the <?xml version="1.0" encoding="ISO-8859-1"?> message description alone to know that the object has been terminated. Table of Contents
UML Bible Preface

Applying the Sequence diagram to the Theater System

Part I - An Introduction to UML

Figure 1 8-16 shows Sequence diagram for the process of selecting a performance. The TheaterSystem Chapter - What Isa UML? object represents the application that might actually be implemented as a group of objects that control the Chapter 2 - UML Architecture screen/s, to the business objects, and so forth. The CustomerActor object represents the user Chapter 3 access - UML Diagrams and Extension Mechanisms interface the customer uses when viewing and selecting a performance. The interactions are derived Chapter 4 that - Object-Oriented Concepts from interactions that the user Part II the - Modeling Object Structure expects of the system as documented in the use case. That is, the user expects the system to provide a list of events a Diagram list of performances. The complete use case also Chapter 5 - Capturing Rules about Objects in a and Class supports the ability to request a list of performances by date range, a list of performances for a particular Chapter 6 - How to Capture Rules about Object Relationships event, and canceling without selecting anything.
Chapter 7 Chapter 8 Chapter 9 - Testing with Objects
Part III - Modeling Object Interactions

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Figure Sequence for a scenario where a valid selection is made and saved. Appendix B - 8-16: UML 2.0 Notation diagram Guide
Appendix C - Standard Elements Glossary

A Sequence diagram is most often used to model a single series of interactions, one scenario. Figure 8-16 models a scenario in which the user selects a performance from the initial display of events and Index performances.
List of Figures List ofNote Tables This example does not show the returns on the operations. This is a common option in modeling List of Listings tools shown here simply to illustrate another of the available options.

In this figure:

< Day Day Up >

Message 1 is a synchronous message that requests the set of events for a date range. The date range is established by the application. Message 2 returns the set of events.
UML Bible
ISBN:0764526049 by Tom Pender Message 3 is an asynchronous message that asks the user interface to display the set of events.

John Wiley & Sons 2003 (940 pages)

Message 4 is a synchronous self-reference that the process of accumulating all the For beginning to advanced users, thisinitiates book provides comprehensive coverage of the performances for all the events selected in versatility message of 1. 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Message 5 is an iterative synchronous message to retrieve all the performances for each event. Companion Web Site

Message 8 is an asynchronous message to the user interface to display the performances. Message 9 is an asynchronous message from the user interface telling the theater system that the <?xml version="1.0" encoding="ISO-8859-1"?> user selected the specified performance. Table of Contents
UML Bible Preface

Part I - An Introduction to UML

Message 10 is a synchronous message to the user interface to get a response from the user to confirm his selection.

Chapter 1 - What Is an UML? Message 12 is asynchronous message to save the selected performance. Chapter 2 - UML Architecture

Message 13Diagrams is an asynchronous message to close the screen. Chapter 3 - UML and Extension Mechanisms
Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - Object-Oriented Concepts
Part II - Modeling Object Structure

< DayDiagram Day Up > - Capturing Rules about Objects in a Class


- How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Modeling aUML Collaboration Diagram by Tom Pender


ISBN:0764526049

The Collaboration diagram an alternative to the Sequence diagram. Instead of modeling messages John Wiley offers & Sons 2003 (940 pages) over time like theFor Sequence diagram, the Collaboration diagram models the messages relative to object beginning to advanced users, this book provides structure. The Collaboration diagram uses this approach in order to 2.0 emphasize the effect of the objects comprehensive coverage of the versatility of 1.4 and UML shows how to use UML to the improve and their links onspecifications, the pattern ofand interactions. Consequently, advantage of the Collaboration diagram is timeliness, and efficiency in development. that it can help you validate quality, the associations between classes or even discover the need for new associations. Companion Web Site Figure 8-17 is a Collaboration diagram that models the same set of interactions modeled in Figure 8-4
<?xml version="1.0" using a Sequence encoding="ISO-8859-1"?> diagram. On a Sequence diagram, the sequence numbers are optional. On a Table of Contents Collaboration diagram, the numbers are essential, since there is no other way to determine the order in UML Bible which the messages are passed. To read the Collaboration diagram, follow the numbered messages to Preface step through the scenario. Messages 1, 2, and 3 are synchronous messages. Message 2 is a selfPart I - An Introduction to5, UML reference. Messages 4, and 6

are returns.

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Figure Collaboration diagram of cancel event scenario modeled in Figure 8-4. Chapter 13 - 8-17: Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

The "Comparing the Sequence and Collaboration Diagrams" section later in this chapter provides more detail about the similarities and differences between Sequence and Collaboration diagrams so that you Chapter 15 - Modeling Software Using the Component Diagram can choose the diagram that will help you the most with a particular problem in your project.
Chapter 14 - Modeling the Application Architecture Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an is Architecture inof UML The Collaboration diagram built on top an 2.0 Object diagram, as follows: Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating the UML Modeling Process

1. Place the participating objects on the diagram.

Chapter 19 - Action Semantics 2. Draw the links between the objects using the Class diagram as your guide.

3. Add message by placing Chapter 20 - a Using a Modeling Tool the message arrow parallel to the link between the two objects. Position to pointUML from the sender Chapter the 21 -arrow Customizing Using Profilesto the receiver. Place the message text on the arrow.
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix C - Standard Elements Glossary Index

4. Number the message in its order of execution.

Appendix B - UML 2.0 Notation 5. Repeat steps 3 and 4 Guide until the entire scenario has been modeled.

Modeling objects and links

List of Collaboration Figures The diagram uses an Object diagram as its foundation. First, determine which objects will

participate List of Tablesin the scenario. Draw the objects with only the name compartment, not the attributes. Then draw the links between them. Any pair of classes may have more than one type of association, for List of Listings

example a person can own a car and drive a car. You need to use the Class diagram as your guide to < Day Day Up > identify the valid types of links that apply to the current sequence of messages. Figure 8-18 shows objects and their links. You may leave the link names off of the links when there is only one type of association between the related classes. Add the names if there is more than one kind of link UML Bible possible between the two objects and there is a need to clarifyISBN:0764526049 which type of relationship supports the by Tom Pender interaction. John Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram

Figure 8-18:Object Objects and links. Part II - Modeling Structure Note that the self-reference in messages 2 and 5 requires a link on the Collaboration diagram even - How to Capture Rules about Object Relationships though technically there is no link. A message in general does not require a link when the same object is Chapter 7 - Testing with Objects invoking and responding to the message. This is simply a limitation of the Collaboration diagram notation.
Part III - Modeling Object Interactions

Chapter 8

Modeling messages and stimuli Chapter 9 - Modeling Interactions in UML 2.0


Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

- Modeling Interactions in UML 1.4

For each step of the scenario, draw the message arrow from the sending object to the receiving object, and parallel to the link between them. Having many messages (arrows) placed on the same link is valid Part IV - Modeling Object Behavior and, in fact, common. With a lot of arrows the link can become crowded and difficult to read so be careful Chapter 12 - Modeling the Use of a System with the Use Case Diagram to lay out the diagram so that it can be read and understood. Number the messages in the order in which Chapter 13 - Modeling Behavior Using an Activity Diagram they occur.
Part V - Modeling the Application Architecture

Chapter 14 - for Modeling the Application Architecture The format specifying a message is the same as on the Sequence diagram: Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 predecessors / seq-term iteration [condition] return ':=' operation Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Most often the message displays only the operation portion of the message syntax. Figure 18-19 Chapter 18 -however, Applying Constraints to the UML Diagrams models the from the Sequence diagram in Figure 8-16. Chapter 19 - scenario Action Semantics
Part VII - Automating the UML Modeling Process

The Collaboration diagram provides one other valuable feature. A link may be stereotyped to make it clear whether the link is persistent or transient. The links based on the Class diagram are typically references Chapter 21 - Customizing UML Using Profiles that persist between executions of the application. A transient link is a reference that only exists during the Chapter 22 of - XML Metadata Interchange For example, the link between the TheaterSystem object and the execution a task or an application. Appendix A UML 1.4 Notation Guidethe theater system obtained the object references from the Venue. The Event objects only exists because Appendix B UML 2.0 Notation Guide stereotype transient may be placed next to the link between the TheaterSystem and Event objects to Appendix C Standard Elements make this clear.
Chapter 20 - Using a Modeling Tool Glossary Index List of Figures

Active objects

List Tables Anof active object refers to an object that initiates controls or directs other objects. Contrast this with passive List of Listings objects that simply respond to requests. In Figure 8-19 the Theater System represents an active object,

while the Venue and Events objects are passive. To identify an active object, the border of the object is < Day Day Up > highlighted or thickened. In addition, the property keyword {active} may be placed in the object icon. Figure 8-20 shows both techniques.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

Figure 8-19: Messages on a Collaboration diagram.


- UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

- What Is UML?

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure An the active object. Architecture Chapter 14 - 8-20: Modeling Application


Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

In many instances the active object is actually a collection of objects, as is the case with the TheaterSystem object. If you want, you may also expand the TheaterSystem object to a large rectangle, Chapter 17 - Representing an Architecture in UML 2.0 and then model the objects that make up the TheaterSystem inside the rectangle.
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Multi-objects

A multi-object is a set of objects of the same type. When you need to perform the same operation on all objects in a set, you can represent the set as an object icon on top of another object icon, offset enough to Chapter 21 - Customizing UML Using Profiles make it appear as one of a number of objects. The Performance object in the top right corner of Figure 8Chapter 22 - XML Metadata Interchange 21 is a multi-object icon.
Chapter 20 - Using a Modeling Tool Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site Figure 8-21: Multi-object.. <?xml version="1.0" encoding="ISO-8859-1"?> members of the set, you typically need to gain access to each member. Message 1 in Figure 8-21 asks for Table of Contents UML Bible Preface

Figure 8-21 illustrates a common usage of the multi-object. In order to perform an operation on all

each performance by a unique ID number. Note the iteration symbol on message 1. Then the event invokes message 3, cancel(), on each performance.
- What Is UML? - UML Architecture - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

< Day Day Up >

- UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible ComparingUML the Sequence and Collaboration Diagrams by Tom Pender


ISBN:0764526049

Sequence and collaboration model the same two elements: messages and objects. In fact, the John Wiley &diagrams Sons 2003 (940 pages) two diagrams areFor so beginning similar that modeling such as System Architect and Rational Rose, tosome advanced users, tools, this book provides provide a toggle feature to switch back and forth between the two views. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Like the Sequence diagram, the Collaboration diagram provides a tool for visually assigning responsibilities to objects for sending and receiving messages. By identifying an object as the receiver of a Companion Web Site message, you are in effect assigning an interface to that object. The message description becomes an operation signature on the receiving object. The sending object invokes the operation. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents All of the message types are supported on both diagrams. UML Bible Preface

Both diagrams are also excellent tools for evaluating coupling. Coupling is a measure of quality that tests the degree of dependency between model elements. Dependency is clearly seen in the need for Part I - An Introduction to UML communication between objects. If you review all of the diagrams in which a pair of objects participate, you Chapter 1 - What Is UML? can see how many messages and what type of messages they use to work together. This provides the Chapter 2 - UML Architecture opportunity to evaluate opportunities to reduce or simplify the communication and improve the design. This Chapter 3 - UML Diagrams and Extension Mechanisms is very difficult to do when the only resources you have are the Class diagram or code.
Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure Despite their similarities, the diagrams

also have important differences. The Collaboration diagram places

Chapter 5 on - Capturing Rules about Objects in a Class Diagram a priority mapping the object interactions to the object links. That is, the Collaboration diagram draws Chapter 6 - How objects to Capture Rules about Object Relationships the participating in an Object diagram format, laying the messages parallel to the object links. This

perspective helps validate the Class diagram by providing evidence of the need for each association as the Chapter 7 - Testing with Objects means passingObject messages. In contrast, Part III -of Modeling Interactions
Chapter 8 Chapter 9

the Sequence diagram does not illustrate the links at all.

This highlights an advantage of the Collaboration diagram. You cannot draw a message where there is no - Modeling Interactions in UML 2.0 link, because there is no physical path across which the message can travel. On a Sequence diagram, Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 there is nothing stopping you from drawing an arrow between two objects when there is no corresponding Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 link, but doing so would model a logical interaction that cannot physically take place.
Part IV - Modeling Object Behavior

- Modeling Interactions in UML 1.4

Chapter 12also - Modeling the of a System with Use Case Diagramin that drawing a message where there You can see this as Use an advantage of the the Sequence diagram, Chapter 13reveals - Modeling Using an Diagram is no link the Behavior requirement for a Activity new link. Just make certain that you actually update your Class
Part V - Modeling the Application diagram or you won't be able to Architecture implement the

message illustrated on the diagram.

Chapter 14 - Modeling the Application Architecture

Another advantage of the Sequence diagram is its ability to show the creation and destruction of objects. Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4

Newly created objects can be placed on the object lifeline at the point where they are created. The large X at the end of a timeline shows that the object is no longer available for use. On the Collaboration diagram, Chapter 17 - Representing an Architecture in UML 2.0 the object is either there or it is not. There is no way to indicate creation or termination apart from the Part VI - Bringing Rigor to the Model description of the message and a constraint. However, since the structure is represented in a static Object Chapter 18 - Applying Constraints to the UML Diagrams diagram layout, it is difficult to be certain when the constraint becomes relevant.
Chapter 19 - Action Semantics
Part VII - Automating UML Modeling Process of Sequence diagrams the also have the advantage

showing object activation. Because the Collaboration

Chapter 20does - Using Modeling Tool it is impossible to indicate explicitly when an object becomes active or diagram not a illustrate time, Chapter 21 - Customizing UMLthe Using Profiles inactive without interpreting types of messages. Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

IntegratingUML theBible Sequence and Collaboration Diagrams with the Class ISBN:0764526049 by Tom Pender Diagram John Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides Because the Class diagram is the source for code generation in object-oriented development, you need to comprehensive coverage of the versatility of 1.4 and 2.0 UML map what you find in the interaction diagrams back to the Class diagram. Each message becomes an specifications, and shows how to use UML to improve operation on the class of the receiving In the classes in Table 8-2, you can see each of the timeliness, quality, andobject. efficiency in development. messages from Figure 8-19 declared as an operation on the receiving objects. Companion Web Site

Table 8-2: Updated Class Operations


<?xml version="1.0" encoding="ISO-8859-1"?> Message Class Table of Contents UML Bible Preface

Operation

1: I getEvent (start, end) Part - An Introduction to UML


Chapter 1 - What Is UML? 2: return Chapter 2 Chapter 3

Venue Venue CustomerActor

getEvents(start:Date, end:Date):Vector See return type on message 1 displayEvents(events:Vector):void getPerformances(events:Vector):Vector getPerformances(start:Date, end:Date): Vector

3: dislayEvents(events)

- UML Architecture

- UML Diagrams and Extension Mechanisms

4: getPerformances(events) TheaterSystem Chapter 4 - Object-Oriented Concepts


Part II - Modeling Object Structure

5 *[for each

Event

Chapter 5 - Capturing Rules about Objects in a Class Diagram event]:getPerformances (See the list following Table 8-2) Chapter - How to Capture Rules about Object Relationships (start, 6 end) Chapter 7
Part III - Modeling Object Interactions

6: return performances

- Testing with Objects

Event

See return type on message 5 See return type on message 4 displayPerformance(performances: selectPerformance(performance:int):void

7: return TheaterSystem Chapter 8 performances - Modeling Interactions in UML 1.4


Chapter 9 - Modeling Interactions in UML 2.0 8: displayPerformances CustomerActor

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Vector):void (performances) Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

9: selectPerformance (performance)

TheaterSystem

10: display Confirmation() CustomerActor displayConfirmation():void Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

11: return yes

CustomerActor

See return type on message 10

12: savePerformance() TheaterSystem savePerformance():void Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 13: closeSelect TheaterSystem Chapter 17 - Representing an Architecture in UML 2.0 PerformanceWindow()
Part VI - Bringing Rigor to the Model

closeSelectPerformanceWindow()

Chapter 18 - Applying Constraints to the UML Diagrams

Note the in reference to Table 8-2: Chapter 19following - Action Semantics


Part 1. VII Messages - Automating the UML Modeling Process map to operations.

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles

2. Conditions are placed in the implementation logic of the calling object.

Chapter 22 - XMLlogic Metadata Interchange 3. Iteration is placed in the implementation logic for the calling object. Appendix A - UML 1.4 Notation Guide

4. Parameters return value identify attributes that need to be defined in a class. Appendix B - UML 2.0and Notation Guide
Appendix C - Standard Elements Glossary Index

5. For each new attribute discovered, the owning class must provide accessor operations to maintain the value and to read the value.

List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

The Sequence and Collaboration diagrams communication between objects. The scope of the John Wiley & Sons 2003 (940illustrate pages) interactions is typically one scenario, but the diagrams mayprovides be used to model interactions at any level of For beginning to advanced users, this book abstraction in thecomprehensive design of a system. coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. The Sequence diagram models messages between objects on a timeline. The timeline aids in describing the relative order of execution and the addition of time and duration constraints. Companion Web Site

Object lifeline: The object lifeline uses an object icon at the top and a vertical dashed line below the object icon to encoding="ISO-8859-1"?> represent a timeline. The timeline represents the total duration of the interaction. <?xml version="1.0" Table of Contents Messages: Some messages are predefined by UML; synchronous (solid line with solid arrowhead), UML Bible
Preface

asynchronous (solid line with open arrowhead), and returns (dashed line with open arrowhead). Messages are considered to be instantaneous when appearing on a Sequence diagram so they are Part I - An Introduction to UML placed horizontally between object lifelines.
Chapter 1 - What Is UML? Chapter 2 - UML Architecture Activation and Focus of Control: An object is considered active while performing work in response to a Chapter 3 UML Diagrams and Extension message or signal. The dashed lineMechanisms of the lifeline can be widened into a rectangle to represent the Chapter 4 -period Object-Oriented Concepts active in its life. An object that oversees an interaction remains active throughout the exchange.
Part II - Modeling Object Structure This object is the focus of control

for the interaction.

Chapter 5

- Capturing Rules about Objects in a Class Diagram

Object and Termination: Objects created during the interaction have a lifeline that starts at Chapter 6 - creation How to Capture Rules about Object Relationships the in the with vertical timeline of the interaction when the object constructor is called. When an Chapter 7point - Testing Objects object is deleted or destroyed the lifeline is Part III - Modeling Object Interactions
Chapter 8

terminated with a large "X".

- Modeling Interactions in UML 1.4 The Collaboration diagram model interactions between objects by illustrating the links that provide the Chapter 9 - Modeling Interactions in participating UML 2.0 communication paths between the objects. The messages must be numbered to define the Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 order of execution. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Objects and links: Objects and Part IV - Modeling Object Behavior

links are represented with the same notation as on an Object diagram.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Messages: Messages use the same syntax as for Sequence diagrams. Active objects: Active objects are modeled with a thick border. Active objects correspond to the focus

Chapter 14 - Modeling the Architecture of control objects onApplication a Sequence diagram. They Initiate the interaction and govern its execution. Chapter 15 - Modeling Software Using the Component Diagram

Multi-objects: Interaction diagrams can model Chapter 16 - Using Deployment Diagrams in UML 1.4 the use of a set of objects using a multi-object, an icon that represents a setan instead of a single instance. Chapter 17 - Representing Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the operations. UML Modeling Process Messages become

The information discovered on the interaction diagrams identifies changes to the Class diagram. Reconciling the interaction diagrams with the Class diagram includes the following:

Chapter 20 - Using a Modeling Tool

Parameters and returns become attributes or operations to obtain derived attributes. The owning class Chapter 21 - Customizing UML Using Profiles must accessor operations. Chapter 22 provide - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

Conditions become implementation logic.

Appendix C - Standard Elements Iteration becomes implementation logic. Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

Bible Chapter UML 9: Modeling Interactions in UML 2.0 ISBN:0764526049 by Tom Pender

Overview

John Wiley & Sons 2003 (940 pages)

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows to use UML to different, improve but related diagrams. The diversity of UML 2.0 models specifications, object interactions using how the following four timeliness, quality, and efficiency in development. the diagrams reflects the many reasons for evaluating interactions in a system design.

ASequence diagram is a time-oriented view of the interaction between objects to accomplish a behavioral goal of the system. An interaction may be modeled at any level of abstraction within the <?xml version="1.0" encoding="ISO-8859-1"?> system design, from subsystem interactions to instance-level interaction for a single operation or Table of Contents activity.
UML Bible

Companion Web Site

ACommunication diagram is a structural view of the messaging between objects, taken from the Preface diagram concept Part ICollaboration - An Introduction to UML
Chapter 1 Chapter 2 Chapter 3 - What Is UML?

of UML 1.4 and earlier versions.

AnInteraction Overview diagram is a high-level view of sets of interactions combined into a logic - UML Architecture sequence, including flow-control logic to navigate between the interactions.
- UML Diagrams and Extension Mechanisms

Chapter 4 - Object-Oriented Conceptsdiagram designed to specify the time constraints on messages sent ATiming diagram is an optional
Part II - Modeling Object and received in the Structure course of

an interaction.

Chapter 5 Chapter 6

Note The UML 2.0 specification also describes a tabular alternative to the interaction diagrams that is - How to Capture Rules about Object Relationships not covered in this text because there is no tool support for it, which effectively removes it from Chapter 7 - Testing with Objects the mainstream.
Part III - Modeling Object Interactions

- Capturing Rules about Objects in a Class Diagram

Chapter 8 -of Modeling Interactions inmessaging UML 1.4 The focus all these diagrams is between objects, that is, how objects ask and answer Chapter 9 -tell Modeling Interactions in UML 2.0 questions, one another to do things, and notify one another of events within the system. The interaction Chapter 10 do - Modeling an Object's Lifecycle in UML 1.4 diagrams not explain how objects manipulate information in order to answer questions, interpret events, Chapter 11 - Modeling anfor Object's Lifecycle in UML 2.0 object. Data manipulation may be modeled using or determine the need information from another
Part IV - diagrams Modeling Object Behavior Activity that model control

and object flow in the fulfillment of a behavior. State Machine

Chapter 12 may - Modeling theto Use of a System with the why Use an Case Diagram diagrams be used understand when and object initiates and responds to specific behaviors. Chapter 13 - Modeling Behavior Using an Activity Diagram

The simply model the fact Part Vinteraction - Modelingdiagrams the Application Architecture

that the messaging does take place, in what order, and under what constraints. The focus on messaging reveals the interface requirements for the objects that Chapter 14 - Modeling the Application Architecture participate in the messaging. Simply put, in order for an object to receive a message it must have an Chapter 15 - Modeling Software Using the Component Diagram interface that matches the message. The interface defines the fact that the object is prepared to receive Chapter 16 - Using Deployment Diagrams in UML 1.4 and respond to the message. An object interface is defined as an operation signature. Having an operation Chapter 17 - Representing an Architecture in UML 2.0 signature on an object implies that the object has a corresponding method that defines how the object will Part VI - Bringing Rigor to the Model respond to the message.
Chapter 18 - Applying Constraints to the UML Diagrams
Part - Automating UML Modeling Process the VII ShowSeat objectthe that it has been selected.

Chapter 19 - Action Semantics For example, in Figure 9-1, when a customer wants to select a seat at a show, she needs to be able to tell

The customer sends the message "select" to the

Chapter 20 -object. Using a Modeling Tool object has a matching operation signature that enables it to receive the ShowSeat The ShowSeat

message. The operation hasUsing a method to implement the response to the message. (Note that the method Chapter 21 Customizing UML Profiles is not modeled a Class diagram.) Chapter 22 - XMLon Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Figure 9-1: A customer selects a seat at a show (a ShowSeat). Operation signatures may include parameters and return types. Both parameters and returns represent <?xml version="1.0" encoding="ISO-8859-1"?> dataof that is passed during the interaction. Data in an object-oriented system is always encapsulated within Table Contents an object, UML Bible which means that interactions not only reveal operations, but they also reveal vital information about the attributes that need to be included in classes. Tracking down the classes that own the data Preface values can help identify Part I - An Introduction tonew UMLclasses
Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - What Is UML? - UML Architecture

Companion Web Site

and new accessor operations.

< Day Day Up > - UML Diagrams and Extension Mechanisms


- Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Modeling aUML Sequence Diagram by Tom Pender


ISBN:0764526049

Let's begin with the Sequence diagram. John Wiley & Sons 2003The (940 core pages)of the notation for the Sequence diagram remains almost unchanged, is, it still object and messages. The changes in UML 2.0 are Forthat beginning to includes advanced users,lifelines this book provides primarily additions to the features of Sequence diagrams. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Table 9-1 identifies the complete list of new and existing features of the Sequence diagram defined in UML 2.0. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Concept New/Existing UML Bible Preface
Part I - An Introduction to UML Object lifeline Existing

Table 9-1: Features of the UML 2.0 Sequence Diagram

Chapter 1 Chapter 2 Chapter 3

Stimulus (Message)

- What Is UML? - UML Architecture

- UML Diagrams and Extension Mechanisms Time observation and Existing Chapter 4 - Object-Oriented Concepts

Existing, but called Message. (UML 2.0 does not define a distinction between message and stimulus as prior UML versions did.)

constraint Part II - Modeling Object Structure


Chapter 5 - Capturing Rules about Objects in a Class Diagram Activation Existing Chapter 6 - How to Capture Rules about Object Relationships Chapter 7

Suspension

- Testing with Objects

New

Frame New Part III - Modeling Object Interactions


Chapter 8 - Modeling Interactions Interaction New in UML 1.4 Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 - Modeling Interactions in UML 2.0

Interaction occurrence

New

Event 11 occurrence New Chapter - Modeling an Object's Lifecycle in UML 2.0


Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Interaction fragment

New

Combined fragmentBehavior New Chapter 13 - Modeling Using an Activity Diagram


Part V - Modeling the Application Architecture Interaction operator New

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model The main purpose of the new features

Duration observation and constraint

New

is to add the capability to partition and to reuse interactions. The

Chapter 18 -diagrams Applying Constraints to the UML Diagrams Sequence defined in UML 1.4 and earlier were basically standalone diagrams. In prior UML Chapter 19 if - you Action Semantics versions, wanted to reuse a portion of a diagram, or even an entire diagram, you had to use
Part VII - Automating UML Modeling Process comments. UML 2.0 the supports the explicit definition

of an interaction occurrence as a set of object lifelines and messages (and all other applicable notations such as timing constraints). Interaction occurrences may Chapter 20 - Using a Modeling Tool be combined ( combined fragment ), and/or modeled in a flow of control ( Interaction Overview diagram ). Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix C - Standard Elements Glossary Index

New features such as interaction operators and duration constraints provide the means to model more complex and more precise definitions for interactions than were possible in previous versions of the Appendix B - UML 2.0 Notation Guide Sequence diagram.

Modeling a frame
The first new concept for Sequence diagrams, and for UML diagrams in general, is a frame. Frame is a concept borrowed from the general UML 2.0 notations for diagrams, found in Appendix A of the

List of Figures List of Tables

List of Listings

specification. A frame provides a portable context for a diagram. < Day Day Up > Once enclosed in a frame, a diagram may be nested inside another frame/diagram. By nesting a frame inside of another frame, the enclosing diagram effectively reuses the entire enclosed diagram inside the new context. For UML example, a test suite for the theater system would include many test cases. Many of the Bible test cases might start by Pender looking up the seats available at a given performance. The set of interactions for ISBN:0764526049 by Tom looking up the seats at a performance may be defined once and referenced in many test cases. John Wiley & Sons 2003 (940 pages) A diagram is enclosed in a frame, a boundary that consists of a heading and a context area as shown in comprehensive coverage of the versatility of 1.4 and 2.0 UML Figure 9-2. specifications, and shows how to use UML to improve
timeliness, quality, and efficiency in development. Companion Web Site For beginning to advanced users, this book provides

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - Testing with Objects

Part II - Modeling Object Structure

- How to Capture Rules about Object Relationships Figure 9-2: UML diagram frame.

Part III - Modeling Interactions The <heading> is Object a string contained in

a name tag, a rectangle with a cutoff corner. The <heading> is

Chapter - Modeling Interactions UML 1.4 and uses the following syntax: placed 8 in the upper left corner of in the frame Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 [<kind>]<name>[<parameters>] Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Kind is 12 optional and refers to of the type of diagram; for Case example, the keyword sd represents a Sequence Chapter - Modeling the Use a System with the Use Diagram diagram, cd represents aUsing Class diagram. Parameters are also optional. They list the data values Chapter 13 and - Modeling Behavior an Activity Diagram passed into the frame context area when the Part V - Modeling the Application Architecture frame is invoked. The <contents area> contains the diagram.
Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Figure 9-3 shows a frame that contains a Class diagram, named cd 12.1, with no parameters.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

Figure 9-3: A frame for a Class diagram.

Glossary Note The naming convention for the diagram is entirely up to the modeler. Index

Figure 9-4 shows nested frames. Frame cd 12.1 from Figure 9-3 is nested within frame package 12. The List of Figures package on the left is the elided form of the package. The package diagram on the right reveals the List of Tables contents of the package as being one Class diagram and one Sequence diagram. The nesting feature of List of Listings

frames is used to great advantage in the Interaction Overview diagram where a number of diagrams are < Day Day Up > linked together in a flow of control.

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure 9-4: Nested frames.


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction toframes UML In Sequence diagrams,

Modeling interactions
provide the means to isolate a reusable set of interactions. To exploit this

new feature, however, we must first understand basic interactions. Simply stated, an interaction is a Chapter 1 - What Is UML? sequence of messages passed between objects to accomplish a task. Objects may be created and Chapter 2 UML Architecture terminated. They may ask and questions or make demands on other objects by invoking operations, or they Chapter 3 - UML Diagrams Extension Mechanisms may notify another of events using signals. Chapter 4 -one Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5 Chapter 6

Lifeline - Capturing Rules about Objects in a Class Diagram


- How to Capture Rules about Object Relationships A lifeline represents an object. Each object in an interaction is modeled using object notation, that is, a

Chapter 7 containing - Testing with rectangle theObjects object name.


Part III - Modeling Object Interactions

Chapter 8 UML - Modeling Interactions in UML 1.4 Note 2.0 draws a distinction between interactions between objects and interactions between

of a collaboration orUML an internal structure. The following text addresses the use of objects Chapter 9 parts - Modeling Interactions in 2.0 The use parts is covered the1.4 context of working with aggregate objects. Object names Chapter 10 first. - Modeling an of Object's Lifecycle inin UML underlined. Part names arein not underlined. Interaction diagrams can be used to depict both Chapter 11 are - Modeling an Object's Lifecycle UML 2.0 types of lifelines. Part IV - Modeling Object Behavior
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

The object icon is placed atop a vertical dashed line (as seen in the following figures), which represents time as a lifeline for the object. The lifeline runs from the beginning of the interaction, at the top of the Part V - Modeling the Application Architecture diagram, to the end of the interaction at the bottom of the line. The length of time represented by the Chapter 14 - Modeling the Application Architecture lifeline is however long it takes to complete the interaction. The exact time is irrelevant in a Sequence Chapter 15 Instead, - Modeling Using the Component diagram. an Software interaction concerns itself withDiagram the ordering of messages within the interaction.
Chapter 16 - Using Deployment Diagrams in UML 1.4

The relative placement of messages on in the lifeline Chapter 17 - Representing an Architecture UML 2.0 reflects the relative ordering of the messages from top to bottom as executing from Part VI - Bringing Rigor to the beginning Model to end. Again, the amount of space between messages on the lifeline 18 does not reflect a measurement of time. Only the relative position matters, that is, one message Chapter - Applying Constraints to the UML Diagrams takes place beforeSemantics or after another message. In fact, for all practical purposes, when reviewing a Chapter 19 - Action Sequence diagram, all are considered Part VII - Automating themessages UML Modeling Process to take no time at all. The only relevant time values on a Sequence diagram are expressed as constraints on the amount of time to send and receive events during Chapter 20 - Using a Modeling Tool the course of the interaction. These features are covered in the "Modeling duration and timing" section Chapter 21 - Customizing UML Using Profiles later in this chapter. Chapter 22 - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide The vertical line illustrates the life span of an object within the context of a single interaction. That is to say, Appendix B UML 2.0 Notation when an object exists prior toGuide the beginning of an interaction, the object icon is placed at the top of the Appendix C -diagram. Standard If Elements interaction the object is created during the execution of the interaction, the object icon appears Glossary at a relative vertical position within the diagram coinciding with the point in time when it is created. Index

Figure 9-5 shows the object placement for pre-existing objects and objects created during an interaction. List of Figures
List of Tables List of Listings

In both examples, the event object, : Event, exists before the interaction begins, so it is placed at the top of the diagram. The performance object, : Performance, is created midway through the interaction, so it

is placed below the top, level with the message that creates it. Both forms are valid. < Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Figure 9-5: Object placement Sequence diagram interaction. specifications, and within shows a how to use UML to improve timeliness, quality, and efficiency in development.

The object name within the object icon uses the following format:
Companion Web Site

[name ['[' selector ']']] [' : ' class_name] [decomposition] self


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

The name is an optional object identifier, that is, the name of a specific instance. For example, Figure 9-5 UML Bible could have used Chicago: Event or 74856: Event to identify a particular event object used in a test Preface case. it is also Part I - However, An Introduction to common UML to use the anonymous form of the object name, that is, : classname, underlined. The :classname notation identifies the type of the object. The anonymous form indicates that Chapter 1 - What Is UML? the interaction works the same for any instance of the specified object type. Chapter 2 - UML Architecture
Chapter 3 Chapter 4

The anonymous form also may reflect a collection of objects of the specified type. For instance, the - Object-Oriented Concepts interaction in Figure 9-5 could represent the creation of a series for performances for the same event. In Part II - Modeling Object Structure this case, the same interaction would be repeated for every performance scheduled for the same event. It Chapter 5 - Capturing Rules about Objects in a Class Diagram would not be practical, or add any information, to try to create and name every individual test value for Chapter 6 - How to scheduled Capture Rules about Object Relationships each performance in the test. (Looping and iteration are covered later in this chapter.) Instead, Chapter 7 Testing with Objects a single object icon represents the set of created performance objects.
Part III - Modeling Object Interactions

- UML Diagrams and Extension Mechanisms

Theselector is an Interactions optional expression that identifies a single instance in a collection of instances of the Chapter 8 - Modeling in UML 1.4 same type. example, midwayin through an event's scheduled set of performances the event might be Chapter 9 - For Modeling Interactions UML 2.0 cancelled. interaction may be specified cancel Chapter 10 -An Modeling an Object's Lifecycle in to UML 1.4 all performances whose scheduled dates are equal to or greater than today. The selector expression would evaluate the date of the performance against the Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 selection criteria to find only those Part IV - Modeling Object Behavior Modeling part decomposition performances that have not yet taken place.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture So far, I've talked about interactions between

objects. UML 2.0 also supports interactions between parts of

Chapter 14 - Modeling Application an aggregate object.the Here I use theArchitecture term part as defined in the context of internal structures described in Chapter 15 - Modeling Software Using the Component Diagram Chapter 7. Chapter 16 - Using Deployment Diagrams in UML 1.4

When using an aggregate object in an interaction, most messages are directed at that object. There are two means of directing messages at the parts of the aggregate. Both types of interactions require that the Part VI - Bringing Rigor to the Model parts be represented as individual lifelines.
Chapter 17 - Representing an Architecture in UML 2.0 Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating the UML Modeling Process

1. The grants access to a part object so that another object may manipulate it directly. Chapter 19 - aggregate Action Semantics
Chapter 20 - Using a Modeling Tool

2. The interaction specifically models the propagation of messages from the aggregate to its parts.

Chapter 21 Customizing UML Using Profiles In the first case, once the aggregate object provides a reference to the part object, other objects may Chapter - XML Metadata Interchange interact22 with the part directly. So the part object is modeled like any other object with messages directed at Appendix A - UML 1.4 Notation Guide its lifeline. Appendix B - UML 2.0 Notation Guide

In the second case, other objects make requests of the aggregate. The aggregate interprets and Appendix C - Standard Elements
Glossary Index

propagates the request down through its structure until the request reaches the part or parts that can satisfy the request. The response to the requestor is then coordinated by the aggregate.

List of interaction Figures The between the aggregate object and its parts is often modeled in a separate interaction, on List Tables its of own Sequence diagram. To refer to this other Sequence diagram, the object lifeline name may include List of Listingsto the name of the other Sequence diagram. This notation option utilizes the decomposition a reference

parameter of the lifeline name and is called a< PartDecomposition. The decomposition value in the lifeline Day Day Up > name is a reference to an interaction that is broken into a set of interactions defined elsewhere against the parts of the object whose lifeline contains the reference. This is the first example of how UML 2.0 supports reuse of object interactions.
UML Bible

Figure 9-6 models Sequence cancels an event. This action ISBN:0764526049 byaTom Pender diagram in which the venue manager involves a reference to a series of behaviors to perform the Cancel operation on the event object, which John Wiley & Sons 2003 (940 pages) includes a predictable interaction between the event and its performances when the event is cancelled. For beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2

Figure 9-6: A draft of the interaction for canceling an event.


- UML Architecture

- What Is UML?

Chapter 3 I-have UML Diagrams and Extension Mechanisms Note referred to performances in Figure 9-6 using object notation. In the preceding text I Chapter 4 referred - Object-Oriented Concepts to the performances as parts of an event. UML 2.0 notation for parts does not underline
Part II - Modeling Object Structure the lifeline name. I chose

to continue to use object notation (underlined names) throughout this

Chapter 5 chapter - Capturing Rules about in a Class Diagram rather than mix Objects the examples. Chapter 6 - How to Capture Rules about Object Relationships

However, event with may Objects be cancelled in a variety of circumstances, such as closure of the venue due to Chapter 7 an - Testing weather, illness of a performer, or poor Part III - Modeling Object Interactions attendance. In each situation, the event would perform the same set of interactions to cancel all the performances. UML 2.0 enables us to model the interaction Chapter 8 - Modeling Interactions in appropriate UML 1.4 between aggregate event object and its parts, the performances, separate from all of the interactions Chapter 9 the - Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

in which that same set of behaviors might be required. Figure 9-7 models a reference to the reused interaction within the context of another interaction that cancels an event.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams


Part VII - Automating the UML Modeling Process between an event and its parts, the performances.

Figure 9-7: Modeling a reference to an existing interaction between parts and their aggregate.

Chapter 19 - Action Semantics The reference to Event_Cancel is a reference to the name of the interaction that defines the messaging

The naming convention is up to you as the modeler,

Chapter - Using a Modeling Tool just as 20 coding conventions are up to the programming staff. Chapter 21 - Customizing UML Using Profiles

Note reference (ref) only applies to objects defined with internal structures. Chapter 22 Using - XML a Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

The entire name may be replaced with the keyword self, which refers to the classifier that owns the interaction. The classifier defines the set of interfaces that provide access to the behaviors modeled in the Appendix C - In Standard Elements interaction. the previous examples, the owning classifier could be the scheduling system, which supports Glossary a number of features including canceling, scheduling, and rescheduling events. Using self allows the Index owning classifier to participate in the interaction.
List of Figures

Modeling object termination List of Tables


List of Listings

When an object is destroyed during the execution of an interaction, the lifeline is terminated using the stop < Day Day Up > notation, a large X at the point in the lifeline when the object is destroyed. Figure 9-8 models the destruction of a performance object during the event cancellation interaction. An X is placed on the lifeline at the end of the delete operation (after the return) and the lifeline stops. The UML Bible absence of the lifeline from the diagram after this point prevents any messages from being directed at the ISBN:0764526049 by Tom Pender deleted object. John Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram

Part II - Modeling Object Structure

Figure 9-8: Stop notation for a Sequence diagram.

Chapter 6 - How to Capture Rules about Object Relationships The absence of any stop on a lifeline indicates that the object continues to exist beyond the end of the

interaction. Chapter 7 - Testing with Objects


Part III - Modeling Object Interactions

Chapter 8

Modeling object activation and suspension Modeling Interactions in UML 1.4

Chapter 9 message - Modeling Interactions in UML 2.0 When a is sent to an object it invokes a behavior on that object and the object is said to be Chapter 10 The - Modeling an Object's Lifecycle in UML 1.4 activated. activation of an object is depicted as the start/top of a gray rectangle on the lifeline as Chapter - Modeling Object's Lifecycle UML 2.0 shown 11 in Figure 9-9. an The rectangle itself in is called the focus of control. The focus of control depicts the
Part IV -of Modeling Object Behavior period time when an object is performing

an action, either directly or through a subordinate procedure.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

Figure ModelingInterchange object activation. Chapter 22 - 9-9: XML Metadata


Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

The typical start/top of the focus of control icon is at the point that a message hits the lifeline, placing a demand on the resources of the object. The end/bottom of the focus of control icon is usually when either Appendix C - Standard Elements the behavior is completed (for asynchronous messages or signals) or control is returned to the requesting Glossary object (for synchronous messages).
Index List ofTip Figures Technically UML 2.0 allows both gray and white rectangles. List of Tables

Object activation is covered in more detail in the "Execution occurrence and event occurrence" section List of Listings

later in the chapter.

< Day Day Up >

Execution of a behavior may also be suspended temporarily. This most often happens when a behavior includes sending a synchronous message to another object. The sending object stops execution and must wait for a response from the receiving object before it can proceed. For example, in Figure 9-10, the event UML Bible object sends a message to each performance object. Each time the event object sends a cancel message ISBN:0764526049 by Tom Pender to a performanceJohn object, the event object suspends execution until it receives control back from the Wiley & Sons 2003 (940 pages) invoked performance object. For beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2

Figure 9-10: Modeling object suspension.


- UML Architecture

- What Is UML?

Chapter - UML Diagrams and Extension Mechanisms Object 3 suspension is modeled as a white rectangle with a dashed border. The start/top of the rectangle is Chapter Object-Oriented placed 4 on the lifeline whereConcepts the event sends the cancel message to the performance object. In Figure 9Part II - start/top Modeling Object Structure 10 the of the suspension

icon is positioned at the base of message #3, the point in the interaction

Chapter 5 - Capturing Rules about Objects in a performance. Class Diagram The end/bottom of the suspension symbol is at when control is passed from the event to the

the point lifeline where the performance returns control to the invoking event object. In Figure 9-10 Chapter 6 in - the How to Capture Rules about Object Relationships the end/bottom of the suspension icon is positioned at the arrowhead of message #4, when control returns Chapter 7 - Testing with Objects from the performance toInteractions the event. Part III - Modeling Object
Chapter 8

The suspension icon is typically placed over and a little to the right of the activation icon to identify periods Chapter 9 - Modeling Interactions in UML 2.0 of time during the execution of a behavior when execution is halted in order to request help from other Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 objects.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior The focus of control may also be

- Modeling Interactions in UML 1.4

used to depict an object that oversees an interaction. An object playing

Chapter 12 Modeling is the Use of a System the withinteraction. the Use Case this role of-overseer active throughout In Diagram the previous examples, the customer actor Chapter 13 - Modeling Behavior Using an Activity Diagram initiates the interaction and has the option to cancel the interaction and decide what to do with the results
Part V -interaction Modeling the Application Architecture of the at any time. To designate the

role of the overseer, use the focus of control icon for the

entire length of the object's lifeline, as shown in Figure 9-11. Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

Figure 9-11: Modeling a focus of control using the activation icon.

Appendix - Standard Elements In some C modeling tools, the activation icon routinely extends beyond the return point in the lifeline to Glossary indicate that an object might be active for a short time after receiving control so that it can respond to the Index return and complete the requesting behavior. Figure 9-12 shows this alternative presentation, which does List Figures notof substantively alter the meaning of the diagram. List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Figure 9-12: Alternative activation presentation.


Companion Web Site

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Sometimes the response of an object to a message depends on the condition or state of the object at the UML Bible time that the message is received. UML 2.0 adds constraint notation to the lifeline to support modeling of Preface the required state. State describes the condition of the object in terms of the values of its attributes at a
Part I -in An Introduction UML point time. The stateto of an object

State invariant

may be depicted using either of two notations:

Chapter 1 - What Is UML? 1. Curly braces enclosing a constraint expression. Figure 9-13 shows a constraint specifying that the Chapter event 2 - UML Architecture object must be in the state ACTIVE if the subsequent interaction is to be a valid sequence of Chapter events. 3 - UML Diagrams and Extension Mechanisms Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 -Figure Modeling Behavior Using Activity Diagram 9-13: Modeling a an lifeline constraint using curly brace notation.
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

2. A state icon as defined in the State Machine diagram specification. Figure 9-14 shows a state icon identifying the ACTIVE state of the event object.

Chapter 17 - Representing an Architecture in UML 2.0 Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables

Figure 9-14: Modeling a lifeline constraint using a state icon.

List of Listings

The use of a state invariant on a lifeline assumes that all messages prior to the state invariant have been completed. For testing purposes, if the state invariant is true, then the messaging following the state

invariant specification is considered a valid sequence of events. If the state invariant tests false, the < Day Day Up > subsequent messaging is characterized as an invalid sequence of events. A state invariant may be specified before an interaction to define the conditions under which the set of messages may be passed. UML Bible A state invariant may also be used following a series of messages to define the required condition of an object Figure 9-15 models the state invariant ISBN:0764526049 by Tom Penderafter the completion of the series. Event::CANCELLED at the end of the cancel interaction, meaning that when the interaction is completed John Wiley & Sons 2003 (940 pages) the event object must be in the CANCELLED state. For beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 7

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Figure 9-15:Object Modeling a state Part II - Modeling Structure

invariant as a requirement after the execution of an interaction.

- Capturing Rules about Objects in a Class Diagram - Testing with Objects

Chapter 6 - How to Capture Rules about Object Relationships Modeling messages


Part IIIprevious - Modeling Object Interactions In the object lifeline examples,

each figure included horizontal arrows between lifelines. These

Chapter - Modeling Interactions in UML 1.4 arrows 8 contained text that described a message passed from one object to another. A message is the

basic form communication in a Sequence Chapter 9 - of Modeling Interactions in UML 2.0 diagram interaction. It defines one specific kind of communication. Communication can raise signal, Chapter 10 - Modeling an Object's Lifecycle in a UML 1.4 invoke an operation, and create or destroy an instance. message specifies not only the kind of communication, but also the sender and the receiver. Chapter 11 The - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling following syntax:the Application Architecture

Note UML 2.0 no longer defines a distinction between message and stimulus as UML 1.4 did.

Chapter 13 - Modeling Behavior Using Activity Diagram A message is described as either a an signal or an operation message. The format for a message uses the Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling [attribute =] Software Using the Component Diagram Chapter 16 or-operation-name - Using Deployment Diagrams UML 1.4 signal [ ( in arguments ) ] [: return-value] | Chapter 17 Representing an Architecture in UML 2.0 '*'
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action arguments ::= Semantics argument [ , arguments]
Part VII - Automating the UML Modeling Process

Chapter 20 - Using Modeling Tool argument ::= a [parameter-name=] argument-value |

attribute= out-parameter-name Chapter 21 - Customizing UML Using Profiles[:argument-value] |


Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

Note the difference between message syntax and the attribute and operation parameter syntax used in Class diagrams. Messages specify values, and attribute and operation parameter declarations specify data Appendix C - Standard Elements types. The class is a specification of a type of information. A message specifies a unique set of values sent Glossary as the content of a unit of communication in a test case or example. So a message refers to argument Index values and return values instead of attribute and parameter definitions.
List of Figures List of Tables Both signal and operation messages may add argument values and return values. Arguments are simply

data List of values Listingsthat can be addressed by name by the receiving object's method. Each parameter is either

specified as a name/value pair or as a dash (-). The dash represents an empty parameter value. < Day Day Up > Any number of parameters may be used in a message. Multiple parameters are separated by commas. Arguments of a message are restricted to UML Bible
by Tom Pender Attributes of the sending object (lifeline)
ISBN:0764526049

John Wiley & Sons 2003 (940 pages)

Constants

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, shows how to use UML to improve Symbolic values (wildcard and values representing any legal value) timeliness, quality, and efficiency in development.

Explicit parameters of the enclosing interaction (described later in the "Arguments and gates" section) Companion Web Site Attributes of the class owning the interaction
<?xml version="1.0" encoding="ISO-8859-1"?> Figure 9-16 redrafts the example in Figure 9-11 to add parameters to the cancel messages on the event Table of Contents UML Bible

and performance objects (messages 1 and 3). The two new parameters define the date on which the cancellation is to take affect, and the person who authorized the cancellation. A void return value is used Preface to indicate that the operation will likely throw exceptions rather than return any explicit values.
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 9 - 9-16: Modeling Interactions in UML 2.0 parameters. Figure Declaring messages with Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

For examples' sake, an message 3 Lifecycle uses a dash (-) 2.0 for the auth parameter value to illustrate the use of an Chapter 11 - Modeling Object's in UML unknown value for one of the parameters. Part IV - Modeling Object Behavior
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

Note All the examples in this chapter use a sequence number in front of each message. This is not a notation defined by the UML 2.0 standard, but it is a practical aid that is implemented in many Part V - Modeling the Application Architecture modeling tools. The sequence numbers significantly aid discussions of the diagram during Chapter 14 - Modeling the Application Architecture modeling and review sessions.
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - and Using Deployment Diagrams in UML 1.4 Execution event occurrences Chapter 17 - Representing an Architecture in UML 2.0

A message defines a unit of communication Part VI - Bringing Rigor to the Model


Chapter 19 - Action Semantics

between two objects. Each unit of communication implies a

behavior manages that communication and performs the work invoked by the operation call or the Chapter 18that - Applying Constraints to the UML Diagrams

response to the receipt of a signal. Earlier in this chapter, the period of time on an object lifeline when it was busy doing this work was designated as the focus of control. This terminology is a carryover from UML Part VII - Automating the UML Modeling Process 1.4.
Chapter 20 - Using a Modeling Tool Chapter 21expands - Customizing Using Profiles UML 2.0 on theUML description of this behavior. Each behavior is normally associated with two Chapter XML Metadata Interchange events,22 as -shown in Figure 9-17. An event is formally defined as an EventOccurrence. The sendEvent is Appendix A - UML 1.4 Notation Guide an EventOccurrence at the base of the message arrow where the message departs from the lifeline of the Appendix - UML The 2.0 Notation Guideis an EventOccurrence at the point of the message arrow where the sending B object. receiveEvent Appendix CStandard arrow hits the lifeline Elements of the receiving object. Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve quality, and efficiency in development. Figure 9-17:timeliness, A message with sending and receiving EventOccurrences.

The previous description of activation defined start and end points. Using this new event vocabulary, the start of a behavior is defined by what UML 2.0 now calls receiveEvent. The end of a focus of control is <?xml version="1.0" encoding="ISO-8859-1"?> defined by a sendEvent. An ExecutionOccurrence defines the behavior performed (executed) between the Table of Contents moment when the object experiences the receiveEvent and the moment when the object experiences the UML Bible sendEvent. Figure 9-18 adds the new definitions to the example from Figure 9-11.
Preface
Part I - An Introduction to UML

Companion Web Site

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

- Modeling Interactions in UML 1.4 Figure 9-18: Modeling an ExecutionOccurrence (activation) and the bounding receiveEvent and Chapter 9 - Modeling Interactions in UML 2.0 sendEvent (EventOccurrences). Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Message sorts Object Behavior Part IV - Modeling


Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

UML 2.0 defines different varieties of messages. Actually, there are two forms of two basic varieties. The two forms are operation calls, and signals. The two varieties, or sorts as UML 2.0 calls them, are Part V - Modeling the Application Architecture synchronous and asynchronous. Operation calls express the invocation of an operation on the receiving Chapter - Modeling the Application Architecture object. 14 A signal represents a message object sent out by one object and handled by other objects that are Chapter 15 Modeling Software Using the Component Diagram equipped to respond to it. But a signal does not refer to any operation defined on an object. In contrast, a Chapter 16 Using Deployment Diagrams in UML 1.4 call must match the signature of an operation on an object.
Chapter 17 - Representing an Architecture in UML 2.0

The sorts of messages supported Part VI - Bringing Rigor to the Modelby


Chapter 19 - Action Semantics

the notation are defined in an enumeration called MessageSort.

Chapter 18 - Applying Constraints to the UML Diagrams


Part VII - Automating the UML Modeling Process

Synchcall: A synchcall invokes an operation on an object and waits for a response. The parameters of the call must match the parameters of the invoked operation signature.

Chapter 20 - Using a Modeling Tool Asynchcall: An asynchcall invokes an operation on an object but does not wait for a response. The Chapter 21 - Customizing UML Using Profiles parameters of the call must match the parameters of the invoked operation signature. Chapter 22 - XML Metadata Interchange

SynchSignal: A Notation synchsignal is issued without any reference to a specific operation on any object, but it Appendix A - UML 1.4 Guide requires the 2.0 issuing object to wait for a response before continuing with the behavior that issued the Appendix B - UML Notation Guide
Appendix C - Standard Elements

signal. The parameters of the signal match attributes of the signal object.

Glossary AsynchSignal: An asynchsignal is issued without any reference to a specific operation on any object. It Index does not require the issuing object to wait for a response before continuing with the behavior that List ofissued Figures the signal. The parameters of the signal match attributes of the signal object. List of Tables

A synchronous message is represented by a solid arrowhead. The reply message from an operation uses List of Listings

a dashed line and a solid arrowhead, as Figure 9-19 shows. < Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows how to use UML to improve Figure 9-19:specifications, A synchronous message and return. timeliness, quality, and efficiency in development.

Caution Note that the diagram summary in the spec conflicts with the message notation in the body of Companion Web Site the spec. I used the notation from the body of the spec.
<?xml version="1.0" message encoding="ISO-8859-1"?> An asynchronous is represented by an open arrow head, as shown in Figure 9-20. Table of Contents UML Bible Preface
Part I - An Introduction to UML

Figure An asynchronous message. Chapter 1 - 9-20: What Is UML?


Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6

A message that creates an object, often called a constructor, is represented by a dashed line with an open - UML Diagrams and Extension Mechanisms arrowhead, as Figure 9-21 shows.
- Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

- UML Architecture

Part II - Modeling Object Structure

Chapter 7 - 9-21: Testing Objects Figure A with message that creates an object.
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

Message kinds

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10also - Modeling an Object's Lifecycle in UML 1.4for messages to help discriminate between the many UML 2.0 adds some new descriptive qualities Chapter 11 - ModelingAt anthe Object's Lifecycle in UML 2.0 kinds of messages. most basic level, a message may be either "complete" or "unknown".
Part IV - Modeling Object Behavior

Complete: Both the and receiveEvent are present. Chapter 12 - Modeling the sendEvent Use of a System with the Use Case DiagramA complete message is fully defined with a -signature, a sender, and an a receiver. It is modeled using the arrow types described in the Chapter 13 Modeling Behavior Using Activity Diagram previous section "Message Architecture sorts." Part V - Modeling the Application
Chapter 14 - Modeling the Application Architecture

Unknown: Both the sendEvent and receiveEvent are absent. An unknown message refers to a message that can be described in terms of a signature but no decision has been made about who Chapter 16 - Using Deployment Diagrams in UML 1.4 should send or receive it. This can happen during the modeling process. For example, when Chapter 17 - Representing an from Architecture in UML 2.0 to a Sequence diagram, a given activity describes a translating information an Activity diagram Part VI - Bringing Rigor to the Model behavior. The modeler knows what the behavior is supposed to do, but has not yet determined which Chapter 18 - Applying Constraints to the UML Diagrams objects should be responsible for initiating the behavior or for executing the behavior.
Chapter 15 - Modeling Software Using the Component Diagram Chapter 19 - Action Semantics

Note The concept of unknown messages Part VII - Automating the UML Modeling Process poses toadocument an unknown message. Chapter 20 place - Using Modeling Tool
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

a problem in a modeling tool because there is no

UML 2.0 makes an attempt to provide a means to deal with messages in test cases that address a problem with message delivery. Some messages may be sent but never received. Other messages, likely Appendix A - UML 1.4 Notation Guide signals, may be picked up without knowing exactly what object generated the messages. The term lost is Appendix B - UML 2.0 Notation Guide used for messages that never reach their destination. The term found is used for messages that are Appendix CStandard Elements picked up without knowing their source.
Glossary Index In lost messages, the sendEvent is present and the receiveEvent is absent, visually suggesting that the List ofmessage Figures was sent but not received. It implies that the Sequence diagram modeling this situation will List ofaddress Tables what the system should do when a message does not arrive as expected. For example, the List ofSequence Listings diagram might address what happens if you submit an order to purchase tickets at the

theater (from the user interface application) but the order processing system never receives your < Day Day Up > request. A lost message is modeled as a small black circle at the arrow end of the message, as shown in Figure 9-22.
UML Bible
ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) Figure 9-22: A lost message. For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows to use UML to improve is present. A found message is used In a found message, the sendEvent ishow absent and receiveEvent timeliness, and in development. when the source of the quality, message is efficiency outside the scope of the current model, so how and by what object

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface Chapter 1 Chapter 3 Chapter 4
Part I - An Introduction to UML

the message is generated simply don't matter to the model. The only relevant information is that the Companion Web Site message needs to be received and handled by the modeled application or system. A found message is modeled as a small black circle at the starting end of the message, as shown in Figure 9-23.

Figure 9-23: A found message.


- What Is UML? - UML Diagrams and Extension Mechanisms

Chapter 2 UML Architecture Modeling duration and timing

Earlier the-statement was made that interactions are considered to be instantaneous, that time is Object-Oriented Concepts irrelevant. While that is true, the Sequence diagram does support the ability to specify constraints on the Part II - Modeling Object Structure allowed time between events. This is needed in order to identify interactions that cope with system Chapter 5 - Capturing Rules about Objects in a Class Diagram performance level failures. For example, when a customer submits an order for theater tickets, we need to Chapter 6 - How to Capture Rules about Object Relationships know that the transaction will not take more than 2 seconds. If it does, we might need to reset the system, Chapter 7 - Testing with Objects recycle the transaction, and/or notify the customer to retry his transaction. The point is that by specifying Part III - Modeling Object Interactions the constraint on the performance of the interaction, the model identifies the opportunity to proactively Chapter 8 - Modeling Interactions in UML 1.4 address problems related to performance.
Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10provides - Modeling an Object's Lifecycle inon UML 1.4 UML 2.0 two types of constraints the performance characteristics of interactions: duration and

time. Duration refers an to the amount of time takes Chapter 11 - Modeling Object's Lifecycle in it UML 2.0for something to happen. A duration constraint is a restriction on the Object length Behavior of time it Part IV - Modeling takes to complete a task. Time refers to a point or period in time when something happen. A time defines a specific time when a task must be completed. For Chapter 12 -must Modeling the Use of a constraint System with the Use Case Diagram example, duration of the task of an writing thisDiagram page can be specified as between 1 and 2 hours. The time Chapter 13 the - Modeling Behavior Using Activity constraint for writing this page may be specified Part V - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture

as between Friday at 9:00 AM and Friday at 11:00 AM.

Figure 9-24 models three examples of duration constraints. The first, at the top, shows a duration constraint that restricts the amount of time between a sendEvent and a subsequent receiveEvent on the Chapter 16 - Using Deployment Diagrams in UML 1.4 same lifeline. Specifically, the constraint defines a requirement that the application must take between 0 Chapter 17 - Representing an Architecture inof UML and 3 seconds to go from the sendEvent the2.0 placeOrder() message to the receiveEvent of the return Part VI - Bringing Rigor to the Model message.
Chapter 15 - Modeling Software Using the Component Diagram Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms

Figure 9-24: Defining duration constraints between EventOccurrences.

Chapter 4 - Object-Oriented Concepts In the second example, at the bottom of Figure 9-24, the duration constraint states that the return from the
Part II - Modeling Object Structure placeOrder message must be received

no more than 3 seconds after the sendEvent of the return. The

Chapter 5 constraint - Capturing Rules about Objects in amargin Class Diagram duration may be placed along the of the diagram (as shown on the left side of the Chapter - How to Rules about Object Relationships bottom6 diagram) orCapture as a constraint on the message, in this case message #2 the return. Chapter 7

A time constraint expressed in terms Part III Modeling is Object Interactions

of specific moments in time, such as 3:00 PM. Figure 9-25 shows two examples of time constraints. The top example uses a TimeObservationAction (time=now) when Chapter 8 - Modeling Interactions in UML 1.4 Customer sends message #1. The time constraint {time..time+3 seconds} requires that message #2 be Chapter 9 - Modeling Interactions in UML 2.0 received no more than 3 seconds after the time established by the TimeObservationAction. This use of a Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 time constraint is essentially the same as a duration constraint.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

- Testing with Objects

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

Figure 9-25: Defining time constraints. Glossary


Index

The example in the bottom half of Figure 9-25 establishes the time using some event within the system outside the interaction illustrated in this Sequence diagram. The time constraint requires message #2 to be List of Tables received no more than 3 seconds after this event. The time event could be a signal, a system event, or a
List of Figures List of Listings

selected point in time such as 3:00 PM.

< Day Day Up >

Use duration constraints when the timing of the constrained interactions is relative. Use time constraints when the timing of the constrained interactions is imposed by external events or requirements.
UML Bible
ISBN:0764526049 by Tom Pender as interaction occurrences Reusing interactions

John Wiley & Sons 2003 (940 pages)

One of the substantial enhancements to the Sequence diagram in UML 2.0 is the capability to reuse For beginning to advanced users, this book provides comprehensive coverage the versatility 1.4 and 2.0aUML interactions. An interaction defined in oneof context may beof isolated into reusable unit called an specifications, and shows how to use UML to improve InteractionOccurrence. Put simply, an interaction occurrence is a symbol that refers to an interaction that is timeliness, quality, and efficiency in development. used within another interaction. An interaction occurrence may be used in any number of other contexts. Companion Web was Site reused by specifying a reference in the object lifeline. The (Earlier in this chapter, an interaction reference pointed to an interaction between an aggregate and its parts, which had been defined in another Sequence diagram.) <?xml version="1.0" encoding="ISO-8859-1"?>
Table of Contents UML Bible

In modeling, problems can be represented at many different levels of abstraction. One model may define one atomic level interaction. Another model may combine two or more interactions to perform a more Preface complex task. For example, the theater system has to provide the means to schedule a performance and Part I - An Introduction to UML to cancel a performance. Each task may be performed independently in a meaningful way. But to Chapter 1 - performances, What Is UML? one possible implementation would be to cancel the original performance and reschedule Chapter 2 a - new UML one. Architecture schedule Regardless of whether this makes good business sense, it provides a good example Chapter - UML Diagramsoccurrences and Extension of how 3 to use interaction to Mechanisms construct new system behavior.
Chapter 4 - Object-Oriented Concepts

To model the use of interaction occurrences Part II - Modeling Object Structure


Chapter 6

we need to use the frame concept. Each interaction

occurrence is represented a frame with name of the interaction. In fact, for the example shown in Chapter 5 - Capturing Rules by about Objects inthe a Class Diagram

Figure 9-26, I enclose the entire Sequence diagram sd Reschedule Performance, which consists of - How to Capture Rules about Object Relationships two consecutive interaction occurrences, in a frame. That is, in order to reschedule a performance, the Chapter 7 - Testing with Objects system first cancels the performance, and then schedules a new performance. Part III - Modeling Object Interactions
Chapter 8 Chapter 9 - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Figure 9-26: Using two interaction occurrences to construct a larger interaction/Sequence diagram.

Appendix B UML 2.0 Notation Guidecould build a number of scenarios very quickly by reusing common Using this technique, the modeler Appendix Standard Elements portions C of- scenarios to build other scenarios. For example, in many use cases, the exception or

alternative paths/scenarios are merely offshoots from the main flow of events. One or more interaction Glossary occurrences may be defined for those portions of the use case logic that remain the same throughout Index some or all of the exception scenarios, so the Sequence diagrams that model the exception processing List of Figures can entirely on the interactions that are unique to the exception processing instead of redrafting the List offocus Tables same interactions or using comments that cannot be checked without interpreting the text. List of Listings

Day Day Up > Note The referencing Sequence diagram< must include all the object lifelines that are used by any of the referenced interaction occurrences.

Reference (Ref) UMLoperator Bible


In Figure 9-26, the keyword ref is placed in the top left name area of the frame. This alerts the reader John Wiley & Sons 2003 (940 pages) that the content of the frame is defined elsewhere, that is, in the diagram named in the content area. The For beginning to advanced users, this book provides keyword ref is one of many InteractionOperators. The complete list of interaction operators is covered comprehensive coverage of the versatility of 1.4 and 2.0 UML later in the "Modeling behavior and structures combined fragments" specifications, shows using how to use UML to improve section.
timeliness, quality, and efficiency in development. by Tom Pender
ISBN:0764526049

Arguments and gates Companion Web Site


In the example modeled in Figure 9-26, rescheduling a performance requires the venue manager to specify the performance and the new date and time for the performance. To do so, the interaction has to <?xml version="1.0" encoding="ISO-8859-1"?> provide the means to pass these values, these arguments , into the interaction. Table of Contents
UML Bible Preface

The complete description for an interaction uses the syntax

Part I - An Introduction to UML

interactionname [ ' ( 'arguments' ) ' ] [ ' : 'returnvalue] Chapter 1 - What Is UML? arguments : Architecture := argument [ , arguments] Chapter 2 - UML
Chapter 3 Chapter 4 Chapter 5 - UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

argument : := [parameter-name= ] argument - value | - Object-Oriented Concepts attribute= out-parameter-name [ :argument - value] |
- Capturing Rules about Objects in a Class Diagram

Chapter 6 - How are to Capture Rules about Objectpairs Relationships The arguments declared as name/value using the same syntax used in messages. For the Chapter 7 Testing with Objects reschedule example, the interaction name might read:
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 reschedulePerformance(performance=12345, newDate = 12/12/04, newTime=7:00 PM) - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 Modeling an Object's Lifecycle in UML 2.0 that originated from a source outside the interaction, When the arguments are received from a message
Part - Modeling Object Behavior the IV arguments are received through

a gate. On an interaction, the gate is called a formal gate. On an

interaction gate calledwith an actual gate. (Try not to waste too much time wondering why Chapter 12 -occurrence, Modeling thethe Use of a is System the Use Case Diagram these names were chosen.) In the reschedule performance example, a venue manager initiates the Chapter 13 - Modeling Behavior Using an Activity Diagram interaction by sending the message reschedulePerformance Part V - Modeling the Application Architecture (performance:12345, newDate: 12/12/04, newTime: 7:00 PM) . The message is modeled in Figure 9-27 as coming from the edge Chapter 14 - Modeling the Application Architecture of the Reschedule Performance frame to the Event object lifeline. A gate corresponds to an input pin on Chapter 15 - Modeling Software Using the Component Diagram the edge of the frame, so in this example there are technically three formal gates on the interaction, one Chapter 16 - Using Deployment Diagrams in UML 1.4 for each parameter value. Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary IndexFigure 9-27: An interaction with three formal gates to receive and pass on three parameters from a List ofmessage Figures from an external source. List of Tables List of Listings

Note that the expressions in the content area of each interaction occurrence are not an operation

signature-they are interaction occurrence names with parameters. The actual gate of each interaction < Day Day Up > occurrence is the mechanism that passes these parameters from the frame of the interaction occurrence, to the referenced interaction. The Cancel Performance interaction occurrence would pass on the performance, newDate, and newTime values to the formal gate of the Cancel Performance interaction. UML Bible interaction occurrence would pass on the newDate and newTime values to The Schedule Performance ISBN:0764526049 by Tom Pender Performance interaction. the formal gate of the Schedule
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides Modeling behavior structures using combined fragments comprehensive coverage of the versatility of 1.4 and 2.0 UML

AnInteractionFragment is a generalized reference nearly all the elements that make up a Sequence timeliness, quality, and efficiency into development. diagram. The word "fragment" refers to elements that describe some aspect of the communication Companion Web Site between objects, including interactions, interaction occurrences, interaction operands and combined fragments. An InteractionOperand describes a grouping mechanism for interaction fragments. A CombinedFragment is a reference to a set of one or more interaction operands. Each combined fragment <?xml version="1.0" encoding="ISO-8859-1"?> is governed by rules that define how to execute its contained set of interaction operands. Combined Table of Contents fragments and interaction operands support nesting of interactions. Together they provide a compact and UML Bible concise means for defining complex interactions. Preface
Part I - An Introduction to UML

specifications, and shows how to use UML to improve

Chapter 1

A CombinedFragment consists of one or more InteractionOperands.


- What Is UML?

Chapter 2 CombinedFragment - UML Architecture Each possesses an InteractionOperator that defines how to use the interaction Chapter 3 - UML Diagrams and Extension Mechanisms operands within the context of the combined fragment. Chapter 4 - Object-Oriented Concepts

Figures 9-26 andObject 9-27 showed the Part II - Modeling Structure

use of combined fragments and the ref (reference) operator to point to interactions defined elsewhere in the model. Cancel Performance and Schedule Performance are both Chapter 5 - Capturing Rules about Objects in a Class Diagram combined fragments with the interaction operator ref . In both cases the combined fragments each Chapter 6 - How to Capture Rules about Object Relationships contain only one interaction operand. Chapter 7 - Testing with Objects
Part III - Modeling Object Interactions

Chapter 8alt-is Modeling Interactions in UML labeled a combined fragment. The1.4 combined fragment contains two interaction operands, one above Chapter 9 below - Modeling Interactions in UML 2.0 and one the dashed line. Each interaction operand contains an interaction occurrence, a series of Chapter 10 -passed Modeling an Object's Lifecycle UML 1.4 messages between objects. The in alt operator in the top left corner of the combined fragment Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 explains how the combined fragment should manage the execution of the interaction operands.
Part IV - Modeling Object Behavior

Figure 9-28 shows a frame for the Sequence diagram (sd) called example. The rectangle inside the frame

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index Using

Figure 9-28: Modeling a combined fragment within a Sequence diagram frame.

interaction operands within a combined fragment

List of Figures

Anof interaction operand represents an interaction with an optional guard expression. The interaction List Tables operand is executed only if the guard expression tests true at runtime. The guard is placed at the very start List of Listings

of the interaction. The values tested in the guard condition may refer only to values owned by the lifeline at < Day Day Up > which the first event occurrence of the interaction is located. In other words, the object that starts the interaction requires all the information necessary to make the decision about whether to proceed. The absence of any guard condition means that the interaction is always executed.
UML Bible

A combined fragment separates with a dashed horizontal line between ISBN:0764526049 by Tom Pender the contained interaction operands each operand within the frame of the combined fragment. When the combined fragment contains only one John Wiley & Sons 2003 (940 pages) operand the dashed line is unnecessary. Examples of combined fragments are provided in the next For beginning to advanced users, this book provides section, "Interaction operators." comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Interaction operators Companion Web Site

The InteractionOperator is modeled as text in a small compartment in the upper left corner of the CombinedFragment frame. The set of valid interaction operators is defined in an enumeration called <?xml version="1.0" encoding="ISO-8859-1"?> (oddly enough) InteractionOperator. The following section provides descriptions for the set of valid Table of Contents interaction operators, and brief explanations of their use.
UML Bible

Alternatives Preface
Part I - An Introduction to UML

Thealt (alternatives) interaction operator identifies a set of behaviors from which the interaction can - What Is UML? choose based on specified criteria. Only one of the offered alternatives will execute on any one pass Chapter 2 - UML Architecture through the interaction. However, as is true of any operand, the selected operand in the alt structure Chapter 3 - UML Diagrams and Extension Mechanisms executes only if the guard condition tests true. If there is no guard, the operand always executes when Chapter 4 The - Object-Oriented selected. else clause Concepts of the alt combined fragment executes whenever none of the other options is Part II - Modeling Object Structure selected.
Chapter 1 Chapter 5 - Capturing Rules about Objects in a Class Diagram Figure 6 9-28, shown earlier, Rules provides anObject example in which a combined fragment resides within the Chapter - How to Capture about Relationships

example interaction. The alt combined fragment offers one option, and an else clause. If the guard Chapter 7 Testing with Objects [x>0] tests true, the first fragment will Part III - Modeling Object Interactions
Chapter 9

execute. If it tests false, the interaction specified by the else

fragment execute. Chapter 8 will - Modeling Interactions in UML 1.4


Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter Option11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Analt combined fragment may offer any number of alternatives.

- Modeling Interactions in UML 2.0

Theopt (option) interaction represents behavior that may or may not be used as part of the Chapter 12 - Modeling the Useoperator of a System with the a Use Case Diagram interaction. be used, the guard condition must be satisfied. If the guard condition fails, the behavior is Chapter 13 - To Modeling Behavior Using an Activity Diagram simply skipped. The model for an opt combined Part V - Modeling the Application Architecture interaction. Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

fragment looks like an alt that offers only one

Break

Thebreak operator providesin a UML mechanism similar to the break syntax in many programming Chapter 17 - interaction Representing an Architecture 2.0
Part VI - Bringing Rigor to the Model languages. In the course of executing

an interaction, if the guard of the break is satisfied, then the

containing abandons to itsthe normal execution and instead performs the clause specified by the Chapter 18 -interaction Applying Constraints UML Diagrams break19 fragment. Chapter - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Thepar (parallel) interaction operator supports parallel execution of a set of interaction fragments. The Chapter 22 XML Metadata Interchange integrity of-each interaction fragment is preserved while allowing the exact execution of the events within Appendix A - UML 1.4 Notation Guide each interaction fragment to be interwoven in any way supported by the processing environment. Figure 9Appendix - UML 2.0 Guide 29 is an B example of Notation a combined fragment with three parallel interactions. All three may execute at the Appendix C - and Standard Elements events within each interaction fragment may execute in any order within the same time, the individual

Parallel

constraints of the individual interaction fragments without regard for other events on the same lifelines. Glossary
Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> 9-29: Parallel combined fragments. Table Figure of Contents UML Bible Preface
Part I - An Introduction to UML

Weak Sequence

Chapter 1 (weak - What Is UML? interaction operator forces the interactions to follow a certain order. The order Theseq sequence) Chapter 2 on - UML Architecture is based the placement of the interaction fragments within the combined fragment in the same way that

events 3 messages are ordered by their placement on the vertical lifeline. If two events occur on the same Chapter - UML Diagrams and Extension Mechanisms lifeline,4 the on the uppermost Chapter - event Object-Oriented Conceptsinteraction executes first. The complete rules for maintaining the order of execution are as follows (UML Part II - Modeling Object Structure 2.0):
Chapter 5 - ordering Capturing Rules about Objects in a Class Diagram 1. The of event occurrences within each of the operands is maintained in the result. Chapter 6 - How to Capture Rules about Object Relationships

2. Event occurrences on different lifelines from different operands may come in any order. Chapter 7 - Testing with Objects
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

3. Event occurrences on the same lifeline from different operands are ordered such that an event - Modeling Interactions in UML 1.4 occurrence of the first operand comes before that of the second operand.
- Modeling Interactions in UML 2.0

Chapter 10this - Modeling an Object's Lifecycleinteraction in UML 1.4operator described next. Contrast description to the strict Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Strict Sequence Part IV Modeling Object Behavior


Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

Thestrict (strict sequence) interaction operator explicitly defines the order of execution for a set of interaction fragments. The ordering is limited to the interactions on the first level of a nested interaction Part V - Modeling the Application Architecture fragment, so no evaluation is made of events within any nested interaction fragments. The effect of Chapter 14is-to Modeling the Applicationof Architecture strict force the completion one interaction before proceeding to the next interaction. Contrast Chapter 15 Modeling Software Using the Component Diagram this with seq, which allows partial parallel execution, but forces sequencing of the execution of events on Chapter 16 Using Deployment Diagrams in UML 1.4 the same lifeline from different interactions.
Chapter 17 - Representing an Architecture in UML 2.0

Negative Part VI - Bringing Rigor to the Model


Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Theneg (negative) interaction operator is used to identify interactions that should not be allowed to happen. That is, these interactions are explicitly described as invalid. The neg operator can provide a Part VII - Automating the UML Modeling Process convenient shorthand when any number of options is valid but only one or a small number of options are Chapter 20 - Using a Modeling Tool not allowed-it might be easier and less time consuming to identify the exceptions.
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Critical Region Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

Theregion (critical region) interaction operator identifies an interaction that takes precedence over all other interaction fragments within the context of the combined fragment. In Figure 9-30, all the interaction Appendix C - Standard Elements fragments may execute in any order, unless the critical region is invoked, and then it must execute before Glossary any of the other fragments may execute. So if the operation c() is invoked, it will run to completion before Index any new calls to a() or b() are allowed to execute.
List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

Figure 9-30: Modeling a critical region.

Ignore/consider Part I - An Introduction to UML


Chapter 1 Chapter 2

Theignore interaction operator explicitly identifies messages to which the interaction fragment should - UML Architecture not respond. The consider interaction operator explicitly identifies messages that should be handled, Chapter 3 - UML Diagrams and Extension Mechanisms and is the equivalent to labeling every other message to be ignored. The two operators enhance ease of Chapter 4 in - Object-Oriented Concepts modeling that they enable the modeler to focus on the most relevant behavior without specifying every Part II - Modeling Object Structure exception. The syntax for the ignore/consider operator is as follows:
Chapter 5 Chapter 6 Chapter 7 - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

- What Is UML?

(ignore | consider ) { <message name> [ ,<message name>]* }

Part III - Modeling Object Interactions

Chapter 8 - Modeling in UML 1.4 Both operators use aInteractions comma-separated list of messages. For example: Chapter 9 - Modeling Interactions in UML 2.0

ignore b}: Although messages b1.4 might be directed at the objects in this interaction, they Chapter 10 {a, - Modeling an Object's Lifecycle a inand UML are considered insignificant and Lifecycle so do not in the body of the interaction fragment. Chapter 11 - Modeling an Object's inappear UML 2.0
Part IV - Modeling Object Behavior

consider {c, d}: Only the messages c and d are considered significant. No other messages are addressed by the interaction fragment, even if those messages are directed at objects within the Chapter 13 -fragment. Modeling Behavior Using an Activity Diagram interaction
Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application Architecture

Theignore and consider operations are usually combined with other operations, as shown in Figure 9Chapter 14 - Modeling the Application Architecture 31. Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure 9-31: Modeling the interaction operators ignore, consider, and assert. < Day Day Up > Assertion
UML Bible Theassert (assertion) interaction operator identifies an operand as the only valid continuation of events ISBN:0764526049 by Tom Pender in an interaction fragment. Alternative scenarios often are modeled using other Sequence diagrams. Using John Wiley & Sons 2003 (940 pages) an assertion tells those reading the model that what they see is the only valid sequence of events. There is beginning to advanced users, this book provides no other place toFor look.

Loop

comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

Theloop interaction operator indicates that the interaction fragment will be executed repeatedly. The Companion Web Site number of times it is executed is determined by the minint and maxint parameters of the operator. The syntax of the loop operator is:

loop(minint, maxint) UML Bible


Preface
Part I - An Introduction to UML

Chapter 1

where maxint may also be infinity (*).


- What Is UML?

Chapter 2 minimum - UML Architecture Once the number of iterations has been satisfied, a Boolean expression is tested on each pass. Chapter 3 UML Diagrams and Extension Mechanisms When the Boolean expression tests false, the loop ends. Chapter 4

Using the syntax loop (integer) is a convention used for multiplicity throughout the UML to mean that the minimum and maximum values are the same. Chapter 5 - Capturing Rules about Objects in a Class Diagram
Part II - Modeling Object Structure

- Object-Oriented Concepts

Chapter 6 syntax - How to Capture Rules about Relationships Using the loop means the loop Object has no upper bound, or the same as zero to infinity. The only way Chapter 7 Testing with Objects out of the loop is for the Boolean expression to test false.
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4

- Modeling Interactions in UML 2.0 < Day Day Up > Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling collaborations by Tom Pender


ISBN:0764526049

Collaborations provide a means to define common John Wiley & Sons 2003 (940 pages) interactions between objects (and other classifiers). A collaboration is specified as a set of messages passed between a set of objects playing predefined roles in For beginning to advanced users, this book provides the interaction. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, andto efficiency development. Tip A collaboration does not refer the UMLin 1.4 Collaboration diagram. They are two distinct concepts. To Companion help resolve the confusion over these two names, UML 2.0 has renamed the Web Site Collaboration diagram from UML 1.4 to the Communication diagram (explained in the next section of this chapter). <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Consequently, a collaboration can be defined as a class with attributes (objects playing roles) and

behavior UML Bible (the set of interactions). User-defined compartments on the collaboration class may be used for interactions (Sequence diagrams) and the structural elements (Composite Structure diagram). For Preface example, 9-32 models Part I - An Figure Introduction to UML the
Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Observer design pattern as a collaboration between an object in the role of an observable item and any number of objects as the observers. Chapter 1 - What Is UML?

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - 9-32: Modeling the Application Architecture Figure Modeling a collaboration that utilizes a composite structure and an interaction Chapter 15 Modeling Software Using the Component Diagram occurrence (sd Observe). Chapter 16 - Using Deployment Diagrams in UML 1.4

Figure 17 9-33 is the Sequence diagram (sd Chapter - Representing an Architecture inObserve) UML 2.0 that explains the interaction between an observable object and observers. observer Part VI Bringing Rigor The to the Model asks the observable object to add it to the list of observers. When an event impacts that observable object, its response is to notify all of the observers currently on the Chapter 18 - Applying Constraints to the part UML of Diagrams list. The observer queries the observable item to find out what happened (or to respond in whatever Chapter 19 - Action then Semantics other manner is defined for the observer). Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

9-33: The model for the interaction referenced by the interaction occurrence called sd <?xml Figure version="1.0" encoding="ISO-8859-1"?> Table Observe. of Contents
UML Bible

The next step is to map the collaboration/pattern to a set of objects that will implement the pattern. Figure Preface
Part I - An Introduction to UML

9-34 shows how the collaboration is mapped to the implementation elements : ShowSeat and : Show. A dependency arrow points from the collaboration to each implementation element. The dependency Chapter 1 - What Is UML? arrow is labeled with the role that the element will play in the implementation. An instance of the Chapter 2 - UML Architecture ShowSeat class plays the observable role. An instance of the Show class plays the role of the observer.
Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - 9-34: Applying Constraints to the UML Diagrams Figure Applying the Observer pattern collaboration to a show and its internal structure. Chapter 19 - Action Semantics

Finally, 9-35 models the Sequence diagram Part VII Figure - Automating the UML Modeling Process

sd SelectShowSeat as containing an interaction occurrence called O1.Observe. This illustrates how the interaction SelectShowSeat can be specified as Chapter 20 - Using a Modeling Tool an instance of the observer pattern class ( 01 ) implementing its Sequence diagram ( Observe). Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure 9-35: Modeling the application of an interaction occurrence to implement the observer pattern the SelectShowSeat interaction. <?xml collaboration version="1.0" in encoding="ISO-8859-1"?>
Table of Contents UML Bible Preface
Part I - An Introduction to UML

< Day Day Up >

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Modeling aUML Communication Diagram by Tom Pender


ISBN:0764526049

The Communication is actually slightly Johndiagram Wiley & Sons 2003 a (940 pages) scaled back version of the Collaboration diagram of UML 1.4 and earlier strengthusers, of the this Communication diagram is that it combines messaging For versions. beginning The to advanced book provides with a visual layout of the links between objects, something that is missing in the Sequence diagram. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiencyain development. On a Sequence diagram it is possible (although tool could prevent this with a relatively simple check) to draw a message from one object lifeline to another object lifeline even if those two objects have no link. Companion Web Site The diagram is still valid. (In fact, this might reveal that the model needs to be updated to link the two objects so that the message will work.) The Communication diagram helps prevent the modeler from <?xml version="1.0" encoding="ISO-8859-1"?> making this mistake by using an Object diagram format as the basis for messaging. Figure 9-36 shows an Table of Contents Object diagram with three objects and two links that form the basis for the Communication diagram. Each UML Bible object on a Communication diagram is called an object lifeline. (This is a bit forced to keep it in line with Preface other interaction diagrams. Just think of it as an object.)
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

Figure 9-36: Start a Communication diagram Part V - Modeling the Application Architecture between objects.the Application Architecture Chapter 14 - Modeling

by using an Object diagram format showing links

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

The message types in a Communication diagram are the same as in a Sequence diagram. A Communication diagram may model synchronous, asynchronous, return, lost, found, and object-creation Chapter 17 - Representing an Architecture in UML 2.0 messages.
Chapter 18 - Applying to the UML Diagrams The message syntaxConstraints for the Communication diagram does, however, add a sequence expression in front Chapter 19 - Action to Semantics of each message identify the order of message execution.
Part VII - Automating the UML Modeling Process

The sequence expression is Tool a dot-separated list of sequence-terms followed by a colon (:'). Chapter 20 - Using a Modeling
Chapter 21 - Customizing UML Using Profiles

sequence-term [ ' . ' sequence-term] ... ' : ' messagesignature Chapter 22 - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary

where

sequence-term := integer [ name ] Index


List of Figures List of Tables Each sequence term is an integer with an optional name. For example, 1.1, 3.2.4a, 3.2.4b, and 3 List of Listings

are all valid sequence expressions.

< Day Day Up >

Figure 9-37 models the successful scenario for the Use Case "Select a Performance." Follow the sequence numbers of the messages to determine the order of execution. Each sequence term represents a level of procedural UMLnesting. Bible If message sequence numbers are at the same dot-level-1.1 and 1.2 in Figure 9-37, for example-the messages are considered to be sequential. There is no nesting. If the model ISBN:0764526049 by Tom Pender adds steps 1.1.1 John and 1.1.2, then these new steps are understood to execute after step 1.1 and before step Wiley & Sons 2003 (940 pages) 1.2. In other words, they are nested beneath/within step 1.1. For beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 Modeling an Object's Lifecycle in UML 1.4 of the messages. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV Modeling Object of Behavior Using the name portion the term

- Modeling Interactions in UML 2.0 Figure 9-37: Modeling a Communication diagram with sequence numbers to guide the execute order

supports concurrent threads of control at the same sequence level.

Chapter 12 - Modeling the Use can of a execute System with the Use Case Diagram For example, 1.1a and 1.1b as concurrent threads. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software repeatedly. Using the Component Diagram A message may be executed When repeated execution is required, add the optional Chapter 16 - portion Using Deployment Diagrams in expression UML 1.4 recurrence of the sequence term as follows: Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor the Model [ sequence-term := to integer

Iteration expression

name ] [ recurrence ]

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

where recurrence is an iteration expression Part VII - Automating the UML Modeling Process in
Chapter 20 - Using a Modeling Tool Chapter Customizing UML Using Profiles '*' '21 [ -' iteration-clause ' ] ' Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

the following form:

The asterisk (*) indicates that what follows is an iteration clause (not to be confused with a guard expression, which is described later in this chapter). The iteration clause may be expressed in pseudo Appendix C - Standard Elements code or a programming language. For example, in Figure 9-38, the interaction needs to retrieve all the Glossary performances for each event. The iteration expression reads *[ For each event ].
Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1

- What Is UML?

Chapter 2 - 9-38: UML Architecture Figure Modeling an iteration expression. Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4 Chapter 5 - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram
Part II - Modeling Object Structure

Parallel execution

Chapter 6 - How to Capture Rules about Object Relationships The iteration expression assumes that the messages in the iteration will be executed sequentially. But this

is not always true. To model the fact that the messages may execute concurrently (in parallel), use a pair Chapter 7 - Testing with Objects of vertical lines (| |) after Interactions the iteration indicator Part III - Modeling Object (*). For example, in Figure 9-38, message 3.1.1 retrieves the performances for each event, one a time. Chapter 8 - Modeling Interactions in at UML 1.4 But we could change it to retrieve the performances for all events 9 concurrently adding the notation to the sequence term, as shown in Figure 9-39. Chapter - Modelingby Interactions inconcurrency UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List ofFigure Tables 9-39: Modeling parallel execution with an iteration expression. List of Listings

Guard expression
UML Bible

< Day Day Up >

A guard expression determines whether a message may execute. The guard is expressed as a Boolean constraint on values available to test at the time of the message sendEvent. The guard syntax is
by Tom Pender
ISBN:0764526049

' [ ' guard ' ] Wiley ' John & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Note the absence of the * ', which distinguishes the guard specifications, and shows how to use UML toexpression improve from the iteration expression. timeliness, quality, and efficiency in development.

In Figure 9-40, message 7 will execute only if the condition [return=yes] is satisfied. In most cases, a Companion Web Site Sequence or Communication diagram models a single scenario, one path through a logical sequence. The guard is used to identify the path taken by the scenario illustrated by the diagram.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - 9-40: Modeling Behavior Using an Activity Diagram Figure Modeling a guard expression.
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML< 1.4 Day Day Up > Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling an Interaction Overview Diagram by Tom Pender


ISBN:0764526049

In practical application it is usually to limit a Sequence diagram to a single scenario, a single John Wiley & Sons simplest 2003 (940 pages) logical path through Use Case. By doing users, so, it isthis easy to lose sight of the big picture, the complete For a beginning to advanced book provides process. UML 2.0 offers the Interaction Overview diagram as a combine the flow of control from comprehensive coverage of the versatility of 1.4 means and 2.0to UML specifications, and shows how to use from UML to improve an Activity diagram with the messaging specification the Sequence diagram.
timeliness, quality, and efficiency in development.

Where an Activity diagram uses activities Companion Web Site and object flows to describe a process, the Interaction Overview diagram uses interactions and interaction occurrences. The lifelines and messages found in Sequence diagrams appear only within the interactions or interaction occurrences. However, the lifelines (objects) <?xml encoding="ISO-8859-1"?> that version="1.0" participate in the Interaction Overview diagram may be listed along with the diagram name.
Table of Contents UML Bible Preface

Modeling interactions and interaction occurrences


The notation for interaction and interaction occurrences is the same for an Interaction Overview diagram

Part I - An Introduction to UML

Chapter 1Sequence - What Isdiagram. UML? as for a Figure 9-41 shows the notation for interactions. Chapter 2 - UML Architecture Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - 9-41: Modeling an Object's Lifecycle in UML 1.4 Figure Interaction notation. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Figure models the notation Part IV -9-42 Modeling Object Behaviorfor

interaction occurrences.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Figure 9-42: Interaction occurrence notation.

Chapter 20 - Using a Modeling Tool

Both interactions and interaction occurrences are allowed on the Interaction Overview diagram, but for simplicity's sake, I use only-interaction occurrences in the remaining examples.

Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Modeling the sequencing of interactions


Interactions may be sequenced just like activities. Use the flow of control arrows to model the flow from

Appendix B - UMLto 2.0 Notation Guide one interaction the next. Use the following rules to construct the flow of interactions: Appendix C - Standard Elements

Initial and final nodes begin and end the flow. Glossary
Index List of Figures List of Tables

Decision and merge nodes guide the flow through branching logic and back together for common sequences.

List ofFork Listings and join nodes support concurrent behavior.

Fork and join nodes

< Day Day Up >

The rest of the examples in this section build an Interaction Overview diagram of the process for selecting a performance atUML the theater. Bible At the beginning of the process the user is presented with a list of the currently scheduled events and another list containing the performances that are playing in the next 20 ISBN:0764526049 by Tom Pender days. There is noJohn real Wiley sequential dependency between these two behaviors, so we can use the fork and & Sons 2003 (940 pages) join notation to allow for concurrent execution of the two interaction occurrences. Figure 9-43 shows the For beginning to advanced users, this book provides fork and join notation, and the positioning of the two interaction occurrences. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Figure 9-43: Fork and join notation to allow concurrency in an Interaction Overview diagram.
- What Is UML?

Chapter 1 Chapter 3

Chapter 2 - UML Architecture Decision and merge nodes - UML Diagrams and Extension Mechanisms The next in selecting a Concepts performance is to decide which of the offered options to take. The user may Chapter 4 step - Object-Oriented
Part II - Modeling Object Structure

Chapter 5

Select one of the events and see only the performances for that event.
- Capturing Rules about Objects in a Class Diagram

Chapter 6 Capture about Relationships Enter a How datato range andRules see a list ofObject performances that play during that period. Chapter 7 - Testing with Objects

Select one ofObject the performances Part III - Modeling Interactions already displayed.
Chapter 8 Chapter 9

Cancel out of the transaction.

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling anmust Object's Lifecycle in UML 1.4 The first decision point allow for all of these options. Figure 9-44 adds the decision point and the Chapter 11 - of Modeling an Object's Lifecycle in choice. UML 2.0 sequences interactions that follow each
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

Figure 9-44: The use of a combined decision and merge point.

List of Figures List of Tables Initial and List of Listings

activity final nodes

The starting point is an initial node. The end of the flow is an activity final node shown in completed < Day Day Up > diagram in Figure 9-45.

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - 9-45: Modeling an Object's Lifecycle Overview in UML 2.0diagram. Figure A complete Interaction
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

< Day Day Up > Chapter 14 - Modeling the Application Architecture


Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Diagram Modeling aUML Timing by Tom Pender


ISBN:0764526049

A Timing diagram is a Wiley special-purpose interaction John & Sons 2003 (940 pages) diagram that focuses on the timing of events over the life of an object. It is a blend of to state machine and interaction diagram, with time and duration constraints. For beginning advanced users, this book provides The Timing diagram uses two forms, a state timeline and a general value timeline. comprehensive coverage of the versatility of 1.4 and 2.0 UML

Modeling a lifeline

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

A lifeline in a Timing diagram forms a rectangular space within the content area of a frame. It is typically aligned horizontally to read from left to right. Multiple lifelines may be stacked within the same frame to <?xml version="1.0" encoding="ISO-8859-1"?> model interaction between them. Figure 9-46 shows a single lifeline within a frame on the left, and two Table of the Contents lifelines UML Bible within a frame on the right.
Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure Modeling object in a Timing diagram. Chapter 8 - 9-46: Modeling Interactions inlifelines UML 1.4
Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Modeling a state timeline

A state12 or condition the set of Use valid states and time. The states are stacked on the left Chapter Modelingtimeline the Use represents of a System with the Case Diagram margin of the lifeline from top to bottom. In Figure 9-47, the states are approved, scheduled, over, and cancelled. The lifeline marks time using notches along the bottom of the lifeline region. The time Part V - Modeling the Application Architecture increment is specific to the modeled problem.
Chapter 13 - Modeling Behavior Using an Activity Diagram Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary IndexFigure 9-47: Modeling a state timeline. List of Figures List of Tables

List of Listings

Changes from one state to another are represented by a change in the level of the line. For the period of time when the object is a given state, the timeline runs parallel to that state. A change in state appears as

a vertical change from one level to another. The cause of the change, as is the case in a state machine, is < Day Day Up > the receipt of a message, an event that causes a change, a condition within the system, or even just the passage of time. The name in the message is placed at the point where the timeline changes levels to signify that the message is the reason for the change. Figure 9-48 adds the message names at each UML Bible change vertex from Figure 9-47. (The circles have been added for emphasis only. They are not part of the ISBN:0764526049 UML notation.) by Tom Pender
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2

- What Is UML? - UML Architecture

Chapter 3 - 9-48: UML Diagrams and Extension Figure Adding messages to a Mechanisms state timeline. Chapter 4 - Object-Oriented Concepts

Like the Sequence diagram, the Timing Part II - Modeling Object Structure

diagram can document time and duration constraints. Figure 9-49

adds a 5 time constraintRules on the scheduling the performances for the event. It states that the performances Chapter - Capturing about Objects of in a Class Diagram must be within the timeframe specified in the performance contract, which in this case is Chapter 6 scheduled - How to Capture Rules about Object Relationships
Chapter 7 Chapter 8 Chapter 9

between the event approval date' and the event required scheduled date'. (Again, the time constraint is - Testing with Objects encircled only to highlight the change in the example.) Part III - Modeling Object Interactions
- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - 9-49: ActionAdding Semantics Figure a time constraint to a state timeline.
Part VII - Automating the UML Modeling Process

In like manner, a duration constraint may be added to restrict the length of time between events. In Figure Chapter 20 - Using a Modeling Tool 9-50, the constraint statesProfiles that time between when the event is scheduled and when the event is Chapter 21 duration - Customizing UML Using
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

over equals the time between the event start and end dates.

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml Figure version="1.0" encoding="ISO-8859-1"?> 9-50: Adding a duration constraint to a state timeline. Table of Contents UML Bible Preface
Part I - An Introduction to UML

Modeling multiple lifelines

Chapter 1 -implies What Ismore UML?than one object. To model multiple objects participating in the interaction, simply Interaction Chapter 2 lifelines, - UML Architecture stack the and then show the interaction as arrows passing between the lifelines to the contained Chapter 3 For - UML Diagrams Extension Mechanisms timelines. example, in and Figure 9-51, event e1 causes a change in the state of b:ClassB. The object Chapter 4 responds - Object-Oriented Concepts b:ClassB by sending the message start() to a:ClassA. Later, event e2 causes a change in the
Part II of - Modeling Object state a:ClassA, whichStructure then sends

the message done() to b:ClassB, causing it to change state again.

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - 9-51: Standard Elements Figure Modeling interactions between multiple lifelines. Glossary Index List of Figures List of Tables

Modeling a general value timeline

List of general Listings value timeline offers an alternative presentation. It aligns the states horizontally and shows The

the transition between each state as shown in< Figure 9-52 using the states approved, scheduled, in Day Day Up > progress, and over. The event that causes the change is aligned next to the change point. Duration and time constraints are lined-up alongside the general value timeline, as shown in Figure 9-52.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

Figure 9-52: A general value timeline. UML Bible


Preface

The general value timeline can also model the attribute values that define each state instead of using state names. Using attribute values shows the state changes in terms of the changes in the attribute values that Chapter 1 - What Is UML? define each state.
Part I - An Introduction to UML

Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- UML Architecture

Modeling a stop Concepts - Object-Oriented

- UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

If a timeline is terminated during the interaction, use the stop icon, a large X at the point in the timeline - Capturing Rules about Objects in a Class Diagram when it becomes no longer available.
- How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

< Day Day Up >

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

UML 2.0 offers four interaction diagrams, thepages) Sequence diagram, Communication diagram, Interaction John Wiley & Sons 2003 (940 Overview diagram, and an optional Timing users, diagram. four diagrams utilize the frame notation to enclose For beginning to advanced thisAll book provides an interaction. The use of frames supports the reuse of interactions as interaction occurrences. Each comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML interaction occurrence is a reference to an interaction thatto is improve fully defined in its own diagram.
timeliness, quality, and efficiency in development.

An interaction is a series of messages Companion Web Site passed between objects in order to accomplish a task. A lifeline provides a means to identify the order of events that affect the condition and behavior of an object during the execution of an interaction. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents The end of an object lifeline, the object termination, is signified by a large X on the end of the lifeline. UML Bible
Preface
Part I - An Introduction to UML

Chapter 1

Object activation models the period of time when an object is busy with a task and cannot respond to other requests.
- What Is UML?

Chapter 2 - suspension UML Architecture Object refers to a period of time in which an object has stopped working because it is

waiting for aDiagrams responseand from another Mechanisms object. Chapter 3 - UML Extension
Chapter 4 Chapter 5
Part II - Modeling Object Structure

State invariant is a condition, defined by the values of the attributes of an object, at a point in time during an interaction.
- Capturing Rules about Objects in a Class Diagram

- Object-Oriented Concepts

Chapter 6 - How is to the Capture Object Relationships A message basicRules form about of communication in a Sequence diagram interaction. Chapter 7 - Testing with Objects

ExecutionOccurrence defines the behavior Part III - Modeling Object Interactions


Chapter 9 - Modeling Interactions in UML 2.0

performed (executed) between the moment when the

object the receiveEvent and the moment when the object experiences the sendEvent. Chapter 8 -experiences Modeling Interactions in UML 1.4
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior

Event occurrence defines the point in an interaction when a message or signal is sent or is received.

Chapter 11 - Modeling an Object's 2.0 Message sorts describe the Lifecycle varieties in of UML messages defined by UML:

operation on an object andDiagram waits for a response. Chapter 12 Synchcall-Invokes - Modeling the Use an of a System with the Use Case
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Asynchcall - Invokes an operation on an object but does not wait for a response.

Chapter 14 SynchSignal - Modeling the Application Architecture - Is issued without any reference to a specific operation on any object. Chapter 15 - Modeling Software Using the Component Diagram

- Is issued without any reference to a specific operation on any object. Chapter 16 AsynchSignal - Using Deployment Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Message types describe what we know about the execution of a message as:

Chapter 18 Complete: - Applying Both Constraints to the UML Diagrams the sendEvent and receiveEvent are present. Chapter 19 - Action Semantics

Unknown: Both the Modeling sendEvent and receiveEvent Part VII - Automating the UML Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

are absent.

Lost: The sendEvent is present and the receiveEvent is absent.

Chapter 22 Found: - XML Metadata Interchange The sendEvent is absent and the receiveEvent is present. Appendix A - UML 1.4 Notation Guide

A duration constraint is aGuide restriction on the length of time it takes to complete a task. Appendix B - UML 2.0 Notation
Appendix C - Standard Elements Glossary

A time constraint sets a specific time when a task must be completed.

Index A CombinedFragment consists of one or more InteractionOperands. List of Figures

InteractionOperand contained within a combined fragment possesses an InteractionOperator List ofEach Tables defines how to use the operand within the context of the combined fragment. An interaction List ofthat Listings

operand represents an interaction and an< optional guard expression. Day Day Up > Interaction operators govern the execution of interaction operands within a combined fragment. The UML-defined interaction operators are as follows: ref - Alerts the reader that the content of the frame is defined elsewhere, such as in the ISBN:0764526049 by Tom Pender diagram named in the content area.
John Wiley & Sons 2003 (940 pages) For beginning this book alt - Identifies a set to of advanced behaviorsusers, from which the provides interaction can choose based on specified comprehensive coverage of the versatility of 1.4 and 2.0 UML criteria. UML Bible

opt - Represents a behavior that may or may not be used as part of the interaction.
Companion Web Site

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

break - Provides a mechanism similar to the break syntax in many programming languages.
<?xml version="1.0" encoding="ISO-8859-1"?> par - Supports parallel execution of a set of interaction fragments. Table of Contents UML Bible seq - Forces the interactions to follow a certain order. Preface
Part I - An Introduction to UML

strict - Explicitly defines the order of execution for a set of interaction fragments.

Chapter 1 neg - What Is UML? - Used to identify interactions that should not be allowed to happen. Chapter 2 - UML Architecture

- Identifies interaction that takes precedence over all other interaction fragments Chapter 3 region - UML Diagrams andan Extension Mechanisms the context of the combined fragment. Chapter 4 within - Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5

ignore - Explicitly identifies messages to which the interaction fragment should not respond.
- Capturing Rules about Objects in a Class Diagram

Chapter 6 consider - How to Capture Rules about Object Relationships - Explicitly identifies messages that should be handled. Chapter 7 - Testing with Objects

assertObject - Identifies an operand Part III - Modeling Interactions


Chapter 9

as the only valid continuation of events in an interaction

Chapter 8 fragment. - Modeling Interactions in UML 1.4 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior diagram.

loop - Indicates that the interaction fragment will be repeatedly executed.

- Modeling Interactions in UML 2.0

Chapter 11 - Modelingmay an Object's Lifecycle in UML 2.0 A collaboration be modeled using a combination of a Composite Structure and a Sequence Chapter 12 - Modeling the Use of a System with the Use Case Diagram

The diagram replaced the Collaboration diagram from UML 1.4. Messaging on a Chapter 13Communication - Modeling Behavior Using an Activity Diagram Communication diagram supports iteration, Part V - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture

parallel execution, and guard expressions.

An Interaction Overview Diagram combines the flow of control from an Activity diagram with interactions and interaction occurrences. It supports all the Activity diagram flow-of-control Chapter 16 - Using Deployment Diagrams UML 1.4 mechanisms, such as fork and joinin nodes, decision and merge nodes, and initial and activity final Chapter 17 Representing an Architecture in UML 2.0 nodes.
Chapter 15 - Modeling Software Using the Component Diagram
Part VI - Bringing Rigor to the Model

The diagram models changes state over a timeline for each object in an interaction. It Chapter 18Timing - Applying Constraints to the UML in Diagrams effectively combines a state machine and an interaction diagram. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

Chapter UML 10:Bible Modeling an Object's Lifecycle in UML 1.4 ISBN:0764526049 by Tom Pender
Overview
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows to use UML to improve As objects participate in the behavior of a how system they can be affected by the behavior. For example, when timeliness, quality, and efficiency in development. I use my car to drive to work, the tires wear out and the car accumulates miles. The condition of the car is

constantly changing while it is being used. Companion Web Site Changes in the condition of the car can affect how the car behaves. As the tires wear down the car handles less effectively in turns and while stopping than it did when the tires were new. When the gas tank is empty turning the ignition key fails to get the usual <?xml version="1.0" encoding="ISO-8859-1"?> response. The same use of the object (turning the key) results in a very different result because of a Table of Contents change in the state of the object.
UML Bible Preface The Statechart diagram defines a notation for state machines. State machines capture the changes in an
Part I - An Introduction to UML object throughout its lifecycle

in response to external events. Events place demands on an object. The

demands cause changes in the object that in turn affect how the object behaves. The Statechart Chapter 1 can - What Is UML? diagram the unique conditions of an object at distinct periods in its lifecycle and the events that Chapter 2 models - UML Architecture trigger 3 the-changes. Chapter UML Diagrams and Extension Mechanisms
Chapter 4

Where the interaction UML diagrams focus on discrete behaviors, the Statechart provides a holistic view of everything that could possibly happen to an object throughout its lifetime. This chapter describes how to Chapter 5 - Capturing Rules about Objects in a Class Diagram model a Statechart diagram and how to exploit the relationship between the Sequence and Statechart Chapter 6 - How to Capture Rules about Object Relationships diagrams to facilitate the development of the Statechart diagram.
Part II - Modeling Object Structure

- Object-Oriented Concepts

Chapter 7 Chapter 8 Chapter 9

- Testing with Objects

Part III - Modeling Object Interactions

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

< Day Day Up >

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Modeling aUML Statechart Diagram by Tom Pender


ISBN:0764526049

So far you have seen dynamic represented by the Sequence and Collaboration diagrams. Both of John the Wiley & Sons view 2003 (940 pages) these diagrams model the interactions between objects. The Statechart diagram models the effect that For beginning to advanced users, this book provides these interactions have on the internal makeup of each object. modeled in interaction comprehensive coverage of the versatility of 1.4 The and messages 2.0 UML and shows how to use to improve diagrams are thespecifications, external events place demands on UML objects. The objects' internal responses to these quality, and efficiency in development. events cause thetimeliness, changes to the objects' states. Drawing on the relationship between the messages on the interaction diagram and the events that trigger changes in an object, we can derive a Statechart Companion Web Site diagram from the interactions on a Sequence diagram.
<?xml encoding="ISO-8859-1"?> The version="1.0" relationship between interactions and events that cause state changes can also help us identify the Table of Contents objects that warrant a Statechart. Frankly, very few objects need to be modeled at this level. Many objects UML are Bible simply created, referenced, and later deleted. But in many applications there are a few fundamental Preface objects that are the focus of the application. For example, in theater system a price type is defined, used,
Part - An Introduction to UML andI sometimes deleted. All these

changes are performed by a venue manager and are pretty

Chapter 1 - What Is UML? straightforward. The seats at a show (show seats), however, are created when a performance is schedule, Chapter 2 a - venue UML Architecture priced by manager, selected by customers (or by agents on behalf f customers) interested in

buying 3 them, released when the customer decides not to go through with the transaction, purchased, and Chapter - UML Diagrams and Extension Mechanisms possibly With each change to the seats the rules change regarding what can be done with the Chapter 4 refunded. - Object-Oriented Concepts seat. seat is held byStructure one customer, Part II If -a Modeling Object
Chapter 6 Chapter 7

it cannot be selected by another customer. If a seat is not yet

priced, 5 then it can't even beabout selected. Chapter - Capturing Rules Objects in a Class Diagram The price type does not warrant a Statechart. A seat at a show does warrant a Statechart. I know this - Testing with Objects because I know the problem. But how could you discover this by evaluating my models? When you review Part III - Modeling Object Interactions the Sequence diagrams you would see the show seats in many of the Sequence diagrams. In each Chapter 8 - Modeling Interactions in UML 1.4 Sequence diagram you would see a number of arrows (messages) directed at the show seats. Every Chapter 9 - Modeling Interactions in UML 2.0 arrow places a demand on the show seat object. That demand could trigger a change. The objects that Chapter - Modeling an Object's Lifecycle in the UML 1.4 of many of the interactions are good candidates for a appear10 in many of the interactions and are target Chapter 11 -diagram. Modeling Ian Object's Lifecycle in"most UML 2.0 Statechart call it looking for the wounded objects", that is, looking for the objects with the Part IVincoming - Modeling Object Behavior most arrows.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram - How to Capture Rules about Object Relationships

The Statechart diagram is based onan David Harel's Statecharts and includes much of the notation and Chapter 13 - Modeling Behavior Using Activity Diagram concepts from both Moore and Mealy state machines Part V - Modeling the Application Architecture that have been in use for quite some time. This emphasizes again that UML is not so much a new concept as it is the gathering together of many tried and Chapter 14 - Modeling the Application Architecture true modeling techniques from mature development methods. Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture UML 2.0 and state transition diagram. such as the State diagram, statein machine,

Tip The concepts modeled by a Statechart diagram have been around a long time, in other diagrams

Chapter 18 - Applying Constraints to the UML Each Statechart diagram describes the life Diagrams of one object in terms of the events that trigger changes in the

object's state. TheSemantics Statechart diagram identifies both the external events and internal events that can Chapter 19 - Action change object's state. But what does it mean Part VII - the Automating the UML Modeling Process to change an object's state? The state of an object is simply its current condition. That condition is reflected in the values of the attributes that describe the Chapter 20 - Using a Modeling Tool object. Behaviors in the system alter those attribute values, thus redefining, or changing, the object's state. Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Earlier in the book, I suggested that you notice how parts of speech reflect model elements. A state describes an object, so it typically appears as an adjective or gerund (present participle of a verb used as Appendix B - UML 2.0 Notation Guide an adjective) in the problem description; for example, a checking account is open (an open account) or a Appendix C - Standard Elements performance that is playing (a currently playing performance).
Glossary

Changes in the condition of an object can dictate changes in its behavior. For example, when the current Index condition/state of a checking account is overdrawn, the checking account responds in a different manner List of Figures than List of when Tablesthe checking account has a credit balance, that is, checks are rejected rather than paid, or the bank might cover the check and charge you an exorbitant fee for its kindness. List of Listings

Contrast the scope of the Statechart with that < ofDay the Sequence Day Up > diagram. The scope of the Statechart is the entire life of one object. The scope of the Sequence diagram is typically a single scenario or behavior, such as an operation or workflow, and may involve any number of objects. Consequently, it is possible to derive a Statechart from the set of Sequence diagrams that use the object in question. I discuss this in the UML Bible "Deriving a Statechart from Sequence diagrams" section later in this chapter.
by Tom Pender
ISBN:0764526049

John Wiley & Sonsthat 2003 (940 pages) The Statechart models the events trigger a transition (change) from one state to another state. An event corresponds tobeginning a message sent to the object asking telling it to do something. That something is For to advanced users, this book or provides coverage of theexpression. versatility ofActions 1.4 and alter 2.0 UML called an action, comprehensive or more accurately an action the object's attribute values, specifications, andthat shows to use UML to improve redefining the object's state. Note not how all messages imply an action that alters the object. A message timeliness, quality, and efficiency in development. such as getName(), for example, makes no change to the object so it would appear as an internal Web Site transition. The name Companion is a bit misleading, given the definition of a transition. "Internal event" might have been more accurate, but <?xml version="1.0" encoding="ISO-8859-1"?> While an object is in a state, it may also perform work associated with that state. Such work is called an Table of Contents UML Bible Preface

activity and does not alter the state of the object. For example, while a performance is open, it might keep track of the seats sold. states into superstates, providing a higher-level view of the transitions

Part I Statechart - An Introduction to aggregate UML The can also

Chapter 1 of - What Is UML? in the life an object. The states thus aggregated then become substates of the superstate. Substates

may also concurrent behaviors within a state by creating parallel substates within a superstate. Chapter 2 represent - UML Architecture Using the and superstate notation, you can explicitly identify split and merge (synchronization) of Chapter 3 substate - UML Diagrams and Extension Mechanisms control4 for-concurrency, as you'll see later in this chapter. Chapter Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5 Chapter 6

State attributes - Capturing Rules about Objects in a Class Diagram

Chapter 7 attributes - Testing with Objects that only apply to the object while the object is in the named state. These State are features
Part III - Modeling Object Interactions

- How to Capture Rules about Object Relationships Although not explicitly defined by UML 1.4, state attributes are a common addition to a state definition.

attributes are initialized on entry to the state, and are deleted upon exit from the state.
- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 8 Chapter 9

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

For example, an object set a timer in to UML keep track of how long it has been in the state. If a specified Chapter 11 - Modeling an might Object's Lifecycle 2.0 time limit is exceeded, the object Part IV - Modeling Object Behavior automatically resets itself to the previous state. In another example, while a login screen is in the state of receiving of the and password, it might keep track of the Chapter 12 - Modeling the Use of a System input with the Useuser-name Case Diagram number of unsuccessful attempts. If the number of attempts exceeds the security threshold, the screen Chapter 13 - Modeling Behavior Using an Activity Diagram locks and displays an appropriate message. Part V - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Modeling object states and events

The foundation for the Statechart is the relationship between states and events. The examples in this section illustrate the Statechart notation using a Seat object from the theater system. A simple state (or Part VI - Bringing Rigor to the Model regular state) is modeled as a rounded rectangle with the state name inside. The name may also appear Chapter 18 - Applying Constraints to the UML Diagrams in a tab attached to the top edge of the state icon. Figure 10-1 shows both models. The icon on the left is Chapter 19 - Action Semantics by far the most common, so I will use it throughout the rest of the book.
Chapter 17 - Representing an Architecture in UML 2.0
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

Figure 10-1: State icon with the name compartment shown (minimum configuration).

List of Figures In addition to simple states, the UML defines two special states: the initial state and the final state. Each List ofits Tables has own unique notation. The initial state of an object is modeled as a solid dot with an arrow pointing to List Listings theof first state, as shown in Figure 10-2. It is referred to as a pseudo state because it does not really have

all the features of an actual state but it helps clarify the unique purpose of another state on the diagram. < Day Day Up > The initial state identifies (points to) the state in which an object is created, or constructed. For example, Figure 10-2 says that a seat is created in the Allocated state. In other words, the seat comes into existence within the system when a Venue Manager informs the system that it has been allocated to the floor plan.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Figure 10-2: Initial state notation.

Companion Web Site

Technically the initial state is just the dot. However, in practice, the phrase initial state refers to the entire image shown in Figure 10-2: the dot, the arrow, and the state icon, as if to say, "Start at the dot and follow <?xml version="1.0" encoding="ISO-8859-1"?> the arrow to the initial state, called Allocated". Table of Contents
UML Bible Preface

At the end of its life an object may reach a final state from which it may never leave. The final state is a subclass of state. So it has all the properties of a state, with one exception: it cannot have any outgoing Part I - An Introduction to UML arrows (transitions). In other words, once the object reaches this state it can never transition to another Chapter 1 - What Is UML? state. A final state is modeled as a bull's-eye, a dot within a circle. The name of the final state is placed Chapter 2 - UML Architecture next to the final state icon. A common usage is illustrated in Figure 10-3. Let's say we're modeling the state Chapter 3 According - UML Diagrams Extension Mechanisms of a seat. to theand Statechart diagram notation in this figure, the seat may be removed while it is in Chapter 4 Object-Oriented Concepts either the enabled state or the disabled state. This is illustrated by the arrows from each of the two states, Part - Modeling Object andII directed toward theStructure final state. (These arrows will be explained in the next section.) But once the seat Chapter 5 Capturing Rules about in a Class Diagram to this diagram). is in the Removed state, you may Objects never change it (according
Chapter 6 Chapter 7 Chapter 8 Chapter 9 - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure 10-3: Final state notation.

Chapter 14 - Modeling the Application Architecture In this example, the object still exists but it is frozen in a query-only state. You can access it, report on it, Chapter 15 - Modeling Software Using You the Component Diagram and interrogate any of its attributes. just can't change its state. In this sense, it is like archiving Chapter 16 - But Using Deployment UML that 1.4 the object has actually been deleted and can no longer something. the final state Diagrams may also in mean

be accessed. However, information in a in system is a valuable asset, so it is rare that a system literally Chapter 17 - Representing an Architecture UML 2.0 deletes data. It isRigor equally rare to see Part VI - Bringing to the Model the final state on a Statechart diagram. Often, even if an object is flagged as- deleted or archived, the system will likely provide the option to undo the deletion or archive to Chapter 18 Applying Constraints to the UML Diagrams recover from an error or simply to change your mind. In this situation, the deleted or archived state would Chapter 19 - Action Semantics be a simple state, modeled as a rounded rectangle. Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Modeling events

An event trigger that evokes a response in the form of one or more behaviors. An event on a Appendix A is -a UML 1.4 Notation Guide Statechart to a message on a Sequence diagram. For example, in Figure 8-9, step Appendix B -diagram UML 2.0 corresponds Notation Guide 6, the SelectShowSeat object sends a select () message to the ShowSeat object. Receiving the select () message is an event that triggers a state change in the ShowSeat from the Unsold state to Glossary the Sold state.
Appendix C - Standard Elements Index List Figures Anof event may be List of Tables

receipt of a signal, such as receiving an exception or a notice to cancel an action List ofThe Listings

<of Day Up > such as pricing a seat or rescheduling a The receipt of a call, that is, the invocation anDay operation, performance

An event may also be the recognition of some condition in the environment or within the object itself such UML Bible as
by Tom Pender
ISBN:0764526049

A predefinedJohn condition true, called Wiley becoming & Sons 2003 (940 pages)a change event. For example, when an agent's sales drop below 50% of his quota for two shows inthis a row (the change event), action is required by the For beginning to advanced users, book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML venue manager who oversees the agents.
specifications, and shows how to use UML to improve timeliness, quality, and efficiency development. The passage of a designated period of time, in called an elapsed-time event. For example, after a ticket has been held at Companion will-call for Web three days (the elapsed time event), it is returned to inventory for sale. Site

Modeling events and transitions


<?xml version="1.0" encoding="ISO-8859-1"?> Table Contents The of Statechart diagram event notation is a label on an arrow connecting one state to another state, using UML Bible a solid line with a stick arrowhead. The arrow is actually the transition associated with the event. Preface

The terms event and Part ITip - An Introduction to UML

transition are often used interchangeably in the context of a Statechart diagram because they always appear together. Chapter 1 - What Is UML?
Chapter 2 - UML Architecture The direction of the arrow shows the direction of the change. The base of the arrow identifies the state that Chapter 3 UML Diagrams and Extension Mechanisms the object is in when the event is received (either from another object or from the object itself), and the Chapter 4 - identifies Object-Oriented Concepts arrowhead the state that the object changes to because of the event. Figure 10-4 shows that the
Part II enable - Modeling Object Structure event () causes the transition (the

arrow) from the state Allocated to the state Enabled.

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Figure 10-4: The State transition from Allocated to Enabled, caused by the event enable().

Chapter 10 -expression Modeling an Object's in uses UML 1.4 The event for signalsLifecycle and calls the format Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

event - name '(' [comma - separated - parameter - list] ')' ['['guard-condition']'] / [action-expression]

Chapter 14 - Modeling the Application Architecture Event - name identifies the event. Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Theparameter - list defines the data values that are passed with the event for use by the receiving object in its response to the event. Chapter 17 - Representing an Architecture in UML 2.0 Theguard - condition determines whether the receiving event should respond to the event.
Chapter 18 - Applying Constraints to the UML Diagrams

The action expression defines how the receiving object must respond to the event. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

So far I20 have only a used the event Chapter - Using Modeling Tool name with no parameters, but I cover all the other expression elements
Chapter 21 - Customizing UML Using Profiles Chapter XML Metadata Interchange Most if 22 not-all the events on a Statechart diagram come from other objects. But the Statechart diagram Appendix A UML 1.4 Notation does not tell you what object Guide they came from. Why? Because the Statechart diagram is concerned only Appendix - UML 2.0 Notation Guide with the B effect that the event has. The interaction diagrams model the sources and destinations of Appendix C Standard Elements messages. It's like receiving a phone call-you don't have to know who is calling in order to pick up the Glossary receiver and answer. Within a Statechart diagram, an object doesn't need to know who sent the event. An Index object is only responsible for how it responds to the event. So it is important to remember that the base of

in this chapter.

theof arrow identifies the state that the object is in when it receives the event and says nothing about where List Figures theof event came from. List Tables
List of Listings

Keeping this rule in mind (that state objects in< a Day Statechart diagram don't need to know where the events Day Up > they respond to come from), helps reduce coupling in your design. When a message is tied to the sender, then each sender/message combination is a different event. For example, in the theater system there are at least three different types of people who will at some time select a show seat for some reason (to price it, to purchase it, UML or to Bible refund it, for example). I can model these events as customerSelect(), ISBN:0764526049 by Tom Pender agentSelect(), and venueMgrSelect(). But if I later define new types of people such as Marketing Johnalso Wiley & Sons 2003 a (940 pages) and Schedulers who need to select show seat, then I must add new events for each of the new types of people. If I instead focus on the condition of the object and its response to the event, then who For beginning to advanced users, this book provides comprehensive coverage ofthe themodel versatility of 1.4 and 2.0 UML sent the message becomes irrelevant and is simplified. There is only a select () event specifications, and shows how to use UML to received under many different circumstances, but always forimprove the same reason, to hold the seat so that I timeliness, quality, and efficiency in development. can perform an action on it without someone else interfering with it.
Companion Web Site

Furthermore, the state of an object when it receives an event can affect the object's response. An event received in one state may get one response, while the same event received under different conditions <?xml version="1.0" encoding="ISO-8859-1"?> could get an entirely different response. For example, if you press the accelerator on your car while the car Table of Contents is turned on, the engine speeds up. If you press the accelerator when the car is turned off, the engine does UML Bible nothing.
Preface
Part I - An Introduction to UML Figure 10-5 shows a toggle switch

example. The same click() event causes different behaviors, depending

Chapter 1 - What Is UML? The first click occurs when the switch is in the Off state, so it changes the switch on the state of the switch.

from Off second click occurs when the switch is in the On state, so it changes the switch from Chapter 2 to - On. UMLThe Architecture On to Off. The same event causes two different behaviors because the event is coupled with the state of Chapter 3 UML Diagrams and Extension Mechanisms the object at the time the event is received. This relationship between events, state, and behavior can be Chapter 4 Object-Oriented Concepts described by the Object following formula: Part II - Modeling Structure
Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

Event + state = response.

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams

Figure same event causes different responses based on the state of the object when it Chapter 19 - 10-5: ActionThe Semantics receives the event. Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Modeling elapsed-time events

Appendix - UML is 1.4 Notationbecause Guide of the passage of time. For example, when a ticket has been held at Often a A change triggered Appendix B office - UMLwill-call 2.0 Notation Guide the ticket for three days, it is considered abandoned and is returned to the available pool of Appendix C - Standard Elements tickets. Elapsed-time events use the keyword after followed by an expression, enclosed in parentheses, Glossary that evaluates to an amount of time. Figure 10-6 models a portion of the Statechart diagram for a ticket

object. The ticket starts in the Sold state and transitions to the Unsold state after three days have elapsed. Index
List of Figures List of Tables List of Listings

< Day Day Up >

Figure 10-6: An elapsed-time event.


UML Bible by Tom Pender
ISBN:0764526049

Modeling change events John Wiley & Sons 2003 (940 pages)
A transition can be based on a change in of the object or a change in its environment. For example, when an comprehensive coverage the versatility of 1.4 and 2.0 UML agent's sales drop below 50% of his quota for to two shows row, we want to notify the venue manager in specifications, and shows how use UML in to a improve timeliness, quality, and efficiency in development. charge of managing agent performance. The change event's event-name is the keyword when and takes a Boolean expressionCompanion as a parameter. The expression must be structured such that when it tests true, the Web Site change event triggers the transition. Figure 10-7 models how the agent object transitions from active to under review if the agent's quota drops below the established minimum.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

For beginning to advanced users, this book provides

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram

Part II - Modeling Object Structure

Figure 10-7: Modeling a change event.

Chapter 6 - How to Capture Rules about Object Relationships The change event's Boolean parameter may be as complex as the problem requires. However, complex

conditions oftenwith a sign that the states are defined at too high a level and should be broken out into Chapter 7 -are Testing Objects smaller, more specific states. One way to Part III - Modeling Object Interactions decide is to examine the values you are testing. If the values describe object's Interactions condition, then combine Chapter 8 the - Modeling in UML 1.4 these attributes with the other attributes that describe the state of9the to Interactions define new states. Chapter - object Modeling in UML For 2.0 example, Figure 10-8 models part of a Statechart diagram for the Customer object.an It tells us that a customer from the Active state to the Delinquent state. Chapter 10 - Modeling Object's Lifecycle in UML transitions 1.4 Regular customers when they are days Chapter 11 - Modelingchange an Object's Lifecycle in 30 UML 2.0 late. Preferred customers change when they are 60 days Part IVlate. - Modeling Object Behavior
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0

Figure 10-8:Rigor Deriving new states from Part VI - Bringing to the Model
Chapter 19 - Action Semantics

the event parameters.

Chapter 18 - Applying Constraints to the UML Diagrams

But the parameter values "regular" and "preferred" actually describe the customer. If I include the feature customer type with the values regular and preferred in the state definition, I get a much simpler Statechart Part VII - Automating the UML Modeling Process diagram, as modeled in Figure 10-9. The redefined state definitions improve the cohesion of the design, Chapter 20 simplified - Using a Modeling Tool while the parameters also reduce the coupling in the design.
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List ofFigure Listings 10-9: Revised Statechart diagram that improves cohesion and coupling.

Note The example revising Figure 10-8 to the form seen in Figure 10-9 reinforces the benefit of modeling. Modeling reveals design issues in a way that text cannot. It provides a unique, easy-touse opportunity to review and improve a design.
UML Bible

< Day Day Up >

Modeling a guard by Tomcondition Pender


John Wiley & Sons 2003 (940 pages)

ISBN:0764526049

Typically an event is received and responded to unconditionally. Sometimes, however, receipt of the event For beginning to advanced users, this book provides is conditional. For example, when an order entered intoof the theater system, comprehensive coverage of is the versatility 1.4 and 2.0 UML it is considered tentative until the payment has specifications, been received. When the payment received, the order transitions to the Placed state. and shows how to use is UML to improve timeliness, and efficiency in development. The problem is that not just quality, any payment will do. I have to test to make certain that the payment actually covers the cost of theCompanion order. ThisWeb test Site is called a guard condition. As shown in Figure 10-10, the guard condition is placed within square braces after the event name and before the slash and actions in the event expression (represented here as a reference). <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents
UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 3

- What Is UML? Figure Modeling a guard condition. Chapter 2 - 10-10: UML Architecture - UML Diagrams and Extension Mechanisms Chapter 4 - Object-Oriented Concepts event-name '(' [comma-separated-parameter-list] ')'
Part II - Modeling Object Structure

['['guard-condition']' ] / [action-expression]
- Capturing Rules about Objects in a Class Diagram - Testing with Objects

Chapter 5 Chapter 7

Chapter 6 - How to Capture Rules about Object Relationships receivePmt() [amount=totalPrice]


Part III - Modeling Object Interactions

Chapter 8 - Modeling Modeling event Interactions actions in UML 1.4 Chapter 9 - Modeling Interactions in UML 2.0 In each of the preceding examples, I identified why Chapter 10 Modeling an Object's Lifecycle in UML 1.4 the transition is made but not how. An event is only a

trigger.11 The receivingan object must know how to respond to the trigger. At the very least, the response has Chapter - Modeling Object's Lifecycle in UML 2.0 to explain how to Object change the attribute Part IV - Modeling Behavior

values that redefine the object's state. The behavior associated with an event is defined in an action expression. An action expression is the set of one or more actions Chapter 12 - Modeling the Use of a System with the Use Case Diagram triggered by an event.
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

If you think of the event as the operation signature, then the action expression corresponds to the

Chapter 14 - Modeling the Application Architecture implementation of that operation, the method. And just as there may be many lines of code in an operation Chapter 15 Modeling Software Using the Component Diagram implementation, there may be any number of actions in an action expression. Chapter 16 - Using Deployment Diagrams in UML 1.4

Even though an action expression may consist a set of actions, it is still considered an atomic task (in Chapter 17 - Representing an Architecture in UML of 2.0 other it cannot broken into Part VI words, - Bringing Rigor be to the Model component tasks, nor can it be interrupted). There is a good reason for this.18 An expression is part of UML a transition event; it is a part of the change from one state to Chapter - action Applying Constraints to the Diagrams another. transition is stopped for any reason, then the object is potentially left in an undefined state, Chapter 19If -the Action Semantics meaning that some of the attributes used to define Part VII - Automating the UML Modeling Process the new state may have been altered while others were not. This atomic model of execution is referred to as run-to-completion semantics. Chapter 20 - Using a Modeling Tool
Chapter 21 Customizing UML Using Profiles To model the action expression, place a forward slash after the event name followed by the name of the Chapter 22 XML Metadata Interchange action or actions you want performed, as in Figure 10-11 where allocating a seat requires notifying the Appendix A -team UML that 1.4 Notation marketing the new Guide seat is available. The allocate () event uses the event syntax: Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List ofFigure Figures10-11: Modeling an event/action pair. List of Tables List of Listings

event-name '(' [comma-separated-parameter-list] ')' < Day Day Up > [' ['guard-condition']' ] / [action-expression]

When there is more than one action, simply separate them with commas. For example, the allocate() UML Bible event could require the object to send a notification and enable the seat. The updated event expression ISBN:0764526049 by Tom Pender would read as: John Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML allocate()/ notify(), enable() specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Technically, the format for the action Companion Web is Site result:=action - name (parameter - list) <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents
UML Bible Preface

However, I have encountered few tools that use this format, so all my examples simply use the format: action-name (parameter-list) - What Is UML?
- UML Architecture - UML Diagrams and Extension Mechanisms

Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4

Introducing the internal - Object-Oriented Concepts transitions compartment

Part II - Modeling Object Structure

Let's revisit state icon for a moment. far you Diagram know that the state icon accommodates the name Chapter 5 - the Capturing Rules about ObjectsSo in a Class
Chapter 6

compartment. Like the class icon, the state icon can also be expanded. The purpose of the expanded - How to Capture Rules about Object Relationships form is to reveal what the object can do while it is in a given state. The notation simply splits the state icon Chapter 7 - Testing with Objects into two compartments: the name compartment and the internal transitions compartment , as illustrated in Part III - Modeling Object Interactions Figure 10-12.
Chapter 8 Chapter 9 - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram

Figure The expanded state in icon. Chapter 16 - 10-12: Using Deployment Diagrams UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

The internal transitions compartment contains information about actions, activities, and internal transitions specific to that state. You've seen actions associated with events. Here I'm talking about the same actions, Chapter 18 - Applying Constraints to the UML Diagrams only documented as entry and exit actions within a state. I'll explain entry and exit actions first, then Chapter 19 - Action Semantics activities, and finally internal transitions.
Part VII - Automating the UML Modeling Process

Chapter 20 - entry Using a and Modeling Tool Defining exit actions Chapter 21 - Customizing UML Using Profiles Chapter 22 state - XML Metadata Interchange Modeling transitions often results in more than one event that changes the object to the same state.

Each of A these events may have a corresponding action (action expression), or even the same action. For Appendix - UML 1.4 Notation Guide example, Figure the Guide Statechart diagram for the Order object says that you can transition the order Appendix B in - UML 2.010-13 Notation from theC Tentative state to the Placed state by either receiving the payment for the order or getting an Appendix - Standard Elements override authorization. But both events require the same action: issue an order confirmation, or Glossary
Index

issueConf().

List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve Figure 10-13: Redundant actions entering and exiting the Placed state of the Order. timeliness, quality, and efficiency in development. Companion Web icon Site can be expanded to reveal the internal transitions compartment. Earlier, you discovered that the state In that compartment you can model something called entry actions. Entry actions provide a means to eliminate the redundancy in Figure 10-13. Whenever you discover an action that must take place with <?xml version="1.0" encoding="ISO-8859-1"?> every that transitions into the state, you can write the action once as an entry action. Figure 10-14 Table ofevent Contents shows the entry action notation, using the keyword entry followed by a slash and the action or actions that UML Bible need to Preface be performed every time you enter the Placed state. When the redundant action is replaced by the entry you can remove Part I -action, An Introduction to UML it from the individual transition arrows. This simplifies the diagram while preserving the same meaning. Figure 10-14 reads, "Every time you enter the Placed state, issue an order Chapter 1 - What Is UML? confirmation." Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure 10-14: Consolidating the entry actions.

Chapter 12 -simplification Modeling the may Use of a used System the Use Case Diagram The same be forwith actions associated with events that trigger a transition out of a Chapter 13 Modeling Behavior Using an Activity Diagram state. These are called exit actions and are modeled in the same manner as entry actions. Figure 10-13
Part - Modeling Architecture andV10-14 show the twoApplication events leaving the Placed

state. Both events have the same associated action,

Chapter 14 - Modeling the Application Architecture issueCustomerStmt(). Figure 10-15 shows the exit/ action notation added to the internal transitions Chapter 15 Modeling Software Using the Component Diagramfrom the outgoing event arrows. Compare compartment of the Placed state and the actions removed Chapter - Using Diagrams in UMLthe 1.4simplification from the original diagram. Figure 16 10-13 with Deployment Figure 10-15 to appreciate Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

Figure 10-15: Consolidating the exit actions.

Appendix CStandard Elements provide a nice simplification for the Statechart diagram. Just remember that Entry and exit action notations Glossary they may only be used when the action takes place every time you enter (for entry actions) or every time Index you exit (for exit actions) the state. If there is even one exception, the notation may not be used for that List of Figures action. List of Tables

Modeling List of Listings

activities

< Day Day Up > expressions, an activity tends not to be Activities are processes performed within a state. Unlike action atomic, that is, an activity may be a group of separate tasks. Activities may be interrupted because they do not affect the state of the object. Contrast this with the earlier definition of an action expression, which said that you must notUML interrupt action expressions because they alter the state of the object. Stopping an action Bible midway could leave the object in an undefined state. Activities ISBN:0764526049 just do work. They do not change the state by Tom Pender of the object. John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this provides object. While in that state, the For example, Figure 10-16 models the Active state of book the Customer comprehensive coverage of the versatility of 1.4 and 2.0 UML Customer object generates a monthly invoice for the customer's purchasing activity and generates specifications, and shows how to use UML to improve monthly promotions tailoredquality, to the customer. To model activities within a state use the keyword Do timeliness, and efficiency in development. followed by a colon and one or more activities. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 3

- What Is UML?

Chapter 2 - 10-16: UML Architecture Figure The expanded state icon with activities. - UML Diagrams and Extension Mechanisms These activities will be performed from the time the object enters the state until the object leaves the state Chapter 4 - Object-Oriented Concepts

or the activity/ies finish. If an event Part II Modeling Object Structure


Chapter 6 Chapter 7

occurs that triggers a transition out of the active state, the object must shut down the activities (preferably gracefully) and exit the state. Chapter 5 - Capturing Rules about Objects in a Class Diagram

Modeling internal transitions


- Testing with Objects

- How to Capture Rules about Object Relationships

Part III an - Modeling Interactions While object isObject in a given state it may

receive events that do not trigger a change in state, yet do trigger

Chapter 8 - Modeling Interactions UML 1.4 a response. An event that can bein handled completely without a change in state is called an internal Chapter 9 Modeling in UML 2.0 transition. Like other Interactions transitions, it can specify related guard conditions and actions. The format for an Chapter 10 - Modeling an same Object's in UML 1.4 internal transition is the asLifecycle for an event: Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior event-name '(' [comma-separated-parameter-list]

')'

Chapter 12 - Modeling the Use of a System with the Use Case Diagram ['['guard-condition']'] / [action-expression] Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

For example, while athe customer (represented by a Customer object) is in the Active state, she might receive Chapter 14 - Modeling Application Architecture a signal event notifying her that her tickets have been set aside for her at will-call. Receiving the notification Chapter 15 - Modeling Software Using the Component Diagram does not herDeployment state. But it Diagrams is important to capture the ability of a Customer object to receive the Chapter 16alter - Using in UML 1.4 notification respond by ain mailing to the real customer. Figure 10-17 models the internal Chapter 17 - and Representing an generating Architecture UML 2.0
Part VI - Bringing Rigor to the Model

transitionticketsReady(). Since the internal transition (event) does not cause a change in state, it is modeled inside the internal transitions compartment of the state instead of on a transition arrow entering or Chapter 18 - Applying Constraints to the UML Diagrams existing the state.
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure 10-17: Internal transition.

A state can potentially include entry actions, exit actions, activities, and internal transitions. When this < Day Day Up > happens, all the elements are listed within the internal transitions compartment as follows: Entry/action, action... Bible Do/activity, UML activity... ISBN:0764526049 by Tom Pender Exit/action, action... John Wiley & Sons 2003 (940 pages) Internal transition/action, action... For beginning to advanced users, this book provides Internal transition/action, action...
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

There may be any number of internal transitions in a state. Each may have associated action expressions. Companion Web Site Simply list them within the internal transitions compartment.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

Order of events

With all these events, you could end up with a tangled mess of event actions, entry actions, exit actions, UML Bible and activities. So how do you process all this behavior in a sane fashion? Well, there is an order to these Preface things. When an eventto occurs Part I - An Introduction UML that is associated with a transition, the order of execution runs like this:
Chapter 1 an - What Isis UML? 1. If activity in progress in the current state, interrupt it (gracefully if possible). Chapter 2 - UML Architecture

2. Execute exit/action(s). Chapter 3 - UMLthe Diagrams and Extension Mechanisms


Chapter 4
Part II - Modeling Object Structure

3. Execute the actions associated with the event that triggered the transition.

- Object-Oriented Concepts

Chapter 5 - Capturing Rules about Objects in a state. Class Diagram 4. Execute the entry/action(s) of the new Chapter 6 - How to Capture Rules about Object Relationships 5. Begin executing activity or activities of the new state. Chapter 7 - Testing with the Objects
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 More about transitions

- Modeling Interactions in UML 2.0 To wrap up this description of transition types, I need Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 to explain a few more options including self-

transitions, events, and factored state transitions. Chapter 11 - send Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Modeling a self transition

There are times when an object receives an event that does not change the state of the object, but causes an interruption of the state. A self-transition is an event that is sufficiently significant to interrupt what the Chapter 14doing. - Modeling the the Application Architecture object is It forces object to actually exit the current state, and return to the same state.
Chapter 15 - Modeling Software Using the Component Diagram

The result the self-transition is to stop activity Chapter 16 -of Using Deployment Diagrams inany UML 1.4 within the object, exit the current state, and re-enter the state, restarting the state. in Figure 10-18 models an order in the Tentative state. In the Chapter 17 effectively - Representing an Architecture UML 2.0 process of adding items an order, Part VI - Bringing Rigor to to the Model for example, a customer may choose to simply start over by issuing the reset The effect is erase items added to the order (basically wiping out anything Chapter 18command. - Applying Constraints toto the UML any Diagrams done to the order) Semantics while it was in the Tentative state. Chapter 19 - Action
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

Figure 10-18: Modeling a self-transition. UML Bible


Preface
Part I - An Introduction to UML

Referring to the earlier section titled "Order of events", you can trace the impact of a self-transition.
- UML Architecture

1. If activity in progress in the current state, interrupt it (gracefully if possible). Chapter 1 an - What Isis UML?
Chapter 2 Chapter 3

2. Execute the exit/action(s).

- UML Diagrams and Extension Mechanisms

Chapter 4 - Object-Oriented Concepts with the event that triggered the transition. In this case, we have to 3. Execute the actions associated
Part II - perform Modeling Object Structure the removeItems()

operation on the order.

Chapter 5 Chapter 7

- Capturing Rules about Objects in a Class Diagram

4. Execute entry/action(s) of the new state. Chapter 6 - Howthe to Capture Rules about Object Relationships
Part III - Modeling Object Interactions

- Testing with Objects 5. Begin executing the activity or activities of the new state.

Chapter 8 - send Modeling Interactions in UML 1.4 Defining events Chapter 9 - Modeling Interactions in UML 2.0 Sometimes the object modeled the Statechart diagram needs to communicate with another object. On Chapter 10 - Modeling an Object's by Lifecycle in UML 1.4

a Statechart diagram, the source of the incoming events is not shown because the same event may come Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 from numberObject of other objects Part IVany - Modeling Behavior and the response must be the same. But an outgoing event must define the receiving object. It works in the samewith waythe you use yourDiagram phone. You can receive calls without knowing Chapter 12 - Modeling the Use of a System Use Case who is calling. But you cannot place a call without the number of the person you want to call. When the Chapter 13 - Modeling Behavior Using an Activity Diagram object in the Statechart diagram sends a message to another object it is called a send event. Part V - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture

Recall the example in Figure 10-15: when the order is cancelled, the order is to issue a customer statement before leaving the Placed state. But the customer statement is another object that takes care of Chapter - Using incustomer UML 1.4 statement that it's time to do so. All the actions modeled issuing16 itself. The Deployment order needsDiagrams to tell the Chapter 17 Representing an Architecture in 2.0 so far were actions on the same object. ToUML show that the action is invoked on a different object, simply Part VI Bringing Rigor to the Model provide the object name before the action expression, with a period separating the two. This is often Chapter 18 Applying Constraints to the UML Diagrams referred to- as the dot notation , because of the dot (period) separating the entries in the expression. In Chapter - Action Semantics Figure 19 10-19, the exit action notation now shows the issue() action is being sent to the CustomerStmt Part VII Automating the UML CustomerStmt.issue(). Modeling Process object, using the expression
Chapter 15 - Modeling Software Using the Component Diagram Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables

Figure 10-19: Modeling an action invoked on another object.

List of Listings

Compound transitions and factored paths < Day Day Up >


One goal of modeling in general and of UML in particular is to make modeling alternatives visible. Working with text and/or code to design an application almost forces a linear approach to the way we see and UML Bible understand a problem. But many problems require a broader perspective that examines a number of ISBN:0764526049 Tom Pender design elements by together.
John Wiley & Sons 2003 (940 pages)

For example, follow as I to document the transitions I discover and then model them using a Statechart For along beginning advanced users, this book provides diagram. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. First I find the following transitions: Companion Web Site The transition from State0 to State2 is triggered by event e2, guarded by the condition [b<0 and a<5]. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

The transition from State0 to State3 is triggered by event e2, guarded by the condition [b<0 and a=5]. The transition from State0 to State4 is triggered by event e2, guarded by the condition [b<0 and a>5].

Preface The transition from State1 to State2 is triggered by event el, guarded by the condition [b<0 and a<5].
Part I - An Introduction to UML

The from State1 to State3 is triggered by event el, guarded by the condition [b<0 and a=5]. Chapter 1 transition - What Is UML?
Chapter 2 Chapter 3

The transition from State0 to State4 is triggered by event el, guarded by the condition [b<0 and a>5].
- UML Diagrams and Extension Mechanisms

- UML Architecture

Chapter - Object-Oriented Conceptslisted above exactly as I documented them in a Statechart diagram. Figure 4 10-20 models the transitions
Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0

Figure 10-20: The original problem definition found by following one requirement after another in linear fashion.

Doubtless you already see a lot of redundancy. The el and e2 events each appear three times. Also, since

Chapter 18 conditions - Applying Constraints to the UML Diagrams the guard are combined into unique pairs, the individual conditions have to be repeated to Chapter 19 - Action Semantics account for every possible combination. Now that the diagram has made it easier to see these
Part VII - Automating thebegin UML Modeling redundancies, you can to factor Process out the duplication

and simplify the design.

Chapter 20 - Using a Modeling Tool

Let's start with State0. All three transitions Chapter 21 Customizing UML Using Profiles from State0 are triggered by the same event and share one of the guard ([b<0]) in common. The differences are in the second halves of the guard conditions. Chapter 22 conditions - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

UML provides another pseudo state (like the initial state) called the static branch point that allows a transition arrow to split into two or more paths. Figure 10-21 models this notation as a small solid circle. Appendix C - Standard Elements One transition is drawn from State0 to the static branch point, using the common transition elements, Glossary e2[b<0]. Then at the static branch point the Statechart diagram shows three separate transition arrows, Index one to each destination state. Each arrow contains one of the unique elements of the transition, [a<5], List of Figures [a=5], and [a>5].
List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Figure 10-21: Modeling a static branch point to re-factor compound conditions. Table of Contents UML Bible Examination of the transitions out of State1 reveals that the second guard condition on each transition is Preface identical to the second guard condition on the e1 transitions from State0. Factoring out the redundant
Part I - An Introduction UML second half leaves theto unique

first half of the transition, e1[b<0]. In Figure 10-22, this new transition is

Chapter 1 - What Isto UML? drawn from State1 the static branch point. Since the second half guard conditions are already modeled Chapter 2 be - UML Architecture they can reused to satisfy the requirements for event e1. Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure Combining the transitions into a single model. Chapter 14 - 10-22: Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Note The UML 1.4 also allows the use of a diamond as the static branch point. The diamond has typically been used in modeling notations to represent a decision point. UML 2.0 uses only the Chapter 17 - Representing an Architecture in UML 2.0 diamond.
Chapter 18 - Applying Constraints to the UML Diagrams In yet other transitions, the destination of the transition isn't known until the associated action has been Chapter 19 - Action Semantics completed. In these cases you literally need to provide a temporary stopping point to evaluate the outcome
Part VII - Automating the UML Modeling Process of the action before moving on to the final destination.

This stopping point is called a dynamic choice point.

Chapter 20 - Using a Modeling Tool

For example, once every quarter the theater system automatically upgrades the status of customers Chapter 21 - Customizing UML Using Profiles based on much they Interchange spend at the theater. Figure 10-23 models a set of upgrade transitions. The Chapter 22 how - XML Metadata
Appendix A - UML 1.4 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

event is upgradeStatus(). The guard condition evaluates the amount of the customer's purchases. The amount is calculated by the action, totalPurchases (start, end). The guard condition Appendix B - UML 2.0 Notation Guide cannot be evaluated until after the action is completed. So the action is the same on all three transitions.

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

If we again factor out the common elements, we get a simplified diagram as modeled in Figure 10-24. It Companion Web Site shows a single transition segment from the ActiveDefault state based on the event upgradeStatus() followed by the action totalPurchases(start, end). The transition hits the small hollow circle called a dynamic choice point , where the split takes place. Literally, this is the stopping point where the <?xml version="1.0" encoding="ISO-8859-1"?> result the action on the preceding transition segment is evaluated and a path is chosen. The choice Table ofof Contents depends UML Bible on the result of the action.
Preface
Part I - An Introduction to UML

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Figure 10-23: Modeling transition contingent on the result of the event action. specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure 10-24: Modeling a dynamic choice point.

Chapter 12 -the Modeling the Use of a with the Use Case Diagram combining like portions into a System single transition segment, then branching based on the portions of the Chapter 13 Modeling Behavior Using an Activity Diagram guard that are unique. The dynamic choice point provides a means to isolate a behavior from the effect of
Part - Modeling the Application Architecture the V behavior. The behavior forms the first segment

In summary, the static branch point provides a means to simplify compound guard conditions by

of the transition, before the dynamic choice point. The

Chapter 14 - Modeling the Application Architecture alternatives, based on the result of the behavior, form the outgoing segments after the dynamic choice Chapter 15 Modeling Software Using the Component Diagram point. Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

< Day Day Up > Chapter 18 - Applying Constraints to the UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Relating the Sequence and Statechart diagrams by Tom Pender
ISBN:0764526049

Those who use UML often miss the benefit of comparing and contrasting the different diagrams. Johndiagrams Wiley & Sons 2003 (940 pages) Each diagram provides a unique of the same problem. Comparing and contrasting these views can For beginning to view advanced users, this book provides function much like reconciling your checkbook. That is, comparing comprehensive coverage of the versatility of 1.4 andmultiple 2.0 UML views of the same information specifications, and showserrors. how to use UML to improve makes it much easier to find and correct
timeliness, quality, and efficiency in development.

Earlier in this chapter, I made theWeb point that events on the Statechart diagram correspond to messages on Companion Site the Sequence diagram. The Sequence diagram views a behavior from the perspective of time. States describe the condition of an object during a period of time. There is enough overlap of the two diagrams to <?xml version="1.0" provide the meansencoding="ISO-8859-1"?> to do some comparison, or even derivation.
Table of Contents UML Bible Preface

Deriving a Statechart diagram from Sequence diagrams


The dynamic model provides two diagrams that model changes over time: the Statechart diagram and the

Part I - An Introduction to UML

Chapter 1 -diagram. What Is UML? Sequence The key to understanding the relationship between these diagrams is in understanding Chapter 2 UML Architecture states and events. Events trigger transitions between states. States capture the condition of an object Chapter 3 -period UML Diagrams and Extension Mechanisms during the of time between events. Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - Object-Oriented Concepts

Using this understanding, look at Part II Modeling Object Structure

the Sequence diagram shown in Figure 10-25.

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Figure 10-25: A the basic Sequence Part VII - Automating UML Modelingdiagram Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

with events and transitions.

Each vertical column represents a portion of the total lifeline for one object.

Chapter 22 event - XML directed Metadataat Interchange Each a lifeline represents an event that might trigger a change in that object. Appendix A - UML 1.4 Notation Guide

TheBspace events on the object lifeline represents a period of time when the object remains Appendix - UMLbetween 2.0 Notation Guide in the same state. Because not every event causes a state transition, these periods are referred to as Appendix CStandard Elements candidate states until it's proven that a change, in fact, occurs. Glossary
Index List ofobjects Figuresor send events. List of Tables

The events pointing outward from the object lifeline represent either return values sent to other

The part of mapping the Sequence diagram to the Statechart diagram is determining the List of challenging Listings

condition of the object between the events and naming it as accurately as possible. The state of the object < Day Day Up > is defined by the values of one or more of its attributes. Use these values to find adjectives that describe the object's condition. For example, if one of the attributes indicates whether the object has been sold or not, then you might use sold and unsold as part or all of the state name.
UML Bible

The same state may appear in many Sequence diagrams, so accurate naming can prevent confusion ISBN:0764526049 by Tom Pender when you merge John the states from the Sequence diagrams. Adjectives and gerunds make very good state Wiley & Sons 2003 (940 pages) names, but you might need more than one descriptor to fully describe the current condition of the object. For beginning to advanced users, this book provides Figure 10-26 shows how to map the events and gaps on the lifeline of the Sequence specifications, and shows how to corresponding use UML to improve timeliness, and efficiency in development. diagram to candidate statesquality, and events on the Statechart diagram.
Companion Web Site comprehensive coverage of the versatility of 1.4 and 2.0 UML

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure Figure 10-26: Mapping a Sequence

diagram to a Statechart diagram.

- Capturing Rules about Objects in a Class Diagram

Understanding these concepts is about a lot easier you can see an example, so I'm going to derive a Chapter 6 - How to Capture Rules Objectwhen Relationships Statechart for the ShowSeat object. I'll work through the same series of steps for each scenario: Chapter 7 -diagram Testing with Objects
Part 1. III Modeling Interactions Identify theObject events directed at the

lifeline of the ShowSeat object.

Chapter 8

- Modeling Interactions in UML 1.4

2. Identify candidate states by Chapter 9 - Modeling Interactions inisolating UML 2.0 the segments of the lifeline between the incoming events.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

3. Name the candidate states using adjectives that describe the condition of the object during the period of time represented by the segment.

Chapter 12 - the Modeling the Use of events a System the Use Case Diagramdiagram. 4. Add new states and to with the ShowSeat Statechart Chapter 13 - Modeling Behavior Using an Activity Diagram

I've V substantially simplified the Sequence diagrams Part - Modeling the Application Architecture

for the purpose of the example, but the mechanics of the derivation process are appropriate for a larger example, too. Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 -object. Using Deployment Diagrams in UML in 1.4 ShowSeat The first pair is represented Figure 10-27. Each pair of use cases follows the same Chapter 17 Representing an Architecture in UML 2.0 pattern. The first scenario represents a user selecting a showseat in order to perform some action. The
Part VI Bringing to the select event has Rigor the effect ofModel putting

I'll use two scenarios each from four use cases to create the final, consolidated Statechart diagram for the

a hold on the showseat so that no one else can access it while the

Chapter 18 - Applying Constraints to are the familiar UML Diagrams user completes the action. (If you with databases, you could think of it as a record lock.) Once Chapter 19 - Action Semantics the showseat is held, the user can proceed with the action supported by the use case. The second
Part VII - Automating the UML Modeling Process scenario starts the same as the first (the user selects the

showseat), but then the user changes her mind

Chapter 20 - Using a Modeling Tool of this action is to release the hold on the showseat. and cancels the hold. The effect Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure 10-27: A standardized pair of scenarios for the first use case, Purchase ShowSeat. < Day Day Up > To find the candidate states, identify the segments of the object lifeline between the start, end, and incoming events. Figure 10-28 marks the candidates and maps them onto a draft Statechart diagram. The challenging part is to find appropriate names for the states. First ask, what condition would a show seat UML Bible need to be in to allow it to be purchased? It would need to be priced, not held by anyone else, and not ISBN:0764526049 by Tom Pender already purchased. When the scenario begins the show seat is priced, not held, and not sold. After the John Wiley & Sons 2003 (940 pages) select event it is still andto not sold, but now it is held. After the purchase event, the show seat is still For priced beginning advanced users, this book provides priced, but it is now sold, and, since, the action is completed, the hold isUML released. comprehensive coverage of the versatility of 1.4 and 2.0
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1

- What Is UML?

Chapter 2 - 10-28: UML Architecture Figure Finding the transition events and candidate states for scenario 1 of the Purchase Chapter 3 UML Diagrams ShowSeat use case. and Extension Mechanisms Chapter 4 - Object-Oriented Concepts
Part II ModelingIObject In this example, name Structure the states

using three specific word/word phrases that reflect the three attributes of

the object that together define its condition. could also choose to use a single word to describe each Chapter 5 Capturing Rules about Objects in You a Class Diagram state as as you document somewhere the fact that the name reflects the unique combination of these Chapter 6 long - How to Capture Rules about Object Relationships attributes. These three Chapter 7 Testing withattributes Objects ultimately need to become part of the ShowSeat class specification.
Part III - Modeling Object Interactions

The second scenario, shown in Figure 10-29, models the cancel action. Note that the first event is the - Modeling Interactions in UML 1.4 same as in scenario 1, indicating that there is significant overlap between the two scenarios. This is Chapter 9 - Modeling Interactions in UML 2.0 confirmed when we examine the condition of the object at each state. Compare the state names from Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Figure 10-29 with those in the previous scenario in Figure 10-28.
Chapter 8 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams

Figure Scenario 2 from the Purchase ShowSeat use case. Chapter 19 - 10-29: Action Semantics
Part VII - Automating the UML Modeling Process

Remember that the scope of a Sequence diagram is one scenario, and that the scope of a Statechart diagram is the entire life of one object (limited, of course, by the scope of the current project or modeling Chapter 21 - Customizing UML Using Profiles effort). So the next step is to merge the redundant states and reconcile the events to create a single, Chapter 22 - XML Metadata Interchange consolidated Statechart diagram for both scenarios as modeled in Figure 10-30.
Chapter 20 - Using a Modeling Tool Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure 10-30: Consolidated Statechart diagram for the first two scenarios.
<?xml version="1.0" encoding="ISO-8859-1"?> To gather all the possible events that could affect the showseat object, I must also evaluate the other Table of Contents

three use cases that reference the showseat namely, Price a ShowSeat, remove the Price from a UML Bible ShowSeat, and Refund a ShowSeat. Continuing the derivation process for the remaining six scenarios Preface (two case) results in a Part I per - Anuse Introduction to UML
Chapter 1 Chapter 2 - What Is UML?

consolidated Statechart diagram for all four use cases.

Examination of the attributes that together define the states of the object reveals the initial state. You have - UML Architecture to ask what the initial value of each attribute should be. The combination of these initial values identifies Chapter 3 - UML Diagrams Extension Mechanisms the condition of the object and at the time it is constructed. In Figure 10-31, the initial state is Not Priced, Not Chapter 4 Object-Oriented Concepts Held, Not Sold. Basically I haven't done anything to the show seat yet.
Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Figure 10-31: The final, consolidated Statechart diagram for the ShowSeat object.

This is just one simple technique for taking advantage of the Sequence diagram to help you build a Statechart diagram. You will very likely encounter others. In fact, there are more formal methods for Chapter 20the - Using a Modeling mapping two diagrams inTool a manner that is supported by software. Some modeling tools enable you to Chapter 21 Customizing UML Using work on aStatechart diagram and Profiles then automatically generate or update your Sequence diagrams. Chapter 22 you - XML Metadata Interchange Likewise, can create Sequence diagrams and generate a Statechart diagram. There are also tools Appendix - UML 1.4 Notation Guide such as A Together Control Center by TogetherSoft that generate Statecharts and Sequence diagrams from Appendix code. B - UML 2.0 Notation Guide
Appendix C - Standard Elements

The Statechart and Sequence diagrams can help you a great deal when you're trying to design the Glossary
Index

behavior of your objects, especially those few objects that are at the heart of your application. For business applications, this typically means about five percent of the objects at the heart of your business, like List of Figures products and transactions. Within the application itself, the objects that manage the behavior of the List of Tables application, that is, control-type objects, often warrant a Statechart diagram since they are exclusively
List of Listings

devoted to managing the state of the system. < Day Day Up > Complex, event-driven interfaces can also benefit from a Statechart diagram. Often the complex processing in these interfaces is handled with elaborate conditional statements that evaluate the values of the various screen elements. UML Bible These values define the state of the interface. Modeling the interface behavior in the context ofPender unique states can achieve simplification similar to that illustrated in Figures 10-8 ISBN:0764526049 by Tom and10-9. John Wiley & Sons 2003 (940 pages)

Evaluating the significance of each event on the state of the object


One footnote needs to be added to the description of translating a Sequence diagram to a Statechart Companion Site diagram. A transition event is an Web occurrence that alters the state of an object. Not all messages alter the state of an object. For example, common getAn AttributeValue () message simply returns a value. It does not change the state of the object. At most, such a message might appear as an internal transition. More <?xml version="1.0" encoding="ISO-8859-1"?> often than not, you would not model them at all on a Statechart. Table of Contents
UML Bible Preface triggering event does not cause a transition, simply combine the two candidate states into one candidate
Part I - An Introduction to UML

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

If you identify two candidate states, as in the model on the left of Figure 10-32, then later realize that the state, as in the model on the right of Figure 10-32.
- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

Part II - Modeling Object Structure

Figure 10-32: Eliminating insignificant events.


- Modeling Interactions in UML 1.4

Part III - Modeling Object Interactions

- Modeling Interactions in UML 2.0 < Day Day Up > Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling Composite States by Tom Pender


ISBN:0764526049

Modeling often requires different views of(940 a problem. High-level views simplify the model. Low-level views John Wiley & Sons 2003 pages) focus on details of a beginning problem. The UML Statechart diagram supports the concept of nested states, For to advanced users, this book provides allowing both highand low-level views of object behavior and The higher-level view defines the comprehensive coverage of the versatility of 1.4states. and 2.0 UML specifications, and shows and how substate. to use UML to improve concepts of composite state, superstate,
timeliness, quality, and efficiency in development.

AComposite state is simply a state that contains one or more Statechart diagrams. Composite states may Companion Web Site contain either a set of mutually exclusive states or a set of concurrent states. The first, a state containing mutually exclusive states, is literally like embedding a Statechart diagram inside of a state. The second, a <?xml version="1.0" encoding="ISO-8859-1"?> state containing concurrent states, divides a state into two or more regions. A region is simply a space Table ofthe Contents within state. Each region contains a Statechart diagram. The concurrent aspect comes from the fact UML thatBible each region executes independently and at the same time as the other regions. Any given state may Preface only be decomposed into one of these two varieties.
Part I - An Introduction to UML

A composite state isUML? also called a superstate , a generalized state that contains a set of specialized states Chapter 1 - What Is calledsubstates. A superstate may be modeled as a state icon with one additional feature, a composite Chapter 2 - UML Architecture icon that of two small horizontally aligned rounded-rectangles connected by a line as pictured in Chapter 3 consists - UML Diagrams and Extension Mechanisms
Chapter 4

the superstate icon on the left side of Figure 10-33. The icon indicates that the state can be expanded to - Object-Oriented Concepts reveal more details. The expanded form is shown in the right side of Figure 10-33. Eliding and expanding Part II - Modeling Object Structure the state icon is used in the same way as hiding and showing the compartments on a class. The purpose Chapter 5 - Capturing Rules about Objects in a Class Diagram of the diagram is to provide a context for discussion and review. Use the form that is appropriate for the Chapter 6 - How to Capture Rules about Object Relationships level of discussion.
Chapter 7 Chapter 8 Chapter 9 - Testing with Objects
Part III - Modeling Object Interactions

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Figure 10-33: An elided icon (left) Part VII - Automating the UML superstate Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

and the expanded superstate icon (right).

Substates are states within a superstate, the states that make up the Statechart diagram contained within the superstate. For example, Figure 10-33 models the fact that a car can be in the superstate Chapter 22 - XML Metadata Interchange MovingForward. Within the MovingForward superstate are substates of moving forward in first gear, Appendix A - UML 1.4 Notation Guide moving forward in second gear, and so on. The substates explain in finer detail what it means to be Appendix B - UML 2.0 Notation Guide moving forward. This detailed view enables you to highlight concurrent substates or decide how to control Appendix C Standard Elements the splitting and merging of the transitions between mutually exclusive substates. These two uses of Glossary substates (concurrent and mutually exclusive substates) are explained in the next two sections.
Index List of Figures List of Tables

Modeling mutually exclusive substates

List of Listings state (superstate) may be decomposed into two or more lower-level states (substates). All A composite

the rules and notation are the same for the contained substates as for any Statechart diagram. The < Day Day Up > substates reside within a graphic compartment below the name and the internal transitions compartments, as illustrated in Figure 10-34.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure Mutually substates displayed a graphic compartment within a superstate. Chapter 12 - 10-34: Modeling the Useexclusive of a System with the Use Case in Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

States may be decomposed into substates as many levels as the problem requires. For example, moving forward could be a substate of "driving", along with other substates such as "moving in reverse", "in Chapter 14 - Modeling the Application Architecture neutral", and "in park". Too many levels can become difficult to understand, so be careful not to overdo it.
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Modeling concurrent substates

Modeling concurrent substates implies that you have many things occurring at the same time. To isolate these different sets of activity, the composite state is divided into regions, and each region contains a Chapter 19 - Action Semantics distinct Statechart diagram. In the simplest application the different regions support activities that simply do Part VII - Automating the UML Modeling Process not have any sequential dependency. For example, finalizing a ticket sale implies printing the ticket and Chapter 20 - Using Modeling Tool marking the showaseat as reserved. It really doesn't matter which task is performed first so they can be Chapter 21 - Customizing UML Using Profiles done at the same time. Figure 10-35 models the FinalizingSale state of an order object with two Chapter 22 - substates, XML Metadata Interchange concurrent each in its own region. The regions are divided using a dashed line within the Appendix - UML 1.4 Notation Guide graphic A compartment.
Chapter 18 - Applying Constraints to the UML Diagrams Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Figure 10-35: Composite state with concurrent regions.


Companion Web Site

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

I'll explain the use of the initial and final states, as well as other transitions for composite states, in the "Transitions to and from composite states" section later in this chapter.

Submachine States
- What Is UML?

Part I - An Introduction to UML

Chapter 1

A submachine state is a kind of shorthand for referring to an existing Statechart diagram. In fact, the Submachine State metaclass is a subclass of the Composite State metaclass.

Chapter - saw UML the Architecture Earlier 2 you simple icon for the composite state that indicates there is more to the state than is Chapter 3 - UML Diagrams and submachine Extension Mechanisms being shown at the time. The is more explicit. Within a composite state, the submachine state Chapter 4referenced - Object-Oriented Concepts may be in the same manner that a class would call a subroutine or a function on another
Part II Modeling Object Structure class. In fact, a composite state may reference

the same submachine any number of times.

Chapter 5 Chapter 6

For purposes of identification, the composite state that calls the submachine is called the containing state - How to Capture Rules about Object Relationships machine. The submachine is called the referenced state machine. Access to submachine states is Chapter 7 - Testing with Objects through entry and exit points that are specified by stub states.
Part III - Modeling Object Interactions

- Capturing Rules about Objects in a Class Diagram

Chapter 8 - Modeling UML 1.4 The containing state Interactions icon modelsin the reference to the submachine state by adding the keyword include Chapter 9 by - Modeling Interactions inof UML followed a slash and the name the2.0 submachine state, as shown in Figure 10-36. The stub states use Chapter 10 Modeling an Object's Lifecycle inline. UML The 1.4 stub states sub1 and sub1: :sub12 represent the a line with the state name placed near the Chapter 11 - Modeling an Object's Lifecycle in UML entry points into the submachine state. The stub2.0 states subEnd represents an exit point from the
Part IV - Modeling Object Behavior submachine state. The use of entry and

exit points is explained in the next section.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Figure 10-36: State containing a submachine state with stub states designating the available entry and Indexexit points. List of Figures OMG 1.4 List of Tables List of Listings

< Day Day Up > Transitions and composite states

As in any Statechart diagram, the two fundamental elements in composite Statechart diagrams are states and events. The movement between states is defined by the transitions. Movement into and out of Bible composite statesUML presents an added layer of complexity, because now the transition isn't simply between by Tom states at the same level. Pender A single transition might move from aISBN:0764526049 superstate to a substate, to a substate of the substate . John Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage ofusing the versatility of in 1.4 and 2.0 UML The following sections lay out the rules for transitions and out of composite and concurrent states. specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Transitions to and from composite substates Companion Web Site

A composite state is simply a state that contains a Statechart diagram. A Statechart diagram has an initial state and possibly a final state. There are two ways into a composite state. The first method is to transition <?xml version="1.0" encoding="ISO-8859-1"?> to the composite state itself. This is modeled by drawing the transition pointing to the edge of the Table of Contents composite state icon. This notation is interpreted to mean that the composite state starts in the default UML Bible initial state. The default initial state is the substate associated with the initial state icon in the contained Preface Statechart diagram. That is to say, if no other entry point is specified by the transition, then the initial state Part I - assumed An Introduction to UML is the entry point for the transition into the superstate.
Chapter 1 - What Is UML? In Figure part of the Statechart diagram for the ShowSeat object. The shorthand composite Chapter 2 10-37 - UMLmodels Architecture

state is3 on-the left, and theand expanded composite state is on the right. On the left, the initial state points to Chapter UML Diagrams Extension Mechanisms the edge the composite state Active. This means that the initial state of the ShowSeat object is the Chapter 4 of - Object-Oriented Concepts default initial state within the Active Part II - Modeling Object Structure
Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

superstate, that is, "Not Priced, Not Held, Not Sold".

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI Bringing Rigor the Model Active superstate. Theto initial state on

Figure 10-37: Transition to the default initial state.

Chapter 17 the - Representing an Architecture UML 2.0 Note that initial state icon on the left in specifies the start of the Statechart diagram that contains the

the right is the starting point for the Statechart diagram contained

Chapter 18 superstate. - Applying Constraints to the UML Diagrams within the Chapter 19 - Action Semantics

It is VII also valid to show that transition is Process directed Part - Automating the UML Modeling

to a specific substate. In this case, the transition points through the edge of the superstate to the edge of the specific substate. In Figure 10-38 the transition arrow Chapter 20 - Using a Modeling Tool (starting from the initial state icon outside the superstate) points from outside the superstate "Active" to the Chapter 21 - Customizing UML Using Profiles substate "Not Priced, Not Held, Not Sold". The effect of this example is the same as in Figure 10-37 Chapter 22 - XML Metadata Interchange because both transitions are directed to the same substate. But using this second technique, where the Appendix A - UML 1.4 Notation Guide transition arrow crosses the superstate edge and points directly to a substate enables the modeler to direct Appendix B - UML 2.0 Notation Guide the transition to any substate.
Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 3 Chapter 4 Chapter 5

- What Is UML? Figure Initial state refers to a specific substate. Chapter 2 - 10-38: UML Architecture

As with entering a superstate, exiting the superstate can be accomplished in multiple ways. An object may - Object-Oriented Concepts leave the superstate regardless of the current substate, leave from a specific substate, or exit at the Part II - Modeling Object Structure completion of all activities within the superstate.
- Capturing Rules about Objects in a Class Diagram Chapter 6 that - How Capture Rules about To show an to event would cause theObject objectRelationships to leave the superstate, regardless of the current substate,

- UML Diagrams and Extension Mechanisms

draw the the edge of the superstate to the new state. For example, all the show seats are Chapter 7 transition - Testing from with Objects archived at the end of a show regardless Part III - Modeling Object Interactions of whether they were priced, or sold. Figure 10-39 models two ways (the and Interactions expanded views) to represent how the archive event causes the show seat to Chapter 8 elided - Modeling in UML 1.4 transition activeInteractions to archived,in no matter Chapter 9 from - Modeling UML 2.0 which of the six substates the show seat might be in at the time it is archived. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - 10-39: UML 2.0 Notation Figure Leaving a Guide superstate. Appendix C - Standard Elements

It is also possible to exit the superstate directly from a specific substate. Modeling this situation implies that Glossary the exit event may only happen while the object is in the designated substate. For example, we could Index
List of Figures

specify the rule that while a show seat has not yet been priced, it may be deactivated, or made ineligible for sale, but once it is priced, it cannot be deactivated. Figure 10-40 models the way to indicate that a List of Tables transition is only valid from a specific state. The transition is drawn from the edge of the substate, through
List of Listings

the edge of the superstate, and pointing to the InActive state. < Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 - 10-40: What IsExiting UML? a superstate from a specific substate. Figure Chapter 2 - UML Architecture

Note that transition applies to moreMechanisms than one, but not all substates, then the transition has to be Chapter 3 if - the UML Diagrams and Extension drawn multiple times, once Concepts for each applicable substate. If the transition applies to all substates, use the Chapter 4 - Object-Oriented notation in Figure 10-39. But if there Part II - Modeling Object Structure is even one exception, one substate to which the transition does not apply, you must draw the transition from each substate as in Figure 10-40. Chapter 5 - Capturing Rules about Objects in a Class Diagram
Chapter How to Capture Rules about Object Relationships Finally,6an-object may leave a superstate simply because all of the activity of the state and its substates Chapter 7 Testing with Objects has been completed. For example, you are currently in the state of reading this book. If you receive an
Part IIIsuch - Modeling Object Interactions event as a phone ringing, a doorbell,

or a time event like "It's time for dinner", you will exit the reading

Chapter 8 -is Modeling in UML described. 1.4 state. This like the Interactions transitions already But you will also exit the reading state when you finish Chapter 9the - Modeling Interactions in UML 2.0 an automatic transition because nothing external caused the reading book. This is sometimes called Chapter 10 anautomatically Object's Lifecycle in the UML 1.4 of the state was completed. Automatic transition is transition, it Modeling happened when work Chapter 11 by - Modeling an Object's Lifecycle in the UML 2.0 of the superstate and directing it to the new state. But modeled starting the transition arrow at edge
Part - Modeling Behavior the IV transition has Object no event label.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Stubbed transitions

Chapter 14 - Modeling Application Architecture need to describe the the entire state machine. Stub states represent only the entry and exit points for a Chapter 15 Modeling Software Using theas Component submachine state. Each stub is drawn a line withDiagram the substate name as the label. The name just needs Chapter 16 -the Using Deployment Diagrams in UML 1.4 to be near line. A stub state can be used for both entry into a submachine and exit from a submachine. Chapter 17 - Representing an Architecture in UML A stub used as an entry point is a stub with one 2.0 or more transition arrows pointing to it. A stub used as an
Part - Bringing Rigor to the one Model exitVI point is a stub state with or

Stub states provide yet another shorthand for moving in and out of a state machine while avoiding the

more arrows coming out of it.

Chapter 18 - Applying Constraints to the UML Diagrams

Since substates can themselves have substates (nested states), the stub notation follows the double-colon Chapter 19 - Action Semantics (::) VII path used elsewhere in UML (see class paths Part - notation Automating the UML Modeling Process
Chapter 21 - Customizing UML Using Profiles

in Chapter 5). For example, substate1 :: substate2 :: substate3 refers to substate3 that resides within substate2, which resides within substatel. Chapter 20 - Using a Modeling Tool
Chapter - Handle XML Metadata Interchange outside22 the Failure state directly to the sub1 substate of FailureSubmachine. The event error2 Appendix A UML 1.4 Notation Guide causes a transition from outside the Handle Failure state directly to the sub12 substate within the sub1 Appendix - the UMLFailureSubmachine. 2.0 Notation Guide substateBof Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure 10-41 provides two stub states, sub1 and sub1 :: sub12. The event error1 causes a transition from

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml design version="1.0" encoding="ISO-8859-1"?> of the submachine. $OMG 1.4 Table of Contents

Figure 10-41: Stub states provide entry points for a submachine state while hiding the complete

UML Bible events can cause the object to exit a state. Figure 10-42 adds the stub state subEnd. The stub Similarly, Preface state subEnd provides an exit point from the FailureSubmachine state. The event fixed1 forces the object
Part - the An Introduction to UML out I of sub machine FailureSubmachine

and out of the Handle Failure composite state.

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure 10-42: Modeling an exit stub state. OMG 1.4

Chapter 14 - Modeling the Application Architecture Chapter 15 Modeling Software Using the Component Diagram History indicator Chapter 16 - Using Deployment Diagrams in UML 1.4

The history state an is a shorthand in notation for a complex modeling problem. It is common to want to Chapter 17 - pseudo Representing Architecture UML 2.0 undo or more actions in an application, Part VIone - Bringing Rigor to the Model
Chapter 19 - Action Semantics

effectively returning the application to a previous state.

Returning to a simple state is easy. Returning to a composite state means having to find the specific Chapter 18 Applying Constraints to the UML Diagrams

substate that was active when the object left the composite state. If the Statechart diagram had to account for every possible transition back into the layers of substates, the diagram would quickly become too Part VII - Automating the UML Modeling Process complex to be useful. The history pseudo state provides a simple alternative.
Chapter 20 - Using a Modeling Tool Chapter 21 - pseudo Customizing UML Using The history state may referProfiles to either shallow history or deep history. The terms shallow and deep Chapter - XML Metadata Interchange refer to22 how far down in the layers of substates the object should be restored. Shallow history means that Appendix A UML 1.4 Notation Guide the object should return to the last substate on the topmost layer of substates. Deep history means that Appendix B UML 2.0 Notation Guide the object needs to be returned to the exact substate from which it left, no matter how many layers down Appendix that is. C - Standard Elements Glossary Index

Tip For both shallow and deep history, there can be a default that points to an initial state either at the topmost layer, for the shallow history default, or an initial state at a lower layer, for the deep history List of Figures default. These defaults are applied if and when the state is entered for the first time via the List of Tables historical pseudo state.
List of Listings

Figure 10-43 models the historical pseudo state for the show seat. In the event that the show seats are < Day Day Up > restored from archive, we want them to be returned to their former substate. The notation for a history pseudo state is a small circle. For shallow history, the circle contains the letter H. For deep history, the circle contains H*, the letter H with an asterisk. The transition arrow returning from the Archived state UML Bible points to the circle to show that the transition changes the state of the show seat back to whatever substate ISBN:0764526049 Tom is dictated by the by type of Pender history pseudo state.
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Figure 10-43: Historical pseudo state.

Transitions to and from concurrent states

Chapter 1

- What Is UML? A composite state may contain concurrent states. Each set of concurrent states resides in a separate Chapter 2 - UML Architecture

region. 3 Each region abides by Extension all the rules we've defined so far for transitions in and out of superstate and Chapter - UML Diagrams and Mechanisms for submachines. In addition, concurrent states introduce the need to coordinate simultaneous behaviors, Chapter 4 - Object-Oriented Concepts including synchronization, split of Part II - Modeling Object Structure
Chapter 5 Chapter 6

control, and merge of control.

- Capturing Rules about Objects in a Class Diagram Split of control and merge of control - How to Capture Rules about Object Relationships

Chapter - Testing with Objects Split of 7 control means that based on a single transition, you want to proceed with many tasks concurrently.
Part III Modeling Object by Interactions Split of-control is shown a single transition dividing

into multiple arrows, each pointing to different

substates. divideInteractions is accomplished with Chapter 8 -The Modeling in UML 1.4 the synchronization bar used as a forking mechanism, as shown 9 in Figure 10-44. Chapter - Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram

Figure 10-44: Split of control and merge of control using the synchronization bar.

Chapter 16 targets - Usinga Deployment Diagrams 1.4 the transition splits into two paths, each pointing to a Event T1 synchronization bar. in AtUML the bar, Chapter 17 - Representing Architecture in UML different substate, one in an each region within the2.0 composite state. The transition splits into one transition for
Part VIregion - Bringing Rigor to the Model each in the composite state.

Once the split takes place, there may be any number of substates and

transitions each region. The regions execute independently of one another. Chapter 18 -in Applying Constraints to the UML Diagrams
Chapter 19 - Action Semantics

Merge of control means that based on the completion of a number of transitions, you want to proceed with a single task. Basically, a merge is the opposite of a split. On the right end of Figure 10-44, there is a Chapter 20 - Using a Modeling Tool second synchronization bar that illustrates the merge of control. There are two transitions hitting the bar Chapter 21 - Customizing UML Using Profiles (T2 and T3) and one exiting the bar. The completion of the two transitions merge at the bar indicating a Chapter 22 - XML Metadata Interchange merge point. Once both the T2 and T3 events occur, a single merged transition continues on out of the Appendix A - UML 1.4 Notation Guide composite state. T2 might happen ten minutes after T3, at the same time, or long before T3. It doesn't Appendix B - UML 2.0 Notation Guide before the merge is complete and the transition can be completed. A matter. Both events have to occur Appendix C Standard Elements merge point may merge any number of transitions into a single transition.
Part VII - Automating the UML Modeling Process

Glossary

Synch states Index


List of Figures List of Tables

List of Listings

Sync states extend the split and merge of control across regions to coordinate the behavior of concurrent states. Such coordination is sometimes necessary even between relatively autonomous activities. For

example, we could compare separate regions within a composite state to the behavior of different < Day Day Up > components in a car, such as the transmission stick and the clutch. While driving, I can move the stick on my manual transmission any time I like. But if I move it without first pressing in the clutch I get a very unpleasant noise.
UML Bible

Figure 10-45 models twoPender concurrent regions within a composite state. Reading from left to right, when ISBN:0764526049 by Tom state B1 is completed, it transitions to a split point. At the split point a transition is sent to a sync state, John Wiley & Sons 2003 (940 pages) modeled as a circle containing an asterisk (*). In the meantime, when C1 completes, it transitions to a For beginning to advanced users, this book provides merge point. In order for the transition from C1 to C2 to finish, it must wait for the transition from B1. In comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how use UML to improve other words, the transition to C2 has to wait forto the completion of both B1 and C1, even though B1 is not in the same region.timeliness, quality, and efficiency in development.
Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

Figure Using sync states to coordinate Chapter 5 - 10-45: Capturing Rules about Objects in a Class behaviors Diagram across regions.
Chapter 6 Chapter 7 Chapter 8

In like manner, B3 cannot proceed until both C2 and B2 have completed.


- Testing with Objects - Modeling Interactions in UML 1.4

- How to Capture Rules about Object Relationships

Part III - Modeling Object Multiple transitions outInteractions of a superstate

As with9any composite state, there many Chapter - Modeling Interactions in are UML 2.0 ways to exit a composite state with concurrent substates. Figure 10-46 models a composite state that contains Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 three concurrent regions. There are three ways that the object can exit the composite state. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Figure 10-46: Multiple ways to exit a composite state with concurrent substates.

Chapter 21 - Customizing UML Using Profiles 1. Some type of interrupt event, such as T1, could take the object out of any and all substates and out Chapter of 22 the - XML Metadata Interchange composite state entirely. Appendix A - UML 1.4 Notation Guide

2. All regions could run to completion. In this case the object would automatically Appendix B three - UML substate 2.0 Notation Guide transition to the next state, assuming one has been defined. Appendix C - Standard Elements
Glossary Index

List of Figures List of Tables

3. A specific event, such as T2, could take the object out of a specific substate and out of the composite state entirely.

List of Listings

3.

< < Day Day Day Day Up Up > >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

The Statechart diagram models the of a single John Wiley & Sons life 2003 (940 pages) object. The fundamental elements of a Statechart diagram are states and events.to The following are this the key points discussed in this chapter: For beginning advanced users, book provides Astate represents the condition of thehow object. The state recorded in the values of one or more of the specifications, and shows to use UML to is improve timeliness, attributes of the object. quality, and efficiency in development. Anevent triggers a change in state, a transition. An action expression is a behavior triggered by an event, the behavior that actually makes the <?xml version="1.0" encoding="ISO-8859-1"?> changes to the attribute values that redefine the state of the object. Table of Contents
UML Bible Preface Companion Web Site comprehensive coverage of the versatility of 1.4 and 2.0 UML

The Statechart diagram allows many events to transition to the same state. Each event may trigger an action. When all the actions associated with the transitions into a state are the same, you can model Part I - An Introduction to UML them as a single entry action. Place the entry action description in the internal transitions Chapter 1 - What Is UML? compartment of the state.
Chapter 2 - UML Architecture Likewise, the Statechart diagram allows many events to transition out of the same state. Each event Chapter 3 - UML Diagrams and Extension Mechanisms

may an action. When all the actions associated with the transitions out of a state are the same, Chapter 4 trigger - Object-Oriented Concepts you can model them as a single Part II - Modeling Object Structure
Chapter 6 Chapter 7 Chapter 8

exit action. Place the exit action description in the internal transition

compartment of the state. Chapter 5 - Capturing Rules about Objects in a Class Diagram When an action is directed at an object other than one modeled by the Statechart diagram, use the - Testing with Objects dot notation to describe the send event. Place the object name and a period in front of the action Part III - Modeling Object Interactions expression.
- Modeling Interactions in UML 1.4 Chapter 9 -an Modeling Interactions in UML 2.0 When event takes place it sets off a series of responses in the form of actions and activities. The Chapter 10 anfor Object's Lifecycle inactivities UML 1.4 is: order ofModeling execution the actions and Chapter 11 Modeling an is Object's Lifecycle in UML 2.0 state, interrupt it. 1. - If an activity in progress in the current
Part IV - Modeling Object Behavior

- How to Capture Rules about Object Relationships

2. - Execute Chapter 12 Modelingthe theexit: Use action(s). of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

3. Execute the actions associated with the event that started it all.

Chapter 14 Modelingthe theentry: Application Architecture 4. - Execute action(s) of the new state. Chapter 15 - Modeling Software Using the Component Diagram

5. - Execute the activity or activities. Chapter 16 Using Deployment Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

A number of different types of events can trigger a transformation in an object:

Chapter 18 Call - Applying to the UML Diagrams eventsConstraints are basically messages from other objects telling the modeled object what to do. Chapter 19 They - Action areSemantics explicit calls to an operation on the object.
Part VII - Automating the UML Modeling Process

elapsed-time event Chapter 20 The - Using a Modeling Tool triggers a transition based on an amount of time that has passed. use Profiles the keyword after followed by a time expression. Chapter 21 Elapsed-time - Customizing events UML Using
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

Change events monitor the object and/or its environment for some change. Change events use the keyword when followed by a Boolean expression.

Appendix CSignal - Standard Elements events are asynchronous invocations, much like call events but without requiring a reply. Glossary Index Guard conditions may qualify the execution of an event. The event only executes when the guard List ofcondition Figures is true. List of Tables List of Listings

The UML supports the ability to open up a state and break it into smaller pieces. The smaller pieces

aresubstates , states within a state. The larger containing state is referred to as the superstate or < Day Day Up > composite state. Thesubstates are modeled as a Statechart diagram within a state. All the normal notation of a Statechart is UML available within a state. When there is more than one concurrent substate, simply split Bible thesuperstate icon with dashed lines separating the superstate into regions. ISBN:0764526049 by Tom Pender Split and merge of control use the synchronization bar to represent forking or synchronization or both.
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML The Sequence diagram provides the events that can affect an object's condition. It also helps to specifications, and shows how to use UML to improve identify the periods of time between the changes caused by the events. These periods of time when timeliness, quality, and efficiency in development. John Wiley & Sons 2003 (940 pages)

the object remains unchanged may represent states on the Statechart diagram. To derive the Companion Web Site Statechart diagram from the Sequence diagrams use the following steps: 1. Identify the events directed at the lifeline of the object you're modeling.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents 2. Identify candidate states by isolating the portions of the lifeline between the incoming events. UML Bible Preface

3. Name the candidate states using adjectives that describe the condition of the object during the period of time represented by the gap. Part I - An Introduction to UML
Chapter 1 What Is new UML? 4. - Add the states and events to the Statechart diagram. Chapter 2 - UML Architecture

The the Sequence diagram is only one scenario. The scope of the Statechart diagram is the Chapter 3 scope - UMLof Diagrams and Extension Mechanisms entire life of the object, Concepts so it might take many Sequence diagrams to build one Statechart. Chapter 4 Object-Oriented
Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram Day Day Up > - How to Capture Rules about Object < Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Chapter UML 11:Bible Modeling an Object's Lifecycle in UML 2.0 ISBN:0764526049 by Tom Pender
Overview
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows use UML to diagrams improve (apart from the ongoing name The single greatest change between UMLhow 1.4 to and 2.0 state timeliness, quality, and efficiencyof in the development. changes) is the effort to separate the semantics Activity diagram from that of the state machine

semantics. In UML 1.4 there wasWeb an attempt to treat the Activity diagram as a subset of the state machine Companion Site semantics. This resulted in a kind of forced fit that limited the features of the Activity diagram and drew attention away from some of the features that could be valuable in a state machine, such as deferred <?xml version="1.0" encoding="ISO-8859-1"?> events, the description of the logic of transitions in terms of sending and receiving signals, and making Table of Contents decisions during the transition. UML 2.0 draws a clear distinction between the semantics of the two types UML Bible of diagrams and remedies many of these artificially imposed limitations.
Preface
Part ICaution - An Introduction to UML "state The expression

machine" is used with three different meanings in the UML 1.4 and 2.0

Chapter 1 Chapter 2 Chapter 3 Chapter 4

specifications. It can mean a State Machine diagram (the topmost state machine description - What Is UML? of a behavior), a general reference to the concept of states and transitions, or a reference to - UML Architecture the Diagrams State Machine metaclass. - UML and Extension Mechanisms
- Object-Oriented Concepts

Be aware that the specification does not standardize rules that would aid in drawing a distinction in the usage. Throughout the chapter I capitalize references to the metaclasses Chapter 5 - Capturing Rules about Objects in a Class Diagram and the diagram. All other references are lowercase. But to be certain of the usage you have Chapter 6 - How to Capture Rules about Object Relationships to depend on the context.
Part II - Modeling Object Structure

Chapter 7

- Testing with Objects

Part IIIfrom - Modeling Object Interactions Apart the separation of the semantics

for the State Machine and Activity diagrams, you will find the

Chapter 8 changes: - Modeling Interactions in UML 1.4 following Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

The State class used to be sub-classed to create simple, composite, and submachine states. These state types are now represented by Boolean attributes within the State class. A State may now own a Constraint that defines a state invariant.

- Modeling Interactions in UML 2.0

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Entry exit actions are Using now defined as Activities Chapter 13 and - Modeling Behavior an Activity Diagram rather than Procedures.
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

A Guard is now defined as a Constraint specified by a Transition.

Chapter 15State - Modeling Software Using the Component The and State Machine classes may nowDiagram contain Regions. Chapter 16 - Using Deployment Diagrams in UML 1.4

Three pseudo states have been to the PseudostateKind enumeration: entrypoint, Chapter 17 -new Representing an Architecture inadded UML 2.0 exitpoint , and terminate. Part VI - Bringing Rigor to the Model
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

UML 2.0 has dropped the concept of a sync state. The distinction between actions and activities has been replaced with a single definition for Activity.

Chapter 20 - Using a Modeling Tool

UML adds the ConnectionPoint, a type of PseudoState (specified by a PseudoStateKind) that Chapter 21 2.0 - Customizing UML Using Profiles defines navigation between, as well as into and out of states. Chapter 22 - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

Events are now called Triggers.

Appendix C - Standard A State Machine Elements may extend/specialize another State Machine. Glossary Index The introduction of the Protocol State Machine diagram as a subclass of a State Machine diagram. List of Figures List of Tables

List of Listings

Figure 11-1 shows the Class diagram of the state machine metamodel. The highlighted areas indicate the changes since UML 1.4. For each new element described here, there are also associations to existing

classes in the metamodel. The new classes, their associations, and their impact on the use of the State < Day Day Up > Machine diagram are explained in this chapter along with a complete description of the notation and use of the State Machine diagram and the new Protocol State Machine diagram.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2

- What Is UML?

- UML Architecture Figure The UML 2.0Extension State diagram metamodel, with the changes from UML 1.4 highlighted. Chapter 3 - 11-1: UML Diagrams and Mechanisms

OMG Chapter 4 - 2.0 Object-Oriented Concepts


Part II - Modeling Object Structure

The UML 2.0 State Machine diagram replaces the UML 1.4 Statechart diagram. A State Machine diagram - Capturing Rules about Objects in a Class Diagram contains a variety of states, events, and transitions, initial and final states, and a variety of pseudo states Chapter 6 - How to Capture Rules about Object Relationships (connectors), used to model behaviors.
Chapter 5 Chapter 7 - Testing with Objects
Part - Modeling Object Interactions For III those of you who have jumped directly

to this chapter, skipping Chapter 10's description of UML 1.4, I

Chapter 8 - Modeling Interactions in UML 1.4 and notation, but with abbreviated descriptions where UML 2.0 have included all of the diagram semantics Chapter - Modeling Interactions in1.4. UML did not 9 alter the specification from If2.0 the description leaves some unanswered questions, simply look Chapter 10 -10 Modeling an Object's Lifecycle in UML 1.4 special attention to the differences between UML 1.4 atChapter for a more detailed explanation. I draw

and UML as theyan become relevant to in the current Chapter 11 2.0 - Modeling Object's Lifecycle UML 2.0 topic.
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity< Diagram Day Day Up >
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Defining a State Machine by Tom Pender


ISBN:0764526049

A State Machine John diagram describes classifier. Most often a State Machine diagram describes the Wiley & Sons a 2003 (940 pages) lifecycle of a typeFor of object. But a advanced state machine beginning to users,may this also book describe provides a behavior such as a procedure or operation, or a behaviored feature such as a use case. The object comprehensive coverage of the versatility of 1.4 anddescribed 2.0 UML by the State Machine and shows to use UML to improve diagram providesspecifications, the context for the Statehow Machine diagram and all that it contains. The context scopes timeliness, quality, and efficiency in development. the triggers and attributes available to the State Machine diagram. For example, the State Machine diagram for a seat in the theater Web has access only to those operations and attributes defined for theater Companion Site seats. In the case of a behavioral feature, the parameters of the State Machine diagram match those of the behavior it models. For example, the State Machine diagram for an operation models the method for <?xml version="1.0" encoding="ISO-8859-1"?> that operation - receiving and editing the arguments, processing the request, and formulating the return Table of Contents values.
UML Bible Preface A State Machine diagram contains a series of states, the transitions connecting the states, the trigger for
Part - An Introduction to UML the I transitions, the activities performed

in the execution of the transitions, and the activities performed

Chapter 1 - the What Is UML? throughout duration of each state. Chapter 2 - UML Architecture

State machines states in a State Machine diagram may own one or more regions. Each region Chapter 3 - UML and Diagrams and Extension Mechanisms
Chapter 4

contains a-series of states and transitions that is independent of the states and transitions in other regions. Object-Oriented Concepts This feature supports concurrency within a state machine or state. Part II - Modeling Object Structure
Chapter - Capturing Rules about Objects in a Class Diagrammetaclass allows a state machine to be a In UML52.0, the addition of the ConnectionPointReference Chapter 6 How to Capture Rules about Object Relationships reusable component within other state machines. A reusable state machine is called a submachine state. Chapter 7 - Testing with Objects identify entry and exit channels that may be referenced much like The connection point references
Part III - Modeling Object Interactions interfaces on a class.

Chapter 8

- Modeling Interactions in UML 1.4

UML 2.0 adds the ability to extend State Machine diagram in the same way that you can extend a Chapter 9 also - Modeling Interactions in UMLa 2.0 class. This allows a State Machine diagram to parallel the classifiers that they describe. That is, when the Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 State Machine diagram describes a subclass, the State Machine diagram of the subclass can extend the Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 State Machine diagram of the superclass, saving substantial effort reworking models for specialized Part IV - Modeling Object Behavior classes while ensuring consistent definitions. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

< Day Day Up > Chapter 14 - Modeling the Application Architecture


Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling an Object State by Tom Pender


ISBN:0764526049

A state describesJohn the condition of an object. condition may be expressed in any of the following ways: Wiley & Sons 2003 (940That pages) In terms of the object's attributes: comprehensive coverage of the versatility of 1.4 and 2.0 UML The state is described by the of the attributes that define the object's structure. For timeliness, quality, andvalues efficiency in development. example, a theater seating location may be enabled or disabled. These values (enabled and Companion Web Site disabled) are recorded in an attribute. The state is described by the values of the attributes that define the object's relationships. A ticket <?xml version="1.0" encoding="ISO-8859-1"?> may be sold or not sold. Whether it is sold is captured in the presence or absence of a link to an Table of Contents
UML Bible order (recorded as a null or non-null value in an attribute holding the reference to the object). Preface
Part I - An Introduction to UML

For beginning to advanced users, this book provides

specifications, and shows how to use UML to improve

In terms of a behavior that the object is engaged in:

Chapter 1 Performing - What Is UML? an action. An object may perform work while in a given state. In fact, a state may Chapter 2 itself - UML Architecture be decomposed into a series of states. The completion of all the work in a given state,

all the work of all substates within the state, triggers a transition out of that state. While Chapter 3 including - UML Diagrams and Extension Mechanisms the work, the object is in the "occupied doing something" state. Chapter 4 performing - Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5 Chapter 6

Waiting for an event. An object may also simply stop doing anything until it receives a trigger to - Capturing Rules about Objects in a Class Diagram continue. In this case the object is the state of "doing nothing until something happens."
- How to Capture Rules about Object Relationships

Chapter 7 terms, - Testing with models Objects a period of time in which an invariant condition holds true. That invariant In formal a state
Part III -a Modeling Object Interactions may be set of attribute values, the condition

of waiting for (not having received) an event, or working on

Chapter 8having - Modeling Interactions in UML 1.4 (not yet completed) an activity. Chapter 9 - Modeling Interactions in UML 2.0 The State metaclass itself distinguishes types Chapter 10 Modeling an Object's Lifecyclethree in UML 1.4 of states: Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Simple - a state that does not contain any other states.

Chapter 12 - Modeling the that Use of a System with the Use Case Diagram within separate regions. Composite - a state contains one or more state machines Chapter 13 - Modeling Behavior Using an Activity Diagram

Submachine - aApplication state that contains the specification Part V - Modeling the Architecture

of the entry and exit points for a reusable state machine. This too can be confusing. The containing state is called a submachine state. The contained Chapter 14 - Modeling the Application Architecture state machine is called a submachine. Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0 this chapter.

The rest of this section is devoted to simple states. Composite and submachine states are covered later in

Chapter 18 11-2 - Applying Constraints to the UML Diagrams AsFigure shows, UML 1.4 defined these various types of states as subclasses of the State class.

UML 2.0 to Semantics simplify the model by defining the state types using the Boolean attributes isSimple, Chapter 19chose - Action isComposite, and isSubmachineState cover Part VII - Automating the UML Modeling (I'll Process isOrthogonal in the section on regions). The benefit here is simplicity for modeling-tool vendors who need to support this model. Functionally it makes no difference in Chapter 20 - Using a Modeling Tool the use of the three types of states. Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Asimple state is just that-simple. There can be no substates and no regions; hence no submachine states UML Bible (see what I meant about the terminology). The notation is like UML 1.4's: a rounded rectangle with two Preface compartments, for the name and internal transitions, as illustrated in Figure 11-3. The name may appear
Part I - name An Introduction to UML in the compartment or in

Figure 11-2: The change in the definition of state types from UML 1.4 to UML 2.0. OMG 1.4 OMG 2.0 modified

a tab on top of the state icon. The first option is by far the most commonly

Chapter 1 - The What Is UML? used form. internal transitions compartment may define entry and exit actions, activities, internal Chapter 2 - and UML deferred Architecture transitions, events. Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML and 2.0 run to completion, before the state begins any Entry actions are activities that always execute,
Part IV - Modeling Object activities or responds to Behavior any internal

Figure 11-3: Simple state notation.

transitions. The entry actions execute regardless of the specific event

Chapter 12 - Modeling the Use a System with actions the Use are Case Diagram by writing Entry/ followed by the name that triggered a transition intoof the state. Entry modeled Chapter 13 - Modeling Behavior Using an Activity Diagram of the action.
Part V - Modeling the Application Architecture

Exit actions are activities that always execute, and run to completion, before the state responds to events Chapter 14 - Modeling the Application Architecture that trigger transition out of the state, what that event might be. Exit actions are modeled by Chapter 15 - a Modeling Software Using the regardless Componentof Diagram writing 16 Exit/ followed by the name of thein action. Chapter - Using Deployment Diagrams UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Neither entry nor exit actions may be interrupted. Entry and exit actions are unique types of activities that make the changes to an object's attributes that redefine the state of the object. Interrupting them might Chapter 18 object - Applying Constraints the UML Diagrams leave the in an undefinedto state.
Chapter 19 - Action Semantics
Part VII - Automating the that UMLan Modeling Process Activities are behaviors object performs

while in the state that owns the activity. Activities begin execution after all entry actions have completed. If an event triggers a change to another state, the activity Chapter 20 - Using a Modeling Tool may be interrupted. Unlike actions, activities, by definition, cannot change the state of the object, so Chapter 21 - Customizing UML Using Profiles interrupting them will not corrupt the state of the object. That is not to say that they are insignificant, so Chapter 22 - XML Metadata Interchange care should be taken in how the interruption is handled. Appendix A - UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C the - Standard Elements example, event changeName(nameText:String) on an active regular customer does not change Glossary the state of the customer, but it does need to make the requested change to the name attribute of the Index customer. Modeling an internal transition makes it clear under what circumstances such a modification is List of Figures possible. List of Tables

Internal transitions are events that trigger a response from the object, but not a state change. For

While an object is in a state, it may receive events that it cannot respond to, but which need a response List of Listings

some time in the life of the object. In the current state, the event needs to be set aside, or deferred, for late < Day Day Up > consideration. Events that can be deferred are identified in advance using the notation, "Event-name / defer." A deferred event is passed to the next state along with the next transition. The event may be deferred as many times as the model allows. The last state to receive the event without deferring it must UML Bible triggered by the event. implement the procedure(s)
by Tom Pender
ISBN:0764526049

TheisFinal attribute refers to&the ability to (940 extend a state. A state may override features of an inherited John Wiley Sons 2003 pages) state as long as the isFinal attribute of the feature is set to false. A state may be extended in any of the For beginning to advanced users, this book provides following ways: comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency development. A simple state can be extended to become ain composite state by: Web Site Adding one Companion or more regions <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

Adding states and transitions

A composite state can be extended by: Adding regions

Part I - An Introduction to UML

and transitions Chapter 1 Adding - What states Is UML?


Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6

Adding entry or exit actions, or activities


- Object-Oriented Concepts

- UML Architecture

- UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

Defining triggers and ports


- Capturing Rules about Objects in a Class Diagram

Thetrigger used in a state machine is an extension of the basic definition found within the behavioral and - How to Capture Rules about Object Relationships structural portions of the specification (the Superstructure :: Behavior :: CommonBehaviors and Chapter 7 - Testing with Objects Superstructure :: Structure :: CompositeStructure packages). A trigger defines the types of events that can Part III - Modeling Object Interactions initiate a transition between states. An event is anything that can happen in a system, such as a signal sent Chapter 8 behavior, - Modeling in UML 1.4 by some a Interactions call to a specific operation, reaching a point in time, or a change in values within the Chapter 9 Accordingly, - Modeling Interactions inbe UML 2.0 as any of the following four trigger types depicted in Figure 11system. a trigger can typed Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 4.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Figure 11-4: Trigger metamodel. Part VII - Automating the UML Modeling Process OMG Chapter 20 - 2.0 Using a Modeling Tool
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

SignalTrigger: (replaces SignalEvent in UML 1.4) A trigger that will allow an asynchronous signal to start a transition.

Appendix B - UML 2.0 Notation Guide in UML 1.4) A trigger that will allow a transition to be initiated by the CallTrigger: (replaces CallEvent Appendix C - Standard Elements (called a call event). invocation of an operation Glossary Index

TimeTrigger: (replaces TimeEvent in UML 1.4 and adds the attribute isRelative) A trigger that specifies a deadline at which a transition must take place. The time expression of the time trigger may List of Figures be relative (10 minutes from now) or absolute (5:00 PM).
List of Tables List ofChangeTrigger: Listings (replaces ChangeEvent in UML 1.4) A trigger that recognizes a change in the values

of one or more attributes evaluated by a Boolean expression. The change does not have to be the < Day Day Up > result of a specific action. A transition is shown as a solid line originating from the source vertex and terminated by an arrow on the target vertex. A vertex is any type of node within a state machine (initial, final, state, decision, and so forth). UML Bible The transition may labeled by a transition string that has the following general format: ISBN:0764526049 bybe Tom Pender
John Wiley & Sons 2003 (940 pages)

trigger-signature ['['guard']'] '/' this activity-expression For beginning to advanced users, book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, andof efficiency in development. Thetrigger-signature is a listquality, of names the triggering events, followed by an assignment specification: Companion Web Site

event-name-list ['('assignment-specification')']
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

where the assignment-specification is a comma separated list of items. Each item in the assignmentspecification may take one of two forms. is an implicit assignment of the corresponding parameter of the event to

Part I - first An Introduction to UML In the form the attr-name

Chapter 1 - What Is UML? an attribute (with the same name) of the state machine instance or of the context object. Chapter 2 - UML Architecture Chapter 3 - UML Diagrams and Extension Mechanisms attr-name: Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure

In the second form, the attr-name is anin implicit declaration Chapter 5 - Capturing Rules about Objects a Class Diagram of a local attribute within the effect activity and an6 implicit assignment of theabout corresponding event parameter to this local attribute. (Like methods for Chapter - How to Capture Rules Object Relationships an operation, an instance of an activity invoked by a transition can have local attribute, attributes that are Chapter 7 - Testing with Objects only available during the Interactions execution of Part III - Modeling Object
Chapter 8

the activity.)

- Modeling Interactions in UML 1.4

attr-name ':' type-name: Chapter 9 - Modeling Interactions in UML 2.0


Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Example transition, with a guard and activity expression:

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

right-mouse-down (location) is within the window] Chapter 13 - Modeling Behavior Using an [location Activity Diagram / object := the pick-object (location); Part V - Modeling Application Architecture
Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor the to the Model fires. executed if and when transition

object.highlight ()

The transition will only be allowed if the guard (location is within the window) is satisfied.

Chapter 17 - Representing an Architecture in UML 2.0 Theactivity-expression (object := pick-object (location); object.highlight () ) is

It may be written in terms of operations, attributes, and links of the

Chapter - Applying Constraints to the UML Diagrams context18 object and the parameters of the triggering event, or any other features visible within its scope. The

activity 19 expression may be an action sequence comprising a number of distinct actions including actions Chapter - Action Semantics thatVII explicitly generate events, such asProcess sending Part - Automating the UML Modeling
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix B - UML 2.0 Notation Guide

signals or invoking operations. The details of this expression are dependent on the action language chosen for the model. Chapter 20 - Using a Modeling Tool A port defines an entry point to a trigger, a kind of gate between a state or transition and a trigger. A port is described using two qualifying attributes, isSignal and isService. A true value for isSignal defines Appendix A - UML 1.4 Notation Guide the port as only able to send signals, not calls, time, or change events. The default value is false.
Appendix C - Standard Elements The default value of true for isService indicates that the port is used to offer the functionality (services)

provided by the classifier. If the isService attribute is false, then the port is part of the implementation of Glossary the classifier, not part of its externally available interface. Instead, it is a means to access internal Index transitions. As such, it may be altered or deleted along with the other implementation features of the List of Figures classifier, in this case a trigger. The ports portion of the transition string conforms to the following syntax: List of Tables
List of Listings

'via ('comma-separated-port-list')'

< Day Day Up >

Figure 11-5 models a trigger that causes the transition between the Complete and ApprovingPayment states for an order object using the entire event signature notation. The diagram tells us: UML Bible
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

11-5: Modeling transitions with the complete event signature. <?xml Figure version="1.0" encoding="ISO-8859-1"?> Table of Contents
UML Bible

1. ThepmtReceived() event may come through either the creditCardPmt port or the cashPmt port. Preface
Part I - An Introduction to UML

Chapter 1 Chapter 3 Chapter 4 Chapter 5 Chapter 6

- What Is UML? 3. then the approvePayment activity will be invoked Chapter 2 - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

2. As long as the amount received as payment is greater than or equal to the total value of the order.

4. and the order will transition from the Complete state to the ApprovingPayment state.

Part II - Modeling Object Structure

- Capturing Rules about Objects in a Class Diagram Modeling transitions

- How to Capture Rules about Object Relationships Transitions model the movement Chapter 7 - Testing with Objects from one state vertex to another. A state vertex may be a state, or

pseudo For Object now I will discuss only Part III - state. Modeling Interactions
Chapter 8

states. Later, I will explain the use of pseudo states.

- Modeling Interactions in UML 1.4 A transition is modeled as an arrow and is triggered by an event. Each transition is associated with an Chapter 9 Interactions in UML 2.0 event that isModeling the trigger or cause for the transition. The base of the transition arrow defines the source, the Chapter 10transition - Modeling an Object's Lifecycle in occurs. UML 1.4The arrowhead defines the target , the state to which state the leaves when the trigger Chapter 11 Modeling an Object's in UML 2.0 the object changes at the end ofLifecycle the transition.
Part IV - Modeling Object Behavior

Figure 12 11-6 models the of an order object Complete state to the ApprovingPayment Chapter - Modeling the transition Use of a System with the Usefrom Casethe Diagram state, triggered by the pmtReceived event. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

Figure 11-6: State transition from Complete to ApprovingPayment. Glossary


Index

Note the second transition on top of the ApprovingPayment state. It points out of and back to the same state. This is called a self-transition, and is most often used as a form of reset for the state. The effect of List of Tables the self-transition is to cause the object to take all the necessary steps to leave the state, namely
List of Figures List of Listings

interrupting any activities in progress and completing all exit actions. The object then re-enters the state, < Day Day Up > completing all the entry actions once again, and then kicking off any activities defined for the state. SoFigure 11-6 says that, if the order receives the pmtReceived event while it is in the Complete state, it will transition to the ApprovingPayment state. If the order receives the same event while in the UML Bible ApprovingPayment it will stop what it is doing and restart.ISBN:0764526049 by state Tom Pender Figure 11-7 shows part of the UML 2.0 metamodel for transitions. In it you see the source and target state For beginning to advanced users, this book provides vertices and the constraints described so far. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site John Wiley & Sons 2003 (940 pages)

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1

Figure 11-7: Metamodel of a transition. OMG 2.0


- What Is UML?

Chapter 2 - UML A transition may Architecture also have an associated activity, a behavior that executes when the transition is activated. Chapter 3 - UML Diagrams and Extension Mechanisms language or OCL. Typically an activity takes a set of The behavior is described using a language-natural Chapter 4 - Object-Oriented input values from the objectConcepts sending the event that triggered the transition. The activity may create a set of
Part II -values. Modeling Object Structure return The actions that the

activity performs may be actions associated with other parts of the

Chapter - Capturing Rulesmaps aboutto Objects in a Class Diagram model.5 In short, an activity an operation that may perform any number of behaviors, including

calls to6operations other Rules objects. Chapter - How to on Capture about Object Relationships
Chapter 7 Chapter 8
Part III - Modeling Object Interactions

An activity may also specify the language in which it is written. This is often left blank since the language is often obvious from the procedure expression.
- Modeling Interactions in UML 1.4

- Testing with Objects

Chapter 9 - Modeling Interactions UML 2.0 that defines whether or not the transition may take place. The A transition may be guarded by ain condition Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 guard should be a Boolean expression with no output values or invocations on other objects. In a simple Chapter 11 Modeling an Object's Lifecycle intriggering UML 2.0 event and before the transition. UML 2.0 has formally transition, the guard is evaluated after the
Part IV - Modeling Object replaced the guard with Behavior a constraint.

Now "guard" is simply the role that a Constraint object plays in

Chapter 12 Modeling the Use a System the Use Case Diagram relation to the transition. The of effect is thewith same but the formal definitions are now more consistent. Chapter 13 - Modeling Behavior Using an Activity Diagram

Aconstraint contains a ValueSpecification, a Part V - Modeling the Application Architecture

set of zero or more values in the forms of data values or object references. In most cases, a constraint is written as a Boolean expression, making reference to Chapter 14 - Modeling the Application Architecture objects and/or values relevant to the transition. For example, pmtReceived() may not cause a transition if Chapter 15 - Modeling Software Using the Component Diagram the payment amount is less than the amount owed. The notation for guards was illustrated earlier as part Chapter 16 - Using Deployment Diagrams in UML 1.4 of the transition string.
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Adding initial and final states

Since a State Machine diagram models the entire life of an object or of a behavior, there needs to be a way to specify the beginning and the end. The initial state marks the starting point of a behavior or object Chapter 20 - Using a Modeling Tool lifecycle. It is actually a kind of pseudo state defined by the enumeration PseudostateKind. It does not Chapter 21 - Customizing UML Using Profiles have the features or relationships of a real state. It is merely a marker as modeled at the far left in Figure Chapter 22 - XML Metadata Interchange 11-8. The initial state icon, the small solid circle with an arrow pointing to a state, identifies the state that an Appendix A - UML 1.4 Notation Guide object is in when it is first created, or the first step in a behavior like a use case or method.
Part VII - Automating the UML Modeling Process

Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure 11-8: Initial and final states for a seat in the theater. < Day Day Up > Thefinal state icon, the bull's eye at the far right of Figure 11-8, represents a state from which the object may no longer change. There may be only one initial state, but there may be any number of final states, including no finalUML stateBible at all. The end of an object's life, or the end of a behavior, is identified by the final state. Final state is a real state. John Wiley & Sons 2003 (940 pages) In fact, FinalState is a subclass of State in the metamodel. As such, a final state has all the features of a For beginning to advanced users, this book provides simple state, withcomprehensive one exception: A final state may never have any outgoing coverage of the versatility of 1.4 and 2.0 UML transitions. In other words, once the object or behavior hitsand theshows final state, it may never specifications, how to use UML to change. improve
timeliness, quality, and efficiency in development. by Tom Pender
ISBN:0764526049

One misconception is that the final state means that the object has been deleted. It may mean that. But it Companion Web Site may also mean that the object has been flagged for deletion, archived, or otherwise frozen. It can still exist. Furthermore, as a real state, it may still be interrogated, reported on, tested, and so forth. It just can't transition to another state any more. In Figure 11-8, for example, the seat may be removed, but we can <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents still run reports on the removed seats to find out why they were removed-damaged, a change in the floor plan, or upgraded, for example. UML Bible
Preface
Part I - An Introduction to UML

Chapter 1

Completion transitions and completion events


- What Is UML?

Chapter 2 may - UML Architecture An object transition out of a state in response to an explicit event. An object may also transition out of

a state 3 simply because it has every behavior assigned to it while in that state. For example, you Chapter - UML Diagrams andcompleted Extension Mechanisms are currently in the state of reading. Chapter 4 - Object-Oriented ConceptsThe activity is to read this book. When you finish reading the book you simply on to another state (like Part II - move Modeling Object Structure
Chapter 5 Chapter 6

entering a great review in Amazon.com, thank you very much).

Completing all internal activities generates a completion event that triggers a completion transition. In the - How to Capture Rules about Object Relationships past this has also been called an automatic transition , because the object automatically transitions, without Chapter 7 - Testing with Objects help from any external event. Figure 11-9 illustrates the use of a completion transition. A completion Part III - Modeling Object Interactions transition arrow has no transition string.
Chapter 8 Chapter 9 - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

- Capturing Rules about Objects in a Class Diagram

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Architecture Figure 11-9: AnApplication automatic transition does

not have an associated event description.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the be Model Sometimes a transition may complex,

Modeling transition details

involving the receiving and sending of signals, decisions, and

Chapter 18 - Applying Constraints the UML Diagrams multiple actions. In UML 1.4, theto Activity diagram included notation for sending and receiving signals.

These notations are now part of the UML 2.0 State Machine diagram notation. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

A simple transition might include a series of actions in the action expression. To model the actions graphically, each action is described within a rectangle. The actions are strung together as portions of the Chapter 21 - Customizing UML Using Profiles total transition. Figure 11-10 models the transition from the Complete state to the ApprovingPayment Chapter 22 - XML Metadata Interchange state. The associated action is to approve the payment. The image on the left in Figure 11-10 is the Appendix A - UML 1.4 Notation Guide original version of the transition (which is still perfectly correct notation in version 2.0). The image on the Appendix B - UML 2.0 Notation Guide right is expanded to model the action that occurs as part of the transition.
Chapter 20 - Using a Modeling Tool Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides Figure 11-10: Adding action sequences to a transition. comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve This example transforms the transition from a parameterized arrow to a logical model that might include timeliness, quality, and efficiency in development. not only actions, but also decisions, and sending and receiving events. For example, approving the Companion Web Site payment might require different procedures depending upon whether the payment was by cash or credit card. The actions could tailor the entry point to the ApprovingPayment state depending on the payment type.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Figure 11-11 adds a choice pseudo state diamond, previously called a decision diamond, to evaluate the UML Bible type parameter and select the right action. The paths leading out of the decision are each payment Preface labeled with mutually exclusive conditions so that only one path may be chosen.
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture Figure 11-11: Adding a decision into the

action sequence of the transition.

Chapter 14 - Modeling the Application Architecture

Note using a choice pseudo it is usually good practice to include a path that covers all Chapter 15 When - Modeling Software Using the state, Component Diagram options not explicitly specified. Chapter 16 other - Using Deployment Diagrams in UML This 1.4 is often expressed as an else path, the path taken
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

when no other condition is satisfied.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Sending and receiving signals

During the executionthe of the transition and the associated Part VII Automating UML Modeling Process

actions, the actions receive values from the invoking event. The action sequence may manipulate or evaluate these values and provide them as input Chapter 20 - Using a Modeling Tool to subsequent actions. In Figure 11-12, the pmtReceived trigger receives the pType value that is used Chapter 21 - Customizing UML Using Profiles to test the guard. Later, the pType value is used to decide to which type of payment approval action Chapter 22 - XML Metadata Interchange shouldsend the amt value.
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Figure Chapter 1 - 11-12: What IsAdding UML? send and receive signals to the action sequence.
Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

< Day Day Up >

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Modeling aUML composite state by Tom Pender


ISBN:0764526049

A state may also John be decomposed finer-grained description of the transformations in an object. Wiley & Sonsto provide 2003 (940 a pages) The decomposition opportunities model not only more detailed states but also concurrent Forprovides beginning to advanced to users, this book provides states. It even opens the door to reuse entire state machines in much the same way that we reuse classes comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how todiagrams use UML to improve on Class diagrams. No matter how many Class a class appears on, it is always the same class. quality, and efficiency development. The same is truetimeliness, of states machines appearing inin many states on State Machine diagrams and within composite states. Companion Web Site Acomposite state contains one or more regions. The simplest composite state contains only one region.
<?xml version="1.0" encoding="ISO-8859-1"?> Within the region is a set of two or more states, called substates , because they describe states within a Table of Contents state. States may be nested in any number of layers within a state. Substates that reside on the topmost UML Bible layer of the decomposition are called direct substates. Substates of successively lower layers of Preface decomposition are referred to as transitively nested states, which simply means that these states abide by
Part - An Introduction to UML the I behavior of the states that

they are contained within.

Chapter 1

- What Is UML?

A composite state with a single region looks like a State Machine diagram nested inside a state. For Chapter 2 - UML Architecture example, show seat be considered either active or archived. But while it is active it goes Chapter 3 a - theater UML Diagrams and may Extension Mechanisms
Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

through a number of lesser changes, from not priced to priced, from not sold to sold, and so forth. Figure - Object-Oriented Concepts 11-13 shows the higher-level view on the left, with only two states, active and archived. The lower-level Part II - Modeling Object Structure view on the right models six direct substates within the composite Active state.
- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Figure Modeling aUsing composite state with Diagram one region and six direct substates. Chapter 15 - 11-13: Modeling Software the Component
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0

Note the composite state notation in the lower right corner of the expanded state on the right in Figure 1113. The composite state icon consists of two horizontally aligned rounded rectangles connected by a line.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Region

A composite state may have any number of regions. A region contains a state machine (lower case state machine-not a State Machine diagram). The states in each region are mutually exclusive of states in other Chapter 21 - Customizing UML Using Profiles regions. If the composite state contains two or more regions it is said to be orthogonal, and the Chapter 22 - XML Metadata Interchange isOrthogonal attribute is set to true.
Chapter 20 - Using a Modeling Tool Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide If each region operates independently, then it is possible to run regions contained within the same state Appendix C - Standard Elements concurrently. A region is defined as active if any state within the region is active. Since any state may be a

composite state and own regions, it is possible to construct hierarchies of states within states. A mapping Glossary of the active states at each level of such a hierarchy is called a state configuration. Index
List of Figures List of Tables

List of Listings

Tip A state can be active or inactive. A state becomes active when it is entered as a result of a transition, and becomes inactive when it is exited as a result of a transition.

Figure 11-14 models a composite state with two concurrent regions. The regions are separated by a < Day Day Up > dashed line through the composite state icon. Each region has its own state machine with an initial state, two states, and a final state. Virtually all notations for a State Machine diagram are valid within a region. It is also possible to draw transitions from outside the regions or even the state, and from within a region to Bible or even outside the state. I'll cover these other possibilities in the next section. locations outside UML the region
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

Figure 11-14: Composite state with two regions divided by a dashed line. UML Bible
Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3

Modeling transitions, types of transitions - What Is UML?


- UML Architecture

Fork, join, junction, and choice pseudo states provide a variety of configuration options for managing - UML Diagrams and Extension Mechanisms complex transitions with composite states and multiple regions. All four pseudo state types are defined in Chapter 4 - Object-Oriented Concepts the PseudostateKind enumeration and may be assigned to an instance of Pseudostate.
Part II - Modeling Object Structure

Chapter 5 Chapter 6

Fork

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

Chapter 7 pseudo - Testing with Objects Thefork state applies to transitions between states within different regions of a composite state. It
Part III Object Interactions allows a Modeling single transition to split into multiple

paths, aimed at multiple target states in different regions.

Chapter - Modeling Interactions UML 1.4 from one state splits and triggers transitions to states in two Figure 8 11-15 shows how a singlein transition

different within a composite state. The effect of the fork is to simultaneously trigger concurrent Chapter 9 regions - Modeling Interactions in UML 2.0 behaviors inModeling differentan regions. Chapter 10 Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0

Figure 11-15: Initiating concurrent Part VI - Bringing Rigor to the Model


Chapter 19 - Action Semantics

states from single transition using a fork pseudo state.

Chapter 18 - Applying Constraints to the UML Diagrams

Figure 11-15 models a transition from outside the composite state. The forking transition may come from another region within the composite state as well. In Figure 11-16, for example, the fork uses a transition in Part VII - Automating the UML Modeling Process the upper region to fire a transition to another state in the same region and a state in the bottom region.
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure 11-16: Initiating transitions in two regions from within one of the regions. < Day Day Up > Note The one restriction on using a fork state vertex is that none of the outgoing transitions may have constraints. Semantically it would not make sense to have conditions on these segments that were not part of the transition segment going into the fork. UML Bible

Join

by Tom Pender John Wiley & Sons 2003 (940 pages)

ISBN:0764526049

A join pseudo state forms the other half of inof Figure 11-16. Figure 11-17 highlights the comprehensive coverage ofthe theexample versatility 1.4 and 2.0 UML notation for the join. The join models multiple into the symbol and one going out. The specifications, and shows how transitions to use UMLcoming to improve timeliness, and efficiency in development. effect of the join is to createquality, a kind of stopping place where the state machine waits for all of the incoming transitions to arrive before triggering the outgoing transition. Companion Web Site
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

For beginning to advanced users, this book provides

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Figure 11-17: Using the join Part II - Modeling Object Structure

pseudo state to manage multiple triggering transitions.

The same-technique may be used to trigger a transition to a state outside the composite state. Figure 11How to Capture Rules about Object Relationships 18 models two transitions from within a composite state triggering the transition to a single simple state.
- Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

- Capturing Rules about Objects in a Class Diagram

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - 11-18: Modeling the Application Architecture Figure Triggering an external transition from within a composite state. Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Junction and choice states Chapter 17 - Representing an pseudo Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Thejunction and choice pseudo states correspond directly to concepts explained fully in Chapter 10, in the section titled, "Compound transitions and factored paths". The junction pseudo state corresponds to the Chapter 19 - Action Semantics merge and the static conditional branch. The choice pseudo state corresponds to the dynamic conditional Part VII - Automating the UML Modeling Process branch.
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 20 - Using a Modeling Tool Chapter 21provides - Customizing Using Profiles UML 2.0 some UML alternative presentation options for the choice and junction pseudo states. In UML Chapter 22 - XMLpseudo Metadata Interchange 1.4, the choice state was modeled as a small hollow circle, with the option to use a diamond. In Appendix A the - UML 1.4 Notation Guide UML 2.0, diamond is the standard notation. You have two options for displaying the choice pseudo

state.Figure 11-19 options. The example on the left models the complete Boolean Appendix B - UML 2.0presents Notation both Guide expression each outgoing Appendix C - on Standard Elementstransition segment. The example on the right places the common element of the two expressions inside the diamond and uses only the unique portion of the Boolean expressions on Glossary each segment. Index
List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure 11-19: Alternatives for modeling the choice pseudo state, with a diamond and with a circle.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Ajunction provides a common point on a transition path for multiple objects transitioning to the same

target/s. UML Bible UML 2.0 supports the same simplification for modeling junctions as in UML 1.4. Figure 11-20 models a junction pseudo state where the three states (State1, State2, and State3) all transition to State4. Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure 11-20: Basic junction notation.

Chapter 12 - no Modeling the Use of a System with the Case Diagram event, with side effects such as constraints or Use event actions, the states may be combined into a state Chapter 13 Modeling Behavior Using an Activity Diagram list , which is a state representing a set of states, listed in the state name.
Part V - Modeling the Application Architecture

Figure 11-21 models an alternative. If all the states transition to the junction in response to the same

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - 11-21: Standard Elements Figure State list alternative notation for a junction. Glossary Index List of Figures List of Tables

The terminate pseudo state


When a classifier is terminated, any state machine for the classifier is terminated. The terminate pseudo

List of Listings

state is modeled as a large "X" on the State Machine diagram, as shown in Figure 11-22. When the delete < Day Day Up > operation is invoked on the classifier that owns the state machine, the classifier completes the behavior associated with the delete operation (such as deleting the object from the database) and terminates the state machine.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 4 Chapter 5

- What Is UML?

- UML Architecture Figure Modeling the terminate pseudo state. Chapter 3 - 11-22: UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram
Part II - Modeling Object Structure

Entering and exiting states and regions

Chapter 6 - may How have to Capture Rules about Objectstate) Relationships Any region an initial state (pseudo and a final state, but it does not require either. So it is Chapter 7 to - Testing withto Objects important know how enter and exit a region and how the state machine will behave. A region has a
Part III - Modeling Object Interactions boundary and a contained set of states

and transitions.

Chapter 8 Chapter 9

There are aModeling number Interactions of ways to enter a state: in UML 2.0

- Modeling Interactions in UML 1.4

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Default entry Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Explicit entry Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Shallow history entry Deep history entry

Chapter 14 - Modeling the Application Architecture Chapter - Modeling Software Using the Component Diagram Default15 entry says that the incoming transition stops at the edge of the composite state. Stopping at the

edge implies that Deployment the composite state will determine how to handle the transition, because the transition Chapter 16 - Using Diagrams in UML 1.4 does not the specific substate. Figure Chapter 17know - Representing antarget Architecture in UML 2.0 11-23 models a transition from a state outside the composite to theRigor edgeto of the the Model composite Part VI - Bringing
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

state. The composite state starts at the initial state of the

contained state machine. Chapter 18 Applying Constraints to the UML Diagrams

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - 11-23: Standard Elements Figure Default entry to a composite state with one region. Glossary

This approach provides a degree of encapsulation when using the state because the internal structure of Index theof composite List Figures state is not exposed to other states. The internal structure can be modified over time without affecting the interactions with other states in the state machine. List of Tables
List of Listings

Entering a composite state with multiple regions is basically the same. Figure 11-24 models a composite < Day Day Up > state with two regions in which both initial states are triggered by the incoming transition. The effect of the transition ending at the edge of the composite state is the same as if the transition forked to the two initial states, but it provides the added benefit of encapsulation.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> 11-24: Default entry to a composite state with two (multiple) regions. Table Figure of Contents UML Bible Preface

Explicit entry means that the transition is targeted at a specific substate within the composite state. If there are nested states, the entry rules apply to each successively nested state. Figure 11-25 models an explicit Part I - An Introduction to UML entry into a composite state with one region (non-orthogonal composite) and a composite state with two Chapter - What Is UML? regions1(orthogonal composite).
Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Figure 11-25: Explicit entry into a Part III - Modeling Object Interactions

composite state, both non-orthogonal and orthogonal.

Sometimes a composite state transitions to some other state or states, and then needs to return to the - Modeling Interactions in UML 2.0 same substate it was in when it left. This is done by using history entry points. Returning to the right Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 substate has to take into account the fact that there may be many layers of nested substates involved. Chapter 11 - Modeling an Object's Lifecycle inexact UML 2.0 Sometimes it is necessary to return to the same substate that was active when the composite state Part IV - Modeling Object Behavior was exited. This is called deep history. Other times it is only important that the composite return to the Chapter 12 - Modeling the Use of a actual System with the Use Case Diagram topmost state that contained the nested substate. This is called shallow history.
Chapter 13 - Modeling Behavior Using an Activity Diagram

- Modeling Interactions in UML 1.4

The history notation is aArchitecture small circle Part Vshallow - Modeling the Application

with the letter "H" inside. The incoming transition points to the

shallow history icon rather than to an actual state. This mechanism is used because the incoming Chapter 14 - Modeling the Application Architecture transition know Software the substate that the composite was in when it left the last time. It could potentially Chapter 15 can't - Modeling Using the Component Diagram have been any of the composite's substates. The top portion of Figure 11-26 models a return to the Chapter 16 - in Using Deployment Diagrams in UML 1.4 shallow history state. The bottom portion of Figure Chapter 17 - Representing an Architecture in UML 2.0 11-26 illustrates that the transition returning from the archived state could potentially return to Part VI - Bringing Rigor to the Model
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

any of the six substates, but it does not know which one.

Chapter 18 - Applying Constraints to the UML Diagrams

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Figure 11-26: Returning the shallow Part II - Modeling Object Structure

history of a composite state.

The deep history notation is the circle with an H* inside, as shown in Figure 11-27. The effect of the deep - How to Capture Rules about Object Relationships history return is the same as for the shallow history return, except that the entry is repeated at each level of Chapter 7 - Testing with Objects until it reaches the right substate. For example, shallow history could nested regions/state machines Part III - Modeling Object Interactions require the transition to return to the state Price, Not Held, Sold, a substate of the Active state on the first Chapter Modeling Interactions in UML 1.4 level of8its decomposition into substates. Deep history could require that the transition return to one of Chapter 9 - Modeling Interactions in UML 2.0 three substates within Priced, Not Held, Sold (if there was one), a substate two levels down from the Active Chapter 10 -state. Modeling an Object's Lifecycle in UML 1.4 composite
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

- Capturing Rules about Objects in a Class Diagram

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Figure 11-27: Deep history pseudo state icon.

Chapter 17 Representing an Architecture in UML in order to-define deep history. This means that2.0 deep history can be the target of transitions within the Chapter - Applying Constraints to the Diagrams history 18 consistent with the definition of UML shallow history. Chapter 19 - Action Semantics

UML 2.0 changes the definition of deep history to say that the containing state need not have been exited containing state, not just from states outside the composite. This change makes the definition of deep

It isVII valid to use a mix of UML default entry and explicit Part - Automating the Modeling Process

entry. For example, a fork might transition to one substate in one region and to the edge of the second region. The first region uses explicit entry. The Chapter 20 - Using a Modeling Tool second region uses default entry. Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Leaving a composite state may also occur via a number of methods. Basically when a region completes all of its activities it triggers a completion event. For a non-orthogonal composite state this means that a Appendix B - UML 2.0 Notation Guide completion transition is triggered. For an orthogonal composite state, a state with two or more regions, Appendix C - Standard Elementsbefore the completion transition is triggered. In both cases the transition is every region has to complete Glossary automatic. There is no explicit event that causes the transition.
Index

When nested regions/state machines are involved, the exit takes place from the innermost state to the List of Figures outermost state, until all activities have been completed. List of Tables
List of Listings

In Figure 11-28, the state Studying may exit on any of the following conditions: < Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

11-28: Exiting a composite Part IFigure - An Introduction to UML OMG Chapter 1 - 2.0 What Is UML?
Chapter 2 Chapter 3 - UML Architecture

state.

Explicit event

- UML Diagrams and Extension Mechanisms

Chapter 4 An - Object-Oriented Concepts exit from a specific substate (the student fails the Final Test, for example).
Part II - Modeling Object Structure

exit from Rules the composite statein Studying (the student quits school, for example). Chapter 5 An - Capturing about Objects a Class Diagram
Chapter 6 Chapter 7 Chapter 8

Completion of all activities in all regions (which causes an automatic transition to Passed):
- Testing with Objects

- How to Capture Rules about Object Relationships

Part III - Modeling Object Interactions

Labs are done and

- Modeling Interactions in UML 1.4

Project is done and Chapter 9 Term - Modeling Interactions in UML 2.0


Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Final Test has been passed

An exit resulting from completion of all activities does not have a transition name because there is not a

Chapter 12 - Modeling theexits Use of a System with theto Use Case Diagram specific event. All other must have a name explain why the exit occurred. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture < Day Day Up > Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Modeling aUML Submachine State by Tom Pender


ISBN:0764526049

When modeling behavior, it & is Sons common to reuse portions of the functionality. For example, operations call John Wiley 2003 (940 pages) other operations,For operations call objects, and use cases reference other use cases. State machines beginning to utility advanced users, this book provides are no different. When a state machine or part of a state machine is2.0 found to be used in multiple contexts, comprehensive coverage of the versatility of 1.4 and UML shows how to use UML to improve it can be defined specifications, as a reusable and state machine, called a submachine.
timeliness, quality, and efficiency in development.

The terminology regarding submachines Companion Web Site can be confusing. There are three key terms: State Machine diagram: A State Machine diagram is the top-level graph of states and transitions that describes a behavior. Lowercase state machine is a general reference to any type of graph that <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents represents movement between states. The general meaning of state machine is used to describe any nested graphs within regions. UML Bible
Preface

Submachine (also known as submachine state machine): A reusable state machine specification. The details of the state machine are defined independently, in their own State Machine diagram. The Chapter 1 - What Is UML? (submachine) state machine is then included within a submachine state.
Part I - An Introduction to UML

Chapter 2

- UML Architecture

Chapter 3 - UML Diagrams and Extension Mechanisms Submachine state: A state that contains (includes) a submachine using the include statement within Chapter 4internal - Object-Oriented Concepts the transitions compartment:
Part II - Modeling Object Structure

Chapter 5 -/ Capturing Rules about Objects in a Class Diagram Include submachine-name Chapter 6 Chapter 7 - How to Capture Rules about Object Relationships - Testing with Objects

Part III - Modeling Object Interactions Semantically a submachine state is the

same as a composite state. The naming difference describes the

unique 8 way that a submachine is in used. submachine may have entry and exit actions, activities, and initial Chapter - Modeling Interactions UML A 1.4 and final just like any other state. The difference is that a submachine state can provide entry and Chapter 9 states - Modeling Interactions in UML 2.0 exit points. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application Architecture submachine state channels access to the features

Entry and exit points are new to the submachine in UML 2.0. They were added specifically to enhance reuse through encapsulation of a state machine. through connection point references on the edge of the

Chapter 13 - Modeling Behavior Using Activity Diagram The features of the submachine arean not presented on the diagram at all. Instead, the containing Chapter 14 - Modeling the Application Architectureprovide both entry points into the submachine and exit submachine. The connection point references Chapter 15 - Modeling SoftwareIn Using the Component Diagram points from the submachine. short, the connection point references define the interface to the

submachine in much the same way that operation Chapter 16 - Using Deployment Diagrams in UML 1.4 signatures provide the interface to an object. So a containing state not need know Chapter 17 -composite Representing an does Architecture in to UML 2.0 the internal structure of the submachine in order to benefit its design. Part VI - from Bringing Rigor to the Model
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

An entry point is an initial pseudo state associated with a connection point. In fact, a connection point reference may be associated with a number of entry points. An exit point is one or more named Part VII - Automating the UML Modeling Process FinalStates associated with a connection point reference.
Chapter 20 - Using a Modeling Tool Chapter - Customizing UML Using Profiles Figure 21 11-29 models the state machine that is included as a submachine in Figure 11-30. Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 - 11-29: What IsReused UML? state machine. Figure Chapter 2 - UML Architecture Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

- Modeling Interactions in UML 2.0 Figure Include statement andin entry/exit Chapter 10 - 11-30: Modeling an Object's Lifecycle UML 1.4 points for a submachine state. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Note that the default entry is into Sub1, and the normal termination is through Sub5.

Chapter - Modeling the Use of a System the Use Case Diagram Figure 12 11-30 provides an example of thewith submachine notation. The outermost state is a composite state Chapter 13 - Modeling Behavior Using an Activity Diagram that contains a submachine state called SubmachineState, which contains a submachine called
Part V - Modeling the Application Submachine, the state machineArchitecture modeled in

Figure 11-29.

Chapter 14 - Modeling the Application Architecture

Transition T1 transitions to an Using entry point labeled Sub3 on the edge of the submachine state. This entry Chapter 15 Modeling Software the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4

point functions like a junction in a simple state, or a fork to concurrent regions. It may redirect the transition to one or more entry substates. The specific substates are modeled on the State Machine diagram for the Chapter 17 - Representing an Architecture in UML 2.0 submachine. In this case, Sub3 corresponds to the third state in the State Machine diagram in Figure 11Part VI - Bringing Rigor to the Model 29.
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 Action Semantics Transition T2 transitions to the edge of the submachine state. This means that the transition is directed to
Part - Automating the UML Modeling the VII default initial state(s) defined withinProcess the submachine.

(Refer to Figures 11-23 and 11-24 for examples

Chapter 20 entry.) - UsingReferring a Modeling of default toTool Figure 11-29, the default initial state is Sub1. Chapter 21 - Customizing UML Using Profiles

Transition T3 transitions from exit point Sub4. This exit point may represent one or more explicit exits from Chapter 22 XML Metadata Interchange the submachine thatNotation yield the same effect. All exits through exit point Sub4 are directed to State3. The exit Appendix A - UML 1.4 Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

point functions like a junction in a simple state or a join from concurrent regions. In this case, the exit point is a transition from state Sub4 in the State Machine diagram on Figure 11-29.

Glossary Transition T4 transitions from the edge of the submachine state to State4. This means that when the Index submachine completes all of its activities it automatically exits. No explicit exit event is required. Referring List of Figures toFigure 11-29, this means that the submachine exits when state Sub5 is completed. List of Tables List of Listings

< Day Day Up > Note It is valid to model any number of submachine states invoking the same submachine any number of times in the same State Machine diagram. However, each use of the submachine can and should model the use of different entry and exit points. UML Bible
ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) < Day Day Up >

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Modeling aUML Protocol State Machine Diagram by Tom Pender


ISBN:0764526049

UML 2.0 draws aJohn distinction between a state machine that describes behavior and a state machine defines Wiley & Sons 2003 (940 pages) the valid use of aFor classifier: beginning to advanced users, this book provides Thestate machine focusesand on modeling behavior, any behavior specifications, shows how to use UML to improve within a system, from operations to timeliness, quality, and for efficiency in development. use cases (although it is also used modeling the lifecycles of classifiers). The protocol state machine describes the transitions that are allowed in each state and under what conditions.
<?xml version="1.0" encoding="ISO-8859-1"?> Because of this focus, the protocol state machine is particularly well suited for defining the lifecycle of a Table of Contents Companion Web Site comprehensive coverage of the versatility of 1.4 and 2.0 UML

classifier UML Bible instance. That is, it defines how and in what order the classifier instance progresses from state to state, and how it may behave while in each state. Much of what the protocol state machine adds is drawn from the concept of programming by contract. This is seen most readily in the description of a transition Part I - An Introduction to UML using pre- and post conditions.
Preface Chapter 1 - What Is UML?

Chapter 2 the - UML Architecture Because protocol state machine focuses on rules for using features, it is also well suited for describing Chapter 3 UML Diagrams and Extension Mechanisms interfaces and ports, the access points to features of a classifier. Consequently, UML 2.0 now allows Chapter 4 Object-Oriented Concepts interfaces and ports to identify a protocol state machine that explains their use.
Part II - Modeling Object Structure

Figure 5 11-31 is the metamodel for the protocol state machine. On the left side are the associations Chapter - Capturing Rules about Objects in a Class Diagram between and and Relationships between interface and protocol state machine. Any number Chapter 6 port - How toprotocol Capture state Rulesmachine about Object of ports reference same protocol state machine because a port provides access to interfaces. Chapter 7may - Testing with the Objects Many might Object access the same interfaces Part IIIports - Modeling Interactions
Chapter 9 - Modeling Interactions in UML 2.0

and so share the same protocol. But an interface can have either zero or one protocol state machines, and no more. Chapter 8 - Modeling Interactions in UML 1.4
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0

Figure 11-31: Metamodel for the protocol state machine. OMG 2.0

Chapter 18 -state Applying Constraints to theas UML Diagrams A protocol machine is modeled a state with the keyword {protocol} enclosed in curly braces next Chapter 19 - Action Semantics to its name, as shown in Figure 11-32.
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables

Figure 11-32: Protocol state machine identification.

List of Listings

Day Day Up > Defining a state in a protocol < state machine

A state used in a protocol state machine has all the features of a state in a state machine, with one significant difference. Normally the state of an instance of a classifier is encapsulated (hidden) within the Bible instance and not UML directly visible to a user of the instance. But states of protocol state machines are ISBN:0764526049 by Tom Pender exposed to the users so when an instance of the classifier is not processing any operation, the user can John Wiley & Sons 2003 (940 pages) always know its current state.

Defining protocol transition

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

As I said before, in a protocol state machine the focus is on defining what is legal, as opposed to what is Companion Web Site possible. Where a regular state machine might try to account for anything that could happen, the protocol state machine defines rules about the state of the object at the time that someone attempts to trigger a <?xml version="1.0" encoding="ISO-8859-1"?> change and the condition of the object after the change.
Table of Contents

The rules are expressed as constraints enforced before and after a protocol transition. The precondition UML Bible states when an operation may be called in the source state. The post condition defines the rules that the Preface target state must conform to at Part I - An Introduction to UML
Chapter 1 Chapter 2 - What Is UML?

the end of the protocol transition.

The operation referred to by the protocol transition is the operation associated with the call event that - UML Architecture triggers the transition. So, the precondition of the protocol transition is very much like the guard constraint Chapter 3 - UML Diagrams and on a regular transition. That is,Extension the eventMechanisms may not fire if the guard constraint/precondition is not first Chapter 4 Object-Oriented Concepts satisfied.
Part II - Modeling Object Structure

In fact, 5 the-preand post conditions of thein protocol Chapter Capturing Rules about Objects a Class transition Diagram map directly to the pre- and post conditions of the operation that transition. Chapter 6 - How totriggers Capturethe Rules about Object Relationships
Chapter 7 Chapter 8 Chapter 9
Part III - Modeling Object Interactions

Figure 11-33 provides an example of the protocol transition notation.


- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

- Testing with Objects

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - 11-33: Modeling an Object's Lifecycle in UML 2.0 Figure Protocol transition notation.
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Defining protocol conformance

A common in the the Application enhancements introduced by UML 2.0 is the ability to specialize model elements. Chapter 14 - theme Modeling Architecture In a Class diagram, class may implement an interface. The interface defines the rules for accessing Chapter 15 Modelinga Software Using the Component Diagram features. implementing class is obligated abide by those rules when it provides the implementation Chapter 16 The - Using Deployment Diagrams in UML to 1.4 for the 17 interface. In like manner, a state machine may specialize/implement a protocol state machine. The Chapter - Representing an Architecture in UML 2.0 protocol state machine defines the Part VI - Bringing Rigor to the Model
Chapter 19 - Action Semantics

rules to which the implementing State Machine diagram must conform.

Chapter 18 - Applying Constraints to the UML Diagrams

UML 2.0 explicitly defines a metaclass, ProtocolComformance, which maps the relationship between the general and the specialized state machine. The one constraint on the specialization relationship defined Part VII - Automating the UML Modeling Process by ProtocolConformance is that the general state machine must always be a protocol state machine. This Chapter - Using a Modeling Tool implies20 that it is valid to extend a protocol state machine with yet another protocol state machine. Figure Chapter 21 - Customizing Profiles 11-34 is the metamodel UML that Using shows these relationships between the protocol conformance, the state Chapter 22 and - XML Metadata Interchange machine, protocol state machine.
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to users, this book provides Figure 11-34: Metamodel foradvanced ProtocolConformance. OMG 2.0 comprehensive coverage of the versatility of 1.4 and 2.0 UML

Since a protocol state machine is always associated with a classifier, the specialization of a protocol state Companion Site machine typically corresponds toWeb the specialization of the associated classifier. Figure 11-35 illustrates this relationship using the Contract and PremiumContract classes from the theater system. In this example, the protocol conformance instance refers to the ContractStateMachine (a protocol state machine) as the <?xml version="1.0" encoding="ISO-8859-1"?> generalMachine and the PremiumContractStateMachine (a specialization of ContractStateMachine) as the Table of Contents specificMachine.
UML Bible Preface
Part I - An Introduction to UML

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Chapter 1 Chapter 2 Chapter 3 Chapter 4

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

Chapter 5 - 11-35: Capturing Rules about mirrors Objects the in arelationship Class Diagram Figure Conformance between classifiers and their state machines. Chapter 6 association - How to Capture Rules about Object Relationships (The between the protocol state machines and their corresponding classes is for

illustration only.with A modeling Chapter 7 - Testing Objects tool would maintain this relationship but it would never appear on any diagram.) Part III - Modeling Object Interactions
Chapter 8 Chapter 9 - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 < Day Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Day Up >
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

UML 2.0 provides two Wiley levels& of state machine diagrams, the State Machine diagram and the Protocol John Sons 2003 (940 pages) State Machine diagram. The State Machine diagram to the UML 1.4 Statechart diagram and For beginning to advanced users, this corresponds book provides supports the description of behaviors as diverse as operations and comprehensive coverage of the versatility of 1.4 anduse 2.0 cases, UML or the life cycle of a specifications, and shows how to UML to improve classifier. The Protocol State Machine diagram isuse new in UML 2.0 and provides an encapsulated view of timeliness, quality, and in development. states and transitions that reinforces theefficiency legal requirements for the state machine in much the same way that interface classesCompanion define the legal use of a class. Web Site A State Machine diagram uses four different types of state:
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Simple: A state with no substates or regions UML Bible Preface

Composite: A state that may contain states (called substates) and transitions, and may contain regions, which in turn contain states and transitions Part I - An Introduction to UML
Chapter 1 - What Is Submachine: AUML? reusable state machine, defined independently but referenced within other state Chapter 2 UML Architecture machines through the use of a containing submachine state Chapter 3 - UML Diagrams and Extension Mechanisms Submachine State: The container for a submachine, that specifies the entry and exit points to the Chapter 4 - Object-Oriented Concepts

submachine. Part II - Modeling Object Structure


Chapter 5 Chapter 6 Chapter 7

Events and transitions are basically unchanged from UML 1.4, except that UML 2.0 provides support for - How to Capture Rules about Object Relationships inheritance of states and transitions, and state machines in general.
- Testing with Objects

- Capturing Rules about Objects in a Class Diagram

Part III - Modeling Regions are new Object in UMLInteractions 2.0. A region

is a kind of name space, within a composite state, that contains a

Chapter 8 - Modeling Interactions in UML 1.4 state machine. Multiple regions within a composite state run concurrently. Chapter 9 - Modeling Interactions in UML 2.0

ConnectionPoints, also in UML 2.0, provide a level of encapsulation for states by separating the Chapter 10 - Modeling an new Object's Lifecycle in UML 1.4 transitions and out the state machine from the actual states they reference. The entry and exit point Chapter 11 -into Modeling anof Object's Lifecycle in UML 2.0 function much like fork and join pseudo Part IV - Modeling Object Behavior
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture Initial state identifies the first state that an

states, mapping external transitions to and from the internal states.

Pseudo states are notations used to link elements of the state machine graph. object assumes when it is created.

Chapter 14 - Modeling the Application Architecture

Deep history refers to a return a composite in which the return must be directed to the actual Chapter 15 Modeling Software Usingto the Componentstate Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0

substate, no matter how many layers down in the nested states the object was in when it left the composite state.

Shallow history refers to a return to a composite state in which the return is directed to the topmost

Chapter 18 - Applying Constraints to the Diagrams substate that was active when the UML object left the composite state. Chapter 19 - Action Semantics

Fork provides the means to split a Process transition Part VII - Automating the UML Modeling
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix B - UML 2.0 Notation Guide

into multiple transition paths, such as to transition to states in concurrent regions within a composite state. Chapter 20 - Using a Modeling Tool Join provides the means to bring together multiple transition paths and continue as a single transition path, such as to transition from states in concurrent regions within a composite state to a single state Appendix A - UML 1.4 Notation Guide outside the composite.
Appendix C - Standard Elements Junction provides a simplification mechanism for factoring complex sets of transitions. Glossary Index Choice is a decision point in the execution of a transition. The icon has changed in UML 2.0 from a List of Figures

hollow circle to a diamond.

List ofEntry Tables point is new in UML 2.0. The entry point is used to encapsulate a submachine by hiding the List ofinternal Listings state machine elements from external state transitions.

Day Day Up > Terminate identifies the point at which the< classifier that provides the context for the state machine no longer exists.

Ports are new in UML 2.0. Ports define the types of services supported by a state. Services may be UML Bible required or provided. A provided service equates to a behaviorISBN:0764526049 that the state can perform upon request. A by Tom Pender required service defines a behavior that the state needs to be performed by some other element in the John Wiley & Sons 2003 (940 pages) environment.

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML The Protocol State Machine is new in UML 2.0. It functions much like an interface definition. Instead of specifications, and shows how to use UML to improve defining anythingtimeliness, that might quality, happenand to a classifier, defines only what will be allowed. It does not however efficiency in it development.

define how the classifier will support the rules, only that it must.
Companion Web Site

States in a protocol state machine are exposed to the users so when an instance of the classifier is not processing any operation, the user can always know its current state. <?xml version="1.0" encoding="ISO-8859-1"?>
Table of Contents UML Bible

The protocol transition defines the parameters for the proper execution of the transition. It does so by defining pre- and post conditions. A precondition is a constraint on the condition of the source state at the Preface time the transition is triggered. The constraint must test positive in order for the transition to execute. The Part I - An Introduction to UML post condition defines a constraint on the target state. The constraint must also test positive in order for the Chapter 1 to - What Is UML? transition complete. Both sides of the transition must succeed for the transition to run to completion.
Chapter 2 - UML Architecture UML 2.0 the ability toExtension extend a protocol state machine and enforce compliance with the rules Chapter 3 supports - UML Diagrams and Mechanisms

defined the protocol stateConcepts machine. The ProtocolConformance class identifies the generalMachine, a Chapter 4in Object-Oriented Protocol State Machine, and defines Part II - Modeling Object Structure
Chapter 6 Chapter 7 Chapter 8 Chapter 9

the rules and the specificMachine (another Protocol State Machine)

that must to the rules. Chapter 5 conform - Capturing Rules about Objects in a Class Diagram
- How to Capture Rules about Object Relationships - Testing with Objects

Part III - Modeling Object Interactions

< Day Day Up >

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Part IV: Modeling Object Behavior ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides In This Part comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Chapter 12: Modeling the Use of a System with the Use Case Diagram
Companion Web Site

Chapter 13: Modeling Behavior Using an Activity Diagram


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

< Day Day Up >

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Chapter UML 12:Bible Modeling the Use of a System with the ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) Use Case Diagram
Overview
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

The Use Case diagram is a unique graphical element, in that it is a diagram used to model how people Companion Web Site expect to use a system. The diagram describes who the relevant users will be, the services they require of the system, and the services they need to provide to the system.
<?xml version="1.0" encoding="ISO-8859-1"?> Table Note of Contents The Use Case diagram can be applied to many types of development, including manual UML Bible systems, but it is most commonly used for systems and subsystems. Preface

The Use Case diagram is the key element of the Object-Oriented Software Engineering (OOSE) method, also known as Objectory (short for object factory), published in 1992 by Ivar Jacobson and his associates. Chapter 1 - What Is UML? The technique had a proven track record with large-scale object-oriented projects at Ericsson, HP, and Chapter 2 - UML Architecture other companies. Its success garnered the attention of authors of other popular methods that lacked a Chapter 3 - UML Diagrams and Extension Mechanisms means to document system requirements from the viewpoint of clients and other systems. Soon, many of Chapter 4 - Object-Oriented Concepts the leading methodologists like Grady Booch and James Rumbaugh, sought to find ways to merge their Part II - Modeling Object Structure methods with this use-case-driven approach. As a result, the Use Case diagram was formally incorporated Chapter 5 0.9, - Capturing Rules about Objects in a Class Diagram into UML released in June 1996.
Part I - An Introduction to UML

Chapter 6

- How to Capture Rules about Object Relationships The Use diagram is often used as part of a more comprehensive use-case-driven approach that Chapter 7 Case - Testing with Objects

also includes a textual description of individual Part III - Modeling Object Interactions

use cases and the extraction of scenarios. The textual

description the detailed for a use case. Scenarios address the need to explore Chapter 8 - addresses Modeling Interactions in requirements UML 1.4 options9in the execution of the use to test the requirements, and to provide a high-level test plan for Chapter - Modeling Interactions in case, UML 2.0 subsequent development phases. Figurein 12-1 the elements of the use case approach-the Use Chapter 10 - Modeling an Object's Lifecycle UMLillustrates 1.4 Case diagram, the use narrative or description, Chapter 11 - Modeling an case Object's Lifecycle in UML 2.0 and the use case scenario (using an Activity diagram). Part IV - Modeling Object Behavior
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - 12-1: XML Metadata Interchange Figure Resources of the use case approach. Appendix A - UML 1.4 Notation Guide

To define requirements a project, it is necessary to consider both the scope (the range of Appendix B the - UML 2.0 Notationfor Guide functionality) and the Elements level of requirements. Appendix C - Standard
Glossary Index

Thescope of the use case approach may encompass a range of subjects:

List ofAn Figures entire enterprise or line of business: This level of model is used to describe how all systems in an

fit together. List ofenterprise Tables


List of Listings

An individual system: This is the most common level of use case approach. < Day Day Up > A single subsystem or component: This level describes the mechanics of the implementation of an element of the model. Tip Because the scope of a Use Case diagram may vary so widely, the target of the diagram is often ISBN:0764526049 by Tom Pender referred to simply as the subject. This convention proved awkward for a book, so I have elected to John Wiley & Sons 2003 (940 pages) use the most common level, the system-level Use Case diagram, for the examples in this text. For beginning to advanced users, this book provides When I depart from this convention, I will make it clear in advance. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve Whyin Is It This Way? timeliness, quality, and efficiency development. Companion Web Site While I was teaching at Thiokol Propulsion, where the rockets for the space shuttle are built, a student shared this story with me. (The story also circulated on the Web for a while so you might have heard it If you encoding="ISO-8859-1"?> have, please bear with me. It is a fun way to make an important point.) <?xml already. version="1.0" Table of Contents UML Bible UML Bible

He said, "My friend asked whether I knew why the space shuttle rockets are built to their current dimensions. I assumed it was because of some principles of rocket design. He said that the diameter Preface of the rockets is actually determined, or rather limited, by the fact that the rockets have to be shipped Part I - An Introduction to UML by train from Utah to the launch sites. So the rockets have to fit on rail cars."
Chapter 1 - What Is UML? Chapter 2the - UML But storyArchitecture doesn't stop there. Why are the rail cars built to the current dimensions? "Well", the Chapter 3 - UML Extension Mechanisms student said,Diagrams "the trainand tracks in the U.S. were built by English engineers who used the rail standards Chapter 4 had - Object-Oriented Concepts they learned in England." The next question, as I'm sure you've guessed, was why the English
Part II - Modeling Object standard had been Structure set at that

particular measurement. "Trains came along after wagons, so the train

engineers simply Rules stuck about to the Objects standard measurements for wagons." Chapter 5 - Capturing in wheelbase a Class Diagram
Chapter 6 Chapter 7

To shorten the story, the student told me that the wheelbase for the then-modern-day wagons was - Testing with Objects based on the wheelbase of Roman chariots common in Britain 1,600 years earlier. The wheelbase for Part III - Modeling Object Interactions Roman chariots was based on the fact that a chariot was pulled by two horses. So, just as the Chapter 8 - Modeling Interactions in UML 1.4 wheelbase of a chariot is based on the width of two horses' behinds, so too is one of the leading Chapter 9 - Modeling Interactions in UML 2.0 technologies of our day, the space shuttle rocket.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior variety of sources. Some of those sources

- How to Capture Rules about Object Relationships

Chapter 11 - Modeling Object's Lifecycle in UML 2.0 The moral of thisan factoid is that requirements, standards, and constraints for a project come from a

have their roots in history (wagon wheelbase), some in

Chapter 12 - Modeling the Use a System with theusing Use Case Diagram personal preference (theof English engineers a familiar standard), and some in imposed

limitations (rail car width). Using an Activity Diagram Chapter 13 - Modeling Behavior
Part V - Modeling the Application Architecture

Unless we make a specific effort to uncover the real requirements and have a way to document them that makes them visible and testable, we run the risk of translating historical limitations, personal Chapter 15 - Modeling Software Using the Component Diagram preferences, and implementation limitations into requirements.
Chapter 14 - Modeling the Application Architecture Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0 Chapter 18 - Applying Constraints to address the UML different Diagramslevels of requirements: The use case approach may also Chapter 19 - Action Semantics

Pie-in-the-sky brainstorming of theProcess ideal features Part VII - Automating the UML Modeling
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

of the system

The goals of the system defined in terms of what real users of the system need to accomplish

Chapter 22mechanics - XML Metadata Interchange The of the implementation of a model element. I do not recommend this level because Appendix A are - UML 1.4 UML Notation Guide there other tools, such as the various interaction diagrams and state machines, better suited

for this Appendix B - purpose. UML 2.0 Notation Guide


Appendix C - Standard Elements Glossary

At each level, the goal of the Use Case diagram is to identify the critical success factors of the system, the features that will make or break the success of the finished product. By identifying the system's features, Index you create a set of conceptual slots into which can be placed a wide range of requirements such as List of Figures performance, costs, transaction volumes, number of concurrent users, throughput, and so forth.
List of Tables List of Listings Features can be modeled, designed, tested, and implemented. Users who require or support a particular

feature become the audience for the modeling activities for that feature. Focusing on features provides a < Day Day Up > number of benefits. The feature list Defines the scope of the entire project, that is, which features will and will not be supported by the final product. UML Bible May be used to define the scope of each increment of the system, that is, what features should John Wiley & Sons 2003 (940 pages) become part of each release.
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Focuses discussions with clients on specific requirements for specific behaviors of the system. specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. by Tom Pender
ISBN:0764526049

Identifies system interfaces to other enterprises, systems, components, or people.


Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table Contents Use of cases are sometimes perceived as being equivalent to the functional specifications created using the UML Bible Structured Analysis and Design technique, a procedural approach developed in the 1980s. The key Preface difference between use cases and the artifacts of a functional approach to analysis and design is the
Part I - An Introduction to UML focus. A functional artifact focuses

Provides a framework for developing test plans at the beginning of the project, rather than waiting until the end.

on a process , but a use case focuses on the goal of a process. This

Chapter 1in What Isis UML? change mindset essential for keeping us from jumping to solutions (processes) without first

understanding what we are trying to accomplish with the solution (the goal). Chapter 2 - UML Architecture
Chapter 3 Chapter 4

Furthermore, focusing on the process often leads to simply reproducing existing systems in a new - Object-Oriented Concepts technology. By the time the analysts and designers get a handle on how the current system works, their Part II - Modeling Object Structure entire frame of reference is immersed in the current system's way of doing things. The goal of redesign is Chapter 5 - Capturing Rules about Objects in a Class Diagram to re-evaluate why the system should be built, that is, why it has to perform this task for the user and why it Chapter 6 - How to Capture Rules about Object Relationships has to produce these specific results. Most goals may be accomplished through a wide variety of Chapter 7 - Testing with Objects processes and technologies. In fact, this is the source of so much frustration on projects-the time and Part III - Modeling Object Interactions money invested in researching alternatives. Without an accurate understanding of the purpose of the Chapter - difficult, ModelingifInteractions in UML 1.4 system8it is not impossible, to measure the value of an alternative.
Chapter 9 - Modeling Interactions in UML 2.0 Goal-focused modeling keeps the target in foremost in the minds of the people performing the research and Chapter 10 - Modeling an Object's Lifecycle UML 1.4

- UML Diagrams and Extension Mechanisms

analysis. helps keep the research from Chapter 11It-also Modeling an Object's Lifecycle away in UML 2.0 discussions about the solutions to achieve the goal. This helps keep us open to consider Part IV - Modeling Object Behavior a variety of solutions, enabling us, and possibly even encouraging us, to take advantage of new options and ideas. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

For example, in the theater case study, the theater has always done business through ticket windows. It was a big change when they delegated these ticket windows to offsite agents. But still the process of Chapter 14 - Modeling the Application Architecture selling tickets was fundamentally the same. As business became more competitive the theater needed to Chapter 15 - Modeling Software Using the Component Diagram find ways to make ticket purchases more accessible to more people. At the same time, costs were Chapter 16 Using Deployment Diagrams in UML 1.4 becoming an increasing concern and agent commissions were cutting into profits. The theater could Chapter 17 Representing an Architecture in UML 2.0 continue to focus on how it sells tickets and try a variety of ways to modify the existing practices at ticket Part VI - Bringing Rigorfocus to the Model windows. Or, it could on its goals:
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics
Part 2. VII To - Automating UML Modeling Process reduce thethe cost of selling tickets.

1. To make buying tickets as easy as possible for end-customers.

Chapter 20 - Using a Modeling Tool

With these in mind, a number of practices and technologies that provide opportunities to meet these Chapter 21 - goals Customizing UML Using Profiles goals can be evaluated. Each practice and technology can be measured in terms of how well it can help Chapter 22 XML Metadata Interchange the theater goals. Appendix A - achieve UML 1.4 these Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements it against. The Use Case diagram, and the entire use case approach, having something to measure Glossary provides that measuring stick. Index

The point of this example is that we cannot measure the effectiveness of a process or design without

In the next section, I discuss the features of the Use Case diagram and its most recent evolution. The List of Figures shaded areas in Figure 12-2 show the changes between UML 1.4 and UML 2.0. For now, I simply identify List of Tables theof changes. List Listings The rest of this chapter is devoted to explaining these features and the changes introduced

by UML 2.0.

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

12-2: Use to Case diagram Part IFigure - An Introduction UML


Chapter 1 Chapter 2 Chapter 4

metamodel.

The changes include - UML Architecture


- Object-Oriented Concepts

- What Is UML?

Chapter 3 addition - UML Diagrams and Extension Mechanisms The of a Constraint on the extend relationship.
Part II - Modeling Object Structureof Tightening of the definitions

the extend and include relationships to clarify the responsibilities of

the cases. Chapter 5participating - Capturinguse Rules about Objects in a Class Diagram
Chapter 6 Chapter 7

And some relatively minor cleanup of the definitions for


- Testing with Objects

- How to Capture Rules about Object Relationships

Part III - Modeling Object Interactions

ExtensionPoint. ExtensionPoint dropped the attribute location because the change in the

Chapter 8 definition - Modeling in point UML 1.4 ofInteractions an extension to now be a single reference, rather than one or more references, Chapter 9 made - Modeling Interactions in UML 2.0 it mute. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

extension wasLifecycle redefined a type of model Element to a type of Chapter 11 An - Modeling anpoint Object's in from UML 2.0 RedefineableElement, Part IV - Modeling Object Behaviora minor adjustment in terminology to improve consistency in the metamodel. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Use case. A use case is now considered to be of the type BehavioredClassifier. A BehavioredClassifier is a subclass of Classifier, so it may have attributes and behaviors, may be Chapter 14 - Modeling the Application Architecture associated with other model elements, and may be generalized.
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 A - use Using Deployment Diagrams in UML 1.4 with a Classifier that provides the context for the use case may now also be associated

The classifier is the subject that2.0 is explained by the use case. Chapter 17 case. - Representing an Architecture in UML
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Part VII - Automating the UML Modeling Process

< Day Day Up >

UML Bible Defining the Use Case Approach by Tom Pender


ISBN:0764526049

One of the first tasks a project is to2003 set (940 the pages) context and the scope of the proposed application. You need Johnin Wiley & Sons to answer questions as the For such beginning to following: advanced users, this book provides What functionality do we need include exclude? specifications, and to shows howand to use UML to improve
timeliness, quality, and efficiency in development. Companion Web Site comprehensive coverage of the versatility of 1.4 and 2.0 UML

How does this system relate to other systems in our architecture? Who will use the system?
<?xml version="1.0" encoding="ISO-8859-1"?> Who or what does the system depend on? Table of Contents UML Bible What products and/or results does the system provide? Preface

do the users/other systems Part IWhy - An Introduction to UML


Chapter 1 Chapter 2 - What Is UML?

need the specific set of features that this system provides?

Then think of the system in terms of encapsulation , which asserts that to use an object, you need know - UML Architecture only its purpose and its interfaces, not its internal implementation. As long as the purpose and the Chapter 3 - UML Diagrams and Extension Mechanisms interfaces of the system remain unchanged, the internal functionality of the object or system may be Chapter 4 - Object-Oriented Concepts replaced or enhanced without affecting the entities that access the functionality.
Part II - Modeling Object Structure

Chapter - Capturing Rules Objects in a Class Diagram So, the5priority in defining a about system is to define its purpose and the required interfaces. The purpose is the Chapter 6 the - How to Capture Rules The about Object Relationships target of project justification. interfaces are the channels of communication between the actors

outside7the and the features of the system itself, the use cases. Working inward from these Chapter - system Testing with Objects fundamental requirements, each feature provides Part III - Modeling Object Interactions internal Chapter 8behavior. - Modeling Interactions in UML 1.4
Chapter 9 - Modeling Interactions in UML 2.0

the context for all subsequent modeling of the system's

The Use Case diagram provides the means to model the system in precisely this manner. The diagram consists of six very simple graphics that represent actors and use cases, and the different types of Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 relationships between them, namely associations, include and extend relationships, and Part IV - Modeling Object Behavior generalization. The goal of the diagram is to provide an external view of the relationship between the Chapter 12 - Modeling the Use of a System with the Use Case Diagram system and the outside world. It is a very flat diagram, providing only a surface-level, or black-box, view of Chapter 13 - Modeling Using Activity the system. In a very Behavior real sense, thean Use CaseDiagram diagram is an encapsulated view of a system.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Caution Technically a Use Case diagram can represent the decomposition of a single use case,

yielding Software a hierarchical Beware!Diagram This approach can be confused with functional Chapter 15 - Modeling Using model. the Component decomposition, approach that 1.4 focuses on describing processes, the inner workings of an Chapter 16 - Using Deploymentan Diagrams in UML element. Use do notin describe Chapter 17 - Representing an cases Architecture UML 2.0the internal workings of anything. They are always an external ofModel an element. Part VI - Bringing Rigorview to the the containing Chapter 19 - Action Semanticselement.
Part VII - Automating the UML Modeling Process

So in a decomposition view, the use case describes a sub-

element in terms of the purpose and the interfaces that make it important to the success of Chapter 18 - Applying Constraints to the UML Diagrams For example, a system-level Use Case diagram for an ATM application would correspond roughly to the main screen of an ATM, the menu options available immediately after passing the security interface. The Chapter 21 - the Customizing UML Using Profiles ATM offers user a set of choices such as withdraw, deposit, inquire on balance, and transfer funds. Chapter 22 XML Metadata Interchange Each option would be represented by a separate use case. The customer (an actor outside the system) is Appendix A - with UML each 1.4 Notation Guide associated of the use cases (within the system) that he could use.
Chapter 20 - Using a Modeling Tool Appendix B - UML 2.0 Notation Guide

The simplicity of the Use Case diagram engenders both weaknesses and strengths. One weakness is the Appendix C - Standard Elements lack of explanation. On the Use Case diagram, a use case is simply an ellipse with a label such as Glossary "Transfer Funds." It is easy to put names like "Withdraw Money" and "Deposit Money" on a set of use Index
List of Figures

cases and call it a system. But doing so does not make it an adequate system definition. To address this challenge, the Use Case diagram is usually accompanied by a set of use case descriptions, also called List of Tables use case narratives. While the form of the narrative is not standard, there are many helpful templates
List of Listings

available (Alistair Cockburn's excellent book, < Writing Effective Use Cases (Addison Wesley Publishing Day Day Up > company, 2000), for example). One major strength of the Use Case diagram is that it frames the issues that affect the development of the subject, be it a system, a subsystem, or a single component. Ensuring the successful development of the UML Bible subject requires a test plan. Examination of the use case narratives can identify use case scenarios. A use ISBN:0764526049 by Tom Pender case scenario is a description of a single path of choices in the execution of a use case, and it can form John Wiley & Sons 2003 (940 pages) the basis for a test plan. For beginning to advanced users, this book provides Together, these three elements-the Use Case diagram, the narrative/description, and scenarios-are the specifications, and shows how to use UML to improve timeliness, quality,to and efficiency in development. artifacts of the use case approach modeling a system.
Companion Web Site comprehensive coverage of the versatility of 1.4 and 2.0 UML

< Day Day Up >


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling Using the Use Case Approach by Tom Pender
ISBN:0764526049

For tracking all of the modeling efforts in (940 an enterprise, UML provides the concept of packages , containers John Wiley & Sons 2003 pages) that are much like directories Packages store artifacts of the modeling process such as Use For beginningor tofolders. advanced users, this book provides Case diagrams, Class diagrams, and so forth. Packages may be decomposed into subpackages to form a comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows how is to contained use UML to improve hierarchy. When specifications, modeling systems, a system in a top-level subsystem package. Subordinate timeliness, quality, in and efficiency packages. in development. levels of the system are contained subsystem Cross-Reference
Companion Web Site

A complete description of packages is in Chapter 14.

When modeling use cases, the standard stereotype for the topmost subsystem package is <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents $useCaseSystem$. Member packages within the $useCaseSystem$ are stereotyped as $useCasePackage$. Figure 12-3 models an example from the theater case study in which the enterprise UML Bible consists of a number of subsystems, including, but not limited to, Marketing, Sales, Contract Preface Administration, and Scheduling. Part I - An Introduction to UML
Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Figure 12-3: Use case model illustrated using a system hierarchy of packages.

Chapter 17 - Representing an Architecture infoggy UML 2.0 the $useCaseSystem$ stereotype is a bit (even UML says that they are synonymous). The three use

In addition, UML defines a package stereotype called $useCaseModel$. The distinction between this and case stereotypes are defined as follows:

Chapter 18 - Applying Constraints to the UML Diagrams

$useCaseModel$ "A use case model specifies the services a system provides to its users, that is, the Chapter 19 - Action Semantics different ways ofthe using the system Process and whose Part VII - Automating UML Modeling top-level package is a use case system." (UML 1.4) In other words, the model package can be viewed as the folder that holds your whole project, including Chapter 20 - Using a Modeling Tool all artifacts such as requirements documents, the top-level system package, and anything else you Chapter 21 - Customizing UML Using Profiles want to keep with the project. Chapter 22 - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Glossary Index $useCasePackage$ "A use case package contains use cases and relationships." (UML 1.4) List of Figures List of Tables List of Listings

$useCaseSystem$ and $usecaseSubsystem$ "A use case system is a top-level package that may contain use case packages, use cases, and relationships." (UML 1.4) In other words, system and Appendix C - Standard Elements subsystem packages contain Use Case diagrams that describe the system.

< Day Day Up > Caution The use case package information I include here is from UML 1.4, and does not appear in UML 2.0 documentation. It is not clear whether it has been dropped or simply was not documented. UML Bible
ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) < Day Day Up >

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Case Diagram Modeling the Use by Tom Pender


ISBN:0764526049

Six modeling elements make the Case diagram: actors, use cases, associations, include and John Wiley & up Sons Use 2003 (940 pages) extend relationships, and generalization. These elements are illustrated in Figure 12-4. For beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

- Modeling Interactions in UML 2.0 Figure Use Case diagram elements. Chapter 10 - 12-4: Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application actor's requirements. Each Architecture use case expresses

Actor: A role played by a person, system, device, or even an enterprise, that has a stake in the successful operation of the system. a goal that the system must achieve and/or a result

Chapter 13case: - Modeling Behavior Using an Activity Use Identifies a key behavior of the Diagram system. Without this behavior, the system will not fulfill the Chapter 14 Modeling the Application Architecture that it must produce. Chapter 15 - Modeling Software Using the Component Diagram

Association: Identifies an interaction between Chapter 16 - Using Deployment Diagrams in UML 1.4 actors and use cases. Each association becomes a dialog should bean explained in a in use case Chapter 17 -that Representing Architecture UML 2.0narrative. Each narrative in turn provides a set of scenarios that canto help the development Part VI - Bringing Rigor the in Model
Chapter 19 - Action Semantics

of test cases when evaluating the analysis, design, and

implementation of the use case and the association. Chapter 18 - Applying artifacts Constraints to the UML Diagrams Include relationship: Identifies a reusable use case that is unconditionally incorporated into the execution of another use case. Responsibility for the decision about when and why to use the included Chapter 20 - Using Modeling Tool use case. use case lies a with the calling
Part VII - Automating the UML Modeling Process

Chapter 21 - Customizing UML Using Profiles

Extend relationship: Identifies a reusable use case that conditionally interrupts the execution of Chapter 22 - XML Metadata Interchange another use 1.4 case to augment Appendix A - UML Notation Guide its functionality. The responsibility for deciding when the extending use case be used liesGuide with the extending use case. Appendix B should - UML 2.0 Notation
Appendix C - Standard Elements Glossary

Generalization: Identifies an inheritance relationship between actors or between use cases.

Index The construction of a Use Case diagram employs the following steps: List of Figures List of Tables

1. Define the context of the system:

List of Listings

1.
< Day Day Up > 1.1 Identify the actors and their responsibilities.

1.2 Identify the use cases, the behaviors of the system, in terms of specific goals and/or results that must be produced. UML Bible
by Tom Pender 2. Evaluate the actors and use cases to find opportunities for refinement, such as splitting or merging John Wiley & Sons 2003 (940 pages) definitions.
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML 3. Evaluate the use cases to find include type relationships. specifications, and shows how to use UML to improve Companion Web Site timeliness, quality, and efficiency in development. 4. Evaluate the use cases to find extend type relationships.

5. Evaluate the actors and use cases for generalization opportunities (shared properties).
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

Modeling actors

UML Bible Preface

In UML, the term actor refers to a type of user. Users, in the classic sense, are people who use the system. But users may also be other systems, devices, or even businesses that trade information. In Use Part I - An Introduction to UML Case diagrams, people, systems, devices, and even enterprises are all referred to as actors. The icons to Chapter 1 - What UML? model them may Is vary, but the concept remains the same.
Chapter 2 - UML Architecture Figure 3 12-5 models the most for actors. People are typically represented using stick Chapter - UML Diagrams andcommon Extensionicons Mechanisms

figures.4Other types of actors are normally represented with a rectangle stereotyped as an actor and Chapter - Object-Oriented Concepts named for the type of actor. Part II - Modeling Object Structure
Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Figure 12-5: Object UML suggested Part IV - Modeling Behavior

icons for actors.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

Any icon may be used to replace these. Figure 12-6 offers some alternatives. A company logo might represent an enterprise. A cartoon image might represent a device. A graphic may be used to represent a Part V - Modeling the Application Architecture system. Often, using alternative icons in a modeling tool is as simple as importing the graphics to a specific Chapter 14 - Modeling the Application Architecture directory.
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

Figure 12-6: Alternative actor icon examples.

Glossary Actors in a low-level use case may even be elements of the physical system, such as a class or a Index component. List of Figures

Anof actor is a role that an entity, external to the system, plays in relation to the system. An actor is not List Tables
List of Listings

necessarily a specific person or system. For example, a person may act in the role of a venue manager

scheduling a new event. Later that day the same person might work on setting up the pricing for a series of < Day Day Up > performances. The same person can play two different roles, and therefore can function as two different actors when interacting with the system. Likewise, many people can function in the same role. For example, many people function as agents for the theater, all performing the same set of duties and having UML with Bible the same relationship the theater's system.
by Tom Pender
ISBN:0764526049

Using roles helpsJohn keep you focused how system is being used rather than on the current Wiley & Sons on 2003 (940 the pages) organization of job titles and responsibilities. The that people do should be separated from their For beginning to advanced users, things this book provides current job titles if the system is to be able to cope with the changes that are inevitable in any organization. comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, shows how to use UML tovaluable improve insights into improving job In fact, reevaluating roles in an and organization often provides timeliness, quality, and efficiency in development. descriptions. How do you identify actors? Listen to descriptions of the system. Listen for the ways in which people interact with the system. Ask why they are using the system in that manner. The answer to the why <?xml version="1.0" encoding="ISO-8859-1"?> question often describes a duty they are performing that supports a function or the creation of some result. Table of multiple Contents When people perform the same function, try to name the role that they all play while performing UML the Bible particular function.
Preface Companion Web Site

Throughout the Part ITip - An Introduction tomodeling UML

effort, the vocabulary of the users will reveal most of the key elements of the model. Watch for how parts of speech translate into model elements; actor names often Chapter 1 - What Is UML? show up as the subject in sentences describing how people use the systems. Chapter 2 - UML Architecture
Chapter 3 Chapter 4 - Object-Oriented Concepts progresses, use cases are realized or implemented by classes and later components. As the project
Part II - Modeling Object Structure

- UML Diagrams and Extension Mechanisms Initially actors are modeled as communicating with the system behaviors, the use cases. As the project

progresses, actors also evolve. Instead of representing roles that people perform, they transform into the

Chapter 5 - Capturing Rules playing about Objects in a Class user interfaces that people these roles use Diagram to interact with the system. For example, in the systemChapter 6 How to Capture Rules about Object Relationships level Use Case diagram, a Customer actor buying seats to a performance at the theater interacts with the Chapter 7 - Testing with PlaceOrder use case. InObjects the design-level Use Case diagram, the actor becomes two elements: the role of
Part III - Modeling Object Interactions customer, and a user interface used by a

customer. The use case becomes one or more objects that

Chapter 8 the - Modeling Interactions in UML to 1.4 manage behavior of the application interact with the user interface and the rest of the system. Chapter 9 - Modeling Interactions in UML 2.0

This relationship between the high-level Chapter 10 - Modeling an Object's Lifecycle description in UML 1.4 in the use cases and the low-level description in the
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

design and implementation models provides traceability.

Chapter 12 Modeling to the Use of a System with the Use Case Diagram through its-evolution its ultimate implementation. Traceability helps insure that requirements are not lost Chapter 13 Modeling Behavior Using an Activity Diagram or corrupted during the development.
Part V - Modeling the Application Architecture

Traceability describes how a requirement can be identified in the beginning of the project and followed

Furthermore, projectthe members working at the enterprise level can use the same tools to describe Chapter 14 - Modeling Application Architecture requirements as the members who work on the detailed design of the system components. Changes Chapter 15 - Modeling Software Using the Component Diagram made on level more easily translate changes on other levels, improving communication and Chapter 16 one - Using Deployment Diagrams into UML 1.4 coordination of project tasks and deliverables. Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Actor descriptions may also be refined using generalization. Conceptually the process of refinement of actors is the same as for classes. Actors have a purpose and one or more interfaces. Evaluation of the Chapter 19 - Action Semantics similarities and differences between actors can identify opportunities to merge, and to specialize, their Part VII - Automating the UML Modeling Process descriptions.
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles For example, in Figure 12-7, the VenueManager actor is responsible for scheduling. However, interviews

with our clients thatInterchange only certain venue managers have the authority to reschedule performances Chapter 22 - XMLreveal Metadata and events. Rescheduling can influence customer relations, and may involve the decision whether or not Appendix A - UML 1.4 Notation Guide to offer refunds. TheNotation two roles have a lot of similarity, and few differences. So, a second actor, Appendix B - UML 2.0 Guide ExecutiveVenueManager, is defined to describe the higher level of authority. An executive venue manager Appendix C - Standard Elements has (inherits) all of the responsibilities of a regular venue manager, plus a few unique to the executive role. Glossary
Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible

Figure 12-7:John Using generalization to (940 refine the definitions of actors. Wiley & Sons 2003 pages)
For beginning to advanced users, this book provides Generalization may be used for more than just a single specialization, as in the venue manager example. comprehensive coverage of the versatility of 1.4 and 2.0 UML For example, in the original system description a use customer defined as someone who is interested in specifications, and shows how to UML tois improve purchasing tickets for performances at the theater. definition of a customer includes people who have timeliness, quality, and efficiency in The development. already purchased and those who simply want to browse but don't yet know if there is anything they want Companion Web Site to buy.

by Tom Pender

ISBN:0764526049

While working on the purchasing rules, we discover that some customers have access to special pricing <?xml version="1.0" encoding="ISO-8859-1"?> that of other customers do not, and that some customers are extended a line of credit, while others are not. Table Contents The rules also draw a distinction between customers who are individuals and customers who are UML Bible companies (corporate customers). Figure 12-8 models a generalization structure for customers. At the top Preface is a Ibasic definition of the customer Part - An Introduction to UML
Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

actor. Below that, and attached by generalization relationships, are the specializations of the customer actor (role). Chapter 1 - What Is UML?

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture Figure 12-8: Using generalization to refine

the definitions of customers.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI Bringing Rigor to the Model A use case defines a behavioral feature

Modeling use cases

of a system (or enterprise, subsystem, and so on). Without these

features, system Constraints cannot be used successfully. Each use case is named using a verb phrase that Chapter 18 the - Applying to the UML Diagrams expresses goal the system must accomplish. For example, use cases for the theater system include Chapter 19 -aAction Semantics Create Agent Contract, Show, and Part VII Automating the Reschedule UML Modeling Process Schedule Event. Although each use case implies a supporting process, the focus is on the goal, not the process. Figure 12-9 illustrates notations for use Chapter 20 - Using a Modeling Tool cases. The name may appear inside or outside of the ellipse. Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List ofFigure Tables 12-9: Use case notation alternatives. List of Listings

One very common question about use cases is, "What requirements belong on the Use Case diagram and < Day Day Up > what requirements should be explained elsewhere?" The simplest answer I've found is to model only the behavioral features of the system that can be seen by an actor. For example, most systems must save data to a database, but the actors can't actually see this happening. The most they typically see is a UML Bible message indicating that the system did, or did not, save their data. In this situation, the use case-level ISBN:0764526049 by Tom Pender requirement is a message indicating the success or failure of the save function, not a description of the John Wiley & Sons 2003 (940 save process. The implementers can use thepages) success or failure message as a requirement that defines the type of information that needs to be produced by the process used for saving the data. For beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows to usedifferent UML to improve This applies even though use cases mighthow describe levels of detail. A use case drafted at the timeliness, quality, and efficiency in development. enterprise level would describe interactions with people or other companies, while those drafted at the component level might describe operations Companion Web Site on a class, or a set of operations performed in sequence. Regardless of the level, the focus is on the purpose and interfaces of the entity, not the implementation. The sequences of actions performed by a use case are the interactions with the actors, not the internal <?xml version="1.0" encoding="ISO-8859-1"?> processes. Table of Contents UML Bible By defining use cases in this manner, the model defines a set of requirements, not a solution. It does not Preface describe how the system must work. It describes what the system must be able to do. For example, when I
Part I - An Introduction decide that the theaterto is UML going

to contract with agents, I define what it means to successfully complete

Chapter 1 - What Is UML? negotiations with an agent. In our theater example, the result of this system feature is a complete contract

(with the "complete" fully defined) and a set of zero or more sales agreements that define what seats Chapter 2 term - UML Architecture they are to sell forand discrete periods of time within the contract. Chapter 3 allowed - UML Diagrams Extension Mechanisms
Chapter 4

The solutions for achieving these results could include manual processes and a simple data-entry feature, support for automated calculation of projected commissions (for the agent) and profitability (for the Chapter 5 - Capturing Rules about Objects in a Class Diagram theater), or even interactive, Internet-based collaboration between venue managers at the theater and Chapter 6 - How to Capture Rules about Object Relationships agents at remote locations to negotiate and finalize the terms of the contract. The merits of each of these Chapter 7 - Testing with Objects alternatives would have to be measured against
Part II - Modeling Object Structure Part III - Modeling Object Interactions

- Object-Oriented Concepts

Chapter 8

1. How well it satisfies the established objectives (the desired results of the use case). - Modeling Interactions in UML 1.4

Chapter 9 - Modeling Interactions in UML 2.0the constraints for the project (performance, cost, time to 2. How well it can be supported within Chapter deliver, 10 - Modeling an Object's Lifecycle in UML 1.4 quality, and maintainability). Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Keeping these two principles in mind Part IV - Modeling Object Behavior

(goal-oriented definitions and an actor-centered perspective) will help

you avoid the breaking down of procedures and tasks into smaller and smaller Chapter 12 functional - Modeling decomposition, the Use of a System with the Use Case Diagram processes you have described all Activity the internal workings of the system. Chapter 13 -until Modeling Behavior Using an Diagram
Part V - Modeling the Application Architecture

Caution One of the pitfalls of systems development is going over budget, which happens when we don't limit the scope of each task or we make a model too inclusive. UML provides 12 other Chapter 15 - Modeling Software Using the Component Diagram diagrams, in addition to the Use Case diagram, for fully describing the solution for a system. Chapter 16 - Using Deployment Diagrams in UML 1.4 You don't have to explain everything in the Use Case diagram.
Chapter 14 - Modeling the Application Architecture Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model The complete set of use cases for an

entity describes all of the behaviors of that entity. Such a list can be

Chapter 18 organize - Applying Constraints to the UML Diagrams large. To modeling information, UML provides packages , which function like directories. Use

cases pertaining to a category of behaviors may be grouped together within a package for ease of use. Chapter 19 - Action Semantics For VII example, within the there are many Part - Automating the theater UML Modeling Process functions, some related to marketing, others to scheduling, and still others to contract administration and to sales. Packages provide a means to scope information Chapter 20 - Using a Modeling Tool and effort. Information of a given type may be kept together, separated from other topics. This means that Chapter 21 - Customizing UML Using Profiles those who need the information to implement the topic have a single, well-identified place to look for the Chapter 22 - XML Metadata Interchange information. Figure 12-10 models the subsystems of the theater system in a Package diagram. Appendix A - UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Figure 12-10: Package diagram for the theater specifications, and shows how to useexample. UML to improve timeliness, quality, and efficiency in development.

The packages here are the same packages modeled in Figure 12-3. In Figure 12-3, the packages are Companion Web Site modeled from the perspective of package containment. Here, the model emphasizes package dependencies rather than a containment hierarchy.
<?xml version="1.0" encoding="ISO-8859-1"?> Use of cases may also be viewed much like the services provided by classes or states. That is, services may Table Contents

be provided or required. A use case may provide or offer a service to an actor. An offered service is UML Bible triggered by the user and implemented by the use case. For example, a use case could query the Preface scheduled performances at the Part I - An Introduction to UML theater, or complete a ticket purchase. In an offered service the actor is making a request of the system. The system is responsible for fulfilling the request by asking for input, Chapter 1 - What Is UML? enforcing integrity rules, and managing the information. Chapter 2 - UML Architecture
Chapter 3 - may UML Diagrams andaExtension Mechanisms A use case also require service from the actor. For example, a use case might support entering Chapter 4 Object-Oriented Concepts mailing or contact information, or entering contract details. In this type of use case, the system depends on
Part - Modeling Object Structure the II actor to provide all of the information.

It functions a bit like a getSomeInfo() call from the system to the

Chapter actor. 5 Chapter 6

- Capturing Rules about Objects in a Class Diagram

- How to Capture Rules about Object Relationships Both types use cases may be implemented in the form of a dialogue between the actor and the system. Chapter 7 - of Testing with Objects
Part III - Modeling Object Interactions

Finally, use cases often reflect a business entity's need to manage resources. Managing resources - Modeling Interactions in UML 1.4 includes acquiring, using, and disposing of those resources. The business often reports on the status and Chapter 9 - Modeling Interactions in UML 2.0 use of the resource throughout the life of the resource. These tasks have been summed up in a humorous Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 acronym CRUD, for Create, Read, Update, and Delete. CRUD can be a checklist to remind you of the Chapter 11 - Modeling an brainstorming Object's Lifecycle incases. UML 2.0 tasks to consider when use
Chapter 8
Part IV - Modeling Object Behavior

Chapter 12 CRUD - Modeling the Use of a System with you the can Use Case Since the behaviors are so common, save Diagram yourself a lot of work by combining them into

one or 13 a few use cases that provide all Activity the maintenance Chapter - Modeling Behavior Using an Diagram features related to the resource. You might also findV that the dependencies between resources Part - Modeling the Application Architecture case. 14 - Modeling the Application Architecture Chapter
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

require you to maintain them together in the same use

Be careful not to follow the CRUD checklist too literally. Consider that a resource might be acquired (created) in many different ways. It might be queried (read) from a variety of perspectives. A resource can Chapter 17 - Representing an Architecture in UML 2.0 be altered (updated) in many ways. A resource may be disposed of (deleted) in many ways, too. Each Part VI - Bringing Rigor to the Model different way of interacting with the resource might reveal the need for a different use case.
Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating the UML Modeling Process evaluate what you find and consolidate where it

Chapter 19 - approach Action Semantics So, a good is to brainstorm the use cases with the CRUD checklist as a starting point. Then

makes sense from the users' perspective and where the

Chapter 20 govern - Using the a Modeling Tool rules that resource make it prudent to do so. Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix - UML 2.0 Notation Guide UML 2.0Badds an association, in the metamodel, between a use case and a classifier. Classifiers may be

Adding classifiers

classes,C associations, collaborations, interfaces, and more. A classifier is basically an entity that can own Appendix - Standard Elements behaviors. A use case describes a behavior. Consequently, a classifier may own, or be described by, any Glossary number of use cases. Figure 12-11 highlights the modification to the metamodel, making use cases an Index optional owned element of a classifier. This relationship means that the classifier provides the context for List of Figures theof use case. List Tables
List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Figure 12-11: Metamodel update supporting classifier ownership of use cases. $OMG 2.0 Table of Contents UML An Bible enterprise might own dozens of use cases organized into a hierarchy of subsystems. A class might Preface have a use case for each interface. A collaboration may be represented as a single use case or a
Part I - An Introduction todepending UML hierarchy of use cases,

on the level of the collaboration description.

Chapter 1

- What Is UML?

Alternately, a use case may be used to explain the behavior of more than one classifier. This highlights the Chapter 2 - UML Architecture UML emphasis encouraging reuse. Reuse is valuable not only in the code, but in every artifact of the Chapter 3 - UMLon Diagrams and Extension Mechanisms development cycle, from requirements through implementation. Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5 Chapter 6

- Capturing Rules about Objects in a Class Diagram Modeling associations

- How to Capture Rules about Object Relationships An association is a relationship Chapter 7 - Testing with Objects between an actor and a use case. It is an instance of the same Association

metaclass used to model relationships Part III - Modeling Object Interactions


Chapter 9

between classes on a Class diagram. The relationship is

represented by a lineInteractions between an actor Chapter 8 - Modeling in UML and 1.4 a use case. The association represents the fact that the actor

communicates with the use case. In fact, in earlier versions of the UML specification, the line was called a - Modeling Interactions in UML 2.0 Communicates With relationship. This is the only relationship that exists between an actor and a use case. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Figures 12-12 and 12-13 model associations between the customer actor, the agent actor, and the use Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 cases with which they each interact.
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Figure 12-12: Modeling associations between agents and use cases. Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1

Figure 12-13: Modeling associations between customers and use cases.


- What Is UML?

Chapter - different UML Architecture Notice 2 that actors may access the same use case. This typically means that they interact with the Chapter 3 in - UML Diagrams Extension Mechanisms use case different ways.and If their interactions are identical, it might mean that their roles are the same. I Chapter 4 -might Object-Oriented Concepts emphasize because the purpose of two interactions also has to be the same in order to merge
Part II Modeling Object Structure them. For example, in Figure 12-13,

a person in the customer role uses the PlaceOrder use case because

he wants place an order himself. In in Figure 12-12, the agent uses the PlaceOrder use case because Chapter 5 to - Capturing Rules for about Objects a Class Diagram she is helping a customer order. TheRelationships result is the same in both cases; an order is created for a Chapter 6 - How to Captureplace Rulesan about Object customer. the relationship to the result is different. The completed order belongs to the customer in Chapter 7 -But Testing with Objects both cases, but the person who entered Part III - Modeling Object Interactions
Chapter 8 Chapter 9

the order is different.

Tip Some tools, like Rational Rose, place a navigation arrow on one end of the association - Modeling Interactions in UML 2.0 (depending on the direction you draw it). All of the details of the interaction between an actor and a Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 use case are explained either in the use case description or in Sequence diagrams. So the Chapter 11 - Modeling an Object's Lifecycle inany UML 2.0 navigation arrow does not provide additional information. Modeling tools typically provide the Part IV - Modeling Object Behavior option to turn the navigation arrows on or off. The important thing to remember is to identify what Chapter 12 - Modeling the Use of a System with the Use connections Case Diagram use cases the actors need to access. These will form the basis for the interfaces of Chapter 13 Modeling Behavior Using an Activity Diagram the system and subsequent modeling efforts.
Part V - Modeling the Application Architecture

- Modeling Interactions in UML 1.4

Use case may also be Architecture adorned with multiplicity. Despite the many times I have seen Chapter 14 associations - Modeling the Application multiplicity in Use Case diagrams, I have never seen a good explanation for why to use it or what it Chapter 15 -used Modeling Software Using the Component Diagram adds to the To reiterate, all of the of the relationship between the actor and the use case Chapter 16 - model. Using Deployment Diagrams in details UML 1.4 are explained in either the use case description and/or a set of Sequence diagrams and/or collaborations Chapter 17 - Representing an Architecture in UML 2.0 modeled within Composite Structure Part VI - Bringing Rigor to the Model
Chapter 19 - Action Semantics

diagrams.

Chapter 18 - Applying Constraints to the UML Diagrams

Modeling use case relationships

Part VII - Automating the UML Modeling Process

Use cases discrete behaviors. It is possible for a system to use the same behavior under a variety of Chapter 20 - define Using a Modeling Tool circumstances and as part ofUsing many larger, more comprehensive behaviors. In other words, behaviors can Chapter 21 - Customizing UML Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

be reused; and we need some notation to show that use cases can be reused. UML defines two standard stereotypes to represent two common use case relationships: include and extend.

The include relationship

Glossary While researching systems it is common to find a behavior that can be performed under many different Index circumstances. In code, we tend to make reusable components such as class libraries, utility classes, List of Figures and functions that we can simply reference or call from within other code. UML supports the subroutines,

same practice when identifying common features in the use case approach. List of Tables
List of Listings

The include relationship is analogous to a call between objects. One use case requires some type of < Day Day Up > behavior. That behavior is already fully defined in another use case. Within the logic of the executing use case, there is a call to the previously defined use case. The distinguishing characteristic of the include relationship is that the decision to incorporate the second use case is in the calling use case. The called UMLof Bible use case is unaware the calling use case and has no participation in the choice to execute.
by Tom Pender
ISBN:0764526049

Included use cases can be identified in at(940 least two ways. Included use cases might be pre-existing. They John Wiley & Sons 2003 pages) are defined for one purpose, but in the development another use case, the same behavior is required. For beginning to advanced users, thisof book provides Rather than define the behavior again within the new use case, the comprehensive coverage of the versatility of 1.4 and behavior 2.0 UML can simply be included in the specifications, and shows to use UML touse improve logic of the new use case. Another way tohow identify included cases is to pull functionality out of existing timeliness, quality, and efficiency development. use cases to form a new use case. This happensin most often when merging use cases from the efforts of multiple developers. When comparing their work, they find the same behaviors defined within a number of Companion Web Site their use cases. One option is to pull those behaviors out, encapsulate them as discrete use cases, and then replace their former location within the use case description with a call to the new use case using the <?xml version="1.0" encoding="ISO-8859-1"?> include relationship.
Table of Contents UML Bible To use the include relationship, the use cases must conform to two constraints: Preface

use case may only Part IThe - Ancalling Introduction to UML


Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Architecture

depend on the result from the called use case. It can have no knowledge of the internal structure of the use case. Chapter 1 - What Is UML? The calling use case must always require the execution of the called use case. The use of the called - UML Diagrams and Extension Mechanisms use case is unconditional.
- Object-Oriented Concepts

Part II - 12-14 Modeling Object Structure Figure models two include

relationships:

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List ofFigure Tables 12-14: include notation for the Use Case diagram. List of Listings

Between PlaceOrder and SelectPerformance < Day Day Up > Between PlaceOrder and SelectSeats Figure 12-14 shows how the include relationship is modeled as a dashed open arrow pointing from the UML Bible calling use case to the called use case- from PlaceOrder to SelectPerformance, for example, where ISBN:0764526049 by Tom Pender PlaceOrder calls the SelectPerformance use case. The direction of the arrow helps to reinforce visually John Wiley & Sons 2003 (940 pages) that the call is initiated by the use case at the base of the arrow.
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML This example tells us that when a customer interacts with the PlaceOrder use case, he will always be specifications, and shows how to use UML to improve asked to select atimeliness, performance and and to select the seats at that performance that he wants to order. The quality, efficiency in development.

diagram does not tell us when, in the execution of use case, the calls will be made, or even the order of Companion Web Site the calls. For those details we need a use case narrative.
<?xml version="1.0" encoding="ISO-8859-1"?> PlaceOrder use case. These are examples of using an existing use case in the context of another use Table of Contents UML Bible Preface

Note that both the SelectPerformance and SelectSeats use cases may be called independently of the case. A customer can simply look up performances or seats at a performance without placing an order.

Part I - An Introduction to UML

The extend relationship

Chapter 1 - What Is UML? says that one use case might augment the behavior of another use case. The The extend relationship Chapter 2 use - UML Architecture extension case provides a discrete behavior that might need to insert itself into the base use case. The Chapter 3 drawn - UML Diagrams and Extension arrow is from the extension to theMechanisms executing use case. Drawing the arrow with the base at the Chapter 4 use - Object-Oriented Concepts extension case indicates that the extension, not the executing use case, decides whether to impose
Part IIon - Modeling Object Structure itself the executing use case. The

executing use case is unaware of the extension.

Chapter 5 Chapter 7

- Capturing Rules about Objects in a Class Diagram

This might strange at first, about but consider the impact on changes to the system. As the base use case Chapter 6 -sound How to Capture Rules Object Relationships

evolves and new extensions are developed, the base use case does not have to be changed with each - Testing with Objects new or revised extension. In this respect, the extend relationship functions much like the observer Part III - Modeling Object Interactions pattern. That is, the extension watches for circumstances that would require it to jump into the execution of Chapter 8 - Modeling Interactions in UML 1.4 the base use case. Using extensions enables us to leave the base use case untouched while freely adding Chapter 9 - Modeling Interactions in UML 2.0 behaviors as the system evolves.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IVto - Modeling Behavior case the base Object use case. The direction of

Chapter 11 - Modeling an Object's Lifecycle in UML 12-15 2.0 The extend relationship is modeled in Figure as a dashed stick arrow from the extension use

the arrow helps to reinforce visually that the call is initiated by

Chapter 12 - Modeling the Use of a System with the Use Case Diagram the use case at the base of the arrow. The extension use case decides when it is time to execute. The Chapter 13 case - Modeling Behavior Using an Activity Diagram base use has no part in the decision.
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure 12-15: Notation for the extend relationship. < Day Day Up > Applying an extend relationship requires four elements: The base use case: The use case that will be augmented by the extension use case (the UML Bible RescheduleEvent use case, for example). ISBN:0764526049 by Tom Pender
John Wiley & Sons 2003 (940 pages) The extension use case: The use case that provides the added behavior (CancelPerformance and For beginning are to advanced users, book provides ReschedulePerformance extension uses this cases in this example). comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve The extend relationship: A dashed arrow with the base attached to the extension use case and the timeliness, quality, and efficiency in development. arrow attached to the base use case. Companion Web Site

Extension points: One or more locations in the base use case where a condition is evaluated to determine whether the extension should interrupt the base use case to execute. The extension points <?xml version="1.0" encoding="ISO-8859-1"?> may be listed within the use case icon or simply identified within the use case narrative.
Table of Contents UML Bible The extension point is a condition that determines whether the extension should be used. There is no such Preface condition in an include relationship. The extension point defines what the extension use case is watching
Part I -order An Introduction to UML for in to know when it needs

to insert itself into the executing use case.

Chapter 1

- What Is UML?

For example, anArchitecture extension point may be an error condition. During a PayForOrder use case, for instance, Chapter 2 - UML the connection the credit card company could be down. The base use case would trigger an error to the Chapter 3 - UMLto Diagrams and Extension Mechanisms system. It would be up to the extension use case to watch for the error and to execute (that is, handle the Object-Oriented Concepts error) when the error occurs. Once it completes, the extension would notify the system and the base use Part II - Modeling Object Structure case would be allowed to resume execution from the point where it was suspended.
Chapter 4 Chapter 5 - Capturing Rules about Objects in a Class Diagram Chapter 6 - How to Capture Rules about Object Relationships The extend relationship can be confusing for Java programmers who use the extends Caution Chapter 7 - Testing with Objects keyword on a class declaration to define an inheritance relationship. These two concepts
Part III - Modeling Interactions haveObject nothing in common.

UML provides a separate notation for inheritance/generalization.

Chapter 8

- Modeling Interactions in UML 1.4

The extension point notation is added inside Chapter 9 - Modeling Interactions in UML 2.0 the use case ellipse in the following format:
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

<extension point> ::= <name> <explanation>] Chapter 11 - Modeling an Object's Lifecycle[: in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

(Note that not all tools use the recommended format, as can be seen in Figure 12-15 where only the explanation is used.) Part V - Modeling the Application Architecture
Chapter 14 -follows Modeling the Application The name the normal rules Architecture for identifiers and describes a location within the logic of the use case. Chapter 15 Modeling Software Using the Component Since a use case describes a behavior, the locationDiagram is often a state of the object some time during the Chapter 16 of - Using Deployment Diagrams in UML 1.4 is optional, may be any informal text adequate to execution the behavior. The explanation, which Chapter 17 Representing an Architecture in UML 2.0 describe the condition that governs the execution of the extending use case. Figure 12-16 models the
Part VI - Bringing Rigor to relationship, the Model notation for an extend

adding the extension point explanation in a compartment below the

Chapter 18 - Applying to the UML Diagrams name within the use Constraints case ellipse. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

Figure 12-16: Extension point notation using a comment. UML Bible


Preface

Extension points may also be documented in a comment attached to the extend relationship, as shown inFigure 12-16. The comment uses a page icon with the top right corner folded down. It contains the Chapter 1 - What Is UML? condition that the extension is watching for and the label (extension point) that identifies the location in the Chapter 2 - UML Architecture base use case where the decision would take place. In this example, the condition tests to see whether Chapter 3 - UML Diagrams and Extension Mechanisms both the start and end dates changed. It is possible that only one of the dates changed, in which case no Chapter 4 - Object-Oriented Concepts performances would be rescheduled. They would either be deleted (if the start date moved later or the Part II - Modeling Object Structure end date moved earlier) or added (if the end date moved out). The comment is attached with a binary Chapter 5 Capturing Rules about Objects inline a Class Diagram constraint line, a fancy name for a dashed connecting two model elements.
Part I - An Introduction to UML

Chapter 6

- How to Capture Rules about Object Relationships Yet another approach toObjects modeling extension points is to represent a use case as a class or object, as Chapter 7 - Testing with

shown in Figure 12-17. extension Part III Modeling ObjectThe Interactions


Chapter 9

points may then be listed in a user-defined compartment. The

ellipse 8 in the top right corner of the compartment identifies the class as a use case. Chapter - Modeling Interactions in name UML 1.4
- Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Figure Using an class notation to a use case with extension points. Chapter 17 - 12-17: Representing Architecture in model UML 2.0
Part VI - Bringing Rigor to the Model

In this example, there are two extension points. The first was modeled in Figure 12-15 between ReschedulePerformance and RescheduleEvent. The second extension refers to the relationship between Chapter 19 - Action Semantics CancelPerformance and CancelEvent in Figure 12-15.
Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating the UML Modeling Process

Chapter 20 -to Using a Modeling Tool In addition the condition that defines when an extension is needed, the extension use case may itself be Chapter 21 - Customizing UML Using Profiles conditional. The condition attribute on the extension use case functions as a Constraint. If the constraint Chapter 22 - is XML Metadata Interchange expression satisfied when the extension point condition is true, the extension use case will execute. For

example, point "event moved" is true, the extension use case will test its constraint Appendix A if - the UMLextension 1.4 Notation Guide "reschedule performances authorized". If this further constraint is satisfied, the extension use case will Appendix B - UML 2.0 Notation Guide execute,C otherwise it will not. Appendix - Standard Elements
Glossary Index

List of Figures List of Tables

The contrast between include and extend relationships is sometimes confusing. Table 12-1 sets them side by side to highlight the similarities and differences. Table 12-1: Include versus Extend

List of Listings

Include

< Day Day Up > Extend

Augments the behavior of the base use UML Bible case. by Tom Pender

Augments the behavior of the base use case.


ISBN:0764526049

John Wiley & Sonsused 2003 (940 pages) The included use case is always to The extension use case might be used to augment For beginning to advanced users, the this executing book provides augment the executing use case. use case.

Theexecuting use case decides when to how to use TheUML extension use case decides when it will insert specifications, and shows to improve timeliness, and efficiency in development. call the included use case.quality, The included use itself into the execution of the base use case. The case is unaware of the base use case. base use case is unaware of the extension. Companion Web Site The relationship arrow is drawn from the executing use case to the included use <?xml version="1.0" encoding="ISO-8859-1"?> case. The base of the arrow indicates that Table of Contents the base use case directs the included use UML Bible case to execute.
Preface
Part I - An Introduction to UML

comprehensive coverage of the versatility of 1.4 and 2.0 UML

The relationship arrow is drawn from the extension use case to the executing use case. The base of the arrow indicates that the extension use case is making the decision whether to interrupt the executing use case.

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture

< Day Day Up > - UML Diagrams and Extension Mechanisms


- Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Case Bible Writing a Use Narrative by Tom Pender


ISBN:0764526049

A Use Case diagram very& descriptive of the relationship between the actors and the features of the John is Wiley Sons 2003 (940 pages) system, but it lacks details needed to support the system behaviors. A use case narrative is a written Forthe beginning to advanced users, this book provides document that explains a use case is a behavior of the system beginning (trigger), middle (dialog), comprehensive coverage of the versatility of 1.4with and a 2.0 UML specifications, and shows how to use UML to improve and end (termination). To do so, the use case narrative often includes the following elements.
timeliness, quality, and efficiency in development. Companion Web Site

Assumptions Preconditions

<?xml version="1.0" encoding="ISO-8859-1"?> Use case initiation/triggers Table of Contents UML Bible Preface

Dialog

Part IUse - Ancase Introduction to UML termination

Chapter 1 Chapter 3 Chapter 4 Chapter 5 Chapter 7

- What Is UML? Post Chapter 2 conditions - UML Architecture

And a couple of interesting alternative concepts:


- Object-Oriented Concepts

- UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure Minimal guarantees

- Capturing Rules about Objects in a Class Diagram - Testing with Objects

Successful Chapter 6 - How guarantees to Capture Rules about Object Relationships The names may be different in various methods but in general the same details are covered. In addition to these main items, it is common to find audit details such as update logs, status, author, unique identifier Chapter 8 - Modeling Interactions in UML 1.4 and/or name, open issues, future enhancements, and more. There is nothing standard about these items. Chapter 9 - Modeling Interactions UML 2.0 Many people have contributed to in the concepts and many people use entirely different approaches. Here I Chapter 10 - Modeling an Lifecycle in UML 1.4 that can make or break the use case definition. present what I believe toObject's be the minimum concepts
Part III - Modeling Object Interactions

Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Much this language isBehavior borrowed Part IV of - Modeling Object

from the programming by contract concept developed and

implemented by Bertrand Meyer the creation of theCase Eiffel programming language. One chief goal of the Chapter 12 - Modeling the Use of a in System with the Use Diagram programming by contract concept isan that each Diagram relationship, whether between actors and use cases, or Chapter 13 - Modeling Behavior Using Activity between different use cases, should be described Part V - Modeling the Application Architecture much like a contract. A contract states terms to which both parties must comply. If one party fails to comply with its part of the contract, then the other party is not Chapter 14 - Modeling the Application Architecture obligated to fulfill its part of the contract. Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter - Representing an Architecture in UML way as17 to minimize their dependence upon one2.0 another. Unit independence allows each unit to be Chapter 18 Applying Constraints to the possible). Loose coupling reduces the UML timeDiagrams and cost required to develop and maintain the system. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Each unit should remain as loosely coupled as possible. Loosely coupled entities are connected in such a maintained without requiring corresponding changes in the other unit (or at least the fewest changes

Chapter 20 - Using a Modeling Tool Chapter 21 -a Customizing UML Using Profiles In order for use case to work properly, certain conditions must be true within the system. The system Chapter 22 XML Metadata Interchange agrees, or contracts, never to invoke the use case unless it knows that all of the needed conditions have Appendix A -Assumptions UML 1.4 Notation Guide been met. describe a state of the system that must be true before the system may use the Appendix B UML 2.0 Notationare Guide use case. These conditions not tested by the use case; the use case simply assumes them to be true. Appendix C this - Standard Elements (Contrast with preconditions, which I take up later). Glossary

Assumptions

For example, consider authentication and authorization. A standard security feature typically handles these Index functions. Each subsequent use case assumes that the user could not be accessing the use case had she not made it past the security check. Consequently, you would rarely, if ever, include the security check in List of Tables each use case.
List of Figures List of Listings

So how does this help you with the design of the system? Well, if one use case can't work, and should not < Day Day Up > even be accessed, unless another use case has first done its job, then this condition dictates the order of execution. In other words, the assumptions give you explicit clues about the sequence of execution, or the workflow , for use cases.
UML Bible

An assumption for the Select Show Seats use case might read: ISBN:0764526049 by Tom Pender Assumption: The user must have authority to access this transaction.
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Tip The Select Show Seats assumption provides a simple example that is almost too common. If an specifications, and shows how to use UML to improve assumption such asquality, this one appears in many use cases, it can be redundant and tedious to timeliness, and efficiency in development.

document. Instead, document it at the system level, in a document separate from the individual use cases. Companion Web Site
<?xml version="1.0" encoding="ISO-8859-1"?> this approach is that it brings the focus back to the process the users currently apply instead of the goals Table of Contents UML Bible

Workflow is often established by interviewing users to find out how they do their jobs. A liability created by

and the rules that define success. In a very generic example, Figure 12-18 represents the assumptions for a set of use cases. Use Case 3 assumes that use case 1 has completed its task. Use Case 4 assumes Preface that Use Case 2 has completed its task. The current workflow (shown on the left) dictates that the order of Part I - An Introduction to UML execution is 1, 2, 3, and 4. But is that really the only option given the documented assumptions?
Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior Figure 12-18: Evaluating assumptions to

establish workflow options.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Would 13 it not be equally valid to perform use cases 2 and 4 concurrent with 1 and 3 since they have no Chapter - Modeling Behavior Using an Activity Diagram dependencies? about a Architecture workflow that Part V - Modeling Or thehow Application executes in the order 1, 3, 2, and 4? The point of the example workflow options are often more flexible than we might at first realize. Evaluate the true Chapter 14is - that Modeling the Application Architecture dependencies and discover the available alternatives. It might open doors to more efficient work practices. Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0

Granted there might be other factors involved in the final decision regarding workflow. But assumptions provide a very specific and valuable insight into the hard dependencies that constrain workflow options.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Preconditions

Like assumptions, preconditions describe a state of the system that must be true before you can use the use case. But unlike assumptions, these conditions are tested by the use case before doing anything else. Chapter 21 - Customizing UML Using Profiles If the conditions are not true, the use case will not execute.
Chapter 20 - Using a Modeling Tool Chapter 22 - XML Metadata Interchange Appendix A -a UML 1.4 Notation Guide If you have programming background, you have probably already encountered preconditions even if you Appendix B them - UML by 2.0 Notation Guide didn't call that name. Whenever you call a behavior (function or operation) that has parameters,

the first section of code in the behavior checks the values of the parameters. If any of the values fails to Appendix C - Standard Elements pass the validity checks, the request for the behavior is rejected. Simply stated, the behavior cannot work Glossary with bad information. Index
List of Figures List of Tables

List of Listings

The same is true of a use case. For example, when placing an order at the theater, you need to invoke the use case to view the seating chart and select seats at a performance. If you don't first decide what show

you want to view, the use case cannot pull up < the right seating chart. Furthermore, if you choose a Day Day Up > performance that has ended, or is not in the appropriate status, then the use case should not allow you to view the seating chart. Preconditions forUML the Select Bible Show Seats use case might read: Precondition: The requestor must provide a valid Performance reference. A valid performance is beginning to in advanced users, this status. book provides defined as For a performance Available for Sale
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve The preconditions need to be published along with interface to your use case, and later to the interface timeliness, quality, and efficiency in the development.

of the class or classes that implement the use case. This is because the implementation interface only Companion Web Site tells the client to send two integers and a character string. It can't tell them, for example, that the first integer must be a value between 1 and 10, the second must be an integer greater than 100, and the character string can only be 30 characters in length. By publishing these preconditions, anyone who wants <?xml version="1.0" encoding="ISO-8859-1"?> to use use case (or object) is sure of the correct set of values and is able to fulfill his part of the Table of your Contents contract, UML Bible providing good input values with his request.
Preface

Tip Notice how rapidly we bring precision to the model from the simple beginnings of the Use Case diagram. You'll find the analysis process akin to pulling a thread on an old sweater. If you keep Chapter 1 - What Is UML? tracking down each new discovery, eventually you'll unravel the whole complex problem. Using Chapter 2 - UML Architecture simple checklists to remind you of the questions to ask can expedite the process and build a Chapter 3 - UML Diagrams and Extension Mechanisms successful pattern of thought for problem solving. As you gain experience, modify the list of Chapter 4questions - Object-Oriented Concepts and tasks to improve the process and to make it your own.
Part I - An Introduction to UML Part II - Modeling Object Structure

Chapter 5Remember, - Capturingthe Rules about Objects in a Class Diagram goal is not to become a disciple of a particular technique, but to evolve a

works for you. Chapter 6technique - How to that Capture Rules about Object Relationships
Chapter 7 Chapter 8 - Testing with Objects - Modeling Interactions in UML 1.4
Part III - Modeling Object Interactions

Use case initiation/triggers

Chapter 9 - has Modeling Interactions inUse UMLcase 2.0 initiation simply identifies how. For example, a use case might A use case to start somehow.

start because Chapter 10 - Modeling an Object's Lifecycle in UML 1.4


Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

An actor selects an option on a menu.

Chapter 12 - alarm Modeling the Use of a System with the Use Case Diagram A time goes off. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V Modeling the Application A- device or another systemArchitecture sends a signal.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML Any of these events would start (or trigger) the 1.4 use case, so they are often called triggers. The use case Chapter 17 Representing an Architecture in UML 2.0 read: triggers for the Select Show Seats use case might
Part VI - Bringing Rigor to the Model

A specific system condition occurs.

Trigger: The user selects the Show Seats option from the menu. Chapter 18 - Applying Constraints toSelect the UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Trigger: PlaceOrder invokes SelectShowSeats.

Chapter 20 Using a Modeling Tool In the first example, a user accesses the use case directly to see what seats are available. In the second Chapter 21 another - Customizing UMLinvokes Using Profiles example, use case SelectShowSeats as part of the dialog for placing an order. Chapter 22 - XML Metadata Interchange

Use case provides place to think through all the possible triggers that could launch the use Appendix A initiation - UML 1.4 NotationaGuide case. This critical you start thinking about reusing use cases. If five actors and/or use cases plan Appendix B -is UML 2.0 when Notation Guide to use the same use Elements case, you need to know how each user plans to kick it off. If each has different Appendix CStandard expectations, you could be creating a problem. Multiple triggering mechanisms lead to tight coupling and Glossary low cohesion. In other words, every time you change one of the triggers you need to change the corresponding use case and make certain that you haven't created problems with the other triggering List of Figures mechanisms. More triggers mean more complicated and more costly maintenance.
Index List of Tables List of Listings

Use case dialog

< Day Day Up >

The use case dialog refers to a step-by-step description of the interaction between the user (an actor or another use case) and the executing use case (the system implementing the use case). Very often, it is UML Bible helpful to model this sequence of events using an Activity diagram, or an Interaction Overview diagram, ISBN:0764526049 by Tom Pender just as you might model a procedure for communication between two business units.
John Wiley & Sons 2003 (940 pages)

Granted, some use are simple queries withthis a request as input and a response as output. In fact, a Forcases beginning to advanced users, book provides coverage of the versatility of 1.4 and 2.0 UML use case may becomprehensive triggered by an event within the system and simply send a signal to an actor. But for specifications, and shows how(an to use UML to improve for example), the dialog helps to those use cases that are a bit more complex online transaction, timeliness, quality, and efficiency in development. identify clearly the responsibilities of each participant and the expectations the users have regarding how Companion Web Site the goal/s defined by the use case. they interact with the system to accomplish
<?xml version="1.0" encoding="ISO-8859-1"?> Table Note of Contents The first step in the dialog is to test the preconditions because those preconditions are a UML Bible responsibility of the use case (as opposed to assumptions, which are the responsibility of some Preface other use case).
Part I - An Introduction to UML

For example, when an actor invokes the SelectShowSeat use case, the following dialog ensues.

1. The system verifies that the user provided a valid Performance reference. A valid performance is

Chapter defined 1 - What asIs a UML? performance in Available for Sale status. If the test fails, the actor is informed of the Chapter failed 2 - UML Architecture request and directed back to the menu or to the option to select a performance (outstanding Chapter issue 3 - UML Diagrams Extension Mechanisms for the clientsand to decide). Chapter 4 - Object-Oriented Concepts

system provides default Part 2. II - The Modeling Object Structure


Chapter 6 Chapter 7 Chapter 8 Chapter 9

lists of all currently scheduled events and performances scheduled

the next Rules 20 days. Chapter within 5 - Capturing about Objects in a Class Diagram 3. The user may choose one of the following options:
- Testing with Objects - Modeling Interactions in UML 1.4 - How to Capture Rules about Object Relationships

a. Cancel outInteractions of the transaction. Part III - Modeling Object


- Modeling Interactions infor UML 2.0 list of performances the selected event. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

b. Select an event. The system responds by replacing the existing list of performances with a

c.Modeling Select a performance. Thein system responds by asking the customer to confirm his request. Chapter 11 an Object's Lifecycle UML 2.0 The actor Behavior may either Part IV - Modeling Object confirm or reject the choice. Rejecting the choice allows him access to the original list of of a options. the the actor confirms the choice, the system saves the selected Chapter 12 - Modeling the Use SystemIf with Use Case Diagram performance. The system provides confirmation before terminating the use case. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram

d. Provide a date range. The system responds by replacing the existing list of performances with a list of performances for the selected date range.

Chapter 16 - Using Deployment Diagrams inthe UML 1.4 4. If the system is interrupted during use case, no action is required of the use case. The system Chapter provides 17 - Representing an Architecture in UML confirmation before terminating2.0 the use case.
Part VI - Bringing Rigor to the Model

When the dialog is defined separately fromDiagrams the implementation, you can evolve the implementation Chapter 18 Applying Constraints to the UML without19 affecting the participants, because the interface (the way they communicate) remains stable. For Chapter - Action Semantics example, this conversation could just as easily Part VII - Automating the UML Modeling Process have taken place between a customer and clerk at the theater ticket office, between a customer and an agent over the phone, or between a customer and the Chapter 20 - Using a Modeling Tool system over the Internet. Also, you begin to see that some of the steps don't necessarily have to happen in Chapter 21 - Customizing UML Using Profiles the sequence presented here. The goal of the dialog is to uncover just what really must happen in a Chapter 22 - XML Metadata Interchange specific sequence. Based on those facts, it is easier to determine what variations could be valid.
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

Use case termination

Although there is usually only one triggering event to start a use case, there are often many ways to end one. You can pretty much count on some kind of normal termination where everything goes as planned List of Figures and you get the result you anticipated. There may even be more than one successful termination. But List of Tables things do go wrong. This could mean shutting down the use case with an error message, rolling back a List of Listingsor simply canceling the transaction. Each termination mechanism in the list of termination transaction,

options should be addressed in the use case dialog. The list is separate from the dialog but part of the < Day Day Up > complete narrative. The list of termination options is a bit redundant with the dialog, but as with preconditions, this redundancy provides some good UMLchecks Bible and balances. The termination options list for the SelectShowSeats use case would look like this: ISBN:0764526049 by Tom Pender Success:
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML A performance is selected and saved. The transaction is logged. specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

The actor cancels without making a selection. The transaction is logged. Failure:
<?xml version="1.0" encoding="ISO-8859-1"?> The precondition tests false. The actor is informed of the failed request and directed back to the Table of Contents menu or to the option to select a performance (outstanding issue for the clients to decide). UML Bible

The system is interrupted. No action is required outside of the default behavior (resetting the application to the menu). Part I - An Introduction to UML
Preface Chapter 1 Chapter 2 Chapter 3 - What Is UML? - UML Architecture Post conditions

- UML Diagrams and Extension Mechanisms Post conditions provide the Concepts system portion of the contract. Post conditions describe Chapter 4 - Object-Oriented
Part II - Modeling Object Structure

Chapter 5

What the system must do if the preconditions are satisfied.


- Capturing Rules about Objects in a Class Diagram

Chapter 6 state - How to the Capture Rules about Object Relationships The that system must be in when the use case ends. Chapter 7 - Testing with Objects
Part III - Modeling Object Interactions

Workflow Requirements

Chapter 8

- Modeling Interactions in UML 1.4

A common question about use cases is, "How do I show workflow or screen flow?" The short answer Chapter 9 - Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

is that you don't. A more appropriate question would be, "How do I use the use cases to determine screen flow and workflow requirements?"

Workflow is often a difficult problem in system design. Personal opinion, personal preferences, and

Chapter 12 - processes Modeling the Useget of a System with the Use Case(remember Diagram legacy often included as requirements the rocket story)? Business practices Chapter 13 Modeling Behavior Using an Activity Diagram are prone to faulty assumptions and unquestioned repetition. New systems often contain the same
Part V - Modeling the Architecture deficiencies thatApplication the old ones had because

they were not critically evaluated.

Chapter 14 - Modeling the Application Architecture

To 15 determine workflow, check preconditions and assumptions. If one use case requires the Chapter - Modeling Software Usingout thethe Component Diagram user data that is the result a second use case, or even multiple use cases, or do Chapter 16to - provide Using Deployment Diagrams in of UML 1.4 something that another use case is responsible Chapter 17 - Representing an Architecture in UML 2.0 for, then logically, the second use case must come first. Part VI - Bringing Rigor to the Model
Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating the UML Modeling Process

Chapter - Action Semantics on 19 user preferences or experience and have not been checked against the rules and constraints that

These clues are a tremendous help when you recognize that many workflows were designed based

define the successful operation of the system (assumptions and preconditions). Assumptions explicitly

Chapter 20 -the Using a Modeling Tool define precedence dependencies between use cases that ensure that all the rules and constraints Chapter Customizing UML Using Profiles will21 be-enforced. Chapter 22 - XML Metadata Interchange

Quite flow and workflows are far more flexible than you might think. Let the use case Appendix A often, - UML screen 1.4 Notation Guide assumptions and preconditions Appendix B - UML 2.0 Notation Guide tell you what the flow options are. Then design the workflows that are possible, letting the users decide what works best for them. Appendix C - Standard Elements
Glossary Index List of may Figures You never know what comes after the use case terminates, so you must guarantee that the system is List ofstable Tablesstate when it does end. In fact, some people use the term guarantee for just this reason. You in a List of Listings guarantee certain things to be true when this use case completes its job. For instance, you might

< Day Guarantee to give the user a confirmation at theDay endUp of > the transaction, whether it succeeded or failed.

Promise to notify the user of the result of an attempted save to the database.
UML Bible Log every transaction. by Tom Pender
ISBN:0764526049

There is overlap between the and the dialog. Although this overlap is a bit redundant, the John Wiley & post Sons conditions 2003 (940 pages) added visibility ofFor the beginning post conditions has proven bebook an excellent to advanced users, to this provides check-and-balance mechanism as well as very helpful incomprehensive reviews with clients who want to know how theand system will behave under every situation. coverage of the versatility of 1.4 2.0 UML specifications, and shows how to termination use UML to improve In fact, it can sometimes work best to define the options first, and then address how the dialog timeliness, quality, and efficiency in development. would bring about each option.
Companion Web Site

Minimal guarantees
<?xml version="1.0" encoding="ISO-8859-1"?> I have two additional ways to look at use case requirements: minimal guarantees and successful Table of found Contents

guarantees. Both concepts come from Alistair Cockburn's book, Writing Effective Use Cases , which brings UML Bible this important facet of analysis to the forefront. These methods are very comparable to post conditions except that they break the conditions down a bit more and speak directly to the interests of the users. Part I - An Introduction to UML According to Cockburn.
Preface Chapter 1 Chapter 2 - What Is UML? - UML Architecture

ChapterThe 3 -minimal UML Diagrams and Extension Mechanisms guarantees are the fewest promises the system makes to the stakeholders, particularly Chapterwhen 4 - Object-Oriented Concepts the primary actor's goal cannot be delivered. They hold when the goal is delivered, of course,
Part II Modeling Object Structure but they are of real interest

when the main goal is abandoned. Most of the time, two or more

have to about be addressed in a the minimal guarantees, examples being the user, the Chapterstakeholders 5 - Capturing Rules Objects in Class Diagram the system, and possibly a government regulatory body. Chaptercompany 6 - Howproviding to Capture Rules about Object Relationships
Chapter 7 - Testing with Objects

He III goes on to say that the most common Part - Modeling Object Interactions

minimal guarantees include activities such as logging the results of the transaction. Logging is often a background task that can provide valuable information about why a Chapter 8 - Modeling Interactions in UML 1.4 transaction failed, how the failure was handled, and how the system was restored to a stable condition to Chapter 9 - Modeling Interactions in UML 2.0 prevent cascading effects on other transactions or on other parts of the system.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV -to Modeling Object issues the front of theBehavior project where

Chapter 11 - use Modeling an Object's Lifecycle in UML 2.0 The proper of minimal guarantees can be particularly valuable because it brings these important

they can be handled strategically. When they are not addressed up

Chapter 12 Modeling the Use of a System with the Use Case Diagram front, they are often addressed tactically by individual developers who encounter the issues when writing Chapter 13 As - Modeling Behavior Using concepts, an Activitythe Diagram the code. in nearly all modeling goal is to protect the integrity of the system at all times,
Part - Modeling the Application Architecture andVto protect the interests of the users.

Chapter 14 - Modeling the Application Architecture

Here's 15 an example of a minimal guarantee for the PlaceOrder use case: Chapter Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 ChapterMinimal 17 - Representing Architecture in UML 2.0 all selected seats must be returned to available status, guarantee:an If the order is incomplete,
Part VI the - Bringing Rigor to and the Model order deleted, any charges

to the customer's credit card reversed. The reason for the

Chapterincomplete 18 - Applying Constraints to the UML Diagrams order is recorded, such as the type of system interrupt (failure) or a user canceling the Chaptertransaction. 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Success guarantees

Success functionGuide like minimal guarantees but they have a different focus. Minimal guarantees Appendix Aguarantees - UML 1.4 Notation focus on "no 2.0 matter whatGuide happens" view of the use case. Success guarantees focus on what must be Appendix Bthe - UML Notation true when everything works properly. Cockburn says of success guarantees: Appendix CStandard Elements
Glossary Index

The success guarantee states what interests of the stakeholders are satisfied after a successful conclusion of the use case, either at the end of the main success scenarios or at the end of a successful List of Figures alternative path. It is generally written to be added to the minimal guarantees: The minimal guarantees are List of Tables delivered, and some extra conditions are true; those additional conditions include at least the goal stated in List Listings theof use case title.

Day Day Up > Here's an example of a successful guarantee< for the PlaceOrder use case:

Minimal guarantee: If the order is completed successfully, then the order is saved, the seats at the UML Bible show are updated to Reserved status and associated with the order, the customer's credit card is ISBN:0764526049 by Tom Pender charged for the total order, and the credit card information is deleted. The transaction is logged with John Wiley & Sons 2003 (940 pages) applicable stats for reporting transaction duration and amount.
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. < Day Day Up > Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible DescribingUML Use Case Scenarios by Tom Pender


ISBN:0764526049

Scenarios describe each possible of an attempt to accomplish a use case goal. A use case John Wiley & Sonsoutcome 2003 (940 pages) identifies a primary goal of the to system. When an actor attempts to accomplish a goal using the system, For beginning advanced users, this book provides there are usually comprehensive decisions and rules that influence the outcome of the coverage of the versatility of 1.4 and 2.0 use UMLcase. For example, the user specifications, andof shows how to use UML to improve may be able to choose from a list alternatives, or exception conditions may hinder the accomplishment timeliness, quality, and efficiency in development. of the goal. A scenario is a single logical path through a use case. UML even defines a scenario as an instance of a use case in that a scenario is one realization, or execution, of the conceptual use case. In other words, a <?xml version="1.0" encoding="ISO-8859-1"?> use case defines what could happen, and a scenario defines what does happen under a given set of Table of Contents conditions. A scenario may be modeled using a Sequence diagram.
UML Bible Companion Web Site

Caution The word scenario is used a number of ways. In the context of UML use cases, scenarios Preface have a very specific Part I - An Introduction to UML
Chapter 2 Chapter 3 - UML Architecture

meaning. Be careful not to confuse the more general usage of the term scenario, as an example or situation, with the explicit definition used here. Chapter 1 - What Is UML? There are many ways to work with scenarios. You can simply read the narrative and extract each logical - UML Diagrams and Extension Mechanisms path from the text. You can draw out the logic with an Activity diagram so that the flow of logic can be Chapter 4 - Object-Oriented Concepts visualized and more easily segmented. Whatever the means, the scenarios start to reveal the inner Part II - Modeling Object Structure workings of the system and the expectations of the users in a way that the use case alone cannot. This Chapter 5 - can Capturing Rules about Objects in a Class Diagram closer look open doors to further analysis of the system and ultimately to the design.
Chapter 6 - How to Capture Rules about Object Relationships Probably key lesson in scenarios is the necessity of tackling the important questions and issues early, Chapter 7 the - Testing with Objects

when have the best chance and the Part IIIyou - Modeling Object Interactions

most time to come up with options and solutions. All too often,

project 8 teams leave these questions until they're working on the code, when many of the big issues are Chapter - Modeling Interactions in UML 1.4 easily lost inModeling the mountain of details. This causes the requirements to wind up being expressed only as Chapter 9 Interactions in UML 2.0 code (rather than in prose), which is alien to most users and difficult for them to evaluate. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Why you should care about use case scenarios

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

In some situations a use case Using is simple enough that the narrative is more than ample to explain all the Chapter 13 - Modeling Behavior an Activity Diagram issues that define itsApplication proper execution. But in many other Part V - Modeling the Architecture use cases, the logic can become troublesome. Many of the applications we work on today are complex and require significant scrutiny. Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

In addition to addressing complexity, we need some way to test the accuracy and completeness of the use cases. Unfortunately, for many projects, developers often hold off testing until the end of the project, when Chapter - Representing Architecture UML 2.0 they're 17 short on time and an focused on thein solution rather than the requirements. Or worse yet, there is no Part VI - Bringing Rigor to the Model time for testing at all, so final testing happens in production.
Chapter 18 - Applying Constraints to the UML Diagrams

Speaking requirements, did you know that the overwhelming majority of litigation regarding software Chapter 19 of - Action Semantics projects is based on the misunderstandings over requirements? In a Part VII - Automating UML Modeling Process Software Research, Chapter 20 Productivity - Using a Modeling Tool had this to say:
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide on time, fully operational, or with acceptable quality. The vendors failed to deliver the software Appendix B UML 2.0 Notation Guide changed the terms of the agreement and expanded the original work charge that the clients have Appendix C - Standard Elements requirements. Glossary

recent abstract, Capers Jones, of

The clients charge that the development group has failed to meet the terms of the contract and

Furthermore, the problems that Jones refers to here are on projects where there is a contract. Consider Index how worse the situation can become where the requirements process is less formal! List of much Figures
List of Tables List of Listings

If you've ever worked in a quality-assurance group, or even worked with one, you know how frustrating the

tester's role can be. Think about how the tester's challenge changes when she's able to create a test plan < Day Day Up > at the beginning of the project instead of waiting until the end. Then testing can take place in small increments throughout the project instead of in a massive, difficult, and frustrating process at the end (if there is time to test at all).
UML Bible

This is why scenarios have taken on an increasingly important ISBN:0764526049 role in the requirements phase. What by Tom Pender happened to other tools such as screen layouts and prototypes? They are still valuable, and can provide a John Wiley & Sons 2003 (940 pages) great way for users to visualize what you are trying to express in words and diagrams. The challenge is For beginning to advanced users, this book provides that the layouts and prototypes themselves don't explain how they'll be comprehensive coverage of the versatility of 1.4 and 2.0 used UML and why.
specifications, and shows how to use UML to improve timeliness, quality, and efficiency inAnalysis development. Avoiding Paralysis

Having said this, I want to voice a caution: You can dissect use cases endlessly looking for anything and everything possible. To avoid analysis paralysis, recognize that you won't get everything right the <?xml first version="1.0" encoding="ISO-8859-1"?> time through. It just isn't possible. Here are some tips to keep things moving:
Table of Contents UML Bible Allow for a number of passes through the problem. Preface
Part I - An Introduction to UML

Companion Web Site

Set limited time frames for each pass (time boxes).

Chapter 1 Move - What on Is to UML? other diagrams, and then revisit the use cases and scenarios after looking at the Chapter 2 problem - UML Architecture from the unique perspectives that the other diagrams provide. Let the diagrams reveal Chapter 3 information - UML Diagrams and Extension Mechanisms and inconsistencies, or prove you are right. Chapter 4 - Object-Oriented Concepts

Above all, allow time for Part II - Modeling Object Structure


Chapter 5 Chapter 6

practice. Trial and error can be excellent teachers.

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

Chapter 7 liability - Testing with Objects Another of prototypes is that they give the false impression that the application is nearly complete.
Part III Modeling Object Interactions This is understandable because the user

only works with the interface, and to users, the interface is the

Chapter 8 - Modeling Interactions in UML 1.4 application. But you and I know that there is a lot more to it, including the logic expressed in the use case Chapter 9 and - Modeling Interactions in UML where 2.0 narrative the scenarios; the places we grapple with business objectives; everything that can and Chapter 10will - Modeling an and Object's Lifecycle in UML 1.4all of these issues to ensure the success of the system. probably go wrong; our plans to cope with Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13a-use Modeling Behavior Using an Activity Diagram Reading case narrative and following every possible path can be difficult. One very simple and
Part V - Modeling the Application Architecture practical tool to use to find scenarios visually is

How to find use case scenarios

an Activity diagram. Visual models provide a valuable

Chapter 14 - Modeling the Application Architecture complement to text. Together, the two perspectives can reveal insights not visible from only one of these Chapter 15 - Modeling Software Using the Diagram perspectives. Given that people learn inComponent different ways, having different tools to explain the same problem

can help grasp the important issues Chapter 16everyone - Using Deployment Diagrams in UML more 1.4 easily.
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

One major benefit of an Activity diagram is its ability to quickly reveal dead-end segments and incomplete paths. The Activity diagram is still grounded in textual description for each activity, so there is significant Chapter 18 - Applying Constraints to the UML Diagrams overlap with the narrative that helps insure that the two representations, the narrative and the Activity Chapter 19 - Action Semantics diagram, are consistent.
Part VII - Automating the UML Modeling Process

Chapter - Using a start Modeling Tool To find20 a scenario, at the beginning of the use case narrative. It usually works best to determine the Chapter - successful Customizing UML Using Profiles path of 21 the scenario first, since it's usually the most commonly encountered path in practice. Chapter 22 XML until Metadata Interchange Trace the steps you come to a decision, represented by a diamond. Now you have to make a choice. Appendix A - of UML 1.4 Notation Guide Select one the possible paths leading out of the diamond, preferably the path that leads to the

successful of the Guide use case, and continue to trace the steps. Continue the process until you Appendix B - completion UML 2.0 Notation reach an point. That completes scenario 1. Now return to the top and retrace the first scenario to the Appendix Cend - Standard Elements first branching point (decision). Start identifying the unique-portion of the second scenario at the branch by Glossary following a different path leading out of the decision. Continue tracing the steps as before. If you loop back Index to a you have already been, then stop. Avoid creating redundant segments. List ofplace Figures
List of Tables List of Listings

Repeat the process until you have traced a path through every segment of the diagram. You should now

have a set of traces that together account for < every element of the Activity diagram. The set of use case Day Day Up > scenarios is then derived from a unique combination of these segments. For example, the successful path is one use case scenario. The first three steps of the successful scenario and the first exception segment make up one exception scenario for the use case.
UML Bible

Thenext section steps through the process of finding scenarios for a theater system use case. ISBN:0764526049 by Tom Pender
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides Finding use case scenarios for the case study comprehensive coverage of the versatility of 1.4 and 2.0 UML

specifications, and shows howato use UMLis to improve Now that you have an understanding of what scenario and how to find one, this section provides an timeliness, quality, and efficiency in development. example of the process for finding scenarios using the theater systems's SelectPerformance use case. Companion Web Site that is the basis for the Activity diagram to follow. Please read Table 12-2 contains the use case narrative through the narrative to get familiar with how the use case works. Note the assumptions, preconditions, and post conditions, and how they are integrated into the use case dialog. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Table 12-2: Use Case Narrative for SelectPerformance Preface
Part I - An Introduction to UML

Element

Description

Chapter 1 Chapter 2 Chapter 3 Chapter 4

- What Is UML? - UML Architecture

Use Case SelectPerformance Name - UML Diagrams and Extension Mechanisms


- Object-Oriented Concepts

Use 12 Structure Part II Case - Modeling Object Number Chapter 5 - Capturing Rules about Objects in a Class Diagram
Chapter 6 Author Chapter 7 - How to Capture Rules about Object Relationships Jane Analyst and Joe Client - Testing with Objects

Part III - Modeling Object Interactions

Last Updated

April 1, 2003

Assumptions actor has appropriate authority to use this feature. Chapter 8 - ModelingThe Interactions inthe UML 1.4
Chapter 9 - ModelingNone. Interactions in UML 2.0 Preconditions Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Use Case Initiation

This use case starts on demand.

Use Case should be given a default setDiagram of information about the shows Chapter 12 - ModelingThe the user Use of a System with the Use Case Dialog within the next 20 days. The user should also be provided with all the Chapter 13 - Modelingscheduled Behavior Using an Activity Diagram currently scheduled Part V - Modeling the events Application Architecture at the venue. When the user selects an event, the system should provide the set of shows Chapter 14 - Modeling the Application Architecture scheduled for that event (the event display should remain unchanged). Chapter 15 - Modeling Software Using the Component Diagram When the user selects a show, the system should prompt him for a Chapter 16 - Using Deployment Diagrams in UML 1.4 confirmation of his selection in order to avoid mistakes. Chapter 17 - Representing an Architecture in UML 2.0 The user should also be able to request a list of shows for a date range and get Part VI - Bringing Rigor to the Model a new list of shows (the event display should remain unchanged). Chapter 18 - Applying Constraints to the UML Diagrams The user may cancel out of this use case without making a selection.
Chapter 19 - Action Semantics

Post conditions selected showProcess must be Part VII - AutomatingThe the UML Modeling

saved so that it can be passed on to the next step in the workflow. One selected show is the net output from this use case. Chapter 20 - Using a Modeling Tool
Chapter 21 - Customizing UMLwe Using Profiles Unresolved Should allow the users to establish their own defaults? How many items Chapter Interchange issues22 - XML Metadata should we allow them to view at one time? Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

Figure 12-19 modelsElements the Activity diagram for the dialog in Table 12-2 so that you can more easily see the Appendix C - Standard logical steps involved in the execution of the use case. Glossary
Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure Activity diagram for the SelectShow use case. Chapter 9 - 12-19: Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Figure 12-20 traces the logic for the successful scenario first. It traces each step, following the choices we make at each decision point. On this-first pass we want the choices that will lead us through the successful Part IV - Modeling Object Behavior scenario.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

- Modeling Interactions in UML 2.0 Figure Trace the successful from beginning to end. Chapter 10 - 12-20: Modeling an Object's Lifecycle scenario in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part Modeling the Application Architecture not V to-go with the show they selected (accidents

Note Notice how the concurrent activities (between the two horizontal bars near the top of the diagram) are treated as a single path. happen). (This segment will reveal a unique path through

Chapter - Modeling an Activity Diagram Figure 13 12-21 selects Behavior the "No" Using path out of the confirm decision, representing the fact that the user decided Chapter 14 - Modeling the Application Architecture the use case narrative that we can use to build the second scenario.) This time the logic leaves the

decision and loops back to the merge point just before the first decision. The scenario segment stops Chapter 15 - Modeling Software Using the Component Diagram here. We later put it together with the steps of scenario 1 that led up to the decision point to complete Chapter 16 can - Using Deployment Diagrams in UML 1.4 the definition of scenario an 2. Architecture in UML 2.0 Chapter 17 - Representing
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 9 - 12-21: Modeling UML 2.0 Figure In Interactions scenario 2, in a performance is selected and the confirmation is declined. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Figure 11 12-22 selects an the secondLifecycle path outin ofUML the 2.0 first decision, representing the fact that the user selected Chapter - Modeling Object's an event. This time the logic leaves Part IV - Modeling Object Behavior the decision and loops back to the decision point again. The third scenario segment stops here. We can later put it Use together the steps of scenario 1 that led up to the Chapter 12 - Modeling the Use of a System with the Case with Diagram decision point to complete the definition of scenario 3. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 9 - 12-22: Modeling Interactions Figure Scenario 3. in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Figure 11 12-23 identifies fourthLifecycle scenario continuing from the first decision when the user chooses to Chapter - Modeling anthe Object's inby UML 2.0 get IV a new list of performances based Part - Modeling Object Behavior

on a date range. Once again the scenario segment loops back to the decision point. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

- Modeling Interactions in UML 1.4 Figure 12-23: Scenario 4. - Modeling Interactions in UML 2.0

Chapter - Modeling anthe Object's Lifecycle in which UML 1.4 Figure 10 12-24 identifies fifth scenario, the user chooses to cancel out of the use case without Chapter 11 a - performance. Modeling an Object's Lifecycle in UML 2.0 selecting
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

- Modeling Interactions in UML 1.4 Figure 12-24: Scenario 5. - Modeling Interactions in UML 2.0

Chapter 10 of - Modeling an scenarios Object's Lifecycle in UMLfor 1.4 The goal developing is to account every logical possibility in the flow of the use case. Chapter 11 - Modeling an Object's Lifecycle UML 2.0 the total use case. Every segment identifies a unique line of in logic within
Part IV - Modeling Object Behavior

But you're done yet. Chapter 12 -not Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Applying use case scenarios

Chapter 14 - Modeling the Application Architecture

Technically, the definition of a Using use case scenario says that each scenario describes a single logical path Chapter 15 - Modeling Software the Component Diagram through a use case, from startDiagrams to finish. in Using Chapter 16 - Using Deployment UML the 1.4 Activity diagram, you can visually identify each path
Chapter 17 - Representing an Architecture in UML 2.0

simply by following lines in the diagram. But in the SelectPerformance use case example, each individual arrow traces a separate logical segment, not necessarily a complete logical path, from the beginning of Part VI - Bringing Rigor to the Model the use case to the end of the use case. For example, alternative scenario 3 only identifies the steps that Chapter 18 - Applying Constraints to the UML Diagrams were unique from those already identified by scenario 1. In fact, in this use case, a scenario could involve Chapter 19 - Action Semantics multiple loops through each segment in any order before the user finally cancels or confirms a selection.
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool The diagram did not show repeated segments of paths already singled out by a previous scenario. This Chapter 21 - is Customizing Profiles convention a commonUML oneUsing employed to avoid redundancy and extra work. When writing the formal Chapter 22 -or XML Metadata Interchange scenarios, test cases, simply build the test case from the scenario segments. By doing a little mixing Appendix A - UML 1.4can Notation Guide and matching, you provide comprehensive coverage of every combination. For example, to fully

specify scenario 2, include the first two steps and the decision from scenario 1 plus the unique steps of Appendix B - UML 2.0 Notation Guide scenarioC2. Appendix - Standard Elements
Glossary Index

Note, too, that whenever you encounter a loop, the scenario maps out only a single pass through the loop. To test the loop thoroughly, run the scenario segment multiple times remembering to test the boundary List of Figures conditions.
List of Tables List of result Listings The of completing the description of all the scenarios should be a reasonably complete acceptance-

level (or user-level) test plan for each use case. Remember, though, that so far you have only modeled < Day Day Up > the system at the use case level. That means that the test plan you have so far is really only an acceptance-level test plan, not full system or integration testing. But the use case level test plan does provide the framework for all of the test plans for successive phases in the project.
UML Bible
ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) < Day Day Up > For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

Use case diagrams, together case narratives and scenarios, define the goals of a system, or John Wiley & with Sonsuse 2003 (940 pages) other classifier, such as an enterprise, subsystem, or component. The concept came from the work of Ivar For beginning to advanced users, this book provides Jacobson and his associates on a methodology called Object-Oriented Software Engineering (OOSE). comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows to use UML to improveeffort on the essential objectives of the The purpose of the use case approach is how to focus the development timeliness, quality, and by, efficiency in development. system without getting lost in, or driven particular implementations or practices. The elements of a Use Case diagram include: TheUse Caseencoding="ISO-8859-1"?> diagram is complemented by the use case narrative and use case scenarios. <?xml version="1.0" Table of Contents Actors define entities outside the system that will use the system in some way. UML Bible
Preface
Part I - An Introduction to UML

Companion Web Site

Associations indicate which actors will interact with features (use cases) of the system.

Chapter 1 - What Isextend UML? include and relationships describe the nature of the interactions between use cases. Chapter 2 - UML Architecture

Generalization defines inheritance Chapter 3 - UML Diagrams and Extensionrelationships Mechanisms between use cases or between actors.
Chapter 4 - Object-Oriented Concepts The goal of the Use Case diagram is to define the expectations of the external actors. Those actors may be people, systems, or devices that need to interact with the system. Their interactions may be to provide Chapter 5 receive - Capturing Rules about Objects in a Class Diagram input, to output, or to dialog with the system in order to cooperate in the completion of a task. All of Chapter 6 How to Capture Rules about Object Relationships these interactions are focused through a set of specific features of the system called use cases. Each use Chapter 7 - Testing with Objects case defines one specific goal that the system can achieve.
Part II - Modeling Object Structure Part III - Modeling Object Interactions

The construction of a Use Case diagram employs the following steps: Chapter 8 - Modeling Interactions in UML 1.4
Chapter 9 - Modeling Interactions in UML 2.0 1. Define the context of the system: Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

the and their responsibilities. Chapter 1.1 11 - Identify Modeling anactors Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part 2. V - Modeling Architecture Evaluate the the Application actors and use cases to

1.2 Identify the use cases, the features of the system, in terms of specific goals and/or results that must be produced. find opportunities for refinement (splitting or merging

Chapter definitions). 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram

3. Evaluate the use cases to find include type relationships. Chapter 16 - Using Deployment Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

4. Evaluate the use cases to find extend type relationships.

Chapter 18 - Applying Constraints to the UMLfor Diagrams 5. Evaluate the actors and use cases generalization opportunities (shared properties). Chapter 19 - Action Semantics

The use case narrative whatProcess the actors Part VII - Automating thedescribes UML Modeling

expect from the use case. The use case is a behavior of the system with a beginning (trigger), middle (dialog), and end (termination). As such, it needs to be Chapter 20 - Using a Modeling Tool explained in terms plain enough for the actors to understand and verify, but precise enough for analysts Chapter 21 - Customizing UML Using Profiles and designers to rely on in order to build the system. Chapter 22 - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide aren't standardized, but these are common elements in wide use: The features of a use case narrative Appendix B - UML 2.0 Notation Guide

UseC case initiation , or trigger, describes how to start a use case. Appendix - Standard Elements
Glossary Index

List of Figures

Assumptions define conditions that must be true before the use case may execute, but are not tested by the use case.

List ofPreconditions Tables define conditions that must be true before the use case may execute, and are tested by List ofthe Listings use case.

< Day Day Up The use case dialog explains how the user (whether an> actor or another use case) interacts with the system during the execution of the use case.

Use case terminations define the different mechanisms that can cause the use case to stop execution.
UML Bible
ISBN:0764526049 by Tom Pender Post conditions define the state of the system that must be true when the use case ends. This helps John Wiley Sons the 2003system (940 pages) prevent use cases from& leaving in an unstable condition for other use cases that follow.

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4from and 2.0 UML Minimum guarantees describe what the actors can expect a use case, no matter what happens specifications, during the execution of the and useshows case. how to use UML to improve timeliness, quality, and efficiency in development.

Successful guarantees describe Companion Web what Site the actors can expect from a use case when it completes successfully.
<?xml version="1.0" encoding="ISO-8859-1"?> Although these elements are valuable, they are by no means exclusive. Definitely look into other books Table Contents and of online resources on use cases, and augment the narrative to support your own method of UML Bible development. Preface

Use express what the users Part I cases - An Introduction to UML

expect the system to provide. Use case narratives explain in detail how the users expect to interact with the system when they invoke the use case. Scenarios break down the Chapter 1 - What Is UML? narrative explanation to provide a detailed examination of every possible outcome of the use case; why Chapter 2 - UML Architecture each outcome happens, and how the system is supposed to respond.
Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4 - Object-Oriented Concepts The Activity diagram provides a visual evaluation of the use case narrative. Although it isn't necessary to
Part - Modeling Object Structure useII an Activity diagram, it can be

very helpful, especially for complex use cases.

Chapter 5

- Capturing Rules about Objects in a Class Diagram

A scenario a single logical pathabout through a use case, expressing one possible outcome. Finding use case Chapter 6 - is How to Capture Rules Object Relationships scenarios requires follow each unique series of activities and decisions from the beginning of the Chapter 7 Testing that with you Objects useIII case to a single end Interactions point. Together, Part - Modeling Object
Chapter 9

the scenarios should account for every possible way that a use

case could Chapter 8 - execute. Modeling Interactions in UML 1.4


Chapter 10 They - Modeling an Object's Lifecycle in UML 1.4 of subsequent analysis and design efforts. test plan. may also be used to test the results Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Modeling Interactions in UML 2.0 When the scenarios have been identified, they may be used to develop a comprehensive acceptance-level

Chapter 12 - Modeling the Use of a System with the Use Case Diagram < Day Day Up > Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Chapter UML 13:Bible Modeling Behavior ISBN:0764526049 Using an Activity by Tom Pender Diagram John Wiley & Sons 2003 (940 pages)
Overview
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

The Activity diagram is often seen as part Companion Web Site of the functional view of a system because it describes logical processes, or functions. Each process describes a sequence of tasks and the decisions that govern when and how they are performed. You must understand a process in order to write or generate correct code for <?xml version="1.0" encoding="ISO-8859-1"?> a behavior.
Table of Contents

Note Some authors lump functional and dynamic aspects of modeling together because they both UML Bible express behavior. However, in teaching these concepts, I find it useful to distinguish logic from interaction. Interactions address net results of processes, that is, net input and output. Functional Part I - An Introduction to UML or logical models address the mechanics of transforming input to output. Chapter 1 - What Is UML?
Preface Chapter 2 Chapter 3

Also, functional modeling acquired a poor reputation with the onset of object-oriented (OO) modeling. - UML Diagrams and Extension Mechanisms After all, object-orientation addresses the deficiencies of the earlier modeling approaches such as Chapter 4 - Object-Oriented Concepts functional and data modeling. But both functional modeling and data modeling still provide valuable insight Part II - Modeling Object Structure into software development. OO development methods do not eliminate the need for these valuable Chapter 5 - Capturing Rules about Objects in a Class Diagram perspectives; they simply bring the two concepts together to provide a more comprehensive and accurate Chapter 6 How to Capture Rules about Object Relationships model of how things work. Functional modeling is still a very basic part of any application design.
Chapter 7 - Testing with Objects

- UML Architecture

So III UML has preserved modeling Part - Modeling Objectfunctional Interactions

in the form of the Activity diagram, which is designed to

support description of behaviors that1.4 depend upon the results of internal processes, as opposed to Chapter 8the - Modeling Interactions in UML external as in Interactions the interaction diagrams. The flow in an Activity diagram is driven by the completion Chapter 9 events - Modeling in UML 2.0 of an action. In a state the flow in is UML driven by external events or conditions in the associated Chapter 10 - Modeling anmachine, Object's Lifecycle 1.4 classifier. Activity Lifecycle diagrams useful Chapter 11 Consequently, - Modeling an Object's inare UML 2.0 for defining operations, use cases, and workflow that links a-series of use cases. Part IV Modeling Object Behavior
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram Part V - Modeling the Application Architecture < Day Day Up > Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Activity Diagram Changes from UML 1.4 to 2.0 by Tom Pender
ISBN:0764526049

The changes between UML & 1.4 and 2.0pages) metamodels are substantial, although the net impact on the John Wiley Sons UML 2003 (940 diagram notationFor is not very dramatic. This users, chapter provides an explanation of the diagrams in both beginning to advanced this book provides versions and more in-depth coverage of the UML 2.0 metamodel for those who need to support the new comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, shows how to use UML to improve concepts in a modeling tool, or and who want to define their own extensions to the model.
timeliness, quality, and efficiency in development. Site State MachineCompanion versusWeb standalone model

In UML 1.4, the Activity diagram (ActivityGraph) was defined as a subclass of StateMachine. Thus, most of <?xml version="1.0" encoding="ISO-8859-1"?> the information needed to describe an Activity diagram was already defined as part of the state machine Table of Contents specification. The Activity diagram simply added a few new classes, namely ActionState, ObjectFlowState, UML Bible
Preface

SubactivityState, and Partition.

Part I - An Introduction to UML

Chapter 1 - What Is UML? substantially expanded and there is virtually no over lap with the state machine metamodel. Chapter 2 - UML Architecture

UML 2.0 views an Activity diagram as an entirely unique diagram from a State Machine. The metamodel is

Even with this rather substantial change Mechanisms to the underlying metamodel, the notation is still remarkably Chapter 3 UML Diagrams and Extension similar.4 Table 13-1 identifiesConcepts the notation from both versions, revealing the similarities and differences. Chapter - Object-Oriented
Part II - Modeling Object Structure

Chapter 5 - Capturing Rules about Objects in in UML a Class Diagram Table 13-1: Activity Diagram Notation 1.4 and 2.0 Chapter 6 Chapter 7 Chapter 8 Chapter 9

UML 1.4

- How to Capture Rules about Object Relationships - Testing with Objects

UML 2.0

Description

Part III - Modeling Object Interactions

Action state

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Action with preconditions, post conditions, and parameter set

UML 2.0 expands the description of an action.

Subactivity state Activity, with preconditions Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 and post

UML 2.0 expands the conditions. Can belong to an Activity description of an activity. Part IV - Modeling Object Behavior Groupprecondition Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 Modeling Behavior Using an Activity Diagram Decision and merge DecisionNode and MergeNode
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

UML 2.0 also allows the two icons to be consolidated into one.

Call state

Simply another action

Swimlanes (called Partitions (called ActivityPartition in Chapter 17 - Representing an Architecture in UML 2.0 Partition in the Rigor to the the metamodel) Part VI - Bringing Model metamodel) Chapter 18 - Applying Constraints to the UML Diagrams
Chapter 19 - Action Semantics ObjectFlowState ObjectNode and ObjectFlow
Part VII - Automating the UML Modeling Process

New name. Same basic function.

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles

Signal Sending and Receipt

Handled using ObjectNodes

Deferred events Chapter 22 XML Metadata Interchange


Appendix A -join UML 1.4 Notation Guide Fork and ForkNode and JoinNode Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

UML 2.0 also allows the two icons to be consolidated into one. UML 2.0 refines the terminator notation to support terminating an individual flow versus the entire Activity diagram.

Finalstate

ActivityFinalNode and FlowFinalNode

List of Figures List of Tables List of Listings

Transition

ActivityEdge

< Day Day Up >

InterruptibleActivityRegion
UML Bible

New in UML 2.0. New in UML 2.0 (reminiscent of Data Flow diagrams from ISBN:0764526049 Structured Analysis and Design by Ed Yourdon).

Datastore

by Tom Pender John Wiley & Sons 2003 (940 pages)

Action states and subactivity states versus actions and activities


In general, states have been replaced in UML 2.0 with unique metaclasses. The action states from UML 1.4 are now actions in UML 2.0 defined by their own metaclass. The UML 1.4 subactivity states are simply <?xml version="1.0" encoding="ISO-8859-1"?> a composition form of an activity, an activity that can be broken into subactivities; UML 2.0 accomplishes Table of Contents the same thing with activities and activity groups, also defined with their own metaclasses.
UML Bible Companion Web Site

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

The changes in UML 2.0 address some of the problems that were introduced because the Activity diagram Preface was into UML 1.0 at last Part I put - An Introduction tothe UML minute at the insistence of people who wanted a general-purpose workflow diagram in UML. In order to negotiate its inclusion, however, it was presented as a limited kind of Chapter 1 - What Is UML? state diagram. As such, it was always ill-suited for its original purpose, which was to model workflow. UML Chapter 2 - UML Architecture 2.0 finally corrects this problem by providing a complete and unique definition for the Activity diagram as Chapter 3 - UML Diagrams and Extension Mechanisms separate and distinct from the State Machine diagram. Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5 Chapter 6

- Capturing Rules about Objects in a Class Diagram UML 2.0 levels of compliance

- How to Capture Rules about Object Relationships UML 2.0 some differentiation based on levels of compliance. The basic features are required for Chapter 7 offers - Testing with Objects

every of Interactions the metamodel Part IIIimplementation - Modeling Object

in a modeling tool. The intermediate (common) and complete levels are optional and extend the basic definitions with new features, sometimes adding entirely new Chapter 8 - Modeling Interactions in UML 1.4 concepts. For example, the basic definition for activity is extended in the complete level to add the feature Chapter 9 - Modeling Interactions in UML 2.0 isSingleCopy. Likewise, the basic definition for action is extended to add associations with constraints as Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 defined in the Kernel. Still other classes add new subclasses at the intermediate and complete levels.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

UML 2.0 support for structured programming techniques

In addition, UML 2.0 provides three levels that stand roughly parallel to the three levels of compliance. The StructuredActivities level supports modeling of traditional structured programming constructs, such as Chapter 14 - Modeling the Application Architecture loops and conditionals. It assumes the use of the basic activities level, but is also compatible with the Chapter 15 - Modeling Software Using the Component Diagram intermediate and complete levels.
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the the Model incorporating concepts from Action

Chapter 17 - Representing an Architecture in UML 2.0 for data flow output pins of conditionals and loops by TheStructuredCompleteActivities level adds support

Semantics portion of the UML 1.4 specification. It is intended to be

Chapter - Applying with Constraints to the UML Diagrams used in18 conjunction the intermediate layer, which supports full concurrency, but there is no actual

dependency between the levels. Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

TheExtraStructuredActivities level adds explicit support for exception handling as found in traditional programming languages. It requires the StructuredActivities level.

< Day Day Up >

< Day Day Up >

UML Bible 1.4 Activity Diagram Modeling the UML by Tom Pender
ISBN:0764526049

In the past, business have flowcharts to model processes for training and for Johnenvironments Wiley & Sons 2003 used (940 pages) expressing behaviors. Processes as used here are logic sequences For beginning to advanced users, this book provides of tasks governed by clearly defined points of control such as decisions, merges, forks, and joins. Flowcharting is a simple and practical comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, shows how to offers use UML improve version of flowcharts in the form of technique with a wide range of and application. UML anto enhanced timeliness, quality, and efficiency theActivity diagram , also called an Activity Graph.in development. There are at least three places in a model where an Activity diagram provides valuable insight: Modeling workflow <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Describing use cases UML Bible
Preface
Part I - An Introduction to UML

Companion Web Site

Specifying operations
- What Is UML?

Chapter 1 Chapter 2 Chapter 3 Chapter 4

Modeling workflow - UML Architecture and use cases


- UML Diagrams and Extension Mechanisms

A use case models a goal that the system must achieve in order to be successful. The Activity diagram - Object-Oriented Concepts follows the user through a procedure, noting the decisions made and tasks performed. The procedure Part II - Modeling Object Structure may explain a single use case, or only part of a use case, or even many use cases tied together to create Chapter 5 - Capturing Objects in a of Class a workflow. Modeling Rules a use about casecase is part the Diagram discovery and validation process for modeling a Chapter 6 How to Capture Rules about Object Relationships system. Each diagram lends a new perspective on the features of the system.
Chapter 7 - Testing with Objects

An III Activity diagram for one use case Part - Modeling Object Interactions
Chapter 9

explains how the actor interacts with the system to accomplish the

goal of 8 the- use case,Interactions including rules, information exchanged, decisions made, and work products created. Chapter Modeling in UML 1.4
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior Modeling the user's work this way does not

A workflow-level Activity diagram represents the order and conditions under which use casecases are executed in a series. bind you to that particular version of the process. Each goal

- Modeling Interactions in UML 2.0

Chapter 12 - might Modeling the Use of a any System with of the Use processes. Case Diagram (use case) be satisfied by number valid But creating such a model will likely Chapter 13 Modelingelements Behavior Using Activity reveal the essential of the an process inDiagram a way that is familiar to the users. Essential elements
Part V - Modeling the Application Architecture include work products created, rules that must

be enforced, decisions made based on work products and

Chapter 14 - and Modeling the Application processes, the state of specific Architecture resources at each step in the process. The Activity diagram can

facilitate interview to clarify the tasks and the decisions Chapter 15the - Modeling Software Using the Component Diagramin order to find the reasons behind them. That is, this is opportunity to ask those all-important Chapter 16your - Using Deployment Diagrams in UML 1.4 "why" questions to get at the goal of the process and each task required to make the process in successful. Chapter 17 Representing an Architecture UML 2.0
Part VI - Bringing Rigor to the Model

Once the essential rules for the process have been identified, it is then easier to evaluate alternative processes to satisfy those rules. In the theater system, for example, customers want to find out what seats Chapter 19 - Action Semantics are available at a specific show and at what prices. The basic goal is simple: show them what is available Part VII - Automating the UML Modeling Process and enable them to select what seats they would like to buy, if any. The essential rules include identifying Chapter 20 - Using a Modeling Tool the available seats and displaying the information in a form the customers can understand. Then the Chapter 21 - have Customizing UML Profiles to the system the seats that they want. customers to be able toUsing communicate
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 22 - XML Metadata Interchange

This goal the associated rules can be supported by many processes. For example, they may be Appendix A and - UML 1.4 Notation Guide satisfiedB by a sales talking Appendix - UML 2.0person Notation Guidewith a customer, by a paper printout and purchase form, by a touch screen at or via Web pages (and probably many other options). Even within these options there is Appendix Ca - kiosk, Standard Elements a wide range of alternatives for how to display the content and communicate the choices. Glossary
Index

The point is that without a baseline requirement, it is impossible to critically and accurately evaluate the relative value of each alternative. The Activity diagram is designed to provide an accurate definition of the List of Tables baseline requirements from a logical, sequential perspective.
List of Figures List of Listings

Defining methods

< Day Day Up >

The Activity diagram can also be used to model the implementation of complex methods. When defining the implementation for an operation, you need to model the sequence of data manipulation and UML Bible transformation, looping, and decision logic. Modeling complex functions can prevent problems later when ISBN:0764526049 by Tom Pender all of the requirements explicitly you write the code by revealing in the diagram. Models make most, if not John Wiley & Sons 2003 (940 pages) all, of your assumptions visible and consequently easier to review and correct.
For beginning to advanced users, this book provides comprehensive coverage the versatility of 1.4 Tip It is very tempting to shortcut the of modeling process, but and the 2.0 trueUML value of modeling is in revealing shows how to useand UML to improve what youspecifications, know so that and it can be challenged verified. Making assumptions visible and thus timeliness, quality, and efficiency in development. available for review and correction is a very valuable benefit of modeling. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table ofone Contents I offer clarification here regarding the vocabulary of UML: the word operation refers to the declaration UML Bible portion of a behavior defined by a class. This typically means the name, parameters, and possibly the
Part I - the An Introduction to UML to tell object what you want

The Activity diagram contains all of the logical constructs you find in most programming languages. In fact, it translates quite well into pseudo-code or even native code.

Preface return type. The declaration portion is also often called the interface of the object, the information you use

it to do. In contrast, the word method is used to refer to the implementation

Chapter 1 - Whatthe Is UML? of an operation, code that is executed when you invoke the interface. Chapter 2 Chapter 3

Tip To confuse things even more, the word interface has many meanings too, even within UML - UML Diagrams and Extension Mechanisms Interface may refer to one operation, the set of operations for a class or component, a set of Chapter 4 - Object-Oriented Concepts operations that support a single purpose, and a unique type of class called an Interface class. You Part II - Modeling Object Structure will have to depend on the context to interpret the word in each situation.
Chapter 5 - Capturing Rules about Objects in a Class Diagram Chapter 6 - How to Capture Rules about Object Relationships The Activity diagram may be used to design the requirements for a method. Because UML does not Chapter 7 Testing with Objects provide for modeling the methods in a Class diagram, the Activity diagram affords a place for that.
Part III - Modeling Object of Interactions Actually, the separation the specification

- UML Architecture

of a behavior in an operation and the implementation logic of a

Chapter 8 in - an Modeling Interactions in UML 1.4 behavior Activity diagram supports the encapsulation principle of separation of interface and Chapter 9 - Modeling Interactions in UML to 2.0 implementation. In fact, it is reasonable support many implementation alternatives (methods illustrated

using Activity diagrams) for the same operation. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part - Modeling the Application Architecture thatV the Activity diagram is well suited to the

Caution Not everyone has accepted or uses the definitions for operation and method as they are applied in UML. task when it is needed.

Chapter 13 - Modeling Behavior an Activityenough Diagram To be sure, not every method Using is complicated to warrant drawing an Activity diagram. The point is Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML< 1.4 Day Day Up > Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible UML 1.4 Activity Diagram Notation by Tom Pender


ISBN:0764526049

This section provides quick of John a Wiley & tour Sons the 2003notation, (940 pages)much of which may be familiar if you've used flowcharts, so feel free to skim the section until you spotthis something that looks new. Forover beginning to advanced users, book provides

Activities and transitions

comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Web Site Anactivity is a step in Companion a process where some work is getting done. It could be a calculation, finding some data, manipulating information, or verifying data. The activity is represented by a rounded rectangle containing freeform text. Technically, in UML 1.4 activities are called ActionStates. An ActionState is an <?xml version="1.0" encoding="ISO-8859-1"?> atomic behavior. In other words, an activity in UML 1.4 is a state with only one action, an entry action that is Table of Contents always performed when the state is entered. UML Bible Preface

An Activity diagram is a series of activities linked by transitions , arrows connecting each activity. Typically the transition takes place because the activity is completed. For example, you're currently in the activity Chapter 1 a-page." What Is UML?you finish the activity, you switch to the activity "turning a page." When you are "reading When Chapter 2 UML Architecture done turning the page well, you get the idea. Figure 13-1 shows this concept graphically.
Part I - An Introduction to UML

Chapter 3 Chapter 4 Chapter 5 Chapter 6

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

Part II - Modeling Object Structure

Chapter 7 - 13-1: Testing with Objects Figure Activities and transitions.


Part III - Modeling Object Interactions

This notation starts to show the overlap the Activity diagram and the Statechart diagram. In fact, Chapter 8 - Modeling Interactions in UML between 1.4 in UML9 1.4 Activity diagram isin a UML subset Chapter - the Modeling Interactions 2.0of the Statechart diagram. Each activity is an action state in
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

which the object is busy doing something (including "waiting"). UML 1.4 views each transition as a change in state, a change from one activity (action state) to the next.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

Guard condition

Sometimes the transition should only be used Part V - Modeling the Application Architecture

when certain things have happened. A guard condition can be assigned to a transition to restrict its use. Place the condition within square brackets somewhere near Chapter 14 - Modeling the Application Architecture the transition arrow. The condition must test true before you may follow the associated transition to the Chapter 15 - Modeling Software Using the Component Diagram next activity. The Activity diagram segment in Figure 13-2 tells you that you can't leave the dinner table Chapter 16 - Using Deployment Diagrams in UML 1.4 unless you have finished your vegetables.
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Figure 13-2: A guard condition onProcess a transition. Part VII - Automating the UML Modeling
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Decisions

The Activity diagram diamond is a decision icon, just as it is in flowcharts. One arrow exits the diamond for Appendix B - UML 2.0 Notation Guide
Appendix C - Standard Elements

each possible value of the tested condition. The decision may be as simple as a true/false test; the example on the left in Figure 13-3 asks, "Are there sufficient funds in the customer's account to cover the Glossary withdrawal?" In other cases, the decision may involve a choice among a set of options; the example on the Index right in Figure 13-3 asks, "Would you like chocolate, vanilla, strawberry, or rocky road ice cream?"
List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Figure 13-3: Making a decision.

Companion Web Site

Each option is identified using a guard condition. Each guard condition must be mutually exclusive so that only version="1.0" one option is possible at any decision point. The guard is placed on the transition that shows the <?xml encoding="ISO-8859-1"?> direction that the logic follows if that condition is true. This construct correlates to case statements or ifTable of Contents then-else UML Bible structures in most programming languages.
Preface

Using the same reasoning to specify each choice at a decision point, transitions out of an activity may be modeled using guard conditions. For example, in Figure 13-4 the activity of computing the new account Chapter 1 - What Is UML? balance reveals whether the account is overdrawn. All the information needed to make the choice is Chapter 2 - UML Architecture provided by the activity itself. There is no external decision or additional information that is not already Chapter 3 To - UML Diagrams and Extension available. show the choices resulting Mechanisms from an activity, simply model the transitions exiting the activity, Chapter 4 Object-Oriented Concepts each with a different guard condition.
Part I - An Introduction to UML Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Figure 13-4: Making a decision in Process an activity. Part VII - Automating the UML Modeling
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

When deciding which notation to use for decisions in the Activity diagram, consider the following:

Chapter 22the - XML Metadata Interchange Use decision diamond form illustrated in Figure 13-3 when no processing is included in the step. Appendix A UML 1.4 Notation Guide This usually means that the needed information has been accumulated from a number of previous Appendix B UML Notation Guide steps or the 2.0 decision is an explicit choice by an actor. Appendix C - Standard Elements

Use the form in Figure 13-4 when the completion of the activity provides all the required information to Glossary
Index support the decision. List of Figures List of Tables

Merge point

List of Listings

The diamond icon is also used to model a merge point, the place where two alternative paths come < Day Day Up > together and continue as one. For example, you and I might each walk from your house to the store. Leaving the house is branch point, where we each leave from a common place, but I choose to walk down the left side of the street while you walk down the right. But two blocks before the store we both have to UML turn right and walk on Bible the right side of that street to the store's front door. Neither of us could take both ISBN:0764526049 by time. Tom Pender routes at the same But whichever route we take, we have to walk the last two blocks in exactly the John Wileypoint & Sons 2003 (940 pages) same manner. The merge is the location where our paths come together. You can also think of the mergecoverage point as a device. The 2.0 alternative would be to model the comprehensive oflabor-saving the versatility of 1.4 and UML specifications, andof shows how to use UML them. to improve same sequence of steps for each the paths that share
timeliness, quality, and efficiency in development. For beginning to advanced users, this book provides

Figure 13-5 shows alternative paths merging and continuing along a single path. The diamond represents Companion Web Site the point at which the paths converge.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6

- What Is UML? - UML Architecture - Object-Oriented Concepts

- UML Diagrams and Extension Mechanisms Figure 13-5: The diamond as a merge point.

Part II - Modeling Object Structure

- Capturing Rules about Objects in a Class Diagram Start and end - How to Capture Rules about Object Relationships

Chapter 7 provides - Testing icons with Objects UML also to begin and end an Activity diagram. Figure 13-6 shows the solid dot that
Part III - Modeling Objectof Interactions indicates the beginning the flow of

activity and the bull's-eye that indicates the end point.

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - may Modeling the Application Architecture There be more than one end point in an

Figure 13-6: Begin and end notation for the activity diagram.

Activity diagram, because even the simplest Activity diagram

Chapter 14 - Modeling the Application Architecture typically has some decision logic that results in alternative paths, each with their own unique outcome. If Chapter 15 to, - Modeling Using the Component Diagram you want you can Software draw all of your arrows to the same end point, but there is no need to do so. Every Chapter 16 means - Using the Deployment Diagrams 1.4 in this diagram now." end point same thing: "Stop in allUML activities Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics UML notation for the Activity diagram also supports concurrency, which enables you to model the features
Part VII - Automating thebeen UML Modeling Process of languages that have introduced after the

Concurrency

flowchart was invented, such as Java, C++, and

Chapter 20 -on Using a Modeling Tool of true concurrency. To show that a single process starts multiple Smalltalk, hardware capable

concurrent or processes, uses a simple bar called a fork , or split of control.Figure 13-7 Chapter 21 - threads Customizing UML UsingUML Profiles shows examples of one transition pointing at the fork, and multiple transitions pointing away from it. Each Chapter 22 - XML Metadata Interchange outgoing isNotation a new thread Appendix Atransition - UML 1.4 Guide or process.
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve quality, threads and efficiency in development. Figure 13-7:timeliness, Initiating multiple or processes.

Synchronization or merging of the concurrent threads or processes is shown in much the same way. Figure 13-8 shows examples of multiple transitions pointing at the bar, this time called a synchronization <?xml encoding="ISO-8859-1"?> bar, version="1.0" and one pointing out of the bar, indicating that the concurrent processing has ended and the Activity Table of Contents diagram continues as a single thread or process.
UML Bible Preface
Part I - An Introduction to UML

Companion Web Site

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram

Part II - Modeling Object Structure

Chapter 6 - 13-8: How to Capturecontrol Rules about Relationships bar. Figure Merging usingObject the synchronization Chapter 7 - Testing with Objects

Caution Technically, the bar used Part III - Modeling Object Interactions
Chapter 8 Chapter 9

in a fork and in synchronization is called a synchronization bar.

However, I have found that1.4 using the same term in both instances causes confusion, so I - Modeling Interactions in UML choose Interactions to use fork and synchronization to refer to the nature of the change in the flow. - Modeling in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Identifying a concurrency opportunity does not necessarily dictate a concurrency requirement. It simply models the fact that sequential processing is not required, and if the implementation environment supports Part IV - Modeling Object Behavior it, there might be a chance to optimize the performance of the application by exploiting the concurrency Chapter 12 - Modeling the Use of a System with the Use Case Diagram opportunity.
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture < Day Day Up > Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Building an Activity Diagram by Tom Pender


ISBN:0764526049

As an example of howWiley to construct an Activity diagram, I've provided a sample use case for receiving a John & Sons 2003 (940 pages) product into a warehouse. Table provides the use case text, the basis for the Activity diagram. For beginning to 13-2 advanced users, this book provides Table 13-2: A Use Case Narrative for efficiency Receive Product timeliness, quality, and in development. Field Name Field Description Companion Web Site
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve

<?xml version="1.0" encoding="ISO-8859-1"?> Use case Name Receive Product Table of Contents

Number UML Bible


Preface Author Chapter 1 Chapter 3 Chapter 4

2.0 Joe Analyst

Part I - An Introduction to UML

Last update 01/01/03 (working over New Year's Day to make points with the boss) - What Is UML? Chapter 2 - UML Architecture Assumptions The user has authority to use this transaction
- UML Diagrams and Extension Mechanisms Preconditions Shipment is from a valid shipping company - Object-Oriented Concepts

Use initiation use case Part II case - Modeling Object This Structure

starts on demand

Chapter 5 -dialog Capturing Rules Objects in a Class Diagram Use case Theabout user enters the shipper identification number (ShipperID) Chapter 6 - How to Capture Rules about Object Relationships If not found, display the "Shipper not found" error message Chapter 7 Chapter 8 Chapter 9 - Testing with Prompt Objects to re-enter or cancel
Part III - Modeling Object Interactions Else (found) proceed

Display the - Modeling Interactions in Shipper UML 1.4 details Enter the in Shipment - Modeling Interactions UML 2.0 details (date, sender, number of pieces)

eachLifecycle product in in UML the Shipment Chapter 10 - Modeling an For Object's 1.4 the Lifecycle Purchase using the PO_nbr Chapter 11 - Modeling an Find Object's inOrder UML 2.0 not found, Part IV - Modeling Object If Behavior display "invalid P.O." error message and set the item aside Else (P.O. found) Chapter 12 - Modeling the Use of a System with the Use Case Diagram Match the product to an item on the Purchase Order Chapter 13 - Modeling Behavior Using an Activity Diagram If not matched, display "invalid item" error message and set the item aside Part V - Modeling the Application Architecture Else check off the item and qty on the Purchase Order Chapter 14 - Modeling the Application Architecture Notify Accounts Payable of the updated Purchase Order Chapter 15 - Modeling Software Using the Component Diagram Display the "Accounts Payable notified" message Chapter 16 - Using Deployment Diagrams in UML 1.4 And Chapter 17 - Representing an Architecture in UML 2.0 Update inventory for the items Products received Part VI - Bringing Rigor to the Model Display "inventory updated successfully" message Chapter 18 - Applying Constraints the UMLconfirmation Diagrams Print the to receiving
Chapter 19 - Action Semantics

Use case case ends when: Part VII - Automating theThis UMLuse Modeling Process
Chapter 20 - Using a Modeling Tool

The system displays the message that it could not find the Shipping company and the user cancels Chapter 21 - Customizing UML Using Profiles Accounts Payable has been notified and the inventory has been updated Chapter 22 - XML Metadata Interchange The user cancels the transaction
Appendix A - UML 1.4 Notation Guide

termination

Post conditions UponGuide successful completion of the transaction: Appendix B - UML 2.0 Notation Update inventory Appendix C - Standard Elements
Glossary Index List of Figures List of Tables List of Listings

Notify Accounts Payable Print a confirmation to go with the receiving documents Upon receiving the Cancel option: Returns to its initial state prior to this use case

One way to proceed with the Activity diagram < is Day to follow the use case narrative. First, identify the Day Up > preconditions. The preconditions must be tested before you allow the use case to execute. Table 13-2 identifies a precondition that the "Shipment is from a valid shipping company." Testing this precondition is done in the first four lines of the use case dialog. Figure 13-9 shows the start symbol followed by the Bible activities to enter UML the Shipper_ID and find the shipper in your system. The result of the find is either by Tom Pender successful or not. The two possible results give you the guard ISBN:0764526049 conditions to direct the flow to either of the John Wiley to & re-enter Sons 2003 pages) next two activities: "Prompt or (940 cancel" or "Display Shipper details."
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

Figure Modeling the preconditions. Chapter 5 - 13-9: Capturing Rules about Objects in a Class Diagram
Chapter 6 Chapter 7

Part III - Modeling Object Interactions

Figure 13-9 implies that you would let the user try again or cancel. To do that, you need to loop back to the - Testing with Objects beginning and offer them a choice:
- Modeling Interactions in UML 2.0

- How to Capture Rules about Object Relationships

1. To back to a previous place in the logic, use a merge-point diamond. Chapter 8 loop - Modeling Interactions in UML 1.4
Chapter 9

2. To provide a choice, use the decision diamond. Then-each path out of the decision diamond must be labeled with a guard condition. In this case, you offer the user two choices: proceed to Enter Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Shipper_ID or cancel.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior

Chapter - Modeling Use of a changes. System with the Use Case Diagram Figure 12 13-10 shows the needed Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List ofFigure Tables 13-10: Modeling a looping condition and merge point. List of Listings

Next identify the post conditions and terminations. (I do these together because there is often a great deal < Day Day Up > of overlap.) The use case narrative in Table 13-2 specifies that the use case terminates when: The system displays the message that it could not find the shipping company and the user cancels
by Tom Pender John Wiley & Sons 2003 (940 pages) The user cancels the transaction For beginning to advanced users, this book provides comprehensive coverage the versatility of 1.4 and 2.0 UML The narrative post conditions say that the of system must upon successful completion: specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Update inventory

Accounts Payable has been notified and the inventory hasISBN:0764526049 been updated

UML Bible

Notify Accounts Payable

Companion Web Site

Print a confirmation to go with the receiving documents <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents
UML Bible Preface Return to its initial state (prior to the use case)
Part I - An Introduction to UML

The narrative post conditions say that if the system receives the Cancel option it must:

Chapter - What Is UML? Figure 1 13-11 shows the activities to notify accounts payable, update inventory, and print the confirmation. I

added an to display a message for each action so that the user knows that his requirement was Chapter 2 activity - UML Architecture met. Right looks like weExtension just have Mechanisms fragments, but we tie all of these pieces together later in this Chapter 3 -now UMLitDiagrams and chapter. Chapter 4
Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V Modeling the Application Architecture Next, you need to model the processing for each piece

Figure 13-11: Modeling post conditions.

in the shipment. Figure 13-12 sets up the loop "for

Chapter 14 - Modeling Application Architecture each product" with a the decision diamond that asks whether there are "more pieces to receive." The loop is Chapter 15 Software the Component Diagram described inModeling the middle of the Using Use case dialog in Table 13-2. Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List ofFigure Figures13-12: Modeling the Use case dialog, "For each piece find the Purchase Order." List of Tables List of Listings

Note The label on the diamond is not an explicit part of the UML specification but it lends clarity to the diagram. For each productUML in the shipment: Bible 1. Find the Purchase Order using the PO_nbr. by Tom Pender
John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

< Day Day Up >

2. If not found, display "Invalid P.O." error message and set the item aside.
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML 3. Else (P.O.specifications, found). and shows how to use UML to improve timeliness, quality, and efficiency in development.

Figure 13-13 continues the flow for items where the P.O. was found.
Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 -Figure Modeling Interactions in UML 2.0 case dialog, "matching the items to the P.O." 13-13: Modeling the use

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

the Object product to an item Part 4. IV -Match Modeling Behavior

on the Purchase Order.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part 6. V - Modeling the Application Architecture Else check off the item and quantity on

5. If not matched, display "Invalid item" error message and set the item aside. the Purchase Order.

Chapter 14 - Modeling the Application Architecture

After these areSoftware completed, wethe loop back to the "more products to receive" decision. Chapter 15 - steps Modeling Using Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4

Now you have all the pieces you need to do a bit of organizing. Look for concurrency opportunities by identifying tasks that may be done at the same time because they don't depend on one another. For Part VI - Bringing Rigor to the Model example,Figure 13-14 shows that notifying Accounts Payable and updating inventory don't overlap or Chapter 18 - one Applying Constraints the UML Diagrams depend on another, so theyto can be modeled as concurrent activities. Use the fork to show that you Chapter - Action want to19 follow bothSemantics logical paths at the same time. Use the synchronization bar to show that you're done Part Automatingtasks the UML Process on a single logical path. In this example, after all the withVII the- concurrent andModeling want to continue Chapter 20 - Using a Modeling updates and notifications areTool done, you can print the confirmation.
Chapter 17 - Representing an Architecture in UML 2.0 Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 4

- What Is UML? - UML Architecture - Object-Oriented Concepts

Chapter 3 - 13-14: UML Diagrams and Extension Mechanisms Figure Modeling the concurrency opportunity.

Figure puts all the segments Part II - 13-15 Modeling Object Structure

together. Notice at the bottom left below the activity labeled Display

"invalid item"error message I added another merge point to bring together the segments shown Chapter 5 - Capturing Rules about Objects in a Class Diagram inFigures 13-13.Rules about Object Relationships Chapter 6 13-12 - How and to Capture
Chapter 7 Chapter 8 Chapter 9 - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary IndexFigure 13-15: The complete Activity diagram. List of Figures

As of you can see from the example, all the old flowchart elements are still there. UML has added List Tables
List of Listings

concurrency to keep pace with technology. UML 2.0 extends the notation a bit further, but its greatest

enhancements are to the underlying definitions of the metamodel elements used to construct Activity < Day Day Up > diagrams (covered later in this chapter).

UML Bible

< Day Day Up > ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible 2.0 Activity Diagram Modeling the UML by Tom Pender
ISBN:0764526049

The UML 2.0 Activity is all about behavior. Johndiagram Wiley & Sons 2003 (940 pages) Where most other UML diagrams devote much of their notation to assigning various types of responsibility to book objects, the Activity diagram sets aside the For beginning to advanced users, this provides responsibility for the behavior in favor of focusing attention on what to be done to successfully comprehensive coverage of the versatility of 1.4 andneeds 2.0 UML specifications, and shows to use UML to improve perform the behavior. Once the logic and how the data manipulation issues have been resolved, the Activity quality, efficiency in development. diagram can addtimeliness, information about and what objects or portions of the system will take responsibility by allocating behaviors to partitions Web that may Companion Site in turn be assigned to classifiers. But the primary purpose of the tools that make up the Activity diagram notation is to define the mechanisms of the behavior.
<?xml encoding="ISO-8859-1"?> The version="1.0" Activity diagram follows a sequence of activities through decisions (branching), fork and join (for Table of Contents concurrency), and loops , until all of the tasks ( actions ) in the behavior are successfully completed or an UML Bible or interrupt terminates the sequence. Activities themselves may be broken down into discrete exception Preface actions.
Part I - An Introduction to UML

The UML specification Chapter 1 2.0 - What Is UML? provides two interrelated sets of three packages containing the features of Activity2 diagrams. Figure 13-16 models the packages involved in the definition of the Activity diagram. The Chapter - UML Architecture BasicActivities package provides the core of the Activity diagram modeling artifacts, and the Chapter 3 - UML Diagrams and Extension Mechanisms
Chapter 4

IntermediateActivities and CompleteActivities packages provide further refinements to this package. These - Object-Oriented Concepts refinements are the core of the Activity diagram artifacts that were in UML 1.4 and are familiar to most Part II - Modeling Object Structure readers (or readers who have read the first half of this chapter). The StructuredActivities package and its Chapter 5 - Capturing Rules about Objects in a Class Diagram subpackages, provide completely new material to Activity diagrams for UML 2.0.
Chapter 6 Chapter 7 Chapter 8 Chapter 9 - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Glossary

Figure 13-16: Two sets of packages that together provide all the available features of the Activity diagram. Appendix C - Standard Elements OMG 2.0 modified
Index The BasicActivities package supports simple sequences of activities similar to classic flowcharts, including List of Figures but not limited to: List of Tables List ofActivities Listings that may be broken down into sequences of actions with initial and final nodes

Activities that may be combined into activity groups < Day Day Up > Activities that are connected using activity edges (formerly called transitions) Decision nodes and merge notations that provide branching and merging of logical sequences UML Bible Input and output pins on actions that provide the means to specify values passed to and from actions
For beginning to advanced users, this book provides features that may be used alone or The IntermediateActivities package provides a number of additional comprehensive coverage of the versatility of 1.4 and 2.0 UML with the features of the BasicActivities package, including but not limited to: by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Object nodes and object flows that provide the mechanisms to define objects passed between Companion Web Site activities
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Central buffer nodes that consolidate data from multiple sources UML Bible

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Fork and join notations that provide the means to model concurrent behaviors

Partitions that support the grouping of behaviors so that they may be assigned to a classifier that will Preface responsible forto implementing Part Ibe - An Introduction UML
Chapter 1 Chapter 2 Chapter 3 - What Is UML?

the behaviors

The FlowFinalNode that is a new terminator for individual flows (versus the basic ActivityFinalNode - UML Architecture used to terminate the entire behavior modeled by the Activity diagram)
- UML Diagrams and Extension Mechanisms

Chapter 4 - Object-Oriented Concepts The CompleteActivities package adds advanced features that build on the concepts of the previous
Part II - Modeling Object Structure packages by providing:

Chapter 5 Chapter 6

An extended version of Activity to support single copy versus multiple copy execution of an activity - How to Capture Rules about Object Relationships

- Capturing Rules about Objects in a Class Diagram

Chapter 7 - Testing Objects Constraints on with actions


Part III - Modeling Object Interactions

Chapter 8 - Modeling Interactions in UML 1.4 to handle transformation and selection of data values Behaviors associated with object flows Chapter 9

Object node state and behavior (for token selection or filtering), a value specification for the number of instances that can be held in the object node, and an ordering option for the tokens held in the object Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 node
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior

- Modeling Interactions in UML 2.0

Chapter 12 stores - Modeling the Use of a data System with the Use Case Diagram Data for nontransient Chapter 13 - Modeling Behavior Using an Activity Diagram

An extended parameter specification to support Part V - Modeling the Application Architecture


Chapter 14 - Modeling the Application Architecture

exceptions and streaming

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model specified event

A value specification for join nodes to support decision logic at the point where multiple threads or processes synchronize

Chapter 17 - Representing an Architecture in UML a 2.0 Interruptible activity regions that designate set of activities whose flow may be terminated on a Chapter 18 - Applying Constraints to the UML Diagrams

The structured activities packages add features that support common structured programming constructs. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

The StructuredActivities package introduces conditional notation and loop notation. Conditional notation includes the ability to define a set of testable expressions and output values. Loop notation Chapter 21 - Customizing UML Using Profiles defines a set of activities to be performed repeatedly, bounded by a test condition and an output value.
Chapter 20 - Using a Modeling Tool Chapter 22 - XML Metadata Interchange Appendix - UML 1.4 Notation Guide TheACompleteStructuredActivities package adds more features to the loop and conditional structures Appendix B - UML 2.0 Notation to further customize theirGuide behavior. Appendix C - Standard Elements Glossary Index

The ExtraStructuredActivities package adds exception handlers, and expansion regions that support multiple execution of an activity in parallel, iterative, or streaming modes.

List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UML Bible Exploring BasicActivities by Tom Pender


ISBN:0764526049

BasicActivities defines the most fundamental features of the Activity diagram, which are those found in John Wiley & Sons 2003 (940 pages) most flowcharts, For such as simple action, one activity or action to another, decisions, beginning to activities advancedand users, this flow book from provides and input and output values for actions. The intent of the package is2.0 to provide a set of tools that may be comprehensive coverage of the versatility of 1.4 and UML specifications, and shows how to userequiring UML to improve used for most essential business processes without knowledge of the extended features provided timeliness, quality, and efficiency in development. by the intermediate and complete packages. Separation of the three packages (basic, intermediate, and complete activities) supports an incremental learning curve for the application of the new Activity diagram Companion Web Site concepts and notations.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

Modeling activities and actions

Activities and actions are the two fundamental units of behavior in an Activity diagram. An activity is the highest-level unit of behavior in an Activity diagram. An activity consists of a set of ActivityNodes and Part I - An Introduction to UML ActivityEdges (connectors). An activity node may be
Chapter 1 - What Is UML? Chapter - UML Architecture An2 ExecutableNode , or more specifically, an Action Chapter 3 - UML Diagrams and Extension Mechanisms

AControlNode (discussed later in this chapter) Chapter 4 - Object-Oriented Concepts


Part II - Modeling Object Structure

Chapter 5

AnObjectNode (discussed later in this chapter)

- Capturing Rules about Objects in a Class Diagram

Chapter 6 is - How to Capture Rules unit about Relationships An action generally an atomic of Object behavior executed in the context of an activity. The containing Chapter 7 Testing with Objects activity directs the execution of one or more actions through a flow of control. The flow between actions is
Part III - Modeling Object Interactions directed using a series of connectors

called activity edges, and control nodes. The control nodes provide

Chapter 8 - to Modeling Interactions UML the means split and merge thein flow of1.4 control based on decision points. As part of the flow of control, Chapter - Modeling Interactions in UML 2.0 flows, that is, objects containing the data produced (as actions9may pass values in the form of object Chapter Modeling Object's Lifecycle UML by 1.4 output)10 by one actionan and consumed (as in input) another action. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Activities, actions, activity edges, and Part IV - Modeling Object Behavior

control nodes combine to illustrate a single large (possibly parameterized) behavior. This behavior is described as a series of discrete behaviors guided by decisions Chapter 12 - Modeling the Use of a System with the Use Case Diagram applied against the data produced by the actions during the activity execution. Figure 13-17 depicts a Chapter 13 - Modeling Behavior Using an Activity Diagram simple activity containing four actions and three activity edges, the arrows connecting the series of actions. Part V - Modeling the Application Architecture (Control nodes will be added to subsequent examples.)
Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - 13-17: UML 1.4 Notation Figure An activityGuide containing four actions and three activity edges. Appendix B - UML 2.0 Notation Guide

There isC more to the notation, Appendix - Standard Elements but I want to start simple and add more details and alternatives until you have seen the application of all the available notations. Glossary
Index List of Figures

The flow from one action to the next may be triggered by one of three circumstances:

List ofOther Tables actions or activities in the model complete execution. When one finishes, the next activity or List ofaction Listings in the flow starts.

Day Day Up > is expecting input data, it waits until all Objects and data become available. If an< activity or action required input data is available.

An external event occurs, such as receiving notice of a state change in the system (for example, a Bible performanceUML is scheduled and priced or an event is cancelled).
by Tom Pender
ISBN:0764526049

John Wiley & models Sons 2003 (940 pages) Select Performance. Note that the Activity diagram does The example in Figure 13-17 a use case, not identify who is responsible the behaviors within the activity; its purpose is to figure out what needs to For beginning for to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML happen. specifications, and shows how to use UML to improve timeliness, quality, and efficiency in happen development. Only after the modeler understands what needs to does he have the facts needed to decide what resources are best suited to takeWeb responsibility for each action or for the overall activity. When it is time to Companion Site make this decision, the Activity diagram provides the concept of partitions and association with classifiers described in the IntermediateActivities package.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

Modeling initial and activity final nodes

A sequence of actions has a beginning and an end. The Activity diagram defines two ControlNodes: InitialNode , to designate the starting point in a sequence, and ActivityFinalNode , to designate the end of a Chapter 1 - What Is UML? sequence. There are actually two types of end points, ActivityFinalNode and FlowFinalNode. Chapter 2 - UML Architecture FlowFinalNode is described later in the section about the IntermediateActivities package.
Part I - An Introduction to UML

Chapter 3

- UML Diagrams and Extension Mechanisms

Chapter 4 Object-Oriented Concepts The initial node is depicted as a solid dot connected to an action by an activity edge. When an activity is
Part II - Modeling Structure entered, the flowObject of control begins

at the initial node and proceeds to the activity final node. When an

Chapter - Capturing Rules about Objects a Class Diagram activity 5 final node (depicted as a solid dot in with an activity edge-an arrow-connecting to the first action) is

reached, entire activity stops, all tokens (data) are lost (unless saved using a DataStore), and the Chapter 6 the - How to Capture Rules about Object Relationships activity 7 exits. Chapter - Testing with Objects
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

The initial node notation is highlighted in the top left corner of Figure 13-18. The activity final node is - Modeling Interactions in UML 1.4 highlighted in the bottom right corner of Figure 13-18.
- Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

Figure 13-18: An activity with InitialNode and ActivityFinalNode added.

Modeling activity edges

Glossary Modeling control flow requires a means to illustrate the movement from one action to the next. The Activity Index diagram provides two types of ActivityEdge to model flow from one action to the next: a ControlFlow that List of Figures simply directs the flow of control from one action to another, and an ObjectFlow , which directs the flow but

also List of passes Tables data (as output from an action) that is intended as input to a subsequent action. (The remainder of this section focuses on control flow. Object flow is discussed later in the "Modeling object List of Listings

nodes and object flows" section.)

< Day Day Up >

Both ActivityEdges use a simple arrow notation. An activity edge may be adorned with any of the following: A name. A name is optional, but when used, it should be placed in close proximity to the arrow. In UML Bible general, the movement from one action (or activity) to the ISBN:0764526049 next is automatic. However, in the case of by Tom Pender external events, the name can reflect the specific event.
John Wiley & Sons 2003 (940 pages) beginning to advanced users, this objects book provides Data passedFor as objects (ObjectNodes). Passing is described in detail later in the "Modeling comprehensive coverage of the versatility of 1.4 and 2.0 UML object nodes and object flows" section.

Identifying an interruption. Interruption is discussed later in the "Modeling interruptible activity regions" Companion Web Site section.
<?xml version="1.0" encoding="ISO-8859-1"?> activity edges around and through a large diagram or across multiple pages, a connector uniquely Table of Contents UML Bible

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Connectors. Connectors provide a convenience for modeling large diagrams. Instead of wrapping

identifies a point on a diagram that maps to a second point somewhere else on the diagram, whether on the same page or some other page. A connector is modeled as a circle with a letter (or number) Preface inside to uniquely identify it. Matching circles and letters on another page identify the connection Part I - An Introduction to UML between pages. The connectors are joined to the sequence of actions by activity edges.
Chapter 1 - What Is UML? Figure 2 13-19 shows an activity example with a named control flow (Save) highlighted on the right side of Chapter - UML Architecture

the figure, connectors (labeled A) that map the movement from the action "Display default Chapter 3 -and UML Diagrams and Extension Mechanisms Performances" to the action "Select Performance." Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - 13-19: Representing an UML and 2.0 connectors. Figure Adding a Architecture control flow in name
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Modeling decision and merge points

Part VII - Automating the UML Modeling Process

A common ofaa control flow Chapter 20 - part Using Modeling Tool is the need to make choices. The ControlNode subclass DecisionNode provides means to specify a point at which the logic must choose between a set of mutually exclusive Chapter 21the - Customizing UML Using Profiles alternatives. A decision node may have only one incoming activity edge (the exception is covered later in Chapter 22 - XML Metadata Interchange this section). It may two Guide or more outgoing activity edges, but any given pass through the decision Appendix A - UML 1.4 have Notation
Appendix B - UML 2.0 Notation Guide

node may follow only one of the available outgoing paths.

Appendix - Standard A guard C condition on Elements each outgoing activity edge identifies the condition under which each path may be Glossary taken. The guard is a Boolean expression enclosed in square braces, such as [amount > 100], or Index [eventSelected], where "eventSelected" is a Boolean value. List of Figures List of Tables List of Listings

< Day Day Up > Tip Boolean conditions are typically named, such as eventSelected. When the value is true the name is present. When the value is false the name does not appear. So when a guard condition is modeled using the name, it means that the Boolean expression must be true.

Figure 13-20 enhances the description of the use case Select ISBN:0764526049 Performance by adding a decision point by Tom Pender where the user decides whether to view the list of performances by event or by date range, select a John Wiley & Sons 2003 (940 pages) specific performance, or simply cancel without making a selection. Each option is mapped to a separate For beginning to advanced users, this book provides outgoing activity edge that leads the user through a different control flow. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

UML Bible

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - 13-20: Modeling Behavior Using an Activity Diagram Figure Adding a decision node to the Activity diagram.
Part V - Modeling the Application Architecture

Note is nothe limit to the number of outgoing activity edges on a decision node. Chapter 14 There - Modeling Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Branching of this sort often leads to repetition in the flow of control. For example, in Figure 13-20, once a user asks to see a new list of performances for the selected event, he wants to be able to choose a Chapter 17 - Representing an Architecture in UML 2.0 performance. The diagram could copy the choice to select a performance and the actions to confirm and Part VI - Bringing Rigor to the Model save the performance, but they already appear on the diagram. If we could return the flow of control to the Chapter 18 - Applying Constraints to the UML Diagrams already defined decision node, then the user not only would be able to choose a performance, but would Chapter - Action Semantics also be19 able to select a different event, select a date range, or simply quit.
Part VII - Automating the UML Modeling Process

Chapter 20 - Usingprovides a Modeling Tool where a flow of control can return to an existing activity edge to take The MergeNode a point

advantage the existing flow of control from that point forward. Figure 13-21 adds a merge node so that Chapter 21 - of Customizing UML Using Profiles once a 22 user makes one of the provided choices, he is returned to the same initial decision point. Note that Chapter - XML Metadata Interchange a mergeAnode is 1.4 the Notation oppositeGuide of a decision node, that is, the merge node has many incoming activity Appendix - UML edges and outgoingGuide activity edge. To complete the logic, Figure 13-21 also adds a decision after Appendix B - only UML one 2.0 Notation the action "Display Confirmation". Appendix CStandard Elements
Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure 13-21: Adding a merge node to the Activity diagram.

Chapter 9 So - Modeling Interactions in notation UML 2.0 is the same as in UML 1.4. From this point on, the notations Note far in this section, the Chapter 10 represent - Modelingchanges an Object's Lifecycle by in UML introduced UML1.4 2.0. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Figure illustrates common Part IV -13-21 Modeling Object another Behavior

occurrence in Activity diagrams, a merge immediately followed by a decision. UML 2.0 enables you to combine the merge and decision nodes to simplify the diagram. In Chapter 12 - Modeling the Use of a System with the Use Case Diagram short, the combined symbol enables many incoming activity edges and many outgoing edges. Figure 13Chapter 13 - Modeling Behavior Using an Activity Diagram 22 redraws the merge and decision using this simplification alternative.
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram

Part II - Modeling Object Structure

Chapter 6 - 13-22: How to Simplifying Capture Rules Object Relationships Figure theabout merge and decision node combination. Chapter 7 - Testing with Objects
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 Modeling fork and join nodes for concurrency - Modeling Interactions in UML 2.0

Chapter 10 -diagram Modeling an Object's Lifecycle inin UML 1.4parallel processing is available. In fact, any logic An Activity may model a process which Chapter 11 Modeling an Object's Lifecycle UML 2.0 may potentially be executed in parallel. The Activity sequence that does not require a specificin sequence
Part IV - Modeling Object Behavior diagram uses fork and join notation

to model parallel, or concurrent, processes or threads. Note the

Chapter 12 - Modeling the Use of a System the Use Diagram "synchronization bars." change from UML 1.4, which called bothwith the fork andCase join notation Chapter 13 - Modeling Behavior Using an Activity Diagram

A ForkNode is represented as aArchitecture bar with one Part V - Modeling the Application

incoming activity edge and two or more outgoing activity edges. The incoming edge is split into multiple outgoing edges that may execute in any order, including Chapter 14 - Modeling the Application Architecture simultaneously. Any data passed along the incoming edge is duplicated and a copy is passed along each Chapter 15 - Modeling Software Using the Component Diagram outgoing activity edge.
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an as Architecture UML A JoinNode is represented a bar with in two or 2.0 more incoming activity edges and one outgoing edge.

Figure 18 13-23 changes the Select Activity diagram to show that the first two actions do not Chapter - Applying Constraints toPerformance the UML Diagrams have to19 happen sequentially. Chapter - Action Semantics They may, in fact, happen at the same time. To show this, the initial control flow enters a ForkNode into Process two separate Part VII - Automating the and UML splits Modeling flows. Once the two actions have completed, the two flows of control synchronize and continue as a single flow of control. The synchronization is modeled as a Chapter 20 - Using a Modeling Tool JoinNode. Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

13-23: encoding="ISO-8859-1"?> Activity diagram fork and join notation. <?xml Figure version="1.0" Table of Contents
UML Bible

Technically, the specification allows the modeler to combine the fork and join nodes to model a situation where the synchronization of a set of threads or processes is immediately followed by spawning multiple Preface new threads or processes. Figure 13-24 models the combined notation.
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure 13-24: Combined fork and join notation.

Chapter 14 - Modeling the Application Architecture

Modeling object nodes and object flows

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

A flow of control includes two types of flows (activity edges): ControlFlow, discussed earlier in the "Modeling activity edges" section, and ObjectFlow. An ObjectFlow supports passing data (tokens) from Chapter 17 - Representing an Architecture in UML 2.0 one action to another. The data is contained within an ObjectNode.
Chapter 18 flow - Applying Constraints the UML An Diagrams An object is represented asto an arrow. object node is simply a rectangle with the name of the Chapter 19Figure - Action Semantics classifier. 13-25 adds the object nodes and flows to show that that when a user selects an event at
Part - Automating UML Modeling the VII venue, the event the that he selects is Process passed

to the "Display Performances for selected Event" action. Likewise, when a user selects a date range or a specific performance, the selected or entered data is Chapter 20 - Using a Modeling Tool passed on to the next action. Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Figure 13-25: Adding object Part II - Modeling Object Structure

flows and nodes to the Activity diagram.

Figure 13-26 shows three different ways to represent an object node - to identify a single object (token), a - How to Capture Rules about Object Relationships set of objects, or a signal. A set of objects uses the same rectangle icon. The name must describe it as a Chapter 7 - Testing with Objects set.
Part III - Modeling Object Interactions

- Capturing Rules about Objects in a Class Diagram

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Figure Three icons for object nodes. Chapter 13 - 13-26: Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Modeling action input and output pins

Actions17 are behaviors that work with data. Chapter - Representing an Architecture in Actions UML 2.0create, transform, and delete data, and in doing so, they may pass data produced by one action as Part VI - Bringing Rigor to the Model input to another action. This process is reminiscent of the classic input-process-output pattern of functional modeling. Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating the UML Modeling Process

Chapter 19 output - Action Semantics Input and may be explicitly modeled using InputPins and OutputPins. Pins are object nodes that

contain values. The pin concept is borrowed from Action Semantics. Each input pin receives a single

Chapter 20 - Using a Modeling Tool value. Input pins correspond to the parameters passed to an invocation action. As such, the model Chapter 21 that - Customizing UML Using Profiles assumes the pins are ordered just as the parameters are ordered. Also, because of this pairing Chapter 22 - XML Interchange relationship, the Metadata pins must be of the same data type as the corresponding parameters. Appendix A - UML 1.4 Notation Guide

Output pins represent valuesGuide produced as the result of an action. The values are passed along an object Appendix B - UML 2.0 Notation flow to subsequent actions. Appendix C - Standard Elements
Glossary Index a classifier, such as a piece of data or an object containing a set of data. List of Figures

Both types of pins are subclasses of ObjectNode, which is an abstract class that represents an instance of

The List of notation Tables for pins is a small square on the outside edge of an action. The name is placed next to the pinof icon. Figure 13-27 shows examples of pin notation. The recommended notation is a separate icon for List Listings

each pin. Oftentimes, though, an output pin on one action corresponds to an input pin on the next action in < Day Day Up > the flow, and in those situations, the two pins may be combined into a single icon in the middle of the flow between the two actions.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3

Figure 13-27: Notation for input and output pins on actions in an Activity diagram. - UML Architecture

- What Is UML?

Chapter 4 - Object-Oriented Concepts object node as modeled in Figure 13-25.


Part II - Modeling Object Structure

- UML Diagrams and Extension Mechanisms The alternative forms for a combined output/input pin in Figure 13-27 are the same as the notation for an

Chapter 5 Chapter 6 Chapter 7

Modeling activity groups - How to Capture Rules about Object Relationships

- Capturing Rules about Objects in a Class Diagram

- Testing with Objects An ActivityGroup is an abstract class that supports the identification of a set of activities and activity edges, including possibly other activity groups, and actions. It is a simplification mechanism for working with large Chapter - Modeling Interactions in reuse UML 1.4 sets of 8 behaviors. It also facilitates of sets of behaviors in multiple contexts by grouping already Chapter 9behaviors - Modeling in UML 2.0 defined asInteractions a unit that may be inserted wherever applicable. Since the metaclass ActivityGroup is Chapter 10modelers - Modeling an Object's Lifecycle in UMLcalled 1.4 abstract, don't actually use a symbol an ActivityGroup when modeling an Activity diagram. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Instead, they use subtypes of this type, such as Partition (described in the next section). The UML Part IV - Modeling Object Behavior specification is open to being extended, so that other types of ActivityGroups may be introduced into UML Chapter 12 - Modeling the Use of a System with the Use Case Diagram via profiles.
Part III - Modeling Object Interactions

Chapter 13 - Modeling Behavior Using an Activity Diagram

For V example, the behavior of selecting seats Part - Modeling the Application Architecture

in a venue is part of many functions such as allocating seats to agents in a sales agreement, predefining groupings of seats as rows and sections in a venue layout, Chapter 14 - Modeling the Application Architecture selecting seats for removal when remodeling the venue, or disabling seats for maintenance or repair. In all Chapter 15 - Modeling Software Using the Component Diagram these situations the actor needs to select a group of seats that is then passed on to the rest of the process.
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the package adds the concept ofModel a partition

Chapter 17activity - Representing in UML 2.0 Since an group is an anArchitecture abstract class, there is no notation for it. However, the IntermediateActivities

that implements the group concept and a few more valuable

Chapter 18 - Applying Constraints to the UML Diagrams concepts. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UML Bible Exploring IntermediateActivities by Tom Pender


ISBN:0764526049

The IntermediateActivities package adds partitions, John Wiley & Sons 2003 (940 pages) data buffering, and the capability to terminate a single flow of control within an activityto oradvanced activity diagram. The IntermediateActivities package sits alongside the For beginning users, this book provides StructuredActivities package, that is, they may be used independent of one another, but they both support comprehensive coverage of the versatility of 1.4 and 2.0 UML shows to use UML to improve concurrency and specifications, may be used and together orhow separately.
timeliness, quality, and efficiency in development. Companion Web Site Modeling central buffer nodes

In many processes the flow of data comes from many sources or continuously from a single source. <?xml version="1.0" encoding="ISO-8859-1"?> Downstream actions may not be able to process the data as quickly as it is generated. To support queuing Table of Contents of data during a process, the Activity diagram provides a CentralBufferNode, a type of ObjectNode. Unlike UML Bible other object nodes that support buffering, a central buffer node stands apart from any specific activity or action as a place to store data. Output pins and input pins may then hook up to the central buffer node to Part I - An Introduction to UML provide or extract data as required by the associated actions.
Preface Chapter 1 - What Is UML?

Chapter 2 buffer - UML node Architecture A central may receive data from any number of output pins and may provide input to any Chapter 3 UML Diagrams and Extension Mechanisms number of input pins. Figure 13-28 shows a central buffer node used to receive orders from multiple Place Chapter 4 - Object-Oriented Concepts Order actions and to channel them to input pins on the Fill Order action. The central buffer node is an
Part II -node Modeling Structure object with Object the stereotype centralBuffer.

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - 13-28: Modeling the Use of a System Figure Central buffer node. with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram

Modeling activity partitions

An ActivityPartition provides an organizational Chapter 16 - Using Deployment Diagrams in UML view 1.4 of nodes and edges within an activity, much like packages provide an organizational view classes Chapter 17 Representing an Architecture inof UML 2.0 and associations within a system. For example, a highlevel activity such as processing an order Part VI - Bringing Rigor to the Model
Chapter 19 - Action Semantics

might include work performed by both the order processing and

accounting Chapter 18 - staffs. Applying Constraints to the UML Diagrams Initially defining the activity focuses on sequencing the tasks regardless of who performs them. For the tasks to be implemented, though, they need to be assigned to someone. The actions that make up the Chapter 20 - Using a Modeling Tool complete activity of processing an order cross the responsibility boundaries between two types of Chapter 21 - Customizing UML Using Profiles employees, order processing and accounting. Activity partitions provide the visual means to map the Chapter 22 XML Metadata Interchange actions into groups for each type of employee that will be responsible for performing the tasks. Each Appendix A - UML models 1.4 Notation Guide activity partition part of an activity and represents the participation of some classifier.
Part VII - Automating the UML Modeling Process

Appendix B - UML 2.0 Notation Guide

Note in theElements modeling process, partitions often refer to organizational units. But as the model is Appendix C Early - Standard
Glossary Index

refined to provide greater detail, partitions may be used to assign responsibilities to specific classifiers, instances, parts, attributes, and even values.

List of Figures

List of Tables modeled side-by-side so that the edges can illustrate how responsibility changes hands across partitions. List of Listings Figure 13-29 models two partitions for the activity of processing an order. Once order processing has filled

An activity partition is modeled as an area in which to draw actions and edges. Multiple partitions are

the order, accounting can generate the invoice. When the payment has been accepted and the order has < Day Day Up > been shipped, the order may be closed. Order processing takes responsibility for the tasks that involve physically handling the products. Accounting takes responsibility for the tasks that involve recording the financial aspects of the transaction.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface Figure 13-29: Two activity partitions for a single activity.
Part I - An Introduction to UML

Note no rule about whether to align the partitions horizontally or vertically. Use the layout that Chapter 1 There - Whatis Is UML? the presentation as clear and useful as possible for your audience. Chapter 2 makes - UML Architecture
Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

Alternatively, partitions may be modeled using a label, enclosed in parentheses, on the actions. For - Object-Oriented Concepts example, the Receive Order action is performed by the Order Department. So name the action "(Order Part II - Modeling Object Structure Department) Receive Order", as shown in Figure 13-30.
- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

- UML Diagrams and Extension Mechanisms

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing toprocess. the Model component partsRigor of the This

Figure 13-30: Alternative notation for activity partitions.

Chapter 17 - Representing anactivities, Architecture UML 2.0to break down the larger processes into smaller, When modeling high-level it is in common

hierarchical approach to modeling processes may be modeled by

Chapter - Applying Constraints toas the UML Diagrams nesting18 partitions within partitions shown in Figure 13-31. There is no limit to the number of subChapter 19 other - Action Semantics partitions than prudence and your ability to deal with the complexity.
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms

Chapter 4 - 13-31: Object-Oriented Concepts Figure Modeling nested partitions.


Part II - Modeling OMG 2.0 Object Structure

Chapter 5

- Capturing Rules about Objects in a Class Diagram The activity partition represents the model element that constrains the behavior of the partition and Chapter 6 - How to Capture Rules about Object Relationships

provides context for Objects the behavior. Earlier I stated that as the model becomes more detailed, partitions Chapter 7 the - Testing with may reference individual classifiers. In Part III - Modeling Object Interactions
Chapter 9

Figure 13-32, the stereotype class is added to indicate that the

classes Processor and Accounting Clerk implement the responsibilities for the actions documented Chapter 8Order - Modeling Interactions in UML 1.4 in each partition. The addition of the stereotype does not change the meaning of the partition. It simply - Modeling Interactions in UML 2.0 explains to the reader that she can find a complete definition of an Order Processor and an Accounting Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Clerk in the Class diagram.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

Figure Modeling participation by an external entity. Chapter 22 - 13-32: XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

In some processes, one or more actions may be performed by parties that are outside the scope of the modeled system. These parties correlate to actors in a Use Case diagram. Even though they are outside Appendix C - Standard Elements the system, their behavior is an integral part of the workflow and needs to be modeled. To indicate that an Glossary action is performed by an external entity use a partition stereotyped as external, as shown in Figure 13Index 32.
List of Figures List ofNote Tables When the internal resources refer to automated portions of the system, this relationship between

internal resources and external actors is sometimes called the man-machine boundary. List of Listings

< Day Day >individual action, as shown in Figure 13-33. Alternatively, you may apply the external stereotype toUp the

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Figure 13-33: Alternative for modeling participation by an external entity. Preface

The stereotype is also Part I external - An Introduction to UML property. Chapter 1 - What Is UML?
Chapter 2 Chapter 3 - UML Architecture

represented as a property of a partition in the isExternal Boolean

An activity partition may also represent a dimension of the problem. A dimension is a highest-level view of - UML Diagrams and Extension Mechanisms the activity that may contain partitions. It addresses a perspective on the activity as opposed to an Chapter 4 - Object-Oriented Concepts assignment of responsibility. For example, the order processing activity described in the earlier examples is Part II - Modeling Object Structure actually performed at different locations. The tasks are still the responsibility of the order processing and Chapter 5 - staffs, Capturing about Objects in a Class the Diagram accounting but Rules they are distributed between Seattle and Reno locations. Location is a second Chapter 6 How to Capture Rules about Object Relationships dimension of the Activity diagram shown in Figure 13-34.
Chapter 7 Chapter 8 Chapter 9 - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - 13-34: Using Deployment Diagrams in UML 1.4 Figure Adding a second dimension to the activity partitions. Chapter 17 Representing an Architecture in UML 2.0 UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams A true value for the isDimension property of an activity partition identifies the activity partition as a

dimension. such, it may not be contained in another activity partition. Chapter 19 - As Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles

Modeling the flow final node

Chapter 22 - XML Metadata Interchange Occasionally a flow in an activity may terminate but the activity does not terminate. Other, concurrent flows

in the activity may run to completion Appendix A - UML 1.4 Notation Guide or until their own individual termination point. The ActivityFinalNode terminates entire activity. Guide The FlowFinalNode only terminates a single flow. When the flow terminates, Appendix B - the UML 2.0 Notation all data associated with that flow is lost. Model the flow final node as a circle containing an X. Appendix C - Standard Elements
Glossary Index

Figure 13-35 models an activity in which components are built and installed. As long as there are more components to build, the process keeps looping back to the build action. When there are no more List of Figures components to build, the flow to loop back ends but the installation flow runs to completion.
List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Figure 13-35: FlowFinalNode. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

For beginning to advanced users, this book provides

< Day Day Up >


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Exploring CompleteActivities by Tom Pender


ISBN:0764526049

The CompleteActivities package continues topages) enhance the features of the Activity diagram by adding to the John Wiley & Sons 2003 (940 definitions of activities, constraints on actions, behaviors forprovides object flows, exception handlers, and more. For beginning to advanced users, this book The CompleteActivities package provides an extended definition of an Activity to say that an Activity specifications, and shows how to use UML to improve quality, and efficiency development. diagram will only timeliness, use a single copy of the activity. in By default, the isSingleCopy attribute of an activity is set to false, which means that each time Companion Web the Site activity is invoked a separate instance of the activity is invoked. If the isSingleCopy attribute is set to true, all invocations of the activity actually reference the instance of the activity, and all data passed to the activity actually goes through a single copy of the executing activity.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents For example, the theater system has to process payments. The default interpretation for the Process comprehensive coverage of the versatility of 1.4 and 2.0 UML

Payment UML Bible activity (isSingleCopy is false) generates a separate copy of the Process Payment activity for each payment so the payment information for each payment is handled by a different instance of the Preface activity, Process Payment. This Part I - An Introduction to UML approach avoids bottlenecks because each Process Payment activity executes independent of every other Process Payment activity. However, it pays for this independence with Chapter 1 - What Is UML? the added overhead of multiple copies of the process. Chapter 2 - UML Architecture
Chapter 3 Chapter 4

An alternative is to designate a single copy approach to processing payments by setting the isSingleCopy Object-Oriented Concepts attribute to- true so that submitted payments are queued up and processed one at a time through a single Part II - Modeling Object Structure copy of the Process Payment activity. The benefit is less processor overhead. The price of this approach is Chapter 5 likelihood - Capturing about Objects inpayment a Class Diagram a greater ofRules a bottleneck as one waits for the previous payment to make it through Chapter 6 How to Capture Rules about Object Relationships before it has its turn.
Chapter 7 Chapter 8 - Testing with Objects
Part III - Modeling Object Interactions

- UML Diagrams and Extension Mechanisms

Modeling constraints on actions - Modeling Interactions in UML 1.4

Chapter 9 - Modeling Interactions in made UML 2.0 The execution of an action may be contingent upon conditions in the system at the time of Chapter 10 -The Modeling an Object's Lifecycle in UML 1.4 an extended definition of an action that supports the execution. CompleteActivities package provides Chapter 11 Modeling Object's Lifecycle in UML 2.0 local refers to the fact that these conditions apply only addition of-local pre- an and post conditions. The term
Part IV point - Modeling Behavior at the in theObject control flow where

they are declared. They don't even apply to other executions of the

Chapter 12 - Modeling Use ofin a the System withflow. the Use Diagram same action in other the locations control Put Case another way, local pre- and post conditions must be Chapter 13 at - Modeling Behavior Using an Activity Diagram declared each place in the flow of control where they are to be applied.
Part V - Modeling the Application Architecture

The definition of pre-the and post conditions with actions is consistent with the general usage found with Chapter 14 - Modeling Application Architecture Behaviors in the CommonBehaviors package. Preconditions Chapter 15 Modeling Software Using the Component Diagram define the required state of the system when
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0

the action is invoked. If the condition is not satisfied, the implementation must decide how to handle it. For example, the flow of control could throw an exception or specify an alternative path. A post condition specifies the required state of the system at the completion of the action. The pre- and

Chapter 18 - Applying Constraints to the UML Diagrams post conditions describe only those conditions that are specifically relevant to the current action. All other Chapter 19 - Actionis Semantics state information considered irrelevant for purposes of guarding the current action execution.
Part VII - Automating the UML Modeling Process

Figure 20 13-36 provides a template Chapter - Using a Modeling Tool format for modeling pre- and post conditions on the left, and a sample set of prepost conditions on the right. The Authorize CC Payment action will execute only if the Chapter 21 -and Customizing UML Using Profiles condition totalOrderAmt is satisfied. When the action is completed, the order status must be set to Chapter 22 inAmt - XML = Metadata Interchange PAID or A the action fails. Appendix - UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve Figure 13-36: Appling local preand post conditions to an action. timeliness, quality, and efficiency in development. Companion Web Site This approach to modeling pre- and post conditions does not explicitly describe how the implementation of the system should handle the system's failure to satisfy these conditions. That decision needs to be supported by whoever takes responsibility for implementing these constraints. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

Pre-and post conditions may also be applied to an activity, as shown in the highlighted area of Figure 1337.
- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

Part II - Modeling Object Structure

Part III - Modeling Object Interactions Figure 13-37: Pre- and post conditions

on an activity.

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV Modeling Object defined Behavior Using the new features in the

Modeling behavior on object flows


CompleteActivities package, an object flow may be described in

terms of upstream actions affect object - whether the upstream action can Chapter 12how - Modeling theand/or Use of downstream a System with the Use Case the Diagram create,13 read, update,Behavior or delete it, foran example. These options (create, read, and so on) are defined in the Chapter - Modeling Using Activity Diagram ObjectFlowEffectKind enumeration. The allowed effect Part V - Modeling the Application Architecture depends on the relationship between the object flow and connected ForArchitecture example, only object flows with actions on the target end may have a Chapter 14the - Modeling the actions. Application delete effect, and only object flows actions on the source end may have create effect. Chapter 15 - Modeling Software Using with the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4

In Figure 13-38, the top illustration demonstrates input and output pin notation to show that Action1 reads (or looks up) an instance of Order and Action2 deletes that instance. The bottom illustration uses the Part VI - Bringing Rigor to the Model alternative pin notation to show an example in which Action3 creates an instance of Order and Action4 Chapter 18 - Applying Constraints to the UML Diagrams updates that same instance.
Chapter 17 - Representing an Architecture in UML 2.0 Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary IndexFigure 13-38: Adding effects to an object flow. List of Figures List of Tables

List of Listings

Some modern applications use a "publish-and-subscribe" approach to broadcast information to a wide audience versus a direct invocation on a specific object. The CompleteActivities package provides a

simple means to model the fact that actions from different partitions in an activity may send information via < Day Day Up > a multicast method, and may receive information via a multi-receive method. In Figure 13-39, for example, the Customer generates a number of Requests for Seats at Shows (RSS) that are targeted UML to a number Bible of different agents using a multicast approach. The Agents then respond by generating a number of Ticket using a multi-receive mechanism. A single ISBN:0764526049 by Tom PenderQuotes, which are accumulated object flow may use only one of these features, either multicast or multireceive, but not both. John Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Figure 13-39: Modeling multicast and multi-receive mechanisms across partitions.

Chapter 1 - What Is UML? to filter the objects generated by an action or the objects provided as input to an Sometimes it is necessary Chapter - selection UML Architecture action. 2 The criteria may be assigned to an object flow to implement the filter. The selection Chapter UML Diagrams Extension Mechanisms criteria 3 are- attached to theand object flow as a comment as shown in Figure 13-40. Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior A selection criterion attached to an

Figure 13-40: Adding selection criteria to an object flow. output flow filters the objects provided to the output flow. Selection

Chapter - Modeling the Useflow of a filters System with the Use Case Diagram criteria 12 attached to an input the objects provided to the target action. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using Component Diagram When objects are passed from one the step in an activity to the next, they can be sequenced to facilitate Chapter 16 Using Deployment Diagrams in UML 1.4 processing. The ordering is achieved through an ordering property on the object node. The specific types Chapter 17 -ordering, Representing anare Architecture in UML 2.0 of allowed which defined in the ObjectNodeOrderingKind enumeration, are:
Part VI - Bringing Rigor to the Model

Customizing an object node

unordered: No sequencing Objects are passed as they are produced. Chapter 18 - Applying Constraints is tospecified. the UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

ordered: Objects are sequenced by criteria defined in the selection property.

Chapter 20 (First - Using a First Modeling FIFO In, Out):Tool Objects are sequenced so that they are delivered in the same order in which Chapter 21were - Customizing UML in Using Profiles they received and a manner that ensures that tokens do not overtake each other as they pass Chapter 22 - XML Interchange through the Metadata node. Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Glossary

LIFO (Last In, First Out): Objects are re-sequenced as they are created and passed on in the flow of control and in a manner that ensures that tokens do not overtake each other as they pass through the Appendix C - Standard Elements node.
Index Ordering is specified using property notation next to the object flow icon as shown in Figure 13-41. List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Figure 13-41: Specifying ordering on an object flow.

Preface The model can limit the number of objects passed in an object flow by specifying an upper bound, also
Part I - An Introduction to UML specified using the property notation

next to the object flow icon (see Figure 13-42). The example states

Chapter 1object - What Is called UML? name may contain no more than 2 instances at any time. that the flow Chapter 2 - UML Architecture Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure Specifying an upper limit on an object flow. Chapter 14 - 13-42: Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Finally, an object node may be defined as a specific object type. The CompleteActivities package adds the capability to define the state of the object at the point in the flow where the object node is defined as input Chapter 17 of - Representing an Architecture in UML or output an action. Figure 13-43 models an 2.0 object node and the states in which the object may reside Part VI - Bringing Rigor to the Model in order to be part of the flow of control for the containing activity. The state specification acts like a filter on Chapter 18 - passed Applyingalong Constraints to the UML Diagrams the objects the object flow.
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure 13-43: Specifying the valid states of an object.

< Day Day Up >

Modeling data stores


During the life of an activity, data is created, manipulated, deleted, and accessed to support the products Bible Some of that data is transient, that is, it only exists to support the process and and processes ofUML the activity. ISBN:0764526049 by Tom Pender is lost once the process is completed. But other data must persist from one execution of the activity to John Wiley & Sons 2003 (940 pages) another. Some data is even created by one activity and later used by another activity. In order to preserve beginningthere to advanced users, this book provides the data betweenFor executions, has to be a place to put it.
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to usethat UML to improve The DataStoreNode is a type of central buffer node acts essentially like a file. Data (tokens) can be timeliness, quality, and efficiency in development. sent to the data store where they are saved. When the data is needed for a downstream process, the data Companion Websends Site it along the outgoing object flow. If a new version of a stored store creates a copy of the data and object is sent to the data store, it replaces the older one, effectively updating the stored data. Selection criteria on the outgoing object flow can filter data from the data store.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

UML Bible 13-44. The object flows leaving and entering the actions provide the effects of each action on the object Preface node. Add Customer creates new Customer objects that are captured in the Customer data store. Mail
Part I - An Introduction to UML Promotion reads the Customers from

Modeling a data store node utilizes the stereotype datastore on the object node icon as shown in Figure

the data store in order to get the mailing address information to send

Chapter 1 - What Isupcoming UML? out promotions for performances. Change Customer Address provides the means to read an Chapter 2Customer - UML Architecture existing object and update the values for the mailing address information. Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure 13-44: Modeling a data store in an Activity diagram.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Enhancing parameter features

The Activity diagram utilizes the definition of parameters from the Kernel and adds to it three new features: isException, isStream, and parameterSet. Parameters may be applied to both actions and activities. A Chapter 17 -is Representing an Architecture inan UML 2.0 parameter a type of object node called ActivityParameterNode.
Chapter 18 - Applying Constraints the to UML Diagrams The isException attribute appliesto only output parameters. A true value states that the parameter may

provide19 a value even if the other parameters have not. The output from an action normally waits until all Chapter - Action Semantics output have been generated, but an Part VII parameters - Automating the UML Modeling Process exception output parameter always flows to the next action as soon as it is generated. The most common use of this technique is to identify problems that Chapter 20 - Using a Modeling Tool require all flows to be aborted except handling the problem just encountered. Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

An exception parameter is modeled with a small hollow triangle near the activity parameter node, as shown in Figure 13-45.

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Figure 13-45: Adding exception parameter notation to an activity parameter node. For beginning to advanced users, this book provides OMG 2.0 modified comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, andthe efficiency in development. The CompleteActivities package adds capability to specify stream parameter values. Streaming describes the flow of multiple data values into or out of a behavior. I use the term behavior instead of Companion Web Site action because parameters, and specifically the streaming property, may apply to both actions and activities. <?xml version="1.0" encoding="ISO-8859-1"?> In the of stream input parameters, once all the input parameters of a behavior have been received, Table ofcase Contents

the Bible behavior begins execution. During the execution, the behavior may continue to receive values for the UML parameter. Likewise, once all of the output values have been generated, a behavior may start sending the Preface output values. Output streaming Part I - An Introduction to UML have been Chapter 1 - sent. What Is UML?
Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Architecture

means that multiple data values may be sent as output until all values

The isStream attribute of a parameter is modeled as a property - {stream} - on the activity parameter node - UML Diagrams and Extension Mechanisms as shown in Figure 13-46.
- Object-Oriented Concepts

Part II - Modeling Object Structure

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - 13-46: Modeling Behavior Using an Activity Diagram Figure Modeling the stream property on an activity parameter node.
Part V - Modeling OMG 2.0 the Application Architecture

Chapter 14 - Modeling the Application Architecture

UML sets additional rules for using streams: Diagram Chapter 15 some - Modeling Software Using the Component
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0

All non-stream inputs must arrive for the behavior to be invoked. If there are only stream inputs, then at least one must arrive for the behavior to be invoked.

Chapter - Applying Constraints the UMLto Diagrams All18 inputs must arrive for theto behavior finish, that is, all inputs must arrive for non-stream outputs to Chapter - Action be 19 posted andSemantics control edges traversed out of the invocation of the behavior.
Part VII - Automating the UML Modeling Process

Either non-stream outputs Chapter 20 -all Using a Modeling Tool must be posted when an activity is finished, or one of the exception
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange A ParameterSet is a group of parameters, either all input or all output, that belong to a specific action or Appendix A UML 1.4 Notation Guide activity. Each set offers an alternative group of values that may be passed to the action or activity. A Appendix B -set UML Notation parameter is 2.0 modeled as Guide a boundary surrounding two or more parameter nodes as shown in Figure Appendix C Standard Elements 13-47. Parameter Set1 includes two parameters, parameter Set2 includes three parameters, and so on. Glossary The action or activity may receive either parameter Set1 or parameter Set2. It may produce parameter Index Set3, Set4, or Set5. Note that parameter Set4 and Set5 share a common parameter. List of Figures List of Tables List of Listings

outputs must be. (UML 2.0)

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table Figure of Contents 13-47: Defining multiple parameter sets for an action or activity. UML Bible OMG 2.0 Preface

If a I behavior has a parameter Part - An Introduction to UML is true for Chapter 1 output - What parameters. Is UML?
Chapter 2 Chapter 3 Chapter 4 - UML Architecture

set, any inputs that are not in a parameter set must be streaming. The same

- UML Diagrams and specification Extension Mechanisms Enhancing the join - Object-Oriented Concepts

Simple join notation does not allow Part II - Modeling Object Structure

the modeler to evaluate the results of the multiple threads or

processes. CompleteActivities package ability in the form of a join specification , which offers Chapter 5 - The Capturing Rules about Objects in aadds Classthis Diagram the keyword andto to Capture specify Rules a combination of thread results that must occur together. The specification also Chapter 6 - How about Object Relationships supports expression Chapter 7 a- Boolean Testing with Objects that evaluates any number of data values to determine whether the results of the may beObject passed on in the flow. Part IIIjoin - Modeling Interactions
Chapter 9

The notation does not explicitly address what happens when the

condition satisfied. Chapter 8 is - not Modeling Interactions in UML 1.4


Chapter 10 - Modeling Object's Lifecycle in UML join specification "thean total coin value inserted is 1.4 >= drink price" must be true. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

- Modeling Interactions in UML 2.0 In Figure 13-48, both flows A and B must be completed (this is the default for a join specification), and the

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure 13-48: Modeling a join specification. < Day Day Up > Every time a new token arrives at the join, the join starts to evaluate the specification. Once the evaluation begins, any new data arriving at the join is ignored until the evaluation is complete and the outgoing data is accepted by the receiving object node (pin, parameter, central buffer node, or data store node). Accepting UML Bible the outgoing data must into account the upper bound of the receiving object node. That is, if the ISBN:0764526049 by Tomtake Pender upper bound hasJohn been reached, no objects Wiley & Sons more 2003 (940 pages)can be passed to the receiving object node.

Modeling interruptible activity regions

One feature missing from the UML 1.4 Activity diagram was the capability to interrupt the flow of an activity Companion Web Site or portion of an activity without explicitly choosing a location to provide an exit option. UML 2.0 adds this feature in the form of an InterruptibleActivityRegion. An interruptible region is like an overlay on the Activity diagram. It encompasses a set of nodes and edges and enables the flow to exit the set of enclosed nodes <?xml version="1.0" encoding="ISO-8859-1"?> and of edges at any time during their execution. Table Contents
UML Bible Preface

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Part I - An Introduction to UML

A region is interrupted when a token crosses the boundary of the InterruptibleActivityRegion. Even though the token has left the region the token is not terminated.

Chapter 1 An - What Is UML? should only be used if the intent is to stop all flows in the region. Note interruption Chapter 2 - UML Architecture

The interruptible activity region is modeled as a dashed rounded rectangle surrounding the set of nodes Chapter 3 - UML Diagrams and Extension Mechanisms
Chapter 4

and edges- (see Figure 13-49). Exit from the region is achieved by one or more activity edges leaving the Object-Oriented Concepts interruptible activity region. The edges may be modeled as either jagged arrows (to emphasize the effect Part II - Modeling Object Structure of the edge on the region) or straight arrow (the standard notation for an activity edge). Both forms are Chapter 5 - Capturing Rules about Objects in a Class Diagram modeled in Figure 13-49.
Chapter 6 Chapter 7 Chapter 8 Chapter 9 - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - 13-49: Using Deployment Diagrams in UML 1.4 region. Figure Modeling an interruptible activity Chapter 17 Representing an Architecture in UML 2.0 OMG 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process< Day Day Up >

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Defining Structured Activities by Tom Pender


ISBN:0764526049

A structured activity defines a Sons unit of functionality that appears only once within the model, that is, a John Wiley & 2003 (940 pages) structured activityFor may only be to a part of one activity and its execution beginning advanced users, this book provides is independent of all other parts of the model. The name "structured activities" refers to the constructs found in structured comprehensive coverage of the versatility of 1.4 and commonly 2.0 UML specifications, and loops, shows conditions, how to use UML to improvehandling. Support for these concepts programming languages including and exception timeliness, efficiency in development. is provided by extending thequality, Activity and diagram metamodel in the contents of three packages; StructuredActivities, CompleteStructuredActivities, and ExtraStructuredActivities. Companion Web Site The Structured Activities package provides the basic definitions for loops and conditions.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents The CompleteStructuredActivities package adds input and output pins to the loops and conditions to

align structured activities with Action Semantics. UML Bible


Preface
Part I - An Introduction to UML

The ExtraStructuredActivities package adds exception handling.


- What Is UML? - UML Diagrams and Extension Mechanisms

Chapter 1 Chapter 2 Chapter 3 Chapter 4

Modeling aArchitecture structured activity node - UML

The new structured activity concept replaces the nesting strategy that UML 1.4 implemented with a set of - Object-Oriented Concepts rules. It does this by combining and specializing features from activity groups and executable nodes. The Part II - Modeling Object Structure features of a structured activity are defined within two packages, StructuredActivities and Chapter 5 - Capturing Rules about Objects in a Class Diagram CompleteStructuredActivities. Figure 13-50 shows the metamodel from StructuredActivities with the key Chapter 6 - How to Capture Rules about Object Relationships features highlighted with gray shading.
Chapter 7 Chapter 8 Chapter 9 - Testing with Objects
Part III - Modeling Object Interactions

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure UML metamodel for a structured activity as defined within the StructuredActivities Chapter 14 - 13-50: Modeling the 2.0 Application Architecture package. Chapter 15 - Modeling Software Using the Component Diagram OMG Chapter 16 - 2.0 Using Deployment Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Working clockwise from the bottom left of Figure 13-50, the features are as follows:

Chapter 18 - Applying Constraints to the UML Diagrams A structured activity may belong to at most one activity. Chapter 19 - Action Semantics

A structured activity may Modeling define any number Part VII - Automating the UML Process

of variables that are exclusively owned and used by the structured activity during its execution. For example, a structured activity can define variables to hold Chapter 20 - Using a Modeling Tool intermediate values that are products of actions contained within the structured activity, and that must Chapter 21 - Customizing UML Using Profiles be passed between embedded actions, but are never used once the structured activity is finished (and Chapter 22 - XML Metadata Interchange are never used by other activities). Appendix A - UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix - Standard Elements wellC as activity edges, with the one constraint that the nodes and edges can only belong to one Glossary structured activity. This constraint is enforced by the specialized association between a structured

A structured activity node is a specialized type of activity group. As such it can contain other nodes, as

Index activity node and activity nodes, and between structured activities and edges shown on the right side of List ofFigure Figures 13-50. In addition, the edges in a structured activity must have their source and target within the List ofsame Tables structured activity. List of Listings

A structured activity node is a specialized < type of executable activity node. As such it defines a Day Day Up > process, a set of actions to transform input data (objects) and generate output data (objects). The difference is that activity nodes contained within the structured activity may not execute until all of the object and control tokens have been received. In a basic executable activity node actions may execute UML Bible their own required inputs, regardless of whether other actions within the as soon as they receive ISBN:0764526049 Tom Pender activity have by theirs.
John Wiley & Sons 2003 (940 pages)

<?xml version="1.0" encoding="ISO-8859-1"?> Table Contents The of CompleteStructuredActivities package adds the mustlsolate attribute, which addresses the potential UML Bible that arise from the use concurrent execution. Setting this attribute to true means that any object problems Preface used by an action within the structured activity cannot be accessed by any action outside the structured
Part I - An Introduction to UML activity until the structured activity has

As a type of activity group,to a structured activity may contain actions that require input and generate For beginning advanced users, this book provides output. However, the execution of the embedded actions cannot begin until the structured activity node comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows how to use In UML to improve has receivedspecifications, all of its object and control tokens. the same manner, output tokens are not available timeliness, quality, andactions efficiency in development. to other nodes until all embedded have completed execution. (These restrictions reinforce the definition of a structured activity as "a structured portion of the overall activity that is not shared with Companion Web Site any other structured node." This concept is further reinforced by the mustIsolate attribute defined in the CompleteActivities package.)

ended. If any external concurrent actions need access to objects

Chapter 1 - by What UML? being used theIs structured activity, their execution must be deferred until the structured activity has

completed. Chapter 2 - UML Architecture


Chapter 3 Chapter 4

Caution The UML 2.0 specification is careful to reinforce the distinction between isolation and - Object-Oriented Concepts atomicity. Isolation refers to keeping everything within a structured activity separate from Part II - Modeling Object Structure everything outside the structured activity. Atomicity refers to the execution of the activity, that Chapter 5 - Capturing Rules about Objects in a Class Diagram is, either the entire activity completes or it does not. Atomicity states that there is no option for Chapter 6 - How to Capture Rules about Object Relationships partial execution. This is why atomicity often implies the need for rollback logic, the ability to Chapter 7 - Testing with Objects reverse the effects of a failed or partial execution.
Part III - Modeling Object Interactions

- UML Diagrams and Extension Mechanisms

Chapter 8 models - Modeling Interactions in UML UML 2.0 a structured activity as 1.4 a dashed and rounded rectangle with the keyword structured used Chapter 9 - Modeling Interactions in UML 2.0 as a stereotype at the top of the rectangle as shown in Figure 13-51. It may be used anywhere in an

Activity10 diagram where activity can be in used. Chapter - Modeling anan Object's Lifecycle UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an rectangle Architecture in structured UML 2.0 a dashed and rounded with at the top). Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Figure 13-51: The notation for an activity (left-solid rounded rectangle) and a structured activity (right -

Modeling expansion regions and expansion nodes

Chapter 20 - Using a Modeling Tool The ExtraStructuredActivities package extends the definition of a structured activity to create a new Chapter 21 - Customizing UML Using Profiles concept called an expansion region , which supports multiple executions of the same structured activity. A Chapter 22 -activity XML Metadata Interchange structured executes once each time a set of tokens is passed to it. An expansion region can Appendix UML 1.4 Notation receivedAa-collection of input Guide values and execute concurrently, once for each member of the collection. Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

The collection of input values is defined as an expansion node. An expansion node is a type of object node that manages multiple values much like a central buffer node, but it is specialized for use on the Glossary boundary of an expansion region. Each execution of the expansion region can also generate output. The Index output is placed into an expansion node that stores the collection of output values. Figure 13-52 models List of Figures the relationship between an expansion region and the expansion nodes for input and output.
List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

An expansion region may execute in any of three modes defined by the enumeration ExpansionKind; Companion Web Site parallel, iterative, or stream modes.
<?xml version="1.0" encoding="ISO-8859-1"?> example, ten input elements from the input expansion node are processed by ten independent Table of Contents UML Bible

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Figure 13-52: The metamodel for expansion regions and nodes. specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Parallel mode means that every input element is processed independently and concurrently. For executions of the expansion region, all running at the same time but not interacting with one another. Each execution waits for the previous execution to run to completion. The

Preface Iterative mode requires the expansion region to execute once for each input element but sequentially
Part Irather - An Introduction to UML than concurrently.

Chapter 1 Is UML? order ofWhat execution is defined by the ordering of the input elements in the collection. When there is no Chapter 2 - UML ordering theArchitecture order of execution is undefined, and the order of execution can be different each time the

expansion region is invoked. Chapter 3 - UML Diagrams and Extension Mechanisms


Chapter 4

Stream mode means that the expansion region executes once and processes each element in the order that it appears in the collection. Stream mode works like a loop within the execution of the Chapter 5 - Capturing Rules about Objects in a Class Diagram expansion region, one pass through the loop for each element of the expansion node.
Part II - Modeling Object Structure

- Object-Oriented Concepts

Chapter 6

- How to Capture Rules about Object Relationships

Chapter 713-53 - Testing with13-55 Objects Figures through depict the notation for an expansion region. Figure 13-53 models an
Part III - Modeling Interactions expansion region Object as a dashed rounded rectangle

with one of the three ExpansionKind values (parallel,

Chapter 8 or - stream) Modelingused Interactions in UML in 1.4 iterative, as a keyword the top left corner. Note that an expansion region is a structured Chapter Interactions in UML 2.0 stereotype. The expansion nodes are modeled as segmented activity 9 but-itModeling does not use the structured Chapter - Modeling anbox Object's Lifecycle on in UML 1.4 boxes, 10 also called "list pin" notation, the border of the expansion region. The actions that define the

behavior expansion regionLifecycle reside within the dashed border of the expansion region Activity edges Chapter 11of - the Modeling an Object's in UML 2.0 (theIV arrows) mapObject the path of data Part - Modeling Behavior from the expansion nodes to the pins on the actions (the boxes on the border 12 of each action). In theof example, there two Case actions within the expansion region: Get Prices Chapter - Modeling the Use a System with are the Use Diagram from Tier and Apply Discount . The name of the expansion region, "PriceSeat" in this example, Chapter 13 - Modeling Behavior Using an Activity Diagram appears at the top of the region Architecture icon. Part V - Modeling the Application
Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables

13-53: Notation for an expansion region with input (top) and output (bottom) expansion nodes. List ofFigure Listings

Figure 13-54 models an alternative notation for that have only one action. The < expansion Day Day Upregions > expansion region and action borders are merged, leaving only the action border. The expansion nodes are placed directly on the border of the action itself. There is no dashed border to represent the expansion region. The figure on the left is the general notation. The figure on the right is an example from the theater UML Bible system.
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Figure 13-54: Notation for an expansion region with only one action. Preface
Part I - An Introduction to UML

Note region pictured on the right side of Figure 13-54 contains only one action and executes in Chapter 1 The - What Is UML?
Chapter 2 Chapter 3 - UML Diagrams and Extension Mechanisms

parallel. This means that the action reserveShowSeats executes multiple times concurrently. - UML Architecture Each execution processes a different set of input values. of executions. The unlimited number of executions is designated with

Chapter 4 offers - Object-Oriented Concepts UML 2.0 an even simpler notation for an expansion region with only one action, executed in parallel
Part II - and Modeling Object Structure mode, for an unlimited number

*), the unlimited Chapter 5 -( Capturing Rules about Objects in a Class an asterisk multiplicity notation, in Diagram the top right corner of the action, as shown in Figure Chapter 6 How to Capture Rules about Object Relationships 13-55.

Chapter 7 Chapter 8 Chapter 9

- Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Figure Alternative notation an expansion region with only one action, executed in parallel Chapter 15 - 13-55: Modeling Software Using thefor Component Diagram mode, for an unlimited numberin ofUML executions. Chapter 16 - and Using Deployment Diagrams 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Modeling conditional nodes

Aconditional node is a specialized type of structured activity node that represents a choice in which only one alternative can be selected. A conditional node defines one or more clauses. Each clause specifies a Chapter 20 - Using a Modeling Tool test and a body. Each test defines an alternative and corresponds to a body, an activity that produces a Chapter 21 - Customizing UML Using Profiles result. Passing a test means that the alternative is a valid choice. But regardless of how many alternatives Chapter 22 - XML Metadata Interchange are valid, only one may be chosen.
Part VII - Automating the UML Modeling Process

Appendix A - UML 1.4 Notation Guide

Appendix B - UML 2.0 Notation Guide for conditional nodes. A conditional node is defined by two additional Figure 13-56 shows the metamodel Appendix - Standard Elements BooleanC attributes, isDetermined and isAssured. Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface Figure 13-56: Metamodel for conditional nodes.
Part I - An Introduction to UML

isDetermined: true value means that at most one of the tests will pass. False means that more than Chapter 1 - What IsA UML? one canArchitecture pass. It is valid to have more than one test pass, but even then only one alternative may Chapter 2 test - UML be 3 chosen theand resulting valid alternatives. Chapter - UMLamong Diagrams Extension Mechanisms
Chapter 4

isAssured: A true value means that at least one test will pass. A false value means that it is possible that none of the tests will pass. When using a false value for isAssured, you should take care to Chapter 5 - Capturing Rules about Objects in a Class Diagram ensure that this does not result in a logic error for the activity.
Part II - Modeling Object Structure

- Object-Oriented Concepts

Chapter 6

- How to Capture Rules about Object Relationships

Chapter 7 Testing withfor Objects The order of execution the clauses within a conditional node can be defined using predecessor and
Part III - Modeling Object Interactions successor clauses. Predecessor clauses

precede the current clause, must all run to completion, and

must all in a false value before the current clause can execute. Successor clauses follow the Chapter 8 result - Modeling Interactions in UML 1.4 current9clause and can only execute when Chapter - Modeling Interactions in UML 2.0the current clause has run to completion and results in a false value. If no or successors defined, Chapter 10 - predecessors Modeling an Object's Lifecycle are in UML 1.4 the order of execution for the clauses is undefined. They can in any order, in fact, in in a different Chapter 11 execute - Modeling an Object's Lifecycle UML 2.0 order each time the conditional node is executed.
Part IV - Modeling Object Behavior

In the event that none of the clauses within a conditional node returns a true value, the model supports the use of an "else" clause the results in a true value every time. An "else" clause is a successor clause to all Chapter 13 - Modeling Behavior Using an Activity Diagram other clauses in the conditional node.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application Architecture

Chapter 14may - Modeling the Application A clause contain zero or more Architecture test/body pairs. The most common usage is one pair. Each test yields Chapter - Modeling Software Using the Component Diagram a value15 that is used to decide whether to execute the body. The value is stored in an OutputPin called the

decider. Each body can yield a value that is stored Chapter 16 - Using Deployment Diagrams in UML 1.4 in a result, an output pin that holds the values for all test/body for the conditional node. in UML 2.0 Chapter 17 pairs - Representing an Architecture
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Note It is valid to use values from tests or bodies outside the conditional node. But if you do, the values must be created in every clause to prevent undefined values. node , so Figure 13-57 uses an activity node and

Part VII - Automating UML a Modeling UML 2.0 has not yet the defined notationProcess for a conditional

Chapter 20 - Using a Modeling Tool the stereotype conditional. The SelectPerformanceOption conditional node could be expanded to show Chapter 21 -nodes Customizing UML Using Profiles the activity that comprise the test and body sections. Look at Figures 13-58 and 13-60 for examples Chapter XML Metadata Interchange of how 22 the-expanded version might look. Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3

- What Is UML? - UML Architecture

- UML Diagrams and Extension Mechanisms Figure Interim notation for a conditional node, an activity node with the stereotype Chapter 4 - 13-57: Object-Oriented Concepts

conditional. Part II - Modeling Object Structure


Chapter 5 Chapter 6

The CompleteStructuredActivities package adds one more feature to conditional nodes, the capability to - How to Capture Rules about Object Relationships yield multiple clause results. For example, if the isDetermined attribute is false, it is possible for more than Chapter 7 - Testing with Objects one test to be true, so more than one body activity can be performed. Each body activity can produce a Part III - Modeling Object Interactions result. The results from all executed body activities can be stored in a result output pin and passed along Chapter 8 - Modeling Interactions in UML 1.4 to downstream activities. The result output pin is separate from and in addition to the decider pin. The sum Chapter 9 - Modeling Interactions in UML 2.0 of all clause results from the same conditional node defines the conditional node result.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

- Capturing Rules about Objects in a Class Diagram

Modeling loop nodes

Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application Architecture

Chapter 13 - Modeling Behavior Using an node Activity Diagram to be performed repeatedly. The loop is made up of a setupPart, test and body pairs with a decider ,

A loop node is a specialized structured activity that defines a set of features to manage functions that need and an output value (result) used to decide when to exit the loop. Each of these elements is a separate

Chapter 14 - within Modeling Application Architecture sub-region thethe loop node. Each contains one or more activity nodes and edges. Chapter 15 - Modeling Software Using the Component Diagram

The is executed once immediately Chapter 16setupPart - Using Deployment Diagrams in UML 1.4upon entry into the loop node. It contains the nodes and edges initialize the usedin in the 2.0 execution of the loop. Chapter 17 -that Representing an objects Architecture UML
Part VI - Bringing Rigor to the Model

The test/body pairs execute after the setupPart and until the tests result in a false value. Each body executes as long as the corresponding test is true. Each test contains the nodes and edges that Chapter 19 - Action Semantics perform the processes or computations needed to determine whether the body should be executed Part VII - Automating the UML Modeling Process again. Each body contains the nodes and edges required to fulfill the objectives of the loop.
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 20 - Using a Modeling Tool Chapter 21decider - Customizing UML Profiles The contains theUsing value resulting from the last test and body executed within the loop. Chapter 22 - XML Metadata Interchange

The isTestedFirst attribute defines Appendix A - UML 1.4 Notation Guide whether the tests are executed before or after the body activities. A true value is comparable to a "do while" loop, which might never enter the loop if the test does not result in a true value on the first pass. A false value is comparable to a "do until" loop, which ensures that the loop Appendix C - Standard Elements will always execute at least once.
Appendix B - UML 2.0 Notation Guide Glossary Index Figure 13-58 shows the metamodel for the loop node as it appears in the StructuredActivities package, List ofthe Figures with setupPart, test, and body activity nodes, and the decider output pin. List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part IFigure - An Introduction to UML 13-58: The StructuredActivities

metamodel for a loop node.

Chapter 1 - 2.0 What Is UML? OMG modified Chapter 2 - UML Architecture The notation for Diagrams the loop node is not defined yet in the UML 2.0 specification, so Figure 13-59 uses the Chapter 3 - UML and Extension Mechanisms

notation a structured activity, using stereotypes for the loop, and the loop elements (loop setup, Chapter 4 for - Object-Oriented Concepts loop test, and Object loop body). Note Part II Modeling Structure
Chapter 6 Chapter 7 Chapter 8 Chapter 9

that each section within the loop is bounded by a front end node and a back end node. These nodes represent the entry and exit points for each section. Although the example Chapter 5 - Capturing Rules about Objects in a Class Diagram does not show it, a loop may contain many test/body pairs.
- How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Figure Loop node notation with nested Chapter 17 - 13-59: Representing an Architecture in UML 2.0 setup, test, and body activity nodes.
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

The CompleteStructuredActivities package adds loop variables and a result to manage the data moving into and out of the loop, as pictured in Figure 13-60.

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure 13-60: The metamodel for a loop node as extended in the CompleteStructuredActivities <?xml package. version="1.0" encoding="ISO-8859-1"?> 2.0 modified Table OMG of Contents
UML Bible Preface

TheloopVariableInput pins are optional. They contain values passed into the loop and stored in the loopVariable pins. The values in the loopVariable pins are passed to the test and body activity nodes Part I - An Introduction to UML before the first iteration of the loop. Each execution of a body activity node uses the loop variables and Chapter 1 - What Is UML? stores the resulting values in the bodyOutput pins. Each execution of the body activity node overlays the Chapter - UML Architecture values 2 in the bodyOutput pins. When the loop test fails, the values are copied into the result pins as the net Chapter 3 UML Diagrams and Extension Mechanisms output of the loop.
Chapter 4 - Object-Oriented Concepts

For II example, a loop to compute Part - Modeling Object Structurethe

value of all the show seats on an order might receive input variable

values,5including a set of show seat objects, a loop counter set to zero. Each iteration of the loop tests Chapter - Capturing Rules about Objects in aand Class Diagram to see whether the set of show seats has any more entries. As long as the set is not empty the body Chapter 6 - How to Capture Rules about Object Relationships executes increments the loop counter to indicate the number of show seats processed. Chapter 7 and - Testing with Objects
Part III - Modeling Object Interactions

Chapter 8

Figure 13-60 shows the metamodel for the loop node found in the CompleteStructuredActivities package.
- Modeling Interactions in UML 1.4

Chapter 9 has - Modeling Interactions in UMLfor 2.0 UML 2.0 not yet defined a notation these addition features for the loop node so Figure 13-61 uses Chapter - Modeling Object'sand Lifecycle in UML 1.4 tagged10 values for thean variables results. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Figure 13-61: Notation for a loop node with Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

inputVariables and results.

< Day Day Up >

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

The UML 1.4 Activity is theUML version of the classic flowchart. It may be applied to any process, Johndiagram Wiley & Sons 2003 (940 pages) large or small. Three commonto applications of Activity diagrams are to explain workflow (a series of Use For beginning advanced users, this book provides cases), to explain a single Use case, and to explain a method. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency development. The Activity diagram represents a task as an in activity drawn as a rounded rectangle containing a freeform text description of the task. An activity represents an ActionState. The transition from one Companion Web Site activity to the next is shown as an arrow. The notation provides for start and end points , using a dot and a bull's-eye, respectively. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Model decisions with a diamond. Each transition exiting the decision must be labeled with a guard

condition , and the conditions must be mutually exclusive. The diamond may also be used to represent UML Bible amerge point, joining two or more alternative paths in the sequence. Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2

Guard conditions may also be used on transitions leaving an activity, where the result of the activity - What Is UML? provides all the information needed to meet one of the conditions.
- UML Architecture

Chapter 3 - UML Diagrams and Extension Mechanisms Concurrency describes multiple threads or processes executing simultaneously. The fork bar shows Chapter 4 transition - Object-Oriented Concepts one initiating multiple transitions. The synchronization bar shows multiple transitions coming
Part II Modeling Object Structure to-an end and one new transition

taking over.

Chapter 5

- Capturing Rules about Objects in a Class Diagram

Often, text be bit too ambiguous defining a complex process. The UML 1.4 version of the Activity Chapter 6 -can How toa Capture Rules about for Object Relationships diagram a visual that also supports common programming constructs. As such, it bridges Chapter 7 offers - Testing with alternative Objects the III gap between requirements Part - nicely Modeling Objectuser Interactions
Chapter 8

and programming requirements.

- Modeling Interactions in UML 1.4 To translate the user description into an Activity diagram, isolate each task as an activity. Indicate the Chapter 9 - Modeling in UML sequence of the Interactions tasks by drawing a 2.0 transition arrow from one activity to the next activity in the Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 sequence. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Multiple processes take Part IV - Modeling Object may Behavior

place at the same time. Model them using the synchronization bar to

either initiate multiple processes or merge multiple process. Chapter 12 Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

To model decisions in the process, you have two options. A decision that results from the completion of an activity is drawn using guard conditions. Each transition out of the activity is labeled with a unique Chapter 14 - Modeling the Application Architecture (mutually exclusive) conditional expression enclosed in square brackets. For a decision that is not the Chapter 15 - Modeling Software Using the Component Diagram result of one specific activity, use the diamond icon. Each transition out of the diamond decision point Chapter 16 - Using Deployment Diagrams in UML 1.4 is also labeled with a unique conditional expression enclosed in square brackets.
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigorflow to the When the logical of Model the process

needs to return to a previous point in the flow, use the diamond

Chapter 18as - Applying Constraints to the UML Diagrams icon the merge point diamond. There may be two or more arrows entering the merge point but only

one exiting theSemantics merge point. Chapter 19 - Action


Part VII - Automating the UML Modeling Process

End points are drawn using a bull's-eye symbol. There may be as many end points as the logic requires. In practice, there should be one transition to an end point for each use case termination Chapter 21 - Customizing UML Using Profiles option.
Chapter 20 - Using a Modeling Tool Chapter 22 - XML Metadata Interchange Appendix A 2.0 - UML 1.4 Notation Guide the concepts defined in UML 1.4 but refines the metamodel to The UML specification includes Appendix B the - UML 2.0 Notation Guide separate concepts from the state machine metamodel and to refine and clarify the concepts for an Appendix C - Standard Elements Activity diagram. UML 2.0 has also added new concepts to address limitations that no longer exist now that Glossary the Activity diagram metamodel is distinct form the State Machine diagram metamodel. The new concepts

include pins, flow final nodes, combining decision and merge nodes, buffers and data stores, streaming Index parameters, List of Figures and interruptible regions.
List of Tables List of Listings

Activity, Action, ActivityEdge, and Parameters: An activity is a set of one or more actions and the paths

(edges) that direct the flow from one action to the next. Parameters may be directed to an activity to < Day Day Up > customize the behavior of the activity. Action, InputPin, and OutputPin: An action is usually an atomic unit of work, except when it is used to invoke an activity. Input and output pins define the data elements passed into and out of the action. UML Bible InitialNode: The initial node designates the start of an activity flow.
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, book provides the end of activity. An activity final node ActivityFinalNode and FlowFinalNode: A finalthis node designates comprehensive coverage of the versatility of 1.4 and 2.0 UML ceases all actions and flow of data in an activity. A flow final node designates the end of a single flow specifications, and shows how to use UML to improve within an activity. timeliness, quality, and efficiency in development. Companion Web Site ActivityPartition: An activity partition identifies a set of nodes and edges within an activity that are assigned to a classifier. The classifier is responsible for the implementation of the behavior described by the nodes and edges. Partitions are sometimes referred to as swimlanes. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Decision: A decision node provides a branching mechanism in the activity flow. Each path out of a decision node is mutually exclusive. UML 2.0 allows the decision and merge nodes to be combined in Preface a single icon.
Part I - An Introduction to UML

Chapter 1 - nodes What Is UML? Object and object flows: An object node identifies a type of object passed along a flow. An

object the delivery of an object node from an action or to an action. Chapter 2 -flow UMLdirects Architecture
Chapter 3 Chapter 4 Chapter 5

ForkNode and JoinNode: Fork and join nodes model concurrent behaviors. The fork defines the point - Object-Oriented Concepts at which multiple concurrent threads or processes are initiated. The join defines the point in the flow Part II - Modeling Object Structure where the multiple threads or processes are synchronized.
- Capturing Rules about Objects in a Class Diagram Chapter 6 - How to Capture about Object A Relationships CentralBufferNode andRules DataStoreNode: central buffer node queues up objects from one or more Chapter 7 Testing with Objects sources and provides them to one or more actions. A data store node is a type of central buffer node
Part III - Modeling Interactions that provides Object persistence for objects

- UML Diagrams and Extension Mechanisms

in an object flow.

Chapter 8

- Modeling Interactions in UML 1.4

Constraints on actions and activities: An action or activity may be bounded by pre- and post conditions. Chapter 9 - Modeling Interactions in UML 2.0 Preconditions must be satisfied before can execute. Post conditions must be Chapter 10 - Modeling an Object's Lifecycle in the UMLaction/activity 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

satisfied when an action/activity is completed.

Chapter 12 - Modeling theon Use of object a System with Use flow Casemay Diagram update, and delete the flow. Anthe object also be designated as either multicast or Chapter 13 Modeling Behavior Using an Activity Diagram multi-receive in a publish-and-subscribe model.
Part V - Modeling the Application Architecture

Behavior on ObjectFlow: An object flow may specify the effects of actions such as create, read,

Exceptions and streaming parameters: Exception and streaming properties refine the description of a Chapter 14 - Modeling the Application Architecture parameter. isException allows parameter to be passed even though all of the other, non-exception Chapter 15 - Modeling Software Usingathe Component Diagram parameters have not been generated. The isStream property defines a parameter as a series of Chapter 16 - Using Deployment Diagrams in UML 1.4 values into or out of an action the execution of the action. Chapter 17 - passed Representing an Architecture in during UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating theA UML Modeling Process Structured activity: structured activity defines

InterruptibleActivityRegion: An interruptible region defines a set of nodes and edges that may be exited at any time during their execution in response to an event. a unit of functionality that appears only once within the

Chapter 20 - Using aa Modeling Tool model, that is, structured activity may only be a part of one activity and its execution is independent Chapter 21 other - Customizing UMLmodel. Using Profiles of all parts of the Structured activities are specialized into expansion regions, conditional

nodes nodes. Chapter 22 -and XMLloop Metadata Interchange


Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Glossary

Expansion node: An expansion node supports multiple executions of the same structured activity. Values are passed into and out of the expansion region through expansion nodes. An expansion Appendix C - Standard Elements region may execute in parallel, iterative, or stream modes.
Index Conditional node: A conditional node is a specialized type of structured activity node that represents a List ofchoice Figures in which only one alternative can be selected. A conditional node defines one or more clauses. List ofEach Tables clause specifies a test and a body. A conditional node defines two additional Boolean attributes,

and isAssured. List ofisDetermined Listings

< Day Dayactivity Up > that defines a set of features to manage Loop node: A loop node is a specialized structured functions that need to be performed repeatedly. The loop node is made up of a setupPart, test and body pairs, and an output value ( decider ) used to decide when to exit the loop. Each of these elements is a separate sub-region within the loop node. Each contains one or more activity nodes and UML Bible edges. by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides < versatility Day Day Up comprehensive coverage of the of > 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Part V: Modeling the Application Architecture ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides In This Part comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Chapter 14: Using Packages

Companion Web Site

Chapter 15: Modeling Software Using the Component Diagram


<?xml version="1.0" encoding="ISO-8859-1"?> Chapter 16: Using Deployment Diagrams in UML 1.4 Table of Contents UML Bible Chapter 17: Representing an Architecture in UML 2.0 Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture

< Day Day Up >

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Chapter UML 14:Bible Modeling the Application Architecture ISBN:0764526049 by Tom Pender
John is Wiley Sons 2003 (940 pages) Organizing your work one& of the most important things that you do. There are a number of devices For beginning to advanced users, this book provides presented by UML to help you organize packages, systems, subsystems, and models. This chapter comprehensive coverage of the versatility of 1.4 and 2.0 UML introduces those devices and provides an overview of the Rational Unified Process (RUP) approach to specifications, and shows how to use UML to improve organizing your work. timeliness, quality, and efficiency in development.

Modeling Packages

Companion Web Site

<?xml encoding="ISO-8859-1"?> The version="1.0" package is the main construct in UML for grouping model elements. A package provides exactly the Table offunctionality Contents as a folder in Windows. It enables you to organize elements by grouping them and same UML Biblethem into a container. Packages can contain other packages, so you can create a hierarchy of placing Preface packages.
Part I - An Introduction to UML

CrossChapter 3 provided a brief introduction to packages, so some of this material may Chapter 1 - What Is UML?
Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram

Reference sound familiar. This chapter delves into the specifics of packages and organizing your - UML Architecture work.

Part II - Modeling Object Structure

Namespaces

A package also provides a namespace for classifiers that you place in the package. The word namespace - How to Capture Rules about Object Relationships is familiar to C++ programmers. It means that once you place an element of a certain type in a package, Chapter 7 - Testing with Objects its name becomes unique for an element of that type in that package. You may create an element of the Part III - Modeling Object Interactions same name in a different package, and it will have a different definition. Again, think in terms of Windows Chapter 8 - Modeling Interactions in UML 1.4 Explorer: You can have a word document named UML_Bible.doc in a folder named X that contains Chapter 9 - Modeling Interactions in UML 2.0 completely different contents than a word document named UML_Bible.doc in a folder named Y, or in a Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 folder named Z placed within the folder named X. The two documents have the same name, but because Chapter 11 Modelingfolders, an Object's in UML 2.0 they are in-different theyLifecycle are completely independent of one another.
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Each package has an associated namespace. Namespaces of packages at different levels of the

containership hierarchy can have the same name as well. For example, you can have a package named X Chapter 13 - Modeling Behavior Using an Activity Diagram placed within a package namedArchitecture X. The two packages Part V - Modeling the Application are distinct and contain different contents. A package contain itself. Figure 14-1 shows a package X contained within another (different) Chapter 14cannot - Modeling the Application Architecture package Chapter 15X. - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

Figure 14-1: Folder structure in Windows.

Package notation

List of Figures A package is represented by a folder symbol. The name of the package may be placed in the middle of List Tables or in the upper left-hand tab of the package, as shown in Figure 14-2. It is normally placed in theof symbol, List Listings theof tab if you are drawing the contents of the package within the package symbol itself.

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Figure 14-2: Package notation.

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

A package may be stereotyped, in which case the stereotype is listed within guillemets above the package name. A package may also be abstract, which is notated with the word {abstract}, including the curly <?xml version="1.0" encoding="ISO-8859-1"?> brackets, placed below the name. Table of Contents
UML Bible Preface

What a package contains

Part I - An Introduction to UML

A package simply a general grouping mechanism in which you place UML classifiers such as class Chapter 1 - is What Is UML? definitions, definitions, state definitions, relationships between these classifiers, and the Chapter 2 - Use UML Case Architecture
Chapter 3

diagrams on which these classifiers may be represented. There are three types of elements that you can - UML Diagrams and Extension Mechanisms put in a package-elements owned by the package itself, elements merged or imported from another Chapter 4 - Object-Oriented Concepts package, and elements accessed from another package, which basically visit the current package. Merge Part II - Modeling Object Structure and Access relationships between packages are discussed in the next section.
Chapter 5 - Capturing Rules about Objects in a Class Diagram Chapter 6 - How to Capture Rules a about Object Relationships Other packages may exist within package, to an infinite nesting, each package providing a unique Chapter 7 Testing with Objects namespace to all elements within it. A package may also contain multiple diagrams of any and all UML
Part III - Modeling Object Interactions types.

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4


Part IV the - Modeling Object show contents of theBehavior package

- Modeling Interactions in UML 2.0 Notation for showing elements of a package

Chapter 11that - Modeling an Object's Lifecycle in UML 2.0 To show an element belongs to a package, you can create a hyperlink from it to another diagram, and

on that diagram. This is typically how you represent the contents of

Chapter 12 the Use Or, of a you System the draw Use Case Diagram within the large rectangular portion of packages inModeling modeling tools. maywith simply the elements Chapter 13 - Modeling Using an Activity the package symbol,Behavior as shown in Figure 14-3. Diagram An alternative notation is to draw the elements outside the
Part V - Modeling the Application Architecture package symbol, and attach them to it with lines

that are grouped at the package end by a circle with a

plus mark (+) inside, the also shown in Figure 14-3. Chapter 14 Modeling Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - 14-3: UML 1.4 Notation Guide for drawing a package and elements (classes in this example) within it. Figure Various notations Appendix B UML 2.0 Notation Guide The package on the far left has a hyperlink to another diagram (not shown). Appendix C - Standard Elements

Most of the time you will use a modeling tool to draw elements on a diagram that belongs to the package. Glossary Remember that some elements, such as requirements or class attributes or methods, are not represented Index graphically on diagrams. Once drawn on a diagram that is within a package, those elements, including List of Figures other packages, become contained within the package. You are, in essence, creating hyperlinks from a List of Tables package symbol to diagrams created for the package that show the information in the package expressed List of Listings

graphically. As you build diagrams and packages in this fashion, the modeling tool presents the structure < Day Day Up > of your packages in a Windows Explorer-like browser, as shown in Figure 14-4. Each package contains UML elements or definitions, and diagrams of various types on which these definitions may be represented.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure 14-4: Package structure shows the organization of the project.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling Application Architecture Public (+): athe public classifier is visible to

Classifiers contained in a package have a property that establishes whether they are visible to classifiers in other packages. This visibility can either be public or private: classifiers in other packages that have an Access or Merge

Chapter 14 - Modeling the Application Architecture relationship to the package containing the public classifier. It is, of course, visible to other classifiers in

the package in which it resides. Public visibility is denoted by a + (plus) symbol preceding the name of Chapter 15 - Modeling Software Using the Component Diagram the classifier. Chapter 16 - Using Deployment Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Private (- ): a private classifier is visible only to classifiers in the package in which it resides. It is not visible to classifiers in other packages. Private visibility is denoted by a - (minus) symbol preceding the Chapter 18 - Applying Constraints to the UML Diagrams name of the classifier.
Chapter 19 - Action Semantics
Part VIImodeling - Automating the UML Modeling Process Some tools enable you to show or hide

classifiers of a package based on visibility. For example,

Chapter 20 -enable Using ayou Modeling Tool a tool may to turn off display of private classifiers so that only public classifiers are shown in a Chapter 21 - Customizing UML Using Profiles package. Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

Modeling package dependency

Appendix C - Standard Elements As you model, you often build relationships between a classifier in one package and another classifier in a Glossary different package. To model this on a diagram belonging to one of the packages, you need to either

access or import/merge the classifier from the second package. Index


List of Figures

Access List of Tables

List of Listings

When you access a classifier in another package, that classifier stays in its package, and you simply build < Day Day Up > a relationship to it. You draw a classifier in the package in which you are working and show that it belongs to a different package by specifying the name of its package before its name, as PackageName::ClassifierName. As you draw this relationship between the classifiers of the different UML Bible packages, you are also modeling that the source package has an Access relationship to the second, or ISBN:0764526049 target, package. by Tom Pender
John Wiley & Sons 2003 (940 pages)

<?xml version="1.0" encoding="ISO-8859-1"?> Table ofexample Contents In the shown in Figure 14-5, a class Overnight_Shipment of the package Product Orders has an UML Bible association to the class Manager of the Human_Resources package. This association is allowed because Preface an Access relationship has been drawn from the Product Orders package to the Human_Resources
Part I - An Introduction to UML package.

An Access relationship between packages is drawn as provides a dependency line-a dashed arrow with open For beginning to two advanced users, this book arrowhead-labeled with the stereotype access. It establishes the fact that all classifiers in the source comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, shows how to in use UML to improve package can legally reference and public classifiers the target package. It isn't mandatory to draw the timeliness, quality, and before efficiency in draw development. Access relationship between packages you relationships between their classifiers-you can draw the relationship Companion between the classifiers first. Some modeling tools automatically draw the Web Site corresponding Access relationship between the packages after the relationship between the classifiers is drawn.

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - 14-5: Modeling the Use of a System with the Use Diagram to the Manager class of the Figure The Overnight_Shipment class has Case an association Chapter 13 - Modeling Behavior Using an Activity DiagramOrders package has an Access dependency Human_Resources package because its Product
Part V - Modeling the Application Architecture relationship to the Human_Resources package.

Chapter 14 - Modeling the Application Architecture

Note important to remember that for the relationship Chapter 15 It's - Modeling Software Using the Component Diagram between the classifiers to be drawn, the or private) of the classifier Chapter 16 access - Using (public Deployment Diagrams in UML 1.4 in the target package must be sufficient. If it is in a
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

different package, it must have public access.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Actionyou Semantics UML 1.x enables to specify an Import relationship between packages, meaning that you can bring a
Part VII Automating the UML Modeling Process copy of-a classifier from another package into the

Merge and Import

package you are working in. The new copy of the

Chapter 20 classifier - Using a belongs Modelingto Tool imported the package that you imported it into, while its original version still exists in its Chapter - Customizing UML Using Profiles original21 package. Chapter 22 - XML Metadata Interchange

In UML 2.0, the Import relationship Appendix A - UML 1.4 Notation Guide between packages is subsumed in the Merge relationship. Merge takes into account the 2.0 factNotation that youGuide need to resolve name conflicts when importing some classifiers. It specifies Appendix B - UML
Appendix C - Standard Elements

how to handle a situation where you merge in a class named Customer from another package, but your package already contains a class named Customer, with its own set of properties. Merging classifiers from Glossary other packages is an advantageous thing to do. As you and others model, multiple elements of the same Index name that mean the same thing may be created in different packages. Merge enables you to specify that List of Figures these elements get merged into the package that you are working.
List of Tables List of Listings say you are working with the Manager class in the Product Orders package, and there is For example,

another Manager class in the Human_Resources package with its own set of attributes and methods and < Day Day Up > values for other properties. Yet the Manager class is really meant to be the same class in both cases. As you model in the Product Orders package, you may opt to merge the other definition of the Manager class into the package in which you're working, as shown in Figure 14-6.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Structure Figure 14-6:Object Example shows

packages before merge and after merge.

- Capturing Rules about Objects in a Class Diagram

The Manager class in the Human_Resources package has the attributes Name, which is of type character Chapter 6 - How to Capture Rules about Object Relationships and length and with Employee_Number. The Manager class in Product Orders package has a Name Chapter 7 - 26, Testing Objects attribute of type character and length Part III - Modeling Object Interactions 52. When the Human_Resources package is merged into the Product package, the Manager Chapter 8 Orders - Modeling Interactions in UMLclass 1.4 in Product Orders inherits the Position attribute from Human_Resources::Manager. Since it already contains a Name attribute, it overrides the definition of the Chapter 9 - Modeling Interactions in UML 2.0 Name attribute from an theObject's Manager class of Human_Resources package, so its type remains character Chapter 10 - Modeling Lifecycle inthe UML 1.4 of length 52. Although not shown in the figure, each class also has a description tagged value, for which Product Orders::Manager keeps its own value, overriding the description value merged over from the Part IV - Modeling Object Behavior Manager class in Human_Resources.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling of the Application a specialization the Manager Architecture class in the Human_Resources

Chapter 13 -merge Modeling Behavior an Activity Diagram When this takes place,Using the Manager class in the Product Orders package can be considered to be

package. The Manager class inherits the

Chapter 14 - Modeling theand Application Architecture other class's attributes, overrides the types and values of any common attributes. In fact, you can Chapter 15 Modeling Software Using the Component Diagram consider drawing the Merge relationship between two packages as a shortcut way of drawing an Chapter 16 - relationship Using Deployment Diagrams in UML in 1.4 inheritance between the classifier one package and the classifier of the same name that Chapter 17 - Representing an Architecture in UML 2.0 you are merging in from another package.
Part VI - Bringing Rigor to the Model

A Merge between two packages is drawn as a dependency line-a dashed arrow with open Chapter 18relationship - Applying Constraints to the UML Diagrams
Chapter 19 - Action Semantics

arrowhead-labeled with the stereotype merge.

Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

Deleting a package

When you a package, you delete all the elements contained by it that it owns, including nested Chapter 22 -delete XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide

packages and their owned elements. Elements that are "visiting" from another package via an Access relationship are not deleted; they still exist in their owning package. Elements that have been merged in Appendix B - UML 2.0 Notation Guide from an outside package will still exist in their original package. Elements of the deleted package that are Appendix C - Standard Elements being used in other packages, through Access or Merge relationships, are deleted from those packages.
Glossary IndexNote Deleting a diagram does not delete the elements that are represented on the diagram. They will List of Figures still exist in the package. List of Tables List of Listings

The Package diagram

< Day Day Up >

A package can contain any number of diagrams of any UML type. One particular diagram type that has caused some confusion among UML modelers is the Package diagram. In UML 1.x, the Package diagram UML Bible type. It is simply a static diagram, such as the Class diagram, on which you is not specified as a diagram ISBN:0764526049 by Tom Pender draw only packages. UML 2.0 clarifies the issue, specifying a Structure diagram. If you draw mainly John Wiley & Sons 2003 (940 pages) packages on it, you can call it a Package diagram. If you draw mainly classes on it, you refer to it as a beginning to advanced this book provides Class diagram. IfFor you draw Objects on it, it users, is an Object diagram. If you draw a combination of all three, comprehensive coverage of the versatility of 1.4 and 2.0 UML then you can call it what you like. Drawing a Package diagram is optional. You don't need to create a diagram that shows subpackages of a Companion Web Site their containment, or wish to draw relationships between the package unless you explicitly wish to show packages. To express containment of subpackages within a package, you can also simply define these relationships and rely on your modeling tool to reflect the hierarchy of your project's packages in its <?xml version="1.0" encoding="ISO-8859-1"?> browser.Figure 14-7 shows a Class diagram for the package Use Case Model. On the diagram Table of Contents workspace, the subpackages of the Use Case Model package are drawn. Since only packages are drawn, UML Bible you can consider this a Package diagram. The diagram would not normally be necessary because the Preface package hierarchy is shown in the browser at the left. However, in this case, the diagram provides a value Part I - An Introduction to UML add, since it also shows an access relationship between the Product Orders package and the Human Chapter 1 - What Is UML? Resources package.
Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0 specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - 14-7: Modeling an Object's Lifecycle in UML 2.0a Class diagram. It shows all subpackages of a Figure Package diagram is drawn using
Part IV - Modeling Object Behavior package.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

< Day Day Up > Chapter 14 - Modeling the Application Architecture


Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling Subsystems by Tom Pender


ISBN:0764526049

While packages simply provide a general grouping John Wiley & Sons 2003 (940 pages) mechanism, subsystems provide a very specific grouping mechanism. During design, you use subsystems break your models up into manageable For beginning to advanced users, this book to provides pieces. Unlike packages, each subsystem provides behavior that you can denote by specifying interfaces comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows howsubsystem to use UMLperforms to improve to the subsystemspecifications, and the operations that the to support those interfaces.
timeliness, quality, and efficiency in development.

In UML 1.x, a subsystem is a type of package. In UML 2.0, a subsystem is changed to be a type of Companion Web Site component. It is generally modeled as a larger composition than a com-ponent. While a component is physically instantiable, a subsystem is typically abstract (although you can make a subsystem instantiable). <?xml encoding="ISO-8859-1"?> You version="1.0" can specify required and provided interfaces for subsystems that enable you to piece them together. Table Contents stereotype is used for the highest-level component representing a physical system; UML The of subsystem UML Bible does not specify a system stereotype.
Preface

Examples of software to systems Part I - An Introduction UML

are payroll, human resource, order-entry, and reservation systems. Each of these systems is modeled as a component of stereotype subsystem and can be further divided into Chapter 1 - What Is UML? lower-levelsubsystems-for example, subsystems for a reservations system might be Authorization, Credit, Chapter 2 - UML Architecture and Billing. Chapter 3 - UML Diagrams and Extension Mechanisms
Chapter 4 Chapter 5 - Object-Oriented Concepts
Part II - Modeling Object Structure

Subsystem notation

- Capturing Rules about Objects in a Class Diagram In UML61.x, because the subsystem is considered a type of package, its symbol looks like a special type of Chapter - How to Capture Rules about Object Relationships

package Inwith UML 2.0, the subsystem's definition is changed to that of a component, so its symbol Chapter 7 symbol. - Testing Objects is drawn as a special type of component-a Part III - Modeling Object Interactions
Chapter 9

rectangle with stereotype subsystem, or a rectangle with a fork placed in the upper right corner, as shown in Figure 14-8. Chapter 8 - Modeling Interactions in UML 1.4
- Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Figure Alternative subsystem grouping mechanism, which is a stereotype of a Chapter 13 - 14-8: Modeling Behaviornotations Using an for Activity Diagram component UML 2.0. Part V - Modeling in the Application Architecture
Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0

Interface notation

Because a subsystem is a type of component, Part VI - Bringing Rigor to the Model

you can draw provided and required interfaces for it. This enables you to connect subsystems together through a ball-and-socket manner. A provided interface is Chapter 18 - Applying Constraints to the UML Diagrams represented by either drawing an interface lollipop symbol on the subsystem rectangle, or drawing the Chapter 19 - Action Semantics interface as a regular class symbol with an instantiates line (dashed line with open arrowhead) from the Part VII - Automating the UML Modeling Process subsystem to the class. A required interface is drawn as a socket, or lollipop with an open half circle Chapter 20 - Using a Modeling Tool emanating from the subsystem rectangle. Figure 14-9 shows that the Product_Order_System subsystem Chapter 21 - Customizing UML Using Profiles provides an OrderEntry interface, and requires Check_Product_Ship_Status and Check_Client_Credit Chapter 22 - XML Metadata Interchange interfaces.
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure 14-9: Provided and required interfaces of subsystem components can be connected together

in a ball-and-socket-style manner.

< Day Day Up >

Subsystem compartments
UML Bible
ISBN:0764526049 by rectangular Tom Pender subsystem symbol into two compartments, You may divide the one for Specification elements John Wiley Sons 2003 (940 pages) (left compartment), and one&for Realization elements (right compartment).

For beginning to advanced users, this book provides

Specificationcomprehensive elements coverage of the versatility of 1.4 and 2.0 UML


specifications, and shows how to use UML to improve timeliness, quality, and efficiency in elements development. In the specification compartment, you literally draw that specify what the subsystem provides to the outside world in terms of behavior. This is the specification of the subsystem. You can draw any UML Companion Web Site element in this compartment. Typically, use cases and Activity diagram flows are drawn to show the specification for high-level subsystems, and interface classes or State diagrams are drawn to show the <?xml version="1.0" encoding="ISO-8859-1"?> specification for lower-level subsystems. Place a specification stereotype at the top of the compartment. Table of Contents UML Bible Preface

Realization elements
you draw the internal elements that realize the specification elements.

Part I - realization An Introduction to UML In the compartment,

Chapter 1 - What may Is UML? These elements be any UML classifiers. Typically you realize the subsystem with smaller Chapter 2 - UML Architecture subsystems, components, classes, use case realizations, and so forth. You label the compartment at its

top with stereotype. Chapter 3 a realization - UML Diagrams and Extension Mechanisms
Chapter 4 Chapter 5
Part II - Modeling Object Structure

You may optionally draw realizes relationship lines between elements drawn in the realization compartment and the specification compartment.
- Capturing Rules about Objects in a Class Diagram

- Object-Oriented Concepts

Chapter 6 hide - How to Capture about Object Relationships You may either or bothRules compartments if you are presenting the subsystem symbol as an independent Chapter 7 Testing with Objects entity in a drawing. You may also not show the compartments, and instead provide each element drawn in
Part - Modeling Object Interactions the III subsystem rectangle with a specification

or realization stereotype.

Chapter 8

- Modeling Interactions in UML 1.4

Figure 9 14-10 shows a simple example of a subsystem for a product orders system. Use cases and an Chapter - Modeling Interactions in UML 2.0 activity 10 flow are usedan to Object's show the specification of1.4 what the subsystem provides. Portions of a Class Chapter - Modeling Lifecycle in UML diagram, a Use Case realization for Order (oval symbol with dashed outline) are part of the Chapter 11 and - Modeling an Object's Lifecycle in UMLProduct 2.0 realization of the Object subsystem. Provided Part IV - Modeling Behavior and required interfaces are also shown.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Figure Subsystem contains specification and realization compartments. Appendix B - 14-10: UML 2.0 Notation Guide
Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UML Bible Modeling Models by Tom Pender


ISBN:0764526049

The word model John usedWiley in this more specific meaning than the word normally does when &section Sons has 2003 a (940 pages) discussing UML models. Model isadvanced a stereotype that you apply to a package to signify that it is a complete For beginning to users, this book provides view of the system from a particular perspective. A package of model is an overall grouping comprehensive coverage of the versatility of 1.4 stereotype and 2.0 UML specifications, and shows how to use UML to improve of other packages and subsystems used to represent a particular view of a real-world physical system. timeliness, quality, efficiency in development. You can build many model views ofand a physical system, each for a different stakeholder. For example, if you were to create models of a hotel system, you might have a business-model view for Companion Web reservation Site management, a logical-analysis view and a physical-design view for programmers and database analysts, and an implementation view for the information technology (IT) people. Your goal for modeling the <?xml version="1.0" encoding="ISO-8859-1"?> business-model view would be to create a complete representation of the business from a manager's Table of Contents perspective-it would detail the people involved and the business process flows that occurred. However, the UML Bible business-model view wouldn't detail the programming code that ran the applications. That information Preface would be provided in the physical-design view for programmers and database analysts.
Part I - An Introduction to UML

Chapter 1 -compare What Is UML? You could a model view with the various drawings used to architect a building. There are Chapter 2 building - UML Architecture physical blueprints, electrical design schematics, plumbing schematics, and so forth, each

providing model ofExtension the physical building, but a different view. Each view is created for a Chapter 3 a - complete UML Diagrams and Mechanisms different Chapter 4 stakeholder. - Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

A model is drawn as a package symbol with either a model stereotype or a triangle icon in its upper - Capturing Rules about Objects in a Class Diagram right-hand corner, as shown in Figure 14-11.
- How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure 14-11: UML notation for a model is either the model stereotype for a package or the triangular icon on a package.

Chapter 14can - Modeling Application A model contain the other models, Architecture packages, and subsystems. In Figure 14-11, the model for a Product Chapter 15 Modeling Software Using the an Component Company contains a Use Case model, Analysis Diagram View model, a Design View model, and an Chapter 16 - Using Deployment Diagrams in UML 1.4 contains packages or subsystems, which are not Implementation View model. Each of these models Chapter 17 Representing an Architecture in UML 2.0 shown in the figure.
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Part VII - Automating the UML Modeling Process

< Day Day Up >

UML Bible How to Organize Your Packages by Tom Pender


ISBN:0764526049

You categorize models of a & real-life a combination of model packages, subpackages, John Wiley Sons system 2003 (940with pages) subsystems, andFor components. The ways to organize are limitless. The UML specification does beginning to advanced users, this your book work provides not provide a method for categorizing your work. There are a number ofUML published methods you can follow comprehensive coverage of the versatility of 1.4 and 2.0 specifications, and shows howCatalysis, to use UML to improve the ICONIX Unified Object Modeling such as the Rational Unified Process (RUP), Shlaer/Mellor, timeliness, quality,many and efficiency in development. Approach, and others. In addition, organizations have developed their own approaches to categorizing and building models. Companion Web Site As a representative example, this section provides a high-level summarization of the RUP approach to
<?xml version="1.0" encoding="ISO-8859-1"?> organizing your work with packages and subsystems. The RUP offers a step-by-step process for Table of Contents analyzing, designing, implementing, and testing systems to support the processes of a business. This UML Biblefocuses on creating packages for the Use Case, Analysis, and Design models. Creating the section Preface Implementation and Testing models is considered outside the scope of this book.
Part I - An Introduction to UML

Chapter 1 Chapter 2

- What Is UML? Establishing the Models and Views - UML Architecture

Chapter 3 - UML Diagrams and Extension Mechanisms At the highest level, you use models to categorize your business systems. According to RUP, you build Chapter 4to Object-Oriented Concepts models support the following views:
Part II - Modeling Object Structure

Use ModelRules for the Requirements View. Presents the business analysis and contains all of the Chapter 5 Case - Capturing about Objects in a Class Diagram Use describe the about functional requirements of the business domains. Chapter 6 Cases - How that to Capture Rules Object Relationships
Chapter 7 Chapter 8
Part III - Modeling Object Interactions

Analysis Model for the Analysis View. Includes packages containing a mixture of UML diagram types that describe how the systems of the business are logically constructed.
- Modeling Interactions in UML 1.4

- Testing with Objects

Chapter 9 - Modeling Interactions in UMLfor 2.0the Design View. Contains subsystems, components, and Design and Deployment Models Chapter 10 - classes Modeling an Object's Lifecycle in UML 1.4 system. If you are following OMG's Model-Driven design that represent the design of the

Architecture, thean Design Model does in not provide Chapter 11 - Modeling Object's Lifecycle UML 2.0 platform-dependent details. It is a further refinement of -the Analysis Model and differs Part IV Modeling Object Behavior from it in how you name classes (for example, remove embedded spaces from less formal analysis class names), how you structure classes and components Chapter 12 - Modeling the Use of a System with the Useand Case Diagram together to address design constraints. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Implementation Model for the Implementation View. Contains models representing the actual implementation of the systems that support the business. This model also contains the actual code Chapter 15 - Modeling Software Using the Component Diagram and databases that comprise the systems, which means that some of this view is contained outside Chapter 16 - Using Deployment Diagrams in UML 1.4 the modeling tool.
Chapter 14 - Modeling the Application Architecture Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to theTesting Model Testing Model for the

View. Contains the test models for the systems that were built to

Chapter 18 - Applying Constraints the UML support the business. A testto model is aDiagrams collection of test cases, test procedures, and test components

that describe the artifacts of the Implementation Model can be tested to see if they conform to the Chapter 19 - Action how Semantics requirements put forth in Modeling the Use Case Model. Part VII - Automating the UML Process modeling tool. Chapter 20 - Using a Modeling Tool
Chapter 21 - Customizing UML Using Profiles

The Testing Model is generally housed outside of a

Step 1: theInterchange Use Case Chapter 22 Building - XML Metadata


Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

model

You begin the RUP by establishing all of the use cases for your business. The use cases represent the functionality that the systems of the business provide to external customers. You model the use cases in Appendix - Standard Elements terms ofC how the customer, or other external actors, sees the system. You provide a description for each Glossary use case, and in so doing use the language of the customer. This is typically a flat view of the system from Index the customer's perspective. There is no real need for you to group the use cases into packages, since this List of Figures would reflect how the business is arranged, and the customer does not see this.
List of Tables

Step 2: Building List of Listings

the Analysis model

< of Day Day Up will > build it. Instead of using the language of the During analysis you look at the system in terms how you customer, you use the language of the developer. You start analysis by categorizing your use cases into packages that reflect the structure of your business. Reexamine the use cases to add details necessary to actually implement them, and while you are doing so, you find the analysis classes of the system, and their UML Bible relationships to one another. ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) Perform architectural analysis For beginning to advanced users, this book provides comprehensive coverage the versatility of 1.4 andinto 2.0 packages. UML Begin with architectural analysis, whereinof you group the use cases You can physically specifications, and shows how to use UML improve place a copy of all use cases into the Analysis model. Putto use cases that provide related functionalitytimeliness, quality, and efficiency in development.

those that are involved in the same business process, or that communicate with the same actor, or that Companion Web Site or generalization relationships, for example-together in a are related to one another through extend package. Figure 14-12 shows example use cases for a hotel business grouped into packages for Room Reservations, Conference Room Bookings, and Rewards Program Administration. <?xml version="1.0" encoding="ISO-8859-1"?>
Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram

Figure 14-12: Initial packaging of use cases during architectural analysis.

Chapter 16 Using Deployment Diagrams in UML 1.4 Once you establish a first cut of your packages, you refine those packages to make them strongly Chapter 17 Representing an Architecture infine UML 2.0 cohesive and loosely coupled. There is a art to making a system properly cohesive and coupled. You
Part VI - Bringing Rigor to the componentize the system soModel that you

can replace functionality in the future by simply replacing a package.

Chapter 18 a - Applying Constraints the UML Diagrams You build set of packages thatto are coupled together. At the same time, try to make each package Chapter 19 - Action so Semantics strongly cohesive that it doesn't depend on too many other packages. Too many dependencies means
Part - Automating UML Modeling Process thatVII a change to onethe package will ripple to any package

that depends on it.

Chapter 20 - Using a Modeling Tool

There are three techniques for refining packages. First, examine the packages to see if there are use cases or classes that exist in multiple packages. If there are, think about reducing this commonality by Chapter 22 - XML Metadata Interchange breaking those use cases out into their own package. This loosens the coupling of the packages and helps Appendix A - UML 1.4 Notation Guide keep future changes localized to one package.
Chapter 21 - Customizing UML Using Profiles Appendix B - UML 2.0 Notation Guide Appendix - Standard Elements Second,C see if there are any packages with use cases that perform a basic service to other packages. Glossary These are considered service packages. You may have a use case with associated classes in one Index package that works together with a use case and associated classes in another package to perform a

service. Group these use cases together in one package and let other packages use its services. In the List of Figures hotel example shown in Figure 14-3, the Accounts Payable package includes the use cases Check List of Tables Customer Credit and Invoice Corporate Client. It is a service package. Creating service packages is List of Listings

another way to loosen the coupling of packages to provide reuse and localize future changes. < Day Day Up > Third, evaluate the dependencies between packages. Keep package dependencies at a minimum, so that a change to the functionality of a package doesn't require that changes be made to dependent packages. If a package has UML use cases Bible that are more strongly related to use cases in another package than the ones in their own package, move those use cases to that package. This improves cohesiveness. Aim for ISBN:0764526049 by Tom Pender cohesive packages in which the use cases are strongly related. John Wiley & Sons 2003 (940 pages) During architectural analysis, you also examine the system for special requirements, which encompass comprehensive coverage of the versatility of 1.4 and 2.0 UML features like on-line security, distribution theto application, of classes, and transaction specifications, and showsof how use UML topersistence improve timeliness, quality, efficiency development. management. Create packages for and each of thesein special requirements. In Figure 14-13, packages for database access andCompanion on-line security are added. Web Site
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

For beginning to advanced users, this book provides

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Figure Regrouped packages. Analyze use cases. Chapter 13 - 14-13: Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

During 14 this of the examine each use case to determine how it will be realized. Examine each Chapter - stage Modeling theRUP, Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram

use case description with an eye on modifying it to add details that are necessary to implement it, using the language of the developer. A use case that has been modified in this way is referred to as a use case Chapter 16 - Using Deployment Diagrams in UML 1.4 realization and is often denoted by changing the use case's look to that of a dashed oval. Then "walk" Chapter 17 - Representing an Architecture in UML 2.0 each use case description, and model the analysis classes necessary to make the scenario happen, Part VI - Bringing Rigor to the Model developing boundary, entity, and control classes on a class diagram for each use case. This is sometimes Chapter 18 - Applying Constraints to the UML Diagrams referred to as robustness analysis.
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process CrossTable 21-1 in Chapter 21

provides more information on the UML Profile for Business

Chapter 20 - Using a Modeling Tool Reference Modeling, and use of boundary, control, and entity classes. Chapter 21 - Customizing UML Using Profiles

The ICONIX Unified Modeling Approach can be used in conjunction with RUP at this point. The ICONIX Chapter 22 - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide

approach adds some important constraints to remember during this analysis that will help you understand the problem at hand: An actor (drawn as a stick figure) can only talk to a boundary class (drawn as a circle Appendix B - UML 2.0 Notation Guide with a vertical bar attached to its left side). A boundary class can only talk to an actor or control class Appendix C - Standard Elements (drawn as a circle with an arrow drawn in its upper right corner), not directly to an entity class (drawn as a Glossary circle sitting on a horizontal bar). An entity class can only talk to a control class. Figure 14-14 shows some Index of the analysis classes found by walking the use cases in the Room Reservations, Conference Room List of Figures Bookings, Rewards Program Administration, and Accounts Payable packages.
List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure 14-14: Robustness analysis yields analysis classes.


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Analyze classes

Preface Analyze each class modeled to determine its responsibilities to the system, its attributes, and its
Part I - An Introduction to UML relationships to other classes.

Refine your models by adding this information to them. Build associations

Chapter 1 classes - What and Is UML? between add generalization relationships. Chapter 2 - UML Architecture

Refine3 analysis packages Chapter - UML Diagrams and Extension Mechanisms


Chapter 4

Finally, reanalyze your analysis packages to ensure they are as cohesive and loosely coupled as possible. If there are any classes that perform most of their duties in a different package than the one they are in, Chapter 5 - Capturing Rules about Objects in a Class Diagram move them to that package. In the hotel example, the classes in the Conference Room Bookings package Chapter 6 - How to Capture Rules about Object Relationships are highly dependent on the Room Reservations package. There is no real reason why we need a Chapter 7 - Testing with Objects Conference Room Bookings package. To reduce dependencies and make the Room Reservations Part III - Modeling Object Interactions package more cohesive, we eliminate the Conference Room Bookings package and move its classes to Chapter 8 Modeling Interactions inas UML 1.4 in Figure 14-15. This figure shows the classes in their regular, the Room Reservations package, shown Chapter 9 - Modeling Interactions UML 2.0 rectangular form, rather than the in iconized form based on their stereotype shown in the previous figure.
Part II - Modeling Object Structure

- Object-Oriented Concepts

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Figure Analysis for hotel. Appendix A - 14-15: UML 1.4 Notationpackages Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary

Step 3: Building the Design model

Index After analysis, you move on to design, during which you group design use cases and classes into List of Figures The design subsystems are grouped into a Design View model, which, as you saw earlier in subsystems. List of Tables is a package of stereotype model. this section, List of Listings

Perform architectural design

< Day Day Up >

As a first step to architectural design, create a subsystem that corresponds to each analysis package. Then, refine those subsystems. One technique for refining the subsystems is to establish the physical machines, or nodes, and network ISBN:0764526049 by Tom Pender configurations on which the systems will run. Use UML Deployment diagrams to model a first cut of the John Wiley & Sons 2003 (940 pages) configurations, and then map subsystems against the nodes on which they will run.
UML Bible

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML In the hotel example, the Room Reservations system can be broken out onto the client machine and a specifications, and shows how to use UML to improve dedicated Web server, so break it into subsystems: Reservations UI, which resides on the client, and timeliness, quality, andtwo efficiency in development.

Reservations System, which resides on the Web server. This is shown in Figure 14-16. I also break up the Companion Web Site Accounts Payable subsystem, since it becomes obvious at this point that Credit_Card_Account and related classes will exist on external bank servers, while Corporate_Account is located in a subsystem housed locally, probably on the Web server. <?xml version="1.0" encoding="ISO-8859-1"?>
Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4


Part IV - Modeling Object Behavior system will reside on a Back Office

Figure 14-16: Mapping subsystems against physical deployment nodes.

Chapter 11 - Modeling an Administration Object's Lifecycle in UML 2.0 The Rewards Program system will also reside on the Web server. The Database Access

server. We don't need to make specific decisions about the database

Chapter - Modeling the Use Oracle, of a System with or the Use Case Diagram brand, 12 such as SQL Server, or DB2, about the implementation language or middleware of the Chapter 13 - Modeling an Activity Diagram system, such as JDKBehavior or .NET,Using at this point. These choices are made later during implementation. In
Part V - Modeling the Applicationanalysis Architecture following the MDA philosophy, and

design models are kept independent of technology choices.

Chapter 14 - Modeling the Application Architecture

Once the cut of subsystems is established, youDiagram loosely set up how the subsystems are connected Chapter 15 first - Modeling Software Using the Component together dependency lines. Chapter 16using - Using Deployment Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

You then add design details to each subsystem. Start by using UML notation to divide each subsystem into a specification and a realization compartment. Fill in the specification compartment by modeling Chapter 18subsystem - Applying should Constraints to the UML Diagrams what the provide. You can use various UML artifacts, although Use Cases, Activity Chapter 19flows, - Action Semantics diagram and interfaces are typically used. Then denote how the specification is fulfilled by adding Part VII to - Automating the UML Modeling Process details the realization compartment.
Chapter 20 - Using a Modeling Tool

Design use cases Chapter 21 - Customizing UML Using Profiles


Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Just as you walked the Use Cases during analysis to find analysis classes, now walk the Use Cases in each subsystem to establish the design classes necessary for it to work. During this phase, pay particular Appendix B - UML 2.0 Notation Guide attention to how the Use Case will be implemented in a physical system. Use the classes established Appendix C - Standard Elements during analysis as a guide to creating the design classes. Be sure to remove embedded spaces in class Glossary names, because most programming languages do not support them (even though, at this point, you are Index not necessarily specifying a programming language). Use Sequence and Collaboration diagrams to get a List of Figures better understanding of how the objects of classes interact. As you establish the design classes, place List of Tables them in the realization compartment. These are the classes that implement the subsystem specification.
List of Listings

A subsystem is a type of component. As such, it contains functionality that is presented to the outside < Day Day Up > world in the form of one or more interfaces. Examine each subsystem to establish its interfaces. For the hotel business example, I use Use Cases to show the specification of each subsystem, and the classes that implement those specifications in each subsystem's realization compartment, as shown in UML Bible Figure 14-17, and begin the interfaces of each subsystem as a lollipop symbol emanating ISBN:0764526049 by Tom establishing Pender from each subsystem symbol. John Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

- Object-Oriented Concepts Figure 14-17: Hotel reservation subsystem with specification and realization compartments and interfaces. - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

Design Chapter 7classes - Testing with Objects


Part III - Modeling Object Interactions

To continue with design, identify each class's operations, attributes, and relationships to other classes. - Modeling Interactions in UML 1.4 During this stage, model aggregations and inheritance. You may use State diagrams to model classes with Chapter 9 - Modeling Interactions in UML 2.0 interesting dynamic behavior.
Chapter 8 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter - Modeling an Object's Lifecycle in UML 2.0 Refine11 subsystems
Part IV - Modeling Object Behavior

Toward the end of design, take another the subsystems to see if they can be refined, so that they Chapter 12 - Modeling the Use of a Systemlook with at the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram Chapter 14 - Modeling the Application Architecture

are as cohesive and loosely coupled as possible. Inspect each subsystem to see if it is as independent as possible of other subsystems and that it provides the functionality denoted in its specification Part V - Modeling the Application Architecture compartment.
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model system. You specify these details using

Step 4: Building the Implementation model

Chapter 17 - Representing anto Architecture in UMLduring 2.0 After design, you move on implementation, which you specify platform-dependent details of the

Component and Deployment diagrams, and group the artifacts in

Chapter 18 - Applying Constraints to the 15 UML Diagrams an Implementation model. (Chapters and 16 provide more details on Component and Deployment Chapter 19 - Action Semantics diagrams.)
Part VII - Automating the UML Modeling Process

Step 5: the Testing Chapter 20 Building - Using a Modeling Tool


Chapter 22 - XML Metadata Interchange

model

Chapter 21 - Customizing UML Using Profiles

You build the Testing model by creating test cases that specify what to test, and test procedures that specify how to test the systems you are implementing. The test cases are derived from the use cases of Appendix A - UML 1.4 Notation Guide the Use Case model and use case realizations of the Design model. These test cases, test procedures, Appendix B - UML 2.0 Notation Guide and corresponding test results are performed and housed outside of a modeling tool, but can be traced Appendix C - Standard Elements back to the models. An in-depth discussion of testing is outside the scope of this chapter.
Glossary Index

List of Figures List of Tables

Overall Hierarchy of Models


In the example in this section, I have presented all artifacts drawn within package or subsystem symbols. If

List of Listings

I were using a modeling tool, I would create my model, package, and subsystem hierarchy in a browser, < Day Day Up > and create various diagrams for each package or subsystem. On each diagram's drawing space, I would create the models shown earlier in this section. Figure 14-18 shows what the hierarchy of the hotel business would look like. I have created four models-Use Case model, Analysis View model, Design View UML Bible View model. Each model is a complete representation of the system from a model, and Implementation ISBN:0764526049 by Within Tom Pender different viewpoint. each model, the artifacts are organized by packages or subsystems.
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure 14-18: Overall model, package, and subsystem structure of the hotel example. Chapter 9 - Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

< Day Day Up > Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

In this chapter, you learned that John Wiley & Sons 2003 (940 pages) The package is the main construct inof UML grouping model comprehensive coverage the for versatility of 1.4 andartifacts. 2.0 UML It enables you to organize elements by specifications, grouping them and placing them into a container. and shows how to use UML to improve
timeliness, quality, and efficiency in development. For beginning to advanced users, this book provides

A package provides exactly the same functionality as a folder in Windows Explorer.


Companion Web Site

A package provides a namespace for classifiers that you place in the package. This includes packages themselves-a package can contain other packages in a nested hierarchy. <?xml version="1.0" encoding="ISO-8859-1"?>
Table of Contents UML Bible

A package cannot contain itself.

Preface A package may also contain multiple diagrams of any and all UML types.
Part I - An Introduction to UML

A package is Is represented by a folder symbol. The name of the package may be placed in the middle Chapter 1 - What UML? of the symbol, or in the upper-left tab of the package. Chapter 2 UML Architecture
Chapter 3 Chapter 4

There are a number of ways to show that an element belongs to a package: draw the elements within - Object-Oriented Concepts the large rectangular portion of the package symbol; draw the elements outside the package symbol Part II - Modeling Object Structure and attach them to it with lines that are grouped at the package end by a circle with a + mark inside it; Chapter 5 - Capturing about Objects in a Class Diagram symbol. or draw elementsRules on a diagram attached to a package
Chapter 6 - How to Capture Rules about Object Relationships Classifiers have a visibility Chapter 7 - Testing with Objectsproperty that establishes whether they are visible to classifiers in other

- UML Diagrams and Extension Mechanisms

packages. Visibility either be Part III - Modeling Objectcan Interactions


Chapter 8 Chapter 9

public or private.

When you build relationships between a classifier in one package (the source) and a classifier in - Modeling Interactions in UML 2.0 another package (the target), the packages themselves have a relationship between them. This is Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 either an Access or a Merge dependency.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Objecta Behavior When you access classifier

- Modeling Interactions in UML 1.4

in another package, that classifier stays in its package, and you simply

Chapter 12 a - relationship Modeling theto Use of a System with the Use Case Diagram build it. You draw the second classifier in the package in which you are working, and Chapter 13 that - Modeling Behavior Using anpackage Activity Diagram show it belongs to a different by specifying the name of its package before its name:
Part V - Modeling the Application Architecture PackageName::ClassifierName.

Chapter 14 - Modeling the Application Architecture

A merge relationship between (source) and another package (target) enables you to Chapter 15 - Modeling Software Usingone the package Component Diagram import a copy of all classifiers in the target package into the source package. The new copy of an imported classifier in the source package belongs to the source package (and has its namespace Chapter 17 - Representing an Architecture in UML 2.0 specified by it). The original version still exists in the original, target package.
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 18import - Applying Constraints to the UML Diagrams The relationship between packages specified in UML 1.x is subsumed by the merge Chapter 19 - Action Semantics relationship between packages in UML 2.0.
Part VII - Automating the UML Modeling Process

When delete a package, Chapter 20 -you Using a Modeling Tool you delete all the elements contained by it that it owns, including nested packages and their UML owned elements. Chapter 21 - Customizing Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

A Package diagram is a static-type diagram, such as the Class diagram, on which you draw only packages.

Appendix C - Standard Subsystems are Elements a grouping mechanism used during design. A subsystem is drawn as a rectangle with Glossary a fork icon in the upper-right corner. Index List of Figures List of Tables

In UML 1.x, a subsystem is a type of package. In UML 2.0, a subsystem is changed to be a type of component. You may specify required and provided interfaces for it.

List ofYou Listings may divide the rectangular subsystem symbol into two compartments, one for Specification

elements (left compartment), and one for< Realization elements (right compartment). Day Day Up > A model is an overall grouping of packages and subsystems to represent a view of a physical system. A model is drawn as a package with a triangle icon in the upper-right corner. A model presents a complete view of a system.
UML Bible
ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) There are an infinite number of ways to organize the material within packages. The UML specification For beginning to advanced users, this work. book provides does not provide a method for categorizing your There are a number of published methods you comprehensive coverage of the versatility of 1.4 and 2.0 UML can follow such as the Rational Unified Process (RUP), Catalysis, Shlaer/Mellor, the ICONIX Unified specifications, and shows how to use UML to improve Object Modeling Approach, and others. timeliness, quality, and efficiency in development.

Companion Web Site

< Day Day Up >


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Chapter UML 15:Bible Modeling Software ISBN:0764526049 Using the Component by Tom Pender Diagram John Wiley & Sons 2003 (940 pages)
Overview
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Once the logical design is completed using the Use Case, Class, and Interaction diagrams, the next step is Companion Web Site to define the physical implementation of your design. The physical implementation must address three issues:
<?xml version="1.0" encoding="ISO-8859-1"?> 1. The physical description of the software. The Component diagram models the physical Table of Contents UML Bible

implementation of the software specified by the logical requirements in Class diagram. the hardware.

Preface 2. The layout of the hardware. The Deployment diagram (discussed in Chapter 16) models the
Part I - An Introduction to UML physical architecture of

Chapter 1

- What Is UML?

3. The of the software and the hardware. The combined Deployment and Component Chapter 2 - integration UML Architecture (covered and in Chapter 17) model the integration and distribution of the software across the Chapter diagrams 3 - UML Diagrams Extension Mechanisms
Chapter hardware. 4 - Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5 Chapter 6

Classes describe the logical organization and intent of your software design. Components describe the - Capturing Rules about Objects in a Class Diagram physical implementations of your software design.
- How to Capture Rules about Object Relationships

Chapter 7 - Testing Objects diagram is to define physical software modules and their relationships to The purpose of the with Component
Part - Modeling Object Interactions oneIII another. Doing so provides a means

of defining software as a set of modular, and interchangeable,

units that be assembled to create successively larger modular, and interchangeable, units. Chapter 8 may - Modeling Interactions in UML 1.4 Components may represent anything from Chapter 9 - Modeling Interactions in UML 2.0 a single class to applications, subsystems, and systems.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

A Component diagram may be used to illustrate the relationship between the classes that specify the requirements for the component, and the artifacts that implement the component. The artifacts may be Part IV - Modeling Object Behavior any type of code that can reside in any type of memory-source code, binary files, scripts, executable files, Chapter 12 - Modeling the Use of a System with the Use Case Diagram databases, or applications.
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part Vrelationship - Modeling the Application Architecture The between a component and

an artifact can be confusing. The component is a definition of

Chapter 14 - Modeling the Application Architecture atype of physical implementation. An artifact is the actual implementation. The same component notation Chapter 15 - Modeling Software the too. Component Diagram may be used to represent the Using artifacts, Chapter 16 - Using Deployment Diagrams in UML 1.4

CrossChapter 1 describes Model Driven Architecture (MDA), which attempts to describe a Reference system independent from its implementation. This enables the same set of Part VI - Bringing Rigor to the Model requirements, that is the same type of component , to be implemented in any number of Chapter 18 - Applying Constraints to the UML Diagrams different technologies, that is, in any number of different physical artifacts.
Chapter 17 - Representing an Architecture in UML 2.0 Chapter 19 - Action Semantics
Part VII - Automating thedefine UML Modeling Process Each component must one or more interfaces

that allow other components to communicate with it.

Chapter 20 - Using afor Modeling Tool implementation of the component are specified by classes. The actual The requirements the internal Chapter 21 - Customizing UML Using implementation is encapsulated in Profiles the artifact that implements it-for example, Java classes, HTML, and Chapter XML. 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

ArtifactsB are sometimes grouped into three broad categories: Appendix - UML 2.0 Notation Guide
Appendix C - Standard Elements Glossary Java Virtual Machines (JVM), and Database Management Systems (DBMS). Index

Deployment components, which are required to run the system. Examples include operating systems,

product components, including models, source code, and data files used to create deployment List ofWork Figures Examples include the UML diagrams, Java class and JAR files, dynamic link libraries List ofcomponents. Tables and database tables. List of(DLL), Listings

Execution components, which are components while running the application. Examples < Day created Day Up > include Enterprise Java Beans, Servlets, HTML and XML documents, COM+ and .NET components, and CORBA components.
UML Bible Dependencies represent the types of relationships that exist between components on a Component ISBN:0764526049 by Tom Pender diagram. For example, John Wiley & Sons 2003 (940 pages)

A component depends on to the classes users, that reside within it to specify the behavior of the component. For beginning advanced this book provides A component depends on the used implement it. specifications, and artifacts shows how to to use UML to improve
timeliness, quality, and efficiency in development. Companion Web Site comprehensive coverage of the versatility of 1.4 and 2.0 UML

Components depend on one another for functionality and for information. The Component diagram components, component interfaces, and dependencies to specify the requirements for the physical implementation of your system in terms of the software modules and the <?xml version="1.0" encoding="ISO-8859-1"?> relationships among them. Table of Contents
UML Bible Preface
Part I - An Introduction to UML

Modeling Business Processes

Component and Deployment diagrams may also be used to model business systems, including

Chapter 1 - What Is UML? completely manual processes. When used for this purpose, the components represent business Chapter 2 - UML Architecture processes (such as signing up a new agent, or placing an order) and the products of those processes Chapter 3 UML Diagrams Extension Mechanisms (such as contracts, or and payments and receipts). The nodes from the Deployment diagram represent Chapter 4 - Object-Oriented Concepts business units (departments, teams, and subsidiaries, for example) or business resources (such as a
Part II - Modeling a Object Structure warehouse, manufacturing

facility, or an office in which the business departments reside).

Chapter 5 Chapter 6 Chapter 7

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Figures 15-1 and 15-2 contrast the metamodels from UML 1.4 and UML 2.0. Figure 15-1 shows that a component specializes Classifier. In Figure 15-2, component specializes Class, which extensively Chapter 8 - Modeling Interactions in UML 1.4 redefines the properties of a component. The significance of this change is addressed in the section Chapter 9 - Modeling Interactions in UML 2.0 "Modeling the Component Diagram in UML 2.0."
Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure 15-1: UML 1.4 metamodel for components. OMG 1.4

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram

Part II - Modeling Object Structure

Figure 15-2: UML 2.0 metamodels for components. - How to Capture Rules about Object Relationships

Testing with Objects In addition-to refining the containment properties of a component, UML 2.0 adds some significant new details regarding connectors and interfaces. The second portion of this chapter explains the new features Chapter 8 - in Modeling in UML 1.4 highlighted Figure Interactions 15-2.
Part III - Modeling Object Interactions

Chapter 9

- Modeling Interactions in UML 2.0 As you 10 can from an the figures,Lifecycle the changes between UML 1.4 and UML 2.0 are significant. So this Chapter - see Modeling Object's in UML 1.4

chapter starts with an explanation of the Component Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 diagram as defined and illustrated by UML 1.4. It then explains the UMLObject 2.0 version while Part IV - Modeling Behavior highlighting the changes. (If you prefer, you can skip straight to the latter portion to review the descriptions ofwith the the changes.) The following is a summary of the changes that Chapter 12 - Modeling the Use of a System Use Case Diagram are covered. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

UML 1.4 defined a component as a subclass of Classifier. UML 2.0 defines a component as a subclass of Class. This means that a component may now have attributes and methods, as well an Chapter 15 - Modeling Software Using the Component Diagram internal structure and ports.
Chapter 14 - Modeling the Application Architecture Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to of the Model the explicit mapping published

Chapter 17addition - Representing Architecture in that UMLformalize 2.0 The of portsan and connectors the interaction points on a component, as well as

interfaces and internal implementation mechanisms.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

A change in the component icon to resolve some longstanding difficulties. The addition of the UML 2.0 definitions of interfaces and ports.

Chapter 20 - Using a Modeling Tool

Chapter 21addition - Customizing UML Using Profiles notation for modeling components. The of a white-box alternative Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

The addition of Realizations, which define a set of classifiers (behaviors, features, or classes, for example) that provide the implementation for a component.

Appendix - Standard Elements which map the relationships between interfaces. TheC addition of connectors, Glossary Index The addition of PackagingComponents that more precisely define the relationship between the List ofelements Figures within a component that provide the implementation for its interfaces. This concept replaces

UML 1.4 association with the generic ModelElement. List ofthe Tables
List of Listings

< < Day Day Day Day Up Up > >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling the Component Diagram in UML 1.4 by Tom Pender
ISBN:0764526049

Acomponent is a John type Wiley of container. As such itpages) does not have features of its own, but contains classes that & Sons 2003 (940 define the features. component provides users, an encapsulated view of the functionality defined by the ForA beginning to advanced this book provides contained classes. The express purpose of such a representation is2.0 to support a component-based comprehensive coverage the versatility of 1.4 and UML specifications, and shows how to use to improve approach to constructing software. That is, each unit UML of software should be able to stand in isolation, be timeliness, quality, and efficiency in development. reusable and replaceable. In fact, since a component is defined as a container, a component may define more than one implementation. For example, a component could represent an application to place an order at the <?xml version="1.0" encoding="ISO-8859-1"?> theater. But over time the configuration of classes within the component may change, as long as they still Table of Contents support the interfaces provided by the component.
UML Bible Companion Web Site

The key to the capability to replace components is following the rules for encapsulation, that is to say, limit Preface the I definition of the component Part - An Introduction to UML to an explanation of its purpose and interface. This technique is comparable to the encapsulation of methods. While a method provides the means to receive input and Chapter 1 - What Is UML? generate output, the mechanisms it uses to do so are hidden behind the object interface, that is, the Chapter 2 - UML Architecture operation signature. The interfaces provided by the component expose one or more of the interfaces of Chapter 3 - UML Diagrams and Extension Mechanisms the contained classes. The difference is that other components do not have direct access to the contained Chapter 4 - Object-Oriented Concepts interfaces, so developers have the freedom to alter the internal design, including replacing internal Part II - Modeling Object Structure classes, without disrupting the other components that depend on the altered component.
Chapter 5 - Capturing Rules about Objects in a Class Diagram Chapter 6A How to Capture about Object Relationships Tip component does Rules not necessarily expose all the interfaces of the contained classes. Some of the Chapter 7interfaces - Testingare with Objects only used for communication between the contained classes.
Part III - Modeling Object Interactions

Tip way in which the component exposes the interfaces may vary. The component can aggregate Chapter 8The - Modeling Interactions in UML 1.4 level interfaces. For Chapter 9class - Modeling Interactions inexample, UML 2.0 the contained classes can offer five interfaces to change and order, but the component might offer a single interface called something like "ChangeOrder". Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

It is important to note that the Component diagram is only a specification. There are no instances on this diagram. In this respect it is very much like a Class diagram. To model instances of components that Chapter 12 - Modeling the Use of a System with the Use Case Diagram represent the execution of the application, use the combined Component and Deployment diagram, Chapter 13 Using an Activity Diagram described inModeling ChapterBehavior 17.
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Modeling components

Chapter 17 -component Representing an Architecture in UML 2.0 edge. The name is placed inside the icon, as shown in Figure 15-3. Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

A UML 1.4 component icon is modeled as a rectangle with two smaller rectangles centered on the left

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - 15-3: UML 2.0 Notation Guide Figure Component icon and name. Appendix C - Standard Elements

Note The component icon is one of the big changes between UML 1.4 and UML 2.0. The UML 2.0 Glossary icon is very different. The two small rectangles are left over from an old notation that used to put the component interfaces in the rectangles. They don't really serve any purpose any more other List of Figures than to describe a unique icon. This is the primary reason behind the change in UML 2.0. List of Tables
Index List of Listings

Component stereotypes

< Day Day Up >

Component stereotypes provide visual clues to the role that the component plays in the architecture. Component stereotypes refer to types of artifacts (source code, binary files, databases, and so forth) used Bible to implement theUML features of the component, and to types of components-EJB, CORBA, COM+, and .NET, ISBN:0764526049 by Tom Pender for example. Some common general component stereotypes are listed here. Other more specific types John Wiley & Sons 2003 (940 pages) that refine these more general stereotypes are also frequently used. I'll use some of these more specific For beginning to advanced users, this book provides types in the examples that follow.
comprehensive coverage of the versatility of 1.4 and 2.0 UML timeliness, quality, and efficiency in development. specifications, and shows to use UML to improve executable: A component that runshow on a processor.

library: A set of resources Web referenced by an executable during runtime. Companion Site table: A database component accessed by an executable.
<?xml version="1.0" encoding="ISO-8859-1"?> file: Typically represents data or source code. Table of Contents UML Bible Preface

document: A document such as a Web page. more specific stereotype, EJBEntity, to the performance component.
- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part I - An Introduction to UML Figure 15-4 adds yet another,

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

Part II - Modeling Object Structure

Part III - Modeling Interactions Figure 15-4: Object Component stereotype.

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Modeling component interfaces

A component interface be modeled Part IV - Modeling Object may Behavior

in either of two ways. One way is to use a class, with the

stereotype the component with a realization Chapter 12 -interface, Modeling theattached Use of a to System with the Use Case Diagram arrow, as shown in Figure 15-5. The realization looks like the generalization Chapter 13 -arrow Modeling Behavior Using an Activity symbol, Diagrambut with a dashed line instead of a solid line. To realize the interface means to implement it as part Part V - Modeling the Application Architecture of the component (or whatever is realizing the item). For example, in Figure 15-5, the PerformanceEJB component incorporates the interface to display a Chapter 14 - Modeling the Application Architecture seating chart into its design. This assumes that the component contains the behaviors needed to support Chapter 15 - Modeling Software Using the Component Diagram the interface. How these behaviors become part of the component will be explained very shortly. Chapter 16 - Using Deployment Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles

Figure 15-5: Interface notation using a class and stereotype.

Chapter 22 -more XML Metadata Interchange A second, common, technique is to use a "lollipop" attached to the component with a solid line. The Appendix A - UML 1.4 Notation show Guide a very small circle on the end of the lollipop. This is a bit distorted from UML specification examples Appendix B -notation UML 2.0employed Notation Guide the typical by modeling tools. Figure 15-6 models two representations of the lollipop Appendix Cicon. - Standard Elements interface Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Figure 15-6: Interface notation using the lollipop. Table of Contents UML Bible The interface implemented by a component is actually defined by the classes within the component. So Preface the interface should already have been defined in your Class diagrams. Also, a component may
Part I - An Introduction to UML implement as many interfaces

as it requires-the number and exact type are dictated by the classes

Chapter 1 - What Is UML? implemented by the component. Chapter 2 Chapter 4 - UML Architecture Figure 3 15-7 adds the client application that manages the user interface for placing an order. Chapter - UML Diagrams and Extension Mechanisms

PerformanceEJB provides the DisplaySC interface. The user interface application, SeatingChartUI, - Object-Oriented Concepts accesses the PerformanceEJB using the DisplaySC interface. This access is modeled as a dependency Part II - Modeling Object Structure from SeatingChartUI to the DisplaySC lollipop-style interface to illustrate that the SeatingChartUI will not Chapter 5 - Capturing Rules about Objects in a Class Diagram work properly unless it can access the performance through the DisplaySC interface.
Chapter 6 Chapter 7 Chapter 8 Chapter 9 - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure 15-7: Depending on access to a component's interface.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Modeling component dependencies

Dependencies between components are drawn with the dashed arrow from the dependent component, to

Chapter 14 - Modeling the help Application Architecture the component it needs from. In Chapter 14, you learned that package dependencies could be Chapter 15 Modeling Software Using thedependency. Component Diagram stereotyped to clarify the nature of the The same is true for component dependencies. In Chapter 16 Using Deployment Diagrams in UML 1.4 Figure 15-8, the PerformanceJAR file depends on the PerformanceEJB component. The UML stereotype Chapter 17 - Representing an Architecture in UMLfile 2.0literally becomes the PerformanceEJB executable at becomes means that the PerformanceJAR
Part VI - Bringing Rigor to the runtime. PerformanceJAR is Model the code

sitting on a storage device. At runtime it is loaded into memory.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - 15-8: XML Metadata Interchange Figure Component dependencies and dependency stereotypes. Appendix A - UML 1.4 Notation Guide

ThenextB section contains a few more examples of dependencies used to map the component design to Appendix - UML 2.0 Notation Guide the classes that specify its behavior and the artifacts that it implements. Appendix C - Standard Elements
Glossary Index

Mapping the logical design to the physical implementation

List of Figures

Specifying List of Tablesa component using classes involves choices about how to assemble these classes into cohesive units. Figure 15-9 shows the component that describes a performance at the theater, List of Listings

PerformanceEJB, which implements the classes that define a performance - Performance, SeatingChart, < Day Day Up > and ShowSeat - and their associations.

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1

Figure 15-9: A component implements artifacts and is specified by classes.


- What Is UML?

Chapter 2 - UML Architecture The reside dependency identifies the fact that the class resides within the component, and specifies the Chapter 3 of - the UMLcomponent. Diagrams and Extension Mechanisms behavior So, for example, when an interface is accessed on the component, the Chapter 4 - Object-Oriented Concepts component actually forwards the invocation to the corresponding interface on one of the resident classes.
Part II - Modeling Object Structure

This again the about benefit of defining components. Chapter 5 -emphasizes Capturing Rules Objects in a Class Diagram External components do not need to know
Chapter 6

whether the invocation was forwarded to the performance class or some other class within the component. - How to Capture Rules about Object Relationships The PerformanceEJB component is responsible for delegating the invocation properly based on what it Chapter 7 - Testing with Objects knows about the resident classes and their interfaces.
Part III - Modeling Object Interactions

Chapter 8 - Modeling Interactions in UML 1.4 The implement dependency identifies the artifact that is implemented when the component executes. In Chapter - Modeling in UML 2.0 Figure 9 15-9, the JARInteractions file called PerformanceJAR is unpacked and executed as PerformanceEJB. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

The reside dependency may be modeled in another way that more explicitly illustrates that the residing Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 classes are encapsulated inside the Part IV - Modeling Object Behavior component. Figure 15-10 models the Performance component containing the classes SeatingChart, Performance, and ShowSeat. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - 15-10: Standard Elements Figure A component containing classes. Glossary

In the same manner, the component may physically contain the artifacts that it implements. Note that the Index PerformanceJAR file also resides within the component icon in Figure 15-10. List of Figures
List of Tables List of Listings

The interfaces of the classes in the component define the interface of the component. There need not be

a one-to-one correlation, but the component has to provide access to all of the functionality specified by < Day Day Up > the residing classes. Figure 15-11 models the performance component's interfaces, DisplaySC, SelectSS, PriceSS, and PurchaseSS. These interfaces are derived from the interfaces found on the seating chart and performance classes. When the DisplaySC component interface is invoked from the user interface, UML Bible the component delegates the invocations to the SeatingChart interface DisplaySC, which in turn calls the ISBN:0764526049 Pender GetPerf interfaceby onTom the performance class, and so on.
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

Figure The relationship between interfaces and the interfaces of resident classes. Chapter 5 - 15-11: Capturing Rules about Objects in acomponent Class Diagram
Chapter 6 Chapter 7

Note Figure 15-11 required me to use some implied relationships, specifically the delegation path. - Testing with Objects This is one of the issues addressed by the addition of ports in UML 2.0. Ports allow you to Part III - Modeling Object Interactions explicitly model the delegation paths from the external interface of the component to the internal Chapter 8 interface - Modeling in UML 1.4 ofInteractions the resident classes.
Chapter 9 - Modeling Interactions in UML 2.0 Finally,10 components can be organized into Chapter - Modeling an Object's Lifecycle in packages UML 1.4 just like other diagrams and model elements. This

- How to Capture Rules about Object Relationships

can be 11 very helpful when managing application The result is a directory containing all the Chapter - Modeling an Object's Lifecycle in UML distribution. 2.0 software elements needed to implement Part IV - Modeling Object Behavior the system or subsystem represented by the package.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram Part V - Modeling the Application Architecture < Day Day Up > Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling the Component Diagram in UML 2.0 by Tom Pender
ISBN:0764526049

UML 2.0 changed the Wiley definition of the Component John & Sons 2003 (940 pages) metaclass so that it is now a subclass of Class instead of Classifier. As a subclass of Classifier, a component could not have attributes or methods of its own. For beginning to advanced users, this book provides Nesting of elements within a component was rather nebulously defined using ModelElement. comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows use UML to improve ModelElement is specifications, used as a base class forhow just to about any UML diagram element, including associations, quality, and more. efficiency in development. classes, objects, timeliness, messages, and many However, the purpose of a component is to explain the artifacts that are used to implement the logic design expression in Use Case and Class diagrams. So, the UML 2.0 metamodel, seen in Figure 15-12, <?xml version="1.0" encoding="ISO-8859-1"?> redefines a component to show that it may contain any number of PackageableElements. Table of Contents PackageableElement is a subclass of NamedElement, which supports a name for the component, a UML Bible name so that it may be identified within a hierarchy of packages, and visibility. This approach qualified Preface helps to correlate more closely the relationship between the logical organization of work products in a Part I - An Introduction UML Package diagram withto the physical implementation requirements defined in a Component diagram.
Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0 Companion Web Site

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Figure UML 2.0 redefines Component as a subclass of Class. Chapter 11 - 15-12: Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

In the following section you'll see additional benefits derived from defining a component as having its own features, including the white-box view.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Modeling components

The most noticeable change in the Component diagram is the component icon. The older icon, pictured on the left in Figure 15-13, had a long history. The two small rectangles on the left border had meaning at Chapter 17 - Representing an Architecture in UML 2.0 one time but fell into disuse. UML 2.0 opted for a simple rectangle with the component stereotype, Part VI - Bringing Rigor to the Model shown in the center of Figure 15-13. However, you can still use the old component icon as an adornment Chapter 18 - Applying Constraints to the UML Diagrams in the top right corner of the component symbol as shorthand for the stereotype, shown on the right in the Chapter 19 - Action Semantics figure. This is similar to the use of icons for the boundary, entity, and control stereotypes in the Class Part VII - Automating the UML Modeling Process diagram.
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary IndexFigure 15-13: Changes to the component icon. List of Figures List of Tables List of Listings

Modeling dependencies

< Day > Early in the modeling process you might not have allDay the Up interface details for your components. Sometimes you might simply want to ignore those details in order to focus on the purpose of each component and its basic relationships. In either case, the focus shifts toward understanding basic dependencies. Figure 15-14 models a set of components UML Bible at an overview level. No interfaces appear in the diagram, only dependencies. Inby this example, on the discount and performance Tom Pender the order component dependsISBN:0764526049 components. The performance component depends on the event and venue components. John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Figure 15-14: Component dependencies. Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2

- What Is UML? Modeling component realization

- UML Architecture UML 2.0 the realization As in other instances, UML 2.0 has worked to make the vocabulary Chapter 3 adds - UML Diagrams andconcept. Extension Mechanisms

throughout specificationConcepts consistent. Realization refers to any implementation of a requirement. A Chapter 4 - the Object-Oriented component is an Object abstraction, a representation of Part II - Modeling Structure a requirement for the physical software. A realization is a concrete entity that makes the requirement into a reality, or realizes the requirement. A component may Chapter 5 - Capturing Rules about Objects in a Class Diagram be associated with any number of realizations. Chapter 6 - How to Capture Rules about Object Relationships
Chapter 7 - Testing with Objects Each realization may refer to a classifier. A classifier is a superclass that describes anything that
Part III - Modeling Object Interactions

represents a set of instances and may contain features. Classifiers include, but are not limited to classes,

Chapter 8 -behaviors, Modeling Interactions in UML 1.4 15-15 illustrates the relationships between the Component, interfaces, and data types. Figure Chapter 9 - Modeling Interactions in UML 2.0 Realization, and Classifier metaclasses. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - 15-15: Applying UML Diagrams Figure A Constraints componentto is the an abstraction associated with any number of realizations. Each Chapter 19 - Action Semantics realization is defined by a classifier.
Part VII - Automating the UML Modeling Process

The extended definition of component, within PackagingComponents, defines an attribute, Chapter 20 - Using a Modeling Tool isIndirectlyInstantiated, Boolean False means that the component is directly instantiated, that is, the Chapter 21 - Customizinga UML Using flag. Profiles component itselfMetadata is a directly addressable object in memory. For example, a component may represent a Chapter 22 - XML Interchange Java class, Servlet, or EJB.Guide In other words, the component specification has a one-to-one relationship Appendix A -a UML 1.4 Notation with its run-time its realization (that is, the component "is a" Servlet). Appendix B - UML counterpart, 2.0 Notation Guide
Appendix C - Standard Elements The default value of true for the isIndirectly Instantiated attribute describes a component that Glossary exists in the design, but not at run-time. At run time, the component is implemented by its associated Index realizations, which in turn define the classifiers that specify the implementation. This approach is helpful List Figures for of large concepts like subsystems, or general-purpose components like event handling, in which there List of be Tables may a large number of discrete elements. The component needs only to refer to the collection of List of Listings elements. If, and when, the configuration of classifiers changes, the component does not have to be

altered, so long as the implementing classifiers conform to the component purpose and interfaces. < Day Day Up > Additionally, the UML specification provides two standard stereotypes for components (actually the stereotypes may apply to any type of classifier), which define whether the component is used as a pure specification or as an implementation. A realization component refers to one or more sets of UML Bible implementation classifiers. For example, the same componentISBN:0764526049 might be realized by a set of Java classes by Tom Pender or by a set of COM+ and .NET components. John Wiley & Sons 2003 (940 pages) Aspecification comprehensive component refers to one or more specification classifiers. For example, the same coverage of the versatility of 1.4 and 2.0 UML component might have multiple sets of classes different specifications, and shows how tothat usedefine UML to improvespecifications for fulfilling the timeliness, quality, and efficiency in development. requirements of the component (alternative subsystems, applications, or event handling models), but do not provide an implementation for the component. Companion Web Site In Figure 15-16, the realization for the order component is Order and LineItem classes. The order component is implemented by instantiating the order and line item classes (and their association). <?xml version="1.0" encoding="ISO-8859-1"?>
Table of Contents UML Bible Preface
Part I - An Introduction to UML

For beginning to advanced users, this book provides

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Figure 15-16: Modeling realization using dependencies.

Part III - Modeling Object Interactions

Modeling component interfaces - Modeling Interactions in UML 1.4

Chapter 9 - Modeling Interactions in UML A fundamental feature of components is2.0 the ability to define interfaces. The component must expose Chapter 10 - Modeling ancomponents Object's Lifecycle in UML 1.4 with it. UML 2.0 applies the same interface and port some means for other to communicate Chapter 11 to - Modeling an Object's Lifecycle in UML 2.0 concepts components that it does to classes. This section covers interfaces first, and then adds the port
Part IV - Modeling Object Behavior concept.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Interfaces come in two types: required and provided. Components may define behaviors; for example, an Chapter 13 Modeling Behavior Using an Activity Diagram order may offer the Architecture ability to add Part V -component Modeling the Application line items to the order, cancel the order, and pay for the order. The internal design of the component defines the implementation of these behaviors. The order Chapter 14 - Modeling the Application Architecture component is said to provide these services. To do so it must also provide the means for other Chapter 15 - Modeling Software Using the Component Diagram components to request these services. An interface defines how another component must ask for access Chapter 16 - Using Deployment Diagrams in UML 1.4 to a provided service. This type of interface is called a provided interface.
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model A component may also need help from

other components, and it has to define exactly what it needs. For

Chapter 18 the - Applying Constraints to the UML example, order needs to be able to findDiagrams out whether a discount applies to the items purchased using Chapter 19 Action Semantics the order. But the order itself does not have the resources to answer this question, so it defines an
Part VII - Automating the UML Modeling Process interface stating the type of help it requires. Hence,

the interface is called a required interface.

Chapter 20 - Using a Modeling Tool

Interfaces appear as small icons, the type of interface, attached to the component by a solid Chapter 21 Customizing UML Usingrepresenting Profiles line.Figure illustrates the order component with provided interfaces (on the left) to add line items to Chapter 22 - 15-17 XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

the order, cancel the order, and pay for the order, and a required interface (on the right) to apply the discount.

Figure 15-17: Interface notation for provided and required interfaces. < Day Day Up > Provided interfaces use the small circle icon. Required interfaces use a half circle icon. These symbols were deliberately chosen so that when the diagram combines a set of interacting components, the provided interface fits into the required interface to create a kind of ball-and-socket image as shown in UML Bible Figure 15-18. by Tom Pender ISBN:0764526049
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Figure 15-18: Connecting required and provided interfaces to form a partnership between components.
<?xml version="1.0" encoding="ISO-8859-1"?> Interfaces, of course, may be more complicated than these examples, so UML 2.0 also supports the use Table of Contents

Companion Web Site

of classes UML Bible to describe the interfaces. Using classes enables you to add the interface signatures explicitly on the diagram. For example, Figure 15-19 models the order component again. An interface class Preface called OrderMaintenance is used Part I - An Introduction to UML to represent the provided interfaces. The order component realizes the interface class. At the bottom of the figure is the applyDiscount operation within the Discount interface Chapter 1 - What Is UML? class. The order component does not implement this interface, but simply uses, or accesses, it. So, the Chapter 2 - UML Architecture relationship is modeled with a uses dependency arrow from the order component (client) to the Chapter 3 - UML Diagrams and Extension Mechanisms Discount (supplier).
Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - Object-Oriented Concepts
Part II - Modeling Object Structure

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - 15-19: Modeling the Use of a System with the Use Case Diagram Figure Alternative notation for interfaces. Chapter 13 - Modeling Behavior Using an Activity Diagram

UML provides a Application way to represent all of the Part V 2.0 - Modeling the Architecture

information defined so far for a component, including interfaces, realizations, and artifacts. This representation is made possible because a component is now a Chapter 14 - Modeling the Application Architecture type of class. A class may have compartments and features. Figure 15-20 models the order class with all Chapter 15 - Modeling Software Using the Component Diagram three provided interfaces, the required interface, two realizations, and one artifact. This representation is Chapter 16 - Using Deployment Diagrams in UML 1.4 called the white box view because we can see through the box to see its internal properties.
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram

Part II - Modeling Object Structure

- How to Capture Rules about Object Relationships Figure Chapter 7 - 15-20: Testing Component with Objects white box view.
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

Now that we've discussed the basics of component interfaces, let's take a good look at the application of - Modeling Interactions in UML 1.4 interfaces using ports and connectors.
- Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

More on realizations using connectors and ports

UML 2.0 defines the relationship between components and realizations as composition. Composition means that the lifespan of the members, the realizations in this case, are controlled by the composite, the Chapter 13 - Modeling Behavior Using an Activity Diagram component. In other words, the realizations are encapsulated within the component and the component Part V - Modeling the Application Architecture controls when they are instantiated.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 14 - Modeling the Application Architecture Chapter 15 Modeling Software Using the encapsulated Component Diagram The white box view helps to identify realizations, but it doesn't help to explain their Chapter 16 - Using Deployment Diagrams in UML 1.4 To overcome this limitation, the PackagingComponent relationships to one another or to the component.

extended for a component icon Chapter 17 definition - Representing an Architecture inenables UML 2.0the component to open up to reveal the contained realizations. Figure 15-21 models the Part VI - Bringing Rigor to the Model
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

relationships from Figure 15-16 using a containment view.

Chapter 18 - Applying Constraints to the UML Diagrams

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 4

- What Is UML?

- UML Architecture Figure Component containing realizations. Chapter 3 - 15-21: UML Diagrams and Extension Mechanisms

This representation is, so far, the same as in UML 1.4. Figure 15-22 represents the order component and its interfaces to customer and discount. Notice that the interfaces merely touch the boundary of the order Chapter 5 - Capturing Rules about Objects in a Class Diagram component. In UML 1.4 there is no way to map the service supported by the component to the other Chapter 6 - How to Capture Rules about Object Relationships components or its realization classifiers.
Part II - Modeling Object Structure

- Object-Oriented Concepts

Chapter 7 Chapter 8 Chapter 9

- Testing with Objects

Part III - Modeling Object Interactions

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Figure Components andthe interfaces alone provide no means to map their internal and external Chapter 15 - 15-22: Modeling Software Using Component Diagram mechanisms. Chapter 16 - Using Deployment Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

UML 2.0 adds the capability to map the interfaces of the component to the realizations that support them. To do so, however, the component needs a place to make the transition between its interfaces and its Chapter 18 - Applying Constraints to the UML Diagrams internal realizations, and that place is a port.
Chapter 19 - Action Semantics
Part VIIappears - Automating the UML Modeling Process A port as a small square in the edge of

the component. A component interface attaches to a port.

Chapter 20 more - Using a Modeling Tool may connect to the same port. I explain how to do that a bit later in this (Actually, than one interface Chapter 21Dependencies - Customizing UML Profiles section.) thenUsing extend from the port to the realizations that fulfill the interface requirements. Chapter - XML Metadata Interchange Figure 22 15-23 models the order and its interfaces. Note how the addition of the port further distances the Appendix A - UML 1.4 Notation Guide component's relationship with the outside world from its internal structure. For example, the customer

component only 2.0 knows that the order component provides the addLineItem service because it exposes an Appendix B - UML Notation Guide interface it. It cannot know how the component delegates the request to add a line item to the order Appendix Cfor - Standard Elements that realizes the request. This makes it possible to change the definition of order or replace it with a Glossary different implementation element without altering the relationship with customer. Index
List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve Figure 15-23: Modelingquality, ports as the intersection between external interfaces and internal realizations. timeliness, and efficiency in development. Companion Web Site The relationship between customer and order is expressed using a connector. The relationship between a port and a realization element is also a connector. The two types of connectors, assembly and delegation , are varieties specified by the ConnectorKind enumeration. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Adelegation connector maps a request from one port to either another port or to a realization that provides the implementation for the request. A port-to-port connection effectively redirects the invocation. Preface The only restriction is that the two ports must be the same type, that is, both ports must support required Part I - An Introduction to UML interfaces only or provided interfaces only.
Chapter 1 - What Is UML? In a port-to-realization connection, the realization has an implements relationship with the interface Chapter 2 - UML Architecture

specification. In other words, the external interface matches a signature on the realization. For example, Chapter 3 - UML Diagrams and Extension Mechanisms the customer invokes the addLineItem Chapter 4 - Object-Oriented Concepts interface connected to a port on the component. The component port then delegates the Structure invocation Part II - Modeling Object
Chapter 5 Chapter 6

to the addLineItem operation on the order class.

Figure 15-24 shows this relationship. On the left, the delegation connector is a dashed arrow from the port - How to Capture Rules about Object Relationships to the realization. That the interface on the component and the interface on the realization are both Chapter 7 - Testing with Objects implementations of the same interface is modeled on the right side of Figure 15-24. The component Part III - Modeling Object Interactions implements the interface by delegating the addLineItem request to the order class. The order class Chapter 8 - Modeling Interactions in UML 1.4 the line item to the order. implements the interface by actually adding
Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

- Capturing Rules about Objects in a Class Diagram

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Figure 15-24: In a delegation connector, the external interface must match the realization interface.

Chapter 18 - Applying Constraints tomap the UML Diagrams Anassembly connector is used to a required interface to a provided interface. For example, the Chapter 19 in - Action Semantics customer Figure 15-25 requires the ability to add a line item to the order. The order component provides
Part - Automating the UML Modeling unites Process thisVII service. The assembly connector the

two interfaces to form the ball-and-socket connection, or a

Chapter - Using a between Modeling the Tool kind of 20 handshake components. Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table Figure of Contents 15-25: An assembly connector example. UML Bible

UML 2.0 offers shorthand notation for the assembly connector. If many components require or provide the Preface same the connectors Part I - interfaces, An Introduction to UML may be merged. Figure 15-26 models the fact that the backorder and order components both require access to the person interface. Both the customer and organization Chapter 1 - What Is UML? components provide the person interface. (This example might seem misleading, but it hides the fact that Chapter 2 - UML Architecture the client interface on the organization component is a subclass of the person interface.)
Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Figure 15-26: Shorthand notation Part IV - Modeling Object Behavior

for assembly connectors.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

The merged assembly connector conveys that some of the communication is resolved at runtime. This applies to both the required and the provided interfaces. For example, Figure 15-26 shows that both the Part V - Modeling the Application Architecture backorder and order components may require the person interface. The application won't know until Chapter 14 - Modeling the Application Architecture runtime which component (customer or organization) will provide the service. In other words, the Chapter 15 - Modeling Software Using the Component Diagram interaction is polymorphic.
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model runtime. The component specification merely

Chapter 17 - Representing Architecture in UML 2.0 know who is requesting the person interface until In like manner, customeran and organization will not

states that either backorder or order may do so.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

In my earlier explanation of interfaces and ports I said that an interface connects to a port. But UML 2.0 also allows multiple interfaces to connect to the same port. Figure 15-27 is a redraft of Figure 15-23. The Part VII - Automating the UML Modeling Process three provided interfaces all connect to the same port.
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> 15-27: One port supporting multiple interfaces. Table Figure of Contents UML Bible Preface
Part I - An Introduction to UML

Explaining ports and connectors with other UML diagrams

Chapter 1

- What Is UML? In some logic that describes access across a port is fairly complex. A port is a classifier, a Chapter 2 cases, - UML the Architecture

resource, like a class. and As such, it may possess states, conditions under which certain things may or Chapter 3 just - UML Diagrams Extension Mechanisms
Chapter 4 Chapter 5

may not happen. The protocol state machine may be associated with a port to describe the conditions - Object-Oriented Concepts under which the port may be used successfully, although it does not explain how the port behaves when it Part II - Modeling Object Structure is traversed.
- Capturing Rules about Objects in a Class Diagram Chapter 6 - this How to Capture Rulesa about Object Relationships To provide additional detail, specification-level state machine may be associated with the port to Chapter 7 Testing with Objects explain the sequence of behaviors, constraints, and overall logic involved in the transition across the port.
Part III - Modeling Object Interactions

Cross-Reference State machines are covered in Chapters 10 and 11. Chapter 8 - Modeling Interactions in UML 1.4
Chapter 9

Activity and Interaction diagrams can help explain the logical sequence of events required to communicate across a connection. The logic modeled in this manner becomes the implementation logic for the method Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 that invokes the interface that uses the connector.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior

- Modeling Interactions in UML 2.0

Chapter 12 Modeling the Use ofdefine a System the Use Case Diagram Together, these specifications thewith complete protocol for connecting components. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture < Day Day Up > Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

The purpose of the Component diagram is topages) define software modules and their relationships to one John Wiley & Sons 2003 (940 another. Each component is a to chunk of code thatthis resides memory on a piece of hardware. For beginning advanced users, bookin provides Components may be grouped into categories: specifications, and three showsbroad how to use UML to improve
timeliness, quality, and efficiency in development. Companion Web Site comprehensive coverage of the versatility of 1.4 and 2.0 UML

Deployment components, which are required to run the system. Work product components including models, source code, and data files used to create deployment components. encoding="ISO-8859-1"?> <?xml version="1.0"
Table of Contents UML Bible Preface

Execution components, which are components created while running the application.

Part I - An Introduction to UML

UML 1.4

Chapter 1 Chapter 2

UML 1.4 defines components and the classes used to realize them. Components provide interfaces that - UML Architecture define the type of services and access they provide. Dependencies help define the relationships between Chapter 3 - UML Diagrams and Extension Mechanisms components and between components and the classes that realize them. Stereotypes help define how a Chapter 4 - Object-Oriented Concepts component is used within the model and the nature of the dependencies between components.
Part II - Modeling Object Structure

- What Is UML?

Chapter 5 component - Capturingicon Rules Objects in a Class Diagram The is about a rectangle with two small rectangles on the left edge. The interface to the Chapter 6 - How may to Capture Rules about Object Relationships component be modeled two different ways: Chapter 7

The lollipop notation represents Part III - Modeling Object Interactions

the interface as a small circle connected to the component by a solid line and with the name of the interface near the circle. Chapter 8 - Modeling Interactions in UML 1.4
Chapter 9 The - Modeling Interactions in UML 2.0 with the stereotype interface with a realizes relationship second method uses a class Chapter 10 drawn - Modeling Object's Lifecycle in UML 1.4 class. A component may realize (implement) as froman the component to the interface Chapter 11 many - Modeling an Object's Lifecycle in UML 2.0 interfaces as it requires.
Part IV - Modeling Object Behavior

- Testing with Objects

Component dependencies provide awith high-level view ofDiagram component interactions without spelling out the Chapter 12 - Modeling the Use of a System the Use Case exact communication requirements. The dependency view is helpful for overviews and sequencing of Chapter 13 Modeling Behavior Using an Activity Diagram development efforts. Part V - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

The list of common component stereotypes includes executable, library, table, file, and document.

Chapter 17 The - Representing an Architecture UML 2.0 artifacts used to deploy the component. implement dependencyin identifies

resides dependency the realization element/s used to implement the Chapter 18 The - Applying Constraints to theidentifies UML Diagrams of the component. Chapter 19 requirements - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

UML 2.0

UML 2.0 improved onInterchange the definitions for the terminology used to describe components. It has also Chapter 22has - XML Metadata added the to Notation define a Guide component as a container with ports that allow it to provide an encapsulated Appendix A -means UML 1.4
Appendix B - UML 2.0 Notation Guide

specification for implementation artifacts without being bound to a specific set of realizations.

Appendix C - Standard The following is a list Elements of the UML 2.0 changes. Glossary Index A change in the component icon resolves some longstanding difficulties. List of Figures List of Tables

List of Listings

UML 1.4 defined a component as a subclass of Classifier. UML 2.0 defines a component as a subclass of Class. This means that a component may now have attributes and methods, as well as an

internal structure and ports. This provides< an optional white box view of a component that contains Day Day Up > compartments detailing interfaces, realizations, and artifacts. Ports and connectors formalize the interaction points on a component, and provide explicit mapping between published interfaces and internal implementation mechanisms (realizations). UML Bible A realization identifies a classifier - behaviors, features, or classes, for example - that provides the John Wiley & Sons 2003 (940 pages) implementation for a component.
by Tom Pender
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML A component may be stereotyped as either specification or implementation to limit the nature of specifications, and shows how to use UML to improve the associated classifiers. The specification means that the classifiers associated with timeliness, quality, and efficiency instereotype development.

the component provide only the specification details, no implementation. The implementation Companion Web Site stereotype means that classifiers associated with the component provide only the implementation details, no specification.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

< Day Day Up >

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Chapter UML 16:Bible Using Deployment Diagrams in UML 1.4 ISBN:0764526049 by Tom Pender
Overview
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, andan shows how toarchitecture use UML to ,improve A Deployment diagram describes execution that is, the configuration of hardware and timeliness, quality, and efficiency in and development. software that defines how the system will be set up how it will operate. The purpose of a Deployment

diagram is to present Companion a static view, or Site snapshot, of the implementation environment. A complete Web description of the system will likely contain a number of different Deployment diagrams, each focused on a different aspect of system management. For many of these views the Deployment diagram is combined <?xml encoding="ISO-8859-1"?> with version="1.0" the Component diagram to show the relationship between the hardware and the software. For Table of Contents example,
UML Bible Preface For a multi-tiered application, the Deployment diagram would model the distribution of the application
Part Ilayers, - An Introduction to UML their physical connections,

and their logical paths of communication.

Chapter 1 Chapter 2 Chapter 3

Another diagram might focus on how software components are distributed across the network - UML Architecture resources, such as where the source code resides and where it is shipped for implementation.
- UML Diagrams and Extension Mechanisms

- What Is UML?

Chapter 4 - Object-Oriented Another diagram might Concepts model how an executable is loaded from one node where it is stored to
Part II - Modeling Object Structure another node where it actually

runs.

Chapter 5

- Capturing Rules about Objects in a Class Diagram

The Deployment diagram of nodes and associations between nodes. It represents the same Chapter 6 - How to Captureconsists Rules about Object Relationships information often modeled in network diagrams that represent the devices and connections of a computing Chapter 7 - Testing with Objects architecture. UMLObject 1.4 describes the Deployment Part III - Modeling Interactions
Chapter 8 Chapter 9 - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

diagram in two contexts:

A Deployment diagram can define node types , much like a Class diagram that defines object types.

Chapter 10 A -node Modeling an Object's Lifecycle in UML 1.4 represents a type of processing resource, such as a CPU performing calculations or a Chapter 11 human - Modeling an performing Object's Lifecycle in UML 2.0 being a manual task.
Part IV - Modeling Object Behavior

association type with of relationship that supports the communication between nodes. Chapter 12 An - Modeling the defines Use of athe System the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

A Deployment diagram may include component instances within node instances to illustrate the runtime environment.

Chapter 15 A -node Modeling Software Using the Component Diagramresource of a designated type. instance represents a specific processing Chapter 16 - Using Deployment Diagrams in UML 1.4

link represents a specific of a designated type (defined by an association Chapter 17 A -node Representing an Architecture in connection UML 2.0 between nodes). Part VI - Bringing Rigor to the Model
Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating the UML Modeling Process

Chapter 19 since - Action its Semantics inception, they are relatively new to most people and there are a lot of different ideas

Note Although the Component and Deployment diagrams have been part of the UML specification out there about how to use them. These tools can be very helpful, but they will not make or

Chapter 20 break - Using a implementation. Modeling Tool an Use good judgment. Practice. Find out where the benefits lie for your Chapter 21 project. - Customizing UML Profiles Exploit the Using tool for your success instead of just following a standard. Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UML Bible Modeling Nodes and Associations by Tom Pender


ISBN:0764526049

The simplest form of the Deployment diagram models hardware only. The Deployment diagram is really John Wiley & Sons 2003 (940 pages) just a network diagram like those used for many nowprovides by network management folks. The icons are For beginning to advanced users, years this book much simpler, which seems like a step backward, but remember that the UML does not limit how you comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to so use UML to improve represent an item or how you extend the model, you can still use the icons you are used to for disk timeliness, quality, and efficiency development. drives, servers and clients, hubs and routers, andin so forth. Anode can represent just about anything that can perform work. Depending on the type of system you are modeling, a node could represent a disk drive with long-term memory, a server with temporary memory <?xml encoding="ISO-8859-1"?> and version="1.0" processing capability, a mechanical device like an automated welder or conveyor belt, or even a Table of Contents human being or organizational unit such as a department or team.
UML Bible Companion Web Site

The UML 1.4 version of nodes is very simple. Figure 16-1 shows the portion of the UML 1.4 metamodel Preface thatIdescribes nodes and components. Part - An Introduction to UML
Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

A node is simply a type of classifier that may contain components.

Part II - Modeling Object Structure

Figure 16-1: Object UML 1.4 node metamodel. Part III - Modeling Interactions
- Modeling Interactions in UML 1.4

OMG 1.4

Note In UML 1.4 nodes may not contain other nodes. Because it is quite common to have processing - Modeling Interactions in UML 2.0 units within other processing units, such as a server with multiple CPUs and disk drives, this Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 limitation is corrected in UML 2.0.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behaviorof Because the node is a subclass

Classifier, it may have attributes and operations, and may participate in

Chapter 12 - Modeling the Use ofaanode System with Use Case Diagram associations. This means that may bethe defined in terms of its features, such as memory size, Chapter 13 Modeling Behavior Usingspeed, an Activity number of-processors, processing and Diagram so forth, and its abilities, such as boot, shutdown, and
Part V - Modeling the Application Architecture restart. These details can be valuable when

you are specifying the equipment that you will need to support

Chapter 14 - Modelingof the Application Architecture the implementation the system. For example, the specification of a desktop computer for graphic design

can be 15 very different Software from thatUsing of a desktop computer used for business applications like spreadsheets Chapter - Modeling the Component Diagram and word Chapter 16 processors. - Using Deployment Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Figure 16-2 illustrates a type-level server node with attributes, operations, and associations, and an instance-level server node with attribute values and links.

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1

Figure 16-2: Nodes described with features - attributes, operations, and associations.
- What Is UML?

Chapter 2 note, - UML Architecture I need to however, that many modeling tools do not provide the ability to model attributes and Chapter 3 - on UML Diagrams and might Extension Mechanisms operations a node, so you need to use the documentation area of the node specification to Chapter - Object-Oriented Concepts provide4these details. This area is typically a window accessed from the node icon within the modeling tool.
Part II - Modeling Object Structure

Figure 5 16-3 illustratesRules the two levels of Deployment diagram. On the left is a type-level diagram. On the Chapter - Capturing about Objects in a Class Diagram right is 6 an instance-level diagram. In the type-level diagram, each node defines only a type of processing Chapter How to Capture Rules about Object Relationships
Chapter 7 Chapter 8 Chapter 9

unit. A node type is just like a class in that it provides a definition and can be instantiated. The node name - Testing with Objects uses the form Part III - Modeling Object Interactions
- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Figure 16-3: Node names on a Deployment diagram.

node-name ':-' node-type

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22name - XML may Metadata Interchange The type be used by itself, such as "Server" or "AccountsPayable". The instance may use the

complete as "SAN09 : Server", or just the name, such as "SAN09". When only the instance Appendix A form, - UML such 1.4 Notation Guide name is B used, the colon is omitted. Appendix - UML 2.0 Notation Guide Figure 16-3 shows all the instance names fully qualified with name and type. C - Standard Elements Appendix
Glossary Index

The associations between nodes follow the same rules as associations between classes. Each association defines the multiplicity at each end. But the association names for nodes pose a small problem. Because List of Figures the diagram deals exclusively with hardware, every association could wind up with the name "connects to". List of wouldn't Tables add much meaning to the relationship. This
List of Listings

What matters most when connecting hardware is how the nodes are connected-Ethernet, token ring, < Day Day Up > parallel, TCP, USB, and so on. So typically, instead of a name, node associations use a stereotype, for example, parallel, Ethernet, or TCP. Figure 16-4 adds the Ethernet stereotype to the association between the database server and the middleware server.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve quality, and efficiency development. Figure 16-4:timeliness, Association stereotype betweenin nodes. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> < Day Day Up > Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling the Runtime Environment with Components by Tom Pender
ISBN:0764526049

The Deployment John diagram can combine nodes and components to model the relationship between the Wiley & Sons 2003 (940 pages) processing resources and the implementation of the When a component resides on a node, it For beginning to advanced users, this software. book provides can be modeled within the node itself on the diagram. To show the logical communication between the comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use toas improve components, draw a dashed dependency arrow, the UML same is used on the Component diagram, as timeliness, quality, and efficiency in and development. illustrated in Figure 16-5. The nodes, components, dependencies in this figure describe the following relationships: Companion Web Site The database server contains the performance database.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents The middleware server runs the performance EJB, which depends on the performance database. UML Bible Preface

The client runs the JSP pages, which depend on the performance EJB.
- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - 16-5: Modeling an Object's Lifecycle contained in UML 1.4within/residing on nodes. Figure Modeling components Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Placing the component within Part IV - Modeling Object icon Behavior

a node explicity represents containment of the component within the

node. The thing could byUse drawing dependency between the node and the Chapter 12 -same Modeling the Use be of aaccomplished System with the Case a Diagram component using theBehavior deploy stereotype. Figure 16-6 says that the PerformanceEJB component is Chapter 13 - Modeling Using an Activity Diagram deployed on the the SAN10: MiddlewareServer. Part V - Modeling Application Architecture
Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Figure 16-6: Using deploy Part VII - Automating the the UML Modelingdependency Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

stereotype to model containment.

Note that the components drawn in a Deployment diagram are always component instances. The Component diagram by itself models type-level components, that is, component definitions. The combined Chapter 22 - XML Metadata Interchange Deployment and Component diagram models the runtime environment. Consequently, the components Appendix A - UML 1.4 Notation Guide illustrated on nodes are the resident instances of the components defined on the Component diagram.
Appendix B - UML 2.0 Notation Guide Appendix C -Deployment Standard Elements Combined and Component diagrams can also illustrate software migration at runtime or Glossary during distribution. For example, in Figure 16-7, the performance JSP file resides on the middleware

server, but is loaded onto the client at runtime. UML defines the stereotype become to represent the Index transformation, or migration, of a piece of software from one location to another. List of Figures
List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides coverage of the versatility of 1.4 and 2.0 UML Figure 16-7:comprehensive Migrating software using the become stereotype. specifications, and shows how to use UML to improve quality, and efficiency in development. These examples timeliness, make it obvious that the component notation alone does not clarify everything needed to describe a system. For example,Web what exactly is the difference between the component on the server and Companion Site the component on the client? UML 2.0 expands the concept of implementation artifacts to clarify this relationship between the requirements of a physical component and the description of the types of artifacts <?xml version="1.0" encoding="ISO-8859-1"?> used to provide the physical implementation. Artifacts are fully explained in Chapter 17. Table of Contents UML Bible Preface
Part I - An Introduction to UML

< Day Day Up >

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

The Deployment John diagram models by identifying the processors. Processors are Wiley & Sonshardware 2003 (940 architecture pages) typically computers equipment, but may users, also be people perform manual processing. Nodes, or Foror beginning to advanced this book who provides processors, may comprehensive contain and run software components. Node connections coverage of the versatility of 1.4 and 2.0 UMLare modeled as associations, specifications, shows how to use UML to improve complete with stereotypes and and multiplicity.
timeliness, quality, and efficiency in development.

Anode may be modeled like Web a class Companion Sitewith attributes and behaviors. However, some modeling tools do not support this view. Associations between nodes typically use stereotypes instead of names to describe the nature of the <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Node associations represent the physical communication paths such as TCP or Ethernet. connection.
UML Bible Preface

Component and Deployment diagrams may be combined. Components reside on a node. Component icons are placed inside the expanded node icon, or connected to the node icon using a Part I - An Introduction to UML deploy dependency (dashed arrow), to model containment.
Chapter 1 - What Is UML? Chapter 2 - UML Architecture Communication between components on the nodes is modeled as a dependency (dashed arrow). Chapter 3 - UML Diagrams Extension Mechanisms requirements. Dependencies model and the logical communication Chapter 4 - Object-Oriented Concepts

The become dependency Part II - Modeling Object Structure


Chapter 6 Chapter 7 Chapter 8 Chapter 9

stereotype describes the migration or movement of software from one

location to another. Chapter 5 - Capturing Rules about Objects in a Class Diagram


- How to Capture Rules about Object Relationships - Testing with Objects

Part III - Modeling Object Interactions

< Day Day Up >

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Chapter UML 17:Bible Representing an Architecture in UML 2.0 ISBN:0764526049 by Tom Pender
Overview
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML and showsin how use UML to improve In UML 2.0, therespecifications, is a significant change theto vocabulary for modeling runtime environments. UML 1.4 timeliness, quality, efficiency in the development. says that components may be usedand to specify both requirements for a physical software element and

the physical implementation of that element. Companion Web Site UML 2.0 instead opts for a parallel structure, using components and artifacts as represented in Figure 17<?xml 1. In version="1.0" this structure,encoding="ISO-8859-1"?> the component is used solely to define the requirements for each physical software Table of Contents element, while an artifact defines the implementation properties for the component. UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application Architecture

Figure 17-1: UML 2.0 metamodel defines a parallel structure for components and artifacts.

Chapter 13 Modeling Behavior Using ancomponents Activity Diagram Each side of the parallel structure for and artifacts follows the same pattern. A component is

defined using a set of one or more classifiers. The same classifier may be used to build any number of

Chapter 14 - Modeling the Application Architecture components. The specialized dependency Realization maps the refinement of the logical specifications Chapter 15 Modeling Software Using Component Diagram modeled by classifiers that are usedthe to build the component's specification for a physical piece of software. Chapter 16 - Using Deployment Diagrams in UML 1.4

Anartifact defined using a Architecture set of one or model elements (that is, any PackageableElement). As Chapter 17 is - Representing an inmore UML 2.0 withVI classifiers and components, the Part - Bringing Rigor to the Model element into an artifact. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

same model element may be used to construct any number of

artifacts. Manifestation , a specialized version of the metaclass Abstraction, maps the evolution of a model Chapter 18 - Applying Constraints to the UML Diagrams Figure 17-2 provides an example showing the relationship between these elements on a component diagram.

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Site Figure 17-2: An example of Web the relationship between components and artifacts on a component diagram. <?xml version="1.0" encoding="ISO-8859-1"?> Consequently, in UML 2.0, components only appear in the Component diagram, and artifacts appear on Table of Contents UML Bible

the Deployment diagram. (Technically, artifacts also appear on the Component diagram in order to show the relationship between components and artifacts.) This is very similar to the relationship between objects Preface and classes. Classes form the specification. Objects describe the implementation, or instantiation, of the Part I - An Introduction to UML specification. Likewise, components define the requirements, and artifacts define the implementation.
Chapter 1 Chapter 3 - What Is UML? Chapter 2 - summarizes UML Architecture Table 17-1 the differences between the two UML releases. - UML Diagrams and Extension Mechanisms Chapter 4 - Object-Oriented Conceptsin UML 1.4 and UML 2.0 Table 17-1: Deployment Diagram
Part II - Modeling Object Structure

UML 1.4 UML 2.0 Chapter 5 - Capturing Rules about Objects in a Class Diagram
Chapter 6 Chapter 7 - How to Capture Rules about Object Relationships - Testing with Objects

Components may be used to define Part III - Modeling Object Interactions

Components define only the requirements for physical both the requirements for a physical software elements. Chapter 8 - Modeling Interactions in UML 1.4 software element, and physical Chapter 9 - Modeling Interactions in UML 2.0 software instances.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Components appear both on the Components appear only on the Component diagram. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Component diagram and nested Part IV - Modeling Object Behavior in nodes on a Deployment diagram. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram Components are built from a set of one or more
Part V - Modeling the Application Architecture

realizations. Each realization relationship identifies a

Chapter 14 - Modeling the Application Architecture classifier that provides the detailed requirements for a Chapter 15 - Modeling Software Using the Component Diagram component. Chapter 16 - Using Deployment Diagrams in UML 1.4

Artifacts appear only on Component diagrams to explain the implementation Part VI - Bringing Rigor to the Model of a component.

Chapter 17 - Representing an Architecture in UML 2.0

Artifacts are nested in nodes on a Deployment diagram as the implementation of a component. Artifacts describe the implementation of a component. Artifacts are built from a set of one or more manifestations used to implement the requirements for a component. Manifestations map the relationship between model elements (PackageableElement) and the artifacts that they implement.

Chapter 18 - Applying Constraints to the UML Diagrams

Artifacts the implementation of Chapter 19 describe - Action Semantics


Chapter 20 - Using a Modeling Tool

acomponent. Part VII - Automating the UML Modeling Process


Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Realizations describe the classifiers Appendix B - UML Notation Guide that contain the2.0 logical specifications Appendix C - up Standard Elements that make the component Glossary requirements. Index List of Figures

In order to explain how a component is implemented, the model must include a description of the List of Tables relationship List of Listingsbetween the components and where they are installed. This relationship is illustrated by

combining the Component and Deployment diagrams. < Day Day Up > The Component diagram models the software, or procedural elements. The Deployment diagram models the hardware, or processing environment. The artifacts used to implement the component specifications are allocated to processing UML Bible units called nodes. The nodes are connected to one another to allow communication between the artifacts that reside on them. For ISBN:0764526049 example, an HTML Web page, an artifact, by Tom Pender might reside on aJohn webWiley server, a node on the Deployment diagram. When a client machine, a second node & Sons 2003 (940 pages) on the Deployment diagram, wants access to the Web page, it accesses the Web server and loads the For beginning to advanced users, this book provides page from the server to the client machine across the Internet, the connection between the two nodes. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, and quality, and efficiency in development. The combined Component Deployment diagrams provides a single picture of how artifacts are allocated to nodes, as well as the logical dependencies between the artifacts and the connections Companion Web Site between the nodes that support the dependencies. Different combined views can be created to illustrate the installation setup and runtime interactions like loading of software and runtime communication <?xml version="1.0" between software encoding="ISO-8859-1"?> artifacts. Table of Contents

The first half of this chapter explains the Deployment diagram. The second half adds artifacts to the UML Bible Deployment diagram. Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

< Day Day Up >

- UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling Nodes and Communication Paths by Tom Pender


ISBN:0764526049

UML 2.0 significantly and clarifies the definition of a node. Figure 17-3 is the UML 2.0 metamodel Johnexpands Wiley & Sons 2003 (940 pages) illustrating the changes: For beginning to advanced users, this book provides Node is now specifications, a subclass of and Class, not how Classifier. shows to use UML to improve
timeliness, quality, and efficiency in development. comprehensive coverage of the versatility of 1.4 and 2.0 UML

A node may contain other nodes.

Companion Web Site

Node is subclassed into devices and execution environments.


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - 17-3: Modeling an metamodel. Object's Lifecycle in UML 1.4 Figure Node Chapter 11 - 2.0 Modeling an Object's Lifecycle in UML 2.0 OMG
Part IV - Modeling Object Behavior

The fact a node the is now subclass ofwith Class, brings a number of features to a node. Chapter 12that - Modeling Useaof a System the not UseClassifier, Case Diagram Figure 13 17-4 consolidates the inheritance tree for a node to show the metaclasses from which it gathers all Chapter - Modeling Behavior Using an Activity Diagram its features. The the following description of the Part V - Modeling Application Architecture node features makes reference to the classes found in this inheritance tree. Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure 17-4: Node inheritance tree.

< Day Day Up >

From this long and illustrious family tree, the node inherits an extensive list of new features not dealt with (at least not explicitly) in UML 1.4. This makes sense when you recognize that in the early life of the UML the greatest attention given to the diagrams used to model business applications, that is, Class, Use UML was Bible Case, and Sequence/Collaboration diagrams. Since the release of UML 1.4, the UML 2.0 submitters have ISBN:0764526049 by Tom Pender had more time toJohn consider features and usage Wileythe & Sons 2003 (940 pages) of the Component and Deployment diagrams. From Kernel :: Class, node inherits the ability toversatility of 1.4 and 2.0 UML comprehensive coverage of the Contain attributes and operations. be used to describe the features of a node, such as timeliness, quality, andAttributes efficiency may in development. processor speed, memory capacity, and type of memory. Operations, though rarely used, can Companion Web Site describe the services provided by the node via the software contained within it. Be specialized. A node, like any other entity, may be described in terms of its features. Servers, for <?xml version="1.0" encoding="ISO-8859-1"?> example, come in a variety of configurations and are designed for a variety of purposes. The features Table of Contents of servers may be organized using generalization and specialization to define an inheritance hierarchy UML Bible
Preface specifications, and shows how to use UML to improve For beginning to advanced users, this book provides

of server types thus simplifying the work of defining new server designs.
- What Is UML?

Part I - An Introduction to UML

Chapter 1

From InternalStructures :: StructuredClassifier node inherits the ability to

Chapter - UML Architecture Be2connected to other nodes through associations. Using associations, nodes can be configured into

networks. Chapter 3 - UML Diagrams and Extension Mechanisms


Chapter 4
Part II - Modeling Object Structure

From BasicBehaviors :: BehavioredClassifier node inherits the ability to

- Object-Oriented Concepts

Chapter 5 and - Capturing Rules about Objects in a Class Diagram Own trigger behaviors. These behaviors are accessed by events received by the node, placed into Chapter 6 How to Capture Rules about Object Relationships a queue, and processed if and when a trigger matches the event. Triggers are part of the behavioral Chapter 7 - Testing Objects specification ofwith the node.
Part III - Modeling Object Interactions

Own for its own Chapter 8 a - specification Modeling Interactions in behavior. UML 1.4 This description of the operation of the node is in addition to the housed in the contained Chapter 9behaviors - Modeling Interactions in UML 2.0components.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior Own ports. Ports are new to UML

From Ports :: Encapsulated Classifier node inherits the ability to 2.0. Ports provide the capability to encapsulate the interfaces to a

Chapter 12 Modeling the requests Use of a System the Use Case Diagram node. Ports receive for the with node and delegate those requests to internal parts, software Chapter 13 - Modeling Behavior Using an Activity Diagram components within the node that supports the requested interface. Ports may also receive requests
Part V - Modeling the node Application Architecture from within the and forward them to

external interfaces.

Chapter 14 - Modeling the Application Architecture

Cross-Reference Portsthe areComponent covered fully in Chapter 5 and Chapter 15. Chapter 15 - Modeling Software Using Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model Be designated active or inactive.

Chapter 17 - Representing an Architecture in UML 2.0

From Communications :: Class node inherits the ability to When modeling runtime instances of a node, it is possible to

Chapter 18 - Applying to the UML Diagrams designate which Constraints nodes are currently active in a scenario and which nodes remain dormant. This view

potentially provides insight regarding load balancing. Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Define how it receives signals. In addition to receiving events, a node may receive signals, asynchronous notifications from other nodes. The receipt of a signal does not obligate the node to Chapter 21 - Customizing UML Using Profiles respond. That decision belongs to the behavior specification for the node. See BasicBehaviors :: Chapter 22 - XML Metadata Interchange BehavioredClassifier earlier.
Chapter 20 - Using a Modeling Tool Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation From StructuredClassifiers :: Guide Class as node inherits the ability to Appendix C - Standard Elements

Own an internal structure. That is, a node may contain parts. Glossary
Index List of Figures List of Tables

Own ports. This extended definition of Class simply combines the features of Ports :: EncapsulatedClassifier and Communications :: Class.

List of Listings Because a node is a type of class, it may also be stereotyped. Stereotypes can help categorize the

expected structure and behavior of a node. Some typical examples of node stereotypes are < Day Day Up > application server. A "backend" computer that executes applications remotely. client workstation. A computer that executes the user interface portion of applications. UML Bible
ISBN:0764526049 by Tom Pender mobile device. A computing device that does not need to be connected to other computers, and is John Wiley & Sons 2003 (940 pages) designed to be portable.

For beginning to advanced users, this book provides coverage ofis the versatility of 1.4environment, and 2.0 UML like a piece of automated embedded comprehensive device. A computer that part of a physical equipment. specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Finally, a node, as defined within Web the Nodes package, may Companion Site Contain other nodes, but only other nodes. That is, the capability to contain other elements is inherited
<?xml version="1.0" encoding="ISO-8859-1"?> from Classifiers :: Class, but is then limited to elements typed as nodes. In UML 1.4, a node could Table of Contents contain components. In UML 2.0 a node may only contain nodes, but may be associated with UML Bible deployed artifacts. This relationship is explored further in the "Deploying Artifacts on Nodes" section Preface later in this chapter.
Part I - An Introduction to UML

Be1subclassed devices and execution environments. Chapter - What Is into UML?


Chapter 2 Chapter 3

Adevice is a physical computational resource-a piece of hardware such as a desktop computer, a UML Diagrams and Extension Mechanisms processor,- or a server, for example, or a human work unit such as a department or team. A device is Chapter 4 Object-Oriented Concepts commonly composed of other devices. Composition may be modeled by placing the contained device Part II - Modeling Object Structure within the node icon representing the containing device. For example, in Figure 17-5, the application server Chapter 5 a-processor. Capturing Rules about Objects in a Class Diagram contains
Chapter 6 Chapter 7 Chapter 8 Chapter 9 - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

- UML Architecture

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software the Component Diagram Anexecution environment is a Using type of node that defines a set of services that support software. For Chapter 16 an - Using Deployment Diagrams in UML 1.4 example, execution environment within the processor on a server in Figure 17-5 might provide the

Figure 17-5: Nested nodes.

operating services needed in to UML support Chapter 17 system-level - Representing an Architecture 2.0 a database application installed in that environment. Some typical stereotypes for Model execution Part VI Bringing Rigor to the environment include OS, workflow engine, database system, J2EEConstraints container. Figure 17-6 extends Figure 17-5 to add an instance of the J2EEServer Chapter 18 and - Applying to the UML Diagrams execution and an instance of the PerformanceEJB component, running in the P174:Processor Chapter 19 node, - Action Semantics execution environment. Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2

- What Is UML? - UML Architecture

Chapter 3 - 17-6: UML Diagrams and Extension Mechanisms Figure An execution environment node that contains a component and runs within a device Chapter 4 Object-Oriented Concepts node. (The gray shading simply highlights the contained execution environment and component.)
Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7

- Capturing Rules about Objects in a Class Diagram - Testing with Objects

- How to Capture Rules about Object Relationships Modeling node instantiation

Part III - like Modeling Object Nodes, classes, mayInteractions be described

at the specification level (corresponding to a class) or at the

Chapter 8 - Modeling Interactions in 1.4 instantiation level (corresponding toUML an object). A node specification uses the same naming convention as Chapter 9 a noun - Modeling Interactions intype UMLof 2.0 a class, that describes the node, such as ApplicationServer or DatabaseServer. A node

instance the naming convention objects, Chapter 10follows - Modeling an Object's Lifecyclefor in UML 1.4 that is, instance name : node name. Figure 17-7 represents on an the left andLifecycle node instances on the right. Chapter 11 - nodes Modeling Object's in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

Figure 17-7: Modeling nodes (left) versus node instances (right).

List of Figures List of Tables List of Listings

Modeling node communication paths

AsFigure 17-8 illustrates, CommunicationPath is a subclass of Association. It specifies the relationship < Day Day Up > between nodes by defining the number of nodes that may be connected (multiplicity), and the nature of the connection, via the name of the path or a stereotype. This addition in UML 2.0 is simply a refinement of the UML 1.4 use of associations to connect nodes.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2

Figure 17-8: CommunicationPath is a subclass/specialization of association.


- UML Architecture

- What Is UML?

Chapter 3 - UML Diagrams and Extension Mechanisms CommunicationPaths support the modeling of a network of nodes to represent the topology of a physical Chapter 4 Object-Oriented Concepts network. For example, Figure 17-9 represents a simple network with client workstations and printers, an
Part II - Modeling Object Structure application server, a print server,

and two database servers (two instances of the same type). The

Chapter 5 - Capturing Rules about Objects tell in a us Class Diagram multiplicities of the CommunicationPaths that any number of client workstations may be connected Chapter 6 - How to Capture about Object Relationships to the application server (in Rules practice there would be an upper limit). There is one print server attached to Chapter 7 - Testing with Objects the application server. There are between one and five printers attached to the print server. The two
Part III - Modeling Interactions database servers Object support the application

server, one as the primary and one as a backup.

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - 17-9: Modeling Software Using using the Component Diagram Figure Network topology nodes in a Deployment diagram. Chapter 16 - Using Deployment Diagrams in UML 1.4

UML suggests the use of an the three-dimensional node icon, but there is nothing in the standard that Chapter 17 - Representing Architecture in UML 2.0 requires its use. You are to associate Part VI - Bringing Rigor to free the Model some more familiar icons. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

any icon with a node that you want. The only limitation is in what

the tool you use will support. For example, Figure 17-10 draws the same model as Figure 17-9 but with Chapter 18 - Applying Constraints to the UML Diagrams

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Figure 17-10: Alternative node icons. Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2

- What Is UML? Modeling node generalization - UML Architecture

Chapter 3 a - node UML Diagrams and Extension Mechanisms Because is a type of class, nodes may possess attributes, operations, and associations. In addition, Chapter 4 - Object-Oriented Concepts as a subclass of Class, a node may be generalized. That is, properties of nodes that share the same
Part II - Modeling Structure purpose may be Object organized into sets

of shared and unique properties, using superclasses and subclasses,

Chapter 5 - Capturing Rules about Objects in a Class Diagram respectively, in an inheritance hierarchy. Chapter 6 Chapter 7 Chapter 8 Chapter 9

For example, Figure 17-11 models a generalization hierarchy of application servers in which application - Testing with Objects servers may be configured to three standardized specifications depending on the types of applications they Part III - Modeling Object Interactions support.
- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

- How to Capture Rules about Object Relationships

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - 17-11: Using Deployment Diagrams Figure Generalizing nodes. in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams < Day Day Up > Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Defining Artifacts by Tom Pender


ISBN:0764526049

In the transition from toSons implementation, every logical construct of the design must be mapped to Johndesign Wiley & 2003 (940 pages) an implementation element called an artifact . Each artifact represents an actual piece of software (versus For beginning to advanced users, this book provides a logical specification for software such as a class) that may be and addressed in a storage device or within comprehensive coverage of the versatility of 1.4 2.0 UML specifications, and how to use UML to improve processor memory. Each artifact is shows a manifestation of one or more model elements. For example, the timeliness, and efficiency in development. ContractUserInterface classquality, in a design model may become an HTML page defined to display contractrelated content. Companion Web Site Tip Artifacts may also be found in manual systems as paperwork. But since this book is focused
<?xml version="1.0" encoding="ISO-8859-1"?> primarily on software system development I chose to keep all the examples related to software Table of Contents systems. UML Bible

Figure 17-12 is the metamodel of the Artifacts package. Referring to the model, an artifact is a type of Preface classifier. As such, it may own Part I - An Introduction to UML properties (attributes) and operations. This makes sense because an artifact is the physical manifestation of the logical requirements defined by a class. In addition, an artifact Chapter 1 - What Is UML? may be named to uniquely identify it within a file structure. Chapter 2 - UML Architecture
Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Figure 17-12: Artifact package metamodel.

Chapter 18artifact - Applying Constraints to the UML Diagrams using a Java Servlet that includes the specification interface for a contract could be implemented Chapter 19 - Action Semantics for an HTML page, compressed into a jar file. (Later, you will see how the rules for deploying an artifact
Part VII Automating the UML Process may be-embedded within the Modeling artifact as well.)

An artifact may be composed of other artifacts (see nestedArtifact in Figure 17-12). For example, the user

Chapter 20 - Using a Modeling Tool

Now, in order to describe how an artifact is created, the model draws a relationship called a manifestation, Chapter 21 - Customizing UML Using Profiles between artifact and the elements used in its construction. Figure 17-13 adds the manifestation portion Chapter 22the - XML Metadata Interchange of the Artifacts package to model the rules for this relationship. A manifestation is a type of dependency; Appendix A - UML 1.4 Notation Guide specifically is a2.0 type of abstraction Appendix B - it UML Notation Guide dependency. It is drawn as a dashed arrow between the artifact and
Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

each element utilized by the artifact (see Figure 17-14).

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, an this book provides Figure 17-13: Manifestations used to create artifact. comprehensive coverage of the versatility of 1.4 and 2.0 UML OMG 2.0 specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Figure 17-14: The manifestation dependency between an artifact and a model element.

Preface The utilized elements may be any type of packageable element, that is, pretty much anything in the model
Part I - An Introduction to UML

that can be named. In Chapter 15, a component was defined as the specification for a physical artifact. A

Chapter 1 - What Is UML? component is defined in terms of classifiers that together describe all the features of the component. Chapter 2 an - UML Architecture Because artifact implements the component requirements, the artifact might use the same classifiers Chapter 3 - UML Diagrams and Extension Mechanisms or corresponding packageable elements that represent physical implementation of the classifiers. For Chapter 4 Figure - Object-Oriented Concepts example, 17-14 represents the relationship between the ContractHTML file and the ContractUI
Part II Modeling Structurefile class, that is, the Object ContractHTML

manifests the specification of the ContractUI class in a specific

Chapter 5 - Capturing Rules about Objects in a Class Diagram technology. Chapter 6 Chapter 7 Chapter 8 Chapter 9

Notice the-notation for the artifact: a rectangle with a file icon in the top right corner. An artifact may also Testing with Objects simply use a rectangle with the stereotype artifact, as shown in Figure 17-15. Part III - Modeling Object Interactions
- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

- How to Capture Rules about Object Relationships

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Figure Alternative notation artifacts. Diagram Chapter 15 - 17-15: Modeling Software Using thefor Component
Chapter 16 - Using Deployment Diagrams in UML 1.4

The example in Figure 17-14 highlights an important benefit of modeling the relationship between artifacts and the elements used to manifest, or produce, the artifact. The basic principles of object-oriented design Part VI - Bringing Rigor to the Model constantly strive to separate programming concerns-operation and method, interface and implementation Chapter 18 of - Applying the UML Diagrams (in terms behaviorConstraints and data), to and control-from structure using stereotyped classes. An artifact may be Chapter 19 - in Action manifested any Semantics number of technological alternatives. Using the previous example, the same artifact Part VII - Automating the UML Modeling Process might be generated using a Java Server Page instead of a Servlet.
Chapter 17 - Representing an Architecture in UML 2.0 Chapter 20 - Using a Modeling Tool

Stereotypes can simplifyUML the Using work of defining artifacts. At a high level of abstraction, artifacts might be Chapter 21 - Customizing Profiles distinguished as Metadata sourceInterchange versus executable artifacts. Furthermore, given that developers typically Chapter 22 - XML spend considerable time in one particular set of technologies, it is also useful to stereotype artifacts to Appendix A - UML 1.4 Notation Guide represent standard set ofGuide elements used in a technology platform. For example, Java developers Appendix B the - UML 2.0 Notation
Appendix C - Standard Elements Index

might utilize JSPs, EJBs, Servlets, and HTML. To facilitate the definition of artifacts, the team may choose to establish a profile that includes these element types as standard artifact stereotypes, that is, JSP, Glossary EJB, Servlet, and HTML.
List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UML Bible Deploying Artifacts on Nodes by Tom Pender


ISBN:0764526049

An artifact must be deployed order to be used. That is, it must be placed in a location where it may be John Wiley & in Sons 2003 (940 pages) stored and used. For The target of to the deployment may be a node, that is, an execution environment or a beginning advanced users, this book provides device, a property, or an instance specification. The relationship between the location and the artifact is comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve defined by the Deployment dependency relationship.
timeliness, quality, and efficiency in development.

Figure 17-16 is the metamodel deployments found in the Nodes package. Deployment target is an Companionfor Web Site abstract class used to identify the common features of elements that may be used as the location to deploy an artifact. By defining the deployment target and artifacts separately, the model supports a mix<?xml version="1.0" encoding="ISO-8859-1"?> and-match approach to the assembly of software and hardware elements to craft any number of Table of Contents implementation solutions for a design.
UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

Figure 17-16: Deployment metamodel. - Object-Oriented Concepts OMG 2.0

Chapter 5 - Capturing Rules about Objects in are a Class Diagram DeploymentTarget and DeploymentArtifact abstract metaclasses. Figure 17-17 shows how Chapter 6 How to Capture Rules about Object Relationships deployment targets may be nodes, properties, or instance specifications, and deployed artifacts may either Chapter 7 - Testing with Objects be artifacts, as previously defined, or instance specifications.
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - 17-17: Modeling the Use of a System targets with theand Use deployed Case Diagram Figure Types of deployment artifacts. Chapter 13 - Modeling Behavior Using an Activity Diagram

A deployment is the modeled as a stereotyped Part V - Modeling Application Architecture dependency.

This dependency may be modeled in any of

three ways, as illustrated in Figure 17-18. The ContractUI.jar artifact is deployed on the ClientWorkstation. Chapter 14 - Modeling the Application Architecture In the first example the deployment is modeled Chapter 15 Modeling Software Using dependency the Component Diagram as a dashed arrow from the node to the artifact 16 with the optional stereotype deploy. the second example, the artifact icon is physically located Chapter - Using Deployment Diagrams in UML In 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

within the node icon. In the third example, the artifacts are listed textually within the node icon.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

17-18: Alternative Part IFigure - An Introduction to UML


Chapter 1 Chapter 2 - What Is UML?

notations for deploying an artifact on a node.

The definition of an artifact is further specialized in a DeploymentSpecification. A deployment specification - UML Architecture adds properties that describe the execution parameters for an artifact. The parameters are synchronized Chapter 3 - UML Diagrams and Extension Mechanisms with the type of execution environment on which the artifact is deployed. In other words, a deployment Chapter 4 - Object-Oriented Concepts specification defines the relationship between a specific execution environment and the execution of a Part II - Modeling Object Structure specific artifact.
Chapter 5 - Capturing Rules about Objects in a Class Diagram Chapter - How to Capture Rules about Object Relationships Figure 6 17-19 reveals two properties of a deployment specification. The deploymentLocation identifies Chapter 7 Testing Objects where the artifact iswith loaded onto the node in terms of a directory or memory location. For example, the
Part III - Modeling Object Interactions ContractUI.jar might be stored in the

application's directory on the client. The executionLocation identifies

the execution environment in which the artifact runs. The ContractUI executes in the java virtual machine Chapter 8 - Modeling Interactions in UML 1.4 (JVM) on client workstation. Chapter 9 the - Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - 17-19: Action Semantics Figure Deployment specification metamodel.
Part VII - Automating the UML Modeling Process OMG 2.0

Chapter 20 - Using a Modeling Tool

The parameters for execution defined by a deployment specification may include concurrency, execution, Chapter 21 - Customizing UML Using Profiles and transaction-specific options expressed as tagged values: Chapter 22 - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

concurrencyMode - including thread, process, and none (sequential)

Appendix C - Standard-Elements executionMode including local, remote, and none Glossary Index transactionMode - including transaction, nestedTransaction, and none List of Figures List of Tables

Of course, you may also add your own tagged values.

List of element Listings that contains the specification values is itself an artifact, such as an XML document or a text The

file. Modeling a deployment specification implies the need to represent the definition of the specification as < Day Day Up > well as the instances actually applied to artifacts. UML 2.0 uses approximately the same notation as for classes and objects as shown in Figure 17-20.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Applying the deployment specification to an artifact requires a way to model the relationship. UML 2.0 UML Bible offers two alternatives, shown in Figure 17-21. The first example models the deployment specification as a Preface separate model element with a dependency arrow from the specification to the artifact to which it applies.
Part I second - An Introduction to UML The example models

Figure 17-20: Deployment specification notation.

the deployment specification as a set of properties within the artifact icon.

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Figure Modeling an artifact specification. Chapter 17 - 17-21: Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings
Part VII - Automating the UML Modeling Process

< Day Day Up >

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

UML 2.0 supports a combined viewof the Component and Deployment diagrams that illustrates how John Wiley & Sons 2003 (940 pages) software is implemented in theto computing Components are represented by artifacts that For beginning advanced environment. users, this book provides implement the requirements specified by the components in a Component diagram. Nodes and comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows how to use UML to improve connections on aspecifications, Deployment diagram provide the deployment and execution locations for the artifacts.
timeliness, quality, and efficiency in development.

Component: A component defines the requirements for an implementation of the features specified in Companion Web Site a Class diagram. A component realizes the features of classes (classifiers). Artifact: An artifact defines the implementation of a component in a specific technology. An artifact <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents manifests the features of one or more packageable elements used to describe a physical implementation. UML Bible
Preface
Part I - An Introduction to UML

Chapter 1

Node: A node is either a device or an execution environment within a device. (For manual processes a node may be an organizational unit.)
- What Is UML?

Chapter 2 - UML Architecture Communication path: A communication path is the physical connection between nodes. Chapter 3 - UML Diagrams and Extension Mechanisms

Deployment specification: A deployment specification defines how an artifact is allocated to a node, Chapter 4 - Object-Oriented Concepts including theObject concurrency mode, Part II - Modeling Structure
Chapter 5 Chapter 6

execution mode, and the transaction mode.

Dependencies model the types of relationships between model elements that represent different levels of - How to Capture Rules about Object Relationships specification within a model. Dependencies on a combined Component and Deployment diagram are Chapter 7 - Testing with Objects modeled as a dashed arrow with one of the following stereotypes:
Part III - Modeling Object Interactions

- Capturing Rules about Objects in a Class Diagram

Chapter 8 - Modeling Interactions in UML or 1.4 Realization: A component realizes, describes the requirements for implementing, the features of Chapter 9 or - more Modeling Interactions in UML 2.0 one classifiers. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Manifest: An artifact manifests, or defines a 2.0 specific implementation for, the features of one or more Chapter 11 - Modeling an Object's Lifecycle in UML physical software elements. Part IV - Modeling Object Behavior
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram component.
Part V - Modeling the Application Architecture

Implement: An artifact implements, or defines one implementation for the requirements defined by a

Chapter 14 - Modeling the Application Architecture Deploy: A node deploys, provides a place to store and/or execute, an artifact. Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML <2.0 Day Day Up >
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Part VI: Bringing Rigor to the Model ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides In This Part comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Chapter 18: Applying Constraints to the UML Diagrams


Companion Web Site

Chapter 19: Action Semantics


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

< Day Day Up >

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Chapter UML 18:Bible Applying Constraints to the UML ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) Diagrams
Overview
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

As I mentioned in earlier chapters, you can use a formal language, the Object Constraint Language Companion Web Site (OCL), to specify constraints on attributes and associations, and, in fact, on any classifier. There was a previous release of the same document under the title "UML 1.4 with Action <?xml Note version="1.0" encoding="ISO-8859-1"?> Table of Contents Semantics." To my knowledge, the only difference is the addition of the Action Semantics
UML Bible section. The OMG simply thought that the added content warranted a new version number. You Preface Chapter 1 Chapter 2

will even find references to 1.4 in the OCL 2.0 specification.

Part I - An Introduction to UML

Aconstraint may be specified as an invariant, a precondition, or a post condition. This description of a - What Is UML? constraint reveals one very important fact about OCL: OCL is used to specify static requirements.
- UML Architecture

Chapter 3 There - UML has Diagrams Extension Mechanisms Note been and work proposed to integrate a dynamic language with OCL, which might be Chapter 4 accomplished - Object-Oriented Concepts using a blend of the action semantics described in Chapter 19. But the primary
Part II - Modeling Structure goal ofObject a constraint language,

and OCL specifically, is to define the state of the system at a point

Chapter 5 in - Capturing Rules about Objects in a Class Diagram time. Chapter 6 - How to Capture Rules about Object Relationships

Aprecondition defines the state that a system (or other subject) must assume before the specified action Chapter 7 - Testing with Objects may be Likewise, a post condition Part III - taken. Modeling Object Interactions
Chapter 9

defines the state that a subject must be in when the action is completed. An invariant defines a state that must hold true for the life of the subject. Consequently, a Chapter 8 - Modeling Interactions in UML 1.4 constraint cannot have any residual effect on the subject, that is, it cannot alter the subject in any way.
- Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle UML 1.4 Now, having stressed the static nature of in OCL expressions, I have to say that OCL may also be used to Chapter Modeling or an action. Object's Lifecycle the in UML 2.0 specify11 an -operation However, distinction between OCL and a programming language is that
Part IVmay - Modeling Object Behavior OCL only specify the result of

a behavior-it cannot execute a behavior. Like an operation, the result of

Chapter 12 - expression Modeling the of aBut System with the Use (the Caseimplementation Diagram every OCL is Use a type. unlike a method of an operation), the expression Chapter - Modeling Behavior Using an Activity Diagram cannot 13 change the state of the system.
Part V - Modeling the Application Architecture

Furthermore, the evaluation of an OCL expression is instantaneous. This means that the states of objects Chapter 14 - Modeling the Application Architecture in a model change during evaluation. Chapter 15 - cannot Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML UML 2.0 UML diagrams, I go into detail about both 1.4 and UML 2.0 so that those who are currently using

Although there is an earlier version of OCL, this chapter covers only OCL 2.0. In the chapters on specific UML 1.4 can understand what has changed and how to map their existing models to the updated version.

Chapter 18 OCL - Applying Constraints to the UML However, has yet to be applied to the Diagrams extent that the diagrams have, and this new version of OCL is a Chapter 19 - enhancement. Action Semantics substantial The previous specification may be downloaded as "UML 1.5 with Action
Part VII - Automating the UML Modeling Process Semantics" on the OMG Web site, http://www.omg.org/cgi-bin/doc?ptc/2002-09.

Chapter 20 - Using a Modeling Tool

OCL 2.0 some UML substantial enhancements to the existing standard: Chapter 21provides - Customizing Using Profiles
Chapter 22 - XML Metadata Interchange 1. OCL 2.0 has a metamodel consistent with MOF 2.0, so that OCL uses and extends the same Appendix A - UML 1.4 Notation Guideother languages such as UML and CWM. This approach supports the metamodel used to create

OMG objective to provide a standard modeling framework that may Appendix B - UML 2.0 Notation Guide
Appendix C Elements a.Standard be extended to provide new modeling tools (languages). Glossary

b. ensure interchange of models between vendor products and between problem domains that List of Figures support the standard. (In fact, the interchange format is defined as part of the OCL List of Tables specification.)
Index List of Listings

2.

b.

2. The OCL specification provides a concrete syntax that implements the principles defined by the < Day Day Up > abstract syntax (expressed as a metamodel). This relationship is analogous to the one in UML, which provides a diagramming syntax that implements the UML metamodel that also is based on the MOF.
UML Bible

3. By providing clear distinction between the abstract syntax and the concrete syntax, OCL 2.0 ISBN:0764526049 by a Tom Pender provides the means to define any number of alternative concrete bodies of syntax using either text John Wiley & Sons 2003 (940 pages) or diagrams. For beginning to advanced users, this book provides 4. OCL has been expanded beyond constraints specifications, and showssimply how todefining use UML to improve to an object query and expression quality, and efficiency in development. language.timeliness, Consequently, any model created using the MOF (such as a UML or CWM model) may be queried using OCL, including the MOF model itself. This is illustrated in the fact that the wellCompanion Web Site formedness rules for the UML infrastructure and superstructure are defined using OCL statements. OCL can now invoke behaviors in order to form the content of a query. OCL statements can <?xml5. version="1.0" encoding="ISO-8859-1"?> operations using the OCLMessage concept, a standard approach to describing a behavior Table of evaluate Contents and its result (in the case of synchronous calls). OCLMessage is like a wrapper for an operation. It UML Bible
Preface contains the operation and supports access to the features and use of the operation. (Technically comprehensive coverage of the versatility of 1.4 and 2.0 UML

OCLMessage aUML template Part I - An Introductionis to


Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - What Is UML? - UML Architecture

class that is instantiated using an operation or signal as the parameter.)

< Day Day Up > - UML Diagrams and Extension Mechanisms


- Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Defining the Object Constraint Language by Tom Pender


ISBN:0764526049

OCL 2.0 defines the language at two levels, abstract syntax (or metamodel), and a concrete syntax, the John Wiley & Sons 2003 (940 an pages) language actually used in UMLto models to specify constraints and to make queries. The metamodel For beginning advanced users, this book provides defines the OCL concepts and rules for applying the concepts, abstract syntax , in the same manner comprehensive coverage of the versatility of 1.4 or and 2.0 UML specifications, and shows how to use UML improve that a metamodel defines the diagramming concepts andto rules for UML diagrams. The concrete syntax timeliness, quality, and efficiency in development. implements the abstract syntax. The concrete syntax provided in the UML 2.0 specification is only one of any number of implementations the OCL metamodel. The concrete syntax corresponds to the Companion of Web Site diagramming notations in UML.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

Introducing the abstract syntax

Abstract syntax refers to the conceptual level of the language definition for OCL. In UML, the abstract syntax is expressed as a metamodel (2M or Infrastructure) that explains, for example, what a class is, or Part I - An Introduction to UML what an operation is, as opposed to creating a specific class or operation. Specifically, the UML 2M defines Chapter 1 - What Is UML? a class as a description for "a set of objects that share the same specifications of features, constraints, Chapter 2 - UML Architecture and semantics." It explains that a class may be associated with any number of properties (attributes), Chapter 3 - UML Diagrams and Extension Mechanisms operations, relationships, and even nested classes. In like manner, as the portion of the metamodel Chapter 4 - Object-Oriented Concepts pictured in Figure 18-1 illustrates, the OCL metamodel defines an OCL expression and its relationships to Part II - Modeling Object Structure other meta-concepts such as classifiers, loop mechanisms, and variable expressions.
Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Figure A portion the abstract Chapter 17 - 18-1: Representing an of Architecture in syntax/metamodel. UML 2.0 OMG 2.0 Rigor to the Model Part VI - Bringing
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

In contrast, the concrete syntax, or model-level syntax, describes a class that represents some real-world entity. For example, the class Person has properties, including name and address; operations, including Part VII - Automating the UML Modeling Process work, play, and sleep; and an "owns" association with the class Book. The following OCL statements Chapter 20 - Using a Modeling Tool define invariants on the attributes of the class Event. The first example states that the number of Chapter 21 - Customizing UML Using Profiles performances linked to an Event must be equal to or greater than one, that is, reflect a multiplicity of 1..*. Chapter 22 - XML Metadata Interchange The second example states that the date of the performance must be equal to or greater than the start Appendix A - event, UML 1.4 Notation date of the with which Guide the performance is associated.
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures context Performance inv: List of Tables >= event.startDate self.date List of Listings

context Event inv: self.performance->size() >= 1

< Day Day Up The RFP for OCL 2.0 requires the new standard to define a> clear distinction between the abstract syntax for OCL and any concrete syntax derived from the abstract syntax. The abstract syntax supports the development of additional constraint languages, just as the MOF/UML Infrastructure metamodel supports the development UML of modeling Bible languages for various specialized domains, such as UML for modeling software and the by CWM modeling data warehouse domains. ISBN:0764526049 Tomfor Pender

The RFP also stated that the new standard needed to be compatible with the UML 2.0 metamodel. For beginning to advanced users, this book provides Consequently, the abstract syntax uses the same data types and extension mechanisms defined by the comprehensive coverage of the versatility of 1.4 and 2.0 UML MOF/UML Infrastructure metamodel, plushow a few ones of its own. specifications, and shows to new use UML to improve Finally, the abstract syntax needed to support a true query language, so new concepts have been Companion Web Site introduced. For example, the concept of tuple is added to provide the expressiveness of SQL. As a complete query language, OCL may be used to map the transformation of models, an integral part of the OMG MDA strategy for transitioning models from requirements, through design, and on to implementation. <?xml version="1.0" encoding="ISO-8859-1"?>
Table of Contents UML Bible Preface
Part I - An Introduction to UML In contrast to the rule-oriented

John Wiley & Sons 2003 (940 pages)

timeliness, quality, and efficiency in development.

Introducing the concrete syntax


abstract syntax, the concrete syntax applies the rules of the abstract syntax

to create that may be evaluated at runtime. The OCL expression is associated with a Chapter 1 expressions - What Is UML? classifier, applied to either the classifier itself or to an attribute, operation, or parameter. In each case Chapter 2 and - UML Architecture the constraint is defined inand terms of its placement, the contextual classifier, and the self instance of the Chapter 3 - UML Diagrams Extension Mechanisms OCL expression. Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure

Theplacement is the position where the OCL expression is used in the UML model, that is, as an - Capturing Rules about Objects in a Class Diagram invariant attached to a classifier, a precondition attached to an operation, or a default value attached Chapter 6 - How to Capture Rules about Object Relationships to a parameter.
Chapter 5 Chapter 7 - Testing with Objects
Part III - Modeling Object Interactions The contextual classifier defines the

namespace in which the expression is evaluated. For example,

Chapter 8contextual - Modeling Interactions in UML 1.4 is the class that is the owner of the operation in which the the classifier of a precondition

precondition is defined. This in means that all model elements within that class, such as attributes, Chapter 9 - Modeling Interactions UML 2.0 associations, and operations, may be Chapter 10 - Modeling an Object's Lifecycle inreferenced UML 1.4 within the OCL expression.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Theself instance is the reference to the object that evaluates the expression. It is always an instance of the contextual classifier. This means that evaluation of an OCL expression may result in a different Chapter 12 - Modeling the Use of a System with the Use Case Diagram value for every instance of the contextual classifier. Consequently, OCL may be used to evaluate test Chapter 13 - Modeling Behavior Using an Activity Diagram data.
Part V - Modeling the Application Architecture

Chapter 14 - Modeling Application Architecture OCL concrete syntaxthe may be used for a number of different purposes: Chapter 15 - Modeling Software Using the Component Diagram

As16 a query language Chapter - Using Deployment Diagrams in UML 1.4


Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

To specify invariants on classes and types in the class model

Chapter - Applying Constraints to Stereotypes the UML Diagrams To18 specify a type invariant for and attributes Chapter 19 - Action Semantics

To specify derivation rules for attributes Part VII Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter - XML Metadata To22 describe guards Interchange Appendix A - UML 1.4 Notation Guide

To describe pre- and post conditions on operations and methods

To specify a2.0 target, or target sets, for messages and actions Appendix B - UML Notation Guide
Appendix C - Standard Elements Glossary Index

To specify any expression in a UML model, such as those associated with Behaviors, Parameters, ChangeTriggers and TimeTriggers, and Lifelines

List of Figures List of Tables List of Listings

< Day Day Up > Note The concrete syntax still has a couple of unresolved issues. In UML 2.0, pre- and post conditions are viewed as separate entities. OCL considers them parts of a single operation specification. So the mapping of multiple pre- and post conditions in a single operation has yet to be determined.

Frame conditions define a context in which to interpret a constraint, so that unless a constraint is ISBN:0764526049 by Tom Pender explicitly stated, it is understood that everything else about the context (frame) not explicitly John Wiley & Sons 2003 (940 pages) mentioned should remain the same. This ensures that there are no undefined side effects for an For beginning to advanced users, this book provides operation. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve Backward Compatibility timeliness, quality, and efficiency in development. Companion Web Site The new standard also needed to be backward compatible with OCL 1.4. As an example, collections as defined in UML 1.4 (1.5 with Action Semantics) are always flat, or one-dimensional. UML 2.0 collections to allow for nested collections. But this means that existing operations such as <?xml defines version="1.0" encoding="ISO-8859-1"?> must still work as specified in the earlier version. To address this requirement, UML Table collectNested() of Contents 2.0 preserves the old operations with their original meaning, and provides additional operations to UML Bible cope with nested collections. Preface
Part I - An Introduction to UML

UML Bible

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms < Day Day Up > - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Accessing UML Properties in a UML Diagram by Tom Pender


ISBN:0764526049

In order to apply OCL to UML, this chapter uses the example Class diagram shown in Figure 18-2. The John Wiley & Sons 2003 (940 pages) diagram says that For beginning to advanced users, this book provides A Venue employs Employees. specifications, and shows how to use UML to improve
timeliness, quality, and efficiency in development. comprehensive coverage of the versatility of 1.4 and 2.0 UML

Those employees report to one another in a hierarchical structure of supervisors and subordinates. Companion Web Site Employees may report to more than one supervisor. Employees, while in the role of venue manager, may authorize contracts with agents. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents
UML Bible

A contract authorizes one agent, and is authorized by one venue manager. a venue manager.

Preface In order for an agent to be in the system he must have at least one contract, that is, he has been
Part Iauthorized - An Introduction to UML by at least once

Chapter 1

- What Is UML?

EmployeeStatus is an enumeration that lists the valid values for the empStatus attribute used in the Chapter 2 - UML Architecture Employee class definition. Chapter 3 - UML Diagrams and Extension Mechanisms
Chapter 4 Chapter 5
Part II - Modeling Object Structure

- Object-Oriented Concepts ContractStatus is an enumeration that lists the valid values for the status attribute used in the Contract class definition. - Capturing Rules about Objects in a Class Diagram

Chapter 6 - How to Capture Rules about Object Relationships OCL statements may be assigned to just about any element seen in Figure 18-2. But in order to assign a

constraint we must with be able to define the placement of the constraint. The placement is defined in terms of Chapter 7 Testing Objects an element of a UML model - the attribute Part III - Modeling Object Interactions
Chapter 9

Employee firstName, the role name agent on the authorizes

association, or the operation Agent.getName(), for example. Chapter 8 - Modeling Interactions in UML 1.4
- Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Figure Sample Class diagram. Appendix A - 18-2: UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Index List of Figures List of Tables List of Listings

Every element of a UML model resides within a context. For OCL statements, the context is always expressed as an OCL classifier. The result of an OCL expression is always a data type. Figure 18-3 is the Glossary model for all OCL data types defined in the OCL Standard Library.

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Figure 18-3: OCL Standard Library. OMG 2.0

Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> The of OCL Standard Library includes UML model types under the class OCLAny, as well as OCLMessages Table Contents

andBible Collections. OCLAny encompasses all OCL primitive types (Real, Boolean, String, and Integer) and UML all types defined in a UML model. The classes OCLType, OCLState, and OCLModelElement are Preface enumerations that map parts Part I - An Introduction tothe UML
Chapter 2 Chapter 3 - UML Architecture

of a UML model to the OCL syntax so that the elements can be referenced in OCL statements. In other words Chapter 1 - What Is UML? There is an entry in the OCLModelElement enumeration for every element defined in a UML model. - UML Diagrams and Extension Mechanisms The OCLModelElement value is used as the parameter on the ocllnState( ) and oclIsKindOf( ) Chapter 4 - Object-Oriented Concepts operations to find out the state of a model element and the type of the model element, respectively.
Part II - Modeling Object Structure

Chapter 5 -is Capturing Objects in a Class Diagram There an entry Rules in the about OCLType enumeration for each class of objects defined in a UML model. A

value from enumeration returned from the operation oclIsKindOf(ome:OCLModelElement) Chapter 6 Howthis to Capture Rules is about Object Relationships identifying the type the model element passed in as the parameter. This is most useful when the Chapter 7 - Testing with of Objects actual type is Object a subtype in a generalization Part III - Modeling Interactions subtype. Chapter 8 - Modeling Interactions in UML 1.4
Chapter 9 - Modeling Interactions in UML 2.0

hierarchy and the constraint needs to evaluate the specific

There is an entry in the OCLState enumeration for each state defined in a UML model. A value from this enumeration is returned from the operation oclIsInState(ome:OCLModelElement) identifying the Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 state of the model element passed in as the parameter.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System withsubclasses) the Use Case Diagram OCLMessage and OCLCollection (and their are template classes, designated by the "T" in a Chapter 13 Modeling Behavior Using an Activity Diagram box in the top right corner of the class. A template class cannot be instantiated directly. Instead, it requires
Part V - Modeling the other Application Architecture a parameter, some type, which defines

the contents of the instantiated class. For example, a Set

with the parameter Agent is instantiated as a Set that contains only unique instances of Agent objects. A Chapter 14 - Modeling the Application Architecture Set with the parameter Contract is instantiated as a Diagram Set that contains only unique instances of Contract Chapter 15 - Modeling Software Using the Component objects. Chapter 16 - Using Deployment Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

The OCL Standard Library is documented fully later in this chapter.

Chapter 18 - Applying Constraints to the UML Diagrams The context for an OCL expression is written using the context keyword and the context classifier name, as Chapter 19 - Action Semantics the following example shows:
Part VII - Automating the UML Modeling Process

Chapter 20 -Employee... Using a Modeling Tool context Chapter 21 -context Customizing UML Using Profiles -- this statement identifies the Employee class Chapter 22 context - XML Metadata Interchange as the classifier Appendix A -Contract... UML 1.4 Notation Guide context Appendix B -context UML 2.0 Notation Guide identifies the Contract class -- this statement Appendix - Standard classifier Elements as theC context Glossary Index List of Figures

Note the use of the double dash (--) for comments.

List of Tables When a model involves many packages there is a possibility that class names may be duplicated across List of Listings packages. The following code samples represent two classes with the name Employee defined in two

different packages within the TheaterSystem package. In this case, the fully qualified description of a < Day Day Up > context classifier includes the keyword package and the package path name: package TheaterSystem::Sales UML Bible context Employee...
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

and

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve package TheaterSystem::ContractAdministration timeliness, quality, and efficiency in development.

context Employee...

Companion Web Site

where the double colons (: :) act as separators for the package names to indicate containment. In this <?xml version="1.0" encoding="ISO-8859-1"?> example, the ContractAdministration package is contained in the TheaterSystem package. Table of Contents
UML Bible Preface

Part I - An Introduction to UML

The constraint may be applied to the context classifier itself or to one of its properties. Properties include attributes, operations, and association ends.

Chapter 1 - What Is UML?operations that do not change the state of the system may be used in OCL Caution Only those Chapter 2 - UML Architecture statements. Chapter 3 Chapter 4 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts Modeling constraints on attributes

Part II - Modeling Object Structure

Chapter 5 - Capturing Rules about Objects ininvariants. a Class Diagram Constraints on attributes are expressed as Invariant expressions are constructed using Chapter 6 - to How to Capture Rules about Object Relationships references elements of the model with logical and arithmetic operators. References created within Chapter 7 - Testing with Objects expressions may be reused through the application of let and def statements.
Part III - Modeling Object Interactions

Invariants Chapter 8 - Modeling Interactions in UML 1.4


Chapter 9

Aninvariant is a rule that must hold true throughout the life of the attribute. In UML, an invariant (constraint) on an attribute is modeled as a property, an expression enclosed in curly braces following the Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 attribute declaration.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior

- Modeling Interactions in UML 2.0

Chapter Modeling the Use of a System with the Use Case Diagram Here's 12 an example of a UML attribute declaration: Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

-startDate:Date {can't overlap any other contracts for

Chapter 14 - Modeling the same agent}the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

The default value is the current date. The Chapter 17 - Representing an Architecture in invariant UML 2.0 states that the start date of this contract cannot overlap the VI effective period of any other contracts Part - Bringing Rigor to the Model
Chapter 19 - Action Semantics

for the same agent.

Chapter 18 - Applying Constraints to the UML Diagrams


Part VII - Automating the UML Modeling Process

Invariants in OCL use the keyword inv. For example:

package Chapter 20 -TheaterSystem::ContractAdministration Using a Modeling Tool context Chapter 21 -Employee Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation The example invariant states Guide that the context classifier is the Employee class found in the Appendix C Standard Elements ContractAdministration package, within the TheaterSystem package. The invariant further states that the Glossary property, an attribute called firstName, must be at least one character and no more than 30 characters Index in length. List of Figures

inv: firstName -> size() >=1 and firstName->size() <=30

The line of the example reveals the syntax for invoking features of the OCL elements. The attribute List of last Tables
List of Listings

firstName is part of the Employee class. The attribute firstName is a String. The expression

firstName.size() uses the predefined operation size() on the String OCL data type. The dot < Day Day Up > notation is the OCL standard approach for accessing features of an OCL data type. Other features of the OCL String data type include concat,substring,tolnteger, and toReal (). All of these features are defined in the OCL Standard Library later in this chapter.
UML Bible

The operators >=by and <=Pender are among the set of standard operators for OCL expressions. The complete set ISBN:0764526049 Tom of operators is described in Table 18-1. John Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Table 18-1: OCL Infix Operators specifications, and shows how to use UML to improve

+ *

addition timeliness, quality, and efficiency in development. subtraction Companion Web Site multiplication

<?xml version="1.0" encoding="ISO-8859-1"?> / division Table of Contents

< Bible less than UML


Preface >

greater than

Part I - An Introduction to UML

<> 1not equalIs toUML? Chapter - What


Chapter - UML Architecture <= 2less than or equal to Chapter 3 Chapter 4

>=

greater than or equal to

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

and both values must be true Part II - Modeling Object Structure


Chapter 5at Capturing Rules about Objects in abe Class Diagram or least one of the expressions must true Chapter 6 - How to Capture Rules about Object Relationships Chapter 7 Chapter 8 Chapter 9

xor

only one of the expressions is true


- Testing with Objects

Part III - Modeling Object Interactions

- Modeling Interactions in UML 1.4 let and def expressions - Modeling Interactions in UML 2.0

Chapter 10 - Modeling anOCL Object's Lifecycleit in 1.4 In the evaluation of an expression, isUML often necessary to introduce an interim value used only in the Chapter 11 - Modeling Object's Lifecycle UML expression. The letan expression enables in you to 2.0 define a variable, assign a data type using the colon (:)
Part IV - Modeling Object Behavior designation, and even assign an initial

value using the equal to (=) operator. Once the variable is defined, it

Chapter 12 - Modeling the in Use of a System the Usethat Case Diagram may be used anywhere the rest of the with expression contains it. When the expression completes, the

variable is -no longer Behavior availableUsing for use. other Diagram words, the variable is scoped by the expression in which it is Chapter 13 Modeling an In Activity defined. In the following example, lengthOfEmployment Part V - Modeling the Application Architecture Employee Chapter 14 - invariant Modeling expression. the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 -Employee Using Deployment context inv: Diagrams in UML 1.4

is available only within the context

let lengthOfEmployment: Integer = <expression> in Chapter 17 - Representing an Architecture in UML 2.0 if VI lengthOfEmployment > 365 Part - Bringing Rigor to the Model then <expression> Chapter 18 - Applying Constraints to the UML Diagrams else <expression> Chapter 19 - Action Semantics endif Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix B - UML 2.0 Notation Guide Glossary Index context Agent List of Figures def: attr lengthOfEmployment: Integer = <expression> List of Tables List of Listings

Thedef (definition) provides the means to use a variable whenever the context classifier is evaluated. The def expression is defined independent of the places where it may be used. Once the definition is created Appendix A - UML 1.4 Notation Guide in the context classifier, it may be used in any expression applied to the same context classifier. An attribute definitionElements uses the keywords def:attr: Appendix C - Standard

An operation definition uses the keywords def: oper:

< Day Day Up >

context Agent def: oper averageSalesPercentage(): Integer


UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Modeling preand post conditions on provides operations For beginning to advanced users, this book
Constraints may be assigned to operations in two forms: specifications, and shows how to use UML to improve
timeliness, quality, and efficiency in development. Companion Web Site comprehensive coverage of the versatility of 1.4 and 2.0 UML

Aprecondition, which defines the required state of the model before the operation may execute. Apost-condition, which defines the required state of the model after the operation has completed execution. <?xml version="1.0" encoding="ISO-8859-1"?>
Table of Contents UML Bible

A precondition is expressed in terms of the acceptable values of the input parameters and/or the state of the model when the operation is invoked. For example, the operation Employee.setAwardStatus () Preface is invalid if the employee is currently on probation or in disciplinary status. The context of the constraint is Part I - An Introduction to UML the Employee class. The property is the setAwardStatus () operation. The constraint is a Chapter 1 - What Is UML? with the keyword pre. The following OCL statement captures these precondition, designated Chapter 2 UML Architecture requirements:
Chapter 3 Chapter 4 - UML Diagrams and Extension Mechanisms Object-Oriented Concepts context -Employee: :setAwardStatus(): Boolean Pre: Chapter 5 <> - Capturing Rules about Objects in a Class Diagram status EmployeeStatus:: PROBATION and Chapter 6 How to Capture Rules about Object Relationships status <> EmployeeStatus:: DISCIPLINE
Part II - Modeling Object Structure

Chapter 7

- Testing with Objects

Part III - Modeling Object Interactions

EmployeeStatus an enumeration, Chapter 8 - Modelingis Interactions in UMLand 1.4 both probation and discipline are allowed values of the enumeration. The double colon (::) is used Chapter 9 - Modeling Interactions in UML 2.0 to identify a value within the enumeration.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

You also can use literals, as in

context :setAwardStatus (): Chapter 12 -Employee: Modeling the Use of a System with the UseBoolean Case Diagram Pre: status <> 'PROBATION' and Part V - Modeling the Application Architecture status <> 'DISCIPLINE'
Chapter 13 - Modeling Behavior Using an Activity Diagram Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 the - Using Deployment Diagrams in UML 1.4 Note that line breaks are discretionary. The following expressions are also valid: Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

context Employee::setAwardStatus():Boolean Pre: status <> EmployeeStatus::PROBATION and Chapter 19 <> - Action Semantics status EmployeeStatus::DISCIPLINE
Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating the UML Modeling Process

Chapter 20 -Employee::setAwardStatus():Boolean Using a Modeling Tool context Pre: Chapter 21 <> - Customizing UML Using Profiles status EmployeeStatus::PROBATION and Chapter 22 <> - XML Metadata Interchange status EmployeeStatus::DISCIPLINE Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

A post condition states what must be true when the operation has completed. This is expressed by testing Appendix C - Standard Elements the result value of the operation and/or the state of the model when the operation has completed. For Glossary
Index

example, in the following OCL expression the operation setAwardStatus () is supposed to change the value of the attribute to EmployeeStatus::award, so when the operation has completed, the test for List of Figures the expected change should result in a true value.
List of Tables List of Listings

context Employee::setAwardStatus():Boolean < Day Day Up > post:status = EmployeeStatus::AWARD

The standard also supports UML Bible the use of constraint names. For pre- and post conditions the name is placed immediately afterby the keyword and before the colon, as in the following code snippet: ISBN:0764526049 Tom Pender
John Wiley & Sons 2003 (940 pages)

context Employee: :setAwardStatus (): For beginning to advanced users, thisBoolean book provides coverage of the versatility of 1.4 and 2.0 UML postsuccess: comprehensive status = EmployeeStatus::AWARD
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

A post condition may Companion also require that, for the operation to succeed, it must have sent a message to Web Site another object. To do this, OCL needs a means to specify operation calls. To express that an operation has been invoked on another object, specify the object type, the ^ (has been sent) symbol, and the <?xml version="1.0" encoding="ISO-8859-1"?> operation that must have been sent to the object. For example, when the setAwardStatus() operation Table of Contents has completed it must have sent the message issueAward (e:Employee) to the HumanResources UML Bible object (the parameter value for the message is the current employee instance):
Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3

context Employee - What Is UML? post:HumanResources^issueAward(self)


- UML Architecture - UML Diagrams and Extension Mechanisms

Chapter 4 condition - Object-Oriented Concepts The post reads, "The HumanResources object has been sent ( ^) the message issueAward',
Part II Modeling Object Structure along with the information about the

current employee instance (the self-instance)".

Chapter 5

- Capturing Rules about Objects in a Class Diagram

A post condition may refer to values forObject properties of an object at two points during the evaluation of the Chapter 6 - How to Capture Rules about Relationships expression: at the start the operation or upon completion of the operation. Chapter 7 - Testing withof Objects
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

To refer to the value of a property at the start of the operation, postfix (add to the end of) to the property - Modeling Interactions in UML 1.4 name the keyword @pre:
- Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

context Employee assign(empl:Employee):Boolean post: nbrOfSubordinates = nbrOfSubs@pre + 1

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Usingaan Activity of Diagram Caution Attempting to access property an object that has been created or destroyed during
Part V - Modeling the Application Architecture execution of the operation results

in the type OclUndefined.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing anon Architecture in UML 2.0 A constraint is often based the relationships between objects and/or values of attributes of associated
Part VI - Bringing Rigor to theto Model objects. Making references associated

Navigating associations

objects is referred to as navigating across the association. OCL

Chapter 18notation - Applying Constraints to the UML uses dot to trace the ownership of Diagrams information across a set of objects and their attributes. For Chapter 19 in - Action Semantics example, the sample Class diagram in Figure 18-2, an agent is associated with the employees who
Part VII - Automating the UML Modeling Process have functioned as venue managers on the contracts

that the agent has with the theater company.

Chapter 20 - Using a Modeling Tool

When a venue managerUML needs to look up information about agents with whom he has contracted, the Chapter 21 - Customizing Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

OCL expression simply prefixes the property name with the role name of the end of the association next to the class being referenced, as in associationEndName.address. For example:

context Appendix C -Employee Standard Elements


Glossary Index List of Figures In this example, venue is the role name of the end of the employs association next to the Venue class, as List of Tables shown in Figure 18-2. List of Listings

inv: self.workLocation() = venue.address()

In this second example, the result of the operation currentContract is an object of type Contract. < Day Day Up > So, the result of currentContract () is used in the OCL expression to gain access to the Contract attributestatus:
UML Bible context Agent terminate():Boolean by Tom Pender post: currentContract().status= John Wiley & Sons 2003 (940 pages) ContractStatus::TERMINATED

ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows how to use UML to improve If there is no role specifications, name on the association end, the type of the object is used. This works just about timeliness, quality, and efficiency in development.

everywhere except on reflexive associations where the types on both ends are the same. In that case, the Companion Site the ambiguity from the references. role names are required in order Web to remove
<?xml version="1.0" encoding="ISO-8859-1"?> maximum multiplicity value is one, the reference is a single object, as in the previous examples. But when Table of Contents

Navigating across associations has to take into account the multiplicity of the association end. When the

the multiplicity allows more than one instance, the result is a Set object containing all of the objects in the relationship, without any duplicates. If the {ordered} constraint is applied to the association end, the result Preface is a Sequence , an ordered group of objects.
UML Bible
Part I - An Introduction to UML

Chapter 1 - to What Is UML? classes uses the same basic reasoning. Because there is no role name, the type Navigating association Chapter 2 - UML Architecture of the reference is the type of the association class. In Figure 18-4, an agent is associated with the

Contract association class describing the relationship between a venue manager and an agent. Chapter 3 class, - UMLan Diagrams and Extension Mechanisms
Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4
Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure Navigating an association Chapter 9 - 18-4: Modeling Interactions in UML 2.0 class.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

When an agent behavior needs to reference a property of the association class, use the dot notation and write the name of the association class in lower case: context Agent inv: contract->size() >= 1

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using Diagram This example states that in order forthe an Component agent to exist, he must participate in at least one contract. Chapter 16 - Using Deployment Diagrams in UML 1.4

Caution As the examples become more complex, I won't write out the entire OCL expression when Chapter 17 - Representing an Architecture in UML 2.0 trying to illustrate a single point Part VI - Bringing Rigor to the Model
Chapter 19 - Action Semantics

about syntax. I will occasionally use an ellipsis ( ) to indicate

that I am omitting some not directly pertinent to the current topic. Chapter 18 - Applying Constraints to theinformation UML Diagrams If the association class describes a reflexive association, as does the Assignment class in Figure 18-5, then the class name is not enough. The association class may be accessed by employees participating on Chapter 20 - Using a Modeling Tool either end of the association. Without further explanation we cannot know how the employee is Chapter 21 - Customizing UML Using Profiles participating in the relationship and whether or how they should access the association class. For example, Chapter 22 - XML Metadata as Interchange an employee functioning a subordinate should not be able to query his supervisor's assignments, but a Appendix A UML 1.4 Notation Guide supervisor must be able to query her subordinates' assignments.
Part VII - Automating the UML Modeling Process

Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram

Part II - Modeling Object Structure

Figure 18-5: Navigating to an association class on a reflexive association.

Chapter 6 the - How to Capture Rules Objectsupervisor Relationships To clarify context, append theabout role name in square braces [supervisor] as in the Chapter 7 Testing with Objects following expression:
Part III - Modeling Object Interactions

Chapter 8

Modeling Interactions in UML 1.4 context -Employee Chapter 9 - Modeling Interactions in UML 2.0 inv: ... self.assignment[supervisor] ... Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior The preceding expression refers to

the set of assignments that describe relationships between the context

employee and all of the supervisors. approach Chapter 12 Modeling the associated Use of a System with theUse Use this Case Diagram when you want to find out who an employee has been assigned to work and when he worked for them. Chapter 13 Modeling Behavior Using anfor Activity Diagram
Part V - Modeling the Application Architecture

The following expression refers to the set of assignments that describe relationships between the context employee and all of the associated subordinates. Use this approach when you want to find out who is Chapter 15 - Modeling Software Using the Component Diagram working for the employee and when they worked for her.
Chapter 14 - Modeling the Application Architecture Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

context Employee inv: ... self.assignment[subordinate] ...

Navigating out of an association class, to either of the classes on the ends of the association, uses the

Chapter 20 dot - Using a Modeling standard notation. When Tool the association class Assignment needs to refer to the object playing the Chapter 21 - Customizing Using Profiles subordinate role it uses UML subordinate.property . When the association class Assignment needs to Chapter - object XML Metadata refer to22 the playing Interchange the supervisor role it uses supervisor.property. Appendix A - UML 1.4 Notation Guide Appendix B -Assignment UML 2.0 Notation Guide context Appendix inv: C - Standard Elements Glossary ... subordinate.firstName ... Index ... supervisor.firstName ... List of Figures List of Tables

To of navigate List Listings a qualified association , the qualifier value is enclosed in square braces following the type of

the referenced object. In the following example, a venue looks up an employee using an employee id < Day Day Up > value: context Venue UML Bible inv: ... self.employee [123456] ...
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced this book provides by commas, in the order specified in If there is more than one qualifier attribute, users, the values are separated comprehensive coverage of the versatility of 1.4 and 2.0 UML the UML class model. specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

context Venue Companion Web Site inv: ... self.employee[Pender, Reno] ...
<?xml version="1.0" encoding="ISO-8859-1"?> Alsoof note that OCL does not allow the use of a partially specified qualifier value. Table Contents UML Bible Preface

Accessing overridden properties

Part I - An Introduction to UML

When using subclasses, Chapter 1 - What Is UML? it is valid to override an inherited attribute definition or operation. If you need access2 to the definition in the superclass, use the oclAsType expression to recast the object reference to Chapter - UML Architecture the type superclass. Here's an example: Chapter 3 of-the UML Diagrams and Extension Mechanisms
Chapter 4 - Object-Oriented Concepts

context PremiumContract Part II - Modeling Object Structure inv: ... self.oclIsType( ). terms ... Chapter 5 - Capturing Rules about Contract Objects in a Class Diagram
Chapter 6 Chapter 7 Chapter 8 Chapter 9 - How to Capture Rules about Object Relationships - Testing with Objects

Part III - Modeling Object Interactions

This expression accesses the terms property as defined in the superclass Contract instead of the definition provided in the context class called PremiumContract.
- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 < Day Day Up > Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Using the Predefined Properties for all Objects by Tom Pender
ISBN:0764526049

There are several predefined apply to all objects, namely OclType and John Wiley & properties Sons 2003 that (940 pages) OclState.OclType contains a reference to thethis classifier type associated with the context object. For beginning to advanced users, book provides OclState contains a reference to the current state of the context object. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve quality, and efficiency in development. These propertiestimeliness, can be used to evaluate an object before trying to use it. Standard operations that use these properties provide the means to test the object's type, to test whether it is a subclass of another type Companion Web Site of object, to test the current state of the object, and to test whether it was created as part of the current operation. You can even recast the object as one of its subtypes. The operations to test these predefined <?xml version="1.0" encoding="ISO-8859-1"?> properties are as follows: Table of Contents UML Bible Preface

oclIsTypeOf (t: OclType): Boolean oclIsKindOf (t: OclType): Boolean Part I - An Introduction to UML oclInState (s: OclState): Boolean Chapter 1 - What UML? oclIsNew (): Is Boolean Chapter 2 UML Architecture oclAsType (t: OclType): instance of OclType
Chapter 3 Chapter 4 Chapter 5 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

oclIsTypeOf - Capturing Rules about Objects in a Class Diagram

Chapter 6 property - How to Capture Rules about Object Relationships Use the oclIsTypeOf to determine whether the current object is the same type as the context Chapter 7 Testing with Objects object. To do so, test the property value using the corresponding operation oclIsTypeOf(type). For
Part III - Modeling Object Interactions example:

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4

Modeling Interactions in UML 2.0 context -Agent

Chapter 10 - Modeling an Object's Lifecycle-in UML inv: self.oclIsTypeOf(Agent) is 1.4 true Chapter 11 - Modeling an Object's Lifecycle-in UML inv: self.oclIsTypeOf(Venue) is 2.0 false
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

oclIsKindOf

Chapter 14 - Modelingexample the Application Architecture TheoclIsTypeOf dealt with the direct type of an object. Use the operation oclIsKindOf(t) Chapter 15 Modeling Software Using the Component Diagram to determine whether it is either the direct type of an object or one of the supertypes of an object. Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

context PremiumContract inv: self.oclIsKindOf(PremiumContract) Chapter 18 - Applying Constraints to the UML Diagrams -- true for both contracts and premium contracts
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

oclInState

Use the operation oclInState(s) to determine the current state of an object. Values for s are the names of the states in the state machine(s) attached to the classifier of object. For nested states, the state names Appendix - UML 2.0 Notation Guide colon (::). In the example state machine in Figure 18-6, values for s may be B combined using the double Appendix C Standard Elements can be Probation,Normal,Probation::AwaitingReview,Probation::NewHire.
Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

18-6: Sample partial state machine for Employee. <?xml Figure version="1.0" encoding="ISO-8859-1"?> Table of Contents The valid OCL expressions based on Figure 18-6 are: UML Bible
Preface

object.oclInState(Probation) Part I - An Introduction to UML object.oclInState(Normal) Chapter 1 - What Is UML? object.oclInstate(Probation::AwaitingReview) Chapter 2 - UML Architecture object.oclInState(Probation::NewHire) Chapter 3 - UML Diagrams and Extension Mechanisms
Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 - Object-Oriented Concepts
Part II - Modeling Object Structure

If there are multiple state machines attached to the object's classifier, the state name can be prefixed with - Capturing Rules about Objects in a Class Diagram the name of the state machine containing the state and the double colon (::), as with nested states.
- How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part III - Modeling Object Interactions

oclIsNew

Use the operation oclIsNew() only in post conditions to determine whether the object was created Chapter 9 - Modeling Interactions in UML 2.0 during the execution, as in
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

context Contract Contract(start:Date, end:Date, terms:String) Chapter 12 - Modeling the Use of a System with the Use Case Diagram post:self.oclIsNew()
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture In this example, the expression tests to see whether the instance of contract was created during the Chapter 15 of - Modeling Software Using the ComponentDate Diagram execution the constructor Contract(start: ,end: Date, terms:String). Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

OclAsType

Chapter 18 - Applying Constraints to the UML Diagrams OclAsType allows the expression to recast an object into a more specific type. For example, an Chapter 19 - may Action Semantics expression be passed a value of type Contract, but the expression needs to evaluate properties
Part VII Automating the UML Modeling Process unique to PremiumContracts :

Chapter 20 - Using a Modeling Tool Chapter 21 -Contract Customizing UML Using Profiles context Chapter 22 - XML Metadata Interchange inv: ... self .oclAsType( PremiumContract).terms ... Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UMLCollections Bible Working with by Tom Pender


ISBN:0764526049

Many of the results of Wiley OCL expressions contain more than a single value. Many of them include lists of John & Sons 2003 (940 pages) objects that OCLFor calls Collections. OCL defines of lists - Collection, Set, Bag, and Sequence beginning to advanced users,four this types book provides as shown in Figure 18-7. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 3 Chapter 4

- What Is UML? Figure OCL Collection classes. Chapter 2 - 18-7: UML Architecture

Collection -isObject-Oriented an abstract type, with the concrete collection types as its subtypes: Concepts ASet contains a group of like items (the same type) and may not contain any duplicates. There is no

- UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

Chapter 5 - Capturing about Objects a Class Diagram specified order toRules the elements of thein set. Chapter 6

- How to Capture Rules about Object Relationships ABag contains a group of like items (the same type) but, unlike a set, may contain duplicates. There Chapter 7 Testing with Objects

is no specified order Interactions to the elements Part III - Modeling Object


Chapter 8 Chapter 9

of the bag.

ASequence is like a Bag, but the elements are ordered. This feature corresponds to the use of the - Modeling Interactions in UML 2.0 {ordered} constraint on a group of elements in a UML diagram - instances of a class on the end of an Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 association or multiple values of an attribute, for example.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Behavior Caution TheObject "order" in a Sequence

- Modeling Interactions in UML 1.4

refers to the placement of an item within the sequence, not an

Chapter 12 - Modeling the Use of System with Case Diagram ordering based onathe values of the the Use elements themselves. Chapter 13 - Modeling Behavior Using an Activity Diagram

In UML 1.4, a collection in OCL Architecture is always flat, Part V - Modeling the Application

that is, a collection can never contain other collections as elements. This restriction is lifted in UML 2.0 to Chapter 14 - Modeling the Application Architecture allow collections to contain elements that are also collections. The OCLSoftware Standard Library specific flatten operations for collections: Chapter 15 - Modeling Using the includes Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 OCL 1.4 collect, but without flattening applied collectNested() , which is identical to the Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor toflattens the Model flatten() , which a nested

collection

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

collect(), which is identical to collectNested()- > flatten ()

Chapter 20 - Using a Modeling Tool

Each of these operations is explained later in the "OCL Standard Library" section.

Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

Collection operations

OCL defines a number of operations specifically aimed at addressing the need to facilitate the manipulation of collections:

select functions like a filter to pick and choose items from a collection to make a new collection that Glossary
Index contains only the items that meet the specified criteria. List of Figures List of Tables

List of Listings

reject is the opposite of select(), effectively creating a collection of items that do not meet the specified criteria.

collect is used to create a new collection from information gleaned from another collection or < Day Day Up > collections. forAll allows the specification of a constraint that is applied to every element in a collection.
ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) iterate accesses each member of a collection, enabling evaluations and queries to be performed For beginning to advanced users, this book provides on each element. comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows how to use to improve The properties ofspecifications, a collection are accessed using theUML arrow symbol (- >) between the collection name and timeliness, quality, and efficiency in development.

exists determines whether a value is found in at least one member of a collection.

UML Bible

the property. For example,

Companion Web Site

collection -> select(...) agents -> select(...) <?xml version="1.0" encoding="ISO-8859-1"?>


Table of Contents UML Bible Preface

The parameter of the select,reject,collect,forAll, and exists operations is the same. They take on four forms, three standard forms and a shorthand form. Part I - An Introduction to UML
Chapter 1 -form, Whatthe Is UML? In this first operation uses the Boolean to evaluate every member of the collection: Chapter 2 - UML Architecture Chapter 3 Chapter 4

collection -> operation(boolean-expression)


- Object-Oriented Concepts

- UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

Chapter - Capturing about using Objects inselect a Class Diagram Here's 5 a sample OCLRules statement the operation: Chapter 6 - How to Capture Rules about Object Relationships Chapter 7 -Venue Testing with Objects context
Part III Modeling Object Interactions inv: self.employee ->

Chapter 8 - Modeling in UML 1.4:: PROBATION) select(status =Interactions EmployeeStatus Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

This statement iterates the members of the employee collection defined in the venue (through Chapter 11 - Modeling an through Object's all Lifecycle in UML 2.0 the IV association with the Employee Part - Modeling Object Behavior class). It creates a collection of all employees employed at the current venue, and who are on probation. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

In this second form, the operation uses the variable v to hold each member of the collection as it iterates through the members. It then evaluates the Boolean expression against the member held in the variable. collection -> select ( v | boolean-expression)

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to thenamed Model Naming the variable allows

Chapter 17 - Representing an Architecture in UML 2.0

access to the properties of the member. In this example, status is an

Chapter 18 - an Applying Constraints to the UML Diagrams attribute of employee. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

context Venue

Chapter 20 - Using a Modeling Tool inv: self.employee -> select Chapter - Customizing UML Using Profiles :: probation) ( e |21 e.status = EmployeeStatus Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

In the third theNotation variable Guide is assigned a type, which must conform to the type of the collection: Appendix B - form, UML 2.0
Appendix C - Standard Elements Glossary collection -> select( v: Type | boolean-expression) Index List of Figures List of Tables

The following example defines the type of the variable.

List of Listings

context Venue < Day Day Up > inv: self.employee -> select ( e: Employee | e.status = EmployeeStatus :: probation)
UML Bible

Theiterate operation every member of a collection and ISBN:0764526049 by Tom provides Pender a shorthand form to read through accumulate information. The result is a value expressed as the accumulator variable in the following John Wiley & Sons 2003 (940 pages) syntax. In order to iterate through a collection, the iterate expression needs an iterator , designated as For beginning to advanced users, this book provides element in the example. comprehensive coverage of the versatility of 1.4 and 2.0 UML collection -> iterate Web Site ( element: Type Companion 1; accumulator: Type2 = <initial value expression> | <evaluation expression>)
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

This expression says, "Iterate through the collection. For each element (of Type1), evaluate the <evaluation expression> and save the result in the accumulator (of Type2), which was initialized Preface using the <initial value expression>."
Part I - An Introduction to UML

Chapter 1 - What UML? expression accumulates the number of contracts authorized by Employees at a For example, the Is following Chapter venue: 2 - UML Architecture Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4 -Venue Object-Oriented Concepts Context
Part II - Modeling Object Structure inv:

Chapter 5 - Capturing Rules about Objects in a Class Diagram employee -> iterate Chapter 6 - How to Capture Rules about Object Relationships ( e: Employee: contracts: Integer = 0 |

contracts = contracts + e.contract.size()) Chapter 7 - Testing with Objects


Part III - Modeling Object Interactions

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4


Part IV - Modeling Object Behavior followed by the list of comma-separated

- Modeling Interactionsusing in UML 2.0 Creating collections literals

Chapter 11 - may Modeling an Object's Lifecycle in UML Collections be created explicitly by the use 2.0 of literals. Simply write the name of the collection type

values enclosed within curly brackets, as illustrated in the

following Chapter 12 examples: - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V Modeling Architecture Set {1 , 2 ,the 5 Application , 88}

Chapter 14 - Modeling the Application Architecture Set {'Tom' , 'Cathy' , 'Susan'} Chapter 15 - Modeling Software Using the Component Diagram

Sequence {1, Deployment 3, 45, 2, 3} Chapter 16 - Using Diagrams in UML 1.4 Sequence {'agent',an 'premier agaent'} Chapter 17 - Representing Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Bag {1 3 , 4 Constraints , 3 , 5} to the UML Diagrams Chapter 18 , - Applying


Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

A Sequence may also be defined by specifying a range using the variables Int-expr1 and Int-expr2. The range notation is the same as for multiplicity in UML-minimum..maximum, or more precisely, IntChapter 21 - Customizing UML Using Profiles expr1..Int-expr2. Place the range within the curly braces where you would normally place the series Chapter 22 - XML Metadata Interchange of comma-separated values. For example,
Chapter 20 - Using a Modeling Tool Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

Sequence {1. .10} Sequence {1. .(maxCount)} -- where maxCount = 10 Glossary -- are both identical to Index Sequence{1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
List of Figures List of Tables List of Listings

< < Day Day Day Day Up Up > >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Using Messages in OCL by Tom Pender


ISBN:0764526049

OCL supports access to existing operations. means that an OCL expression may send messages in John Wiley & Sons 2003 (940 This pages) the forms of operation calls and To do so, OCL provides three mechanisms: For beginning tosignals. advanced users, this book provides ^: The hasSent symbol. This symbol that the specifications, and shows indicates how to use UML tospecified improve object has been sent the specified timeliness, quality, and efficiency in development. message. Note Hereafter, I refer to this symbol (^) as the hasBeenSent symbol because I believe this name is more accurate and helps clarify the meaning of the expressions in which it is used.
<?xml version="1.0" encoding="ISO-8859-1"?> OclMessage: Table of Contents OclMessage is a sort of container for evaluating messages and providing access to their Companion Web Site comprehensive coverage of the versatility of 1.4 and 2.0 UML

features. UML Bible


Preface ^^: The enhanced form of the hasSent symbol, which allows access to the set of messages that has
Part I - An Introduction to UML

Chapter 1

been sent. Each message is contained within an OclMessage.


- What Is UML?

Chapter 2 - UML Architecture To evaluate whether a message has in fact been sent, specify the target object, the ^ ( hasBeenSent

symbol), theDiagrams message that should have been sent. For example, the expression Chapter 3 and - UML and Extension Mechanisms
Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5 -Agent::terminate() Capturing Rules about Objects in a Class Diagram context Chapter - How to Capture Rules about Object Relationships post:6 currentContract()^terminate() Chapter 7 Chapter 8 - Testing with Objects
Part III - Modeling Object Interactions

states that-when the agent operation terminate() has completed execution, the current contract for the Modeling Interactions in UML 1.4 agent should have been sent the message terminate(). In other words, when the system terminates an Chapter 9 - Modeling Interactions in UML 2.0 agent, it must make certain that the agent's contract is also terminated.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior expression must conform to the parameter

Chapter 11 -may Modeling an parameters. Object's Lifecycle in an UML 2.0 Messages include When operation specifies parameters, the values passed in the

types. If the parameter values are unknown prior to evaluation

Chapter 12 - Modeling the Use of a System the Use Diagram of the expression, use a question mark inwith place of theCase parameter, and provide the type as shown in the Chapter 13 sample - Modeling Behavior Using an Activity Diagram following expression.
Part V - Modeling the Application Architecture

First, here the operation declarations: Chapter 14 -are Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram

Agent16 - Using terminate vm: Employee) Chapter Deployment(date: Diagrams Date, in UML 1.4 Contract terminate (date: Date) Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

And here's the OCL expression:

Part VII - Automating the UML Modeling Process

context Chapter 20 -Agent::terminate( Using a Modeling Tool ?: Date, ?: Employee) post:21 currentContract()^terminate( ?: Date) Chapter - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide This example states that the message terminate has been sent to the current contract object, but we Appendix B UML 2.0 Notation Guide don't know, and don't care, what the parameter values were. Appendix C - Standard Elements

The ^^ message operator supports access to a Sequence object that contains the sent messages. Each Glossary message in the set is contained within an OclMessage (more on OclMessage in a moment). For Index example, List of Figures
List of Tables

context Agent::terminate(?: Date, ?: Employee) List of Listings

post: contracts^^terminate(?: Date)

< Day Day Up >

This expression results in a Sequence object that contain the messages sent to all the contracts associated with the agent instance during the execution of the terminate operation on the agent. UML Bible To gain access to the messages themselves, OCL provides the OclMessage expression. OclMessage is John Wiley & Sons 2003 (940 pages) essentially a container that provides some predefined operations that help evaluate the execution of the For beginning to advanced users, this book provides operation, namely: comprehensive coverage of the versatility of 1.4 and 2.0 UML hasReturned(): Boolean timeliness, quality, and efficiency in development.
Companion Web Site operation result(): The return type of the called <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents isOperationCall(): Boolean UML Bible specifications, and shows how to use UML to improve by Tom Pender
ISBN:0764526049

isSignalSent(): Boolean

The complete descriptions for these operations are provided in the OCL Standard Library. Preface
Part I - An Introduction to UML

Using OclMessage, you can now gain access to the individual messages returned by the previous - What Is UML? expression that used the ^^ message operator. To set up the OclMessage, use the let statement to create Chapter 2 - UML Architecture a variable of type Sequence to contain the Sequence obtained from the ^^ message operator.
Chapter 1 Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4 Object-Oriented Concepts Operation declarations are as follows:
Part II - Modeling Object Structure

Chapter Agent5 Chapter 7

- Capturing Rules about Objects in a Class terminate (date: Date, vm:Diagram Employee) - Testing with Objects

Chapter 6 - How to Capture Rules about Date) Object Relationships Contract terminate (date:
Part III - Modeling Object Interactions

And here's OCL expression: Chapter 8 - the Modeling Interactions in UML 1.4
Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 -Agent::terminate(?: Modeling an Object's Lifecycle in UML?: 1.4 Employee) context Date,

post:11 let messages: Sequence(OclMessage) = Chapter - Modeling an Object's Lifecycle in UML 2.0 contracts ^^terminate(?: Part IV - Modeling Object Behavior Date) in messages->notEmpty and Chapter 12 - Modeling the Use of a System with the Use Case Diagram messages->forAll(contract | Activity Diagram Chapter 13 - Modeling Behavior Using an contract.terminationDate = agent.terminationDate Part V - Modeling the Application Architecture contract.terminationVM = agent.terminationVM) Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

and

Chapter 17 - Representing an Architecture in UML 2.0

This expression evaluates each message sent to each contract to test whether the date and venue manager attributes have been set properly to coincide with the values in the agent.

Chapter 18significant - Applyingdifference Constraints to the UML Diagrams The one between operations and signals in an OCL expression is the fact that an Chapter 19 has - Action Semantics operation a return and a signal does not. Attempting to use the result of an operation that has not

completed executionthe yields an error. OCL syntax provides Part VII - Automating UML Modeling Process

the has Returned() operation to test whether an operation has completed execution. When the result of hasReturned() operation is true, the Chapter 20 - Using a Modeling Tool OCL expression can continue, knowing that the values generated by the operation are accessible. If the Chapter 21 - Customizing UML Using Profiles result of hasReturned() operation is false, testing the outcome result of the operation is not possible Chapter 22 - XML Metadata Interchange and the OCL expression should terminate. Appendix A - UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

In the previous OCL expression, the statements messages->notEmpty and following would be references to non-existent values if the operation never complete execution. The addition of the Glossary messages.hasReturned() operation prevents the following statements from executing when there are Index no values to reference.
List of Figures List of Tables

context Agent::terminate(?: Date, ?: Employee)

List of Listings

post: let messages: Sequence(OclMessage) = < Day Day Up > contracts^^terminate(?: Date) in messages.hasReturned() and messages->notEmpty and UML Bible messages->forAll(contract | ISBN:0764526049 by Tom Pender contract.terminationDate = agent.terminationDate and John Wiley & Sons 2003 (940 pages) contract.terminationVM = agent.terminationVM)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. < Day Day Up > Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Creating and Using Tuples in OCL by Tom Pender


ISBN:0764526049

A tuple is the definition of a block of elements, John Wiley & Sons data 2003 (940 pages) such as a record in a file or a row in a database. Each element, or column, is named to and typed. A tuple this maybook be created using literals or assigned values based For beginning advanced users, provides on expressions. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve quality, and efficiency in development. A tuple is definedtimeliness, in OCL using curly braces around a series of name: type pairs and optional assigned values: Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

Tuple {name: String = 'Tom', age: Integer = 45}

UML Bible The tuple is only a means to assemble a set of values. The tuple must then be assigned to a variable. The Preface following expression uses a def (definition) expression to create a new attribute called sales within the
Part I - An to UML context ofIntroduction an agent classifier.

sales is a Set of tuples. sale is the name of the tuple.

Chapter 1

- What Is UML?

Chapter 2 -Agent UML Architecture context def: Chapter 3 - UML and Extension Mechanisms attrsales : Diagrams Set Chapter 4 - Object-Oriented (sale(venue: Venue, Concepts performance: Performance,
Part II - Modeling Object Structure soldSeats: Integer, perfCommission:

Integer)

Chapter 5 ) Chapter ... 6 Chapter 7

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part III - Modeling Object Interactions

This expression defines a Set of tuples information about an agent's sales for each Chapter 8 - Modeling Interactions in UMLcontaining 1.4 performance. Subsequent expressions Chapter 9 - Modeling Interactions in UML could 2.0 define how to set the values for each tuple. From that point
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

on, the sales attribute of Agent would contain the set of tuples and the assigned values.

< Day Day Up > Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Features Using Class-Level by Tom Pender


ISBN:0764526049

All the features described so apply to (940 instances. John Wiley &far Sons 2003 pages) But just as in programming, there are times when the application needs to beginning perform queries and tests against the provides set of instances that make up the class. One For to advanced users, this book such class-scoped feature in OCL is the allInstances() operation. returns a set of comprehensive coverage of the versatility of 1.4 and 2.0 allInstances() UML specifications, and shows how to use UML improve objects of the type defined by the class. For example, the to following expression returns the set of all agent timeliness, quality, and efficiency in development. instances that have more than one contract.
Companion Web Site

context Agent ... version="1.0" self.allInstances() ->forAll(contract->size() > 1)... <?xml encoding="ISO-8859-1"?>
Table of Contents UML Bible Preface

Once you have the result set, you can use any of the collection operations on that set.
- What Is UML? - UML Architecture - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

< Day Day Up >

- UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible OCL Standard Library by Tom Pender


ISBN:0764526049

Theprevious section covers a Sons number of (940 possible John Wiley & 2003 pages) applications of OCL expressions in a UML model using a variety of OCL types. The OCL Standard users, Library defines complete set of available OCL types used For beginning to advanced this book the provides to form OCL expressions. Each type has a set of operations (and sometimes comprehensive coverage of the versatility of 1.4 and 2.0 UML attributes) that is available on specifications, and shows how to use UML to improve objects of that type.
timeliness, quality, and efficiency in development.

Every OCL statementCompanion results in aWeb value of some defined type. Very often the result is a Boolean value, Site because constraints are most often tests against the condition of an object or set of objects. The allowed OCL types are defined in the OCL Standard Library (refer back to Figure 18-3) and any type defined in a <?xml encoding="ISO-8859-1"?> UMLversion="1.0" model - Venue, Contract, or Agent, for example.
Table of Contents

OclAny UML Bible covers any type defined in a UML model, using OclType, OclState, and Ocl Model Element to track them. Boolean,String,Real, and Integer support the basic primitive types we've Preface come in datato manipulation languages. Part I - to Anexpect Introduction UML
Chapter 1 Chapter 2

The OclMessage and Collection metaclasses are all template classes designated with a T in the top right - UML Architecture corner. This means that they cannot be directly instantiated. Instead, they are instantiated by providing a Chapter 3 - UML Diagrams and Extension Mechanisms parameter. For example, the Sequence class may be instantiated as a sequence of type Agent (the Chapter 4 - Object-Oriented Concepts parameter), such as an ordered list of Agents, which may include duplicates.
Part II - Modeling Object Structure

- What Is UML?

Chapter 5 - Capturing Rules about Objects in a Class Diagram The following sections provide detailed descriptions of each of the standard OCL types and their usage. Chapter 6 - How to Capture Rules about Object Relationships Chapter 7
Part III - Modeling Object Interactions

- Testing with Objects The OclAny, OclMessage, and OclVoid types

Chapter 8 - Modeling Interactions in the UMLsubclasses 1.4 TheOclAny type includes not only shown in Figure 18-3, but the UML model types as Chapter - Modeling Interactions in UML well. In9 fact, UML model types inherit all2.0 of the features of OclAny. The primitives correspond to the Chapter 10 defined - Modeling Object's Lifecycle in UML 1.4 primitives foran most programming languages. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

OclMessage defines either a signal or an operation. The features of OclMessage allow access to the properties of an operation, including its result, whether it is a signal or call, and if it is a call, whether it has Chapter 12 - Modeling the Use of a System with the Use Case Diagram returned.
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Architecture OclVoid defines a Application single instance that contains

an undefined value.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram OclAny Chapter 16 - Using Deployment Diagrams in UML 1.4

The type is the supertype of all in types the UML model and the primitive types in the OCL Chapter 17OclAny - Representing an Architecture UMLin 2.0 Standard Library. All classes in a UML Part VI - Bringing Rigor to the Model
Chapter 19 - Action Semantics

model inherit all operations defined on OclAny. To avoid name

conflicts between properties in the model and the properties inherited from OclAny, all names on the Chapter 18 - Applying Constraints to the UML Diagrams

properties of OclAny start with ocl. One can also use the oclAsType() operation to explicitly refer to the OclAny properties. Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 -OclAny): XML Metadata Interchange = (object: Boolean Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

In all of the following operation descriptions, the instance of OclAny is called object.

Description: True if self is the same object as object.

post: result = (self = object) Glossary


Index List of Figures List of Tables

<> (object: OclAny): Boolean

List of Listings True if self is a different object from object. not is an Infix operator. Description:

< Day Day Up >

pre: result = not (self = object)

UML Bible oclIsNew(): Boolean

Description: May John only be used in a post condition because it tests to see whether it was created by the Wiley & Sons 2003 (940 pages) expression. oclIsNew() evaluates to true if the self is created during performing the operation, meaning For beginning to advanced users, this book provides that it didn't exist comprehensive at precondition coverage time. of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. post: self@pre.oclIsUndefined() Companion Web Site

by Tom Pender

ISBN:0764526049

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Description: Evaluates to true if the self is equal to OclUndefined. UML Bible Preface post: result = self.isTypeOf(OclVoid)
Part I - An Introduction to UML

oclIsUndefined(): Boolean

Chapter 1 Chapter 3

- What Is UML?

Chapter 2 - UML Architecture OclMessage - UML Diagrams and Extension Mechanisms This section contains the definition of the standard type OclMessage. As defined in this section, each Chapter 4 - Object-Oriented Concepts

OCL type is actually a template Part II message - Modeling Object Structure

type with one parameter. A concrete OCL message type is

created an operation or signal for the parameter. Every OclMessage is fully determined by Chapter 5 by - substituting Capturing Rules about Objects in a Class Diagram either the or signal given as parameter. Every type has as attributes the name of the operation Chapter 6 operation, - How to Capture Rules about Object Relationships
Chapter 7 Chapter 8

or signal, and either all formal parameters of the operation, or all attributes of the signal. - Testing with Objects hasReturned(): Boolean
- Modeling Interactions in UML 1.4

Part III - Modeling Object Interactions

Chapter 9 - Modeling Interactions in UML 2.0 Description: True if the type of template parameter is an operation call, and the called operation has

returned This implies that the message has been sent. Chapter 10a-value. Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

post: result(): The return type of the called operation

Chapter 12 - Modeling of of a System with the Use Case Diagram Description: Returns the the Use result the called operation if the type of the template parameter is an operation Chapter 13 Modeling Behavior Using an Activity Diagram call and if the called operation has returned a value. Otherwise the result is undefined.
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0 isSignalSent(): Boolean
Part VI - Bringing Rigor to the Model

pre: hasReturned()

Description: Returns Constraints true if the OclMessage represents the sending of a UML Signal. Chapter 18 - Applying to the UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

isOperationCall(): Boolean

Chapter 20 - Using a Modeling Tool Description: Returns true if the OclMessage represents the sending of a UML Operation call. Chapter 21 - Customizing UML Using Profiles

OclVoid Chapter 22 - XML Metadata Interchange


Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Glossary

The type OclVoid is a type that conforms to all other types. It has a single instance called OclUndefined. Any property call applied on an undefined type results in OclUndefined, except for the operation Appendix C - Standard Elements oclIsUndefined(), which returns true.
Index oclIsUndefined(): Boolean List of Figures

Description: List of Tables oclIsUndefined() evaluates to true if the object is equal to OclUndefined.
List of Listings

post: result = true

< Day Day Up >

ModelElement types UML Bible


ISBN:0764526049 by Tom Pender This section defines several enumeration types that allow the modeler to refer to elements defined in the John Wiley & Sons 2003 (940 pages) UML model.

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML OclModelElement specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

AnOclModelElement is an enumeration. For each element in a UML model there is a corresponding enumeration literal. Companion Web Site
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Description: True if self is the same object as object. UML Bible

= (object: OclModelElementType): Boolean

< > (object: OclModelElementType): Boolean Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5

Description: True if self is a different object from object.


- What Is UML? - UML Architecture - Object-Oriented Concepts

post: result = not (self = object) - UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

OclType - Capturing Rules about Objects in a Class Diagram

Chapter 6 - How toenumeration. Capture RulesFor about Object Relationships AnOclType is an each Classifier in a UML model there is a corresponding enumeration Chapter 7 Testing with Objects literal.
Part III - Modeling Object Interactions

= (object: Boolean in UML 1.4 Chapter 8 -OclType): Modeling Interactions


Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Boolean Object's Lifecycle in UML 2.0 < > (object: OclType):
Part IV - Modeling Object Behavior

Description: True if self is the same type as object.

- Modeling Interactions in UML 2.0

Description: True if self a different typewith from object. Chapter 12 - Modeling theis Use of a System the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling Architecture post: resultthe = Application not (self = object)

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram

OclState Chapter 16 - Using Deployment Diagrams in UML 1.4


Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 -OclState): Action Semantics = (object: Boolean
Part VII - Automating the UML Modeling Process

AnOclState is an enumeration. For each state in a UML model there is a corresponding enumeration literal.

Description: True a if Modeling self is in the same state as object. Chapter 20 - Using Tool
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Description: True if self is in aGuide different state than object. Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables

< > (object: OclState): Boolean

post: result = not (self = object)

Primitive types

List of Listings

The primitive types defined in the OCL Standard Library are Real,Integer,String, and Boolean. < Day Day Up > They are all instances of the metaclass Primitive from the UML core package.

Real
UML Bible

The standard type Real represents the mathematical conceptISBN:0764526049 of real. Note that Integer is a subclass of by Tom Pender Real, so for each parameter of type Real , you can use an integer as the actual parameter. John Wiley & Sons 2003 (940 pages) + (r: Real): Real comprehensive coverage of the versatility of 1.4 and 2.0 UML Description: The timeliness, value of the addition ofefficiency self and r. quality, and in development. - (r: Real): Real
Companion Web Site specifications, and shows how to use UML to improve For beginning to advanced users, this book provides

<?xml version="1.0" encoding="ISO-8859-1"?> Table Contents * (r: of Real): Real UML Bible

Description: The value of the subtraction of r from self.

Description: The value of the multiplication of self and r. Preface


Part I - An Introduction to UML

Chapter 1

-: Real

- What Is UML?

Chapter 2 - UML Description: TheArchitecture negative value of self. Chapter 3 - UML Diagrams and Extension Mechanisms

/ (r: Real): Chapter 4 - Real Object-Oriented Concepts


Part II - Modeling Object Structure

Chapter 5 Chapter 7 Chapter 8

Description: The value of self divided by r.


- Testing with Objects

- Capturing Rules about Objects in a Class Diagram

Chapter 6 - How to Capture Rules about Object Relationships abs(): Real

Description: The absolute value of self. Part III - Modeling Object Interactions
- Modeling Interactions in UML 1.4 Chapter - Modeling in UML 2.0 post:9 if self <Interactions 0 then result = - self

else result = self Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 endif11 - Modeling an Object's Lifecycle in UML 2.0 Chapter
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

floor(): Integer

Description: The largest integer that is less than or equal to self. post: (result <= self) and (result + 1 > self)

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing round(): IntegerRigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0 Chapter 18 - Applying Constraints to the UML Diagrams

Description: The integer that is closest to self. When there are two such integers, the largest one. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

post:20 ((self -Modeling result).abs() < 0.5) or Chapter - Using a Tool ((self result).abs() = 0.5 and (result > self)) Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Description: The maximum of self and r. Glossary Index post: if self >= r then result = self List of Figures else result = r endif List of Tables List of Listings

max(r: Real): Real

min(r: Real): Real Description: The minimum of self and r.

< Day Day Up >

UML post: if self <=Bible r then result = self by r Tom Pender else result = endif John Wiley & Sons 2003 (940 pages)

ISBN:0764526049

For beginning to advanced users, this book provides

< (r: Real): Boolean comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve quality, and efficiency in development. Description: Truetimeliness, if self is less than r. Companion Web Site

> (r: Real): Boolean

Description: True if self is greater than r. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents post: UML Bible result = not (self <= r)
Preface
Part I - An Introduction to UML

Chapter 1

<= (r: Real): Boolean - What Is UML?

Chapter 2 - UML Architecture Description: True if self is less than or equal to r. Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4 Chapter 5 Chapter 7 Chapter 8
Part II - Modeling Object Structure

post: result = ((self = r) or (self < r))


- Capturing Rules about Objects in a Class Diagram - Testing with Objects

- Object-Oriented Concepts

Chapter 6 - How to Capture Rules about Object Relationships >= (r: Real): Boolean

Description: True Object if self is greater than Part III - Modeling Interactions

or equal to r.

- Modeling Interactions in UML 1.4

post:9 result = ((self = in r) or2.0 (self > r)) Chapter - Modeling Interactions UML
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Integer

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

The standard type Integer represents the mathematical concept of integer. Integer is itself an instance of the metatype Primitive (from UML Core).

Chapter 14 - Modeling the Application Architecture - : Integer Chapter 15 - Modeling Software Using the Component Diagram

Description: The negative value of self. in UML 1.4 Chapter 16 - Using Deployment Diagrams
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

+ (i: Integer): Integer

Chapter 18 - Applying Constraints to the of UML Diagrams Description: The value of the addition self and i. Chapter 19 - Action Semantics

- (i:VII Integer): Integer Part - Automating the UML Modeling Process


Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange * (i: Integer): Integer Appendix A - UML 1.4 Notation Guide

Description: The value of the subtraction of i from self.

Description: The2.0 value of the Guide multiplication of self and i. Appendix B - UML Notation
Appendix C - Standard Elements Glossary

/ (i: Integer): Real

Index Description: The value of self divided by i. List of Figures

abs(): Integer List of Tables


List of Listings

Description: The absolute value of self. post: if self < 0 then result = - self UML Bible else result = self by Tom Pender endif

< Day Day Up >

ISBN:0764526049

John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML div(i: Integer): Integer specifications, and shows how to use UML to improve Companion Web Site andi efficiency in development. Description: The timeliness, number of quality, times that fits completely within self.

pre: i <> 0 post: if self / i >= 0 then result = encoding="ISO-8859-1"?> (self / i).floor() <?xml version="1.0" else Table of result Contents = -((-self/i).floor()) endif UML Bible
Preface
Part I - An Introduction to UML

Chapter 1

mod(i: Integer): Integer

- What Is UML?

Chapter 2 - UML Description: TheArchitecture result is self modulo i. Chapter 3 - UML Diagrams and Extension Mechanisms Chapter - Object-Oriented post:4 result = self Concepts - (self.div(i) * i)
Part II - Modeling Object Structure

Chapter 5 Chapter 7 Chapter 8

- Capturing Rules about Objects in a Class Diagram - Testing with Objects

max (i:6Integer): Integer Chapter - How to Capture Rules about Object Relationships
Part III - Modeling Object Interactions

Description: The maximum of self and i.


- Modeling Interactions in UML 1.4

post:9 if self >= i then in result Chapter - Modeling Interactions UML 2.0= self else result = i Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 endif
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram min(i: Integer): Integer Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling Application Architecture Description: Thethe minimum of self and i.

Chapter 14 - Modeling the Application Architecture Chapter - Modeling Software Using the Component post:15 if self <= i then result = selfDiagram Chapter 16 - Using Diagrams in UML 1.4 else result =Deployment i Chapter endif17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams

String Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles Chapter - XML Metadata Interchange size(): 22 Integer Appendix A - UML 1.4 Notation Guide

The standard type String represents strings, which can be ASCII or Unicode. String is itself an instance of the metatype Primitive (from UML Core).

Description: The2.0 number of characters in self. Appendix B - UML Notation Guide


Appendix C - Standard Elements Glossary

concat(s: String): String

Index Description: The concatenation of self and s. List of Figures List of Tables post: result.size() = self.size() + string.size() List of Listings

post: result.substring(1, self.size()) = self < Day Day Up > post: result.substring (self.size() + 1, result.size()) = s
UML Bible

substring(lower: Integer, upper: Integer): String by Tom Pender


John Wiley & Sons 2003 (940 pages)

ISBN:0764526049

Description: The substring of self starting at character number lower , up to and including character For beginning to advanced users, this book provides numberupper. Character numbers run from 1 to self.size(). comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. pre: 1 <= lower pre: lower <= upper Companion Web Site pre: upper <= self.size() <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents toInteger(): Integer UML Bible

Description: Converts self to an Integer value. Preface


Part I - An Introduction to UML

Chapter 1

toReal(): Real

- What Is UML?

Chapter 2 - UML Architecture Description: Converts self to a Real value. Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4 - Object-Oriented Concepts Boolean
Part II - Modeling Object Structure

The standard type Boolean represents common true/false values. Boolean is itself an instance of the Chapter 5 - Capturing Rules about Objectsthe in a Class Diagram metatype UML Core). Chapter 6 Primitive - How to (from Capture Rules about Object Relationships
Chapter 7
Part III - Modeling Object Interactions

or (b: Boolean): Boolean

- Testing with Objects

Chapter 8 - Modeling Interactions inis UML 1.4 Description: True if either self or b true. Chapter 9 - Modeling Interactions in UML 2.0

xor (b:10 Boolean): Boolean Chapter - Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Description: True if either self or b is true, but not both. post: (self or b) and not (self = b)

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture and (b: Boolean): Boolean Chapter 15 - Modeling Software Using the Component Diagram

Description: True Deployment if both self and b are true. Chapter 16 - Using Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

not: Boolean

Chapter 18 - Applying Constraints Description: True if self is false. to the UML Diagrams Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

post: if self then result = false else result = true endif

Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange implies (b: Boolean): Boolean Appendix A - UML 1.4 Notation Guide

Description: True if self is false, or if self is true and b is true. Appendix B - UML 2.0 Notation Guide
Appendix C - Standard Elements

post: (not self) or (self and b) Glossary


Index List of Figures List of Tables

Collection-related types

List of Listings

This section defines the collection types and their operations. Each collection type is actually a template < Day Day Up > type with one parameter. A concrete collection type is created by substituting a type for the parameter, so Set (Integer) and Bag (Person) are collection types.

Collection

UML Bible by Tom Pender


ISBN:0764526049

Collection is the abstract supertype of all (940 collection John Wiley & Sons 2003 pages) types in the OCL Standard Library. Each occurrence of an object in a collection is called an element. If an object occurs twice in a collection, there are two For beginning to advanced users, this book provides elements. This section defines the operations of Collections that have identical semantics for all collection comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML improve subtypes. Some of these operations may be overridden into the subtypes to provide an additional post timeliness, quality, andvalue. efficiency in development. condition or a more specialized return Note The definition of several common operations is different for each subtype. These operations are not mentioned in this section. The semantics of the collection operations is given in the form of a <?xml version="1.0" encoding="ISO-8859-1"?> post condition that uses the IterateExp of the IteratorExp construct. The semantics of those Table of Contents constructs is defined in section A (Semantics ) of the OCL specification. In several cases the post UML Bible condition refers to other collection operations, which in turn are defined in terms of the IterateExp Preface or IteratorExp constructs.
Part I - An Introduction to UML

Companion Web Site

size(): 1 Integer Chapter - What Is UML?


Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6

Description: The number of elements in the collection self.


- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

- UML Architecture

Part II - Modeling Object Structure

post: result = self->iterate(elem; acc: Integer = 0 | acc + 1)


- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

Chapter 7 - Testing with Objects includes(object: T): Boolean


Part III - Modeling Object Interactions

Description: True if object is an element of self; false otherwise. Chapter 8 - Modeling Interactions in UML 1.4
Chapter 9 - Modeling Interactions in UML 2.0 Chapter - Modeling an Object's Lifecycle in UML 1.4 post:10 result = (self->count(object) > 0) Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

excludes(object: T): Boolean Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Description: True if object is not an element of self; false otherwise. post: result = (self->count(object) = 0)

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0 court(object: T): Integer
Part VI - Bringing Rigor to the Model

Description: The number of times object occurs in the collection self. Chapter 18 - Applying Constraints to that the UML Diagrams
Chapter 19 - Action Semantics
Part VII - result Automating post: = the UML Modeling Process

Chapter 20 - Using a Modelingacc: Tool Integer = 0 | self->iterate(elem;

if elem object then accProfiles + 1 else acc endif) Chapter 21 -= Customizing UML Using
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

The following OCL expressions form queries that return true or false:

Appendix C - Standard Elements includesAll(c2: Collection(T)): Boolean Glossary

Description: Does self contain all the elements of c2? Index


List of Figures List of Tables post: result = c2->forAll(elem | self->includes(elem)) List of Listings

excludesAll(c2: Collection(T)): Boolean

< Day Day Up >

Description: Does self contain none of the elements of c2? post: result = c2->forAll(elem | self->excludes(elem)) ISBN:0764526049
by Tom Pender John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides isEmpty(): Boolean timeliness, quality, and efficiency in development. Companion Web Site UML Bible

comprehensive coverage of the versatility of 1.4 and 2.0 UML

specifications, and shows how to use UML to improve Description: Is self the empty collection?

post: result = (self->size() = 0)


<?xml version="1.0" encoding="ISO-8859-1"?> notEmpty(): Boolean Table of Contents UML Bible Preface

Description: Is self not the empty collection? post: result = ( self->size() <> 0) - What Is UML?
- UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part I - An Introduction to UML

Chapter 1 Chapter 2

Chapter 3 sum():T Chapter 4

Part II - Modeling Structure Description: The Object addition of all elements in

self. Elements must be of a type supporting the + operation.

The + operation must Rules take one parameter TDiagram (the parameter type of the collection) and be both Chapter 5 - Capturing about Objects inof a type Class associative = a+(b+c)), commutative (a+b = b+a). Integer and Real fulfill this condition. Chapter 6 - ((a+b)+c How to Capture Rules and about Object Relationships
Chapter 7 - Testing with Objects
Part III - Modeling Interactions post: result Object =

Chapter 8 - Modeling elem: Interactions in UML self->iterate( acc: T =1.4 0 | acc + elem) Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Set 11 - Modeling an Object's Lifecycle in UML 2.0 Chapter


Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture union(s: Set(T)): Set(T)

The Set is the mathematical set. It contains elements without duplicates. Set is itself an instance of the metatype SetType.

Chapter 14 - Modeling the Application Architecture

Description: The union of self and s.the Component Diagram Chapter 15 - Modeling Software Using
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter - Representing an Architecture post:17 result->forAll(elem | in UML 2.0
Part VI - Bringing Rigor to the Model self->includes(elem) or s->includes(elem))

post:18 self->forAll(elem |the result->includes(elem)) Chapter - Applying Constraints to UML Diagrams post:19 s->forAll(elem Chapter - Action Semantics | result->includes(elem))
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Description: TheMetadata union of Interchange self and bag. Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

union(bag: Bag(T)): Bag(T)

post: result->forAll(elem | result->count(elem) =

Appendix C - Standard Elements self->count(elem) + bag->count(elem)) Glossary post: self->forAll(elem | result->includes(elem)) Index post: bag->forAll(elem | result->includes(elem)) List of Figures List of Tables

= (s: Set(T)): Boolean List of Listings

Description: Evaluates to true if self and s contain the same elements. < Day Day Up > post: result = (self->forAll(elem | s->includes(elem)) and s->forAll(elem |Bible self->includes(elem)) ) UML intersection(s:Set(T)):Set(T)
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

coverage the is, versatility and 2.0 UML Description: The comprehensive intersection of self and sof (that the set of of 1.4 all elements that are in both self and s ).

post: result->forAll(elem | Companion Web Site self->includes(elem) and s->includes(elem)) post: self->forAll(elem | <?xml version="1.0" encoding="ISO-8859-1"?> s->includes(elem) = result->includes(elem)) Table of Contents post: s->forAll(elem | UML Bible self->includes(elem) = result->includes(elem))
Preface
Part I - An Introduction to UML

intersection(bag: Chapter 1 - What IsBag(T)):Set(T) UML?


Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 7 Chapter 8 - UML Architecture Description: The intersection of self and bag. - Object-Oriented Concepts - UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

post: result = self->intersection( bag->asSet)


- Capturing Rules about Objects in a Class Diagram - Testing with Objects

Chapter 6 - How to Capture Rules about Object Relationships - (s: Set(T)): Set(T)

Description: The elements of self that Part III - Modeling Object Interactions

are not in s.

- Modeling Interactions in UML 1.4

Chapter - Modeling Interactions in UML post:9 result->forAll(elem | 2.0

self->includes(elem) and s->excludes(elem)) Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 post:11 self->forAll(elem | Chapter - Modeling an Object's Lifecycle in UML 2.0 result->includes(elem) = Part IV - Modeling Object Behavior including(object: T): Set(T) s->excludes(elem))
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Description: The set containing all elements of self plus object. Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

post: result->forAll(elem |

Chapter 17 - Representing an Architecture in UML 2.0 self->includes(elem) or(elem = object))


Part VI - Bringing Rigor to the Model

post: self->forAll(elem | result->includes(elem))

Chapter - Applying Constraints to the UML Diagrams post:18 result->includes(object) Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

excluding(object: Set(T) Chapter 20 - Using a T): Modeling Tool


Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Description: The set containing all elements of self without object.

post: B result->forAll(elem Appendix - UML 2.0 Notation Guide | self->includes(elem) and (elem <> object)) post: self->forAll(elem | Glossary result->includes(elem) = (object <> elem)) Index post: result->excludes(object)
Appendix C - Standard Elements List of Figures List of Tables List of Listings symmetricDifference(s:Set(T)):Set(T)

< Day Day Up Description: The sets containing all the elements that are in > self or s , but not in both.

post: result->forAll(elem | UML Bible xor s->includes(elem)) self->includes(elem) ISBN:0764526049 post: self->forAll(elem by Tom Pender | result->includes(elem) = s->excludes(elem)) John Wiley & Sons 2003 (940 pages) post: s->forAll(elem | to advanced users, this book provides For beginning comprehensive = coverage of the versatility of 1.4 and 2.0 UML result->includes(elem) self->excludes(elem))
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

count(object: T): Integer Companion Web Site Description: The number of occurrences of object in self.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

post: result <= 1

UML Bible Preface


Part I - An Introduction to UML flatten():Set(T2)

Chapter 1 Chapter 3 Chapter 4

- What Is UML? Description: If the element type is not a collection type, this result is the same self. If the element type is a Chapter 2 - UML Architecture

collection type, the result is the set containing all the elements of self. - UML Diagrams and Extension Mechanisms
- Object-Oriented Concepts

post: result Object = Part II - Modeling Structure if self.type.elementType.oclIsKindOf (CollectionType) Chapter 5 - Capturing Rules about Objects in a Class Diagram then self->iterate(c; acc: Set() Set{} | Chapter 6 - How to Capture Rules about Object = Relationships acc->union(c->asSet()) ) - Testing with Objects else self Part III - Modeling Object Interactions endif
Chapter 7 Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10Set(T) - Modeling an Object's Lifecycle in UML 1.4 asSet(): Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Description: A set identical to self. Part IV - Modeling Object Behavior

This operation exists for convenience reasons.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter - Modeling Behavior Using an Activity Diagram post:13 result = self
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

asSequence(): Sequence(T) Chapter 15 - Modeling Software Using the Component Diagram


Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0

Description: A Sequence that contains all the elements from self, in undefined order. post: result->forAll(elem | self->includes(elem)) post: self->forAll(elem | result->count(elem) = 1)

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 Bag(T) - Using a Modeling Tool asBag(): Chapter 21 - Customizing UML Using Profiles

Description: TheMetadata bag that Interchange contains all the elements from self. Chapter 22 - XML
Appendix A - UML 1.4 Notation Guide Appendix - UML 2.0 Notation Guide | self->includes(elem)) post: B result->forAll(elem

post: C self->forAll(elem | result->count(elem) = 1) Appendix - Standard Elements


Glossary Index

Bag List of Figures


List of Tables List of Listings

A bag is a collection with duplicates allowed. That is, one object can be an element of a bag many times.

There is no ordering defined on the elements < in Day a bag. Bag is itself an instance of the metatype BagType. Day Up > = (bag: Bag(T)): Boolean Description: TrueUML if self and bag contain the same elements, the same number of times. Bible
by Tom Pender
ISBN:0764526049

post: result John = Wiley & Sons 2003 (940 pages) (self->forAll(elem | to advanced users, this book provides For beginning self->count(elem) = bag->count(elem)) and of 1.4 and 2.0 UML comprehensive coverage of the versatility specifications, and shows how to use UML to improve bag->forAll(elem | timeliness, quality, and efficiency in development. bag->count(elem) = self->count(elem)) ) Companion Web Site
<?xml version="1.0" encoding="ISO-8859-1"?> union(bag: Bag(T)): Bag(T) Table of Contents

Description: The union of self and bag. UML Bible


Preface
Part I - An Introduction to UML post: result->forAll(elem

| result->count(elem) =

Chapter 1 - What Is UML?+ bag->count(elem)) self->count(elem) Chapter - UML Architecture post:2 self->forAll(elem | result->count(elem) =

self->count(elem) +and bag->count(elem)) Chapter 3 - UML Diagrams Extension Mechanisms post:4 bag->forAll(elem | result->count(elem) = Chapter - Object-Oriented Concepts self->count(elem) + bag->count(elem)) Part II - Modeling Object Structure
Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

union(set: Set(T)): Bag(T)

Part III - Modeling Object Interactions Description: The union of self and set.

- Modeling Interactions in UML 2.0 post: result->forAll(elem | result->count(elem) =

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 self->count(elem) + set->count(elem)) Chapter - Modeling an Object's Lifecycle in UML 2.0 post:11 self->forAll(elem | result->count(elem) =
Part IV - Modeling Object Behavior self->count(elem) + set->count(elem))

Chapter - Modeling the Use of a with the Use Case Diagram post:12 set->forAll(elem |System result->count(elem) = Chapter 13 - Modeling Behavior Using an Activity Diagram self->count(elem) + set->count(elem))
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

intersection(bag: Bag(T)): Bag(T) Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Description: The intersection of self and bag.

post: result->forAll(elem | result->count(elem) = Chapter 19 - Action Semantics self->count(elem).min(bag->count(elem)) ) Part VII - Automating the UML Modeling Process post: self->forAll(elem | Chapter 20 - Using a Modeling Tool result->count(elem) = Chapter 21 - Customizing UML Using Profiles self->count(elem) .min(bag->count(elem)) ) Chapter 22 - XML Metadata Interchange post: bag->forAll(elem | Appendix A - UML 1.4 Notation result->count(elem) =Guide Appendix B UML 2.0 Notation Guide self->count(elem).min(bag->count(elem)) )
Chapter 18 - Applying Constraints to the UML Diagrams Appendix C - Standard Elements Glossary

intersection(set: Set(T)): Set(T) Index


List of Figures List of Tables

Description: The intersection of self and set.

List of Listings

post: result->forAll(elem | result->count(elem) = < Day Day Up > self->count(elem).min(set->count(elem)) ) post: self->forAll(elem | result->count(elem) = self->count(elem).min(set->count(elem)) ) UML Bible post: set->forAll(elem | result->count(elem) = ISBN:0764526049 by Tom Pender self->count(elem).min(set->count(elem)) )
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides

including(object:T):Bag(T) comprehensive coverage of the versatility of 1.4 and 2.0 UML


specifications, and shows how to use UML to improve quality, and efficiency in development. Description: The timeliness, bag containing all elements of self plus object. Companion Web Site

post: result->forAll(elem | if elem = object <?xml version="1.0" encoding="ISO-8859-1"?> then result->count(elem) = self->count(elem) + 1 Table of Contents else result->count(elem) = self->count(elem) UML Bible endif) Preface post: self->forAll(elem | Part I - An Introduction to UML if elem = object Chapter 1 - What Is UML? then result->count(elem) = self->count(elem) + 1 Chapter 2 - UML Architecture else result->count(elem) = self->count(elem) Chapter 3 - UML Diagrams and Extension Mechanisms endif)
Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure

excluding(object:T):Bag(T) Chapter 5 - Capturing Rules about Objects in a Class Diagram


Chapter 6 Chapter 7 Chapter 8

Description: The bag containing all elements of self apart from all occurrences of object.
- Testing with Objects

- How to Capture Rules about Object Relationships

Part III - Modeling Object Interactions

post: result->forAll(elem | - Modeling Interactions in UML 1.4 if elem = object then result->count(elem) = 0 Chapter 9 - Modeling Interactions in UML 2.0 else result->count(elem) = self->count(elem) Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 endif) Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 post: self->forAll(elem | Part IV - Modeling Object Behavior if elem = object then result->count(elem) = 0 Chapter 12 - Modeling the Use of a System with the Use Case Diagram else result->count(elem) = self->count(elem) Chapter 13 - Modeling Behavior Using an Activity Diagram endif)
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram count(object: T): Integer Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0

Description: The number of occurrences of object in self. flatten(): Bag(T2)

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics Description: If the element type is not a collection type, this operation results in the same bag. If the
Part VII - Automating the UML Modeling Process element type is a collection type, the result is a

bag containing all the elements of all the collection

elements self. a Modeling Tool Chapter 20 of - Using


Chapter 21 - Customizing UML Using Profiles Chapter - XML Metadata Interchange post:22 result = Appendix A - UML 1.4 Notation Guide if self.type.elementType.oclIsKindOf(CollectionType)

then self->iterate(c; acc: Bag() = Bag{} | Appendix B - UML 2.0 Notation Guide acc->union(c->asBag()) Appendix C - Standard Elements ) else self Glossary endif Index
List of Figures List of Tables List of Listings

asBag():Bag(T)

Description: A bag identical to self. This operation exists for convenience reasons. < Day Day Up > post: result = self
UML Bible by Tom Pender asSequence(): Sequence(T) John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Description: A sequence that contains all the elements from self, in undefined order. For beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve post: result->forAll(elem | self->count(elem) = timeliness, quality, and efficiency in development. result->count(elem)) Companion Web Site post: self->forAll(elem | self->count(elem) = result->count(elem)) <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

asSet():Set(T)

Preface Description: The set containing all the elements from self, with duplicates removed.
Part I - An Introduction to UML

Chapter 1

- What Is UML? post: result->forAll(elem | self->includes(elem))

Chapter - UML Architecture post:2 self->forAll(elem | result->includes(elem)) Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4 Chapter 5 - Object-Oriented Concepts
Part II - Modeling Object Structure

Sequence

- Capturing Rules about Objects in a Class Diagram A sequence is a to collection which the Object elements are ordered. An element may be part of a sequence Chapter 6 - How Capture in Rules about Relationships

more than Sequence is itself an instance of the metatype SequenceType. Chapter 7 -once. Testing with Objects
Part III - Modeling Object Interactions

Chapter 8

count(object: T): Integer

- Modeling Interactions in UML 1.4

Chapter 9 - Modeling Interactions in UML 2.0 Description: The number of occurrences of object in self. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

= (s: Sequence(T)): Boolean Chapter 11 - Modeling an Object's Lifecycle in UML 2.0


Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

Description: True if self contains the same elements as s in the same order.

post: resultthe = Application Architecture Part V - Modeling Sequence {1..self->size() }-> forAll (index: Integer | self->at(index) = s->at(index)) Chapter 15 - Modeling Software Using the Component Diagram and Chapter 16 - Using Deployment Diagrams in UML 1.4 self->size() = s->size()
Chapter 14 - Modeling the Application Architecture Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 Sequence(T)): - Applying Constraints to the UML Diagrams union (s: Sequence(T) Chapter 19 - Action Semantics

Description: The sequence consisting all elements Part VII - Automating the UML Modeling of Process
Chapter 20 - Using a Modeling Tool

in self, followed by all elements in s.

Chapter - Customizing UML Using Profiles post:21 result->size() = self->size() + s->size()

post:22 Sequence {1..self->size()}-> Chapter - XML Metadata Interchange forAll(index: | Appendix A - UML 1.4Integer Notation Guide self->at(index) = result->at(index)) Appendix B - UML 2.0 Notation Guide post: C Sequence{1..s->size()}-> Appendix - Standard Elements forAll(index: Integer | Glossary
Index

s->at(index) = result->at(index + self->size() )))

List of Figures List of Tables flatten(): Sequence(T2) List of Listings

Description: If the element type is not a collection type, this operation results in the same self. If the < Day Day Up > element type is a collection type, the result is the sequence containing all the elements of all the sequence elements of self. The order of the elements is partial. post: result UML = Bible ISBN:0764526049 by Tom Pender if self.type.elementType.oclIsKindOf(CollectionType) John Wiley & Sons 2003 (940 pages) then self->iterate(c; acc: Sequence() = Sequence{} | For beginning to advanced acc->union(c->asSequence() )) users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML else self specifications, and shows how to use UML to improve endif timeliness, quality, and efficiency in development.
Companion Web Site

append (object: T): Sequence(T)


<?xml version="1.0" encoding="ISO-8859-1"?> Description: The sequence of elements, consisting of all elements of self, followed by object. Table of Contents UML Bible

post: result->size() = self->size() + 1 post: result->at(result->size()) = object Part I - An Introduction to UML post: Sequence{1..self->size()}-> Chapter 1 - What Is UML? forAll(index: Integer | Chapter 2 - UML Architecture result->at(index) = self->at(index))
Preface Chapter 3 Chapter 4 Chapter 5 Chapter 7 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts
Part II - Modeling Object Structure prepend(object: T): Sequence(T)

- Capturing Rules about Objects in a Class Diagram Description: The to sequence consisting object , followed by all elements in self. Chapter 6 - How Capture Rules aboutof Object Relationships - Testing with Objects
Part III - Modeling Object Interactions post: result->size = self->size()

+ 1

post:8 result->at(1) = object Chapter - Modeling Interactions in UML 1.4 post:9 Sequence{1..self->size()}-> Chapter - Modeling Interactions in UML 2.0 forAll(index: Integer | Lifecycle in UML 1.4 Chapter 10 - Modeling an Object's self->at(index) = Object's result->at(index + 1)) Chapter 11 - Modeling an Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling Application Architecture Description: Thethe sequence consisting of self

insertAt(index: Integer, object: T): Sequence(T)

with object inserted at position index.

Chapter 14 - Modeling the Application Architecture Chapter - Modeling Software Using the Component post:15 result->size = self->size() + 1Diagram Chapter - Using Deployment Diagrams in UML 1.4 post:16 result->at(index) = object Chapter - Representing an Architecture in UML 2.0 post:17 Sequence{1..(index - 1)}->
Part VI - Bringing Rigor to | the Model forAll(i: Integer self->at(i)

= result->at(i))

Chapter - Applying Constraints the UML Diagrams post:18 Sequence{(index + to 1).self->size()}-> Chapter 19 - Action Semantics forAll(i: Integer | self->at(i) = result->at(i + 1))
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

subSequence(lower: Integer, upper: Integer):Sequence(T) Chapter 21 - Customizing UML Using Profiles


Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary

Description: The subsequence of self starting at number lower , up to and including element number upper.

pre : 1 <= lower pre : lower <= upper Index pre : upper <= self->size() List of Figures post: result->size() = upper - lower + 1 List of Tables post: Sequence{lower..upper}-> List of Listings forAll( index |

result->at(index - lower + 1) = self->at(index))


< Day Day Up >

at(i:Integer):T Description: The i-th element of sequence.


UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

pre: i >= 1 and i <= self->size() For beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve indexOf(obj: T):timeliness, Integer quality, and efficiency in development.

Description: The index of object obj in the sequence.


<?xml version="1.0" encoding="ISO-8859-1"?> pre: self->includes(obj) Table of Contents post: self->at(i) = obj UML Bible Preface

Companion Web Site

first():T Part I - An Introduction to UML


Chapter 1 Chapter 2 Chapter 3

Description: The first element in self.


- UML Architecture - UML Diagrams and Extension Mechanisms

- What Is UML?

post:4 result = self->at(1) Chapter - Object-Oriented Concepts


Part II - Modeling Object Structure

Chapter 5 Chapter 6

last():T

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

Chapter 7 - Testing with Objects Description: The last element in self.


Part III - Modeling Object Interactions

Chapter - Modeling Interactions in UML 1.4 post:8 result = self->at(self->size()) Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

including(object: T): Sequence(T) Chapter 11 - Modeling an Object's Lifecycle in UML 2.0


Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

Description: The sequence containing all elements of self plus object added as the last element.

post: resultthe = Application self . append (object) Part V - Modeling Architecture


Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an containing Architecture inelements UML 2.0 of self apart from all occurrences of object. The order Description: The sequence all
Part VI remaining - Bringing Rigor to the of the elements is Model not changed.

excluding(object: T): Sequence(T)

Chapter 18 - Applying Constraints to the UML Diagrams Chapter - Action Semantics post:19 result->includes(object) = false
Part VII - result->size() Automating the UML Modeling Process post: =

Chapter 20 - Using a Tool self->size() -Modeling self->count(object) Chapter - Customizing UML Using Profiles post:21 result = Chapter 22 - XML Metadata Interchange self->iterate(elem; acc: Sequence(T) = Sequence{} |

if elem object thenGuide acc else acc->append(elem) endif) Appendix A -= UML 1.4 Notation
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary

asBag():Bag(T)

Index Description: The bag containing all the elements from self, including duplicates. List of Figures List of Tables

post: result->forAll(elem |

List of Listings

self->count(elem) = result->count(elem)) < Day Day Up > post: self->forAll(elem | self->count(elem) = result->count(elem))
UML Bible

asSequence(): Sequence(T) by Tom Pender


John Wiley & Sons 2003 (940 pages)

ISBN:0764526049

Description: The sequence identical to the object itself. This operation exists for convenience reasons.
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows how to use UML to improve post: result specifications, = self timeliness, quality, and efficiency in development.

asSet(): Set(T)

Companion Web Site

Description: The set containing all the elements from self, with duplicates removed. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents
UML Bible result->forAll(elem | self->includes(elem)) post: Preface post: self->forAll(elem | result->includes(elem))
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3

- What Is UML?

- UML Architecture Predefined iterator expressions - UML Diagrams and Extension Mechanisms

Chapter 4 - Object-Oriented Concepts This section defines the standard OCL iterator expressions. In the abstract syntax, these are all instances
Part II - Modeling Object Structure ofIteratorExp . Iterator expressions

always have a collection expression as their source, and are shown

Chapter 5 source - Capturing Rulestype. about Objects in a Class Diagram here per collection The semantics of each expression are defined through a mapping from Chapter 6 - to How Capture Rules about Object Relationships the iterator theto iterate construct, which means it does not need to be defined separately in the semantics Chapter 7 - Testing with Objects sections.
Part III - Modeling Object Interactions

In all the OCL expressions, the1.4 left-hand side of the equals sign is the IteratorExp to be defined, Chapter 8 following - Modeling Interactions in UML
Chapter 9

and the right-hand side of the equals sign is an IterateExp. For example, - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

- Employee.agents->exist(name='Tom') Chapter 11 - Modeling an Object's Lifecycle in UML 2.0


Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Name is the iterator expression, the variable that is being examined in each member. The value Tom' is the iterate expression, the value that the expression is searching for in each member variable.

Chapter 14 - Modeling the Application Architecture The names source, body , and iterator refer to the role names in the abstract syntax as defined in Table Chapter 18-2. 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0 Table 18-2: Iterator Expressions
Part VI - Bringing Rigor to the Model

Iterator Description Chapter 18 role - Applying Constraints to the UML Diagrams


Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Source The source expression of the IteratorExp Chapter 20 - Using a Modeling Tool
Chapter UML body Using Profiles Body 21 - Customizing The expression of the IteratorExp Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix C - Standard Elements Glossary Index

Iterator

The iterator variable of the IteratorExp

Result B - UML 2.0 Notation The result Appendix Guidevariable of the IterateExp Note When new iterator expressions are added to the standard library, their mapping to existing constructs should be fully defined. If this is done, the semantics of the new iterator expression List of Figures are defined.
List of Tables List of Listings Collection

< with Day Day Up > The following are standard iterator expressions source of type Collection(T).

Exists
UML Bible Description: Results in true if body evaluates to true for at least one element in the source collection. by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

source->exists(iterators | body) = For beginning to advanced users, this book provides source->iterate(iterators; result: Boolean = false | comprehensive coverage of the versatility of 1.4 and 2.0 UML result or body) specifications, and shows how to use UML to improve
timeliness, quality, and efficiency in development.

forAll

Companion Web Site

Description: Results in true if the body expression evaluates to true for each element in the source <?xml version="1.0" encoding="ISO-8859-1"?> collection; otherwise, result is false. Table of Contents
UML Bible

source->forAll(iterators | body) = Preface source->iterate(iterators; Part I - An Introduction to UML result body) Chapter 1 and - What Is UML?
Chapter 2 Chapter 3 Chapter 4 - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

result: Boolean = true |

isUnique

Part II - Modeling Object Structure Description: Results in true if body

evaluates to a different value for each element in the source collection;

Chapter 5 -result Capturing Rules about Objects in a Class Diagram otherwise, is false. Chapter 6 - How to Capture Rules about Object Relationships Chapter 7 - Testing with Objects source->isUnique(iterators | body) =
Part III - Modeling Object Interactions source->collect(iterators |

body)->forAll (x, y | x <> y)

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

sortedBy Chapter 10 - Modeling an Object's Lifecycle in UML 1.4


Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Description: Results in the Sequence containing all elements of the source collection. The element for whichbody has the lowest value comes first, and so on. The type of the body expression must have the < Chapter 12 - Modeling the Use of a System with the Use Case Diagram operation defined. The < operation must return a Boolean value and must be transitive, that is, if a < b and Chapter 13 - Modeling Behavior Using an Activity Diagram b < c, then a < c. sortedBy may have at most one iterator variable.
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

source->sortedBy(iterator | body) = iterate ( iterator: result: Sequence(T): Sequence {} | Chapter 16 - Using Deployment Diagrams in UML 1.4 if result->isEmpty() Chapter 17 - Representing an Architecture in UML 2.0 then result.append(iterator) Part VI - Bringing Rigor to the Model else let position: Integer = Chapter 18 - Applying Constraints to the UML Diagrams result->select(item | item > iterator)->first() Chapter 19 - Action Semantics in Part VII - Automating the UML Modeling Process result.insertAt(position, iterator) Chapter endif20 - Using a Modeling Tool
Chapter 15 - Modeling Software Using the Component Diagram Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

any Appendix A - UML 1.4 Notation Guide


Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

Description: Returns any element in the source collection for which body evaluates to true. If there is more than one element for which body is true, only one of them is returned. There must be at least one element Glossary fulfillingbody , otherwise the result of this IteratorExp is OclUndefined. any may have at most one Index iterator variable.
List of Figures List of Tables

List of Listings

source->any(iterator | body) =

source->select(iterator | body)->asSequence()->first()
< Day Day Up >

one Description: Results in true if there is exactly one element in the source collection for which body is true. ISBN:0764526049 by Tom Pender one may have at most one iterator variable.
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides UML Bible

source->one(iterator | body) =of the versatility of 1.4 and 2.0 UML comprehensive coverage specifications, and how to use UML source->select(iterator | shows body)->size() = to 1 improve
timeliness, quality, and efficiency in development. Companion Web Site

collect
<?xml version="1.0" encoding="ISO-8859-1"?> Description: The collection of elements that results from applying body to every member of the source set. Table Contents The of result is flattened. Notice that this is based on collectNested, which can be of a different type

depending on the type of source. collectNested is defined individually for each subclass of UML Bible CollectionType. Preface
Part I - An Introduction to UML

Chapter 1 - What Is UML? source->collect(iterators | body) = Chapter 2 - UML Architecture (iterators | body)->flatten() source->collectNested Chapter 3 Chapter 4 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Set

Chapter 5 Chapter 6 Chapter select 7

The following are standard iterator expressions with source of type Set (T).

Part III - Modeling Object Interactions

Description: The subset of set for which expr is true. select may have at most one iterator variable. Chapter 8 - Modeling Interactions in UML 1.4
Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML source->select(iterator | body) = 1.4 Chapter 11 - Modeling an Object's Lifecycle in UMLSet(T) 2.0 source->iterate(iterator; result: =
Part IV - Modeling Object Behavior Set{} |

Chapter 12 - Modeling the Use of a System with the Use Case Diagram if body

then result->including (iterator) Chapter 13 - Modeling Behavior Using an Activity Diagram else result the Application Architecture Part V - Modeling endif) Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing toof the Model Description: The Rigor subset the source

reject

set for which body is false. reject may have at most one iterator

Chapter 18 - Applying Constraints to the UML Diagrams variable. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

source->reject(iterator | body) =

Chapter 20 - Using a Modeling Tool | not body) source->select(iterator Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

collectNested Appendix A - UML 1.4 Notation Guide


Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary

Description: The Bag of elements which results from applying body to every member of the source set.

source->collect(iterators | body) = Index


List of Figures List of Tables

source->iterate(iterators; result: Bag(body.type) = Bag{} | result->including(body))

List of Listings

Bag

< Day Day Up >

Following are the standard iterator expressions with source of type Bag (T). select
UML Bible by Tom Pender
ISBN:0764526049

Description: The sub-bag of the source bag for which body is true. select may have at most one iterator John Wiley & Sons 2003 (940 pages) variable.
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and how source->select(iterator | shows body) = to use UML to improve timeliness, quality, and efficiency in development. source->iterate(iterator; result: Bag(T) =

Bag{} | Companion Web Site if body then result->including(iterator) <?xml version="1.0" encoding="ISO-8859-1"?> else result Table of Contents endif)
UML Bible Preface
Part I - An Introduction to UML reject

Chapter 1

- What Is UML? Description: TheArchitecture sub-bag of the source bag for which body is false. reject may have at most one iterator Chapter 2 - UML

variable. Chapter 3 - UML Diagrams and Extension Mechanisms


Chapter 4 - Object-Oriented Concepts

source->reject (iterator Part II - Modeling Object Structure


Chapter 6 Chapter 7

| body) =

source->select(iterator not in body) Chapter 5 - Capturing Rules about | Objects a Class Diagram
- How to Capture Rules about Object Relationships - Testing with Objects

Part III - Modeling Object Interactions

collectNested

Chapter 8 - Modeling inthat UML 1.4 Description: The BagInteractions of elements results from applying body to every member of the source bag. Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

source->collect(iterators | body) = Bag{} | result->including(body))

Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 source->iterate(iterators; result: Bag(body.type) =


Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Sequence

Chapter 14 - Modeling the Application Architecture

The following are standard iterator withDiagram source of type Sequence (T). Chapter 15 - Modeling Software Usingexpressions the Component
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing to the Model Description: The Rigor subsequence of the

Chapter 17 - Representing an Architecture in UML 2.0

select(expression: OclExpression): Sequence(T) source sequence for which body is true. select may have at most

Chapter 18 - Applying one iterator variable.Constraints to the UML Diagrams Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

source->select(iterator | body) =

Chapter 20 - Using a Modeling Tool source->iterate(iterator; result: Sequence(T) = Chapter 21 - Customizing UML Using Profiles Sequence{} | Chapter 22 - XML Metadata Interchange if body Appendix A - UML 1.4 Notation Guide then result->including(iterator) Appendix B - UML 2.0 Notation Guide else result Appendix endif)C - Standard Elements Glossary Index List of Figures List of Tables The subsequence of the source sequence for which body is false. reject may have at most Description: List ofiterator Listingsvariable. one

reject

< Day Day Up >

source->reject(iterator | body) = source->select(iterator | not body)


UML Bible

collectNested by Tom Pender


John Wiley & Sons 2003 (940 pages)

ISBN:0764526049

Description: The For Sequence of elements that results from applying beginning to advanced users, this book providesbody to every member of the source sequence. comprehensive coverage of the versatility of 1.4 and 2.0 UML source->collect(iterators | body) = Companion Web result; Site source->iterate(iterators; Sequence(body.type) = Sequence{} | result->append(body))
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

< Day Day Up >


- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

OCL definesJohn an abstract a metamodel, Wiley & syntax Sons ,2003 (940 pages) for languages used to specify constraints. OCL definescomprehensive a concrete syntax that implements the abstract syntax. This concrete syntax is only one coverage of the versatility of 1.4 and 2.0 UML of many that specifications, may be created using the OCL and shows how to metamodel. use UML to improve
timeliness, quality, and efficiency in development. For beginning to advanced users, this book provides

OCL expressions are static and instantaneous. They cannot alter the state of the system.
Companion Web Site

OCL expressions require placement, a context classifier , and a self-instance.


<?xml version="1.0" encoding="ISO-8859-1"?> OCL defines expressions and types. The set of valid types and valid expressions on those types are Table of Contents UML Bible

defined in the OCL Standard Library.

Preface Aninvariant is a condition that must hold true for the life of the system.
Part I - An Introduction to UML

Aprecondition Chapter 1 - What Isdefines UML? the state of the system when the context operation is invoked.
Chapter 2 Chapter 3

Apost condition defines the state of the system at the completion of the context operation.
- UML Diagrams and Extension Mechanisms

- UML Architecture

Chapter 4 let - Object-Oriented Concepts The expression enables you to create variables that are scoped by the expression in which they
Part II - Modeling are defined. Object Structure

Chapter 5

- Capturing Rules about Objects in a Class Diagram The (definition) expression enables you to create variables that are scoped by the context Chapter 6 def - How to Capture Rules about Object Relationships

classifier in which they are defined. Chapter 7 - Testing with Objects


Part III - Modeling Object Interactions

Chapter 8 Chapter 9

The OCL Standard Library defines three types of Collections: Set, Bag, and Sequence. Collection - Modeling Interactions in UML 1.4 itself is an abstract superclass.
- Modeling Interactions in UML 2.0

Chapter 10 - Modeling Object's for Lifecycle in UML 1.4 OclMessage is aan container an operation. It allows access to the features of the operation, such as

result(), hasReturned, isSignalSent Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 , and isOperationCall .
Part IV - Modeling Object Behavior

OCL access to of any type defined in a UML model via the OCL metaclass enumerations Chapter 12 supports - Modeling the Use a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

OclType, OclState , and OclModelElement.

Chapter 14 - Modeling the Application Architecture < DayDiagram Day Up > Chapter 15 - Modeling Software Using the Component Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Chapter UML 19:Bible Action Semantics by Tom Pender


Overview
John Wiley & Sons 2003 (940 pages)

ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows how to use UML UML to improve For most people,specifications, the primary items of interest in the are the diagrams. Most of the features of UML timeliness, andcommunication efficiency in development. that modelers use are therequality, to enable with other people-customers, managers, analysts,

<?xml version="1.0" encoding="ISO-8859-1"?> Table Contents The of action semantics specification is different. It describes something for which UML provides no notationUML Bible specification. An action specification describes the behavior associated with some part of a UML an action Preface model, but the notation used to describe the behavior can be any language that conforms to the action
Part I - An Introduction tothat UML semantics. This means the

designers, developers, and so on. For them the important, visible part of UML is the portion that describes Companion Web Site the notation. The semantics section for each diagram type ensures that everyone interprets the diagram in the same way.

action semantics section of UML is not going to be of direct interest in the

way that take notice of a new UML diagram type. In this case, there is nothing concrete to Chapter 1 people - Whatmight Is UML? look at.2 Chapter
Chapter 3 Chapter 4 - UML Architecture - UML Diagrams and Extension Mechanisms

However, for anyone who uses or intends to use a language designed for writing precise behavior - Object-Oriented Concepts specifications (a specification language), UML now describes the actions that can be performed on a UML Part II - Modeling Object Structure model and the effect that they have. If an action language conforms to the UML semantics, then behavior Chapter 5 - Capturing Rules about Objects in a Class Diagram descriptions made in it are capable, in principle, of being shared with any other UML tool. Instead of being Chapter 6 - How to Capture Rules about Object Relationships a way (as UML diagrams are) of enabling meaningful communication between people, the action Chapter 7 -specification Testing with is Objects semantics intended to help enable communication between tools.
Part III - Modeling Object Interactions

Chapter 8 - Modeling UML 1.4 a way of precisely defining behavior. An action semantics Early versions of the Interactions UML did notin prescribe

specification has recently been incorporated Chapter 9 - Modeling Interactions in UML 2.0 into the semantics section of UML. This specification defines the semantics for a set actions that can used Chapter 10 - Modeling an of Object's Lifecycle inbe UML 1.4to describe behavior within a UML model.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Note The action semantics specification discussed in this chapter is "Actions", Part 5 of the UML Semantics section of UML 1.5. At the time of writing this was the latest formally adopted version Chapter 12 - Modeling the Use of a System with the Use Case Diagram of the UML specification, available at Chapter 13 - Modeling Behavior Using an Activity Diagram http://www.omg.org/technology/documents/formal/uml.htm .
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture No standard language for describing behavior is currently proposed. Modelers may use any language that Chapter 15 -of Modeling Software Using the Component Diagram is capable implementing the action semantics. This approach allows models to include precise, Chapter 16 - Using Deployment Diagrams in UML 1.4 platform-independent descriptions of behavior while retaining the flexibility to use the specification

language choice. It offers the potential behavioral descriptions to be moved without loss of meaning Chapter 17 of - Representing an Architecture infor UML 2.0 between UML-compliant modeling Part VI - Bringing Rigor to the Model
Chapter 19 - Action Semantics

environments.

Chapter 18 - Applying Constraints to the UML Diagrams


Part VII - Automating the UML Modeling Process

The increased precision with which behavior can be described also enhances the ability of UML models to support features such as model simulation, improved code generation, and automatic test generation.

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UML Bible The Need for Action Semantics by Tom Pender


ISBN:0764526049

In terms of sheerJohn volume, the Actions section of UML 1.5 is a major addition to the UML specification. It Wiley & Sons 2003 (940 pages) accounts for more than 40 percent of the entire semantics section of the UML standard. Ivar Jacobson, For beginning to advanced users, this book provides who together with Grady Booch and Jim Rumbaugh originally developed the UML, has described action comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and how to use UML to improve semantics as "the missing piece to shows make UML an executable language". What was missing from UML timeliness, quality, and efficiency in development. before action semantics were incorporated, and why did they take so long to appear? The late arrival of action specification standards into UML is due to a combination of technical and historical factors. The initiative that eventually produced UML started as an attempt to unite two OO <?xml version="1.0" encoding="ISO-8859-1"?> methodologies, the "Booch" method developed by Grady Booch and the Object Modeling Technique Table of Contents (OMT) developed by Jim Rumbaugh and co-workers. The result was not a unified method but a unified UML Bible that allowed models to be created using any one of a number of different methodologies. notation
Preface Companion Web Site

Despite the fact that UML is deliberately Part I - An Introduction to UML

non-method-specific, it inevitably inherited a number of features that are consistent with the general approach used by the main contributing methods. One such feature is Chapter 1 - What Is UML? the use of common diagram types for both analysis and design. This favors the elaborative approach of Chapter 2 - UML Architecture adding detail to a modified analysis model in order to Chapter 3 - UML Diagrams and Extension Mechanisms produce a design model. It reflects the principle that software objects are abstractions of concepts in the real world. It is also convenient for iterative Chapter 4 - Object-Oriented Concepts development because it avoids the need for repeated transformations between diagram types for different Part II - Modeling Object Structure phases.
Chapter 5 - Capturing Rules about Objects in a Class Diagram Chapter - How of to UML Capture Rulesthe about Objectto Relationships Earlier 6 versions allowed modeler use freeform textual descriptions to describe the intended Chapter 7 Testing with Objects behavior of some parts of the model, such as methods. UML treats these descriptions as uninterpreted
Part III - The Modeling Interactions strings. onus Object is therefore on the

modeler to ensure that the descriptions are consistent with the rest of

Chapter 8 - and Modeling Interactions 1.4 the model, that the behavior in soUML described actually takes place as specified when the system is Chapter 9 - Modeling Interactions in UML 2.0 implemented. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Uninterpreted stringsan are adequate for many modeling purposes, but for some methodologists they fall Chapter 11 - Modeling Object's Lifecycle in UML 2.0 short exploitingObject the full value of Part IVof - Modeling Behavior

the effort invested in creating a model. The lack of rigor limits the extent to which the model can be validated by automated execution techniques or by generating code. This is a Chapter 12 - Modeling the Use of a System with the Use Case Diagram major shortcoming for advocates of the "translational" approach exemplified by the "Shlaer-Mellor" Chapter 13 - Modeling Behavior Using an Activity Diagram technique of Sally Shlaer and Stephen Mellor.
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture ChapterShlaer-Mellor 15 - Modeling Software Using the Component views design as a translationDiagram process. Shlaer-Mellor builds an implementation-free Chapterformal 16 - Using Deployment Diagramsand in UML 1.4 model of the application, an application-free formal model of the system architecture.

can be verified, and the processes of building these models have formal entry ChapterBoth 17 - models Representing anformally Architecture in UML 2.0 exit criteria. The application Part VI and - Bringing Rigor to the Model model is then systematically translated according to the rules of the This translation process can be automated. (Stephen J. Mellor: A Comparison of the Chapterarchitecture. 18 - Applying Constraints to the UML Diagrams Method and Shlaer-Mellor OOA/RD , 1993, http://www.projtech.com.) ChapterBooch 19 - Action Semantics
Part VII - Automating the UML Modeling Process

This highlights a fundamental distinction between the elaborative and translational approaches, summed up from the translational side of the debate by Mellor's conclusion that "Booch uses notation in the sense Chapter 21 - Customizing UML Using Profiles of an artist's rendition, whereas Shlaer-Mellor uses notation in the sense of a blueprint."
Chapter 20 - Using a Modeling Tool Chapter 22 - XML Metadata Interchange Appendix A point - UMLof 1.4 Notation Guide From this view, a model must be constructed with sufficient precision to enable it to be translated Appendix B artifacts - UML 2.0 Notation Guide into other (and ultimately to code) by applying appropriate rules. Action semantics standardization Appendix C - possible. Standard In Elements makes this this sense, the adoption of action semantics marks the incorporation into UML of a Glossary key feature of support for the translational approach. Index

A number of vendors had already created UML tools incorporating specialized action languages designed to describe model behavior more rigorously. Statements in the chosen action language are used to List of Tables describe behavior precisely in model domain terms. These can be either executed directly, or translated
List of Figures List of Listings

into an appropriate target language to validate or implement the model. However, because tools used < Day Day Up > different languages, each of which integrated in a different way with the model, there was no guarantee that action specifications in a UML model would be capable of translation if the model were to be moved between tools.
UML Bible

The arguments for specification standards were made in a paper entitled "Software-PlatformISBN:0764526049 by action Tom Pender Independent, Precise Action Specifications for UML" by Mellor, Tockey, Arthaud and LeBlanc, (Project John Wiley & Sons 2003 (940 pages) Technology Inc., For 1998). Mellor and co-workers called for a standardizable software-platform-independent beginning to advanced users, this book provides language for precise action specifications. Many of the recommendations in comprehensive coverage of the versatility of 1.4 and 2.0 UML this paper were incorporated specifications, and shows how to use UML toProposal improve (OMG, 1998), which outlined the into the OMG's Action Semantics for the UML-Request For quality, and efficiency development. main reasons fortimeliness, defining standard semantics forin action specifications (see the "Why Software-PlatformIndependent Action Specifications?" Companion Websidebar). Site
<?xml version="1.0" encoding="ISO-8859-1"?> Table Model of Contents precision and level of implementation detail are two separate things. Software-platformUML Bible independent action specifications, in conjunction with the UML, can completely specify a computing Preface problem without actually programming it. Such action specifications
Part I - An Introduction to UML

Why Software-Platform-Independent Action Specifications?

be used to build complete and precise models that specify problems at a higher level of Chapter 1 Can - What Is UML?
Chapter 2

abstraction than a programming language or a graphical programming system. - UML Architecture

Chapter 3 Can - UML Diagrams and Extension Mechanisms support formal proofs of correctness of a problem specification. Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object high-fidelity Structure Make possible model-based

simulation and verification.

Chapter 5 Chapter 6 Chapter 7 Chapter 8

Enable reuse of domain models, because each domain is completely specified, though not in a - How to Capture Rules about Object Relationships form embedded in code.
- Testing with Objects

- Capturing Rules about Objects in a Class Diagram

Part III - Modeling Object Interactions

Provide a stronger basis for model design and eventual coding.


- Modeling Interactions in UML 1.4

code generation to multiple Chapter 9 Support - Modeling Interactions in UML 2.0 software platforms.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

However, the RFP requested submissions not for a standard action language but a set of standard semantics for action specifications that could be supported by many languages. The response to this Chapter 13 - Modeling Behavior Using an Activity Diagram invitation was a submission by a group of tool vendors who wanted to ensure portability of models Part V - Modeling the Application Architecture containing action specifications in any compliant action language between tools.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 14 - Modeling the Application Architecture Chapter 15 - model Modeling Software Using the Component A semantic for action specifications makes itDiagram possible to define behavior precisely enough to define

mappings into a variety of programming languages, Chapter 16 Using Deployment Diagrams in UML 1.4 validation tools, and simulation tools. Importantly, it improves capacity of an UML models toin be used to generate code. These capabilities are consistent with Chapter 17 the - Representing Architecture UML 2.0 the VI OMG's long-term to separate Part - Bringing Rigorstrategy to the Model
Chapter 19 - Action Semantics

specification from implementation as expressed in the Model

Driven 18 Architecture (http://www/omg.org/mda ). Chapter - Applying(MDA) Constraints to the UML Diagrams The resulting action semantics specification in UML 1.5 does not define a UML action language or notation. By separating the semantics from the notation, the specification leaves open the possibility of Chapter 20 - Using a Modeling Tool using any notation that supports the UML action semantics. This allows modelers to use any notation they Chapter 21 - Customizing UML Using Profiles choose, including graphical techniques. The way is therefore left open for new action languages and Chapter 22 to - XML Metadata Interchange notations be introduced as the need arises.
Part VII - Automating the UML Modeling Process

Appendix A - UML 1.4 Notation Guide

Of course, vast modelers will not want to invent new action languages but to use an existing Appendix B -the UML 2.0majority Notationof Guide language a suitable one exists. Some action languages which have been applied to UML models Appendix C where - Standard Elements are listed in UML 1.5 Appendix B. Those described in the Appendix are the Action Specification Language, Glossary the BridgePoint Action Language, the Kabira Action Semantics, and the action language subset of SDL. It Index is pointed out in the Appendix that no single language or group of languages described provides List of Figures
List of Tables List of Listings

constructs that cover all the features of the UML action semantics. This might be taken to suggest an opening for a language that does implement all the features. However, it is more likely that users will

choose a language that fits their specific requirements rather than necessarily adopt one purely on the < Day Day Up > basis of its comprehensive support for UML semantics. As in the case of programming languages, the choice is more likely to be based on the modeling team's previous familiarity, the language's understandability, and on its applicability to the particular modeling problem.
UML Bible by Tom Pender Action specifications in UML John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, book provides with a way of precisely specifying The Action Semantics specification is intended to this provide modelers comprehensive coverage of the versatility of 1.4 and 2.0 UML behavior within a UML model. Behavior in UML is described using actions.

UML defines an action as

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

The specification of an executable statement that forms an abstraction of a computational


<?xml version="1.0" encoding="ISO-8859-1"?> procedure. An action typically results in a change in the state of the system, and can be realized by Table of Contents sending a message to an object or modifying a link or a value of an attribute. (UML 1.5 Glossary) UML Bible Preface Action specifications can describe the body of a method, the output of a transition between states in a state
Part I - An Introduction to UML or activity diagram, or activities

associated with system states. In earlier versions of UML, textual action

Chapter 1 - What Is typically UML? specifications were free-form descriptions that UML treated as uninterpreted strings. Individual

modelers toolset vendors were free to interpret the content of the description in any way they chose. Chapter 2 and - UML Architecture Some modelers constructed precise action specifications using either common programming Chapter 3 - UML Diagrams andmore Extension Mechanisms languages specialized action languages. Each tool used to create specifications reflected a particular Chapter 4 - or Object-Oriented Concepts vendor's assumptions about the relationships Part II - Modeling Object Structure between the language constructs and the UML model elements referenced. the absence of standards, Chapter 5 they - Capturing Rules In about Objects in a any Class Diagram it was difficult to ensure that a model created in one tool be exchanged with another while continuing to display consistent behavior. Chapter 6 -could How to Capture Rules about Objecttool Relationships
Chapter 7 - Testing with Objects The UML already contains its own language intended to remedy the ambiguity inherent in natural language: the Object Constraint Language (OCL). It is a formal language designed to enable the definition Chapter 8 - Modeling Interactions in UML 1.4 of constraints on a model. A typical use of OCL is to describe pre- and postconditions on operations. Chapter 9 OCL - Modeling Interactions in UML 2.0 However, is a declarative language not intended for procedural descriptions. It is not possible to write Chapter 10 - logic Modeling an Object's Lifecycle in UML procedural or flow control in OCL. An OCL1.4 expression is also deliberately intended to be free of side Chapter an Object's Lifecycle in UML 2.0Specifying behavior using pre- and post-conditions effects,11 so-itModeling cannot change anything in the model. Part IV - Modeling Object Behavior guarantees that no implementation assumptions become embedded in the description. However, the lack Chapter 12 - Modeling the Use of a System with it the Use Case Diagram of a procedural description capability makes difficult to use OCL to describe behavior in an intuitive way.
Part III - Modeling Object Interactions

Chapter 13 - Modeling Behavior Using an Activity Diagram

Note There the is a Application current effort to integrate Part V - Modeling Architecture

static and dynamic features in the OCL, although no formal submission has been made at this time. See Chapter 18 for more depth on the Object Constraint Chapter 14 - Modeling the Application Architecture Language. Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - is Using Deployment Diagrams in UMLusing 1.4 an existing popular programming language such as One option to define behavior procedurally Chapter 17 Representing an Architecture in UML 2.0 Java, C++, or Visual Basic. However, the use of a programming language for this purpose has some
Part VI - Bringing Rigor to the Model disadvantages:

Chapter 18 - Applying Constraints to the UML Diagrams

Modern languages contain richer constructs than are necessary for describing actions. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Languages contain their own idioms for implementing model constructs.

Chapter 21 - Customizing UML Using Profiles Expressing actions using a programming language can excessively constrain the modeler. Chapter 22 - XML Metadata Interchange Programming language statements can suggest to the implementer the use of a particular construct Appendix A - UML 1.4 Notation Guide or algorithm. For example, an association in UML simply indicates a connection between instances. Appendix - UML 2.0 Notation TheBconnection might beGuide implemented in a variety of ways. Java, on the other hand, can represent an Appendix C - Standard Elements association only by object references in the associated classes. Glossary Index

Writing statements in a programming language tends to force a sequential model on the specification. This can obscure the possibility that the same result might be achieved more efficiently by an List of Figures alternative sequence, or by concurrent execution of some statements. The resulting specification may List of Tables needlessly constrain the order of execution, even though alternative sequences or concurrent
List of Listings

execution may be acceptable. It is a principle of the UML Action Semantics specification that < Day Day Up > concurrent execution of actions is assumed unless explicitly sequenced, or implicitly sequenced by a need to share data with other actions. Code fragments be intentionally placed within a model, with a view to executing the model, or UMLmay Bible generating code thatPender incorporates the code statements directly. This has the effect of embedding ISBN:0764526049 by Tom implementation detail within the model, making it hard to distinguish essential features from John Wiley & Sons 2003 (940 pages) implementation mechanisms. For beginning to advanced users, this book provides Conventional programming languages do to not "understand" UML. An object-oriented language like specifications, and shows how use UML to improve timeliness, quality, efficiency in as development. Java implements common OO and concepts such class and attribute, but does not recognize the significance of an attribute on a Class diagram. The programming language statements take no direct Companion Web Site account of the model they are intended to describe. Instead, any relevant model contents must be explicitly declared in language-specific terms. This can result in duplication and the usual problems of <?xml version="1.0" redundancy inencoding="ISO-8859-1"?> a specification.
Table of Contents comprehensive coverage of the versatility of 1.4 and 2.0 UML

Mellor's UML Bible view suggests that a purpose-designed action language should be capable of recognizing the context of procedures within a UML model. An action language specification of a class method would thus Preface automatically recognize Part I - An Introduction to attributes UML of the class. There are a number of languages designed for writing specifications as opposed to writing code (some examples are listed in the Action Language Examples Chapter 1 - What Is UML? appendix of UML 1.5 ). Some of these have already been integrated into UML modeling tools. So why did Chapter 2 - UML Architecture the OMG not simply aim to incorporate an existing or purpose-built language into the UML? Chapter 3 - UML Diagrams and Extension Mechanisms
Chapter Object-Oriented Concepts One of 4 the- problems of trying to standardize on a procedural language within a general-purpose standard
Part II - Modeling Object Structure

like UML is that UML is used in a very wide range of problem domains. This calls into question the

Chapter 5 - of Capturing Rules in aThe Class Diagram against mandating the use of a single advisability prescribing a about single Objects language. argument Chapter 6 How to Capture Rules about Object Relationships language, even within a relatively restricted domain, has been summarized as follows: Chapter 7 - Testing with Objects
Part III - Modeling Object Interactions

of promoting the one language ChapterInstead 8 - Modeling Interactions in UML 1.4 that will solve all design problems (which does not and will not ever exist) this book takes the view that different problems demand different languages, and a - Modeling Interactions in UML 2.0 designer who knows the spectrum of available languages has the advantage over one who is Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 trapped using the wrong language. (Stephen A. Edwards: Languages for Digital Embedded Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Systems. Kluwer Academic Publishers, 2000.)
Chapter 9
Part IV - Modeling Object Behavior

Chapter 12 Modelingis the Use of a for System with the Use Case Diagram it is going to be severely limiting for If a single language restrictive embedded systems designers, Chapter 13 Modeling Behavior Using an Activity Diagram UML users describing the broader spectrum of applications from business systems to real-time software.
Part VOMG - Modeling Application Architecture The chosethe instead to standardize not a

single language, but the semantics that any compliant

Chapter 14 must - Modeling the Application Architecture language support. Chapter 15 - Modeling Software Using the Component Diagram

In fact the UML Action Semantics RFP recognized Chapter 16 Using Deployment Diagrams in UML 1.4 that a single set of action semantics might not be flexible17 enough to meet the of all in UML users. Chapter - Representing an needs Architecture UML 2.0 It therefore allowed for the provision of several execution profiles to address different Part VI - Bringing Rigor to the Model
Chapter 19 - Action Semantics

user needs. A profile is an extension to the standard UML that

enables the construction of specialized models for specific purposes. For example, UML 1.5 provides an Chapter 18 - Applying Constraints to the UML Diagrams example profile for Business Modeling. The Action Semantics specification allows for specific execution profiles for some of the action packages. For example, request handling behavior may be defined on Part VII - Automating the UML Modeling Process different platforms by means of a profile defining the given system environment.
Chapter 20 - Using a Modeling Tool Chapter 21 "executable - Customizing UML is Using Profiles The term UML" often used to describe the application of a UML profile in the context of a Chapter 22 - XML Metadata Interchange method that aims to automatically generate an executable application from an abstract UML model. An Appendix Aof - such UML 1.4 Notation Guide example a profile is described in "Executable UML-A Foundation for Model Driven Architecture" by Appendix - UML and 2.0 Notation Guide StephenBMellor Marc Balcer (Addison-Wesley, 2002). Action semantics are regarded as a necessary Appendix Standard Elements addition C to-UML in order to support this technique. However, it should be noted that the primary reason for

having action semantics is to provide a standard for the exchange of action specifications between tools, Glossary rather than to enable execution of UML models. Executable models can be constructed using existing Index UML artifacts such as statecharts. List of Figures
List of Tables List of Listings

Advantages of precise action semantics

< Day Day Up > Precise action semantics enable much more powerful modeling of behavior than unstructured descriptions. Some of the difficulties associated with unstructured descriptions can be summarized as: UML Bible

In UML actions are described using non-interpreted text strings. This leads to possible ISBN:0764526049 by Tom Pender interpretation errors when exchanging specifications, the impossibility to automatically check the John Wiley & Sons 2003 (940 pages) obtained models, the impossibility to test the models against some specified constraints, the For users, this book provides impossibility to beginning use tools to foradvanced simulating behaviour, and the limited usage of actions at code comprehensive coverage of the versatility of 1.4 and 2.0 UML generation specifications, time, when actions described textually must be either skipped, or copied blindly. (Ileana and shows how to use UML to improve Stan-Ober,timeliness, "Harmonisation ofand Modeling Languages with Object-Oriented Extensions and Executable quality, efficiency in development. Semantics." Doctoral Thesis, Institut National Polytechnique De Toulouse, 2001, p. 83.)
Companion Web Site

Mellor and co-workers' original paper calling for the introduction of action semantics explores some of the potential benefits of precise behavioral specifications. These are described in terms of how the <?xml version="1.0" encoding="ISO-8859-1"?> specification language SDL (Specification and Description Language) can be used to deliver the benefits, Table of Contents but Bible some benefits can be also achieved using other languages. UML
Preface

Code generation is possible using earlier features of UML. Class and attribute declarations, together with particular association implementations, can be generated from static model diagrams. Code can also be Chapter 1 - What Is UML? generated from state machines. However, a general mechanism for defining behavior in other parts of the Chapter 2 - UML Architecture model, such as class methods and activity descriptions, provides the opportunity for a more systematic Chapter 3 -Such UML Diagrams and Extension treatment. a mechanism offers theMechanisms possibility of using proven specification languages such as SDL Chapter 4 Object-Oriented Concepts to define entire subsystems in the context of a UML model.
Part I - An Introduction to UML Part II - Modeling Object Structure

Precise also make simulation of the model without going to the level of detail Chapter 5specifications - Capturing Rules about possible Objects in a Class Diagram required implementation. Thisabout technique permits validation of the model at an early stage. SDL, for Chapter 6 for - How to Capture Rules Object Relationships example, without vendor-specific extensions. Tools exist that can use SDL Chapter 7 enables - Testingsimulation with Objects specifications to build extensive verification Part III - Modeling Object Interactions
Chapter 9 - Modeling Interactions in UML 2.0

facilities. These include verifying that a given scenario is (or is

not) possible, and generating test sequences Chapter 8 - Modeling Interactions in UML 1.4 that violate some required property. There are strong arguments for automatic model checking as part of a strategy of integrating system validation early in the design process. As systems become more complex, reasoning about system Chapter 11becomes - Modeling an Object's Lifecycle in UML 2.0 behavior more difficult. Systematic techniques and tools that support the validation process Part IV - Modeling Object Behavior become increasingly valuable, because, more time and effort is often required on validation than on Chapter 12 - Modeling the Use of a System with the Use Case Diagram construction.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 13 - Modeling Behavior Using an Activity Diagram

While might individually produce their Part V - vendors Modeling the Application Architecture

own extensions to deliver additional functionality, the

standards-based approach is more Architecture attractive to users. Defining specifications in a UML-standard rather Chapter 14 - Modeling the Application than in 15 a vendor-specific way allows for Component portability of model-based specifications between different Chapter - Modeling Software Using the Diagram products. semanticsDiagrams mean that principle behavior specifications can be moved between Chapter 16 Standard - Using Deployment in in UML 1.4 products distortion. Chapter 17without - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams < Day Day Up > Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Uses of Action Semantics by Tom Pender


ISBN:0764526049

Much of the workJohn on action concentrates Wiley semantics & Sons 2003 (940 pages) on their application in developing unambiguous specifications of requirements detailedusers, but platform-independent For beginning in to a advanced this book provides way. However, the prospect of the adoption of standard semantics has led to proposals for other applications. comprehensive coverage of the versatility of 1.4 and 2.0 UML

Code generation for specific platforms


Companion Web Site

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Some advocates of the model-driven approach favor extending the scope of action semantics. Why should we stop at platform-independent action specifications? Why not create a set of action specifications <?xml version="1.0" encoding="ISO-8859-1"?> for specific platforms to enable direct code generation? The principle of using a precise model-based Table of Contents specification to act as a basis for generation of code for an entire application has been a common theme UML Bible in system development circles for many years. Code generation from diagram-based representations of Preface one sort or another is probably the single most common topic for computer science theses. Advocates of Part I - An Introduction to UML this approach argue that a move toward diagrammatic specification is a logical consequence of the trend Chapter 1 - What Is UML? toward higher-level abstractions by programming tools. Starting with machine code and progressing Chapter 2 - UML Architecture through assembly language and high-level languages, each step has enabled the programmer to use Chapter 3 - UML Diagrams and Extension Mechanisms abstractions that are closer to those of the problem domain. Ultimately, models should be capable of Chapter 4 - Object-Oriented Concepts being compiled to generate executable code in the same way that high-level language programs are Part II - Modeling Object Structure currently compiled to generate executable code.
Chapter 5 - Capturing Rules about Objects in a Class Diagram Chapter 6 standardization - How to Capture Rules about Object The UML body, the OMG, hasRelationships recently moved its prime focus away from middleware

standardization to concentrating Chapter 7 - Testing with Objects on model-based development. The OMG is currently promoting an initiative based onObject UML together with Part III - Modeling Interactions its other standards. This is the concept of Model-Driven Architecture (MDA).8MDA is based on the separation of the fundamental logic behind a specification from the specifics Chapter - Modeling Interactions in UML 1.4 of the implementation. Chapter 9 - Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

An MDA-based application is intended to be built by first creating a platform-independent application model. This is expressed via UML in terms of an appropriate core model. A different core model will be Part IV - Modeling Object Behavior used to represent each distinct application environment. The core model will be independent of any Chapter 12 - Modeling the Use of a System with the Use Case Diagram middleware platform. The application model will then be converted into one targeted to a specific platform. Chapter 13 - Modeling Using an Activity Diagram assisted by tools that can be used to automate The conversion itself Behavior may be carried out by specialists Part V - Modeling the Application Architecture some aspects of the work using standard mappings.
Chapter 14 - Modeling the Application Architecture

The MDA depends on the application model being an unequivocal statement of functional behavior Chapter 15 vision - Modeling Software Using the Component Diagram that can be into a platform-specific Chapter 16 - translated Using Deployment Diagrams in UML form. 1.4 A standard set of action semantics is a prerequisite for a tool to be to faithfully render the mappings Chapter 17 - able Representing an Architecture in UML 2.0in the target language.
Part VI - Bringing Rigor to the Model

On a cautionary note, the ability of the current UML to unambiguously represent even static, structural aspects of a model has been questioned. If the significance of the static model is capable of multiple Chapter 19 - Action Semantics interpretations, it is impossible to write unambiguous action specifications based on it. Until these issues Part VII - Automating the UML Modeling Process are resolved, it will not be possible to realize all the benefits of standardizing action semantics.
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 20 - Using a Modeling Tool Chapter 21 Not - Customizing UML Using Profiles Note everyone agrees that UML is sufficiently precise to support the goals of MDA. For an Chapter 22 examination - XML Metadata Interchange of some of the issues surrounding the static modeling features of UML, see, for

Antoine Beugnard, "Is MDA Achievable Without a Proper Definition of Late Binding?" Appendix A example - UML 1.4 Notation Guide presented WiSME, Workshop in Software Model Engineering, Dresden, Germany, Appendix B (paper - UML 2.0 Notationat Guide 2002.) Appendix C October - Standard Elements
Glossary Index

Designing new action languages.

List of Figures

The Appendix B:Action Language Examples describes mappings from a set of specification List of UML Tables fragments in existing action languages onto the UML Action Semantics models. However, it points out that List of Listings

these languages do not, individually or as a group, support all the actions in UML. < Day Day Up > Mellor and co-workers' original paper setting out the case for action specification standards within UML called for a standard action language. While this is not, at the moment, a feature of UML, defined Action Semantics should help designers of languages intended to integrate with UML models. Conformance with UML Bible the semantics can be ensured modes of expression. The ISBN:0764526049 by Tom Penderwhile retaining the flexibility of alternative expression mechanism may be textual and/or graphical, depending on the needs of the user community. John Wiley & Sons 2003 (940 pages)

Model-level transformations

Most applications of action semantics relate to the specification of behavior within model instances. Companion Site However, the UML metamodel isWeb itself a UML model and this opens up some interesting possibilities. Attempts have been made to define transformations not only for model instances but also for models themselves. In their paper, Suny et al. describe several applications of model-level transformations <?xml version="1.0" encoding="ISO-8859-1"?> (Gerson Suny, Franois Pennaneac'h, Wai-Ming Ho, Alain Le Guennec, and Jean-Marc Jzquel, Using Table of Contents UML Action Semantics for Executable Modeling and Beyond , IRISA, France. 2001). For example, UML Bible refactoring of source code is a technique to make the source code of an application more readable and Preface reusable. The authors describe the refactoring of a model such that the behavior of the original model is Part I - An Introduction to UML preserved in the transformed model. Other applications explored are pattern application and aspect Chapter 1 - What Is UML? weaving.
Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Part II - Modeling Object Structure

< Day Day Up >

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible The Action UML Package by Tom Pender


ISBN:0764526049

The UML Action Semantics specification defines a syntax and semantics for executable actions and John Wiley & Sons 2003 (940 pages) procedures. The For UML does not, a corresponding beginning tohowever, advanceddescribe users, this book provides notation or programming language. The action semantics specification and categorizes specifications, and defines shows how to use UML to actions. improve Each action definition contains descriptions of timeliness, quality, and efficiency in development. Attributes
Companion Web Site comprehensive coverage of the versatility of 1.4 and 2.0 UML

Associations encoding="ISO-8859-1"?> <?xml version="1.0" Table of Contents


UML Bible

Inputs

Preface Outputs
Part I - An Introduction to UML

Well-formedness rules Chapter 1 - What Is UML?


Chapter 2 Chapter 3

Additional operations that may be performed

- UML Architecture

- UML Diagrams and Extension Mechanisms

Chapter 4 - Object-Oriented Concepts The implementation of the actions may be specified in a language capable of executing the desired
Part II - Modeling Object Structure behavior. A language chosen for

this purpose is sometimes referred to as a "surface" language. The

Chapter 5language - Capturing Rules about Objects in a Class Diagram surface constructs are mapped onto actions defined by the UML action semantics. The Chapter 6 -define How to Capture Object Relationships semantics the effect Rules of theabout actions in terms of the UML model. Chapter 7 Chapter 8 - Testing with Objects - Modeling Interactions in UML 1.4
Part III - Modeling Object Interactions

Concepts

Chapter - Modeling Interactions incommon UML 2.0 concepts apply to all kinds of actions. Actions are described In UML9Action Semantics, several Chapter - Modelingthat an Object's Lifecycle in UML 1.4 using a10 terminology includes input and output pins, data flows, control flows, procedures , and

primitive These are the classes action Chapter 11actions. - Modeling an Object's Lifecycle of in the UML 2.0 Foundation package.
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

A behavior specification is based on actions. An action performs a transformation on a set of inputs to produce a set of outputs. An output from one action may act as input to another action. Inputs and outputs of an action are specified as its pins. The use of the term pin is analogous to the

Chapter - Modeling the Application Architecture familiar14 use of "input" and "output" pins on hardware devices. The pins of different actions may be linked Chapter 15 Modeling Software Using the Component Diagram by means of data flows to enable one action to provide input to another action. A data flow connects from Chapter 16 -pin Using Deployment UML 1.4 the output of one action toDiagrams the input in pin of another. Chapter 17 - Representing an Architecture in UML 2.0

The specification of a pin defines the Part VI - Bringing Rigor to the Model output and pins may be linked. Chapter 19 - input Action Semantics

type and multiplicity of values that may be held by the pin. Data flows

may only exchanged between that have compatible types and multiplicities. Consequently, not all Chapter 18 be - Applying Constraints topins the UML Diagrams
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

Note that the pins need not be identical, so long as the input pin conforms to the type of the source output pin. In order to be conformant,

Chapter 22type - XML Metadata Interchange The of the output pin must either be the same as, or a descendant of, the type of the input pin.

All cardinalities allowed by the multiplicity of the output pin must be allowed by the multiplicity of the input pin.

Glossary Figure 19-1 illustrates a data flow between two actions. The multiplicities indicated in square brackets at Index either end of the data flow line have their usual UML meanings: [1] indicates "exactly one" and [1..*] List of Figures indicates "one or more". If Personal Account is a subtype of Account it is valid to send a single Personal List of Tables Account instance to the input pin of Action 2 because Action 2 can accept one or more Account instances List Listings as of input. The notation used is the informal notation described in UML 1.5 (Appendix B.6.2-Illustrative

Notation), which is summarized in the section < "A Notation for Action Specifications" later in this chapter. Day Day Up >

UML Bible by Tom Pender


ISBN:0764526049

Sons 2003 pages) Figure 19-1:John DataWiley flow & between pins(940 with compatible types and multiplicities.

A data flow from comprehensive an output pin may be directed to one or more input pins, if, for example, the coverage of the versatility of 1.4 conforming and 2.0 UML specifications, and shows how to use UML to improve flow is used by several actions which can execute independently. An input pin, on the other hand, may only timeliness, quality, and efficiency in development. have one incoming data flow. Data flows imply sequence. That is, a successor action cannot be carried out until the data it needs is available. Control of a given sequence of actions may be necessary even if the actions do not exchange <?xml encoding="ISO-8859-1"?> dataversion="1.0" directly. In this case, the order of action execu-tion may be specified explicitly using a control flow. Table of Contents Where actions are linked by control flows, a successor action takes place only when the predecessor UML Bible action is complete. In Figure 19-2, control passes to Action 2 if and when Action 1 is completed.
Preface
Part I - An Introduction to UML

For beginning to advanced users, this book provides

Companion Web Site

Chapter 1 Chapter 2

- What Is UML? - UML Architecture

Chapter 3 - 19-2: UML Diagrams and Extension Figure Control flow indicating Mechanisms action sequence. Chapter 4 - Object-Oriented Concepts
Part II - Modeling Structure The lowest level Object of action - one that

contains no nested actions - is called a primitive action. Primitive

Chapter - intended Capturingto Rules about Objects in a Classlow-level Diagram behavior. A primitive action either performs a actions5are represent simple separate

computation or accesses object but not both. Chapter 6 - How to Capture Rulesmemory, about Object Relationships
Chapter 7

Actions may be nested within each other. The highest level of a nested group of actions is called a procedure. A procedure is a group of actions that may be treated as a unit to describe the behavior of Chapter 8 - Modeling Interactions in UML 1.4 some other part of the model, for example a method or an action triggered by a state machine transition.
Part III - Modeling Object Interactions

- Testing with Objects

Chapter 9

- Modeling Interactions in UML 2.0

Chapter 10 a - procedure Modeling an Lifecycle in UML Although isObject's a high-level grouping of1.4 actions, the terms procedure and action are considered Chapter 11 - Modeling an 1.5 Object's Lifecycle in UML 2.0 quite distinct. The UML Glossary provides definitions of both terms. A procedure consists of a
Part IV - Modeling Object Behavior coordinated set of actions that models

a computation, while an action is the specification of an executable

Chapter 12 Modeling the Use of System with the Use Case Diagram statement that may be part of aacomputational procedure. Procedures are considered to be sequenced by Chapter 13 - while Modeling Using Activity Diagram messages, the Behavior sequencing of an actions is determined by data and control flows. Procedures extract
Part V from - Modeling the Application Architecture data messages and assemble data into

messages for output. Actions receive data on input pins and

produce on output Chapter 14data - Modeling the pins. Application Architecture


Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Figure 19-3 shows a class called Order with an operation CalculateTax. The operation takes a parameter Percentage and returns a value of type money. The procedure is depicted in the part of the Chapter 17 - Representing an Architecture in UML 2.0 figure inside the ellipse - in practice it would be more conveniently shown on a separate diagram Part VI - Bringing Rigor to the Model hyperlinked to the operation string.
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Figure 19-3: Implementation of an operation described using a procedure specification. Preface


Part I - An Introduction to UML

Argument and result pins are shown on the procedure boundary, together with their types. They may also - What Is UML? be labeled to improve readability. Labels are indicated by italics. In this case the argument corresponding Chapter 2 - UML Architecture to the parameter Percentage has been labeled tax rate. Note that two arguments are shown, even Chapter 3 - UML Diagrams and Extension Mechanisms though the operation takes only one parameter ( Percentage). This is because the object itself (Order) Chapter 4 - Object-Oriented Concepts is regarded as an argument, so that the object's state information is available to the procedure. The type of Part II - Modeling Object Structure the result (money) is shown and assigned a label (amount ) for clarity.
Chapter 1 Chapter 5 - Capturing Rules about Objects in a Class Diagram Chapter 6 of - How to Capture (omitted Rules about Object Relationships The body the procedure in the figure) is normally expressed in terms of exchanges between

actions7enclosed within procedure boundary. Chapter - Testing with the Objects


Part III - Modeling Object Interactions

Chapter 8

Two different execution models are provided for actions and procedures. - Modeling Interactions in UML 1.4

Chapter 9 Modeling Interactions in UML 2.0action execution: waiting, ready, executing, and complete. An There are four stages in the lifecycle of an Chapter 10 - Modeling inafter UML its 1.4 action execution mayan beObject's createdLifecycle any time containing procedure has started executing. Preceding Chapter - Modeling anon Object's Lifecycle inthe UML 2.0 execution. The action execution is initially in a waiting actions11 provide values the input pins of action
Part IV When - Modeling Object Behavior state. all prerequisite actions

have been executed, it enters the ready state. An action may begin

Chapter 12 Modeling the Use of a System with the UseThis Case Diagram executing at any time after entering the ready state. allows the modeler additional flexibility. For Chapter 13 a - time Modeling Behavior an Activity Diagram example, delay may beUsing specified after which execution begins. However, the first action in a
Part V - Modeling the Application Architecture sequence nested within a process starts executing when

the process itself starts executing. After execution

Chapter 14 -the Modeling Application Architecture is finished, actionthe execution is complete. On completion, all output and input pins have values. Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Aprocedure execution lifecycle also has four stages: ready, executing, returning, and complete. A procedure execution starts in the ready state. Input parameters take the form of values on the argument Chapter 17 - Representing an Architecture in UML 2.0 pins, often as a result of a messaging action that initiates the procedure. Once in the ready state, (although Part VI - Bringing Rigor to the Model not necessarily immediately) a procedure may begin executing. This causes the execution of the nested Chapter 18 - Applying Constraints to the UML Diagrams action. After completion of its nested action, the procedure enters the returning state - at this point, all Chapter 19 - Action Semantics result pins have values. The procedure execution may package the results for a reply if it is triggered by a Part VII - Automating the UML Modeling Process messaging action. The procedure execution becomes complete after it has finished returning.
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

Action package

The action semantics section of UML defines a metamodel for actions. The meta-model defines the types of actions that can be used by modelers. The action types are grouped into packages.

Glossary UML defines six categories of actions, which are considered to be subpackages of the Action Foundation

package: Index
List of Figures List of Tables

Composite actions

List ofRead Listings and write actions

Computation actions Collection actions


UML Bible Messaging actions by Tom Pender

< Day Day Up >

ISBN:0764526049

John Wiley & Sons 2003 (940 pages) Jump actions

<?xml version="1.0" encoding="ISO-8859-1"?> Table Contents The of Action Semantics specification avoids semantics that force action languages to specify sequence UML Bible unnecessarily. This is a problem with using programming languages for specification. Action Semantics
Part IAn Introduction to between UML data flow or control flow

Action Semantics defines simple primitiveof constructs to ensure Primitive actions either carry out a comprehensive coverage the versatility of 1.4 flexibility. and 2.0 UML specifications, and shows how use UML to Primitive improve actions may be grouped together into computation, or access object memory, but doto not do both. timeliness, quality, action and efficiency in include development. composite actions. The composite may also control structures. A primitive delete action operates only on a single instance. If a set of instances is to be deleted, a composite action containing Companion Web Site multiple delete action primitives can be constructed. An implementation of this behavior in a surface language could define a more complex "delete set" operation.

For beginning to advanced users, this book provides

Preface assumes that all actions execute concurrently unless explicitly sequenced. Sequence may be dictated by a

actions.

Chapter 1 Chapter 3 Chapter 4

- What Is UML? - UML Diagrams and Extension Mechanisms

Composite actions Chapter 2 - UML Architecture


Actions may be grouped together for execution as a unit. The grouping construct is a composite action. - Object-Oriented Concepts Composite actions fall into one of three types: Group Action, Conditional Action, and Loop Action. These Part II - Modeling Object Structure enable, respectively, composition, selection, and iteration of actions within a procedure. The Composite Chapter 5 - Capturing Rules about Objects in a Class Diagram Actions package contains these actions together with the supporting classes Clause and Variable.
Chapter 6 - How to Capture Rules about Object Relationships Chapter 7 - Testing Objects AGroup action with is the simplest form of composite action. It provides a way of gathering subactions into
Part III - Modeling Object Interactions a higher-level unit, for example to enable

the group to be executed conditionally or simply to enable a

Chapter 8 - Modeling in UML 1.4 procedure to be Interactions partitioned into meaningful sets of actions. The subactions may execute concurrently, Chapter 9 - Modeling Interactions in UML 2.0 sequentially, or in some combination of the two. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Aconditional action provides a way of selectively executing one or more contained actions. It contains one or more clauses. A clause consists of two actions, a "test" and a "body". The body action of a Part IV - Modeling Object Behavior clause is executed only if its test action evaluates to true.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application Architecture and "else" parts of the statement.

Chapter - Modeling Behavior Using Activity Diagram action with two clauses, corresponding to the "then" An13 if-then-else statement mapsan onto a conditional Chapter 14 - Modeling the Application Architecture

Aloop provides a mechanism for iteration. It contains a single clause. Both the test and the Chapter 15 -action Modeling Software Using the Component Diagram body areDeployment executed repeatedly the test evaluates to true. Chapter 16 part - Using Diagrams while in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Composite actions can receive control flows. If a composite action is sequenced by a control flow, then its subactions may execute as long as all their other prerequisites (such as receipt of any necessary data) are Chapter 18 - Applying Constraints to the UML Diagrams fulfilled. Data flows are not accepted by the composite action itself but may be directed to its subactions.
Chapter 19 - Action Semantics
Part VII - Automating UML Modeling Process The following figuresthe illustrate examples of how

a composite action (in this case a group action) can

Chapter - Using a Modeling Tool handle20 control and data flows. In general, composite actions may have input and output pins. Group Chapter 21 - Customizing Using actions, however, do notUML have theirProfiles own pins. In Figure 19-4 a control flow is passed to the group action as

a whole. 19-5 a data flow is sent directly to one of the actions within the group. Chapter 22In - Figure XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Figure 19-4: A group action may receive a control flow. The control flow is implicitly passed to each Table of Contents UML Bible Preface
Part I - An Introduction to UML

subaction.

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Figure A group actionLifecycle is transparent data flows. A data flow may be received by a subaction. Chapter 11 - 19-5: Modeling an Object's in UMLto 2.0
Part IV - Modeling Object Behavior

Avariable allowsthe theUse sharing of data with between actions. local variable allows sharing of data between Chapter 12 - Modeling of a System the Use Case A Diagram actions in a group, but it is not available to actions outside the group. If actions share data using a variable rather than a data flow, they must be sequenced explicitly using a control flow. Part V - Modeling the Application Architecture
Chapter 13 - Modeling Behavior Using an Activity Diagram Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Read actions obtain values. Write actions can modify values, create or destroy objects, and create or Chapter 17 Representing an Architecture in UML 2.0 maximum flexibility, the actions are designed to have destroy links between objects. In order to maintain
Part VI - Bringing Rigor to the Model minimum impact. A read action, therefore,

Read and Write actions

does not modify the value it reads. Similarly, creating an object

Chapter 18cause - Applying Constraints to the UML Diagrams does not constructors to be executed, although these actions may be grouped together if desired. Chapter 19 - Action Semantics

Read and Write actions Part VII - Automating the include UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Attribute actions Appendix A - UML 1.4 Notation Guide

Object actions

Association actions Appendix B - UML 2.0 Notation Guide


Appendix C - Standard Elements Glossary

Variable actions

Index Object actions enable objects to be created, destroyed and reclassified. Attribute actions enable the

values of attributes to be read or changed. Association actions enable direct object links to be identified, List of Figures navigated, List of Tablesexamined, created, and modified. Variables within a procedure or group of which the action is part be read and modified by variable actions. List ofmay Listings

There are also additional miscellaneous read < and write One example is an action that determines Day Day actions. Up > the set of all instances of a given classifier that exist at the time the action is performed.

Computation actions
UML Bible by Tom Pender a transformation that operates ISBN:0764526049 A computation action performs on a set of input values to produce a set of John Wiley & Sons 2003 (940 pages) output values. Only the values of the inputs influence the transformation. No other values (for example, Forare beginning to advanced stored data values) taken into account.users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows to use UML to improve Primitive computational functions such as how arithmetical operations are not defined in the UML. Action timeliness, and efficiency in development. languages may define their quality, own functions for specific purposes. If required, a UML profile -a set of model elements which have Companion been customized using the UML extension mechanisms-can be created to describe Web Site domain-specific functions. <?xml version="1.0" encoding="ISO-8859-1"?> Examples of computation actions are Table of Contents

Computing a primitive predefined mathematical function (ApplyFunctionAction). UML Bible


Preface
Part I - An Introduction to UML

Performing an action defined outside UML (CodeAction).

Chapter 1 - What Is UML? Producing a literal value as output (LiteralValueAction). Chapter 2 - UML Architecture

Creating an Diagrams object with initialized attribute values (MarshalAction). Chapter 3 - UML and Extension Mechanisms
Chapter 4
Part II - Modeling Object Structure

Checking two values to see if they have the same identity (TestIdentityAction).

- Object-Oriented Concepts

Chapter 5 - Capturing Rules about about Objects inobject a Class Finding the state information an ofDiagram known type (UnmarshalAction). Chapter 6 - How to Capture Rules about Object Relationships Chapter 7 - Testing with Objects Collection actions
Part III - Modeling Object Interactions

A collection action applies some in other action Chapter 8 - Modeling Interactions UML 1.4 (a subaction) to a collection of elements. A collection consists numberInteractions of elements that have Chapter 9 of -a Modeling in UML 2.0 the same type. The size of the collection is the number of elements the collection. If a collection Chapter 10 in - Modeling an Object's Lifecycle action in UML takes 1.4 more than one collection as input, they must all have the same because the number of repetitions is dictated by the size. Chapter 11 size, - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 -action Modeling Behavior Using an Activity Diagram Afilter performs a subaction that applies some criterion to elements of a collection. Elements
Part V - Modeling thecriterion Application that satisfy the are Architecture included in the

Collection actions fall into one of four subclasses:

new output collection. The subaction may be applied to all

Chapter 14 - Modeling the Application Architecture the elements concurrently. Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Aniterate action performs a subaction repeatedly on collection elements. It is a special case of a loop in which the number of iterations is determined by the number of elements in the collection. The Chapter 17 - Representing an Architecture in UML 2.0 subaction is not applied concurrently because the iteration may have to terminate before the subaction Part VI - Bringing Rigor to the Model can be applied to every element. It is therefore applied to each element in sequence.
Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating Modeling Process each collection. the TheUML subactions performed

Chapter 19 -action Actionperforms Semantics Amap a subaction on a slice. A slice contains one element from the same position of

on each slice are performed concurrently. Each collection

Chapter 20 be - Using a Modeling Tool must ordered to allow matching to take place correctly. Chapter 21 - Customizing UML Using Profiles

Figure 22 19-6 shows a sliceInterchange through two collections. Collection 1 contains a set of names of countries and Chapter - XML Metadata Collection a set of Notation capital city names. The collections are ordered so that a slice contains a country and Appendix A -2UML 1.4 Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

its capital city.

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

Figure 19-6: A slice containing elements from two collections. UML Bible
Preface

Areduce action applies a subaction repeatedly to adjacent pairs of slices. The subaction performs some operation on adjacent slices and creates a single working slice, which is then paired with the Chapter 1 - What Is UML? next slice for the next repetition of the subaction. A constraint on reduce actions is that only associative Chapter 2 - UML Architecture operations are permitted, so that the order in which the pairs of slices are evaluated does not affect Chapter 3 - UML Diagrams and Extension Mechanisms the result. An example of an associative operation is multiplication, since (6 (3) (2 gives the same Chapter 4 - Object-Oriented Concepts result as 6 ((3 (2), that is, 36. Division on the other hand is not associative, because (6 (3) (2 = 1 but 6 Part II - Modeling Object Structure ((3 (2) = 4.
Part I - An Introduction to UML

Chapter 5

- Capturing Rules about Objects in a Class Diagram

Chapter 6 - How to Capture Object Relationships A reduce action can beRules usedabout to perform addition of the elements in a collection by adding the first two

elements to create working element containing the sum of the first two. This working element can Chapter 7 - Testing with a Objects then be paired with the next element. Part III - Modeling Object Interactions When there is only one element left, it contains the sum of all the elements. Depending on the operation being applied, the order of the elements in each Chapter 8starting - Modeling Interactions in UML 1.4 pair be significant. Chapter 9 may - Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Messaging actions

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture Arequest is an invocation message sent from

Messaging actions perform the exchange of messages between objects. Messaging actions include handling of requests and replies, effect resolution, operation lookup, and transition triggering. one object to another. In the case of an asynchronous

Chapter 14 Modeling theobject Application Architecture invocation , the sending continues execution without waiting for a reply. In the case of synchronous

invocation , the sending objectUsing suspends execution until the activity invoked by the request sends a reply Chapter 15 Modeling Software the Component Diagram message to Deployment the sender. The messaging describes a number of ways of matching behavior to Chapter 16 back - Using Diagrams in UML model 1.4 requests. unit of behavior that can be Chapter 17 The - Representing an Architecture in invoked UML 2.0 by a request is a procedure.
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UMLof Modeling Process The following are examples messaging actions:

The mapping of a request type to a procedure is called operation lookup. Action semantics provides for different kinds of operation lookups to allow for the variety of techniques employed in different languages.

Chapter 20 - Using a Modeling Tool

Creating a request that transmitted Chapter 21 - Customizing UMLis Using Profiles to a target object
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix C - Standard Elements

Creating a request that is transmitted to all potential target objects in the system

Appendix B - UML 2.0 Notation Guide Assembling an operation call request

Sending a request object to a target object using an explicit argument list Glossary
Index List of Figures

Jump actions

List of Tables Jump actions enable normal flow of control to be abandoned and an alternative flow of control taken. The List of Listings jump action is exemplified in programming language terms by the go to construct, as well as the break,

continue, and exception constructs. The Jump classes are Action


UML Bible

< Day Day Up >

by Tom Pender HandlerAction

ISBN:0764526049

John Wiley & Sons 2003 (940 pages) comprehensive coverage of the versatility of 1.4 and 2.0 UML

JumpAction For beginning to advanced users, this book provides


specifications, and shows how to use UML to improve JumpHandler timeliness, quality, and efficiency in development.

Jump handling classes extend the definitions of some other action classes to define the behavior of the Companion Web Site action when the jump occurs. An action may have handlers associated with it, to handle any jumps that take place during execution of the action. Executing a JumpAction causes a specified jump to occur. A <?xml version="1.0" encoding="ISO-8859-1"?> JumpAction execution cannot itself complete normally. Instead, it terminates the current group of actions Table Contents and of escapes to a JumpHandler. A jump handler is not an action in its own right, but relates an action and a UML Bible jump type to a HandlerAction. The HandlerAction has a body that is triggered by the jump handler. The Preface body is often a group action.
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture

< Day Day Up > - UML Diagrams and Extension Mechanisms


- Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

A Notation UML for Bible Action Specifications


by Tom Pender
ISBN:0764526049

UML does not define notation or language action specifications. However, in order to illustrate the Johna Wiley & Sons 2003 (940 for pages) application of action concepts, informal notation is described in the Action Language For semantics beginning to advancedan users, this book provides Examples Appendix (UML 1.5, Appendix B). comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness,to quality, and on efficiency in development. The notation is considered be based an Object diagram with some amendments. However, there are also strong similarities with data flow diagrams. An action is modeled using object notation - a rectangle Companion Web Site with a name in the format instance name : action type. Pins are shown as squares drawn on the border of action rectangles. An input pin is shown by an empty square, and an output pin is a filled square. An arrow <?xml version="1.0" encoding="ISO-8859-1"?> drawn from an output pin to an input pin represents a data flow relationship. Table of Contents

The following figure shows a fragment containing two actions from some action sequence. The first action UML Bible (square) takes as input an integer from the pin labeled n and causes the input to be squared. The result, Preface an integer labeled n 2 is passed Part I - An Introduction to UML
Chapter 2 Chapter 3 - UML Architecture

to the input pin of the second action. The second action (" *2") multiplies the input by two and places the value on an output pin labeled 2n 2. Chapter 1 - What Is UML? The type of the output pin is indicated by a label. Type labels may be omitted from input pins at the other - UML Diagrams and Extension Mechanisms end of the flow line. The names in italics shown adjacent to pins (such as n in Figure 19-7) are labels to Chapter 4 - Object-Oriented Concepts assist in interpreting the specification.
Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part III - Modeling Object Interactions

Figure Actions with pins Chapter 8 - 19-7: Modeling Interactions in showing UML 1.4 types and descriptive labels.
Chapter 9

A simple name in the action rectangle indicates an ApplyFunctionAction, which computes a primitive predefined mathematical function. Examples are XOR, square root, and addition. A value inside a Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 rectangle indicates a LiteralValueAction. Other actions are labeled with the kind of action such as Part IV - Modeling Object Behavior LoopAction, GroupAction, Clause, and so forth. The label may be preceded with a name and colon to Chapter - Modeling the Use of a System with the Use Case Diagram identify12 individual instances such as body:GroupAction. Actions may be nested to indicate ownership of the Chapter 13 Modeling Behavior Using an Activity Diagram containing action. Figure 19-8 shows examples of, left to right, an ApplyFunctionAction (square root), a Part V - Modeling the Application Architecture LiteralValueAction , (1) and a nested action MapAction.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

- Modeling Interactions in UML 2.0

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Figure ApplyFunctionAction, LiteralValueAction, and Nested Action examples. Appendix A - 19-8: UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Index

Procedures have argument and result pins placed on their border in the same way that input and output pins appear on actions. Figure 19-9 shows a procedure that can take an ordered pair of points as Glossary argument.and produces a result of type "real" labeled m .
List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Figure 19-9: Procedure outline showing argument and result pins. Preface
Part I - An Introduction to UML

The argument is shown as an output pin even though it carries the input to the procedure. From the point Chapter 1 - What Is UML?
Chapter 2

of view of the procedure, the argument may be thought of as the output of some preceding procedure. - UML Architecture

Chapter 3 pins - UML Diagrams and (see Extension Mechanisms A line of inside an action Figure 19-10) indicates an array. This set of pins may be labeled. Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part Vhatched - Modeling Application Architecture The pinthe symbol inside an action (see

Figure 19-10: Pins indicating an array inside an action.

Figure 19-11) indicates a reference to a pin that is owned by

Chapter 14action. - Modeling Architecture a nested The the pin Application is not actually duplicated by enclosing action. Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2

- What Is UML? Figure 19-11: A hatched pin indicates a reference to a pin owned by a nested action. - UML Architecture

Chapter 3 - UML Diagrams and Extension Mechanisms The informal notation shows data flows between actions. Interestingly, data flow diagrams were (and Chapter 4 intentionally - Object-Oriented Concepts remain) omitted from the UML on the basis that they do not fit cleanly into a consistent objectPart II - Modeling Object Structure oriented paradigm. However, the

UML 2.0 Superstructure RFP (UML 2.0 RFP) calls for proposals to

provide5improved control and data flow modeling inDiagram activity graphs. The RFP also states that UML 2.0 shall Chapter - Capturing Rules about Objects in a Class consider with the action semantics. It is therefore likely that at some point UML will incorporate Chapter 6 reconciling - How to Capture Rules about Object Relationships some notation for representing Chapter 7 - Testing with Objects action specifications, if only for the same reason that other UML diagram notations are standardized: Part III - Modeling Object Interactions
Chapter 8 - Modeling Interactions in UML 1.4 ChapterThe 9 -UML Modeling Interactions in UML element 2.0 notation is an essential of the UML to enable communication between team Chaptermembers. 10 - Modeling an Object's Lifecycle in UML 1.4 Compliance to the notation is optional, but the semantics are not very meaningful without Chaptera11 - Modeling anof Object's Lifecycle in UML 2.0 consistent way expressing them. (UML 1.5, Preface p.xxxviii )
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

< Day Day Up > Chapter 14 - Modeling the Application Architecture


Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

UML action semantics provide modelers a common set of formalisms for writing behavior John Wiley & Sons 2003 with (940 pages) specifications. The action semantics specification does not provides restrict the modeler to a single notation but For beginning to advanced users, this book allows any formalism that conforms to the semantics to be used. The formalism may be graphical or textcomprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use to UML to improve based, leaving the choice of expression mechanism the modeler.
timeliness, quality, and efficiency in development.

By conforming to common semantics, behavior specifications that use one action language can potentially Companion Web Site be translated into other languages without distortion. This facilitates the portability of models between tools and encourages the use of models for disparate purposes throughout the model lifecycle. Activities that <?xml version="1.0" encoding="ISO-8859-1"?> rely on rigorous specification techniques will benefit from this. These include not only code generation, but Table Contents also of model simulation and automatic test generation.
UML Bible

At the moment there is no UML standard notation for expressing action specifications. However, the Preface introduction of action semantics Part I - An Introduction to UML diagrams this purpose. Chapter 1 for - What Is UML?
Chapter 2 Chapter 3 - UML Architecture

is likely to stimulate interest in enhanced Activity diagrams or data flow

By its incorporation into the UML, action semantics provides standards for the use of action languages as a - UML Diagrams and Extension Mechanisms specification technique. The adoption of this standard will raise the awareness of model specification using Chapter 4 - Object-Oriented Concepts action languages among analysts and designers who are using, or intend to use, UML. There is, therefore, Part II - Modeling Object Structure likely to be renewed interest in methodologies and tools that support these techniques.
Chapter 5 - Capturing Rules about Objects in a Class Diagram Chapter 6 - How to Capture Rules about Object Relationships Model-based development by automatically validating models and generating code has been successfully

applied7in specific Chapter Testingapplications with Objectsbut has not so far threatened the dominance of traditional programming techniques. It will Object be interesting to see Part III - Modeling Interactions if the adoption of support for precise action specifications into UML, given UML's enormous impact on within the software development community, will cause this Chapter 8 - Modeling Interactions inthinking UML 1.4 position Chapter 9 to-change. Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 < Day Day Up > Part IV - Modeling Object Behavior Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Part VII: Automating the UML Modeling Process ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides In This Part comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Chapter 20: Using a Modeling Tool

Companion Web Site

Chapter 21: Customizing UML Using Profiles


<?xml version="1.0" encoding="ISO-8859-1"?> Chapter 22: XML Metadata Interchange Table of Contents UML Bible Appendix A: UML 1.4 Notation Guide Preface

B: UML 2.0 Notation Part IAppendix - An Introduction to UML


Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - What Is UML? - UML Architecture

Guide

Appendix C: Standard Elements


- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

< Day Day Up >

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Chapter UML 20:Bible Using a Modeling Tool ISBN:0764526049 by Tom Pender


John Wiley Sons 2003 (940 pages) Modeling tools and UML go & hand-in-hand. UML specifies a graphical notation to model systems, with For beginning to advanced users, this book underlying semantics for what the notation means and howprovides things piece together. Modeling tools enable comprehensive coverage of the versatility of 1.4 and 2.0 UML users to easily draw these notations, and input information concerning what they mean in an underlying specifications, and shows how to use UML to improve storage mechanism. Modeling toolsand enable you to information, graphically design systems, timeliness, quality, efficiency incapture development. disseminate the designs to a wide audience through publishing of models and reports, and can even Site generate the working Companion code of theWeb applications and databases. Modeling tools become the centerpiece of a set of tools that you use to understand your business, and design or redesign the systems and databases that version="1.0" support it. Like any good tool, the modeling tool must be easy to use, customizable so that you can <?xml encoding="ISO-8859-1"?> tailor it Contents to the job you have at hand, and be able to play well with the other tools in your suite. In this Table of chapter UML Bible you take a look at modeling tools, so that you can understand important features to look for when choosing one for your organization. Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2

- What Is UML? of Using a Modeling Tool The Advantages

- UML Architecture Modeling offer a number of advantages over drawing diagrams on napkins, or on the walls of caves. Chapter 3 tools - UML Diagrams and Extension Mechanisms

One is 4 that tool vendors specialize in making their tools support the exact graphical notations of Chapter - modeling Object-Oriented Concepts the II UML specification. is Part - Modeling ObjectAnother Structure that modeling tools enable you to specify underlying information to the graphical symbols-part of the semantics An example is the fact that a class has attributes, Chapter 5 - Capturing Rules about Objects of in UML. a Class Diagram methods, perhaps a textual description, a stereotype, and various other properties. Modeling tools store Chapter 6 - How to Capture Rules about Object Relationships this information in some type of underlying storage facility, be it a file-based storage mechanism, or, better Chapter 7 - Testing with Objects yet, a database. Storing your models in a com-puter-based storage mechanism provides a number of Part III - Modeling Object Interactions benefits, to wit:
Chapter 8 - Modeling Interactions in UML 1.4 Chapter 9 - Modeling UML 2.0 property that exists in your programmers' and business It enables you toInteractions capture the in intellectual Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 modelers' heads. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

It enables reuse of information. Part IV - Modeling Object Behavior


Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

It enables modelers to work as a team. The strategy used varies by modeling tool, based on its underlying storage mechanism.

Chapter 14 semantic - Modeling the Application Architecture The UML specification mandates how UML modeling elements are interrelated. For example, if Chapter 15 - a Modeling the Component Diagram you model methodSoftware call as a Using message sent from a sending object to a receiving object on a Sequence Chapter 16 then - Using Deployment Diagrams 1.4 diagram, that method should also in beUML represented within the class that the receiving object

instantiates. If you were to draw a link between two objects on a Collaboration diagram, you'd expect the Chapter 17 - Representing an Architecture in UML 2.0 classes instantiated byto those objects Part VI - Bringing Rigor the Model to have a corresponding association drawn between them on a Class diagram. were Constraints to draw an to association between two classes on one Class diagram, and then draw Chapter 18 If - you Applying the UML Diagrams the same classes on another Class diagram, those two classes should have the same association Chapter 19 two - Action Semantics drawn them. Making sure that all UML modeling Part VII between - Automating the UML Modeling Process elements are consistently represented on different models within your project is difficult if you are drawing things by hand or with a simple drawing Chapter 20 - Using a Modeling Tool tool. Modeling tools offer an important advantage here if they support the underlying semantics of UML, Chapter 21 - Customizing UML Using Profiles and automatically make the proper additions or subtractions across the models. This doesn't guarantee Chapter 22 - XML Metadata Interchange that your design is good, but it is a step towards good design in that it guarantees that your models are Appendix A - UML 1.4 Notation Guide consistent.
Appendix B - UML 2.0 Notation Guide Appendix C tools - Standard Elements Modeling also offer additional benefits over simple drawing tools. For one, they offer reporting and Glossary publishing capabilities. Models are a communication mechanism, but if they are only stored and Index accessible in the modeling tool, then anyone wanting to view the models would need a copy of the tool, List of Figures which isn't very cost effective. Modeling tools offer varying capabilities to create reports on the models for

distribution List of Tables to management and other interested parties. The reports can simply detail what the models contain, or provide metrics on the design itself-for example, calculating the average number of methods List of Listings

per class. Such reports give you a barometer < on how good the design is. Many modeling tools also offer Day Day Up > the ability to publish the designs and all of the underlying information to HTML or XML, so that designs can be disseminated on the Internet or a corporate intranet. Modeling tools offer varying UML Bible degrees of code-generation support, so that you can automatically generate code for your models, and reverse-engineering support, so that you can automatically create models from ISBN:0764526049 by Tom Pender code. Automatic code generation and reversal, and its corollary, round-trip engineering, has long been a John Wiley & Sons 2003 (940 pages) silver bullet that modeling tools have touted but never lived up to completely. Recent advances in the For beginning to advanced users, this book provides richness of the UML specification, including its Action Semantics, have comprehensive coverage of the versatility of 1.4 and 2.0 given UML hope that applications can be specifications, and shows to use UMLthe to improve completely generated and managed fromhow models, what Object Management Group (OMG) calls its timeliness,(MDA) quality, and efficiency in development. Model-Driven Architecture initiative.
Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

< Day Day Up >

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling Tool Features by Tom Pender


ISBN:0764526049

A number of different modeling have emerged in the industry, each playing to different John types Wiley of & Sons 2003tools (940 pages) strengths. Users For typically choose the tool best suited their organizational modeling needs. Many beginning to advanced users, this to book provides organizations use more than one tool, and are now using interfaces, such as XML or repositories provided comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, shows how to modeling use UML to improve by third-party vendors to bridgeand tools. Most UML tools fall into one or more of these broad areas:
timeliness, quality, and efficiency in development.

Point-solution UML modeling tools, providing support for UML notation and semantics, and code Companion Web Site generation and reversal, sometimes integrated with a code Integrated Development Environment (IDE). Examples are the Rational Rose tool, now owned by IBM, Embarcadero's Describe tool, and <?xml version="1.0" encoding="ISO-8859-1"?> No Magic, Inc.'s MagicDraw tool, used for many of the figures in this book.
Table of Contents

UML modeling tools that provide UML support integrated with support for other modeling notations, UML Bible such as relational data modeling and enterprise business modeling. An example is Popkin Software's Preface Architect, to also used Part ISystem - An Introduction UML
Chapter 1 Chapter 2 Chapter 3 - What Is UML?

for many of the figures in this book.

UML modeling tools with an underlying multiuser repository. System Architect falls into this category, - UML Architecture as does Telelogic's UMLTau tool and Computer Associates' AllFusion Component Modeler.
- UML Diagrams and Extension Mechanisms

Chapter 4 modeling - Object-Oriented Concepts UML tools geared toward design of real-time systems. An example is I-Logix's Rhapsody
Part II - Modeling Object Structure tool.

Chapter 5

- Capturing Rules about Objects in a Class Diagram UML tools that are about integrated with code, so that the modeling tool is actually another type of Chapter 6 modeling - How to Capture Rules Object Relationships

view the code. The model information is stored in the code. In essence, the graphical diagram Chapter 7 of - Testing with Objects becomes a code editor. An example is Part III - Modeling Object Interactions
Chapter 8

TogetherSoft, now owned by Borland.

- Modeling Interactions in UML 1.4 Graphical tools that enable you to draw UML diagrams, but do not allow you to put information into Chapter 9 - Modeling Interactions in UML 2.0 them. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

In the rest of this section we examine some of the important features that UML tools provide. Chapter 11 Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture Whatever the type of modeling tool, if it is supporting

Support for UML diagrams

UML, it should support all UML diagram types, and

Chapter 14 - of Modeling the Application Architecture all or most the notations that UML specifies you can draw on each diagram. UML 1.4 directly specified

nine different diagram types, and indirectly specified one other (the Package diagram), making a total of Chapter 15 - Modeling Software Using the Component Diagram ten different diagram types. UML 2.0 has a few new diagram types, and renamed two of the Chapter 16 - Using Deployment Diagrams in introduced UML 1.4 existing ones. Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

UML 1.4 Types to the UML Diagrams Chapter 18 - Diagram Applying Constraints
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

The following is a summary of UML 1.4 diagram types:

Chapter 20 - Using a Modeling Tool Activity diagram. In UML 1.4, the Activity diagram is specified as a kind of Statechart diagram. It is Chapter 21 - Customizing UML Using Profiles intended for modeling business processes and method flows. Chapter 22 - XML Metadata Interchange

UseACase diagram. TheGuide Use Case diagram is one of the three most popular diagrams used with UML Appendix - UML 1.4 Notation
Appendix B - UML 2.0 Notation Guide

(the Class and Sequence diagrams are the other two).

Appendix C -diagram. Standard Elements Class The Class diagram is one of the core UML diagrams. It provides a representation of Glossary the static structure of the system. Index List ofObject Figuresdiagram. Do not look for an Object diagram in a modeling tool. Draw objects on a Class List ofdiagram, Tables and draw links between the objects. If you do so, you have an object diagram, according to

UML specification. List ofthe Listings

Package diagram. Do not look for a Package in a modeling tool supporting the UML 1.4 < Daydiagram Day Up > specification, because the spec does not call for one. If you draw primarily packages on a Class diagram, you can consider it a Package diagram. Until UML 2.0, this was an informal name given to a Class diagram on which modelers showed the subpackage structure of a given package, and the Bible relationshipsUML between the subpackages.
by Tom Pender
ISBN:0764526049

John Wiley & Sons 2003 (940 pages) Statechart diagram. This diagram is very important for real-time analysis and design. If you are involved in real-time design, should make sure theprovides modeling tool provides support for the many For beginning to you advanced users, this book comprehensive coverage of the versatility of 1.4 and 2.0 UML of substates, history, and so notations of the State Machine diagram, including nested states, hiding specifications, and shows how tostate, use UML improve forth. If you add an attribute or method to a is it to also added to the class? Does the modeling tool timeliness, quality, and efficiency in development. support automatic generation of code from the State diagram? Companion Web Site

Sequence diagram. The Sequence diagram is a type of Interaction diagram. It's widely used, and UML specifies a lot of ancillary notation for it. You should make sure the modeling tool supports the <?xml version="1.0" encoding="ISO-8859-1"?> basic notation that you need, and any ancillary notation that you will be using. Key questions: is it easy Table of Contents to draw focus-of-control lines in the tool, and can you move object lifelines freely on the diagram so UML Bible that you can show object creation?
Preface
Part ICollaboration - An Introduction to UML Diagram.

This is the Sequence diagram's sister diagram. Most modeling tools enable

Chapter 1 to-automatically What Is UML?create the Sequence diagram from this diagram, and vice versa. Be advised that you

in UML 2.0, this diagram is renamed to Communication diagram, described in the next section. Chapter 2 - UML Architecture
Chapter 3 Chapter 4

Component diagram. The Component diagram is important for modeling the structure of your code - Object-Oriented Concepts modules and for code generation. See if the modeling tool enables you to specify the classes Part II - Modeling Object Structure contained in each component, and if the component diagram is involved in the tool's code generation Chapter 5 - Capturing Rules about Objects in a Class Diagram and reversal.
Chapter 6 - How to Capture Rules about Object Relationships Chapter 7 - Testing with Objects Deployment diagram. A key diagram used to model the hardware architecture of your systems. It is
Part III - Modeling Object advantageous if the Interactions modeling tool

- UML Diagrams and Extension Mechanisms

supports custom graphics, so that you can replace rectangular

Chapter 8 -with Modeling Interactions in accurately UML 1.4 nodes symbols that more reflect your hardware. Chapter 9 - Modeling Interactions in UML 2.0

UML 2.0 Chapter 10 - Diagram Modeling anTypes Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application Communication diagram. Architecture

UML 2.0 specifies some new diagram types. It also specifies all of the diagram types of UML 1.4 with some noteworthy changes that are described below:

Chapter 13 - Modeling Behavior Using an Activity Communication diagram. In UML 2.0 theDiagram Collaboration diagram of UML 1.4 was renamed to Chapter 14 - Modeling the Application Architecture

State Machine UML 2.0 the Statechart diagram of UML 1.4, and specifies two Chapter 15 Modelingdiagram. Software Using the renames Component Diagram types of stateDeployment machines that can be modeled Chapter 16 Using Diagrams in UML 1.4 on the diagram: behavioral state machines and protocol state Much the notation the State Machine diagram is inherited from the Statechart Chapter 17 machines. - Representing anof Architecture in of UML 2.0 diagram of UML 1.4. Part VI - Bringing Rigor to the Model
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Interaction Overview diagram. This is a new diagram type introduced by UML 2.0. It is a variant of the Activity diagram that enables you to represent an overview of control flow between interactions Part VII - Automating the UML Modeling Process described by Sequence diagrams.
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Profiles Timing diagram. This isUsing a new diagram type introduced by UML 2.0. It is considered optional. The

Timing is used to show conditions that change within and among object lifelines along a Chapter 22 - diagram XML Metadata Interchange linear time Appendix A UMLaxis. 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Composite Structure diagram. This is a new diagram type introduced by UML 2.0. This diagram type is used to depict the internal structure of a classifier.

< Day Day Up > Note The UML 2.0 specification clarifies the confusion concerning the Object and Package diagram introduced by UML 1.4. Both are considered kinds of Structure diagrams. If you draw primarily classes on a Structure diagram, you have a Class diagram. If you draw primarily objects and links between them on a Structure diagram, you have an Object diagram. If you draw mostly UML Bible packages and their relationships on a Structure diagram, you have a Package diagram. Many ISBN:0764526049 by Tom Pender UML modeling tools may not have renamed their Class diagram type to Structure diagram. Don't John Wiley & Sons 2003 (940 pages) fret if they haven't; it's the same thing. For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows how to use UML to improve Navigation specifications, timeliness, quality, and efficiency in development. Companion Web Site Navigation in almost all modeling tools is done through a standard browser, which presents UML packages in much the same way that Microsoft Windows Explorer presents items in folders. <?xml version="1.0" encoding="ISO-8859-1"?> Viewing the organization of the models Table of Contents UML Bible Preface packages; a package provides a separate namespace for the elements within it. Within the packages, the
Part I - An Introduction to UML

Packages enable you to see the structure of your models. Packages may be nested within other

modeling tool presents the UML diagrams contained in the package, and the definitions in the package,

Chapter 1 - or What Isnot UML? which may may be represented on diagrams. Chapter 2 - UML Architecture

Figure 3 20-1 shows a typical user interface for a modeling tool, in this case the user interface for System Chapter - UML Diagrams and Extension Mechanisms Architect, a Sequence diagram Chapter 4 with - Object-Oriented Concepts drawn in the diagram workspace.
Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Figure user interface with browser providing navigation. Chapter 20 - 20-1: Using Modeling a Modelingtool Tool
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

The browser is presented on the left side of the tool, although it may be detached and floated or closed to provide more diagram workspace. Above the browser is a toolbar that provides the drawing elements Appendix A - UML 1.4 Notation Guide specific to the Sequence diagram. To the right of that toolbar are standard graphical tools for coloring and Appendix B UML 2.0 Notation Guide specifying fonts, which you would find in any drawing tool. Above that are toolbars for zooming in and out Appendix C Standard Elements of the diagram, and for various other functions unique to modeling tools, such as navigating between Glossary leveled parent-child diagrams.
Index List of Figures Finding classes List of Tables

and other definitions

Although a package-based browser presents the organization of the models nicely, an alternative view is List of Listings

necessary to help users find particular classes and other definitions while they work. If the package < Day Day Up > structure were the only view available, you would have to search within each package to find a particular class. Most UML modeling tools offer an alphabetical list of classes, and other definition types, so that you may easily find the item you want to edit or use on a diagram. Some tools offer reference-by commands, UML Bible so that you can right-click on an item in the browser, and quickly see every diagram on which the particular ISBN:0764526049 by Tom Pender item is presented, and every definition that uses it. When doing real work, being able to find items easily John Wiley & Sons 2003 (940 pages) and quickly is extremely important.
For beginning to advanced users, this book provides comprehensive coverage ofbetween the versatility of 1.4 and 2.0 UML Moving classes and other items packages specifications, and shows how to use UML to improve timeliness, efficiency in development. During analysis and design, quality, you willand often find it necessary to move classes between packages as you change your design ideas. A modeling tool should enable you to select one or more items, such as Companion Web Site classes, from one package and move them to another package in a single step, similar to the way you move items around in Windows Explorer. Modeling tools should accommodate both moving and copying <?xml version="1.0" encoding="ISO-8859-1"?> an item to a different package. Table of Contents Preface
Part I - An Introduction to UMLtwoSome tools have introduced

UML Bible navigational Other

tools
and three-dimensional matrices to view a crosscut of items in the

Chapter 1 -For What Is UML?you might want to view a crosscut of Use Cases versus Requirements, or Classes repository. example,

versus 2 Tables that they access. Chapter - UML Architecture


Chapter 3 Chapter 4 - UML Diagrams and Extension Mechanisms Object-Oriented Concepts Model repository

Part II - Modeling Object Structure

Chapter 5 repository - Capturing about Objects in ain Class Diagram arena, yet it means different things to different The term isRules one that is used often the modeling

people. most understanding is that a repository is a storage mechanism for all of the Chapter 6The - How tocommon Capture Rules about Object Relationships information concerning systems. For a modeling tool, having a repository generally means that the Chapter 7 - Testing with your Objects toolIII stores model Object information in an underlying Part - Modeling Interactions database, either a proprietary one, or one based on an industry-standard database, such as Microsoft SQL Server or Oracle. The model information may include Chapter 8 - Modeling Interactions in UML 1.4 links to9 external documents, such as requirements documents, test plans, and so forth, that may sit Chapter - Modeling Interactions in UML 2.0 outside10 the tool. Chapter - modeling Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

There are a number of key features normally supported by the repository:

Chapter 12 - Modeling thethe Use of a System with the Use Case Diagramor other means. Navigating through repository's information, via a browser Chapter 13 - Modeling Behavior Using an Activity Diagram

Customizing the metamodel of the repository. Part V - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture

Getting information into and out of the repository, from and to other tools. To do this, the repository should have an open and documented API. Many modeling tools today typically have an interface Chapter 16 - Using in UML 1.4 accessed via Deployment a published Diagrams Object Model, so that users can use a script language, such as Visual Basic Chapter 17 Representing an Architecture in UML 2.0 for Applications (VBA) to get information into and out of the repository.
Chapter 15 - Modeling Software Using the Component Diagram
Part VI - Bringing Rigor to the Model

Allowing the modeling elements in the Diagrams repository to link to external documents, such as requirements Chapter 18 - Applying Constraints to the UML documents or Semantics test plans, in directories on the network external to the repository, or stored in the Chapter 19 - Action repository. Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

Backing up, versioning, and restoring the repository.

Chapter 22 - XML Metadata Allowing many users Interchange to work on the repository at the same time. Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary A modeling tool must support UML's extensibility provisions to be useful. Otherwise you may find yourself Index not being able to capture information important to your organization in the tool. Extensibility also enables List of Figures modeling tools to work well with other tools, and enables you to customize the look of symbols on List of Tables diagrams to promote better communication of your design ideas. List of Listings

Extensibility

Implementing the UML metamodel < Day Day Up >


A good modeling tool will have implemented the UML metamodel correctly. It will also offer the user the capability to extend the UML metamodel.
UML Bible by Tom Pender Extending with tagged values and stereotypes John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

A tagged value isFor a user-defined example is adding a new property called Author Name to the beginning to property. advanced An users, this book provides information captured against a class, so that you may fill in the programmer comprehensive coverage of the versatility of 1.4 and 2.0 UML who designed the class. To specifications, and shows how to enable use UML to improve support UML correctly, the modeling tool should you to add tagged values to all UML classifiers.
timeliness, quality, and efficiency in development.

A stereotype is a UML type that you specify for a classifier, and in so doing categorize the classifier. The Companion Web Site modeling tool should provide a formal list of stereotypes for each classifier type, and allow users to create their own stereotypes. In addition, the modeling tool should change the information that you may associate <?xml with version="1.0" a definition of encoding="ISO-8859-1"?> a classifier based on its stereotype. For example, you may specify that a class is of Table of Contents stereotype Actor. In the modeling tool, you select Actor from a list of predefined stereotypes to choose UML Bible from for a class. Once specified, the tool should filter the information to fill in for the class so that only Preface information for an Actor is presented, which would be business-level information.
Part I - An Introduction to UML

Creating newIs classifier Chapter 1 - What UML?


Chapter 2 Chapter 3 - UML Architecture

types

Some modeling tools and metamodel repositories have implemented a meta-metamodel layer or - UML Diagrams and Extension Mechanisms equivalent, which gives you a language to extend the UML metamodel further, or create other Chapter 4 - Object-Oriented Concepts metamodels. These tools offer the capability to create new classifier types. For example, you might want Part II - Modeling Object Structure to create new classifier types for Functional Requirement, System Requirement, and Technology Chapter 5 - Capturing Rules about Objects in a Class Diagram Requirement so that you could use the modeling tool's repository to store your requirements, and relate Chapter 6 - How to Capture Rules about Object Relationships them to UML model elements that satisfy them. Each new requirement classifier type would have its own Chapter 7 - Testing with Objects set of tagged values.
Part III - Modeling Object Interactions

Chapter 8 - Modeling Interactions UML 1.4 Customizing icons in the in tool Chapter 9 - Modeling Interactions in UML 2.0 UML's graphical notation may be extended. Users may replace the standard rectangular or oval symbols Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

with their icons, as as they do so UML's guide-lines. Modeling tools should allow the user Chapter 11 own - Modeling an long Object's Lifecycle in within UML 2.0 to choose whether a symbol is displayed Part IV - Modeling Object Behavior according to the standard UML specification or a user-supplied icon. Customized icons should be based on UML item they represent. Once an Chapter 12 - Modeling the Use of a System withthe theparticular Use Case stereotyped Diagram iconic relationship with a stereotype is defined, any node drawn with the modeling tool that uses that Chapter 13 - Modeling Behavior Using an Activity Diagram stereotype may use the specified icon to represent it instead of the standard representation. Part V - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture

Figure 20-2 shows UML nodes on a Deployment diagram. Within the modeling tool, the user has defined stereotypes that represent different types of nodes, in this case Firewall, Modem, and Tablet PC, and has Chapter 16a-graphic Using Deployment Diagrams UML two 1.4 allowable representations, one displaying the nodes in supplied for each. The figure in shows Chapter 17 Representing an Architecture in UML 2.0 the regular form, which is a cube, and one using the icons supplied by the user.
Chapter 15 - Modeling Software Using the Component Diagram
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

Figure 20-2: Displaying an item according to its stereotype, using user-supplied graphic metafiles.

Part I - An Introduction to UML

Chapter - What Is UML? image, 1 which means that it is made up of individual vector lines. The advantage of a vector image is that it Chapter 2 UML Architecture scales well - you may drag to increase or decrease its size, and the image will retain its sharpness. NonChapter 3 - UML Diagrams and Extension Mechanisms vector images distort when they are resized in a graphical tool. Chapter 4 Chapter 5 - Object-Oriented Concepts
Part II - Modeling Object Structure

The user-provided graphic for an icon is typically a metafile, not a bitmap or jpeg. A metafile is a vector

Sharing models - Capturing Rules about Objects in a Class Diagram


working on the models concurrently, it is essential that

Chapter 6 large - Howsystems to Capture Rules about Object Relationships Modeling is a collaborative effort. You may have business analysts modeling business Chapter 7 Testing with Objects requirements and workflow, programmers designing the applications, data modelers designing the
Part III - Modeling Object Interactions databases, and so on. To facilitate multiple users

Chapter 8 tools - Modeling Interactions in UML modeling enable multiple users to 1.4 share the models. The level of support for this varies by tool. At Chapter 9 of - the Modeling Interactions in UML 2.0 multiple users on a network to work on models at the same one end spectrum, some tools enable Chapter 10 some - Modeling anconflict Object's Lifecycle in UML 1.4 time, with sort of resolution. Other tools provide a strategy for users to check out portions of

the model work onan in Object's their workspace, and later Chapter 11 -to Modeling Lifecycle in UML 2.0check their portion back in.
Part IV - Modeling Object Behavior

Team12 support Chapter - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

During analysis, it is advantageous to have multiple team members working on the same models at the same time. That way, no modeler reinvents the wheel. As they work, modelers can see the models of the Chapter 14 - Modeling the Application Architecture entire system, even as new models and classes are added by other team members while they work. Tools Chapter 15 - Modeling Software Using the Component Diagram that support multiple users working on the models at the same time generally work as follows: if User A Chapter 16 - Using Deployment Diagrams in UML 1.4 opens the definition of a class to edit it, and User B tries to open the definition while User A has it open, Chapter - Representing an Architecture in UML 2.0 User B17 gets a read-only version of the class definition. As soon as User A closes the definition dialog, any Part VI - Bringing Rigor to the Model other user can open the definition dialog. Likewise, if User A opens a diagram for graphical editing, all Chapter 18 - Applying to the UML Diagrams other users can only Constraints open a read-only version of the diagram until User A closes the diagram.
Chapter 19 - Action Semantics

In addition to conflictthe resolution, sharing models Part VII - Automating UML Modeling Process

also requires the capability to check out or to freeze certain definitions. Checking out a definition means that it is yours until you put it back; no one else can edit Chapter 20 - Using a Modeling Tool it, whether it's open or not, until you check it back in. Freezing a definition enables it to become a standard Chapter 21 - Customizing UML Using Profiles that anyone can use, but no one can change. Normally only a project leader or system administrator is Chapter 22 - XML Metadata Interchange given the authority to freeze a definition. In the browser in Figure 20-1, the modeling tool provides a check Appendix A - UML 1.4 Notation Guide mark next to the Manager class to indicate that it is checked out, and an icon of a thermometer next to the Appendix B - UML 2.0 Notation Guide Customer class to indicate that it is frozen.
Appendix C - Standard Elements Glossary UML modeling tools predicated towards design offer a different scheme for multiuser use. The strategy Index involves using a version control system to hold the models, and for users to check out portions of the List of Figures model for use on their desktop. The package normally serves as the grouping mechanism that gets List of Tables checked out. In other words a user checks out a package to her workspace, and works using the classes List ofother Listings and UML classifiers within that package.

< Day Day way Up > The advantage of this workflow is that it is similar to the that programmers work while coding. And it scales well. Each modeler can work in a different package without getting in another modeler's way. The disadvantage is that if a package containing many subpackages and classes is checked out, all of those classes are also checked out and become unavailable to other users. This decreases the multiuser UML Bible usefulness of the tool. ISBN:0764526049

Scalability

by Tom Pender John Wiley & Sons 2003 (940 pages)

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Scalability is another important issue when using modeling tools in a multiuser environment. Scalability specifications, and shows how to use UML to improve refers to the ability of the modeling scale (increase in size and/or number of users) without timeliness, quality, tool and to efficiency in development.

performance degradation - scale in the amount of users who can work on models simultaneously, scale in Companion Web Site the size of the repository as it becomes filled with models, and scale in the size of the largest diagrams that can be built in the tool.
<?xml version="1.0" encoding="ISO-8859-1"?> Modeling tools that support multiple simultaneous users generally allow 20 to 50 users working Table of Contents UML Bible

simultaneously on a project, depending on bandwidth. A strategy is offered for larger teams, wherein a repository may be subdivided into multiple projects, with each project originating from a check-out of Preface material from an enterprise repository.
Part I - An Introduction to UML

Chapter 1 the - What Is UML? Many of users who need to access the models often need to only view the models. For this reason, Chapter 2 - UML of Architecture Web publishing models becomes an important part of a modeling tool's scalability solution. Chapter 3 - UML Diagrams and Extension Mechanisms The size repository based on the number of models and the amount of information stored within it is Chapter 4 of -a Object-Oriented Concepts

generally not an Object issue. However, Part II - Modeling Structure

large "spaghetti" diagrams containing hundreds of classes can create

problems: are not only about difficult to read understand, Chapter 5 -they Capturing Rules Objects in and a Class Diagram but also cause delays in the modeling tool's painting presenting them on the screen. Overlarge class diagrams are generally easy to avoid with Chapter 6 when - How to Capture Rules about Object Relationships UML modeling tools. Since modeling tools support UML's underlying semantics as well as notation, you - Testing with Objects can subdivide a large diagram into multiple small Class diagrams without loss of information. Part III - Modeling Object Interactions
Chapter 7 Chapter 8 Chapter 9

Access control or security

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in some UML 1.4 When working in a multiuser environment, sort of access control or security is necessary to establish Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 what individual modelers can access or do. For example, you might not want a junior person deleting or
Part IV - classes Modeling Object Behaviorby a editing without approval

supervisor or senior programmer.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Most multiuser tools provide access control at the project level, enabling a system administrator to grant Chapter 13 - Modeling Behavior Using an Activity Diagram various modes of access - suchArchitecture as ability to Part V - Modeling the Application add, edit, delete, or simply view the models - to individual users. There are a number of ways to slice access control further. You might want to specify access by Chapter 14 - Modeling the Application Architecture user group or by the function that the modeler performs - for example, only enabling users designated as Chapter 15 - Modeling Software Using the Component Diagram business modelers to edit and create Use Case diagrams, while programmers can only work on diagrams Chapter 16 - Using Deployment Diagrams in UML 1.4 concerning class design, and data modelers can only work on data models.
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 tools - Action Semantics Modeling generally provide the ability to retain and access an audit trail of all user interactions within
Part - Automating the UML Modeling Process the VII repository. So, for example, you can look at

Audit trails

the definition of a class, and see the ID of the user who

Chapter 20 Using a Modeling Tool it, and at what time it was changed. You also can run reports that tell you created it, and who last changed Chapter 21 - modeler Customizing UML Using Profiles on a particular day or period of time. what every touched and changed Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Management of change to the models is extremely important in a working environment. There are two

Change management

reasons why change management is important to UML modeling tools - the capability to manage project Glossary and enterprise repositories, and the capability to version projects (and at times roll back unwanted Index changes). List of Figures
List of Tables List of Listings

Repository management

When working in an enterprise environment, you typically store < Day Day Up > your models in an enterprise repository and check items out of that repository to create smaller project repositories. At some point, the project repository is merged back into the enterprise repository. During this process, it is imperative to know what has changed in the project repository.
UML Bible
ISBN:0764526049 by management Tom Pender is part organizational management The key to change and part modeling tool functionality. John Wiley & Sons 2003 (940 pages) From an organizational management view, you should have procedures in place so that the project repository is properly created, and items merged into provides the enterprise repository at the proper time. For beginning to advanced users, back this book comprehensive coverage of the versatility of 1.4 and 2.0 UML in each repository, down to the The modeling tool needs to provide the capability to compare the elements specifications, and shows how to of use UML to improve The modeling tool should enable you finest level - for example, the textual description a class definition. timeliness, quality, and efficiency in development. to specify and merge particular items back into the enterprise repository.

Companion Web Site

Versioning
<?xml encoding="ISO-8859-1"?> You version="1.0" may also create different versions of the models themselves. It is very common to create a baseline Table of Contents UML Bible similar to the way that code bases are versioned. be built, Preface
Part I modeling - An Introduction to UML The tool should provide

or "as is" version of the system, and then a target or "to be" version. Ensuing versions of the models can a means of determining the differences between two versions, again

through sort repository comparison tool. In addition, the modeling tool should provide the Chapter 1 some - What Isof UML? capability version the repository, or parts of the repository, to an off-the-shelf version control system. Chapter 2 to - UML Architecture
Chapter 3 Chapter 4 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts Reporting

Part II - Modeling Object Structure

Information is disseminated to an Objects audience reporting or Web publishing, two of the most important Chapter 5 - Capturing Rules about in via a Class Diagram features tool provides. (SeeObject the next section for more on Web publishing.) Your audience Chapter 6 a -modeling How to Capture Rules about Relationships might be to whom you may need to provide updates on what's going on with the project. Chapter 7 management, - Testing with Objects Management may also want to reference Part III - Modeling Object Interactions the models as an information source regarding the workflow of the business and theInteractions architecturein of the 1.4 underlying systems. Your audience might include your Chapter 8 - Modeling UML programmers, who want to see the Use 2.0 Cases for the applications they are building, or the data models Chapter 9 - Modeling Interactions in UML
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

they are building applications against. Your audience might include your quality assurance people, who use the Use Cases to test the system. Your audience might be the end users to your system, who want to Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 gain an understanding of how the system works by looking at the Use Cases or Activity diagrams. Your Part IV - Modeling Object Behavior audience might be outside vendors, if you are bringing in contract work.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Types of reports

Chapter 14 - Modeling the Application Architecture Reports can simply be output pictures of the diagrams and all of the information contained in them, or they Chapter 15 - Modeling Software Using the Component Diagram can get much more complicated. You might want to produce a report for your programmers detailing all of Chapter 16 - Usingavailable Deployment in UML the components in aDiagrams system, and the1.4 specification of their public interfaces. You might want to

produce to management concerning the Use Cases affected by a change to a business Chapter 17a-report Representing an Architecture in UML 2.0 requirement, and the Activity diagrams Part VI - Bringing Rigor to the Model and Sequence diagrams that are affiliated with the affected Use Cases.18 Metrics reports provide you with a barometer Chapter - Applying Constraints to the UML Diagrams of how well your application is designed by offering such information the average number of methods per class, or the total number of classes with less Chapter 19 - Actionas Semantics than five attributes. the UML Modeling Process Part VII - Automating
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML standard 1.4 Notation Guide reports present information, and usually enable you to make simple choices about what Appendix B UML 2.0 Notation Guide information is to be generated. Appendix C - Standard Elements

Types of reporting systems

Modeling tools generally come with a number of canned reports to generate for the models. The canned

For more complicated reports, a user-customizable reporting system is necessary. If the modeling tool Glossary stores its information in an underlying database, the tool generally offers either a proprietary custom Index reporting system, or an interface to a third-party data extraction and report writing tool, such as Crystal List of Figures Reports. List of Tables
List of Listings

If the modeling tool provides its own custom report writer, you should make sure it is well-documented, < Day Day Up > flexible, and easy to use.

Output medium
UML Bible

The output medium for your reports will vary depending on theISBN:0764526049 audience you are distributing them to, and by Tom Pender a good modelingJohn tool should support multiple media. Wiley & Sons 2003 (940 pages) When examining comprehensive a modeling tool, first understand to whom you will be outputting reports. Will you require coverage of the versatility of 1.4 and 2.0 UML printed reports tospecifications, hand to management inhow a hard-copy format? Will you be publishing reports for and shows to use UML to improve timeliness, and in development. distribution on the corporatequality, intranet? Inefficiency most cases, you will be doing both.
Companion Web Site The modeling tool's report writer should be able to print out formatted reports. Some report writers offer interfaces to word-processing tools, such as Microsoft Word, so that formatting and printing can be done in those programs. encoding="ISO-8859-1"?> <?xml version="1.0" Table of Contents UML Bible Preface For beginning to advanced users, this book provides

For dissemination of reports to the Web or intranet, newer report writers output information to XML and enable formatting of the report via XSL stylesheets. This is a very flexible method for publishing reports.

Part I - An Introduction to UML

Chapter 1

Formatting

- What Is UML?

Chapter 2 - UML Architecture An important feature of a modeling tool's reporting capability is how well its reports can be formatted. No Chapter 3 UML Diagrams and Extension Mechanisms one looks at a report that is hard to read; conversely, an attractive report shines a good light on an entire Chapter 4 project. - Object-Oriented Concepts
Part II - Modeling Object Structure

The report should enable you to easily the report output. Such formatting includes sizing the Chapter 5 - writer Capturing Rules about Objects in a format Class Diagram diagram, column headings, specifying number of columns on a page, and so forth. If you are Chapter 6 setting - How to Capture Rules about Object the Relationships dealing with government specifications, you should be sure that the modeling tool can output reports to - Testing with Objects MIL-spec standards, which often specify the exact width of borders, and so on. The report writer's print Part III - Modeling Object Interactions function should enable print-to-screen and print preview options.
Chapter 7 Chapter 8 Chapter 9 - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Web publishing

Web publishing has become a standard feature in modeling tools; some tools perform this function better than others. Web publishing enables you to publish your models to a wide audience. The model Chapter 12 - Modeling the Use of a System with the Use Case Diagram information and associated graphical information is generated to HTML, or XML, for publishing on the Chapter 13 - Modeling Behavior Using an Activity Diagram Internet or corporate intranet.
Part V - Modeling the Application Architecture

Chapter 14 Application Architecture There are aModeling number the of things you should examine concerning a modeling tool's Web publishing: Chapter 15 - Modeling Software Using the Component Diagram

Does modeling tool provide you with the capability to choose what information from the model is Chapter 16 the - Using Deployment Diagrams in UML 1.4 generated? How fine-tuned are your Chapter 17 - Representing an Architecture inchoices? UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating UML Modeling How easy is the the generated HTML Process to navigate?

Can you customize the HTML output so that you can put your own corporate labels on the published HTML pages? Most modeling tools provide hyperlinks from diagram

Chapter 20 - Using a Modeling Tool symbols to underlying definitions, and numerous hyperlinks to jump around in the report. However, Chapter 21 - Customizing UML Using Profiles remember that in the modeling tool, the browser and other navigational aids such as an alphabetical

listing of classes are important to your navigation of the models. The HTML output from the modeling Chapter 22 XML Metadata Interchange tool A should similar amenities. See if the modeling tool's browser is replicated in the HTML output, Appendix - UML offer 1.4 Notation Guide so that navigate Guide the same package structure you are familiar with as a UML modeler or Appendix B - you UML can 2.0 Notation Windows Explorer user. Appendix C - Standard Elements
Glossary Index

Perhaps the biggest problem with HTML output from modeling tools concerns the size and presentation of the graphical diagram. Modeling tools generally create .jpg or .png images of List ofdiagrams, Figures and provide you with options on how to scale the diagram before generation. For large List ofdiagrams, Tables however, what you often end up with is diagrams so small that the symbols on them are List ofhard Listings to read. This defeats the purpose of the graphical nature of UML to provide information. Some

modeling tools are now translating the graphical diagrams into Scalable Vector Graphics (SVG) < Day Day Up > format, a vector format that enables you to zoom in and out of the graphical diagram in the published HTML output just as you would in the graphical modeling tool.
Bible IntegrationUML with third-party tools by Tom Pender

ISBN:0764526049

Wiley & Sons 2003 (940 pages) No modeling toolJohn is an island. A modeling tool is one important piece of a set of tools you use to create For beginning to advanced users, this provides and maintain the information about your business andbook to design its systems. The modeling tool often comprehensive coverage of the versatility of 1.4 and 2.0 UML becomes the centerpiece of information capture. At the front end are requirements management tools, specifications, and shows how to use UML to improve and at the back end are testing tools, integrated environments (IDEs), and database timeliness, quality, and efficiencydevelopment in development.

management systems (DBMSs). In between are other tools used to gather information about your Companion Web Site business and its systems, such as word processors and spreadsheets.

Requirements management <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents


UML Bible

Requirements management tools are designed to capture, trace, analyze, and manage requirements. Depending on the tool, the requirements are either stored in an underlying database or managed in Preface external documents.
Part I - An Introduction to UML

Chapter 1 - What Is UML? Many modeling tools provide interfaces to third-party requirements management tools, so that a link is Chapter 2 between - UML Architecture created requirements in the requirements management tool and model elements that satisfy the Chapter 3 - UML Diagrams and tool. Extension Mechanisms requirements in the modeling Reports may be generated to see which requirements are satisfied by Chapter 4 - Object-Oriented Concepts what model elements. If a requirement changes, a report can be run to provide the impact analysis of the
Part II - Modeling Object Structure change to the requirement.

Chapter 5 Chapter 7

- Capturing Rules about Objects in a Class Diagram - Testing with Objects

Testing Chapter 6 - How to Capture Rules about Object Relationships


Some modeling tools provide links to third-party testing tools, so that Use Cases can be generated as test scripts in the testing tool. If Use Cases are changed, the link provides automatic updating of the test Chapter 8 - Modeling Interactions in UML 1.4 scripts. Integrating the modeling tool with your testing tool enables your quality assurance people to be in Chapter 9 - Modeling Interactions in UML 2.0 tune with the requirements of the applications they are testing.
Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4


Part IV - Modeling Object Behavior

Chapter 11 Modeling an Object's in UML 2.0 modeling Getting information into Lifecycle and out of the

tool

Chapter 12 - Modeling the Use ofmechanisms a System with the Use Case Diagraminto and out of the modeling tool. These Most vendors support generic for getting information Chapter - Modeling Behavior Using an Activity Diagram include13 importing and exporting information in XML format, XMI format, and in CSV (comma-separated
Part V - format. Modeling the is Application value) XML a version Architecture of XML that supports

all of the UML diagram types. Tools that support

more modeling methods than just UML (for example, data models and business process, function, and Chapter 14 - Modeling the Application Architecture organizational models) often also offer import Diagram and export to a tool-specific DTD. Chapter 15 - Modeling Software Using the XML Component
Chapter 16 - Using Deployment Diagrams in UML 1.4

There are a number of reasons why you would want to get information into and out of the modeling tool's repository. Information is often generated outside the modeling tool. For example, some modelers prefer Part VI - Bringing Rigor to the Model to brainstorm a list of classes in an Excel spreadsheet, and then import them into the modeling tool. A Chapter 18 - Applying Constraints to the UML Diagrams CSV import easily accomplishes this, without the need for building a special interface. At other times, Chapter 19 - Action Semantics users might want to create information in a modeling tool and then manipulate it somewhere else - for Part VII - Automating the UML Modeling Process example, export information from the tool in XML format, and then build a Java application to manipulate Chapter 20 Using way. a Modeling Tool the data in-some
Chapter 17 - Representing an Architecture in UML 2.0 Chapter 21 - Customizing UML Using Profiles Chapter VBA 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Pre-builtBinterfaces third-party tools that the vendor supplies are sometimes not enough. Most modern Appendix - UML 2.0to Notation Guide modeling have adopted Appendix C tools - Standard ElementsMicrosoft's Visual Basic for Applications within the tool. What this means is that you can access the VBA IDE within the tool, and build custom programs, called macros, that are Glossary
Index

started by events in the tool, whether by a menu command that you create, opening or closing a diagram, or some other event. A scripting language such as VBA enables you to build custom interfaces to most List of Figures third-party tools.
List of Tables List of Listings

Code generation and reversal< Day Day Up >


One of the traditionally sexy features of modeling tools is their capability to automatically generate code from models, and to reverse-engineer existing code to automatically create diagrams. The languages UML Bible supported for code generation and reversal are typically Java, C++, Visual Basic, and more recently C# ISBN:0764526049 by Tom Pender and VB.NET. Most tools only support generation and reversal of the class and component diagrams, John Wiley & Sons 2003 (940 pages) which represent the static structure and organization of the code.
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 Activity UML Some tools also support generation of code from Sequence diagrams, diagrams, and State specifications, and shows how to use UML to these improve diagrams. Less support is provided for reversal of code into diagrams. timeliness, quality, and efficiency in development.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Modeling tools that offer the traditional approach of generating to and from files also offer benefits to UML Bible certain users, especially those who have many files of code that they want to reverse engineer into the Preface modeling tool as a start to analysis.
Part I - An Introduction to UML

The most popular of the code generation Companion Web Site tools are those that sit directly on the code, so that the modeling tool basically becomes a code editor - a change to the model causes a direct change to the code. The IDE is built into the tool, so that you may see the model and the code at the same time.

Round-trip engineering Chapter 1 - What Is UML?


Chapter 2 Chapter 3

Round-trip engineering refers to a tool's ability to automatically generate code, enabling programmers to - UML Diagrams and Extension Mechanisms modify that code, and then have the tool reverse engineer that code so that the models become Chapter 4 - Object-Oriented Concepts synchronized with the newly modified code. Subsequent generations and reversals of code continue to Part II - Modeling Object Structure keep the models synchronized with the code.
Chapter 5 Chapter XMI 6 Chapter 7 - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

- UML Architecture

Part III - Modeling Object Interactions Support for export and import of XMI

is a new solution for code generation and reversal supported by

Chapter 8 tools. - Modeling Interactions in UML vendors 1.4 modeling A number of third-party are now offering services to transform XMI, via XSLT, to

other languages, such as Java, C++, C#, VB .NET, and so forth. Chapter 9 - Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Part IV - Modeling Object Behavior < Day Day Up > Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UMLArchitecture Bible Model-Driven (MDA) by Tom Pender


ISBN:0764526049

Modeling tools have been around for more 20 years now. Early modeling tools were referred to as John Wiley & Sons 2003 (940 pages) Computer Aided For Software Engineering (CASE) tools. These tools were touted as the "silver bullet" of their beginning to advanced users, this book provides time - they promised full code generation from models, so that modelers could design the comprehensive coverage of the versatility of 1.4 business and 2.0 UML specifications, shows how to use UML to improve business workflow, and push a and button to generate the supporting applications. The CASE tools did not live timeliness, and soiled efficiency in development. up to this promise, resulting quality, in a rather reputation for the term CASE. Through the years, the industry realized that Companion such tools were still extremely important in helping users to analyze and design their Web Site business and systems - enabling them to model their systems and capture and disseminate design information, if not generate the code automatically. Modeling tool became a more appropriate term to <?xml version="1.0" encoding="ISO-8859-1"?> describe these tools.
Table of Contents UML Bible the years, technology has been advanced to the point where full code generation from a Through Preface modeling tool is again being looked at as a real possibility. The straightforward alignment of objectPart I - Ancode Introduction to UML oriented with object-oriented

models, the ongoing maturation of the UML specification, and the

Chapter - What Is UML? advent 1 of Web services and business execution languages has made full code generation from business Chapter 2 - UML models Architecture and technology a realizable goal. Chapter 3 Chapter 4

The Object Management Group (OMG) is at the forefront of the drive to realize this goal, with the Model- Object-Oriented Concepts Driven Architecture (MDA) initiative. The initiative is aimed using modeling tools and metamodel Part II - Modeling Object Structure repositories to drive the design and implementation of distributed systems. MDA aims to make all OMG Chapter 5 - Capturing Rules about Objects in a Class Diagram standards, from CORBA to UML to numerous profile specifications, work together to support the full life Chapter 6 - How to Capture Rules about Object Relationships cycle of designing and deploying systems. MDA places emphasis on models over technology.
Chapter 7 Chapter 8 Chapter 9 - Testing with Objects
Part III - Modeling Object Interactions

- UML Diagrams and Extension Mechanisms

PIMs and PSMs - Modeling Interactions in UML 1.4


- Modeling Interactions in UML 2.0

The idea of MDA is to drive code generation from models. MDA specifies that a platform-independent model (PIM) be created, containing a precise specification of the system expressed in UML, without Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 specifying technology-dependent details. The PIM can be mapped to a platform-specific model (PSM), Part IV - Modeling Object Behavior which contains design and implementation details. The PSM is then mapped to working code in a Chapter 12 - Modeling the Use of a System with the Use Case Diagram particular coding language. The goal is to model once, and generate everywhere.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture To support MDA, the modeling tool should enable

you to create a PIM and a PSM, independent of one

Chapter 14 - Modeling the Application Architecture another. Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

When building a PIM, you focus your modeling efforts on the business problem at hand, without worrying about implementation details. However, a PIM should not be confused with an analysis model - both Chapter 17 - Representing an Architecture in UML 2.0 analysis and design models can be PIMs. During design you modify your analysis models to reflect design Part VI - Bringing Rigor to the Model decisions and structure, but if you are following the MDA paradigm, you do not specify platform- or Chapter 18 - Applying Constraints to the UML Diagrams technology-dependent information. This information is specified in the PSM.
Chapter 19 - Action Semantics
Part VII - Automating the UML Process What makes a PIM stand outModeling from traditional analysis

and design models is that it is a precise specification

Chapter 20 - Using a Modeling Tool of the function, structure, and behavior of the system. It needs to be precise so that it can be properly Chapter 21 Customizing UML losing Using information Profiles translated to a PSM without or any interpretations of what the system does. A number of Chapter 22 XML features Metadataare Interchange advanced UML used to make these models precise. The Object Constraint Language (OCL)

is used to express constraints on model elements in a formal manner, rather than just expressing Appendix A UML 1.4 Notation Guide constraints text, which Appendix B - with UML simple 2.0 Notation Guide can be ambiguous. Specifying patterns in the PIM is another technique to express concepts in a formal, unambiguous manner. The Action Semantics of UML provide Appendix C -design Standard Elements another means to specify precise details of the behavior of the system, without specifying platform-specific Glossary details. Index
List of Figures List of Tables

To fully support MDA, the modeling tool should support OCL and Action Semantics.

List of Listings UML profiles are the primary tool used to model PSMs. A number of profiles have been adopted by the

OMG for specific platforms, such as J2EE and CORBA. Profiles enable you to model information specific < Day Day Up > to a platform using stereotypes, tagged values, and constraints. To fully support MDA, the modeling tool should support working with profiles for the languages that you wish to generate UML codeBible for. CrossRefer to Chapter 18 for detailed information on OCL. See Chapter 19 for more on John Wiley & Sons 2003 (940 pages) Reference action semantics. Refer to Chapter 21 for detailed information on profiles.
by Tom Pender
ISBN:0764526049

Mapping PIMs to and from PSMs

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

An important enabler Companion of MDA is the ability Web Site to map PIMs to and from PSMs without loss of information. To support MDA, the modeling tool should not only enable you to create a PIM and a PSM, independent of one another, but also provide an automatic mapping of a PIM to a PSM, and a PSM to working code. <?xml version="1.0" encoding="ISO-8859-1"?> There are four mappings that are of interest, as follows:
Table of Contents UML Bible PIM to PIM - such as an analysis model to a design model. Look for this mapping to be available in the Preface modeling tool.
Part I - An Introduction to UML

PIM this can be performed in the modeling tool, if it supports both PIMs and PSMs, or it may Chapter 1 to - PSM What -Is UML? be 2 enabled generating the models to an external coding tool. One strategy is to output the PIM to Chapter - UML by Architecture
Chapter 3

XMI, and then use a transformation script in a language, such as XSLT, to map the PIM to a PSM. - UML Diagrams and Extension Mechanisms tool, or if the modeling tool supports import of XMI.

Chapter 4 to - Object-Oriented Concepts of a PSM to a PIM. Again, this can be performed in the modeling PSM PIM - reverse engineering
Part II - Modeling Object Structure

Chapter 5 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram PSM PSM - for component realization deployment. Chapter 6 to - How to Capture Rules about Object and Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part III - Modeling Object Interactions

< Day Day Up >

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Evaluation UML Criteria: Checklist for selecting a modeling tool by Tom Pender
ISBN:0764526049

When selecting a modeling tool, you should John Wiley & Sons 2003 (940 have pages) a clear understanding of what features are important to you in creating models. As mentioned earlier in this chapter, modeling tools on the market today feature For beginning to advanced users, this book provides strengths in individual areas. Some are ideal for overall enterprise modeling, comprehensive coverage of the versatility of 1.4 and 2.0 UML some are geared toward specifications, and others shows how to use UML to improve real-time analysis and design, and are for visualization and reversal of code.
timeliness, quality, and efficiency in development.

Once you narrow down the tools Web you are Companion Site looking for, try to arrange a demonstration of the tool. If you expect to buy a number of licenses of the tool, you can ask the tool vendor for a free demonstration. Most vendors will demonstrate the tool for you either on site or via a Web conference call. Some tool vendors <?xml encoding="ISO-8859-1"?> also version="1.0" provide canned demos on their Web sites. Most provide a free evaluation of their products, which you Table of Contents can download and try for a limited time period. Once you select a tool, run a pilot project.
UML Bible

The following checklist is not definitive, but it should help you formulate questions when shopping for a Preface modeling tool. You should reference Part I - An Introduction to UML each point. Chapter 1 - What Is UML?
Chapter 2 Chapter 3 Chapter 4 - UML Architecture - Object-Oriented Concepts - UML Diagrams Extension Mechanisms Support for UML and diagrams

the material presented earlier in this chapter for more information on

Remember that UML specifies the Part II - Modeling Object Structure

notation and semantics of models. The UML specification has become

fairly complicated andRules continues evolve. isDiagram no modeling tool on the market that supports 100 Chapter 5 - Capturing about to Objects in There a Class percent Luckily, there are few users that use 100 percent of it. Most users use anywhere between 20 Chapter 6 of -it. How to Capture Rules about Object Relationships to 70 percent of what the specification details. Most modeling tools support 80 to 90 percent of the Chapter 7 - Testing with Objects specification. Depending on the degree Part III - Modeling Object Interactions of customizability of the modeling tool, you may be able to add any missing notation or functionality to the tool yourself Chapter 8 - Modeling Interactions in UML 1.4
Chapter 9 - Modeling Interactions in UML 2.0 Ascertain what UML diagrams your organization will use in the Support for UML diagram notations. Chapter 10 and - Modeling an Object's Lifecycle ina UML 1.4 short long term. Use this book as guideline in determining the notations of each diagram type, Chapter 11 - Modeling an tool Object's Lifecycle in UML 2.0 and see if the UML provides those notations.
Part IV - Modeling Object Behavior

Support for UML semantics. If you with draw anUse association between two classes on one diagram, and Chapter 12 - Modeling the Use of a System the Case Diagram drop same two classes down another diagram, is the association drawn automatically? If you Chapter 13 the - Modeling Behavior Using anon Activity Diagram add a method to a message on a Sequence Part V - Modeling the Application Architecture diagram, is the method added to the class that the receiving object instantiates? If you add an attribute to a state in a State diagram, is the attribute Chapter 14 - Modeling the Application Architecture automatically added to the class's definition? These are the types of questions you should ask while Chapter 15 - Modeling Software Using the Component Diagram examining a tool's support for UML semantics. Chapter 16 - Using Deployment Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML Diagram views. Can you easily show and 2.0 hide items on the symbols on diagrams? For example,
Part VI - Bringing Rigor to the Model

does the tool provide the capability of hiding certain relationship types on a diagram? Can you hide

Chapter 18 - Applying Constraints the UML Diagrams and show various propertiesto of a class on an individual-class basis as well as on the diagram as a Chapter 19 - Action Semantics whole?
Part VII - Automating the UML Modeling Process

Parent/child relationships. Chapter 20 - Using a Modeling Tool Can you create hyperlinks between diagrams, so that clicking on a symbol enables youUML to navigate to a "child" diagram? Does the tool support the connecting of multiple Chapter 21 - Customizing Using Profiles child to a single symbol? Does the tool support the connecting of multiple "parent" symbols Chapter 22 diagrams - XML Metadata Interchange to one diagram? Appendix A - child UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index Business modeling integration. Are the business modelers in your organization using UML, or are List of Figures

Integration with other methods

they using other methods to model the business? If they are using other methods, does the modeling tool provide support for such business modeling, integrated with UML diagrams, or provide List of Tables appropriate links to other business modeling tools?
List of Listings

Data modeling integration. UML provides some support for relational data modeling through a < Day Day Up > profile to a Class diagram, but this is often insufficient for serious data modelers. Does the modeling tool provide relational data modeling that satisfies your data modelers, or provide appropriate links to other data modeling tools?
UML Bible Tom Pender Navigation by John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Forget beginning advanced users, this book provides Can you easily a list ofto classes in the project, or within the particular package you are working in, comprehensive coverage of the versatility of 1.4 and 2.0 UML to reuse them on diagrams?

Can you navigate the package structure of your UML models in a browser?
Companion Web Site

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Can you easily move multiple items from one package to another via the browser?
<?xml version="1.0" Does the tool encoding="ISO-8859-1"?> support navigational aids other than a typical browser, such as cross-reference Table of Contents matrices? UML Bible Preface
Part I - An Introduction to UML

Repository

Chapter 1 the - What UML? Does toolIs have an underlying repository, and if so, what is its structure? Is it proprietary or based Chapter UML Architecture database? Does it have an open API? Can you easily get information into and on 2 an industry-standard Chapter 3of UML Diagrams and Extension Mechanisms out it? Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - Object-Oriented Concepts

Can you easily search the repository Part II - Modeling Object Structure

to find items?

- Capturing Rules about Objects in a Class Diagram - Testing with Objects

- How to Capture Rules about Object Relationships Customization

Can the metamodel of the tool's Part III - Modeling Object Interactions

repository be customized?

Can you add tagged values to the tool?


- Modeling Interactions in UML 2.0

- Modeling Interactions in UML 1.4

Chapter 10you - Modeling anown Object's Lifecycle in UML 1.4 Can add your stereotype values? Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Can you addObject your own custom Part IV - Modeling Behavior

graphical symbols (metafiles) to the tool? Can these graphical symbols be selected based on stereotype? Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Team support

Chapter 14 - Modeling the Application Architecture

What does the vendor mean bythe multiuser support, and will this accommodate your work environment? Chapter 15 Modeling Software Using Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0

Can you control who can create, read, update, and delete items? Can you specify access control based on a user's role in the system?

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Version control

Chapter 20 - Using a Modeling Tool

Does the vendor provide a version control strategy for its models?

Chapter - Customizing UML Using of Profiles At 21 what level is the versioning a model: individual definition level, package level, or project level? Is Chapter 22 - XML Metadata Interchange the level of versioning sufficient for your modeling workflow? Appendix A - UML 1.4 Notation Guide

Does vendor provideGuide a comparison tool so that you can compare the contents between versions? Appendix B the - UML 2.0 Notation
Appendix C - Standard Elements Glossary Index

Reporting
Does the tool have an interface to a third-party report writer, or provide its own custom report writer, so

good are the tool's preformatted reports? List ofHow Figures


List of Tables List of Listings

that you can easily create more complicated reports? < Day Day Up > Can reports be formatted and printed? Can reports be published to the Web, possibly via XML with XSL stylesheets?
UML Bible by Tom Pender Web publishing
ISBN:0764526049

John Wiley & Sons 2003 (940 pages)

Is Web publishing (HTML) to output easyusers, to navigate, possibly providing the same type of packageFor beginning advanced this book provides comprehensive coverage of the tool? versatility of 1.4 and 2.0 UML based browser as the one in the modeling
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Does the tool's Web-publishing output generate diagrams to SVG format, enabling zooming in and out of the diagrams published in HTML? Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Integration with other tools

Does the tool support a scripting language, such as Visual Basic for Applications (VBA), with a published object model, so that the tool's behavior can be modified, and interfaces can be built to Preface other tools?
Part I - An Introduction to UML

Chapter 1 the - What UML? List tools Is that your organization uses that you require the modeling tool to integrate with, such as: Chapter 2 - UML Architecture

management tools Chapter 3 Requirements - UML Diagrams and Extension Mechanisms


Chapter 4
Part II - Modeling Object Structure

Coding tools and IDEs

- Object-Oriented Concepts

Chapter 5 Testing - Capturing Rules about Objects in a Class Diagram tools Chapter 6 - How to Capture Rules about Object Relationships

management Chapter 7 Database - Testing with Objects systems


Part III - Modeling Object Interactions

Chapter 8

Configuration management tools

- Modeling Interactions in UML 1.4

Chapter 9 Office - Modeling Interactions in UML 2.0 management tools containing information (that is, Word documents, Excel spreadsheets, Chapter 10 Access - Modeling an Object's Lifecycle in UML 1.4 databases, and so forth) Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 the - Modeling Behavior Using an Activity Diagram Does tool support print previewing of the diagrams?
Part V - Modeling the Application Architecture

Printing

Can format the printed diagram output, to provide borders and so forth? Chapter 14you - Modeling Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Can you print to a plotter printer?

Code generation and reversal

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Examine the code generation and reversal requirements of your firm. Will your programmers be using the tool heavily to model their designs? Part VII - Automating the UML Modeling Process
Chapter 20 the - Using Modeling Tool Does toola allow users to import and work with third-party libraries, such as the JDK? Chapter 21 - Customizing UML Using Profiles

Does tool provideInterchange an IDE integrated in the tool? Chapter 22 the - XML Metadata
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Glossary Index

Reverse engineer code into the tool, make changes to the model, then generate it back out. Examine the code to see if the code regenerated matches the code that you started with, with the appropriate Appendix C - Standard Elements changes that you made to the model incorporated.
List of Figures List of Tables

Ease of use
Is the tool easy to use? Can you start the tool, create a project, and build a simple diagram in a

List of Listings

straightforward manner?

< Day Day Up >

Documentation and training


UML Bible Is the tool's on-line help thorough and well laid out? by Tom Pender
ISBN:0764526049

John Wiley & Sons tutorials 2003 (940 pages) Does the tool provide extensive so that your modelers can get up and running with the product quickly? For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML tocourses? improve Does the tool vendor supply on-site and public training timeliness, quality, and efficiency in development.

Does the tool vendor supply online training courses? Companion Web Site
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Vendor-related questions

What type of technical support is provided?

Preface Does the vendor produce new releases and updates to the tool regularly?
Part I - An Introduction to UML

Does vendor provide a user group for the tool? Chapter 1 the - What Is UML?
Chapter 2 Chapter 3

Ask the vendor for client success stories in areas similar to your business.
- UML Diagrams and Extension Mechanisms

- UML Architecture

Chapter 4 - Object-Oriented Concepts Examine the vendor's Web site. What is the frequency of press releases concerning the tool at which
Part II - Modeling Object Structure you are looking?

Chapter 5 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram What kind ofto material available the Web site concerning the tool? Chapter 6 How Captureis Rules abouton Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part III - Modeling Object Interactions

< Day Day Up >

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

In this chapter you learned: John Wiley & Sons 2003 (940 pages) A modeling tool is an important pieceof ofthe a set of toolsof you to maintain the information of your comprehensive coverage versatility 1.4use and 2.0 UML business and design its systems. specifications, and shows how to use UML to improve
timeliness, quality, and efficiency in development. For beginning to advanced users, this book provides

The modeling tool becomes the centerpiece of information capture.


Companion Web Site

A number of different types of modeling tools have emerged in the industry, each having different strengths. <?xml version="1.0" encoding="ISO-8859-1"?>
Table of Contents UML Bible Preface

Navigation in modeling tools is done through a standard browser, which presents UML packages in much the same way that Microsoft Windows Explorer presents items in folders. information in a repository, which is typically an underlying database: either

Part ISome - An Introduction to UML modeling tools store

Chapter 1 - What Is UML? a proprietary one or one based on an industry-standard database from a leading vendor. Chapter 2 - UML Architecture

Being navigate and find information in the underlying repository is an important feature of a Chapter 3 -able UMLto Diagrams and Extension Mechanisms
Chapter 4

modeling tool. - Object-Oriented Concepts

Part II - Modeling Object Structure

Chapter 5 - metamodel, Capturing Rules about Objects in a Class Diagram UML's adding tagged values and stereotypes, and customizing the way symbols are Chapter 6 How to Capture Rules about Object Relationships displayed on diagrams with user-defined icons. Chapter 7 - Testing with Objects

A modeling tool should support UML's extensibility provisions to be useful. This includes extending the

To-facilitate multiple users working on Part III Modeling Object Interactions

the models concurrently, it is essential that modeling tools

enable multiple users to share the models. This includes enabling multiple users on a network to work Chapter 8 - Modeling Interactions in UML 1.4 on 9 models at theInteractions same time,in with conflict Chapter - Modeling UML 2.0 resolution, or providing a strategy for users to check out portions of the model to work on in their workspace. Both approaches have advantages and Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 disadvantages. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Change management is an important part of the modeling process. Change management includes proper organizational procedures to manage projects, and tool functionality, such as a comparator Chapter 13 that - Modeling Behavior Using an Activity Diagram utility enables you to compare versions of projects to see differences.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Reporting on models and publishing of models are two of the most important features that modeling

tools Chapter 15 provide. - Modeling Software Using the Component Diagram


Chapter 16 - Using Deployment Diagrams in UML 1.4

Modeling tools often provide a customizable report writing system, or an interface to a third-party report-writing system. Reports are output to different media, including hard-copy printouts, and XMLPart VI - Bringing Rigor to the Model based reports, formatted by XSL stylesheets.
Chapter 17 - Representing an Architecture in UML 2.0 Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating the UML modeling Modeling Process to HTML or XML. Some tools now

Chapter 19 publishing - Action Semantics Web enables publishing of models to a wide audience. The model information is generated

output the pictures of the diagrams themselves to SVG

Chapter 20 - Using Modeling Tool to zoom in and out of the published diagram in their browser. format, whichaenables users Chapter 21 - Customizing UML Using Profiles

Modeling tools offer important interfaces to other tools involved in the system-building process, such Chapter 22 - XML Metadata Interchange as requirements management Appendix A - UML 1.4 Notation Guide and testing tools.
Appendix B - UML 2.0 Notation Guide Appendix - Standard tool,Cand make itElements easy to build custom interfaces to the modeling tool with other tools. Glossary

Many modeling tools now offer VBA and a published object model to facilitate customization of the

Index Modeling tools enable you to automatically generate code from diagrams, and reverse engineer code

create diagrams. List ofto Figures


List of Tables List of Listings

Most code generation/reversal is done to/from the Class diagram, although some modeling tools now

offer generation for the Activity, Sequence, and State diagrams. < Day Day Up > Modeling tools support code generation in a variety of ways. Some tools actually sit on top of the code, so that a change to the model immediately changes the code, and vice versa. XMI is becoming a new standard for modeling tools to support code generation and reversal of ISBN:0764526049 by Tom Pender languages like Java and C++.
John Wiley & Sons 2003 (940 pages) For beginning to aimed advanced users, modeling this book provides The OMG's MDA initiative is at having tools drive the design of code. The goal is to comprehensive coverage of the versatility of 1.4 and 2.0 UML model once, and generate everywhere. specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site UML Bible

< Day Day Up >

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Chapter UML 21:Bible Customizing UML Using Profiles ISBN:0764526049 by Tom Pender
Overview
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, shows how to use UML to improve UML specifies the notation andand underlying semantics to model business systems. It is a broad and detailed andof efficiency in development. specification, andtimeliness, it satisfiesquality, the needs most general modelers. But the UML specification is not broad or

detailed enough to encompass of the Companionall Web Sitemodeling aspects for every particular programming platform or modeling domain.
<?xml version="1.0" encoding="ISO-8859-1"?> To satisfy these needs, UML can be extended. The UML metamodel is extended with three basic devices: Table of Contents stereotypes, tagged values, and constraints. When you group a set of these extensions to model a specific UML Bible or domain, you create a profile. platform Preface

The specificationto details Part I UML - An Introduction UML

how to build a profile. It also provides example profiles. Users and modeling tool vendors may create their own profiles. In addition, the OMG has adopted a number of standard Chapter 1 - What Is UML? profiles for specific platforms and domains of modeling, and is in the process of adopting more. Many of Chapter 2 - UML Architecture these offer both a lightweight UML profile and an alternative MOF-based metamodel extension.
Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4 - Object-Oriented In this chapter, we examine Concepts profiles-what they contain, how they are built, and how they are used. We also
Part II -summarize Modeling Object briefly someStructure of the profiles

that have either been adopted by the OMG, or are being popularly

Chapter - industry. Capturing Rules about Objects in a Class Diagram used in5the Chapter 6 Chapter 7 Chapter 8 Chapter 9 - How to Capture Rules about Object Relationships - Testing with Objects

Part III - Modeling Object Interactions

< Day Day Up >

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible What Is a Profile? by Tom Pender


ISBN:0764526049

Aprofile is a group of stereotypes, and tagged values that work together to extend UML for a John Wiley & Sonsconstraints, 2003 (940 pages) particular platform orbeginning domain of For tomodeling. advanced users, this book provides A profile extends specifications, the UML metamodel. It can creating a new dialect to the Unified and shows howbe to thought use UMLof toas improve timeliness, quality, and efficiency in the development. Modeling Language. Profiles can be built to model peculiarities of various platforms (such as J2EE and .NET), vertical domains (such as Site banking, telecommunications, and aerospace), and modeling Companion Web domains (such as systems engineering, real-time analysis and design, and testing). In addition to profiles, you may also extend UML by extending the MOF metamodel upon which UML itself <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents is based, creating appropriate metaclasses and metarelationships, to create a new language related to UML. In fact, MOF extension mechanisms enable you to extend any MOF metamodel. Profiles are actually UML Bible defined to be a subset of the MOF extension mechanism. Preface
Part I - An Introduction to UML

comprehensive coverage of the versatility of 1.4 and 2.0 UML

Profiles are considered a lightweight extension mechanism, geared toward being straightforward and - What Is UML? easily supported by modeling tool vendors. The MOF extension mechanisms are geared toward being Chapter 2 - UML Architecture supported by metadata repository tools and UML modeling tools providing a MOF metadata repository.
Chapter 1 Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4 -look Object-Oriented Concepts You might at a MOF extension like adding a new extension to your house, where you actually change
Part - Modeling Object Structure the II structure of your house. If you

instead took an existing room in your house, added bookshelves,

Chapter 5 the - Capturing Rules a about in a and Class Diagram that this was your business office, you would repainted room, added new Objects entry door, specified Chapter 6 - How to Capture about Object Relationships do the equivalent of makingRules a profile. The bookshelves could be considered the tagged values-providing

you with limited new capability, Chapter 7 aTesting with Objects to house books in the room.
Part III - Modeling Object Interactions

Users may create their own profile for modeling as long as they follow UML specification rules. Likewise, - Modeling Interactions in UML 1.4 modeling tools may create and provide profiles. A number of profiles have emerged in the industry, such Chapter 9 - Modeling Interactions in UML 2.0 as the Web Application Extension (WAE) profile.
Chapter 8 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Stereotypes

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram Chapter 14 - Modeling the Application Architecture

Astereotype is a type that you may apply as a property value to a UML element to extend its properties and slightly alter its semantics. Stereotypes may be applied to all UML element types, such as classes, Part V - Modeling the Application Architecture use cases, components, associations, dependency relationships, and so forth.
Chapter 15 Modeling Software to Using the Component Diagram properties, or tagged values (described next) Once you apply a stereotype a model element, additional Chapter 16 Using Deployment Diagrams in UML 1.4 may become available in the class definition. Chapter 17 - Representing an Architecture in UML 2.0

The stereotype a UML element Part VI - Bringingof Rigor to the Modelis


Chapter 19 - Action Semantics

provided in guillemets above the element's name. Some stereotypes

are associated with icons, as described later in this section. Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating the UML Modeling Process

Tagged values

Chapter 20 - Using a Modeling Tool

Atagged is an extra property that can be added to a UML element, so that you can specify additional Chapter 21value - Customizing UML Using Profiles information that you normally couldn't. Chapter 22 - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

An example of a tagged value might be the business analyst that created a use case, or the author of a class, or the date and time that a class was created or modified.

Constraints
Constraints enable you to specify rules and restrictions on model elements in UML. For example, a profile

List of Figures

List of Tables might specify a constraint that you cannot draw an association between two classes of stereotype entity. List of Listings

< Day Day Up > How profiles are communicated

One of the most visible aspects of profiles are the icons you can use to represent different UML classifiers, based on their stereotype. (See Figure 21-1.) This enables you to visually express concepts more vividly Bible than by using theUML normal rectangular or oval symbols associated with most classifiers. This is important ISBN:0764526049 by Tom Pender because, after all, UML is a visual language that enables communication of design ideas.
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface Figure 21-1: Example of special icon to represent a class with stereotype boundary. You may either
Part Ishow - An Introduction UML a class in itsto rectangular

form or its iconized form.

Chapter 1 Chapter 3

- What Is UML?

Not all 2 stereotypes have an icon associated with them. If one does, you have the choice to display the Chapter - UML Architecture

element of that stereotype in its normal UML form, or by the icon associated with its stereotype. A well- UML Diagrams and Extension Mechanisms known example of this is the Actor symbol, which is actually a class of stereotype actor. You may Chapter 4 - Object-Oriented Concepts choose to display it according to its familiar stick-figure icon, or by a rectangular class symbol with the Part II - Modeling Object Structure keyword actor above the class name.
Chapter 5 - Capturing Rules about Objects in a Class Diagram Chapter 6 - How to Capture Rules about Object Relationships Many readers may be familiar with some of the icons established by the UML Profile for Business Chapter 7 Testing with Objects Modeling, which is provided as an example profile in the UML spec. This profile specifies different icons for
Part III - Modeling Object Interactions an entity class, control class, and boundary

class when performing robustness analysis, as shown in

Chapter - Modeling Interactions in UML 1.4 Figure 8 21-1. Chapter 9 - Modeling Interactions in UML 2.0 A modeling tool should profiles to be Chapter 10 - Modeling an allow Object's Lifecycle in specified UML 1.4 at a package level. Some tools offer them at the

project level. Once specified, new sets of stereotypes become available for the applicable model elements, such as classes, use cases, and components. Part IV - Modeling Object Behavior
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Chapter 12 Modeling the Use of a System the Use Case Diagram Once you select a specific stereotype forwith a model element, such as a class, additional properties within the Chapter 13 Modeling Behavior Using an Activity Diagram definition dialog of that model element appear, if called for by the stereotype. The modeling tool may give
Part Modeling the Application Architecture youV a -choice to display the model element by its

stereotype or in its normal form.

Chapter 14 - Modeling the Application Architecture

Additional toolbars may be provided in the drawing Diagram workspace of the modeling tool, to easily enable you to Chapter 15 Modeling Software Using the Component draw new, model Diagrams elementsin (such Chapter 16 -stereotyped Using Deployment UML as 1.4a toolbar that provides icons for control, entity, and boundary for the an Profile for Software Development Processes, described later in this section). Chapter 17 classes - Representing Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

How many profiles are there?

In theory, there are an unlimited number of profiles. Part VII - Automating the UML Modeling Process
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Modelers may create their own profiles, and modeling tool vendors may introduce profiles into their tools to model certain aspects of modeling. Chapter 20 - Using a Modeling Tool However, a proliferation of profiles would be contrary to UML's basic goal, which is to provide a standard language for communicating ideas. If six different organizations created their own profiles for modeling Appendix A - UML 1.4 Notation Guide real-time systems, for example, it would not be easy to compare the models produced under the different Appendix - UML 2.0 Guide the OMG has set up an adoption process for profiles, so that experts in profiles.B To head off Notation this problem, Appendix C Standard Elements the industry can get together and form standard profiles for various domains of modeling.
Glossary

At the same time, there have been some profiles that have gained popular usage in the industry. Some Index have been introduced in textbooks and others introduced by modeling tool vendors. It is expected that List of Figures these profiles eventually will work their way into OMG-adopted profiles. List of Tables
List of Listings

OMG-adopted profiles

< Day Day Up >

The OMG has issued a number of requests for proposals (RFPs) for profiles on important modeling domains. The proposals submitted are put through the OMG's adoption process.
UML Bible

The following is a list of profiles OMG, or are undergoing the adoption by Tom Pender that have been adopted by theISBN:0764526049 process: John Wiley & Sons 2003 (940 pages) UML Profile and Interchange Models for Enterprise Application Integration (EAI) (OMG document comprehensive coverage of the versatility of 1.4 and 2.0 UML ptc/02-02-02) specifications, and shows how to use UML to improve
timeliness, quality, and efficiency in development. For beginning to advanced users, this book provides

UML Profile for Enterprise Distributed Object Computing (EDOC) (OMG document ptc/02-02-05)
Companion Web Site

UML Profile for Schedulability, Performance, and Time (OMG document ptc/02-03-02)
<?xml version="1.0" encoding="ISO-8859-1"?> UML Testing Profile (OMG document ad/01-07-08) Table of Contents UML Bible UML Profile for CORBA (OMG document formal/02-04-01) Preface

Profiles for components Part I - An Introduction to and UML for More are come. Chapter 1 to - What Is UML?
Chapter 2 Chapter 3 - UML Architecture

systems engineering are being worked on by subcommittees of the OMG.

UML specification example profiles - UML Diagrams and Extension Mechanisms

Chapter 4 specification - Object-Oriented The UML itselfConcepts contains example profiles, as follows:
Part II - Modeling Object Structure

Chapter 5 Profile - Capturing Rules about Objects in a Class in Diagram UML for Business Modeling, contained the UML 1.0-1.4 specs Chapter 6 Chapter 7

UML Profile for Software Development Processes, contained in the UML 1.0-1.4 specs - Testing with Objects Profile for Java, introduced in the UML 2.0 spec and used as an example of how to describe a profile

- How to Capture Rules about Object Relationships

Part III - Modeling Object Interactions

Chapter 8 Modeling Interactions in UML 1.4 at the metamodel level Chapter 9

- Modeling Interactions in UML 2.0 Component Profile for J2EE/EJB, COM, .NET, and CCM. These profiles are provided in Chapter 10 - Modeling an Examples, Object's Lifecycle in UML 1.4

the UML 2.0 appendix to illustrate how can be customized to model component architectures. Chapter 11 - Modeling an Object's Lifecycle in UML UML 2.0 They are not Object meantBehavior to be complete, Part IV - Modeling but do specify the stereotypes that may be applied to components, interfaces, methods, associations, other model elements for each of these popular Chapter 12 - Modeling the Use of a System with the Use and Case Diagram component architectures. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 tool - Using Deployment Diagrams in UML 1.4 are modeling vendors. The most popular of these Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model Data Modeling Profile for UML

Common profiles found in industry

A number of profiles have emerged in the industry, proposed in certain books and supported by certain

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Web Application Extension (WAE) profile

Part VII - Automating the UML Modeling Process

Chapter 20 to - Using a Modeling Toolrange from between 200 and 500 pages each. While it is outside of the proposed the OMG generally Chapter 21this - Customizing UML Using Profiles scope of book to describe each of these profiles in detail, summaries of many of these profiles are Chapter 22later - XML Interchange provided in Metadata this chapter. Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

The specification of a profile is typically quite extensive. The specifications for the profiles adopted by or

How to define a profile

Glossary UML's Infrastructure library contains a Profiles package that specifies how profiles are defined. The Index Profiles package is dependent upon the Core package of the UML Infrastructure, as shown in Figure 21-2. List of Core Figures The package specifies the core concepts that you use when you model UML itself. The Profiles List of Tables package defines the mechanisms that you use to customize metamodels. List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Figure 21-2: TheCompanion Profiles package is dependent on the Core package of the UML infrastructure. Web Site Note The concepts detailed in this section are used to model a profile. When you use such concepts, you are actually modeling at the metamodel level - or performing metamodeling, if you will. You <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents are not actually modeling a real system - you are modeling additions to UML, using UML.
UML Bible Preface

The Profiles package exists outside of the UML package and outside of the MOF package. Again, you may use profiles to extend the UML metamodel, and any other MOF-based metamodel. At the same time, a Part I - An Introduction to UML profile cannot exist separately - it must be based on UML, or another metamodel that it extends, to be Chapter 1 - What Is UML? useful.
Chapter 2 - UML Architecture Chapter - UML Diagrams and Extension Mechanisms Figure 3 21-3 shows the contents of the Profiles package. It is a Class diagram that specifies the metamodel Chapter 4 - Object-Oriented Concepts of the Profile constructs that enable you to extend metamodels such as UML.
Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - 21-3: Using Contents Deployment in UML 1.4 providing the class structure of the mechanisms used Figure of Diagrams the Profiles package, Chapter 17 Representing an Architecture in UML 2.0 to extend metamodels with profiles.
Part VI - Bringing Rigor to the Model

Let's take look at each of these Chapter 18 a - Applying Constraints toclasses. the UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Package

Chapter 20 - Using a Modeling Tool

Package inherits from the Package classifier in Constructs. There is a composite relationship between the Package metaclass and the ProfileApplication metaclass. The ProfileApplication metaclass is new in UML Chapter 22 - XMLyou Metadata Interchange 2.0 - it enables to specify the profiles that have been applied to a package.
Chapter 21 - Customizing UML Using Profiles Appendix A - UML 1.4 Notation Guide Appendix ProfileB - UML 2.0 Notation Guide Appendix C - Standard Elements

Profile is a kind of Package. It uses the same notation as a Package, with the keyword profile before or Glossary above the name of the package. Index
List of Figures List of Tables

The Profile metaclass has associations with four metaclasses:

List ofProfileApplication: Listings A profile is applied to a package via a ProfileApplication. When it is applied, it

plays the role of importedProfile. Since a < profile is a kind of package (inheritance relationship), it Day Day Up > follows that a profile can be applied to another profile. Stereotype: A profile is the composite of all of its stereotypes. ElementImport: A profile also has a composite relationship to ElementImport, which plays the role of ISBN:0764526049 by Tom Pender metaclassReference. The profile defines a limited capability to extend these metaclasses.
John Wiley & Sons 2003 (940 pages) For beginning advanced users, this book provides In Figure 21-3, profile has a PackageImport: A profile to must always reference a metamodel. comprehensive coverage of the versatility of 1.4 and 2.0 UML composite relationship to PackageImport, which plays the role of metamodelReference. UML Bible

ProfileApplication metaclass

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

The ProfileApplication metaclass shows which profiles have been applied to a package, thus the name ProfileApplication. ProfileApplication is new to UML 2.0. Previously, it was not possible to know what <?xml version="1.0" encoding="ISO-8859-1"?> profiles had been applied to a package. When you apply a profile to a package, the iconic stereotypes of Table of Contents that profile become available to the model elements of the package, although you are not required to use UML Bible the verbal stereotypes.
Preface
Part I - An Introduction to UML

To model a profile applied to a package, draw a dashed line with open-stick arrow-head from the package

Chapter 1 - What Is UML? being extended to the profile being applied. Figure 21-4 shows the profiles Java and EJB being applied to Chapter 2 - UML Architecture the package On-line Reservations. The dashed line is annotated with the keyword apply. Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Figure Example the EJB profile and the Java profile being applied to the On-line Chapter 17 - 21-4: Representing anof Architecture in UML 2.0 Reservations package. Part VI - Bringing Rigor to the Model
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Applying multiple profiles

Chapter 20 apply - Using a Modeling Tool You may one or more profiles to a package. If you apply more than one profile, they must not have Chapter 21 -constraints. Customizing Using Profiles conflicting IfUML a profile that is being applied depends on other profiles, then those profiles must Chapter 22 -first. XML If Metadata Interchange be applied you apply multiple profiles and some of those profiles have stereotypes with the same Appendix A - UML 1.4 Notation Guide name, then you should qualify the stereotype with the profile name (for example, Appendix B - UML 2.0 Notation Guide Business_Modeling:Entity and Software_Development_Processes:Entity). Appendix C - Standard Elements

Removing Glossary
Index List of Figures

a profile from a package

You may also remove a profile that you have applied to a package. When you remove a profile, you do not remove the model elements that the profile was applied to - you simply remove the profile extensions. So List of Tables if you apply a Business Modeling profile to a package, and model a class Reservation with stereotype
List of Listings

Entity, then remove the profile, the class Reservation still exists, but the class no longer has the < Day Day Up > stereotype Entity applied to it. The fact that profiles are applied in this way also means that you can exchange a model to which a profile has been appliedUML in one modeling tool to another modeling tool that does not support the profile. The Bible second tool doesby not see the profile extensions, but it still seesISBN:0764526049 the core UML model elements. Tom Pender

Class

John Wiley & Sons 2003 (940 pages)

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Class has a derived association (indicated by the slash mark) to Extension. This indicates how the class specifications, and shows how to use UML to improve quality, and stereotypes. efficiency in development. may be extendedtimeliness, through one or more Class plays the role of metaclass in this association. It

may be a Class, a Use Case, a Component, and so forth. Companion Web Site You notate a class that is extended by a stereotype with the optional keyword metaclass shown above or before its name. <?xml version="1.0" encoding="ISO-8859-1"?>
Table of Contents

Stereotype UML Bible


Preface

A stereotype extends classes through extensions. In Figure 21-3, you can see that Stereotype also inherits from Class. This means that it is a kind of Class, and therefore may have properties. The stereotype's Chapter 1 - What Is UML? properties are referred to as tag definitions. When a stereotype is applied to a model element, the values Chapter 2 - UML Architecture of the properties are called tagged values. The tagged values become actual properties of the model Chapter 3 - UML Diagrams and Extension Mechanisms element.
Part I - An Introduction to UML

Chapter 4

- Object-Oriented Concepts

Part - Modeling Object Structure For II example, Figure 21-5 shows Class

extended by the stereotype Requirement. The stereotype has four

Chapter - Capturing Rulessource_document, about Objects in a Class Diagram and date_last_updated. When the profile of tagged5 definitions, author, date_entered,

this example is applied to a Rules package, and you Relationships model within that package and create a class, you are able Chapter 6 - How to Capture about Object to specify class with as being of stereotype Requirement. Once you do, the class contains the additional Chapter 7 the - Testing Objects textIII properties of author, source_document, Part - Modeling Object Interactions
Chapter 8 Chapter 9 - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

date_entered, and date_last_updated.

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram

Figure that a metaclass is extended with a stereotype during metamodeling. Chapter 16 - 21-5: Using Specifying Deployment Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams


Part VII - Class, Automating the UMLUse Modeling Process such as Component, Case, and so

A stereotype is displayed as a rectangular class symbol, with keyword stereotype placed above the name. You draw an Extends line from the stereotype class to the metaclass it extends. forth. Conversely, a metaclass can be extended by more

Chapter 19 - Action Semantics While metamodeling a profile, you may use the same stereotype to extend more than one metaclass, Chapter 20 stereotype. - Using a Modeling Tool than one Chapter 21 - Customizing UML Using Profiles

While modeling, you may Interchange attach more than one stereotype to a model element. When you do so, the Chapter 22 - XML Metadata stereotypes are listed in a comma-separated list within the normal guillemets or brackets, above the name Appendix A - UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Finally, you may alsoElements specify an icon for a stereotype, which can be displayed instead of the normal Glossary symbol used for the model element. The icon for an actor stereotype, for example, is a stick figure. Index List of Figures Extension List of Tables

of the model element's symbol.

Anof extension List Listings is the relationship line drawn between a stereotype class and a metaclass class to show

that the properties of the metaclass are extended through the stereotype. It is drawn as a straight line with < Day Day Up > a solid arrowhead (see Figure 21-5). You may specify that an extension is required. This is applied as a constraint to the Extension line, which means that an instance of a stereotype must always be linked to an instance of the metaclass. UML Bible

ExtensionEnd John Wiley & Sons 2003 (940 pages)

by Tom Pender

ISBN:0764526049

An ExtensionEndcomprehensive is a property of the Extension line. It ties one or more stereotypes to a metaclass. coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

For beginning to advanced users, this book provides

< Day Day Up >

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Modeling Profiles by Tom Pender


ISBN:0764526049

This section provides short of (940 some profiles that are either provided as examples in the UML John a Wiley &overview Sons 2003 pages) spec, have been For adopted by the or are found in the industry. beginning to OMG, advanced users, this book provides The specifications of most of these profiles are far too extensive to be covered in detail within the scope of this book. Consider this section a comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows how tothese use UML to improve guide so that youspecifications, can gain some familiarity with profiles, and the methods that they enable you to timeliness, quality, and efficiency in development. use.
Companion Web Site

UML profile for EJB


<?xml version="1.0" encoding="ISO-8859-1"?> The of UML 2.0 specification provides a very simple profile for Enterprise JavaBeans as an example of profile Table Contents

concepts UML Bible presented in the previous section. Figure 21-6 shows the metamodel presented for EJBs.
Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure 21-6: Example EJB profile provided in UML 2.0 specification.

Chapter 10 The - Modeling an Object's Lifecycle in UML Note EJB profile presented here and in1.4 the UML 2.0 specification is not a complete profile of Chapter 11 EJBs. - Modeling an Object's Lifecycle in UML 2.0how some of the profile terminology and notation is It is simply an example that shows
Part IV - Modeling used. Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

It shows that a Component is extended by a Bean stereotype, which is required. The Bean stereotype is an Chapter 13 - Modeling Behavior Using an Activity Diagram abstract type, with two subtypesArchitecture - Entity and Part V - Modeling the Application Session. Each instance of Component, therefore, must be extended by an instance of either the Entity stereotype or the Session stereotype. Remember that a Chapter 14 - Modeling the Application Architecture stereotype is a kind of class that can have properties in this case, a Session stereotype has an attribute Chapter 15 - Modeling Software Using the Component Diagram named state. This corresponds to a tagged definition whose value specifies the state of the Session. The Chapter 16 - Using Deployment Diagrams in UML 1.4 tagged value is an enumeration, StateKind, which has - either a stateless or stateful value.
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor the Model The Component has ato constraint on

it, displayed in the note attached to the Component symbol, which

Chapter 18 -a Applying Constraints the UML Diagrams states that Component cannotto be generalized or specialized. Chapter 19 - Action Semantics

The diagram also shows thatModeling an Interface metaclass Part VII - Automating the UML Process

is extended by the Remote and Home stereotypes. The EJB package has a constraint, displayed in the note that sits in the package, that states a Bean must Chapter 20 - Using a Modeling Tool realize exactly one Home interface. Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Modeling with the EJB profile

Appendix B - UML 2.0so Notation Guide All we have shown far is how to model a profile at the metamodel level. When you apply a profile in a Appendix C Standard Elements modeling tool, you do not need to model the profile or draw an apply dependency from the package you Glossary are working in to the profile. You normally turn on a profile via a selection in a dialog that the modeling tool Index presents, preferably at the package level but, depending on the modeling tool, sometimes at a project List of Figures level. List of Tables

The tagged values, and constraints applied by the profile become apparent to you as you List of stereotypes, Listings

model.Figure 21-7 shows part of a UML Component diagram. With the EJB profile applied to the package < Day Day Up > in which this diagram is being drawn, certain new choices become available. Figure 21-7 shows how you may specify the stereotype of a component as either Session or Entity. Note that Bean is not provided as a choice; as mentioned in the previous section, Bean is a generalization of Session and Entity.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 4

Figure 21-7: With the EJB profile applied to the package in which you are modeling, new choices for stereotypes become available for a component.
- What Is UML? - UML Architecture - Object-Oriented Concepts

Chapter 3 - UML for Diagrams and Extension MechanismsProcesses UML Profile Software Development

The UML Profile Object for Software Development Part II - Modeling Structure

Processes is provided as an example profile in the UML 1.4

specification itself. The profile is used with the Rational Unified Process (RUP), and has its origins in the Chapter 5 - Capturing Rules about Objects in a Class Diagram work of6Ivar Jacobson. It is also used with other UML-based business modeling methods, such as the Chapter - How to Capture Rules about Object Relationships
Chapter 7

ICONIX Unified Modeling Approach. - Testing with Objects

Part III - Modeling Object Interactions

Chapter 8 -toward Modeling Interactions in UML 1.4 steers you grouping your models into four general categories - UseCase, Analysis, Design, and Chapter 9 - Modeling you Interactions UML 2.0 Implementation-that apply toin models, packages, and subsystems. For example, the UseCaseModel Chapter 10 -is Modeling Object's Lifecycle package in UML 1.4 stereotype applied an to the highest-level for the Use Cases representing your business analysis. Chapter 11 - specifies Modeling that an Object's Lifecycle in UML classes 2.0 The profile associations between and Use Cases can be stereotyped as
Part IV - Modeling Object Behavior Communicate and Subscribe.

The profile is defined only through stereotypes and constraints; no tagged values are specified. The profile

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Most recognizable toBehavior readers Using are the stereotypes specified for classes: Boundary, Control, and Entity. Chapter 13 - Modeling an Activity Diagram Table describes these stereotyped classes, Part V - 21-1 Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Table 21-1: UML Profile for Software Development Processes Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

and provides the iconized notation for each.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Type

Stereotype

Description

< Day Day Up >

Icon

Class

Boundary A Boundary Class sits at the boundary to a UML Bible system, and is an interface between actors ISBN:0764526049 by Tom Pender outside the system and the classes within the John Wiley & Sons 2003 (940 pages) system, such as entity, control, and other For beginning to advanced users, this book provides boundary classes. In Jacobson's early work, it UML comprehensive coverage of the versatility of 1.4 and 2.0 was called an interface class, but name was specifications, and shows how to use UML tothe improve timeliness, quality,so and efficiency in confused development. changed that it wasn't with a component Companion Web interface. Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Class Control The objects of a Control Class control the UML Bible interaction between other class objects. The Preface Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects
Part I - An Introduction to UML the Use

behavior of a Control Class is usually specific to Case for which it is modeled.

Part II - Modeling Object Structure

Part III - Modeling Class Entity Object Interactions An Entity Class

is a passive class - objects of

- Modeling Interactions in UML work 1.4 with it or on it. The Entity other classes - Modeling Interactions in UML Class does not2.0 initiate interactions on its own. It

is usually persistent, in1.4 that it stores information Chapter 10 - Modeling an Object's Lifecycle in UML and exists after in any Use Case realization that it is Chapter 11 - Modeling an Object's Lifecycle UML 2.0 in finishes. Part IV - Modeling Object Behavior
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams


Part VII - Automating the UML Modeling Process

Chapter 19 - Action Semantics 8 shows the interaction of several business-level classes in what the ICONIX process calls a Robustness

Using icons to distinguish stereotyped classes helps you to visually communicate design ideas. Figure 21diagram - a Use Case diagram on which you delve into object interactions. Jacobson called this an Ideal

Chapter - Using Modeling Tool Object 20 diagram inahis work in the early '90s. The ICONIX process puts forth additional constraints on these Chapter 21 - Customizing UML Using Profiles classes, for example that you cannot draw an association between two Entity classes. In the example Chapter - XML Metadata shown 22 in Figure 21-8, thisInterchange means that you cannot draw an association between Reservation and Room. Appendix A - UML 1.4 Notation Guide Only a Control class, such as Manager, or a Boundary class, such as Reception, can interact with an entity Appendix B - as UML 2.0 Notation Guide class such Room. These constraints force you to build correctness into your models. Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

beginning to advanced this book provides Figure 21-8:For Example of special icons users, for Boundary Class, Entity Class, and Control Class specified comprehensive coverage of the versatility of 1.4 and 2.0 UML by the UML Profile for Business Modeling. specifications, and shows how to use UML to improve

The iconized form of stereotyped elements is also applied to other diagrams, such as the Sequence Companion Web Sitediagram with an interaction between instances of the classes diagram. Figure 21-9 shows a Sequence from the Robustness diagram in Figure 21-8. The object lifelines are displayed in their iconized form, with the icon placed at encoding="ISO-8859-1"?> the top of the object lifeline. <?xml version="1.0"
Table of Contents UML Bible Preface
Part I - An Introduction to UML

timeliness, quality, and efficiency in development.

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

- Modeling Interactions in UML 2.0 Figure Example of special icons Boundary Class, Entity Class, and Control Class applied to Chapter 10 - 21-9: Modeling an Object's Lifecycle in for UML 1.4

instances of classes on a Sequence diagram. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part VUML - Modeling Architecture The Profilethe for Application Business Modeling also

UML Profile for Business Modeling

is provided as an example profile in the UML 1.4 specification

Chapter - Modeling the Application Architecture itself. It14 is defined only through stereotypes and constraints; there are no tagged values. Chapter 15 - Modeling Software Using the Component Diagram

This profile a simple example of how in UML may Chapter 16 - is Using Deployment Diagrams UML 1.4 be applied for business modeling, based again on work
Chapter 17 - Representing an Architecture in UML 2.0

done by Ivar Jacobson. The profile specifies that a model can be stereotyped to UseCaseModel or ObjectModel, packages within them stereotyped as UseCasePackage or UseCaseSystem, and Part VI - Bringing Rigor to the Model subsystems within them categorized as WorkUnit, OrganizationUnit, or ObjectSystem. Chapter 18 - Applying Constraints to the UML Diagrams Associations are stereotyped as either Communicate or Subscribe. Classes are stereotyped as Chapter 19 - Action Semantics shown in Table 21-2. The table shows icons that have been specified for particular class stereotypes. For Part VII - Automating the UML Modeling Process example, if you specify that a class is of stereotype Worker, you may show it in its normal rectangular form Chapter 20 - Using a Modeling Tool with the word Worker placed above the name, or show the class by its special icon.
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Table 21-2: UML Profile for Business Modeling

Type

Stereotype

Description

< Day Day Up >

Icon

Class

Worker A Worker class represents a human UML Bible worker in a system. Worker objects ISBN:0764526049 by Tom Pender interact with other John Wiley & Sons 2003 (940Worker pages) objects and manipulate objects of Entity classes.
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Worker Site An Internal class is a subclass

Class

of a Worker class - it is a specialization of a Worker class. It is <?xml version="1.0" encoding="ISO-8859-1"?> found inside the system, and interacts Table of Contents with other workers and entities inside UML Bible the system. Preface
Part I - An Introduction to UML

Internal Worker

Chapter Class 1 Chapter 2

- What Is UML? A Case Worker class is a subclass of Case Worker Worker class - it is a specialization of - UML Architecture Worker class. Similar to a Boundary Chapter 3 - UML Diagrams a and Extension Mechanisms class, it interacts directly with actors Chapter 4 - Object-Oriented Concepts outside the system. Part II - Modeling Object Structure Chapter 5 Chapter 6 - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

Class 7 Chapter

Entity An Entity Class is passive - objects of - Testing with Objects other classes work with it or on it. The Part III - Modeling Object Interactions Entity Class does Chapter 8 - Modeling Interactions in UML 1.4 not initiate interactions on its own. It is usually Chapter 9 - Modeling Interactions in UML 2.0 persistent, in that it stores information Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 and exists after any Use Case Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 realization that it is in finishes.
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

UML Profile for Enterprise Application Integration (EAI)

Chapter 14 - Modeling the Application Architecture

Enterprise Integration (EAI) building new applications by coupling existing applications Chapter 15 -Application Modeling Software Using the involves Component Diagram that may built in different languages and exist Chapter 16be - Using Deployment Diagrams in UML 1.4on different platforms. The UML Profile for EAI specifies
Chapter 17 - Representing an Architecture in UML 2.0

mechanisms that enable you to model this coupling. The full specification for EAI is more than 300 pages. It is titled UML Profile and Interchange Models for Enterprise Application Integration (EAI) (OMG document Part VI - Bringing Rigor to the Model ptc/02-02-02). This section provides an overview of this profile.
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Why do you need EAI?

Chapter 20 - Using a Modeling Tool Business-to-consumer and business-to-business commerce on the Internet is forcing corporations to Chapter - Customizing UML Using Profiles rethink 21 their business processes and the existing applications that support them. Companies want to make Chapter 22 - XML Metadatasupport Interchange their legacy applications new business processes and integrate with new applications in short Appendix A - idea UML is 1.4 Notation Guide order. The not to redesign the legacy applications, but to simply make them work with new

applications and 2.0 each other in support of new business processes. Appendix B - UML Notation Guide
Appendix C - Standard Elements Glossary

This integration is done through messaging that provides a loose coupling between the applications. However, that is difficult because there is usually a need to customize each connection that ties different Index applications together, especially since the applications are generally built in different languages, and exist List of Figures on different operating systems and platforms.
List of Tables List of UML Listings The Profile for EAI specifies a standard for the metadata that is exchanged between applications.

This enables you to design the integration points between legacy applications. Using the EAI profile, you < Day Day Up > model at the application architecture level, designing the interfaces and interactions among legacy and new applications. The EAI specification both a UML Profile and a MOF-based EAI metamodel for implementing EAI UML provides Bible modeling. Theseby are alternative enables support of the EAI profile by Tom Pender approaches. The UML ProfileISBN:0764526049 modeling tools. The MOF-compliant metamodel enables support of EAI by MOF-based repository tools John Wiley & Sons 2003 (940 pages) and tools built specifically for EAI. In this book, we cover the UML Profile. For beginning to advanced users, this book provides
specifications, and shows how to use UML to improve Special Notations of the EAI Profile timeliness, quality, and efficiency in development. comprehensive coverage of the versatility of 1.4 and 2.0 UML

The EAI profile does not define any special notations or icons for any UML classifiers. Stereotypes are Companion Web Site specified for various model elements. It is left to the user to specify any special icons.
<?xml version="1.0" encoding="ISO-8859-1"?> UML EAI subprofiles Table of Contents

The UML Profile for EAI provides two profiles, which can be thought of as subprofiles. They can be used UML Bible together or separately, depending on the amount of modeling being done, and the focus of the modeling Preface effort: Part I - An Introduction to UML
Chapter 1 Chapter 2 Chapter 3

Collaboration Modeling Profile, which enables modeling of the structure and semantics of - UML Architecture collaboration between two applications, and the message flows between them.
- UML Diagrams and Extension Mechanisms

- What Is UML?

Chapter 4 - Object-Oriented Concepts Activity Modeling Profile, which enables you to design models that show the high-level control and
Part II - Modeling Objectfor Structure data flow required integration

of two applications.

Chapter 5 Chapter 7 Chapter 8

- Capturing Rules about Objects in a Class Diagram

Collaboration Modeling Profile of EAI Chapter 6 - How to Capture Rules about Object Relationships
Part III - Modeling Object Interactions

- Testing with Objects The Collaboration Modeling Profile of EAI specifies extensions to UML Class and Collaboration diagrams to notate EAI models, as follows: - Modeling Interactions in UML 1.4

Chapter 9 - Modeling Interactions UML 2.0 between applications are notated by appropriate stereotypes Terminals. Different kinds ofin terminals

on 10 a class, for example, input for input terminals and output for output terminals. Chapter - Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Operators. An application can be thought of as an operator that works on data input to it through input terminals and outputs information through output terminals. The EAI Profile provides class stereotypes Chapter 12 - Modeling the Use of a System with the Use Case Diagram to denote different kinds of operators. The list of operators includes the primitive operator (which has Chapter 13 - Modeling Behavior Using an Activity Diagram no internal structure of interest - it's used to model a system application), transformers, database Part V - Modeling the Application Architecture transformers, filters, streams, post daters, source adapters, target adapters, call adapters, Chapter 14 - Modeling the Application Architecture request/reply adapters, sources and queued sources, sinks and queued sinks, aggregators, timers, Chapter 15 - Modeling Software Using the Component Diagram routers, subscription operators, publication operators, topic publishers, and compound operators.
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model formats of those terminals. You

Chapter 17use - Representing an Architecture in UML 2.0and their input and output terminals, and the message You a Class diagram to model operators

may also define the operations performed by the operator when

manipulating incoming messages to generate outgoing messages. Figure 21-10 shows an example Chapter 18 - Applying Constraints to the UML Diagrams Class diagram for a primitive operator, with input and output terminals. Chapter 19 Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1

- What Is UML?

Chapter 2 Figure - UML 21-10: Architecture One example of stereotypes called out by the UML Profile for EAI - a Class Chapter 3 diagram - UML Diagrams and Extension for a primitive operator,Mechanisms with input and output terminals, and message content passed Chapter 4 through - Object-Oriented Concepts the terminal.
Part II - Modeling Object Structure

You Collaboration to show how individual Chapter 5 use - Capturing Rules diagrams about Objects in a Class Diagram components, such as filters, terminals, and so on, connected. Chapter 6are - How to Capture Rules about Object Relationships
Chapter 7

Resources. Resources are things that operators use to do their job, but which are not themselves operators. The profile declares three specific resources: databases, queues, and subscription tables. Chapter 8 - Modeling Interactions in UML 1.4 Resources are defined as classes with stereotype Database, Queue, or SubscriptionTable, or Chapter - Modeling Interactions in UML 2.0 for9 anything else, simply Resource.
Part III - Modeling Object Interactions

- Testing with Objects

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Message formats. A message format is denoted by a class with a stereotype specified for each of the Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 different kinds of message format. Part IV - Modeling Object Behavior In Figure 21-10, you see two classes - Y1 and Y2 - specified as classes of stereotype MessageContent. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

The EAI profile uses an example of a brokerage system throughout its specification. This example is pictured in Figure 21-11. The Online Brokerage system is represented by a package that contains an Chapter 14 - Modeling the Application Architecture International Brokerage server and an Investment Manager Server. The International Brokerage Server Chapter 15 - Modeling Software Using the Component Diagram interrelates with an external Investment Manager System via http. The Investment Manager Server Chapter 16 - Using Deployment Diagrams in UML 1.4 interrelates with an external International Brokerage System via TCP/IP. Both the International Brokerage Chapter - the Representing anManager Architecture in UML 2.0 orders to a common format and route them through a Server 17 and Investment Server convert Part VI - Bringing Rigor to the Model Middleware Server to a Back-End Brokerage System, where they are processed. The Back-End Chapter 18 - System Applying Constraints to the UML Diagrams Brokerage routes the processed orders through a Publish and Subscribe (Pub/Sub) Server to Chapter - Action Semantics back to19 either the International Brokerage Server or the Investment Manager Server, depending on which Part VII - Automating provided the order. the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> 21-11: Example of on-line brokerage provided by EAI Profile. Table Figure of Contents UML Bible Preface

Figure 21-12 shows an example taken from the EAI specification showing how the online brokerage can be modeled as classes with specific EAI stereotypes. OnlineBrokerage is a compound operator that is a Part I - An Introduction to UML composite of the other application operators. Notice that MiddlewareServer is a primitive operator - it has Chapter 1 - What Is UML? no internal structure of interest in this view. The BackEndBrokerageSystem is shown as a compound Chapter 2 - UML Architecture operator that is a composite of other classes not shown here. The figure shows its input and output Chapter 3 - UML Diagrams and Extension Mechanisms terminals. It receives OrderInput (from the MiddlewareServer, the connection not shown here), processes Chapter 4 - Object-Oriented Concepts the order, adds ownership information, and outputs the order to the Pub/Sub Server (connection not Part II - Modeling Object Structure shown here). Remember this is the Class diagram that shows the logic of the couplings; it does not show Chapter 5 - are Capturing Rules about Objects in a Class Diagram how things actually connected. You would use a Collaboration diagram, with appropriate stereotypes Chapter 6 How to Capture Rules about Object Relationships provided by the EAI Profile, to model actual connections.
Chapter 7 Chapter 8 Chapter 9 - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0

Figure 21-12: Example of a Class diagram for a compound operator with compound components.

Chapter 18 - Applying Constraints to the UML Diagrams Activity Modeling Profile for EAI Chapter 19 - Action Semantics

There two ways to model the coupling between Part VIIare - Automating the UML Modeling Process

applications. You can model the structure of the coupling and the message passing, using the Collaboration Profile described earlier, or you can model the Chapter 20 - Using a Modeling Tool process flow of how the applications pass information between each other, using the Activity Modeling Chapter 21 - Customizing UML Using Profiles Profile. Modeling the process flow enables you to find the integration points of the applications that need to Chapter 22 - XML Metadata Interchange be implemented.
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation The Activity Modeling Profile Guide for EAI specifies stereotypes and tagged values that are applied to action Appendix C Standard Elements states and transitions of the Activity diagram. The profile provides examples of modeling message flow Glossary and control flow for system integration processes. Index

Conformance List of Figures


List of Tables List of Listings

to EDOC's CCA Profile

The EAI Profile conforms to the CCA Profile of the EDOC, described in the next section, which specifies

component composition and communication. < You can use the CCA Profile notations to describe EAI Day Day Up > systems. An example of using the notations of the CCA Profile for the online brokerage system is provided in the EAI specification.
UMLMappings Bible Implementation by Tom Pender
ISBN:0764526049

The EAI Profile isJohn for logical modeling of EAI couplings. The profile also provides mappings to various Wiley & Sons 2003 (940 pages) technologies andFor tools appropriate to integration, such as message beginning to advanced users, this book provides brokers. Example mappings to IBM's WebSphere MQ Integrator message broker product and to Message Service (JMS) specification comprehensive coverage of the versatility of the 1.4 Java and 2.0 UML specifications, and Profile shows how use UML to improve of J2EE 1.3 are provided. The EAI alsoto provides example language mappings for data structures timeliness, quality, The and languages efficiency incovered development. representing connector interfaces. are COBOL, PL/1, C, and C++. Additional metamodels are provided for mappings to Enterprise Application System domains such as IBM's IMS Companion Web Site Transaction Message, IMS Message Format Service (MFS), and CICS Basic Mapping Support (BMS).
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

UML Profile for Enterprise Distributed Object Computing (EDOC)

The UML Profile for Enterprise Distributed Object Computing (EDOC) specifies extensions to UML to model integrated enterprise systems, including business modeling, application modeling, and data Part I - An Introduction to UML modeling. Part of its purpose is to enable the modeling of business components - components that Chapter 1 - What Is UML? capture business processes - so that you can build business systems by assembling enterprise Chapter 2 - UML Architecture components. One of the goals of EDOC is to enable a business component marketplace, where you can Chapter 3 - UML Diagrams and Extension Mechanisms buy off-the-shelf business components and assemble them to build integrated enterprise systems. The Chapter - Object-Oriented EDOC 4 is described in detailConcepts in the document titled UML Profile for Enterprise Distributed Object Computing Part II - Modeling Object Structure (EDOC) (OMG document ptc/02-02-05). This section provides a brief overview of EDOC.
Chapter 5 Chapter 7 - Capturing Rules about Objects in a Class Diagram - Testing with Objects Chapter 6 -you How need to Capture Rules about Object Relationships Why do EDOC?

Many are coming to the realization Part IIIbusinesses - Modeling Object Interactions

that to properly capture the information about business

systems, to efficiently build and manage Chapter 8 and - Modeling Interactions in UML 1.4 the enterprise, you need to understand the functions of the business, business process work-flow that achieves those functions, and the applications and Chapter 9 the - Modeling Interactions in UML 2.0 databases implement thoseLifecycle functions. of1.4 these models should be aligned and integrated, so that Chapter 10 -that Modeling an Object's in All UML you can properly assess the effects of change on the business. Better yet, if these systems are componentized at both the business and application levels, you can build a system by assembling and Part IV - Modeling Object Behavior integrating the proper off-the-shelf components.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V Modeling the Application Architecture XML, Soap, Java, EJBs, and .NET. What is still

Chapter 13 - Modeling Behavior Using an Activity Diagram The technology for enterprise-scale, multiplatform components is becoming a reality with the arrival of

not available is a way to componentize the business

Chapter 14 - and Modeling the Application processes, a systematic way toArchitecture build integrated systems with these components. Chapter 15 - Modeling Software Using the Component Diagram

EDOC 16 provides a Deployment way to model and build business Chapter - Using Diagrams in UML 1.4 process components. It introduces the concept of a process component, andan provides necessary extensions to UML to model it. EDOC also specifies Chapter 17 - Representing Architecture in UML 2.0 extensions to UML to allow aModel loosely-coupled Part VI - Bringing Rigor to the
Chapter 19 - Action Semantics

integration between process components and application

components and data structures. Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

The EDOC profile specifies these extensions at the platform independent model (PIM) level, so that the business components can be built independent of the choice of technology and middleware.

Chapter - Customizing UML for Using Profiles contains What 21 the UML Profile EDOC Chapter 22 - XML Metadata Interchange

The UML for Notation EDOC contains Appendix A Profile - UML 1.4 Guide the following:
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary

The Enterprise Collaboration Architecture (ECA) Profile provides the core of the EDOC extensions. The ECA Profile itself contains five profiles, described in the next section.

Index A Patterns Profile, which provides a standard means to express object models for EDOC systems. List of Figures

set of technology-specific metamodels, which allow the definition of Platform Dependent Models List ofA Tables
List of(PSMs) Listings as defined by the MDA. The technology-specific metamodels include a Java metamodel and

an Enterprise JavaBeans metamodel (from EJB 1.1). The Java metamodel is not a complete < Day Day Up > metamodel of the Java language; it is intended to provide sufficient details to support the EJB development life cycle of creation, assembly, and deployment of Enterprise JavaBeans.
UML Bible The Enterprise Collaboration Architecture (ECA) Profile by Tom Pender
ISBN:0764526049

The ECA specifies technology-independent elements of the profile. It contains five profiles, John Wiley & Sons 2003 (940modeling pages) which can be thought of as subprofiles: For beginning to advanced users, this book provides The Component Collaboration Architecture Profile specifications, and shows how to (CCA) use UML to improve
timeliness, quality, and efficiency in development. comprehensive coverage of the versatility of 1.4 and 2.0 UML

The Business Process Profile The Entity Profile

Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> The Events Profile Table of Contents UML Bible The Relationships Profile Preface

The Profile Part I CCA - An Introduction to UML


Chapter 1 Chapter 2

The Component Collaboration Architecture (CCA) Profile enables you to model enterprise systems as a - UML Architecture set of reusable components, both at the business level and the technology level. The CCA Profile Chapter 3 - UML Diagrams and Extension Mechanisms introduces new notation to model business components, and specifies stereotypes, tagged values, and Chapter 4 - for Object-Oriented Concepts constraints use with UML Class, Collaboration, and Activity diagrams to model the structure and Part II - Modeling Object Structure behavior of the logical business components of a system.
Chapter 5 - Capturing Rules about Objects in a Class Diagram One of 6 the- key new elements to the profile is the concept of a ProcessComponent. A ProcessComponent Chapter How to Capture Rules about Object Relationships

- What Is UML?

is a business process component. It "does something" in the system. At a high level of abstraction, a Chapter 7 - Testing with Objects ProcessComponent might represent Part III - Modeling Object Interactions a business partner. At a lower level of abstraction, a ProcessComponent represent business activities. The CCA Profile specifies a notation for the Chapter 8 - Modeling might Interactions in UML 1.4 ProcessComponent, shown in Figure 21-13. Chapter 9 - Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - 21-13: Using Deployment Diagrams in UML 1.4 Figure The notation for a ProcessComponent. Chapter 17 - Representing an Architecture in UML 2.0

The ProcessComponent is notated Part VI - Bringing Rigor to the Model

as a subsystem package symbol containing input and output ports. It

uses these to interact with to other The simplest kind of port is the flow port, Chapter 18 - ports Applying Constraints the ProcessComponents. UML Diagrams which produces orSemantics consumes a single data type. Flow ports are displayed as arrows going through the Chapter 19 - Action package boundary box. Figure 21-13, both Receives Part VII - Automating the In UML Modeling Process and Sends are flow ports. Flow ports that send information, such as Sends in the figure, have a solid black background. Flow ports that receive Chapter 20 - Using a Modeling Tool information have a white background. Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix Ainformation - UML 1.4 Notation Guide the port than a flow port can. The flow port allows only unidirectional complex to go through Appendix B UML 2.0 Notation Guide data flow. Protocol ports enable a complex conversation between components based on a protocol.

The ProcessComponent also may contain protocol ports and operation ports. These ports enable more

Appendix CStandard Elements Operation ports represent typical request/response or call/return operations. Protocol ports and operation Glossary ports are boxes going through the package boundary box. In Figure 21-13, Responder and Initiator are Index protocol ports. List of Figures

You also design the choreography of port activities, or the order in which actions of the Process List of may Tables
List of Listings

Component's ports do something, such as sending or receiving messages or initiating subprotocols. The

CCA Profile specifies extensions to UML State Machine and Activity diagrams to enable modeling of port < Day Day Up > choreography. A ProcessComponent can have a Property definition, notated at the bottom of the ProcessComponent symbol. You use UML this box to specify any configuration parameters of the component when it is used. You Bible specify the name, type, default value (if any) of the configuration parameter in separate cells. You ISBN:0764526049 by Tomand Pender may specify more than one configuration parameter, by adding additional rows. John Wiley & Sons 2003 (940 pages) The type of the ProcessComponent is represented as an icon to the right of the name in the comprehensive coverage of the versatility of 1.4 and 2.0 UML ProcessComponent package - and in Figure generic "t"improve for type is notated. specifications, shows21-13, how toa use UML to
timeliness, quality, and efficiency in development. For beginning to advanced users, this book provides

The ProcessComponent notation describes what the ProcessComponent looks like to the outside world. Companion Web Site To model its behavior, you model the composition of the ProcessComponent inside the symbol. The ProcessComponent may include subcomponents-each is called a Usage. When a ProcessComponent is made up of subcomponents, it is considered a Composite Component. Within a Composite Component, <?xml version="1.0" encoding="ISO-8859-1"?> you model how the components are used. Figure 21-14 shows a Composite Component with internal Table of Contents Usage components. UML Bible
Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Figure Composite Component Chapter 11 - 21-14: Modeling an Object's Lifecycle in notation UML 2.0 containing internal Usage ProcessComponents.
Part IV - Modeling Object Behavior

The CCA Profile also introduces the concept of Community Components, and specifies a notation for them. The notation is similar to the Composite Component symbol, but without the port boxes. A Chapter 13 - Modeling Behavior Using an Activity Diagram Community Component is a model of how a set of large-grain components works together for some Part V - Modeling the Application Architecture purpose.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram As an alternative to the notations defined in the CCA Profile, you may also use normal UML notations, Chapter 16 Using Deployment Diagrams in UML 1.4 applying appropriate stereotypes. For example, the ProcessComponent notation may be replaced by a Chapter 17 - Representing an Architecture in UML class of stereotype ProcessComponent, with2.0 associations to classes representing its ports, discerned by
Part VI - Bringing Rigor to protocol the Model port, stereotypes flow port,

and operation port. The composition of Composite

Chapter 18 - Applying Constraints to the UML Diagrams Components and ProcessComponents may be modeled using Collaboration diagrams, with appropriate

extensions by the CCA Profile. Chapter 19 - specified Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles The Business Process Profile specifies extensions to UML to model business processes in the context of Chapter 22 XML Metadata Interchange the components and entities described in the other profiles of CCA. The profile supports the modeling of Appendix A processes, - UML 1.4 Notation Guideindividual tasks, iterations of tasks, time expressions such as deadlines business subactivities, Appendix B - UML Notation Guide and durations of 2.0 tasks, and so forth. It specifies three main model elements: Appendix C - Standard Elements

Business Process Profile

BusinessProcess Glossary
Index List of Figures List ofActivity Tables List of Listings

CompoundTask

A BusinessProcess represents a complete process specification. It contains CompoundTasks, which < Day Day Up > contain activities. You may represent a BusinessProcess by a ProcessComponent symbol as described in theprevious section. Activities are the UML most Bible elemental pieces of work required to complete a process. You model activities in terms of who is responsible for them, who performs them, what artifacts they work on or produce, and ISBN:0764526049 by Tom Pender their pre- and post-conditions. CompoundTasks are containers for a set of activities and DataFlows used John Wiley & Sons 2003 (940 pages) to interconnect them. For beginning to advanced users, this book provides The Business Process Profile introduces notation for Activities, and for ProcessRoles that interact with specifications, and shows a how to use UML to improve timeliness, quality, and efficiency in development. the notation used is a derivative of them, as shown in Figure 21-15. Similar to a ProcessComponent, UML's subsystem package notation. An icon that looks like a box with a lollipop coming out of the top is Companion Web Site used to denote that the package represents an activity; it is placed to the right of the package name in the name tab, also shown in Figure 21-15. Boxed arrows drawn into and out of the package symbol represent <?xml version="1.0" encoding="ISO-8859-1"?> ProcessMultiPorts, with the horizontal lollipop symbol within them representing individual process flow Table ofThere Contents ports. are three types of port groups:
UML Bible Preface
Part I - An Introduction to UML

comprehensive coverage of the versatility of 1.4 and 2.0 UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior Boxed arrows with rectangular

Figure 21-15: Notation of a Business Activity as specified by the Business Process Subprofile of the EDOC. edges, which represent synchronous port groups.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Boxed with a rounded side, which represent Chapter 13 - arrows Modeling Behavior Using an Activity Diagram asynchronous port groups.
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Boxed arrows with a triangular side, which represent exception groups.

Chapter 15 - Modeling Software Using the Component Diagram ProcessRoles are drawn as octagons and are attached to the Business Activity by associations - by Chapter 16 Using Deployment Diagrams in UML 1.4 performedBy, usesArtifact, or responsibleFor associations. Chapter 17 - Representing an Architecture in UML 2.0

The Business Process Profile also introduces Part VI - Bringing Rigor to the Model

a notation for a CompoundTask. It is similar to an Activity,

but with no attached. It is denoted by a special icon to the right of the name in the package's Chapter 18 - ProcessRoles Applying Constraints to the UML Diagrams name tab-the icon Semantics is that of two boxes with a flow arrow between them, as shown in Figure 21-16. Chapter 19 - Action
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

Figure 21-16: Example of a CompoundTask that contains internal Activities.

List of Business Figures Process Profile presents several patterns of commonly occurring CompoundTasks. Figure The List of Tables 21-16 shows an example of one of these patterns, and at the same time is an example of a typical List of Listings CompoundTask, and how it is a container for a set of Activities. This particular CompoundTask shows the

modeling of a while loop. Entity Profile

< Day Day Up >

The Entity ProfileUML specifies extensions to UML to model entity objects as components. At a base level, data Bible modeling is enabled through application of stereotypes such as entity applied to classes, and stereotypes ISBN:0764526049 by Tom Pender such as key attribute, key element, and foreign key are applied to class attributes. At a higher level, new John Wiley & Sons 2003 (940 pages) concepts are introduced, such as EntityRole, which extends an entity based on the role it has in a business For beginning to advanced users, this book provides situation, and DataManager, which specifies port access for entity components. comprehensive coverage of the versatility of 1.4 and 2.0 UML Events Profile timeliness, quality, and efficiency in development.
specifications, and shows how to use UML to improve

Companion Web Site The Events Profile specifies extensions to UML that can be used to model event-driven systems. This is an optional subprofile of the ECA Profile. It provides various stereotypes, tagged values, and constraints to enable modeling of event-driven process architectures, and publish-and-subscribe information <?xml version="1.0" encoding="ISO-8859-1"?> architectures. Table of Contents UML Bible Preface

Relationships Profile extensions to the UML core facilities that support the need for rigorous

Part I Relationships - An Introduction to UML The Profile describes

Chapter 1 - What Is UML? in general and in business modeling and software modeling in particular. relationship specification Chapter 2 Chapter 3 Chapter 4 - UML Architecture - Object-Oriented Concepts - UML Diagrams and Extension Mechanisms UML Profile for Schedulability, Performance, and Time

Part II - Modeling Structure The UML Profile Object for Schedulability,

Performance, and Time provides extensions to UML to support the

Chapter 5 of - Capturing Rules about systems. Objects inThe a Class Diagram modeling all kinds of real-time profile supports a broad range of real-time systems,

including real-time systems, real-time systems, distributed and centralized systems, fault-tolerant Chapter 6 soft - How to Capture Rules hard about Object Relationships and non-fault-tolerant systems, Chapter 7 - Testing with Objects and so forth. The profile is described in detail in the document titled UML Profile for Schedulability, Performance, Part III Modeling Object Interactions
Chapter 9

and Time (OMG document ptc/02-03-02). This section provides a

brief overview of the profile. Chapter 8 - Modeling Interactions in UML 1.4


Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

The profile is broken down into major areas of real-time analysis, as specified in the package structure shown in Figure 21-17.

- Modeling Interactions in UML 2.0

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Figure 21-17: Structure of the Schedulability, Performance, and Time Profile. Index List of Figures

General List of TablesResource


List of Listings

Modeling Framework

The General Resource Modeling Framework < is Day the core framework for modeling real-time systems with Day Up > UML. It contains three subprofiles: Real-Time Resource Modeling, Real-Time Concurrency Modeling, and Real-Time Time Modeling. The Real-Time Resource Modeling Profile specifies extensions to UML models to capture information UML Bible concerning time and time values, events in time, time-related stimuli, and timing mechanisms such as ISBN:0764526049 by Tom Pender clocks and timers. John Wiley & Sons 2003 (940 pages)

Schedulability Analysis coverage of the versatility of 1.4 and 2.0 UML comprehensive
specifications, and shows how to use UML to improve timeliness, and efficiency development. The Schedulability Analysis quality, (SA) Profile provides in extensions to model and calculate the schedulability of a system, including its ability to meet all of the deadlines defined for individual scheduling jobs. Stereotypes Companion Web Site and tagged values are applied to a broad range of UML models, including Class, Sequence, and Activity diagrams. All stereotypes and tag values of the schedulability profile are prefixed with an "SA" to avoid <?xml version="1.0" confusion with tag encoding="ISO-8859-1"?> values of other profiles. By applying the SA Profile and inputting appropriate information Table of Contents into the models, you typically analyze the system under several scenarios using different parameter values UML Bible to see how the system can be improved. for each Preface
Part I - An Introduction to UML

For beginning to advanced users, this book provides

Performance Analysis

Chapter 1 Chapter 3

- What Is UML? The Performance Analysis Profile provides extensions to estimate the performance of a system, and to Chapter 2 - UML Architecture

run simulation against UML models. Stereotypes and tagged values are applied to UML Class, - UML Diagrams and Extension Mechanisms Collaboration, Sequence, and Activity diagrams. Simulation enables you to see how the system can be Chapter 4 - Object-Oriented Concepts improved by identifying bottlenecks or critical resources. All stereotypes and tag values of the performance Part II - Modeling Object Structure analysis profile are prefixed with a "PA" to avoid confusion with tag values of other profiles.
Chapter 5 Chapter 6 Chapter 7 Chapter 8 - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

UML Testing Profile - Testing with Objects

Part III - Modeling Object Interactions

The UML Testing Profile extends UML so that you may model information on testing your systems. The - Modeling Interactions in UML 1.4 specification provides both a UML Testing Profile and an alternative MOF metamodel for testing. The Chapter 9 - Modeling Interactions in UML 2.0 profile is described in detail in the document titled UML Testing Profile (OMG document ad/01-07-08). This Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 section provides a brief overview of the profile.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling The UML TestingObject ProfileBehavior specifies

a set of stereotypes, tagged values, and constraints that are applied to

Chapter 12 - Modeling the Use of a System with diagrams the Use Case Diagram Class, Collaboration, Sequence, and Activity to specify the structure of tests and the workflow of Chapter 13 - Modeling Behavior Using an Activity Diagram specific tests. It is applied to enable you to specify tests at various levels, including unit level test cases,
Part V - Modeling the Application Architecture integration and system-level tests, and cross-enterprise

level tests.

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

The profile itself is divided into five subpackages (shown in Figure 21-18):

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 4 Chapter 5 Chapter 6

Figure 21-18: Basic structure of the UML Testing Profile. Each package contains the metamodel of a - What Is UML? profile for a specific area of testing.
- UML Architecture - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram

Chapter 3 Architecture - UML Diagrams and Extension Mechanisms Test


Part II - Modeling Test Data Object Structure

Test Behavior - How to Capture Rules about Object Relationships

Chapter 7 Concepts - Testing with Objects Time


Part III - Modeling Object Interactions

Chapter 8 Deployment - Modeling Interactions in UML 1.4 Test Chapter 9

For a UML modeling tool to support the Testing Profile, it must at least support the Test Architecture, Test Behavior, and Test Data packages. Support of the Time Concepts package and the Test Deployment Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 package is optional.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior

- Modeling Interactions in UML 2.0

Chapter 12 - Modeling Use of a System with the Use Case Diagram In the Testing Profile the specification, each of these packages contains a metamodel expressed as a Class Chapter 13 Modeling Behavior Using an Activity Diagram diagram, which presents the metamodel extensions. The following sections provide brief overviews of the
Part V - Modeling the Application Architecture extensions specified in these packages.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Test Architecture Chapter 16 - Using Deployment Diagrams in UML 1.4

The Test package and metamodel specify the structural aspects of a test suite. At the heart of Chapter 17 Architecture - Representing an Architecture in UML 2.0 this VI is the test suite, which specifies Part - Bringing Rigor to the Model

how the test cases are executed. Test suite is specified as a stereotype on a classifier. Figure 21-19 shows a class modeled as testSuite for an Online_Reservation form. The Chapter 18 - Applying Constraints to the UML Diagrams Online_Reservation test suite contains four test cases. Each test case is actually a method of the Chapter 19 - Action Semantics Online_Reservation testSuite class.
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List ofFigure Figures21-19: Class symbol stereotyped as a Test Suite with four test cases. List of Tables List of Listings

A test component is specified as a stereotype on a class. You may use a test component to specify low-

level test behavior, such as test scripts. In Figure 21-19, the class Customer_Emulator is specified as a < Day Day Up > test component, which provides an e-mail address for testing. Two important concepts specified by the test architecture package are the System Under Test (SUT) and the Arbiter. The SUT a stereotype applied to a system. In the preceding example, the SUT would be an UMLis Bible Online Reservation An arbiter is an interface that defines the operations used to assign and return ISBN:0764526049 by system. Tom Pender verdicts. The verdict can be Pass, Fail, Inconclusive, or Error. Error is an error condition of the test system John Wiley & Sons 2003 (940 pages) itself. The Testing Profile provides an arbitration algorithm, and users can define their own. For beginning to advanced users, this book provides The Test Architecture packageand also specifies configurations and utility parts, or miscellaneous specifications, shows how test to use UML to improve timeliness, quality, and efficiency in development. components of the test system.
comprehensive coverage of the versatility of 1.4 and 2.0 UML

Test Data

Companion Web Site

The version="1.0" Test Data package and metamodel specify the structure of data sent to and processed in a test. This <?xml encoding="ISO-8859-1"?> includes Wildcards (special symbols that represent values or ranges of values, such as ? and *), Data Table of Contents Pools (a collection of values used to execute test cases), Data Partitions (a logical value for a parameter UML Bible used in test cases, such as valid e-mail addresses), and Coding Rules (for languages such as XML, so Preface thatIthe test system can Part - An Introduction to interface UML
Chapter 1 Chapter 2 Chapter 3

with the SUT).

Test Behavior - UML Architecture


- UML Diagrams and Extension Mechanisms The Test Behavior package and metamodel specify the stimuli to a test, activities performed during a test,

- What Is UML?

Chapter 4 - Object-Oriented Concepts and observations of a test. At the heart of this package is the test case-defined as a testCase stereotype
Part II - Modeling Object Structure

on an operation that provides a tagged value on the operation of test objective. A test case always returns

Chapter 5 Figure - Capturing Rules about Objects in cases a Class Diagram a verdict. 21-19 shows that four test are defined for the Online_Reservation test case. All Chapter 6 How to Capture Rules about Object Relationships have a return of Verdict, which, as previously mentioned, can have a value of pass, fail, inconclusive, or Chapter 7 - Testing with Objects error. Verdict is defined as an enumerated list in the Test Behavior package.
Part III - Modeling Object Interactions

Each test has an Objective (not shown Chapter 8 case - Modeling Interactions in UML 1.4 in the diagram). A test objective is normally given by a textual description. Chapter 9 - Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

The Test Behavior package also specifies a Stimulus, which is the test data sent to the SUT to activate tests, and an Observation, which is the test data received from the SUT in response to stimuli.

Chapter 12 - Modeling the Use of a Control, System with the Use Case Diagram The package also includes Test which specifies how test cases are to be executed in a test suite; Chapter 13 - Modeling Behavior Using aninvoke Activity Test Invocation, which enables you to aDiagram test case with specific parameters or within a specific
Part V - Modeling the Application Architecture context; and Coordination, which specifies ordering

mechanisms and messaging to manage concurrent

testing.14 It also specifies traces, default values, and various actions such as logging and validating the Chapter - Modeling thetest Application Architecture test results. Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Test Deployment Chapter 17 - Representing an Architecture in UML 2.0


The Test Deployment package and metamodel extension are optional for tool vendors to support. They specify the deployment of test artifacts and components to physical nodes or target platforms. This Chapter 19 - Action Semantics enables you to model the deployment of test components.
Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating the UML Modeling Process

Chapter - Using a Modeling Tool Time 20 Concepts Chapter 21 - Customizing UML Using Profiles

The Time Concepts package and metamodel specify time constraints and time observations for test Chapter 22 XML Metadata Interchange execution. you to quantify test execution and to model timed execution of test cases. Appendix A -This UMLenables 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary

The Web Application Extensions (WAE)

The Web Application Extensions have not been submitted as a potential profile to OMG. However, they Index have become popular for modeling Web applications and can be considered an informal profile. They are List of Figures put forth by Jim Conallen in his book Building Web Applications with UML (Addison Wesley Professional, List of Tables 2002), and appear in other books in the field. The WAE defines a set of stereotypes, tagged values, and List of Listings

constraints that enable modeling of Web applications. Table 21-3 lists stereotypes that may be applied to < Day Day Up > classes (on Class, Component, and Use Case diagrams), components (on Component diagrams), and object lifelines (on Sequence diagrams). Table 21-3: UML Profile for Web Application Extensions
by Tom Pender UML Bible

ISBN:0764526049

Type

Stereotype Description John Wiley & Sons 2003 (940 pages)

Icon

Class

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and showspage how to UML to improve ServerPage A server is use a Web page timeliness, quality, and efficiency in development.

that has scripts executed by the

Companionserver. Web Site Examples are a Java

Server Page (JSP), an Active Server Page (ASP), or a PERL <?xml version="1.0" encoding="ISO-8859-1"?> script page. A constraint on a Table of Contents server page is that it can only UML Bible interact with objects on the Preface server. A tagged value for a Part I - An Introduction to UML server page is the language Chapter 1 - What Is UML? that is used.
Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter Class 6 Chapter 7 Chapter 8 Chapter 9 - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How Client to Capture Rules about Relationships Page A clientObject page is a simple HTML - Testing with Objects Web page. It contains data and

Part II - Modeling Object Structure

Part III - Modeling Object Interactions presentation,

and any local

- Modeling Interactionsscripts. in UML There 1.4 are no - Modeling Interactionsconstraints in UML 2.0 but three tagged

ofin note are Chapter 10 - Modeling an Object's values Lifecycle UML 1.4TitleTag (the of the BaseTag (the Chapter 11 - Modeling an Object's title Lifecycle inpage), UML 2.0 base Part IV - Modeling Object Behavior URL), and BodyTag (the HTML <body> tag that sets Chapter 12 - Modeling the Use of a System with the Use Case Diagram fonts and background colors). Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Class

Form

<of Day Daythat Up > A form is a set fields users fill out, including text boxes, radio buttons, etc. The attributes of a form class are UML Bible the names of the fields. A ISBN:0764526049 by Tom Pender form class has no John Wiley & Sons 2003 (940 pages) operations; operations that For beginning to advanced users, this book provides interact with the form belong to comprehensive coverage of the versatility of 1.4 and 2.0 UML the page on which the form sits. specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface Class

A frameset represents a group of Web pages contained in a Chapter 1 - What Is UML? frame. It has no constraints and Chapter 2 - UML Architecture two tagged values: rows, which Chapter 3 - UML Diagrams and Extension Mechanisms is a string of comma-separated Chapter 4 - Object-Oriented Concepts values of row heights, and cols, Part II - Modeling Object Structure which is a string of commaseparated Chapter 5 - Capturing Rules about Objects incolumn a Class widths. Diagram
Part I - An Introduction to UML

Frameset

Chapter 6 Chapter 7 Chapter 8 Chapter 9

- How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Class 12 - Modeling Target target is a window which a Chapter the Use of aA System with the Use in Case Diagram web page can be displayed. For example, for a hyperlink, you Part V - Modeling the Application Architecture can specify that the targeted Chapter 14 - Modeling the Application Architecture page is displayed in a new Chapter 15 - Modeling Software Using the Component Diagram window, in the same frame, or Chapter 16 - Using Deployment Diagrams in UML 1.4 in a parent frame. There are no Chapter 17 - Representing an Architecture in UML 2.0 tagged values for this Part VI - Bringing Rigor to the Model stereotype.
Chapter 13 - Modeling Behavior Using an Activity Diagram Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Class

JavaScript Object

<with Day JavaScript, Day Up > When working you can use objects of the Document Object Model (DOM), such as the Window UML Bible object, and its Document object ISBN:0764526049 by Tom Pender to perform tasks. You can also John Wiley & Sons 2003 (940 pages) create your own generic For beginning to advanced users, this book provides objects. Such JavaScript comprehensive coverage of the versatility of 1.4 and 2.0 UML objects are represented specifications, and shows how to use UMLby to a improve class ofefficiency stereotype JavaScript timeliness, quality, and in development. Object. A specialized icon is Companion Web Site not specified for a JavaScript class.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Class Preface

ClientScript Object Part I - An Introduction to UML


Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 -

Part II - Modeling Object Structure

A ClientScript Object is a collection of client-side scripts, which are commonly used What Is UML? functions, placed in a separate UML Architecture file. They are invoked by a UML Diagrams and Extension Mechanisms separate request by the Object-Oriented Concepts browser.

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling Object's A Lifecycle in UML 2.0HTMLComponent Weban Page Web Page is an
Part IV - Modeling Object Behavior formatted

page that contains

Chapter 12 - Modeling the Use of aHTML System with the Use text code, and Case may Diagram also Chapter 13 - Modeling Behavior Using an Activity contain scriptsDiagram that run on the
Part V - Modeling the Application Architecture client browser,

and/or on the

server. It may also contain a Chapter 14 - Modeling the Application Architecture compiled module that loads on Chapter 15 - Modeling Software Using the Component Diagram the server. You specify the full Chapter 16 - Using Deployment Diagrams in UML 1.4 URL or path of 2.0 the Web Page Chapter 17 - Representing an Architecture in UML as a Part VI - Bringing Rigor to the Model
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

tagged value.

Chapter 18 - Applying Constraints to the UML Diagrams

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Component

ASP Page

UML Bible

by Tom Pender John Wiley & Sons 2003 (940 pages)

< Day Day Up > An Active Server Page (ASP) Page implements ASP code on the server. You specify the full URL or path of the ASP Page as a tagged value.

ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Component Preface


Part I - An Introduction to UML

JSP Page

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture

A Java Server Page (JSP) Page implements JSP code on the server. You specify the full URL or path of the JSP Page as a tagged value.

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Component Servlet Servletin isUML a Java Chapter 11 - Modeling an Object's A Lifecycle 2.0 component that Part IV - Modeling Object Behavior runs on the server. You the full URL path of Chapter 12 - Modeling the Use of aspecify System with the Useor Case Diagram the an Servlet as Diagram a tagged value. Chapter 13 - Modeling Behavior Using Activity
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Component

Script Library

< Day Up > A Script Library is a Day component that provides a library of functions and subroutines that can be used by other UML Bible components. You specify the ISBN:0764526049 by Tom Pender full URL or path of the script John Wiley & Sons 2003 (940 pages) library as a tagged value. For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture

< Day Day Up >

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

In this chapter, you learned: John Wiley & Sons 2003 (940 pages) The UML metamodel is extended with basic devices stereotypes, comprehensive coverage ofthree the versatility of 1.4-and 2.0 UML tagged values, and constraints. specifications, and shows how to use UML to improve
timeliness, quality, and efficiency in development. For beginning to advanced users, this book provides

When you group a set of these extensions to model a specific platform or domain, you create a Companion Web Site profile. The profile is regarded as one overall extension to the UML. You can apply a number of profiles to your modeling.
<?xml version="1.0" encoding="ISO-8859-1"?> A profile is considered a lightweight extension. It can be thought of as creating a new dialect to the Table of Contents

Unified Modeling Language. UML Bible


Preface

A more heavyweight alternative to a profile is to extend the MOF that UML is built on, creating a new metamodel for a particular modeling domain or platform. This can be thought of as creating a new Chapter 1 - What Is UML? language related to UML.
Part I - An Introduction to UML

Chapter 2 Chapter 4

- UML Architecture The specification details how to build a profile. It also provides example profiles. Chapter 3 UML - UML Diagrams and Extension Mechanisms

You can build your own profile, and some profiles have been developed in the industry, introduced by modeling tool vendors or book authors, for domains such as data modeling and Web applications. Chapter 5 - Capturing Rules about Objects in a Class Diagram These profiles are in common use, but they are not officially adopted by the OMG.
Part II - Modeling Object Structure

- Object-Oriented Concepts

Chapter 6

- How to Capture Rules about Object Relationships

Chapter 7 OMG - Testing with Objects The has adopted a number of standard profiles for specific platforms and domains of modeling,
Part III - Modeling Object Interactions and is in the process of adopting

more.

Chapter 8

- Modeling Interactions in UML 1.4

OMG-adopted profiles generally offer both a lightweight UML Profile and an alternative MOF-based Chapter 9 - Modeling Interactions in UML 2.0 metamodel extension. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application relationships, Architecture Associations, Dependency

A stereotype is a type that you may apply as a property value to a UML element to extend its properties and slightly alter its semantics. and so on.

Chapter 13 - Modeling Behavior Using an UML Activity Diagram Stereotypes may be applied to all element types, such as Classes, Use Cases, Components, Chapter 14 - Modeling the Application Architecture

Once you apply a stereotype to the a model element, additional properties or tagged values may become Chapter 15 Modeling Software Using Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing Architecture in UML 2.0 A tagged value is an an extra property that can be added to a UML element, so that you can specify
Part VI - Bringing Rigor to the Model

available in the class definition.

additional information that you normally couldn't.

Chapter 18 - Applying Constraints to the UML Diagrams

Constraints enable you to specify rules and restrictions on model elements in UML. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles

One of the most visible aspects of profiles is the icons you can use to represent different UML classifiers, based on their stereotype.

Chapter 22may - XML Metadata Interchange You model a profile using UML itself. You use a Class diagram to model the structure of a profile. Appendix A -you UML 1.4 Notation Guide When do so, you are performing metamodeling. Appendix B - UML 2.0 Notation Guide

A profile is applied to a package. Appendix C - Standard Elements


Glossary Index

The UML specification provides a very simple profile for Enterprise JavaBeans.

List ofThe Figures UML Profile for Software Development Processes is provided as an example profile in the UML List ofspecification Tables itself. The profile is used with the Rational Unified Process (RUP), and has its origins in List ofthe Listings work of Ivar Jacobson. It is responsible for introducing the commonly used boundary, control,

and entity class stereotypes and their associated icons. < Day Day Up > The UML Profile for Business Modeling is provided as an example profile in the UML specification itself. It is responsible for introducing the commonly used worker, internal worker, case worker, and entity UML classBible stereotypes and their associated icons. Enterprise Application Integration (EAI) involves building new applications by coupling existing John Wiley & Sons 2003 (940 pages) applications that may be built in different languages and exist on different platforms. The UML Profile For beginning to advanced users, this book provides for EAI specifies mechanisms that enable you to model this coupling of existing applications. comprehensive coverage of the versatility of 1.4 and 2.0 UML The Enterprise Distributed Object Computing (EDOC) Profile presents extensions to UML to enable timeliness, quality, and efficiency in development. you to model the integration of your enterprise business workflow, applications, and databases. It Companion Web Site introduces the concept of business process components and how they can be modularly built and integrated with application components. One of its purposes is to enable a business component marketplace. encoding="ISO-8859-1"?> <?xml version="1.0"
Table of Contents UML Bible Preface specifications, and shows how to use UML to improve by Tom Pender
ISBN:0764526049

The UML Profile for Schedulability, Performance, and Time provides extensions to UML to support the modeling of all kinds of real-time systems. The UML Testing Profile extends UML so that you may model information on testing your systems.

Part I - An Introduction to UML

Chapter 1

- What Is UML? The Testing Profile is applied to enable you to specify tests at various levels, including unit-level Chapter 2 UML - UML Architecture

test andExtension system-level tests, and cross-enterprise level tests. Chapter 3 cases, - UMLintegration Diagrams and Mechanisms
Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - Object-Oriented Concepts
Part II - Modeling Object Structure

< DayDiagram Day Up > - Capturing Rules about Objects in a Class


- How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Chapter UML 22:Bible XML Metadata Interchange ISBN:0764526049 by Tom Pender


Overview
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows to use UML to improve The XML Metadata Interchange (XMI) is ahow specification created by the OMG and intended to enable easy timeliness,between quality, and efficiency in development. interchange of information modeling tools supporting the UML metamodel, and also any

metadata repositories that are based on the Meta Object Facility (MOF). Companion Web Site XMI is based on the Extensible Markup Language (XML) of the W3C, which has become the industry
<?xml version="1.0" encoding="ISO-8859-1"?> standard format for information exchange across distributed environments. Table of Contents

Its primary objective is to enable, for the first time, exchange of UML models between modeling tools. UML Bible Moreover, third-party vendors can use XMI output from any UML modeling tool that can be manipulated Preface external the tool, to to create Part I - Anto Introduction UML code (Java, Visual Basic, and so forth). XMI does not only pertain to UML, it can interchange information based on any MOF-based metamodel, such as the Common Warehouse Chapter 1 - What Is UML? Metamodel (CWM). In this chapter, you will receive an overview of XMI, be presented with the core Chapter 2 - UML Architecture information you need to know about XML, and take a look at the underlying UML architecture and how XMI Chapter 3 - UML Diagrams and Extension Mechanisms is generated. You will examine a case study in both XMI 1.0 and 1.1, and be introduced to the Diagram Chapter 4 - Object-Oriented Concepts Interchange Specification.
Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships < Day Day Up > - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Introduction to XMI by Tom Pender


ISBN:0764526049

XMI enables output of Wiley UML & information from modeling tools and object repositories into a standard, easily John Sons 2003 (940 pages) transportable format, based onto industry-standard XML. This offers two very important benefits to UML. For beginning advanced users, this book provides First and most popularly, this enables modeling tools to exchange UML model information, as long as they comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, andJust shows to use UML to improve support export and import of XMI. as how importantly, it enables third-party vendors to manipulate XMI quality, and efficiency in development. data output from timeliness, modeling tools and object repositories, and transform it into other forms, including code (Java and other languages). Companion Web Site
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Preface

Why exchange information between tools?

Many organizations today need to exchange information between modeling tools. There are a number of UML Bible

reasons for this-the corporation may be using more than one tool; it may be working with vendors that are using a different tool than the one employed in the organization; or it may be switching tools. The following Part I - An Introduction to UML paragraphs take a look at these scenarios in turn.
Chapter 1 - What Is UML? Chapter 2 - UML Architecture A corporation may be using more than one modeling tool because it has made a deliberate decision to Chapter 3 UML Diagrams and Extension Mechanisms use the best tool for each type of modeling job. There are a number of tools on the market today that offer Chapter 4 in - Object-Oriented Concepts expertise different areas of modeling. An organization may use one tool more adept at analysis for
Part II - Modeling Object Structure analysis, and another tool more adept

at code generation for design.

Chapter 5

- Capturing Rules about Objects in a Class Diagram

For example, some UML modeling tools are better at code generation and reversal-some tools literally sit Chapter 6 - How to Capture Rules about Object Relationships on the code, so that a change to the model is directly reflected in the code and vice versa. Other tools Chapter 7 - Testing with Objects provide analysis capabilities, Part III - extensive Modeling Object Interactions wherein the models are stored in a repository or underlying database so that multiple users can work on the same models at the same time, with access control Chapter 8 - Modeling Interactions in UML 1.4 features built in. Some tools provide integration with other methods, such as traditional business modeling, Chapter 9 - Modeling Interactions in UML 2.0 data modeling, or structured analysis. Very often a company will have business analysts using one tool, Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 while programmers use another. That company might want the business models or data models being Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 developed in the one tool to get mapped to UML models, and then synchronized with the UML models Part IV - Modeling Object Behavior being created by developers in the other tool.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application Architecture departments, are using a different tool, and they

Chapter 13 - Modeling Behavior Using an Diagram Sometimes a company or division of a Activity company has standardized on one tool, but its vendors, or other

may require receipt of models that work with their tool.

Chapter Modeling the Architecture And at 14 still-other times, aApplication company may simply be switching the tool that it uses, and wants to get all of its

information out of the old tool and into new one.Diagram Chapter 15 - Modeling Software Using thethe Component
Chapter 16 - Using Deployment Diagrams in UML 1.4

Exchange of information between modeling tools is not a new idea - it's been around for as long as modeling tools have, which dates back about 20 years. There have been numerous attempts in the past to Part VI - Bringing Rigor to the Model develop a standard interchange format for information exchange, including the CASE Data Interchange Chapter 18 - Applying Constraints to the UML Diagrams Format (CDIF), the Interface Definition Language (IDL) of the Integrated Computer-Aided Manufacturing Chapter 19 - Action Semantics (ICAM) DEFinition IDEF methodology, and recent work by the Metadata Coalition (Meta Data Interchange Part VII - Automating the UML Modeling Process Specification).
Chapter 17 - Representing an Architecture in UML 2.0 Chapter 20 - Using a Modeling Tool Chapter - Customizing UML Using Profiles Most of21 these efforts have been unsuccessful or, at best, minimally successful for a variety of reasons. Chapter 22the - XML Metadata Interchange Through years, most modeling tools have supported various methods, including numerous object-

orientedA techniques, business modeling techniques, structured analysis and design techniques, and data Appendix - UML 1.4 Notation Guide modeling. The wide range of Guide techniques, plus the wide array of differing definitions and properties that Appendix B UML 2.0 Notation each modeling tool supported, Appendix C - Standard Elements have made establishing a common metamodel for exchange difficult. Additionally, when an interchange format such as CDIF became available, no tool vendors were willing to Glossary modify their tools to completely support it, or if they did, they did not think that it was in their best interests Index to provide both output and input of the standard into their tools. If they supported the standard, they were more apt to make sure input into their tools was good, but not output, so that customers would be less List of Tables inclined to use the output to move information to another vendor's tool.
List of Figures List of Listings

XMI has a high chance of being very successful for a number of reasons. First, UML is becoming the < Day Day Up > defacto standard for systems and application modeling, so there is one common source of information to exchange. Second, UML's underlying metamodel is a highly defined specification, maintained by the OMG, which is almost universally accepted as a non-partisan specifications body. Third, that metamodel may be UML Bible extended, and XMI can reflect those extensions. This means that extra definitions and properties that have ISBN:0764526049 Tom Pender been added to a by particular tool can be expressed in the XMI and interchanged between tools, as long as John Sons 2003 (940 pages) (stereotypes, tagged values, and constraints) as UML both tools support the Wiley ability& to add UML extensions specifies that they must. Finally, UML metamodel is actually built on top of a more generalized For beginning tothe advanced users, this book provides comprehensive coverage of (MOF). the versatility ofonly 1.4 and UML metamodels that are built or metamodel, called the Meta Object Facility UML is one 2.0 of many andso shows how to use UML that to improve are being built onspecifications, top of the MOF, the same principles apply to UML model information also apply timeliness, quality, and efficiency in development. to the exchange of information for other metamodels, such as the Common Warehouse Metamodel Companion Web Site (CWM), which enables the exchange of data warehousing information.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

What needs to get exchanged

When exchanging information between modeling tools, two basic artifacts need to be exchanged: the UML UML Bible model information and the diagrams. Preface
Part I - An Introduction to UML

UML model information includes the package structure of the models, and all of the information - What Is UML? concerning the models themselves: classes and their underlying definitions, their attributes and methods, Chapter 2 - UML Architecture class associations, inheritance structures, dependencies, use case definitions and their relationships to Chapter 3 - UML Diagrams and Extension Mechanisms actors and other use cases, object definitions, and messages passed between objects (as seen on a Chapter 4 -or Object-Oriented Sequence Collaboration Concepts diagram), state definitions and transitions, component definitions and Part II - Modeling Object Structure dependency relationships, node definitions and link relationships, and so forth.
Chapter 1 Chapter 5 - Capturing Rules about Objects in a Class Diagram Diagrammatic information of the diagram itself; its name; what UML model elements are Chapter 6 - How to Captureconsists Rules about Object Relationships

represented on it as symbols; exactly where those symbols are positioned (in X, Y coordinates); the colors, Chapter 7 - Testing with Objects fonts, exact shapes for the Part IIIand - Modeling Object used Interactions symbols on the diagram; how lines on the diagram are routed; the thickness style of the lines, and any 1.4 other information concerned with presenting symbols on a Chapter 8 and - Modeling Interactions in UML diagram Chapter 9 workspace. - Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Obstacles to tool interchange

The XMI was originally constructed an information Chapter 12specification - Modeling the Use of a System with the as Use Case Diagram interchange. No diagrammatic information is included in the specification. The OMG has addressed diagrammatic information with the Chapter 13 - Modeling Behavior Using an Activity Diagram Diagram Interchange specification, detailed Part V - Modeling the Application Architecture later in this chapter.
Chapter 14 - Modeling the Application Architecture

This means that modeling tools that have built XMI interchanges based on XMI specifications such as XMI 1.0 or XMI 1.1 can only interchange model information. For many users, this is good enough. If a modeling Chapter 16 - Using Deployment Diagrams of in UML 1.4 metamodel, then a user can import UML information tool supports the underlying semantics the UML Chapter 17 Representing an Architecture in UML 2.0 tool, and place (or drag) appropriate UML elements (a via XMI, manually create a diagram in the modeling Part VI Bringing Rigor to the Model number of classes, for example) onto the diagram workspace, and relationships should be drawn Chapter 18 - Applying Constraints to the UML Diagrams automatically, thereby creating the diagram. However, although the diagram would contain the drawn Chapter 19 - Action Semantics information, it most certainly would not look like the original diagram in the first tool. Moreover, the user Part VIIneed - Automating the UML Modeling Process would to reference the first tool to find out how many diagrams there were, what package they were Chapter 20 - Using a Modeling Tool in, what each diagram's name was, and what model elements were contained in each one, and so forth. Chapter - Customizing UML that Using Profiles That is 21 a lot of manual work could be automated using a tool scripting language such as VBA, but that would defeat theMetadata purpose Interchange of XMI, which is to enable easy exchange of information between modeling Chapter 22 - XML tools. Support of1.4 theNotation Diagram Interchange specification solves this problem. Appendix A - UML Guide
Chapter 15 - Modeling Software Using the Component Diagram Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

A second problem is that most if not all UML modeling tools do not support the full UML specification. UML has a very large specification, and most UML modeling tools do not allow you to draw everything defined in Glossary the spec, or enable you to define all properties contained in the specification. In addition, the UML spec is Index constantly changing, and it takes time for modeling tool vendors to make product changes to support new List of Figures features in the specification.
List of Tables

This be okay if you are modeling in a tool - if the feature isn't there, you don't use it. But exchanging List of may Listings

information via XMI is another matter. If you have invested the time to model something in one tool, you < Day Day Up > must make sure that the other tool supports this functionality, or can be extended to support this functionality, so that the information can be exchanged.
UML Bible Model-driven applications by Tom Pender

ISBN:0764526049

Wiley of & the Sons 2003 (940 pages) One of the majorJohn initiatives OMG is model-driven applications (MDA). In essence, this means driving For beginning to advanced users, this book provides code creation through modeling. With MDA, you perform analysis and design of systems before coding, comprehensive coverage of the versatility of 1.4 and 2.0 UML and automate the coding of those systems from the models. To do this, the models themselves must have specifications, and shows how to use UML to improve enough rigor in them to support real code generation, and the modeling tool must support good code timeliness, quality, and efficiency in development.

generation. XMI is one enabling technology for MDA in that tools that support it generate UML models to a Companion Web Site standard form that can be manipulated by third-party code creation tools to map the UML models to any coding language.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Using XSLT to transform XMI


XMI into other useful forms. Using XSLT you can transform the

Preface After UML models are mapped to XMI, eXtensible Stylesheet Language Transformations (XSLT)
Part I - An Introduction to UML becomes a natural fit for transforming the

Chapter 1 and - What Is UML? structure format of an XMI document. This becomes a natural mechanism to map UML models to and

from other such as Java, Visual Basic.NET, and C#. Chapter 2 -languages, UML Architecture
Chapter 3 Chapter 4 - UML Diagrams and Extension Mechanisms - Object-Oriented What you need to Concepts know

Part II - Modeling Object Structure

Chapter 5 - to Capturing Rules about Objects in a Class Diagram To be able read, understand, and manipulate the data in XMI, you must understand the basics of the

XML language. also need to about be familiar with the UML architecture, and to understand how XMI is Chapter 6 - HowYou to Capture Rules Object Relationships structured you can navigate Chapter 7 -so Testing with Objects the XMI itself. You should also be familiar with tools available to examine XMI. Later in this chapter, I review tools Part III - Modeling Object Interactions XMI. 8 Chapter
Chapter 9

that enable you to discover, understand, and correct problems in

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 < Day Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Day Up >
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible The XMI Specification by Tom Pender


ISBN:0764526049

The XMI specification includes the following: John Wiley & Sons 2003 (940 pages) XML Document Production coverage Rules forof encoding MOF-based metadata and producing an XMI instance comprehensive the versatility of 1.4 and 2.0 UML document. These rules can beshows applied in reverse to create models from XMI. specifications, and how to use UML to improve
timeliness, quality, and efficiency in development. For beginning to advanced users, this book provides

XML Document Type Definition (DTD) Production Rules for transforming MOF-based metamodels Companion Web Site into XML DTDs. Using these rules, vendors can create a DTD for any MOF-based repository. They may create their own UML.DTD, used to validate that the XMI generated from a modeling tool is correct. They may also create a DTD for any other MOF-based repository. <?xml version="1.0" encoding="ISO-8859-1"?>
Table of Contents

Prebuilt DTDs for UML and MOF. UML Bible


Preface

XML Schema Production Rules, which are included in the newest XMI specifications, XMI 1.3 and XMI 2.0. Using these rules, vendors can create a schema for any MOF-based repository. They may create Chapter 1 own - What Is UML? their schemas for UML, used to validate that the XMI generated from a modeling tool is correct.
Part I - An Introduction to UML

Chapter 2 Chapter 3 Chapter 4

- UML Architecture - UML Diagrams and Extension Mechanisms The Unisys Extensions - Object-Oriented Concepts

Unisys Corporation has built an Part II - Modeling Object Structure

XMI interface to the Rose modeling tool. The Unisys toolkit, offered as

a free add-in to Rose, XMI generation and importing facilities, and introduces extensions, Chapter 5 Capturing Rulesprovides about Objects in a Class Diagram referred to into the XMI world as the Unisys extensions, to enable exchange of diagrammatic Chapter 6 - How Capture Rules about Object Relationships
Chapter 7 Chapter 8 Chapter 9

information, in lieu of lack of formalized standards existing for diagrammatic information. Some tool - Testing with Objects vendors have incorporated these extensions into their XMI. Part III - Modeling Object Interactions
- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's in UMLand 1.4 finalization task forces (FTFs), of the OMG are Subcommittees, or revision task Lifecycle forces (RTFs) Chapter 11 - Modeling UML 2.0 continuously workingan to Object's improveLifecycle the XMI in specification. In addition, it is mandatory that every time the UML
Part IV - Modeling Object Behavior specification is updated, the XMI specification

also be updated to reflect changes to the UML metamodel.

Chapter 12 - for Modeling the Use of of UML, a System with the Use Case Diagram Therefore, every version there is a corresponding version of XMI. However, the version

numbers the specifications do not currently Chapter 13 of - Modeling Behavior Using an Activity correspond: Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 1.4, - Modeling Software Using the UML MOF 1.4, XMI 1.1-XMI 1.2Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

UML 1.3, MOF 1.3, XMI 1.0

UML MOF 1.5, XMI 1.3 Chapter 17 1.5, - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams


Part VII - Automating the UML Modeling Process

UML 2.0, MOF 2.0, XMI 2.0, Diagram Interchange specification

Chapter 19 - Action Semantics The Diagram Interchange specification has been adopted at the same time as UML 2.0. It is the definitive

standard for exchange of diagrammatic information between modeling and graphic tools, and is explained

Chapter 20 - Using a in Modeling Tool in more detail later this chapter. Chapter 21 - Customizing UML Using Profiles

The XMI spec is the most commercially supported spec on the market today. It is the lowest common Chapter 221.0 - XML Metadata Interchange denominator. Appendix A - UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Index

The XMI 1.1 spec provided a significant change over XMI 1.0. Version 1.0 relies on nested elements with fully qualified namespaces, while version 1.1 makes use of namespaces and attributes to make XMI Glossary instance documents much more compact and easier to read. XMI 1.2 is a minor revision to XMI 1.1.
List of XMI Figures The 1.3 and XMI 2.0 specs introduce XML schema to validate instance documents, whereas previous

specs relied upon a UML.DTD to validate the XMI instance document. The XMI-1.3 and XMI 2.0 specs List of Tables came out at about the same time-XMI 1.3 is intended for use with UML 1.4, and XMI 2.0 is intended for use List of Listings

with UML 2.0.

< Day Day Up >

< Day Day Up >


UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible MOF Creating XMI from by Tom Pender


ISBN:0764526049

OMG originally intended MOF to bethe technology John Wiley & Sons 2003 (940 pages) to define metadata and represent it as Common Object Request Broker Architecture (CORBA) objects. OMG's design was to use CORBA Interface For beginning to advanced users, this book provides Definition Language (IDL) to enable exchange of objects in a distributed environment. An IDL mapping is comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use set UML to improveIDL interfaces. specified for MOF that maps it onto a corresponding of CORBA
timeliness, quality, and efficiency in development.

Looking at it another way, the original intent was to have CORBA IDL act as the mechanism to transfer Companion Web Site information between MOF-based repositories. However, CORBA never caught on in the industry as much as many people thought it would. XMI offers key advantages over CORBA IDL that increase its chances of <?xml version="1.0" encoding="ISO-8859-1"?> catching on.
Table of Contents

Like CORBA IDL, XMI enables the interchange of MOF metadata that exists in a MOF-based repository. UML Bible CORBA does this via IDL interfaces using ORB-to-ORB connectivity to transfer information. XMI uses the Preface Stream-based Model Interchange Part I - An Introduction to UML Format (SMIF) to enable stream-based interchange of metadata. More precisely, XMI exchanges MOF metadata in a serialized form within an XML document and accompanying Chapter 1 - What Is UML? DTD. There is no need for ORB-to-ORB connectivity to transfer the information. There is no need for Chapter 2 - UML Architecture middleware. You may exchange information from one Chapter 3 - UML Diagrams and Extension Mechanisms MOF repository to another by simply sending the XML document with accompanying DTD via e-mail or any other vehicle that can transfer text documents. Chapter 4 - Object-Oriented Concepts As long as one MOF repository can export XMI, and the receiving MOF repository can import XMI, you can Part II - Modeling Object Structure exchange information. Because of this, XMI increases the availability of data stored in MOF-based Chapter 5 - Capturing Rules about Objects in a Class Diagram repositories, and therefore increases the usefulness and popularity of the MOF itself.
Chapter 6 - How to Capture Rules about Object Relationships Chapter 7 -XMI Testing Objects Moreover, can with be used to exchange information between repositories that are not MOF-based. A
Part III - Modeling Object Interactions mapping can be created from the proprietary

metamodel of the repository to the MOF metamodel when

Chapter 8 - XMI. Modeling Interactions in UML 1.4 generating Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object DTD Behavior The XMI specification's Production

Creating XMI from MOF

Rules enable anyone, but more specifically programmers, to

Chapter 12 - Modeling the Use of System with the Use Case Diagram metamodel may be created. UML is create a DTD from the MOF. Aa DTD representing any MOF-based Chapter 13example - Modeling Using metamodel. an Activity Diagram only one of Behavior a MOF-based The XMI 1.1 specification provides three sets of DTD
Part V - Modeling the Application Architecture Production Rules:

Chapter 14 - Modeling the Application Architecture

Rule 1 provides rules Using to create simple DTD. Chapter 15 Set - Modeling Software the a Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0 Entities are an XML structure described later in this chapter, in the XML overview section. Chapter 18 Set - Applying Constraints the UML Diagrams Rule 3 provides rules toto create a DTD using hierarchical grouped entities. Chapter 19 - Action Semantics

Rule Set 2 provides rules to create a DTD, and uses XML entities for convenience and compactness.

The UML.DTD is created by applying XMI production Part VII - Automating the UML Modelingthe Process
Chapter 20 - Using a Modeling Tool

(or generation) rules to the MOF.

Chapter 21 UML - Customizing UML Using Profiles models to code. But it does more than that. To get a complete understanding of what XMI Chapter 22 does, - XML you Metadata Interchange need to know a little bit of the architecture of UML and the Meta Object Facility (MOF). Appendix A If - you UML need 1.4 Notation Guide a refresher course on the architecture, turn back to Part I and skim through Chapters Appendix B 1 - and UML 2. 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

Note XMI enables the interchange of UML information between modeling tools, and the translation of

How XMI, MOF, and UML fit together

List of Figures Since the UML metamodel is a MOF-based metamodel, applying the XMI DTD Production Rules on the List of Tables UML metamodel creates the UML.DTD. Applying the Document Production Rules to a UML model List of Listings creates a corresponding XMI instance document. The UML.DTD reflects the UML metamodel, and

specifies the structure and rules of the XMI instance document. The XMI instance document contains the < Day Day Up > UML model information in a textual, serialized format. Information in this format is easily transferred. This information can be accurately exchanged between modeling tools-vendors can create a mapping from XMI into their own metamodels to import UML information into their tools without having MOF UML Bible implemented. The XMI information can also be transformed to other formats, such as Java, using a ISBN:0764526049 by Tom Pender language that can transform the XML, such as XSLT.
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides Other metamodels comprehensive coverage of the versatility of 1.4 and 2.0 UML

The extensible architecture of MOF,and combined with the convenience of using XMI to interchange timeliness, quality, efficiency in development. information between MOF-based repositories, has caused the OMG to begin creating metamodels for Companion Web Site other uses, such as the Common Warehouse Metadata (CWM) metamodel for exchange of data warehouse information. Once an MOF-compliant metamodel for data warehousing can be agreed upon, how version="1.0" to map that metamodel to XMI is already specified, and can be easily automated. <?xml encoding="ISO-8859-1"?>
Table of Contents UML Bible Preface
Part I - An Introduction to UML

specifications, and shows how to use UML to improve

< Day Day Up >


- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Basic Primer on XML by Tom Pender


ISBN:0764526049

This section covers the basic you need in order to understand XMI. For further John Wiley & XML Sons information 2003 (940 pages) information, there are many books available that cover the provides topic in detail. For beginning to advanced users, this book

What is XML?

comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Web SiteWeb Consortium (W3C). It is a subset of the more powerful XML is a specificationCompanion of the World Wide Standardized Generalized Markup Language (SGML). SGML, which has been around since the 1960s, was version="1.0" standardized by the International Organization for Standardization (ISO) in 1986 as the language for <?xml encoding="ISO-8859-1"?> defining markup languages. SGML enabled authors to create a markup language within which they could Table of Contents define the elements and attributes in the language, thereby enabling them to create their own tags that UML Bible relate to their content. The definition of the created markup language is kept in a Document Type Preface Definition (DTD), which has to be provided with the SGML document for the custom-created tags within Part I - An Introduction to UML the language to be understood. Chapter 1 - What Is UML? Chapter 2 UML Architecture The W3C created XML expressly for use on the Web. XML is a simplified version of SGML, eliminating Chapter 3 Diagrams and Extension Mechanisms many of theUML aspects of SGML that are not essential for Web use. Chapter 4 Chapter 5 Chapter 6 Chapter 7 - Object-Oriented Concepts

There a number of important Part II -are Modeling Object Structure

things to know about XML:

The actual information or data is specified within tags in a text document, often called an XML - How to Capture Rules about Object Relationships instance document. This document normally has an .XML extension.
- Testing with Objects

- Capturing Rules about Objects in a Class Diagram

Part III - Modeling Interactions The rules for Object the structure of the

instance document are provided in a Document Type Definition

Chapter 8 - file. Modeling Interactions in UML 1.4 the grammar. This file normally has a .DTD extension. (DTD) These rules are often called Chapter 9 - Modeling Interactions in UML 2.0

In XML, you can an create yourLifecycle own tags, their meaning. This is an important feature of XML, Chapter 10 - Modeling Object's in and UML specify 1.4 one that makes it perfect asLifecycle a language for 2.0 exchanging UML and MOF-based information. Chapter 11 - Modeling an Object's in UML
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

XML data is structured in a tree-based hierarchy. When navigating the information, either in the instance document or the matching DTD, you find yourself navigating the tree structure.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 -always Using Deployment Diagrams in UML 1.4 file almost has an extension of .XML , although this is not mandatory. The instance document Chapter 17 Representing an Architecture in UML 2.0 the data is structured. contains a reference to the DTD that specifies how
Part VI - Bringing Rigor to the Model

Instance documents

An instance document is the file that contains the actual data, represented in XML form, within tags. The

Chapter 18 -XMI, Applying Constraints to the UML Diagrams For UML's the instance document carries the information concerning the model elements. So if you

modeled within a package Order_System, and the class had attributes Order_Number, Chapter 19 a - class ActionOrder Semantics Part_Number , and the Order_Quantity , that information Part VII - Automating UML Modeling Process
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

would be modeled in the instance document. The fact that a package contains a class that contains attributes is contained in the DTD. Chapter 20 - Using a Modeling Tool

DTDs

The Document Definition, or DTD, specifies the syntax of an XML instance document. It defines the Appendix B - UMLType 2.0 Notation Guide differentC kinds of elements that can appear in the instance document, and the way that elements may be Appendix - Standard Elements nested in the tree hierarchy. Glossary
Index List of Figures List of Tables

The DTD can be included in the XML instance document, or a reference to it can be specified in the top of the XML instance document.

Normally, the DTD is housed in an external file with a .DTD extension, and a reference to it is provided at List of Listings

the top of the instance document using a Universal Resource Identifier (URI) such as < Day Day Up > http://www.xmi.org/UML.DTD. It is advantageous to separate the instance document from the DTD in this fashion. The reason for this is that an instance document UML Biblecan be read and used without the accompanying DTD. In most cases, you want to have the by accompanying the instance document is correct. But ISBN:0764526049 Tom Pender DTD so that you can validate that there are other cases where the user can assume the instance document is correct, and use the John Wiley & Sons 2003 (940 pages) information in it without using the DTD. To save transmission bandwidth, you can send someone an For beginning to advanced users, this book provides instance document without the accompanying DTD, and he can still use the data. comprehensive coverage of the versatility of 1.4 and 2.0 UML

XML schemas

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

An XML schema is an alternative, and newer, technology to DTDs for validating instance documents. A DTD specifies the structure of an XML file: it gives the names of the elements, attributes, and entities that <?xml version="1.0" encoding="ISO-8859-1"?> can be used, and how they fit together. XML schemas offer a number of advantages over DTDs, most Table of Contents importantly the ability to specify element content in terms of data types, including range checking. This UML Bible enables the schema to provide the criteria for validating some of the content of elements.
Preface
Part I - An Introduction to UML

A typical example is that of an Address element, which might contain sub-elements such as name, street

Chapter 1 city, - What Is UML? address, state, zip code, and so forth. An application that receives an instance document containing Chapter 2 -would UML Architecture addresses want to know that all Zip Codes, for example, are nine digit numbers, or that all states Chapter 3characters - UML Diagrams and Extension are two that can only be one Mechanisms of 50 values specified by an enumerated list (AL, NY, NJ, and so Chapter 4 schemas - Object-Oriented Concepts on). XML enable you to specify such data types. The advantage is that the instance document
Part IIcan - Modeling Object Structure itself be checked for data type

validity by an XML processor before being provided to any application

Chapter 5 work - Capturing Objects in a work Class that Diagram that must on theRules data. about This reduces the programmers of applications have to do-they won't

have to6write code would perform checks. Chapter - How to that Capture Rules aboutsuch Object Relationships
Chapter 7 Chapter 8 - Testing with Objects - Modeling Interactions in UML 1.4
Part III - Modeling Object Interactions

XML document correctness

Chapter - Modeling Interactions in UML 2.0 As you 9 learn XMI, and speak in the world of XML, the first thing you will need to know are the levels of

correctness that an instance document can attain. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4People who "speak" XML toss around these terms often. 11 - Modeling an Object's Lifecycle in UML 2.0 Chapter
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

There are two levels of correctness that an instance document can attain: well formed and valid.

Well-formed XML documents

Chapter 14 - Modeling the Application Architecture A document is well formed if it follows these three rules: Chapter 15 - Modeling Software Using the Component Diagram

It must one or more elements. Chapter 16 - contain Using Deployment Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams


Part VII - Automating the UML Modeling Process

It must contain a uniquely named element, known as the root element, no part of which appears in the content of any other element.

Chapter - Action Semantics All19 other elements within the root element must be correctly nested.

If you open XML instance Tool document in any modern browser, the browser automatically checks the Chapter 20 - an Using a Modeling document see if it is well If it is not, the browser reports this fact to you. Chapter 21 -to Customizing UMLformed. Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide A document is valid if it conforms to the rules and structure specified by its DTD or schema. Most browsers Appendix C Standard Elements on the market today do not check to see if an instance document is valid. They open the document just Glossary fine, even if the document is not valid. Index

Valid XML documents

This List of coincides Figures with what we said -previously: you do not have to provide the accompanying DTD or schema of an instance document to use the document. To see if an instance document validates against List of Tables its of DTD, you need a special tool to parse it. There are many such tools on the market. One popular, free List Listings

tool is Microsoft's XML Notepad, which you'll see in the "Tools to Use" section at the end of this chapter. < Day Day Up >

XML elements
UML Bible An element is the main structural piece of data in an XML document. An element is made up of a start tag, ISBN:0764526049 by Tom an end tag, and the data Pender in between. The tag specifies the name of the element; the name included in John Wiley & Sons 2003 (940 pages) start tag must exactly match the name included in the end tag (and is case sensitive). The data in between For beginning to advanced users, this book provides of an element named Video, with the tags is referred to as the element's content. Here's an example comprehensive coverage of the versatility of 1.4 and 2.0 UML simple textual data in the content. specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

<Video>Description of a movie video.</Video> Companion Web Site Elements may contain other elements, which are considered child elements. These child elements may <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents contain other child elements, ad infinitum. This nesting of elements within other elements creates a natural tree-like UML Bible hierarchy of XML information. Each element contains a content model that lists the other elements it can contain. The following element, Movie, contains five nested elements that describe it in Preface more Movie_Name ,Lead_Actor,Lead_Actress,Director, Part I - detail: An Introduction to UML
Chapter 1 - What Is UML? Chapter 2 - UML Architecture <Movie>

and Year.

<Movie_Name>The Hulk</Movie_Name> Chapter 3 - UML Diagrams and Extension Mechanisms <Lead_Actor>Eric Bana</Lead_Actor> Chapter 4 - Object-Oriented Concepts <Lead_Actress>Jennifer Connolly</Lead_Actress> Part II - Modeling Object Structure <Director>Ang Lee</Director> Chapter 5 - Capturing Rules about Objects in a Class Diagram <Year> Chapter 6 2003 - How </Year> to Capture Rules about Object Relationships </Movie> Chapter 7 - Testing with Objects
Part III - Modeling Object Interactions

Chapter 8

XML attributes Chapter 9 - Modeling Interactions in UML 2.0


Chapter 10 are - Modeling an Object's Lifecycle in UML 1.4 Attributes used to represent small, descriptive bits of information for describing elements. Attributes Chapter 11 Modeling an Object's Lifecycle in UML 2.0 are contained within the start tag of an element, after the element's name, and are followed by the equal
Part IV - Modeling Behavior sign (=) sign and Object then the value of

- Modeling Interactions in UML 1.4

the attribute in quotes. For example:

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

<Lead_Actor age="35"> </Lead_Actor>

Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Attribute list declaration Chapter 16 - Using Deployment Diagrams in UML 1.4

An attribute list declaration you in to UML constrain Chapter 17 - Representing anenables Architecture 2.0 the range and types of attributes you use to describe elements. The attribute list statement Part VI - Bringing Rigor to the Model
Chapter 19 - Action Semantics

declares the attributes in the DTD. This information is used to make

sure the instance document is valid. Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating the UML Modeling Process

Attribute list statements generally describe four things:

Chapter 20element - Using a Modeling The with which Tool the attribute list is associated. Chapter 21 - Customizing UML Using Profiles

The each attribute in the list. Chapter 22name - XMLof Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

The data types of the attributes.

Appendix - Standard Elements TheC default value of each attribute. Glossary

In the following movie element example, the ATTLIST statement first specifies that the attribute list Index pertains to the element movie. The next three lines specify the names of three attributes, their types, List of Figures constraints, List of Tables and default values.
List of Listings

<!ELEMENT movie> <!ATTLIST movie is_DVD (yes | no) serialNumber ID UML Bible CDATA Description by Tom Pender >

< Day Day Up >

"yes" #REQUIRED #IMPLIED


ISBN:0764526049

John Wiley & Sons 2003 (940 pages)

As you can see, there is an attribute named is_DVD , withof a 1.4 constraint comprehensive coverage of the versatility and 2.0(yes UML | no), and a constraint specifications, and shows howserialNumber to use UML to improve default value of "yes" . The attribute named is of type ID, and it is required timeliness, quality, and efficiency in development. (#REQUIRED). The Description attribute is of type CDATA (Character Data), and it is optional (specified by the #IMPLIED statement). Companion Web Site
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

For beginning to advanced users, this book provides

XML entities

In XML, entities provide a mechanism for associating a name with a piece of text (generally a long piece of text that is used repeatedly in a document) so that you can replace the text with the entity name wherever Preface the text is found in the XML document. This makes the XML more compact, and also makes changes Part I - An Introduction to UML more easily performed-if you need to change the text, you only have to change it in one place.
Chapter 1 - What Is UML? Chapter 2 Architecture There are aUML number of types of entities, including external entities (in which the replacement text resides in Chapter 3 external - UML Diagrams anddocument), Extension Mechanisms a text file to the XML and internal entities (in which the replacement text resides in the Chapter 4 - of Object-Oriented Concepts declaration the entity). The following line is an example of an internal entity:
Part II - Modeling Object Structure

Chapter 5 - Capturing Rules about Objects in a Class Diagram <!Entity> entityname "Some replacement text"/> Chapter 6 Chapter 7 - How to Capture Rules about Object Relationships - Testing with Objects

Contrast this to an external entity, which Part III - Modeling Object Interactions located: Chapter 8
Chapter 9

references an external document in which replacement text is

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's SYSTEM Lifecycle in UML 1.4 <!Entity> % entityname

"http://www.popkin.com/customers/xxxx.xml"/> Chapter 11 - Modeling an Object's Lifecycle in UML 2.0


Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Namespaces

Chapter 14 - Modeling the Application Architecture Namespaces provide a uniqueness of element names. When mixing elements from different XML Chapter 15 - Modeling Using the Component Diagramname used for two different things. For applications, you are Software likely to encounter the same element

example, instance document may have an element named Title referring to the title of a person in Chapter 16 an - Using Deployment Diagrams in UML 1.4 one DTD, and an element Title Chapter 17 Representing annamed Architecture in referring UML 2.0 to the title of an HTML page from a different DTD. Namespaces enable you to use both Part VI - Bringing Rigor to the Model
Chapter 19 - Action Semantics

elements in the same instance document as long as you specify

which namespace each refers to - the for example, Person:Title and HTML:Title. Chapter 18 - Applying Constraints to UML Diagrams Namespaces in XML are identified by a Uniform Resource Identifier (URI) or Uniform Resource Locator (URL). This allows each namespace to be universally unique, as it needs to be if you are viewing element Chapter 20 - Using a Modeling Tool and attribute names from all over the Internet. A URI is a superset of URLs. A URI is a more general way Chapter 21 - Customizing UML Using Profiles of locating a resource than a URL, which specifies the exact physical location.
Part VII - Automating the UML Modeling Process

Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

XML keywords

Glossary through the use of operators. Table 22-1 presents these operators, which are always expressed in Index Extended Backus-Naur Form (EBNF) notation. You will see firsthand how some of these are used later in List of Figures when you examine some sample XMI documents. this chapter, List of Tables List of Listings

As you play in the world of XMI, you will need to know that the rules are specified on XMI by its DTD,

Table 22-1: Content Model Operators EBNF symbol


UML Bible

< Day Day Up >

Meaning

(empty space) by Tom Pender Required ISBN:0764526049 John Wiley & Sons 2003 (940 pages) Strict ordering ' | + * ? () version="1.0" encoding="ISO-8859-1"?> <?xml Table of Contents
UML Bible Preface For beginning to advanced users, this book provides A selection or choice comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UMLor tomore improve One timeliness, quality, and efficiency in development. Companion Web Site

Zero or more Zero or one (optional) Grouping

Table 22-2 presents various combinations of elements grouped using the operators in Table 22-1. Although some of the examples may seem straightforward, Table 22-2 can be a very handy table to Part I - An Introduction to UML reference when you are interpreting XMI, as you will see later in this chapter. (Table 22-1 is adapted with Chapter 1 - What Is UML? changes from XML Applications, Wrox Press, Inc., 1998.)
Chapter 2 Chapter 3 - UML Architecture - UML Diagrams and Extension Mechanisms Table 22-2: Various Element Content Declarations Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure Content Explanation

Chapter 5 model Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part Interactions A III - Modeling Object The single element

A is expected.

A|B

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Either A or B is expected.

A, B 10 - Modeling Two expected, A and B, in that order. Chapter an elements Object's Lifecycle in UML 1.4
Chapter an elements Object's Lifecycle in UML A, B ?11 - Modeling Two are allowed. A 2.0 is expected, B is optional.
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application Architecture

(A, B, C)

Three elements are expected, A and B and C, in that order.

Chapter Behavior Using an Activity A Diagram A, (B |13 C)- Modeling Two elements are allowed. is expected, followed by either B or C. Chapter 14 - Modeling the Application Architecture

(B | C)*

Any number of B and/or C expected.

A, (B |15 C)* Two elements are allowed. A is expected Chapter - Modeling Software Using the Component Diagram followed by any number of B and/or C, including none. Chapter 16 - Using Deployment Diagrams in UML 1.4
Chapter - Representing an Architecture UML 2.0 A, (B |17 C)+ At least two elements in are expected, A followed by at least one of B or C. Any
Part VI - Bringing Rigor to the number ofModel B and C

may follow.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

A | (B, C)

Either A is expected, or B followed by C is expected.

Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UML Bible Using XMI to Exchange Information Between Modeling Tools by Tom Pender
ISBN:0764526049

To exchange information between modeling tools, they must both support a common XMI version. John Wiley & Sons two 2003 (940 pages) Most UML modeling tools support XMI version 1.0. Some tools also support XMI 1.1 or later versions. The For beginning to advanced users, this book provides instance document for XMI 1.0 and 1.1 look quite different, although both versions are commercially comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, andfor shows how to use UML to improve acceptable and will have shelf life the foreseeable future. If you learn how data are represented in XMI timeliness, quality, and efficiency in 1.0, development. 1.1, and then look at an instance document in XMI it will take you some time to understand the XMI 1.0 document. Therefore, we'll take aSite look at representing a simple UML model in both XMI 1.0 and XMI Companion Web 1.1.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

Exchanging information using XMI 1.0

XMI 1.0 is the first commercial release of the XMI specification. A majority of UML modeling tools support the XMI 1.0 specification, so it is the current common denominator in exchanging UML models between Part I - An Introduction to UML tools.
Chapter 1 - What Is UML? Chapter 2 1.0 - UML Architecture The XMI specification relies heavily on the use of XML elements and less so on the use of XML Chapter 3 UML Diagrams Extension Mechanisms attributes that XMI 1.1 andand later specifications use. However, understanding XMI 1.0 will give you a good Chapter 4 -in Object-Oriented Concepts grounding how UML information is represented in XMI, and how most XMI interchange tools on the
Part II - Modeling Object Structure market today work.

Chapter 5 Chapter 6 Chapter 7

- Capturing Rules about Objects in a Class Diagram - Testing with Objects

- How to Capture Rules about Object Relationships XMI 1.0 instance document

Part III - Modeling Object Interactions The following code represents a typical

XMI 1.0 instance document generated from a modeling tool. It is a

Chapter 8an- .XML Modeling Interactions in UML 1.4 it in a browser such as Internet Explorer, and when you do, the file with extension. You may open Chapter 9 will - Modeling Interactions UML 2.0 of XML as specified by the W3C, making sure that it conforms. browser parse the file againstin the rules Chapter 10 - Modeling ansee Object's UML 1.4 configured; if each tree has been started with an The parsing checks to if the Lifecycle markup in is correctly

opening bracket ( <), an and has a corresponding closing bracket ( />); and so forth. It also checks to see if Chapter 11 - Modeling Object's Lifecycle in UML 2.0 the IV hierarchy of the information is Part - Modeling Object Behavior correctly laid out.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter - Modeling Behavior Using an Activity Diagram <?xml13 version="1.0"?>
Part V - Modeling theSYSTEM Application Architecture <!DOCTYPE XMI "UML.DTD">

Chapter 14 - Modeling the Application Architecture <XMI xmi.version ="1.0"?>

+ <XMI.header> Chapter 15 - Modeling Software Using the Component Diagram + <XMI.content> Chapter 16 - Using Deployment Diagrams in UML 1.4 </XMI> Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

TheDOCTYPE statement specifies that the document is validated by the UML.DTD. Since a path is not specified, this DTD must exist in the path of the XML instance document. The entire DTD could have been Part VII - Automating the UML Modeling Process placed in the instance document, but in this case, the reference to it makes the code less unwieldy and Chapter 20 - Using a Modeling Tool easier to read. The version of XMI is also specified as 1.0.
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XMLsection Metadata Interchange The header Appendix A - UML 1.4 Notation Guide

XMI contains two main sections - the XMI.header and the XMI.content - that were not yet expanded in Appendix B - UML 2.0 Notation Guide the preceding example. (The + next to these sections indicates that these sections have not been Appendix C - Standard Elements expanded.) Glossary
Index List of Figures List of Tables

Clicking on the + next to <XMI.header> expands the header section, as the following shows: <?xml version="1.0"?>

List of Listings

<!DOCTYPE XMI SYSTEM "UML.DTD"> < Day Day Up > <XMI xmi.version="1.0"> <XMI.header> <XMI.documentation> UML Bible <XMI.exporter>Popkin Software</XMI.exporter> ISBN:0764526049 by Tom Pender <XMI.exporterVersion>1.0.1</XMI.exporterVersion> John Wiley & Sons 2003 (940 pages) </XMI.documentation> <XMI.metamodel xmi.name="UML" xmi.version="1.3"/> For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML </XMI.header>
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Now you can see thatCompanion the header section Web Site contains documentation, which includes two tag values: exporter (the name of the maker of the software tool from which this XMI was generated - Popkin Software, in this example) and exporterVersion (the version of the exporter application - 1.0.1, in this <?xml version="1.0" encoding="ISO-8859-1"?> case).
Table of Contents UML Bible The content Preface
Part I content - An Introduction to UML the The section contains

section
guts of the information concerning the UML models. The best way to

Chapter 1 - What Is UML? understand how UML models are presented in XMI is to look at some examples, so let's take a look at use

cases and class diagram structures. XMI supports information contained in all nine UML diagram Chapter 2 -various UML Architecture types. 3 Chapter
Chapter 4 Chapter 5 Chapter 6 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram

Part II - Modeling Object Structure

Example of a use case

We use a very simple example of a use case named Order Product that models a customer placing an - How to Capture Rules about Object Relationships order of a product. Figure 22-1 shows this use case, wherein a customer, modeled as an actor, orders a Chapter 7 - Testing with Objects product.
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0

Figure 22-1:Rigor Simple useModel case of Part VI - Bringing to the


Chapter 19 - Action Semantics

a customer ordering a product.

Chapter 18 - Applying Constraints to the UML Diagrams

The XMI for this use case information is represented in the content section of the XMI instance document, which contains information for all of the UML models generated. Listing 22-1 shows the XMI for only the Part VII - Automating the UML Modeling Process Order Product use case, not for the entire Use Case model.
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML for Using Profiles Listing 22-1: XMI 1.0 Code Order Product Use Case Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

<Behavioral_Elements.Use_Cases.UseCase xmi.id="S.10226"> <Foundation.Core.ModelElement.name>Order Product Appendix C - Standard Elements </Foundation.Core.ModelElement.name> Glossary <Foundation.Core.ModelElement.visibility xmi.value="public"/> Index<Foundation.Core.GeneralizableElement.isRoot xmi.value="true"/> List of<Foundation.Core.GeneralizableElement.isLeaf Figures xmi.value="true"/> List of<Foundation.Core.GeneralizableElement.isAbstract Tables xmi.value="false"/> List of<Behavioral_Elements.Use_Cases.UseCase.extensionPoint/> Listings

<Foundation.Core.Classifier.associationEnd> < Day Day Up > <Foundation.Core.AssociationEnd xmi.idref="IN.2"/> </Foundation.Core.Classifier.associationEnd> <Foundation.Core.Classifier.associationEnd> UML Bible <Foundation.Core.AssociationEnd xmi.idref="IN.3"/> ISBN:0764526049 by Tom Pender </Foundation.Core.Classifier.associationEnd> John Wiley & Sons 2003 (940 pages) <Foundation.Core.Classifier.associationEnd> <Foundation.Core.AssociationEnd For beginning to advanced users, thisxmi.idref="E.22"/> book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML </Foundation.Core.Classifier.associationEnd> specifications, and shows how to use UML to improve <Foundation.Core.ModelElement.taggedValue> timeliness, quality, and efficiency in development. <Foundation.Extension_Mechanisms.TaggedValue> Companion Web Site <Foundation.Extension_Mechanisms.TaggedValue.tag>documentation </Foundation.Extension_Mechanisms.TaggedValue.tag> <Foundation.Extension_Mechanisms.TaggedValue.value>To order a <?xml version="1.0" encoding="ISO-8859-1"?> product, the customer may use the company's internet site or Table of Contents phone the sales department. The customer must specify the part UML Bible name and number, and how many items he or she wishes to order. Preface The sales interface (either internet form or salesperson) must Part I - An Introduction to UML provide total price to customer and receive confirmation from Chapter 1 - What Is UML? customer that they wish to order after being told the total Chapter 2 - UML Architecture price. Sales interface must ascertain customer has enough credit Chapter 3 - UML and Extension Mechanisms to Diagrams cover purchase before placing order. Chapter 4 - Object-Oriented Concepts </Foundation.Extension_Mechanisms.TaggedValue.value> Part II - Modeling Object Structure </Foundation.Extension_Mechanisms.TaggedValue> Chapter 5 <Foundation.Extension_Mechanisms.TaggedValue> - Capturing Rules about Objects in a Class Diagram Chapter 6 - How to Capture Rules about Object Relationships <Foundation.Extension_Mechanisms.TaggedValue.tag>Responsible Chapter 7 - Testing with Objects Analyst</Foundation.Extension_Mechanisms.TaggedValue.tag> Part III - Modeling Object Interactions <Foundation.Extension_Mechanisms.TaggedValue.value>Fred Chapter 8 - Modeling Interactions in UML 1.4 Modeler</Foundation.Extension_Mechanisms.TaggedValue.value> Chapter 9 </Foundation.Extension_Mechanisms.TaggedValue> - Modeling Interactions in UML 2.0 </Foundation.Core.ModelElement.taggedValue> Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 </Behavioral_Elements.Use_Cases.UseCase> Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram Chapter 14 - Modeling the Application Architecture

Notice that the Order Product Use Case is described within the Behavioral_Elements.Use_Cases.UseCase tag. Its name is the first element specified, on the line Part V - Modeling the Application Architecture <Foundation.Core.ModelElement.name>Order Product.
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16code - Using Deployment Diagrams in UML 1.4Case was found deep down in the XMI for the Use Case The XMI snippet for the Order Product Use Chapter 17 Representing an Architecture in UML 2.0 document, you navigate the hierarchy structure of the model. Remember that when you navigate an XMI
Part VI - Bringing Rigor toXMI the is Model UML metamodel, since a mapping

of the UML metamodel to XML. So if you navigate the XMI

Chapter 18document, - Applying or Constraints to the UML Diagrams instance the corresponding DTD, you navigate the same UML metamodel hierarchy. Use Chapter Action Semantics Cases,19 for-example, are defined within the Behavioral Elements package of the UML metamodel. This
Part VII - Automating the UML Modeling Process package exists within the UML's Model_Management

package, which is contained within the UML's Foundation.Core.Namespace.ownedElement package of the Model_Management.Model. To get a clearer Chapter 20 - Using a Modeling Tool look at this hierarchical structure, examine Figure 22-2, which uses XML Notepad to present the XMI Chapter 21 - Customizing UML Using Profiles shown in Listing 22-1. Chapter 22 - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

Figure 22-2: Package hierarchy presented for XMI of overall Order System Use Case model.

Chapter 5 - Capturing Rules about Objects in a Class Diagram XML Notepad presents a different user interface than a typical code editor. XML Notepad enables you to Chapter 6 How to Capture Rules about Object Relationships see the hierarchy of this instance document more clearly. The package structure of the XMI instance Chapter 7 -is Testing Objects document on the with left side of the screen in Figure 22-2, and the data values of the XMI are on the right.
Part III - Modeling Object Interactions The Foundation.Core.Namespace.ownedElement

package contains numerous subpackages of which one

Chapter 8 - Modeling Interactions in UML 1.4 (the Behavioral_Elements.Use_Cases.UseCase package) is highlighted and expanded. Underneath this package, see the elements of Use Chapter 9 you - Modeling Interactions inthe UML 2.0Case - name, visibility, isRoot, isLeaf,

isAbstract , and so forth. To the right of you see the value Chapter 10 - Modeling an Object's Lifecycle in Foundation.Core.ModelElement.name, UML 1.4 Order11 Product . We'll examine these properties Chapter - Modeling an Object's Lifecycle in UML 2.0more in the coming paragraphs.
Part IV - Modeling Object Behavior

As previously stated, the Foundation.Core.Namespace.ownedElement package has a number of subpackages in addition to the one for Order Product. Directly below it is the package Chapter 13 - Modeling Behavior Using an Activity Diagram Behavioral_Elements.Use_Cases.Actor (that is the actor in our Use Case diagram), followed by the Part V - Modeling the Application Architecture package Foundation.Core.Association, which is the association between the Use Case and the Actor in the Chapter 14 - Modeling the Application Architecture Use Case diagram.
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 Using Deployment Diagrams in UML 1.4 Below the expanded Behavioral_Elements.Use_Cases.UseCase package for Order Product (and its eight Chapter 17 - Representing an Architecture in UML 2.0 subpackages) are four other packages (starting with Foundation.Core.Association): two other Associations
Part - Bringing Rigor to the Model andVI two other use cases. These are

the other two use cases in our diagram, with appropriate associations

- in XMI, an Extends Constraints and an Includes relationship are both treated as associations with stereotype of Chapter 18 - Applying to the UML Diagrams Extend19 or Include. You would see their names and stereotypes if you extended each package. Chapter - Action Semantics
Part VII - Automating the UML Modeling Process

Moving up in the structure, notice that the overall Foundation.Core.Namespace.ownedElement package is one of a number of packages of Model_Management. Package, and the name of the particular Chapter 21 - Customizing UML Using Profiles Model_Management.Package is Order_System. This corresponds to the package that our Use Case Chapter 22 - XML Metadata Interchange diagram was created in within the modeling tool. The Model_Management.Package is one of a number of Appendix A - UML 1.4 Notation Guide packages belonging to the Model_Management.Model package UML_Bible.UDL. This corresponds to the Appendix - UML 2.0 model Notation Guide name ofBthe overall - in this case the name of the modeling tool's repository in which all of this Appendix C Standard Elements information was created. (UDL stands for Universal Data Locator. This modeling tool happens to use SQL Glossary Server as the repository, and the UDL file points at the database on a server. In XMI terms, it is simply the Index name of the overall model.)
Chapter 20 - Using a Modeling Tool List of Figures

Soof far you have examined the XMI instance document, which contains the actual data of the UML Use List Tables Case model. The hierarchy of this instance document must match the UML.DTD to be valid. In addition, List of Listings

the UML.DTD specifies certain rules for the XMI instance document that must hold true for the instance < Day Day Up > document to be valid. Listing 22-2 shows a snippet of code for the UML.DTD corresponding to the instance document of Listing 22-1 for the use case. Listing 22-2: UML.DTD of XMI 1.0 for Use Case Definition UML Bible
ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) <! -- METAMODEL CLASS: UseCase -- > For beginning to advanced users, this book provides <! -- ________________________________________________________ --> comprehensive coverage of the versatility of 1.4 and 2.0 UML <!ELEMENT specifications, and shows how to use UML to improve Behavioral_Elements.Use_Cases.UseCase.extensionPoint ANY > timeliness, quality, and efficiency in development.

<!ELEMENT Behavioral_Elements.Use_Cases.UseCase ( Companion Web Site Foundation.Core.ModelElement.name, Foundation.Core.ModelElement.visibility, Foundation.Core.GeneralizableElement.isRoot, <?xml version="1.0" encoding="ISO-8859-1"?> Foundation.Core.GeneralizableElement.isLeaf, Table of Contents Foundation.Core.GeneralizableElement.isAbstract, UML Bible PrefaceBehavioral_Elements.Use_Cases.UseCase.extensionPoint, Part I -XMI.extension*, An Introduction to UML Foundation.Core.ModelElement.constraint*, Chapter 1 - What Is UML? Foundation.Core.ModelElement.requirement*, Chapter 2 - UML Architecture Foundation.Core.ModelElement.provision*, Chapter 3 - UML Diagrams and Extension Mechanisms Foundation.Core.ModelElement.stereotype*, Chapter 4 - Object-Oriented Concepts Foundation.Core.ModelElement.elementReference*, Part II - Modeling Object Structure Foundation.Core.ModelElement.collaboration*, Chapter 5 - Capturing Rules about Objects in a Class Diagram Foundation.Core.ModelElement.partition?, Chapter 6 - How to Capture Rules about Object Relationships Foundation.Core.ModelElement.template?, Chapter 7 - Testing with Objects Foundation.Core.ModelElement.templateParameter*, Part III - Modeling Object Interactions Foundation.Core.ModelElement.view*, Chapter 8 - Modeling Interactions in UML 1.4 Foundation.Core.ModelElement.presentation*, Chapter 9 - Modeling Interactions in UML 2.0 Foundation.Core.ModelElement.namespace?, Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Foundation.Core.ModelElement.behavior*, Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Foundation.Core.ModelElement.binding?, Part IVFoundation.Core.ModelElement.implementation*, - Modeling Object Behavior Chapter 12 - Modeling the Use of a System with the Use Case Diagram Foundation.Core.GeneralizableElement.generalization*, Foundation.Core.GeneralizableElement.specialization*, Chapter 13 - Modeling Behavior Using an Activity Diagram Foundation.Core.Classifier.parameter*, Part V Modeling the Application Architecture Foundation.Core.Classifier.structuralFeature*, Chapter 14 - Modeling the Application Architecture Foundation.Core.Classifier.specification*, Chapter 15 - Modeling Software Using the Component Diagram Foundation.Core.Classifier.associationEnd*, Chapter 16 - Using Deployment Diagrams in UML 1.4 Foundation.Core.Classifier.participant*, Chapter 17 - Representing an Architecture in UML 2.0 Part VIFoundation.Core.Classifier.createAction*, - Bringing Rigor to the Model Foundation.Core.Classifier.instance*, Chapter 18 - Applying Constraints to the UML Diagrams Foundation.Core.Classifier.collaboration*, Chapter 19 - Action Semantics Foundation.Core.Classifier.classifierRole*, Part VII - Automating the UML Modeling Process Foundation.Core.Classifier.realization*, Chapter 20 - Using a Modeling Tool Foundation.Core.Classifier.classifierInState*, Chapter 21 - Customizing UML Using Profiles Foundation.Core.ModelElement.taggedValue*, Chapter 22 - XML Metadata Interchange Foundation.Core.Namespace.ownedElement*, Appendix A - UML 1.4 Notation Guide Foundation.Core.Classifier.feature*)? Appendix B > - UML 2.0 Notation Guide Appendix C - Standard Elements <!ATTLIST Behavioral_Elements.Use_Cases.UseCase Glossary %XMI.element.att; Index %XMI.link.att; List > of Figures
List of Tables List of Listings

Day Day Upto > the instance document. In fact, they should Notice how similar the use case properties of < the DTD are be the same. A careful examination of the DTD will reveal the rules that it is specifying.

The first five use case properties - name, visibility, isRoot, isLeaf, and isAbstract - are UML Bible mandatory. This rule is specified by the fact that there is no EBNF modifier after the property (see Table ISBN:0764526049 by Tom Pender 22-2, which shows that having no EBNF modifier means the property is mandatory). A modeling tool must John Wiley & Sons 2003 (940 pages) support these properties, a person modeling a system must specify a value for them, and, as a For beginning to advanced this tool bookmust provides consequence, any XMI generated from theusers, modeling contain these properties and have values comprehensive coverage of the versatility of 1.4 and 2.0 UML for them. Most modeling tools provide a default value for these properties, so that they have a value if the specifications, and shows how to use UML to improve user forgets to specify one. quality, and efficiency in development. timeliness,
Companion Web Site The use case definition has a number of other properties that have the asterisk (*) after them, such as extension, constraint, requirement, and stereotype. This is EBNF notation specifying that there are zero or more values for these properties. These are mandatory properties according to the UML specification, but <?xml version="1.0" encoding="ISO-8859-1"?> theirof values could be zero. For example, a UML modeling tool should provide a stereotype property for a Table Contents useBible case, but the modeler does not have to specify a stereotype value for a particular use case that he or UML she models. It may be left blank (no stereotype). When XMI is generated, the instance document will not Preface contain any reference to the existence of that property. Part I - An Introduction to UML Chapter 1 case - What Is UML? The use definition has a number of properties, such as partition, template, namespace, and binding Chapter 2 UML Architecture that have a question mark (?) after them. This is EBNF notation for an optional property. This means the Chapter 3 tool - UML Diagrams and Extension Mechanisms modeling does not have to support these properties at all, and they do not need to be in the XMI. Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5

Tagged values - Capturing Rules about Objects in a Class Diagram


a Use Case might be adding properties to enable a modeler to

Chapter How to Capture Rules about Object Relationships One of 6 the- important extensibility features of UML is tagged values, which have a direct correlation to XMI. Chapter 7 Testing with Objects The UML specification allows users to create their own properties within UML definition types using tagged
Part III - Examples Modeling Object Interactions values. of tagged values for

Chapter - Modeling Interactions in UML 1.4 write a 8 description for the Use Case, or capture the name of the analyst who designed the Use Case. UML Chapter 9 tools - Modeling Interactions in UML 2.0 users to extend the UML metamodel in this way. To fully modeling that support the MOF enable Chapter 10 Modeling an Object's Lifecycle in UML 1.4must support this sort of extensibility, and the transfer exchange data between modeling tools, both tools

mechanism must be an able to transfer this in information. Chapter 11 - Modeling Object's Lifecycle UML 2.0 XMI, of course, is a self-describing markup language, so tagged values are naturally expressed Part IV - Modeling Object Behavior by it. This gives XMI a significant advantage over any proprietary could be built between tools - once a proprietary interface is built, Chapter 12 - interface Modeling that the Use of a System with thetwo Usemodeling Case Diagram adding 13 tagged values to the metamodel of one of the tools means that the interface has to be modified in Chapter - Modeling Behavior Using an Activity Diagram order capture the andApplication transfer this information. Part V -to Modeling Architecture Using XMI, no modification is necessary; tagged values are naturally understood and put into the XMI. Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Foundation.Core.ModelElement.taggedValue* . The asterisk indicates that a use case can have Chapter - Representing an Architecture in UML zero or17 more tagged values. Take another look2.0 at the XMI instance document in XML Notepad. Figure 22Part VI - Bringing Rigor to the Model

One of the properties in the UML.DTD in Listing 22-2 is called

3 shows the tagged value package of the Place Order use case expanded.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4

- What Is UML? - UML Architecture

Figure 22-3: XMI instance document, with taggedValue property expanded for Order Product Use Case. - UML Diagrams and Extension Mechanisms
- Object-Oriented Concepts

Part II - Modeling Structure You can see two Object tagged values for

the Order Product use case in Figure 22-3. Each one has a tag

Chapter 5 - Capturing Rules about Objects in a Class Diagram (Foundation.Extension_Mechanisms.TaggedValue.tag ) and a value. The tag provides the Chapter 6 the - How to Capture about Objectdocumentation, Relationships name of property - one Rules property is called and the other is called Responsible Analyst.

The value isTesting the modeling data captured for this use case for the property. For the documentation Chapter 7 with Objects property, there is a textual description Part III - Modeling Object Interactions
Chapter 8 Chapter 9

that starts with the words "To order a product,.".

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

The Responsible Analyst for this use case is a person named Fred Modeler. Here's the actual code (from - Modeling Interactions in UML 2.0 near the end of the XMI shown in Listing 22-1):

- Modeling Interactions in UML 1.4

<Foundation.Core.ModelElement.taggedValue> Part IV - Modeling Object Behavior <Foundation.Extension_Mechanisms.TaggedValue> <Foundation.Extension_Mechanisms.TaggedValue.tag>documentation Chapter 13 - Modeling Behavior Using an Activity Diagram </Foundation.Extension_Mechanisms.TaggedValue.tag> Part V - Modeling the Application Architecture <Foundation.Extension_Mechanisms.TaggedValue.value> To order a Chapter 14 - Modeling the Application Architecture product, the customer may use the company's internet site or Chapter 15 - Modeling Software Using the Component Diagram phone the sales department. The customer must specify the part Chapter 16 - Using Deployment Diagrams in UML 1.4 name and number, and how many items he or she wishes to order. Chapter 17 - Representing an Architecture in UML internet 2.0 The sales interface (either form or salesperson) must Part VI - Bringing Rigor to the Model provide total price to customer and receive confirmation from Chapter 18 - Applying Constraints to wish the UML Diagrams customer that they to order after being told the total Chapter 19 - Action Sales Semantics price. interface must ascertain customer has enough credit Part VII - to Automating UML Modeling Process cover the purchase before placing order. Chapter 20 - Using a Modeling Tool </Foundation.Extension Mechanisms.TaggedValue.value> Chapter 21 - Customizing UML Using Profiles </Foundation.Extension_Mechanisms.TaggedValue> Chapter 22 - XML Metadata Interchange <Foundation.Extension_Mechanisms.TaggedValue> <Foundation.Extension_Mechanisms.TaggedValue.tag>Responsible Appendix A - UML 1.4 Notation Guide Analyst</Foundation.Extension_Mechanisms.TaggedValue.tag> Appendix B - UML 2.0 Notation Guide <Foundation.Extension_Mechanisms.TaggedValue.value>Fred Appendix C - Standard Elements Glossary Modeler</Foundation.Extension_Mechanisms.TaggedValue.value> Index</Foundation.Extension_Mechanisms.TaggedValue> </Foundation.Core.ModelElement.taggedValue> List of Figures
Chapter 12 - Modeling the Use of a System with the Use Case Diagram List of Tables List of Listings

< < Day Day Day Day Up Up > >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Exchanging Information Using XMI 1.1 by Tom Pender


ISBN:0764526049

The UML.DTD for XMI 1.1 is from XMI 1.0. The most significant difference is the use of John Wiley &quite Sons different 2003 (940 pages) namespaces. Namespaces were not used users, in XMIthis 1.0 book because at the time that the specification was For beginning to advanced provides written, the W3C comprehensive had not finalized the official recommendation Namespaces. All names need to be fully coverage of the versatility of 1.4 of and 2.0 UML specifications, and shows how to use1.0 UML to improve qualified in the XMI 1.0 spec, which makes any XMI instance document very long winded. Instance timeliness, quality, and compact efficiency and in development. documents for XMI 1.1 are much more easier to read than those for XMI 1.0. However, at the time of this writing, not all modeling tools support XMI 1.1. Companion Web Site
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

XMI 1.1 instance document


chapter.

The following code shows an XMI 1.1 instance document for the Use Case model shown earlier in this UML Bible
Preface
Part I - An Introduction to UML

<?xml1 version="1.0" Chapter - What Is UML? encoding="IS0-8859-1" ?> - <XMI xmlns:UML="//org.omg/UML/1.3"> Chapter 2 xmi.version="1.1" - UML Architecture + <XMI.header> Chapter 3 - UML Diagrams and Extension Mechanisms + <XMI.content> - Object-Oriented Concepts </XMI> Part II - Modeling Object Structure
Chapter 4 Chapter 5 - Capturing Rules about Objects in a Class Diagram Chapter 6 - How to Capture Rules about Object The document contains a header section and Relationships a content section, as did the XMI 1.0 instance document. Chapter 7 - Testing with Objects
Part III - Modeling Object Interactions The second line of the instance document

specifies that the version of XMI used is 1.1. It also specifies the

namespace: xmlns:UML. This means that the namespace is declared as UML. In the next section, you see Chapter 8 - Modeling Interactions in UML 1.4 how this TheInteractions logical URI in is UML specified Chapter 9 is-used. Modeling 2.0 as //org.omg/UML/1.3.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

The header section Chapter 11 - Modeling an Object's Lifecycle in UML 2.0


Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

The following code shows the expanded header section, which is very similar to the header of XMI 1.0. It specifies the vendor that generated the XMI (TogetherSoft), and the version of the export utility (6.0).

<?xml version="1.0" encoding="IS0-8859-1" ?> - <XMI xmi.version="1.1" xmlns:UML="//org.omg/UML/1.3"> Chapter 15 - Modeling Software Using the Component Diagram - <XMI.header> Chapter 16 - Using Deployment Diagrams in UML 1.4 - <XMI.documentation> Chapter 17 - Representing an Architecture in UML 2.0 <XMI.exporter>TogetherSoft</XMI.exporter> Part VI - Bringing Rigor to the Model <XMI.exporterVersion>6.0</XMI.exporterVersion> Chapter 18 - Applying Constraints to the UML Diagrams </XMI.documentation> Chapter 19 - Action Semantics <XMI.metamodel xmi.name="UML" xmi.version="1.4" /> Part VII - Automating the UML Modeling Process </XMI.header> Chapter 20 - Using a Modeling Tool + <XMI.content> Chapter 21 - Customizing UML Using Profiles </XMI>
Chapter 14 - Modeling the Application Architecture Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

The content section Appendix B - UML 2.0 Notation Guide


Appendix C - Standard Elements Glossary Index

All of the information about the UML models themselves is contained in the content section. Here's a snippet of code from the content section for the Order Product Use Case.

List of Figures

<UML:UseCase xmi.id = 'S.10' List of Tables


List of Listings

name = 'Order Product'

visibility = 'package' isSpecification = 'false' isAbstract = 'false'> </UML:UseCase>


UML Bible by Tom Pender

< Day Day Up >

ISBN:0764526049

Notice that it is much than(940 thepages) equivalent specification of this Use Case element in the XMI Johnmore Wiley compact & Sons 2003 1.0 instance document. There are two reasons for this: useprovides of a namespace and use of XML attributes For beginning to advanced users, this book instead of child elements. comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Use of namespaces Companion Web Site

The use of a namespace (in this case, "UML") makes the declaration of the UseCase element much more compact. In the opening and closing tags above, the namespace UML: replaces the fully qualified name <?xml version="1.0" encoding="ISO-8859-1"?> (Behavioral_Elements.UseCases) that existed in the XMI 1.0 instance document, shown previously and Table of Contents repeated below.
UML Bible Preface <Behavioral_Elements.Use_Cases.UseCase xmi.id="S.10226">
Part I - An Introduction to UML

...

Chapter 1 - What Is UML? </Behavioral_Elements.Use_Cases.UseCase> Chapter 2 Chapter 3 - UML Architecture - UML Diagrams and Extension Mechanisms

Chapter 4 attributes - Object-Oriented Concepts Use of


Part II - Modeling Object Structure

To see5 how attributes Rules are used in Objects the XMIin instance document, let's look at the UML.DTD for XMI 1.1 in Chapter - Capturing about a Class Diagram Listing 6 22-3. Chapter - How to Capture Rules about Object Relationships
Chapter 7 Chapter 8
Part III - Modeling Object Interactions

Listing 22-3: XMI 1.1 DTD Section for Use Cases


- Modeling Interactions in UML 1.4

- Testing with Objects

<! - Behavioral_Elements.Use_Cases.UseCase - -> Chapter 9 CLASS: - Modeling Interactions in UML 2.0


Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

<!ELEMENT UML:UseCase.extensionPoint (#PCDATA | XMI.reference)* > Part IV - Modeling Object Behavior <!ELEMENT UML:UseCase (UML:ModelElement.name | Chapter 12 - Modeling the Use of a System with the Use Case Diagram UML:ModelElement.visibility | Chapter 13 - Modeling Behavior Using an Activity Diagram UML:GeneralizableElement.isRoot | Part V - Modeling the Application Architecture UML:GeneralizableElement.isLeaf | Chapter 14 - Modeling the Application Architecture UML:GeneralizableElement.isAbstract | Chapter 15 - Modeling Software Using the Component Diagram UML:UseCase.extensionPoint | XMI.extension | Chapter 16 - Using Deployment Diagrams in UML 1.4 UML:ModelElement.binding | Chapter 17 - Representing UML:ModelElement.template an Architecture in UML 2.0 | Part VI - Bringing Rigor to UML:ModelElement.templateParameter the Model | Chapter 18 - Applying Constraints to the UML Diagrams UML:ModelElement.implementation | Chapter 19 - Action Semantics UML:ModelElement.view | Part VII - Automating the UML Modeling Process UML:ModelElement.presentation | Chapter 20 - Using a Modeling Tool UML:ModelElement.namespace | Chapter 21 - Customizing UML Using Profiles UML:ModelElement.constraint | | Chapter 22 - XML MetadataUML:ModelElement.requirement Interchange UML:ModelElement.provision | Appendix A - UML 1.4 Notation Guide UML:ModelElement.stereotype | Appendix B - UML 2.0 Notation Guide UML:ModelElement.elementReference | Appendix C - Standard Elements UML:ModelElement.collaboration | Glossary UML:ModelElement.behavior | Index UML:ModelElement.partition | List of Figures UML:GeneralizableElement.generalization | List of Tables UML:GeneralizableElement.specialization |
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 List of Listings

UML:Classifier.parameter | < Day Day Up > UML:Classifier.structuralFeature | UML:Classifier.specification | UML:Classifier.realization | UML Bible UML:Classifier.associationEnd | by Tom Pender UML:Classifier.participant ISBN:0764526049 | John Wiley & Sons 2003 (940 pages) UML:Classifier.createAction | UML:Classifier.instance For beginning to advanced users, this book | provides comprehensive coverage of the versatility of 1.4 and UML:Classifier.collaboration | 2.0 UML specifications, and shows how to use UML to improve UML:Classifier.classifierRole | timeliness, quality, and efficiency in development. UML:Classifier.classifierInState | Companion Web Site UML:ModelElement.taggedValue | UML:Namespace.ownedElement | UML:Classifier.feature)* > <?xml version="1.0" encoding="ISO-8859-1"?> <!ATTLIST UML:UseCase Table of Contents name CDATA #IMPLIED UML Bible visibility (public | protected | private) #IMPLIED Preface isRoot (false | true) #IMPLIED Part I - An Introduction to UML isLeaf (false | true) #IMPLIED Chapter 1 - What Is UML? isAbstract (false | true) #IMPLIED Chapter 2 - UML Architecture extensionPoint CDATA #IMPLIED Chapter 3 - UML Diagrams and Extension Mechanisms binding IDREFS #IMPLIED Chapter 4 - Object-Oriented Concepts template IDREFS #IMPLIED Part II - Modeling Object Structure templateParameter IDREFS #IMPLIED Chapter 5 - Capturing Rules about Objects in a Class Diagram implementation IDREFS #IMPLIED Chapter 6 - How to Capture Rules about Object Relationships view IDREFS #IMPLIED Chapter 7 - Testing with Objects presentation IDREFS #IMPLIED Part III - Modeling Object Interactions namespace IDREFS #IMPLIED Chapter 8 - Modeling Interactions in UML 1.4 constraint IDREFS #IMPLIED requirement IDREFS #IMPLIED Chapter 9 - Modeling Interactions in UML 2.0 provision IDREFS #IMPLIED Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 stereotype IDREFS #IMPLIED Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 elementReference IDREFS #IMPLIED Part IV - Modeling Object Behavior ModelElement.collaboration IDREFS #IMPLIED Chapter 12 - Modeling the Use of a System with the Use Case Diagram behavior IDREFS #IMPLIED Chapter 13 - Modeling Behavior Using an Activity Diagram partition IDREFS #IMPLIED Part V - Modeling the Application Architecture generalization IDREFS #IMPLIED Chapter 14 - Modeling the Application Architecture specialization IDREFS #IMPLIED Chapter 15 - Modeling Software Using the Component Diagram parameter IDREFS #IMPLIED Chapter 16 - Using Deployment Diagrams in UML 1.4 structuralFeature IDREFS #IMPLIED Chapter 17 - Representing an Architecture in UML 2.0 specification IDREFS #IMPLIED Part VI - Bringing Rigor to the Model realization IDREFS #IMPLIED Chapter 18 - Applying Constraints to the UML Diagrams associationEnd IDREFS #IMPLIED Chapter 19 - Action Semantics participant IDREFS #IMPLIED Part VII - Automating the UML Modeling Process createAction IDREFS #IMPLIED Chapter 20 - Using a Modeling Tool instance IDREFS #IMPLIED Chapter 21 - Customizing UML Using Profiles Classifier.collaboration IDREFS #IMPLIED Chapter 22 - XML MetadataclassifierRole Interchange IDREFS #IMPLIED Appendix A - UML 1.4 Notation Guide classifierInState IDREFS #IMPLIED Appendix B - UML 2.0 Notation Guide %XMI.element.att; %XMI.link.att; Appendix C - Standard Elements
Glossary Index List of Figures List of Tables

List of Listings

The XMI 1.1 DTD section for use cases looks appreciably different from the XMI 1.0 equivalent. In XMI 1.0, shown in Listing 22-2, the UseCase element had a number of child elements specified within parentheses,

each separated by a comma. The comma in XML specifies that the elements need to appear in the order < Day Day Up > that they are listed (see Table 22-2). Some elements, if you remember, are mandatory - those with no special annotation after them, such as visibility, isRoot, isLeaf, isAbstract. In Listing 22-3, we see Bible that a pipe (|), not a comma, separates the elements. This is equivalent to an or UML statement in XML the Use Case element contains the visibility child element or the isRoot child ISBN:0764526049 by Tom Pender element or the isLeaf child element, and so forth. This seems odd until you look at the end of the closing John Wiley & Sons 2003 (940 pages) parenthesis: For beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how ... | UML:Classifier.feature)* > to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

This is equivalent to the (B | C)* sample shown in Table 22-3. It indicates that you can have any number of these child elements in the XMI, in any order. What does this mean to you? It signifies that the ordering <?xml version="1.0" encoding="ISO-8859-1"?> restriction has been relaxed in XMI 1.1, so that these child elements may appear in any order. This makes Table of Contents the XMI itself a bit more flexible - if any one of these elements is out of order in XMI 1.0, the instance UML Bible document does not validate against the UML.DTD. If your modeling tool generated any of these values in Preface incorrect order, you could not validate the XMI against its DTD.
Part I - An Introduction to UML

Chapter 1 - What Is UML? The<!ATTLIST UML:UseCase declaration specifies the attributes for the Use Case element. The name

of the use case an attribute called name. It is CDATA and #IMPLIED.visibility, isLeaf, Chapter 2 UML is Architecture isRoot isAbstract are also represented as attributes that have #IMPLIED values that are Chapter 3 , and - UML Diagrams and Extension Mechanisms specified example, visibility Chapter 4 --for Object-Oriented Concepts can be public, private, protected, or package.
Part II - Modeling Object Structure

Chapter 5 Chapter 6

Take another look at the code snippet from the Order Product use case instance document:
- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

<UML:UseCase xmi.id = 'S.10' Chapter 7 - Testing with Objects nameObject = 'Order Product' Part III - Modeling Interactions visibility = 'package' isSpecification = 'false' Chapter 9 - Modeling Interactions in UML 2.0 isAbstract = 'false'> Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 </UML:UseCase>
Chapter 8 - Modeling Interactions in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12clearly - Modeling the Use a System with the Use Case Diagram You can see that fourof attributes are specified, with their values. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Tagged values

Chapter 14 - Modeling the Application Architecture

The original use case had more information than that represented in the code above. Remember, there Chapter 15 - Modeling Software Using the Component Diagram were tagged values such as Description Responsible Analyst. To find these tagged values, we open Chapter 16 - Using Deployment Diagrams inand UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

the entire instance document in XML Notepad (see Figure 22-4).

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure XMI 1.1 instance with TaggedValue property expanded for Order Product use Chapter 8 - 22-4: Modeling Interactions in document, UML 1.4
Chapter 9

case. - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4


Part IV - Modeling Object Behavior

Chapter 11in - which Modeling Object's Lifecycleresides. in UML 2.0 package thean use case element This is a very different structure than XMI 1.0. Your first

Notice that UML:TaggedValue is a separate package outside of the UML:Namespace.OwnedElement

question may be, "How do I know that tagged value belongs to the Order Product use case?" The answer for tagged values, shown in Listing 22-4.

Chapter 12 - through Modeling the Useof ofIDRefs. a System with the Use Case Diagram is provided the use Chapter 13 - Modeling Behavior Using an Activity Diagram

WeV go back to the DTD and find the specification Part - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Listing 22-4: Tagged Values Specified in XMI 1.1 DTD

<!-- CLASS: Foundation.Extension_Mechanisms.TaggedValue --> Chapter 17 - Representing an Architecture in UML 2.0 <!-Part VI -__________________________________________________ Bringing Rigor to the Model --> <!ELEMENT UML:TaggedValue.tag (#PCDATA Chapter 18 - Applying Constraints to the UML Diagrams | XMI.reference)* > <!ELEMENT UML:TaggedValue.value (#PCDATA | XMI.reference)* > Chapter 19 - Action Semantics <!ELEMENT UML:TaggedValue.modelElement Part VII - Automating the UML Modeling Process (UML:ModelElement)* > <!ELEMENT UML:TaggedValue.stereotype (UML:Stereotype)* > Chapter 20 - Using a Modeling Tool <!ELEMENT UML:TaggedValue (UML:TaggedValue.tag | Chapter 21 - Customizing UML Using Profiles UML:TaggedValue.value | XMI.extension | Chapter 22 - XML Metadata Interchange UML:TaggedValue.modelElement | Appendix A - UML 1.4 Notation Guide UML:TaggedValue.stereotype)* >
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary tag CDATA #IMPLIED Indexvalue CDATA #IMPLIED List ofmodelElement Figures IDREFS #IMPLIED List ofstereotype Tables IDREFS #IMPLIED List of%XMI.element.att; Listings

<!ATTLIST UML:TaggedValue

%XMI.link.att; >

< Day Day Up >

UML Bible

Examine the line by specifying the TaggedValue element: Tom Pender


John Wiley & Sons 2003 (940 pages)

ISBN:0764526049

For beginning to advanced users, this book provides <!ELEMENT UML:TaggedValue (UML:TaggedValue.tag | comprehensive coverage of the versatility of 1.4 and UML:TaggedValue.value | XMI.extension |2.0 UML specifications, and shows how to use UML to improve UML:TaggedValue.modelElement | timeliness, quality, and efficiency in development. UML:TaggedValue.stereotype)* > Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> elements. In our case, it interests us that a tagged value may have a referenced modelElement. Table of Contents

This is another example of (B | C)*, which means that the element can have any number of the child

UML Bible The following code, from the instance document in Figure 22-3, shows that the tagged value Preface documentation has a reference to a modelElement named S.10. To find what modelElement this tagged
Part I - is An Introduction UML value referenced to,to you simply need to

find out what S.10 is. Look again at the Order Product use case

Chapter 1 22-4; - What Is UML? inFigure you can see that it has an XMI.ID of S.10. Thus the documentation tagged value belongs Chapter 2 - UML Architecture to the Order Product use case. Specifying this using an ID reference makes for less wordy XMI code - the Chapter 3 - UML Diagrams and Extension Mechanisms documentation tagged value did not have to be prefaced by a long path name. Chapter 4 Chapter 5 Chapter 6 Chapter 7 - Object-Oriented Concepts
Part II - Modeling Object xmi.id Structure <UML:TaggedValue

= 'XX.2'

- Capturing Rules about Objects in a Class Diagram name = 'documentation' - How to Capture Rules Object Relationships modelElement =about 'S.10'> - Testing with Objects

Part III - Modeling Object Interactions <UML:TaggedValue.dataValue>To

order a product, the

Chapter 8 - Modeling UML 1.4 customer may Interactions use the in company's internet site or phone the

sales department. Theincustomer must specify the part name Chapter 9 - Modeling Interactions UML 2.0 and how many items Chapter 10 number, - Modeling and an Object's Lifecycle in UMLhe 1.4 or she wishes to order. The interface form or Chapter 11 sales - Modeling an Object's (either Lifecycle in internet UML 2.0 salesperson) must provide Part IV - Modeling Object Behavior total price to customer and receive confirmation from they wish to Chapter 12 - Modeling the Use of a Systemcustomer with the Usethat Case Diagram order after being told the total price. Sales interface Chapter 13 - Modeling Behavior Using an Activity Diagram must ascertain customer has enough credit to cover Part V - Modeling the Application Architecture purchase before placing order. Chapter 14 - Modeling the Application Architecture </UML:TaggedValue.dataValue> Chapter 15 - Modeling Software Using the Component Diagram </UML:TaggedValue>
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0 Chapter 18 - Applying Constraints to the UML Diagrams < Day Day Up > Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Diagram Interchange by Tom Pender


ISBN:0764526049

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents None of this information is important if XMI is being generated with the intention of using it with a coding UML Bible tool, wherein the XMI is translated to a coding language such as Java. But if the XMI is being used to Preface transfer information from one UML modeling tool to another, a serious bit of information is lost.
Part I - An Introduction to UML

The initial XMI specifications, 1.0 through John Wiley & versions Sons 2003 (940 pages) 1.3, have one serious flaw: the specifications themselves lack any information diagrams. What this means is that there is no information For beginning to concerning advanced users, this book provides concerning the existence of the diagrams themselves, their type (Use Case, comprehensive coverage of the versatility of 1.4 and 2.0 UML Class, Activity, and so forth), shows is how use UML to improve or what package specifications, each belongs and to. There no to information about which classifiers are represented as and efficiency in development. symbols on eachtimeliness, diagram's quality, workspace, how the symbols are positioned on the diagram's workspace, or what the lines that connect them Web lookSite like (straight connections or lines with bend points in them). There is Companion no information concerning the coloring of the symbols on the diagrams, the fonts used, the size of the symbols, and so on.

For example, if UML tool A contains a package with three Use Case diagrams, two Class diagrams, and Chapter 1 - What Is UML? six Sequence diagrams, and this information is ported to UML tool B, the XMI provides UML tool B with the Chapter 2 - UML Architecture package and alland of the definitions such as the use cases, classes, objects, and messages within Chapter 3 construct, - UML Diagrams Extension Mechanisms this package. It is up to the user to manually create the 11 diagrams in tool B, and drag the particular - Object-Oriented Concepts definitions onto each diagram. If UML modeling tool B understands the semantics of the relationships Part II - Modeling Object Structure between the classifiers, it should automatically draw the relationships between the symbols on the Chapter 5 - Capturing Rules about Objects in a Class Diagram diagram. Still, even with all of this manual work by the user, the exact positioning of symbols on the Chapter 6 - How to Capture Rules about Object Relationships diagram is lost.
Chapter 4 Chapter 7 - Testing with Objects
Part III - Modeling Object Interactions The OMG recognized this important deficiency

in the XMI specification, and to correct it, issued a Request

Chapter 8 - Modeling Interactions in UML 1.4 for Proposal (RFP) for a Diagram Interchange specification. Three proposals were submitted to the OMG Chapter 9 - Modeling Interactions in UML 2.0 in response to this RFP. The submitters agreed to join their proposals into one specification, which was Chapter 10 - the Modeling in 2.0. UML 1.4 adopted by OMGan to Object's coincideLifecycle with UML Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

OMG's mandates the Diagram Part IV - RFP Modeling Objectthat Behavior

Interchange specification support the following diagramming features: Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram Diagram placement (X, Y, and optional Z coordinates)
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Grouping of diagram elements Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0 Fonts
Part VI - Bringing Rigor to the Model

Alignment of diagram elements

Chapter 18 - Applying Constraints Support for Character sets to the UML Diagrams Chapter 19 - Action Semantics

Color Part VII - Automating the UML Modeling Process


Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Visibility on artifacts (for example, hiding or showing operations in a class, or classes on a diagram) Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

Attachment points on relationships

Non-UML artifacts on diagrams (for example, artifacts not covered by the current UML notation)

Appendix C - Standard Elements Scaling information, rotation information, and so on. Glossary Index User-defined icons and shapes (for example, some modeling tools allow users to specify that a List ofsymbol Figuresthat normally represents a UML definition be replaced by a metafile that the user provides,

based on the stereotype property of the definition) List ofgenerally Tables


List of Listings

Positioning Aspects of the diagram elements (for example, where the end-points are drawn for a < Day Day Up > segmented line, the position of symbol and line names, and so forth) The Diagram Interchange specification is intended to work as an add-on to the XMI specification. Just as you apply the XMI Production UML Bible Rules to the MOF to produce a UML.DTD or schema, the strategy of the Diagram Interchange specification is to introduce a separate metamodel for diagram information that is ISBN:0764526049 by Tom Pender added as a separate package to the existing metamodel of UML. The XMI DTD or Schema Production John Wiley & Sons 2003 (940 pages) Rules are applied to this metamodel to produce a DTD or schema for diagram interchange. For beginning to advanced users, this book provides Producing a separate metamodel diagram interchange specifications, andfor shows how to use UML toprovides improve a number of benefits. First, it enables timeliness, quality, and efficiency in development. the people creating the spec to do so without worrying about changing the UML metamodel itself, since they are simply extending it. Just as importantly, the UML spec may change without affecting the Diagram Companion Web Site Interchange spec. Second, the resulting Diagram Interchange DTD or schema becomes a component that can be used or not used depending on the interchange scenario:
<?xml version="1.0" encoding="ISO-8859-1"?> It can be used in conjunction with the UML.DTD or schema to exchange information between Table of Contents comprehensive coverage of the versatility of 1.4 and 2.0 UML

modeling tools, which carry the graphic and semantic information of modeling elements. UML Bible
Preface
Part I - An Introduction to UML

It can be used by itself for simple drawing tools that do not carry semantic information.

Chapter 1 - not What Is UML? It does have to be used at all when modeling tools output XMI that will be converted to other code Chapter 2 - UMLsuch Architecture languages as Java. Chapter 3 Chapter 4 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts The Diagram Interchange metamodel

Part II - Modeling Object Structure

Chapter 5 - Capturing Rulesspecification about Objects in a Class Diagram The Diagram Interchange provides a MOF-compliant metamodel for diagrammatic Chapter 6 How to Capture Rules about Object Relationships information. Since the XMI DTD and Schema Production Rules specify how a MOF-compliant metamodel Chapter 7 - Testing with Objects is translated to an XMI DTD or schema, all the OMG needs to do is create and agree upon a metamodel
Part III - Modeling Object Interactions for diagram interchange. Once the metamodel

is agreed upon, all of the other work in creating the DTD is

Chapter 8 - of Modeling Interactions in UML 1.4 which can be automated. taken care by the XMI specification itself, Chapter 9 - Modeling Interactions in UML 2.0

The creation of a Diagram Interchange DTD from an MOF-compliant Diagram Interchange metamodel is Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

shown in Figure 22-5.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Figure Overview of creation of Diagram Interchange DTD. Appendix B - 22-5: UML 2.0 Notation Guide
Appendix C - Standard Elements Glossary

The actual MOF-compliant metamodel for diagram interchange is developed in a UML modeling tool, using the UML Profile for MOF. This metamodel is output to an XMI instance document using the modeling Index tool's ability to export XMI based on the XMI document production rules. The instance document contains List Figuresof the new metamodel. To create the new combined DTD for UML and diagram interchange, theof content List Tables theof new instance document is first translated to a MOF instance document using the MOF Profile rules, List of Listings which are contained in the UML Profile for MOF. This MOF instance document expresses the MOF

representation of the combined UML and Diagram Interchange metamodel. The XMI DTD Production < Day Day Up > rules are applied to this MOF instance document to create the combined DTD for UML and diagram interchange. Alternatively, the XMI Schema Production Rules can be applied to the MOF instance document to create a schema for UML and diagram interchange.
UML Bible
ISBN:0764526049 by Tom Pender Use of graph theory to exchange diagrammatic information John Wiley & Sons 2003 (940 pages)

For beginning to advanced users, this book provides The Diagram Interchange specification uses traditional graph theory to specify the appearance of symbols comprehensive coverage of the versatility of 1.4 and 2.0 UML on UML diagrams. Each diagram is a graph that consists of nodes and edges. Nodes consist of the specifications, and shows how to use UML to improve rectangles, circles, ovals, and otherand symbol shapes that represent classes, components, Use Cases, timeliness, quality, efficiency in development. states, and the like. Nodes can contain compartments (such as the compartments in a class for attributes Companion Web Site and methods), have other nodes nested within them (such as you might do with super- and sub-states), and contain annotations. Edges are the connecting lines between the nodes, which represent associations, inheritance, and other relationships. In some cases an edge can connect a node to another edge (such as <?xml version="1.0" encoding="ISO-8859-1"?> in the case of an association class where a line is drawn connecting a class to an association line between Table of Contents twoBible other classes). Graph theory works well for UML, because all diagrams except for the Sequence UML diagram map easily to graphs. And the Sequence diagram is simply another view of the Collaboration Preface diagram UML modeling Part I - An(most Introduction to UML tools offer automatic translation from a Collaboration diagram to a Sequence diagram and vice versa), so if the Collaboration diagram can be mapped to a graph that is Chapter 1 - What Is UML? represented in XMI, then the Sequence diagram can be expressed as well. Chapter 2 - UML Architecture Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

< Day Day Up >

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Tools to Use by Tom Pender


ISBN:0764526049

As mentioned earlier this & chapter, canpages) provide you with all of the information concerning your UML Johnin Wiley Sons XMI 2003 (940 models in serialized form is easily transported manipulated. There are many tools For textual beginning to that advanced users, this book and provides available on the market to help you manipulate the XMI, depending on what comprehensive coverage of the versatility of 1.4 and 2.0 UML your goal is.
specifications, and shows how to use UML to improve timeliness, quality, and efficiency development. If you are generating XMI from one modeling toolin and importing it into another, you shouldn't need any additional tools. The XMI generators and importers of the modeling tools should take care of the modeling Companion Web Site information exchange seamlessly. If errors are encountered however, you may want to investigate the cause by looking directly at the XMI. <?xml version="1.0" encoding="ISO-8859-1"?> Table Contents Afterof you have generated XMI from a modeling tool, you first want to check that the XMI is okay. As

mentioned earlier, there are two levels of verification to check that the XMI document is valid. It must UML Bible conform to rules of XML as specified by the W3C, and it must validate against the rules set forth in its Preface DTD. following is to a list of Part I - The An Introduction UML document. Chapter 1 - What Is UML?
Chapter 2 Chapter 3 - UML Architecture

tools that will help you check, validate, and explore an XMI instance

Conforming to the Rules of XML as Specified by W3C: Most popular browsers on the market, - UML Diagrams and Extension Mechanisms including Internet Explorer 5.0 and beyond, will parse an XML document to see if it conforms to the Chapter 4 - Object-Oriented Concepts rules of XML as specified by the W3C. All you have to do is open the XML document in the browser.
Part II - Modeling Object Structure

Chapter 5 - Capturing Rules in a Class Diagram Validating Against theabout DTD Objects and Schema: There are a number of tools that will validate an XML Chapter 6 - How to Capture Rules about Object Relationships document against its DTD. One of the more useful, simple tools is Microsoft XML Notepad. It gives

you validating Chapter 7 an - option Testingof with Objectsthe XML document against its DTD upon opening it, or turning validation off, is useful ifInteractions you want to Part III - which Modeling Object examine an XML document that contains errors. Tools that can validate an XML Interactions document against schema are also widely available, including Microsoft XML Core Chapter 8 - Modeling in UML its 1.4 Services 4.0 RTM (MSXML 4.0) parser Chapter 9 - Modeling Interactions in UML 2.0 and Altova's XMLSpy.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV

Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling the Application Architecture files. Code editors, including IDEs such

Microsoft's XML Notepad is an extremely useful tool that has never officially been commercialized by Microsoft. It has been in beta for several years, and is available - Modeling Object Behavior free of charge from a number of websites, including http://www.webattack.com. as MSVC or EditPlus, enable you to view line numbers of the

CrossReference

Chapter 13 - Modeling Behavior Activity Diagram Examining the XML andUsing DTD:an You can use any word processor or text editor to view XML and DTD Chapter 14 Modeling thehelpful Application Architecture code, which is very when troubleshooting. High-end tools such as Altova's XMLSpy provide a

plethora of features for examining XML instance document and accompanying DTD. Many Chapter 15 - Modeling Software Using thethe Component Diagram modeling tools, such as System Architect Chapter 16 - Using Deployment Diagrams in UML and 1.4 IBM/Rational Rose, provide the ability to reverse engineer the structure DTDs and in instance documents to provide a graphical interpretation of the Chapter 17 - Representing anof Architecture UML 2.0 XML hierarchy. Part VI - Bringing Rigor to the Model
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process< Day Day Up >

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Summary

UML Bible by Tom Pender


ISBN:0764526049

In this chapter, you learned that John Wiley & Sons 2003 (940 pages) UML information in modeling tools and repositories translated to and from XMI, which is comprehensive coverage of object the versatility of 1.4can andbe 2.0 UML a standard, serialized, easily transportable format, based on industry-standard XML. specifications, and shows how to use UML to improve
timeliness, quality, and efficiency in development. For beginning to advanced users, this book provides

XMI enables modeling tools to exchange UML model information, as long as they support export and Companion Web Site import of XMI. When exchanging information between modeling tools, two basic artifacts need to be exchanged: the <?xml version="1.0" encoding="ISO-8859-1"?> UML model information and the diagrams. Current XMI specifications only allow exchange of model Table of Contents information; the Diagram Interchange specification will enable exchange of diagrammatic information. UML Bible
Preface
Part I - An Introduction to UML

Chapter 1

After UML models are mapped to XMI, XSLT becomes a natural fit for transforming the XMI into other useful forms. You can use XSLT to transform the structure and format of an XMI document.
- What Is UML?

Chapter 2 is-an UML Architecture XMI enabling technology for MDA in that tools that support it generate UML models to a standard

form can be manipulated by third-party code creation tools to map the UML models to any coding Chapter 3 that - UML Diagrams and Extension Mechanisms language. Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5 Chapter 6

XMI specifications include a set of XMI Document Production Rules, DTD Production Rules, and, for - Capturing Rules about Objects in a Class Diagram the latest specs, XMI Schema Production Rules.
- How to Capture Rules about Object Relationships

Chapter 7 XMI - Testing with Objects The Document Production Rules are used to encode UML metadata to create the XMI instance
Part III - Modeling Object Interactions document. This is the document

that contains the actual UML model information.

Chapter 8

- Modeling Interactions in UML 1.4

The Production Rules and Schema Chapter 9 DTD - Modeling Interactions in UML 2.0 Production Rules enable a DTD or schema to be created from MOF-based metamodel repository, including UML and the Common Warehouse Metadata Chapter 10 any - Modeling an Object's Lifecycle in UML 1.4 Interchange (CWMI). Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application The XMI spec comes with aArchitecture prebuilt UML

The DTD or schema is used to validate the instance document to make sure the document is structured correctly. DTD and MOF DTD.

Chapter 14 - Modeling the Application Architecture

The architecture is comprised of four layers of metamodels, M0 through M3. At the base, or M3 Chapter 15UML - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0

layer, of the UML architecture is the MOF. UML is only one example (albeit the most popular example) of M2 layer metamodels built on top of the MOF. There are two levels of XMI instance document correctness: it can be well formed and it can be valid.

Chapter 18 - Applying Constraints toit the UML Diagrams A document is well formed if contains one or more elements, has a root element, and all elements Chapter 19 Action within the rootSemantics element are properly nested. Most browsers will check a document to see if it is well
Part VII - Automating the UML Modeling Process formed upon opening it. A document is valid

if it conforms to the rules and structure specified by its

Chapter 20 or - Using a Modeling Tool DTD schema. Browsers do not check a document for validity upon opening it; you need to use a Chapter 21 Customizing tool to-check this. UML Using Profiles Chapter 22 - XML Metadata Interchange

An XMI instance document created for XMI 1.0 looks substantially different than one for XMI 1.1. It is Appendix A - UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

much smaller and easier to read because it uses namespaces and makes more use of attributes, while XMI 1.0 relies on nested elements with fully qualified namespaces.

Glossary An XMI instance document contains a header and a content section. The information about UML Index models is contained in the content section. List of Figures

Diagram Interchange specification is intended to work as an add-on to the XMI specification. List ofThe Tables
List of Listings

The Diagram Interchange specification uses traditional graph theory to specify the appearance of < Day Day Up > symbols on UML diagrams. Each diagram is a graph that consists of nodes and edges.

UML Bible

< Day Day Up > ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Appendix A: UML 1.4 Notation Guide ISBN:0764526049 by Tom Pender

Class Diagram Notation For beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and showsfully howin toChapters use UML to improve 7. The Class diagram notation is explained 5 through timeliness, quality, and efficiency in development. Companion Web Site Class notation <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

John Wiley & Sons 2003 (940 pages)

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - A-1: Modeling Behavior Using Activity Diagram Figure Class icon with the an default name, attribute, and operation compartments, and a userPart V - Modeling the Application Architecture

defined compartment.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram

Attribute declaration Chapter 16 - Using Deployment Diagrams in UML 1.4


Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams [visibility] [/] name [:type] [multiplicity] ['=' default] Chapter 19 - Action Semantics ['{'property-string'}']
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

The underline defines a class-level attribute. Chapter 21optional - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

Operation declaration

[visibility] name ([parameter-list]) ':' [return-result] Appendix C - Standard Elements


Glossary Index List ofThe Figures optional underline defines a class-level attribute. List of Tables List of Listings Tagged value

['{'property-string'}']

declaration

< Day Day Up >

tagname ':' value


UML Bible by Tom Pender Valid class presentations John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Classes may be identified with to a name andusers, optional stereotype. The stereotype may be in text or icon For beginning advanced this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML form.
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? Figure Four presentation alternatives for classes with stereotypes. Chapter 2 - A-2: UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Template class

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - A-3: Using Deployment Diagrams in UML 1.4 Figure Template class. Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Parameter syntax

Chapter 20 - Using a Modeling Tool

name ':' type [= default]

Chapter 21 - Customizing UML Using Profiles Chapter - XML Metadata Bound22 element syntax Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

template-name '<' value-list '>'

Interface class notation

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Figure A-4: Interface class notation. Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

Association notation - UML Architecture


Associations are covered in Chapter 6.
- Object-Oriented Concepts - UML Diagrams and Extension Mechanisms

- What Is UML?

Part II - Modeling Object Structure

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure Binary association Chapter 14 - A-5: Modeling the Application notation. Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Reflexive association and roles

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Constraints Index List of Figures List of Tables List of Listings

Figure A-6: Reflexive association and roles notation.

between associations

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Figure A-7: Constraints between associations.

Association navigability
- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure A-8: Association navigability. Chapter 9 - Modeling Interactions in UML 2.0


Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Ordering, derived association, and qualified
Part IV - Modeling Object Behavior

association

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process Figure A-9: Ordering, derived association,

and qualified association.

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

Association class notation Chapter 22 - XML Metadata Interchange


Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Figure A-10: Association class notation.

N-ary association

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure A-11: N-ary association.

Chapter 14 - Modeling the Application Architecture Aggregation and composition notation Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings Alternative

Figure A-12: Aggregation and composition notation.

composition notation

< Day Day > Chapter 7 addresses Composite Structure diagrams, theUp alternative notation for composition.

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Figure A-13: Alternative composition Companion Web Site notation.


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

Generalization notation

UML Bible Preface

Figure A-14 and A-15 together provide the complete notation for generalization.
- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part I - An6 Introduction to UML Chapter addresses generalization.

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure Generalization notation: complete Power Type, ellipse, abstract class. Chapter 12 - A-14: Modeling the Use of a System with the Useconstraint, Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - A-15: UML 2.0 Notation Guide Figure Generalization notation: discriminator, disjoint and overlapping, constraints, and multiple Appendix C Standard Elements inheritance. Glossary Index List of Figures List of Tables

Dependency notation

List of Listings Chapter 6 addresses dependency notation.

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Figure A-16: Dependency notation between two packages (left) and two classes (right).

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure A-17: Class dependency notation.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity< Diagram Day Day Up >
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Object Diagram by Tom Pender


ISBN:0764526049

Chapter 7 addresses Object diagram. John the Wiley & Sons 2003 (940 pages)

Object and link notation

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML?

- UML Architecture Figure Object notation. Chapter 3 - A-18: UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects
Part II - Modeling Object Structure

Object name syntax

Object-name : class-name

Part III - Modeling Object Interactions

Attribute value syntax

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Attribute-name '=' value

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Pattern/Collaboration notation

Chapter 7 -covers patterns and collaborations. Chapter 14 Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Modeling a design pattern using a collaboration

Chapter 17 - Representing an Architecture in UML 2.0 Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List ofFigure FiguresA-19: Using collaboration notation to define a design pattern. List of Tables List of Listings

Implementing a design pattern/collaboration < Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure A-20: Implementing a design pattern (collaboration).


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

< Day Day Up >

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Notation Sequence Diagram by Tom Pender


ISBN:0764526049

Chapters 8 and 9John address Sequence diagram notation. Wiley & Sons 2003 (940 pages)

Sequence diagram lifeline, message and return, self-reference, guard, and iteration
Companion Web Site <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure A-21: Sequence diagram notation.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Message (and arrow) types

Chapter 14 - Modeling the Application Architecture

Figure Message types. Chapter 15 - A-22: Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Message syntax

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Processreturn predecessor/ sequence-expression

value :=

message-name argument-list Chapter 20 - Using a Modeling Tool


Chapter 21 - Customizing UML Using Profiles

predecessor := Chapter 22 - XML Metadata Interchange sequence-number [',' Guide sequence-number...] '/' Appendix A - UML 1.4 Notation
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

sequence-expression := sequence-term [',' sequence-term...] ':' sequence-term := [integer | name] [recurrence]

List of Figures List of Tables

List of Listings

recurrence := < Day Day Up > '*' '[' iteration-clause ']' -- for an iteration '[' condition-clause ']' -- for a branch
UML Bible by Tom Pender Recursive message John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part IFigure - An Introduction to UML A-23: Recursive message.

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

UML Diagrams and Extension Mechanisms Object -creation and termination

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - A-24: Representing Architecture in UML 2.0 Figure Object an creation and termination.
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Time constraints

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> A-25: Time constraints. Table Figure of Contents UML Bible Preface
Part I - An Introduction to UML

Activation and focus of control


- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

- Modeling Interactions in UML 2.0 Figure Activation (also called focus of1.4 control). Chapter 10 - A-26: Modeling an Object's Lifecycle in UML Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Day Day Up > Chapter 13 - Modeling Behavior Using an Activity< Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Diagram Bible Collaboration Notation by Tom Pender


ISBN:0764526049

Chapter 8 addresses Collaboration diagram. John the Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

Figure A-27: Collaboration diagram notation.


- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

< Day Day Up >

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Statechart UML Diagram Notation by Tom Pender


ISBN:0764526049

The Statechart diagram is covered in2003 Chapter 10. John Wiley & Sons (940 pages)

Initial and final state, state, transition with guard


Companion Web Site

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Figure A-28: Statechart notation (1).

Part III - Modeling Object Interactions

When and after clauses - Modeling Interactions in UML 1.4


- Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Figure When and after Chapter 18 - A-29: Applying Constraints to clauses. the UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Transition syntax

Event-name (comma-separated-parameter-list) Appendix A - UML 1.4 Notation Guide [guard-condition] / action-expression Appendix B - UML 2.0 Notation Guide
Appendix C - Standard Elements Glossary Index

Self-transition, and entry and exit actions

List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site and exit actions. Figure A-30: Self-transition, and entry

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

Static branch state

UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Figure Static branch state. Chapter 11 - A-31: Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Dynamic choice point

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables

Figure A-32: Dynamic choice point.

Composite state

List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

A-33: Composite state. <?xml Figure version="1.0" encoding="ISO-8859-1"?> Table of Contents


UML Bible Preface

Deep and shallow history


- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure Deep and shallow history. Chapter 8 - A-34: Modeling Interactions in UML 1.4
Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Concurrent substates

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Figure Concurrent substates. Chapter 20 - A-35: Using a Modeling Tool


Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Split and merge of control

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Figure A-36:specifications, Split and merge control. andof shows how to use UML to improve timeliness, quality, and efficiency in development.

Submachine state and stub states


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Companion Web Site

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure A-37: Submachine state and stub states.

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Synch states

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

Figure A-38: Synch states.

Send and receive signals

List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Figure Send and receive signals. Chapter 1 - A-39: What Is UML?


Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

Note The gray highlighted rectangles are for emphasis only.


- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

- UML Architecture

Part II - Modeling Object Structure

< Day Day Up > - Capturing Rules about Objects in a Class Diagram
- How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Use Case Diagram by Tom Pender


ISBN:0764526049

The Use Case diagram is covered Chapter 12. John Wiley & Sons in 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Figure A-40: Object Use Case diagram Part III - Modeling Interactions

notation.

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 < Day Day Up > Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Activity Diagram by Tom Pender


ISBN:0764526049

Chapter 13 discusses the Activity diagram. John Wiley & Sons 2003 (940 pages)

Start, end, decision (split), and merge


Companion Web Site

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - A-41: Modeling an Object's Lifecycle in UML Figure Start, end, decision (split), and1.4 merge. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Concurrency using the Synchronization bar to model forks and joins

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary IndexFigure A-42: Fork and join notation. List of Figures List of Tables List of Listings

< Day Day Up > Activity, transition, and transition guard

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve Figure A-43:timeliness, Activity, transition, andefficiency transition quality, and inguard. development. Companion Web Site

Swimlanes and object flows


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - A-44: Modeling Using the Component Diagram Figure An Software Activity diagram divided into three swimlanes and passing the Order object from one Chapter 16 Using Deployment Diagrams in UML 1.4 activity to the next. Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Part VII - Automating the UML Modeling Process

< Day Day Up >

UML Bible Component Diagram by Tom Pender


ISBN:0764526049

Chapter 15 addresses the Component diagram. John Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 8 - A-45: Modeling Interactions in UMLnotation. 1.4 Figure Component diagram Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Alternative notation for resident and implementing classes

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure A-46: Alternative notation for resident and implementing classes.

< Day Day Up >

< Day Day Up >

UML Bible Deployment Diagram by Tom Pender


ISBN:0764526049

Chapter 16 covers theWiley Deployment diagram. John & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure A-47: Nodes defined as classifiers, with attributes and operations, at type and instance levels.
- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Figure A-48: Component diagram at type and instance levels.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UML Bible Combined Component and Deployment Diagram by Tom Pender


ISBN:0764526049

This topic is covered Chapter 17. 2003 (940 pages) Johnin Wiley & Sons

Component deployment on a node instance


Companion Web Site

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Figure Deployment of a component on a node instance. Chapter 1 - A-49: What Is UML?


Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Architecture - UML Diagrams and Extension Mechanisms

Containment version - Object-Oriented Concepts

Part II - Modeling Object Structure

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

Figure A-50: Deployment components Part V - Modeling the Applicationof Architecture

on a node instance using containment.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 < Day Day Up > Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Packages

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Basic Package diagram For beginning to advanced users, this book provides
Packages as specifications, Namespaces and shows how to use UML to improve
timeliness, quality, and efficiency in development. Companion Web Site comprehensive coverage of the versatility of 1.4 and 2.0 UML

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Figure A-51: Packages as namespaces.

Part II - Modeling Object Structure

Chapter 5 - Capturing Rules about Objects alternatives in a Class Diagram Package containment notation Chapter 6 Chapter 7 Chapter 8 Chapter 9 - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Figure A-52: Package containment notation alternatives.

Chapter 17 - Representing an Architecture in UML 2.0

Access dependency

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

A-53: Access dependency. <?xml Figure version="1.0" encoding="ISO-8859-1"?> Table of Contents


UML Bible Preface

Merge dependency
- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure Merge dependency. Chapter 8 - A-54: Modeling Interactions in UML 1.4


Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Subsystem diagram

Subsystem notation alternatives Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - A-55: Representing an Architecture in UML 2.0 Figure Subsystem notation alternatives.
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams

Subsystem interface Chapter 19 - Action Semanticsnotation


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary IndexFigure A-56: Subsystem interface notation. List of Figures List of Tables Subsystem List of Listings

realization

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Figure A-57: Subsystem realization.

Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Model Preface


Part I - An Introduction to UML

Model diagram
notation

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Chapter 6 - A-58: How to Capture Rules about Object Relationships Figure Model notation.
Part III - Modeling Object Interactions

< Day Day Up >

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Appendix B: UML 2.0 Notation Guide ISBN:0764526049 by Tom Pender

Class Diagram Notation For beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and showsfully howin toChapters use UML to improve 7. The Class diagram notation is explained 5 through timeliness, quality, and efficiency in development. Companion Web Site Class notation <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

John Wiley & Sons 2003 (940 pages)

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - B-1: Modeling Behavior Figure Class icon. Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Attribute declaration Chapter 15 - Modeling Software Using the Component Diagram


Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture UML 2.0 [visibility] [/] name [:type]in[multiplicity] ['='default]
Part VI - Bringing Rigor to the Model ['{'property-string'}']

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

The optional underline defines a class-level attribute. Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange isReadOnly: The default value is false. Appendix A - UML 1.4 Notation Guide

isDerived: The default value is false.

Operation declaration Appendix B - UML 2.0 Notation Guide


Appendix C - Standard Elements Glossary [visibility] name ([parameter-list]) ':' [return-result] Index ['{'property-string'}'] List of Figures List of Tables

The List of optional Listings underline defines a class-level attribute.

Tagged value declaration

< Day Day Up >

tagname ':' value UML Bible


by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

beginning to advanced users, this book provides Valid class For presentations

comprehensive coverage of the versatility of 1.4 and 2.0 UML

specifications, and shows how to use stereotype. UML to improve Classes may be identified with a name and optional The stereotype may be in text or icon timeliness, quality, and efficiency in development. form. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3

- What Is UML? - UML Architecture

- UML Diagrams and Extension Mechanisms Figure Four presentation alternatives for classes with stereotypes. Chapter 4 - B-2: Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Interface class notation - How to Capture Rules about Object Relationships

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Figure class notation. Chapter 20 - B-3: UsingInterface a Modeling Tool


Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Template class

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Figure B-4: Template class. Table of Contents UML Bible Preface Parameter Chapter 1 Chapter 2

syntax

Part I - An Introduction to UML

- What Is UML?

- UML Architecture template-parameter ::= parameter-name

Chapter 3 - UML Diagrams and Extension Mechanisms [':' parameter-kind]['>' constraint] Chapter 4 - Object-Oriented Concepts ['=' default]
Part II - Modeling Object parameter-kind :: Structure =

Chapter 5 -| Capturing Rules about in a Diagram 'class' 'component' | Objects 'type' |Class 'interface' | 'signal' Chapter 6 How to Capture Rules about Object Relationships |'value' |'operation' | 'attribute' | 'part' | 'class' Chapter 7 - Testing with Objects | parameter ::=parameter-name | operation-name
Part III - Modeling Object Interactions (parameter-list)

Chapter 8 - Modeling Interactions in UML 1.4 constraint ::= ['{contract}'] classifier-name

default classifier-name |2.0 expression | attribute-name | part-name Chapter 9 -::= Modeling Interactions in UML | operation-name Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

If the parameter-kind is omitted, then parameter-kind is class'.

Bound element syntax

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

template-name '<'value-list'>'

Association notation

Chapter 18 - Applying Constraints to the UML Diagrams

Association notation is covered in Chapter 6. Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure B-5: Binary association notation.


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Reflexive association and roles

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

- Capturing Rules about Objects in a Class Diagram Figure Reflexive roles notation. Chapter 6 - B-6: How to Capture association Rules aboutand Object Relationships - Testing with Objects
Part III - Modeling Object Interactions

Constraints between associations - Modeling Interactions in UML 1.4


- Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML navigability 1.4 Notation Guide Association Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure B-7: Constraints between associations.

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table Figure of Contents B-8: Navigability. UML Bible Preface
Part I - An Introduction to UML

Ordering, derived association, and qualified association


- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure B-9: Ordering, derived association, and qualified association.

Association class notation

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index N-ary

Figure B-10: Association class notation.

association

List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml Figure version="1.0" encoding="ISO-8859-1"?> B-11: N-ary association. Table of Contents UML Bible

Aggregation Preface
Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

and composition notation

Part I - An Introduction to UML

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Behavior Figure B-12:Object Aggregation and

composition notation.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Composite structure notation

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - B-13: Customizing UML Using Profiles notation. Figure Alternative composition Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

Generalization notation

Generalization is explained in Chapter 6. Glossary


Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

B-14: Generalization notation: complete constraint, Power Type, ellipse, and abstract class. <?xml Figure version="1.0" encoding="ISO-8859-1"?> Table of Contents
UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - B-15: Modeling an Object's Lifecycle indiscriminator, UML 1.4 Figure Generalization notation: disjoint and overlapping constraints, and multiple Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 inheritance.
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Dependency notation

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure B-16: Dependency notation between two packages (left) and two classes (right).

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

B-17: Class dependency notation. <?xml Figure version="1.0" encoding="ISO-8859-1"?> Table of Contents
UML Bible Preface
Part I - An Introduction to UML

< Day Day Up >

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Object Diagram by Tom Pender


ISBN:0764526049

Chapter 7 coversJohn the Object Wiley &diagram. Sons 2003 (940 pages)

Object and link notation

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - Testing with Objects

Figure B-18: Object notation.

Part II - Modeling Object Structure

Object name syntax

- How to Capture Rules about Object Relationships Object-name : class-name

Part III - Modeling Object Interactions

Chapter 8 - Modeling Interactions in UML 1.4 Attribute value syntax Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Attribute-name '=' value

Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Pattern/Collaboration notation
Chapter 7 covers patterns and collaborations.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Modeling a design pattern using a collaboration Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables

Figure B-19: Using collaboration notation to define a design pattern.

List of Listings

Implementing a design pattern/collaboration < Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure B-20: Implementing a design pattern (collaboration).


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

< Day Day Up >

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Notation Sequence Diagram by Tom Pender


ISBN:0764526049

The Sequence diagram is covered in2003 Chapter 9. John Wiley & Sons (940 pages)

Sequence diagram (interaction) lifeline, message and return, selfreference, guard, and iteration
Companion Web Site <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram

Part II - Modeling Object Structure

Chapter 6 - B-21: How to Capture Rules about Object Relationships Figure Sequence diagram basic notation. Chapter 7 - Testing with Objects
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

- Modeling Interactions UML 1.4 Message (and arrow) in types - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model Figure B-22: Message types.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Message syntax

message-ident ::= signal-or-operation-name [ (arguments) ][: return-value] Appendix B - UML 2.0 Notation Guide arguments ::= argument [ , arguments] Appendix C - Standard Elements argument ::= Glossary parameter-name:argument-value | argument-value |
Index List of Figures List of Tables List of Listings

State invariant

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml Figure version="1.0" encoding="ISO-8859-1"?> B-23: State invariant. Table of Contents UML Bible Preface
Part I - An Introduction to UML

< Day Day Up >

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Object creation and termination by Tom Pender


ISBN:0764526049

Return is optional (some languages not allow returns in contsructor syntax) John Wiley & Sons do 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Figure B-24: Object creation Part II - Modeling Object Structure

and termination.

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

Duration constraints - Testing with Objects


- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

Figure B-25: Duration constraints.

Time constraints

List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Figure Time constraints. Chapter 1 - B-26: What Is UML?


Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Architecture - UML Diagrams and Extension Mechanisms

Interaction occurrence - Object-Oriented Concepts

Part II - Modeling Object Structure

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure B-27: Interaction occurrence.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Gates and parameters

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure B-28: Interaction occurrence.

< Day Day Up > Interaction operands and operators

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 - B-29: What Is UML? Figure Interaction occurrence. Chapter 2 - UML Architecture Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts Interaction operators consider, ignore, and assert - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Figure B-30: Interaction operators consider, ignore, and assert.

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UML Bible Communication Diagram by Tom Pender


ISBN:0764526049

Chapter 9 coversJohn the Communication diagram. Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 8 - B-31: Modeling Interactions indiagram UML 1.4 notation. Figure Communication Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Part IV - Modeling Object Behavior < Day Day Up > Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Interaction UML Overview Diagram by Tom Pender


ISBN:0764526049

Chapter 9 addresses Interaction diagram. John the Wiley & Sons Overview 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - B-32: Modeling the Application Architecture Figure Interaction Overview notation. Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure B-33: Interaction Overview lifeline notation.

< Day Day Up >

< Day Day Up >

UML Bible Timing Diagram by Tom Pender


ISBN:0764526049

The Timing diagram is discussed in 9. John Wiley & Sons Chapter 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Figure B-34: Timing diagram notation.

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - B-35: Modeling the Use of a System with notation. the Use Case Diagram Figure Timing diagram alternative Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component < DayDiagram Day Up > Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Bible Statechart UML Diagram Notation by Tom Pender


ISBN:0764526049

Chapter 11 discusses the Statechart diagram. John Wiley & Sons 2003 (940 pages)

Initial and final state, state, transition with guard


Companion Web Site

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Figure B-36: Statechart notation (1).

Part III - Modeling Object Interactions

When and after clauses - Modeling Interactions in UML 1.4


- Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Figure When and after Chapter 18 - B-37: Applying Constraints to clauses. the UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Event-name (comma-separated-parameter-list)

Transition syntax

[guard-condition] / action-expression Appendix B - UML 2.0 Notation Guide


Appendix C - Standard Elements Glossary Index

Self-transition, and entry and exit actions

List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Figure B-38: Self-transition, and Site entry and exit actions.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

Static branch state

UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure B-39: Static branch state.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Dynamic choice point

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - B-40: Standard Elements Figure Dynamic choice point. Glossary Index List of Figures List of Tables List of Listings

Composite state

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

B-41: Composite state. <?xml Figure version="1.0" encoding="ISO-8859-1"?> Table of Contents


UML Bible Preface

Deep and shallow history


- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure Deep and shallow history. Chapter 8 - B-42: Modeling Interactions in UML 1.4
Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Concurrent substates

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Figure Concurrent substates. Chapter 20 - B-43: Using a Modeling Tool


Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Split and merge of control

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Figure B-44:specifications, Split and merge control. and of shows how to use UML to improve timeliness, quality, and efficiency in development.

Submachine state and stub states


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Companion Web Site

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 8 - B-45: Modeling Interactions in UML 1.4 Figure Submachine state and stub states. Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Synch states

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - B-46: UML 2.0 Notation Guide Figure Synch states (Sync state still appears in the UML 2.0 glossary but is not part of the UML

2.0 specification.) Appendix C - Standard Elements


Glossary Index List of Figures List of Tables List of Listings

Action specification with send and receive signals

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Figure B-47: Action specification with send and receive signals. Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

Note The gray highlighted rectangles are for emphasis only. - What Is UML?
- UML Architecture - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Activity and completion transition - UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure Activity and completion transition. Chapter 9 - B-48: Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Two ways to model common transitions

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - B-49: Action Two Semantics Figure ways to model common transitions.
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Protocol state machine and generalization

Figure B-50: Protocol state machine and generalization.

< Day Day Up >

< Day Day Up >


UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Use Case Diagram by Tom Pender


ISBN:0764526049

The Use Case diagram is covered Chapter 12. John Wiley & Sons in 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Figure B-51: Object Use Case diagram Part III - Modeling Interactions

notation.

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 < Day Day Up > Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Activity Diagram by Tom Pender


ISBN:0764526049

Chapter 13 has details on the Activity diagram. John Wiley & Sons 2003 (940 pages)

Start, end, decision (split), and merge


Companion Web Site

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

- Modeling Interactions in UML 2.0 Figure Start, end, decision (split), and merge. Chapter 10 - B-52: Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Concurrency using fork and join nodes

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary IndexFigure B-53: Fork and join notation. List of Figures List of Tables List of Listings

Activity, transition, and transition guard

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides

Figure B-54:comprehensive Activity, transition, and transition guard. of 1.4 and 2.0 UML coverage of the versatility
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

< Day Day Up >


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Component Diagram by Tom Pender


ISBN:0764526049

Chapter 15 discusses the Component diagram. John Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML?

- UML Architecture Figure Component diagram notation. Chapter 3 - B-55: UML Diagrams and Extension Mechanisms - Object-Oriented Concepts
Part II - Modeling Object Structure

Alternative notations realizing classes - Capturing Rules about for Objects in a Class Diagram
- How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process Figure B-56: Alternative notation for realizing

classes.

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UML Bible Deployment Diagram by Tom Pender


ISBN:0764526049

Chapter 16 provides details on the Deployment diagram. John Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure B-57: Nodes defined as classifiers, with attributes and operations, at type and instance levels.
- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model Figure B-58: Component diagram

at type and instance levels.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UML Bible Combined Component and Deployment Diagram by Tom Pender


ISBN:0764526049

This topic is covered Chapter 17. 2003 (940 pages) Johnin Wiley & Sons

Artifacts that implement components


Companion Web Site

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Figure B-59: Artifacts that implement components.

Part III - Modeling Object Interactions

- Modeling Interactions in UML 1.4 Component deployment on a node instance Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

Figure B-60: Deployment of a component on a node instance.

Deployment specification

List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides coverage of the versatility of 1.4 and 2.0 UML Figure B-61:comprehensive Deployment specification. specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Companion Web Site Deployed components <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure B-62: Deployed components.

Chapter 14 - Modeling the Application Architecture < Day Day Up > Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Packages

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Basic Package diagram For beginning to advanced users, this book provides
Packages as specifications, namespaces and shows how to use UML to improve
timeliness, quality, and efficiency in development. Companion Web Site comprehensive coverage of the versatility of 1.4 and 2.0 UML

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Figure B-63: Packages as namespaces.

Part III - Modeling Object Interactions

Package containment notation alternatives

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Figure Package containment notation alternatives. Chapter 18 - B-64: Applying Constraints to the UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Access dependency

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

B-65: Access dependency. <?xml Figure version="1.0" encoding="ISO-8859-1"?> Table of Contents


UML Bible Preface

Merge dependency
- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure Merge dependency. Chapter 8 - B-66: Modeling Interactions in UML 1.4


Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Subsystem diagram

Subsystem notation alternatives Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - B-67: Representing an Architecture in UML 2.0 Figure Subsystem notation alternatives.
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams

Subsystem interface Chapter 19 - Action Semanticsnotation


Chapter 20 - Using a Modeling Tool

Part VII - Automating the UML Modeling Process

Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

Figure B-68: Subsystem interface notation.

List of Figures List of Tables Subsystem List of Listings

realization

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Figure B-69: Subsystem realization.

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Model Preface


Part I - An Introduction to UML

Model diagram
notation

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

- Capturing Rules about Objects in a Class Diagram Figure Model notation. Chapter 6 - B-70: How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part III - Modeling Object Interactions

< Day Day Up >

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Appendix C: Standard Elements ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) Throughout the text, reference is made to a number of predefined stereotypes. Table C-1 provides a For beginning to advanced users, this book provides complete list of the stereotypes included as part of the UML specification, where they are defined, what comprehensive coverage of the versatility of 1.4 and 2.0 UML they apply to (class, package, and so forth), and a brief description. While these stereotypes are specifications, and shows how to use UML to improve commonly accepted, remember that stereotypes are an extension mechanism. So you can expect many timeliness, quality, and efficiency in development. more to be developed, and you are free to develop your own. Companion Web Site

Table C-1: Standard Elements


<?xml version="1.0" encoding="ISO-8859-1"?> Name Subpackage Applies to Table of Contents UML Bible Preface

Description

auxiliary Kernel Part I - An Introduction to UML


Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - What Is UML? - UML Architecture

Class

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

A class that supports another more central or fundamental class, typically by implementing secondary logic or control flow. The class that the auxiliary supports may be defined explicitly using a Focus class or implicitly by a dependency relationship. Auxiliary classes are typically used together with Focus classes, and are particularly useful for specifying the secondary business logic or control flow of components during design. See focus.

A collection component that defines a set for organizational or system Chapter 12 - Modeling the Use of a System with the Use Case Diagram level development purposes.
Chapter 13 - Modeling Behavior Using an Activity Diagram

buildComponent

Components

Component

call Dependencies Usage Part V - Modeling the Application Architecture


Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

A usage dependency whose source is an operation and whose target is an operation. The relationship may also be subsumed to the class containing an operation, with the meaning that there exists an operation in the class to which the dependency applies. A call dependency specifies that the source operation or an operation in the source class invokes the target operation or an operation in the target class. A call dependency may connect a source operation to any target operation that is within scope including, but not limited to, operations of the enclosing classifier and operations of other visible classifiers.

create

Dependencies

< Day Day Up > Usage

A usage dependency denoting that the client classifier creates instances of the supplier classifier. feature creates ISBN:0764526049

create

Kernel UML Bible

Specifies that the designated an instance of the classifier to which the feature is attached. May be promoted to the For beginning to advanced users, this book provides containing the feature. comprehensive coverage of the versatility of 1.4 Classifier and 2.0 UML
by Tom Pender John Wiley & Sons 2003 (940 pages) specifications, and shows how to use UML to improve Dependencies Abstraction Specifies a derivation relationship timeliness, quality, and efficiency in development. Companion Web Site

BehavioralFeature

derive

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 3 Chapter 4 Chapter 5 Chapter 7 Chapter 8 Chapter 9

- What Is UML?

among model elements that are usually, but not necessarily, of the same type. A derived dependency specifies that the client may be computed from the supplier. The mapping specifies the computation. The client may be implemented for design reasons, such as efficiency, even though it is logically redundant. Specifies that the designated feature destroys an instance of the classifier to which the feature is attached. May be promoted to the classifier containing the feature. A generic file that is not a source file or executable. Subclass of file. A persistent information component representing a business concept.

Chapter 2 - UML Architecture destroy Kernel - Object-Oriented Concepts

BehavioralFeature

- UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

- Capturing Rules about Objects in a Class Diagram - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 6 - How to Capture Rules about Object Relationships document Deployments Artifact
Part III - Modeling Object Interactions

entity

Components

Component

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

executable Artifact Chapter 11 - Modeling an Deployments Object's Lifecycle in UML 2.0

A program file that can be executed on a computer system. Subclass of Part IV - Modeling Object Behavior file. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter Using an Activity Diagram file 13 - Modeling Behavior Deployments Artifact
Part V - Modeling the Application Architecture

A physical file in the context of the system developed. A class that defines the core logic or control flow for one or more auxiliary classes that support it. Support classes may be defined explicitly using Auxiliary classes or implicitly by dependency relationships. Focus classes are typically used together with one or more Auxiliary classes, and are particularly useful for specifying the core business logic or control flow of components during design. See auxiliary.

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

focus

Kernel

Class

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

framework

A package that contains model elements that specify a reusable architecture for all or part of a system. Frameworks typically UML Bible include classes, patterns, or ISBN:0764526049 by Tom Pender templates. When frameworks are John Wiley & Sons 2003 (940 pages) specialized for an application For beginning to advanced users, this book provides domain, they are sometimes comprehensive coverage of the versatility of 1.4 and 2.0 UML referred to as application specifications, and shows how to use UML to improve frameworks. timeliness, quality, and efficiency in development. Components Companion Web Site Component A component definition that is not intended to have a specification itself. Rather, it is an implementation for a separate specification to which it has a Dependency.

Kernel

< Day Day Up > Package

implement

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

implementation Preface

Classes Class Part I - An Introduction to UML

The implementation of a class in some programming language (C++, Smalltalk, or Java, for example) in Chapter 1 - What Is UML? which an instance may not have Chapter 2 - UML Architecture more than one class. This is in Chapter 3 - UML Diagrams and Extension Mechanisms contrast to Class, for which an Chapter 4 - Object-Oriented Concepts instance may have multiple classes Part II - Modeling Object Structure at one time and may gain or lose Chapter 5 - Capturing Rules about Objects in a Class Diagram classes over time, and an object (a Chapter 6 - How to Capture Rules about Object Relationships child of instance), which may Chapter 7 - Testing with Objects dynamically have multiple classes. Part III - Modeling Object Interactions An Implementation class is said to Chapter 8 - Modeling Interactions in UML 1.4 realize a Classifier if it provides all of Chapter 9 - Modeling Interactions in UML 2.0 the operations defined for the Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Classifier with the same behavior as Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 specified for the Classifier's Part IV - Modeling Object Behavior operations. An Implementation Chapter 12 - Modeling the Use of a System with the Use Case Diagram class may realize a number of Chapter 13 - Modeling Behavior Using an Activity Diagram different Types. Note that the Part V - Modeling the Application Architecture physical attributes and associations of the Implementation class do not Chapter 14 - Modeling the Application Architecture have to be the same as those of any Chapter 15 - Modeling Software Using the Component Diagram Classifier it realizes and that the Chapter 16 - Using Deployment Diagrams in UML 1.4 Implementation Class may provide Chapter 17 - Representing an Architecture in UML 2.0 methods for its operations in terms Part VI - Bringing Rigor to the Model of its physical attributes and Chapter 18 - Applying Constraints to the UML Diagrams associations. See type. Chapter 19 - Action Semantics
Part VII - Automating the Dependencies UML Modeling Process instantiate Usage

Class

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide library Deployments Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

A usage dependency among classifiers indicating that operations on the client create instances of the supplier. A static or dynamic library file. Subclass of file. A class whose instances are also classes. A model of a model, that typically contains metaclasses. See metaclass.

Artifact Class Model

metaclass

Kernel Model Management

metamodel List of Figures


List of Tables List of Listings

modelLibrary

A package that contains model elements that are intended to be reused by other packages. A model library differs from a profile in that a UML Bible model library does not extend the ISBN:0764526049 by Tom Pender metamodel using stereotypes and John Wiley & Sons 2003 (940 pages) tagged definitions. A model library is For beginning to advanced users, this book provides analogous to a class library in some comprehensive coverage of the versatility of 1.4 and 2.0 UML programming languages. specifications, and shows how to use UML to improve
timeliness, quality, and efficiency in development. Components Component A transaction based component. Companion Web Site

Kernel

< Day Day Up > Package

process realization

Kernel

Classifier

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

A classifier that specifies a domain of objects and that also defines the physical implementation of those objects. For example, a Component stereotyped by realization will only have realizingClassifiers that implement behavior specified by a separate specification Component. This differs from implementation class because an implementation class is a realization of a Class that can have features such as attributes and methods, which is useful to system designers. See specification.

refine Part III - Modeling ObjectDependencies Interactions

Specifies a refinement relationship between model elements at different semantic levels, such as Chapter 9 - Modeling Interactions in UML 2.0 analysis and design. The mapping Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 specifies the relationship between Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 the two elements or sets of Part IV - Modeling Object Behavior elements. The mapping may or may Chapter 12 - Modeling the Use of a System with the Use Case Diagram not be computable, and it may be Chapter 13 - Modeling Behavior Using an Activity Diagram unidirectional or bidirectional. Part V - Modeling the Application Architecture Refinement can be used to model Chapter 14 - Modeling the Application Architecture transformations from analysis to Chapter 15 - Modeling Software Using the Component Diagram design and other such changes.
- Modeling Interactions in UML 1.4 Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Abstraction

responsibility

Kernel

Usage

Chapter 18 - Applying Constraints to the UML Diagrams

A contract or an obligation of an element in its relationship to other elements. A script file that can be interpreted by a computer system. Subclass of file. A usage dependency whose source is an operation and whose target is a signal, specifying that the source sends the target signal. A stateless, functional component (computes a value). A source file that can be compiled into an executable file. Subclass of file.

script Deployments Chapter 19 - Action Semantics


Chapter 20 - Using a Modeling Tool

Artifact

Part VII - Automating the UML Modeling Process

Chapter 21 - Customizing Dependencies UML Using ProfilesUsage send Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

service

Components Deployments

Component Artifact

source List of Figures


List of Tables List of Listings

A classifier that specifies a domain of objects without defining the physical implementation of those objects. For example, a Component UML Bible stereotyped by specification will ISBN:0764526049 by Tom Pender only have provided and required John Wiley & Sons 2003 (940 pages) interfaces, and is not intended to For beginning to advanced users, this book provides have any realizingClassifiers as part comprehensive coverage of the versatility of 1.4 and 2.0 UML of its definition. This differs from specifications, and shows how to use UML to improve type because a type can have timeliness, quality, and efficiency in development. features such as attributes and Companion Web Site methods, which is useful to analysts modeling systems. See <?xml version="1.0" encoding="ISO-8859-1"?> realization.
Table of Contents UML Bible Preface
Part I - An Introduction to UML

specification

Kernel

< Day Day Up > Classifier

subsystem

Components

Component

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

A unit of hierarchical decomposition for large systems. Definitions of subsystems vary widely among domains and methods, and it is expected that domain and method profiles will specialize this construct. A systemModel is a stereotyped model that contains a collection of models of the same physical system. A systemModel also contains all relationships and constraints between model elements contained in different models.

systemModel

Part II - Modeling Object Structure

Model Management

Model

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Specifies a trace relationship between model elements or sets of Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 model elements that represent the Part IV - Modeling Object Behavior same concept in different models. Chapter 12 - Modeling the Use of a System with the Use Case Diagram Traces are mainly used for tracking Chapter 13 - Modeling Behavior Using an Activity Diagram requirements and changes across Part V - Modeling the Application Architecture models. Since model changes can Chapter 14 - Modeling the Application Architecture occur in both directions, the Chapter 15 - Modeling Software Using the Component Diagram directionality of the dependency can Chapter 16 - Using Deployment Diagrams in UML 1.4 often be ignored. The mapping Chapter 17 - Representing an Architecture in UML 2.0 specifies the relationship between Part VI - Bringing Rigor to the Model the two, but it is rarely computable Chapter 18 - Applying Constraints to the UML Diagrams and is usually informal.
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

trace

Dependencies

Abstraction

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

A class that specifies a domain of objects together with the operations applicable to the objects, without defining the physical UML Bible implementation of those objects. ISBN:0764526049 by Tom Pender However, it may have attributes and John Wiley & Sons 2003 (940 pages) associations. Behavioral For beginning to advanced users, this book provides specifications for type operations comprehensive coverage of the versatility of 1.4 and 2.0 UML may be expressed using, for specifications, and shows how to use UML to improve example, activity diagrams. An timeliness, quality, and efficiency in development. object may have at most one Companion Web Site implementation class, however it may conform to multiple different <?xml version="1.0" encoding="ISO-8859-1"?> types. See implementationClass.
Table of Contents UML Bible Preface
Part I - An Introduction to UML

type

Classes

< Day Day Up > Class

utility

Classes

Class

Chapter 1 Chapter 2 Chapter 3

- What Is UML? - UML Architecture

A class that has no instances, but rather denotes a named collection of non-member attributes and operations, all of which are classscoped.

- UML Diagrams and Extension Mechanisms Table C-2 predefined standard Chapter 4 -lists Object-Oriented Conceptselements for UML 1.x that are now obsolete.
Part II - Modeling Object Structure

Chapter 5 - Capturing Rules about Objects in a Class Diagram Table C-2: Retired Standard Elements Chapter 6 Chapter 7 Chapter 8

Standard Element Name - Testing with Objects

- How to Capture Rules about Object Relationships

Applies to Base Element

Part III - Modeling Object Interactions

access Permission Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Package appliedProfile
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

- Modeling Interactions in UML 1.4

association

AssociationEnd

copy Chapter 12 - Modeling the Use of a System with the UseFlow Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram create CallEvent
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 16 - Using Deployment Diagrams in UML 1.4 facade Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

create

Usage

destroy CallEvent Chapter 15 - Modeling Software Using the Component Diagram Package Permission friend

Chapter 18 - Applying Constraints to the UML Diagrams Constraint invariant Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

local

AssociationEnd AssociationEnd Constraint Class Constraint Package Abstraction Comment AssociationEnd

parameter Chapter 20 - Using a Modeling Tool


Chapter 21 - Customizing UML Using Profiles postcondition Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

powertype

precondition Appendix B - UML 2.0 Notation Guide


Appendix C - Standard Elements profile Glossary Index

realize

requirement List of Figures


List of Tables self List of Listings

signalflow stateInvariant stub table thread topLevel


UML Bible

< Day Day Up > ObjectFlowState

Constraint Package Artifact Classifier


ISBN:0764526049

by Tom Pender John Wiley & Sons 2003 (940 pages)

For beginning to advanced users, this book provides Package comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

< Day Day Up >


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible Glossary by Tom Pender John Wiley & Sons 2003 (940 pages)

ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML abstract class specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

A class that cannot be directly instantiated because at least one operation lacks a method Companion Web Site (implementation). Any superclass may be abstract because the implementation can be provided by a subclass. An abstract class is identified either by italicizing the class name or by adding the property {abstract} to the operations that do not have a corresponding method, that is, the operations that prevent <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents the class from being instantiated.
UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure GL-1: Notation for abstract classes. - Modeling Interactions in UML options 2.0 See also concrete class.

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

abstraction

A representation of an entity that includes only those properties that support the proposed use of the representation, and sufficient to distinguish it from all other kinds of entities. An abstraction defines a Part V - Modeling the Application Architecture boundary relative to the perspective of the viewer. Also, the process of choosing information to include in Chapter 14 - Modeling the Application Architecture the representation of an entity based on how and why the user plans to use the representation.
Chapter 15 - Modeling Software Using the Component Diagram Chapter action 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture inunit UML 2.0 An action is the fundamental of behavior specification and represents some transformation or
Part VI - Bringing Rigor to the Model

processing in the modeled system, be it a computer system or a real-world system. Actions are contained

Chapter 18 - Applying Constraints to the UML Diagrams in an activity-expression , which provide their context. An action typically results in a change in the state of Chapter 19 - Action Semantics the system, and can be realized by sending a message to an object, modifying an attribute value, or by
Part VII - Automating the modifying a UML link. Modeling Process

Chapter 20 - Using a Modeling Tool

See also entry action. Chapter 21 - Customizing UML Using Profiles


Chapter 22 - XML Metadata Interchange

See1.4 also exit action. Appendix A - UML Notation Guide


Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

See also action.

See also Activity diagram.

action sequence List of Figures


List of Tables An expression that resolves to an ordered set of actions that occur during a transition. The series may be List of Listings expressed as a textual description of a state transition, or as an icon in a State Machine diagram, that is, a

rectangle containing the series of< actions. Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Figure GL-2: Action sequence notation. action state

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

A state of an object during which a single entry action is performed. The completion of entry action Companion Web Site generates the completion event that triggers the transition out of the state. Multiple outgoing transitions are allowed if they are differentiated by guard conditions (UML 1.4).
<?xml version="1.0" encoding="ISO-8859-1"?> See also focus of control. Table of Contents UML Bible Preface

activation the time during which an object is performing an action.


- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

In a sequence diagram, Part I - An Introduction to UML


Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in 1.4 Figure GL-3: Activation in UML a Sequence diagram (UML 1.4). Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior See also focus of control.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

active 13 class Chapter - Modeling Behavior Using an Activity Diagram A class whose instances are active objects. Part V - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture

See also active object. Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

active object

An object that may execute its own behavior without requiring method invocation. This is sometimes referred to as "the object having its own thread of control." The point at which an active object responds to Chapter 18 - Applying Constraints to the UML Diagrams communications from other objects is determined solely by the behavior of the active object and not by the Chapter 19 - Action Semantics invoking object. This implies that an active object is both autonomous and interactive to some degree.
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings See also active class.

Figure GL-4: An active object modeled using a bold outline.

See also thread (of control). Activity diagram

< Day Day Up >

A diagram that depicts behavior using a control and dataflow model. UML Bible activity-expression
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

A sequence of actions associated with a state transition. For beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve trigger-signature ['['guard-constraint']'] '/' activity-expression timeliness, quality, and efficiency in development. Companion Web Site

activity partition A grouping mechanism used in an Activity diagram to identify actions that have some characteristic in <?xml version="1.0" encoding="ISO-8859-1"?> common. They are often used to represent organizational units in a business model. Table of Contents
UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Figure GL-5: Activity partitions. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

See also swimlane.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram actor (class) Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

A role employed in a Use Case diagram that a user or any other system or device plays when it interacts with the subject (system) under consideration. It is a type of entity that interacts with but is external to the Chapter 14 - Modeling the Application Architecture subject. Actors may represent human users, external hardware, or other subjects. An actor does not Chapter 15 - Modeling Software Using the Component Diagram necessarily represent a specific physical entity. For instance, a single physical entity may play the role of Chapter 16 - Using Deployment Diagrams inconversely, UML 1.4 several different actors and, a given actor may be played by multiple physical entities.
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure GL-6: An actor icon in a Use Case diagram.

actual parameter See also argument.


UML Bible aggregate (class)

< Day Day Up >

ISBN:0764526049 by Tom Pender A class that represents the "whole" (the point of control in an assembly of classes) in an aggregation John Wiley & Sons 2003 (940 pages) (whole-part) relationship.

For beginning to advanced users, this book provides coverage of the versatility of 1.4 and 2.0 UML See comprehensive also aggregation. specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

aggregation

Web Site that specifies a whole-part relationship between the aggregate (whole) and a A specialCompanion form of association component part. The relationship is used to insure the integrity of a configuration of objects. The aggregation symbol is a hollow diamond on the end of the association next to the class that represents the <?xml version="1.0" encoding="ISO-8859-1"?> whole in the whole-part relationship. Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML?

- UML Architecture

Figure GL-7: Aggregation symbol is a hollow diamond.

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram

See also composition.

Part II - Modeling Object Structure analysis

- How to Capture Rules Object Relationships problem domain thatabout is independent of implementation considerations. Analysis focuses on what to do; - Testing with Objects design focuses on how to do it. - Modeling Interactions in UML 1.4 See also design. - Modeling Interactions in UML 2.0

The part of the software development process whose primary purpose is to formulate a model of the

Part III - Modeling Object Interactions

analysis Chapter 10 time - Modeling an Object's Lifecycle in UML 1.4 Refers to something that occurs during Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 an analysis phase of the software development process.
Part IV - Modeling Object Behavior

See also design time. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

See also modeling time.

Chapter 14 - Modeling the Application Architecture architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

The organizational structure and associated behavior of a system. An architecture can be recursively decomposed into parts that interact through interfaces, relationships that connect parts, and constraints Chapter 17 - Representing an Architecture in UML 2.0 for assembling parts. Parts that interact through interfaces include classes, components, and subsystems.
Chapter 18 - Applying Constraints to the UML Diagrams argument Chapter 19 - Action Semantics A binding for a parameter that is resolved later. An independent variable.
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling See also actual Tool parameter. Chapter 21 - Customizing UML Using Profiles

SeeMetadata also parameter. Chapter 22 - XML Interchange


Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

artifact

A physical piece of information that is used or produced by a software development process. Examples of Appendix C - Standard Elements
Glossary Index List of Figures List of Tables

artifacts include models, source files, scripts, and binary executable files. An artifact may constitute the implementation of a deployable component. Synonym: product. See also component.

List of Listings association

The semantic relationship between two Day or more < Day Up >classifiers that specifies the allowed connections among their instances.

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure GL-8: Two associations between the same pair of classes.


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

association class

Part I - An Introduction to UML

A model element that has both association and class properties. It is a class that encapsulates information about a relationship, such as when it starts and ends, and its current status.

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

GL-9: Here Part IV - ModelingFigure Object Behavior

Contract is an association class.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram association end
Part V - Modeling the Application Architecture

The endpoint of an association, which connects the association to a classifier. The end encapsulates the rules that determine if and how the connected classifier may participate in the association. UML 2.0 does Chapter 15 - Modeling Software Using the Component Diagram not define a metaclass for an association end. Instead it draws a relationship between the Association and Chapter 16 - Using Deployment Diagrams in UML 1.4 Property metaclasses and assigns the role name "member end" to the participating properties.
Chapter 14 - Modeling the Application Architecture Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model attribute

Chapter 18 - Applying Constraints UML Diagrams A structural feature to of the a classifier that characterizes instances of the classifier. An attribute relates an Chapter 19 - Action Semantics instance of a classifier to a value or values through a named relationship.
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A compartment - UML 1.4 Notation Guide attribute

[visibility] [/] name [: type] [ multiplicity] [=default] [{property-string}]

Appendix B - UML 2.0 Notation Guide A predefined compartment within a class definition that contains the attribute specifications for one class. Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve Figure GL-10: Attribute compartment. timeliness, quality, and efficiency in development. Companion Web Site

auxiliary class A stereotyped class that supports another more central or fundamental class, usually by implementing <?xml version="1.0" encoding="ISO-8859-1"?> secondary logic or control flow. Auxiliary classes are typically used together with focus classes, and are Table of Contents
UML Bible Preface Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

particularly useful for specifying the secondary business logic or control flow of components during design. See also focus class.

Part I - An Introduction to UML

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms < Day Day Up > - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

B-C
behavior

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

beginning to advanced users, this book provides The For observable effects of an operation or event, including its results. The description of a comprehensive coverage of the versatility of 1.4 and 2.0 UML behavior can take number forms: interaction, state machine, activity, or procedure (a set specifications, a and shows of how to use UML to improve of actions). timeliness, quality, and efficiency in development.

behavioral feature Companion Web Site A dynamic feature of a model element, such as an operation or method.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents behavioral model aspect UML Bible Preface

A model aspect that emphasizes the behavior of the instances in a system, including their methods, collaborations, and state histories.

Part I - An Introduction to UML

binary 1 association Chapter - What Is UML?


Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Architecturebetween two classes. A special case of an n-ary association. An association - UML Diagrams and Extension Mechanisms

See also association. - Object-Oriented Concepts


- Capturing Rules about Objects in a Class Diagram

Part II - Modeling Object Structure

binding

The to creation ofRules a model element from a template by supplying arguments for the parameters - How Capture about Object Relationships of the template. - Testing with Objects
- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Boolean

An enumeration whose values are True and False.

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Boolean expression

An expression that evaluates to a Boolean value.

Chapter call 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

An action state that invokes an operation on a classifier.

Chapter 14 - Modeling the Application Architecture cardinality Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0 See also multiplicity.
Part VI - Bringing Rigor to the Model

The number of elements in a set.

child 18 - Applying Constraints to the UML Diagrams Chapter


Chapter 19 - Action Semantics In a generalization relationship, the specialization of another element the parent.
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9
Part I - An Introduction to UML

Figure GL-11: Parent and child classes in an inheritance hierarchy/tree.

- What Is UML? See also subclass. - UML Architecture - UML and Extension Mechanisms SeeDiagrams also parent. - Object-Oriented Concepts - Capturing Rules about in a Class Diagram A description of a setObjects of objects that share the same attributes (properties), operations,

class Part II - Modeling Object Structure methods, relationships, constraints, and semantics. A class may use a set of interfaces to - How to Capture Rules about Object Relationships specifywith collections - Testing Objects of operations it provides to its environment. UML 2.0 defines a class as a a set of objects that share the same features.
- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

type of classifier that describes Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Class diagram

Figure GL-12: Class icon examples include fully expanded (top), suppressed attributes and operations (bottom left), and stereotype icon (bottom right).

See also interface.

Appendix C - Standard Elements A diagram that represents the resources of a subject area as classes, associations between Glossary classes, and generalizations. It models the purpose and features of the resources essential to Index List of Figures

the proper operation of the subject area.

class path List of Tables


List of Listings A naming specification that includes both the class name and the package location of the

class; for example, package:: classname as in Superstructure :: Classes and < Day Day Up > OrderSystem::AccountsReceivable :: Account. class template
UML Bible A descriptor for a class with unbound formal parameters. The class may not be used directly. ISBN:0764526049 by Pender It has toTom be used to create a class by binding parameter values. John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects

Part II - Modeling Object Structure

Figure GL-13: Template class.

Part III - Modeling Object Interactions

Chapter 8 - Modeling Interactions in UML 1.4 classification Chapter 9 - Modeling Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 See also dynamic classification.
Part IV - Modeling Object Behavior

The assignment of an object to a classifier.

See also multiple Chapter 12 - Modeling the Use ofclassification. a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram

Seethe also static classification. Part V - Modeling Application Architecture


Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

classifier

A collection of instances that have something in common. A classifier can have features that characterize its instances. Classifiers include interfaces, classes, data types, and Chapter 17 - Representing an Architecture in UML 2.0 components.
Chapter 18 - Applying Constraints to the UML Diagrams class-level attribute Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

An attribute that defines a class instead of an instance of the class; also called a static or class-scoped attribute. Designated by underlining the attribute declaration.

Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure GL-14: Class/static attribute notation (underline the attribute declaration). < Day Day Up > See also class-level operation. class-level operation UML Bible
ISBN:0764526049 by Tom Pender An operation that defines a class instead of an instance of the class; also called a static or John Wiley & Sons 2003 (940 pages) class-scoped operation. Designated by underlining the operation declaration. Refer to the getNextTicketNbr() Figure GL-14. For beginning tooperation advancedin users, this book provides

comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows how to use UML to improve See specifications, also class-level attribute. timeliness, quality, and efficiency in development. Companion Web Site

client

A classifier that requests a service from another classifier.


<?xml version="1.0" encoding="ISO-8859-1"?> See also supplier. Table of Contents UML Bible cohesion Preface

A measure of the degree to which all of the parts of an entity contribute to the same purpose. Low cohesion means that elements in the same entity support different goals; high cohesion Chapter 1 - What Is UML? means that all elements within an entity support the same goal.
Part I - An Introduction to UML

Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- UML Architecture - UML and Extension Mechanisms SeeDiagrams also coupling. - Object-Oriented Concepts - Capturing Rules about Objects in a Class or Diagram The specification of how an operation classifier, such as a use case, is realized by a set of

collaboration Part II - Modeling Object Structure classifiers and Rules associations playing specific roles used in a specific way. The collaboration - How to Capture about Object Relationships defineswith an interaction. - Testing Objects See also interaction.in UML 1.4 - Modeling Interactions
- Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Collaboration diagram (UML 1.4)

A diagram that shows interactions organized around the structure of a model, using either classifiers and associations, or instances and links. Unlike a Sequence diagram, a Part IV - Modeling Object Behavior Collaboration diagram shows the relationships among the instances. Sequence diagrams and Chapter 12 - Modeling the Use of a System with the Use Case Diagram Collaboration diagrams express similar information, but show it in different ways. UML 1.4.
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures

Figure GL-15: Collaboration diagram example.

Appendix B - UML Notation Guide See2.0 also Sequence diagram.

See also Communication diagram (UML 2.0).

collaboration occurrence

List of Tables A particular use of a collaboration to explain the relationships between the parts of a classifier, List of Listings or the properties of an operation. It may also be used to indicate how a collaboration

represents a classifier or an operation. A collaboration occurrence defines a set of roles and < Day Day Up > connectors that cooperate within the classifier or operation. There may be multiple occurrences of a given collaboration within a classifier or operation, each involving a different set of roles and connectors. A given role or connector may be involved in multiple UML Bible occurrences of the same or different collaborations.
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Figure GL-16: A collaboration occurrence to explain an operation. See also collaboration. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents
UML Bible Preface

Companion Web Site

comment (UML 1.4)

An annotation attached to an element or a collection of elements. A comment has no semantics. Part I - An Introduction toSee: UML Note (UML 2.0)
Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 - What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects inicon a Class Diagram Figure GL-17: Comment attached to the attribute that it references. - How to Capture Rules about Object Relationships - Testing with Objects See also constraint.

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Communication diagram (UML in 2.0) Chapter 8 - Modeling Interactions UML 1.4


Chapter 9

A diagram that shows organized around the structure of a model, using either - Modeling Interactions in interactions UML 2.0

classifiers associations, or UML instances Chapter 10 - Modeling anand Object's Lifecycle in 1.4 and links. Unlike a Sequence diagram, a Communication diagram shows the2.0 relationships among the instances. Sequence diagrams Chapter 11 - Modeling an Object's Lifecycle in UML and Communication Part IV - Modeling Object Behavior diagrams express similar information, but show it in different ways. UML 1.4. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

See also Sequence diagram.

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 compartment Chapter 17 - Representing an Architecture in UML such 2.0 as a class, collaboration, or package. A partition within a model element
Part VI - Bringing Rigor to the Model

See also Collaboration diagram (UML 1.4).

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML?

Figure GL-18: Class compartments' notations.

- UML Architecture

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts See also operation compartment.

See also attribute compartment.

Part II - Modeling Object Structure

See also Rules list compartment. - Capturing about Objects in a Class Diagram
- How to Capture Rules about Object Relationships

compile time - Testing with Objects Refers to something that occurs during the compilation of a software module. Part III - Modeling Object Interactions
- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

See also modeling time.

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

component

Represents a modular part of a system that encapsulates its contents, whose manifestation is replaceable within its environment. A component defines its behavior in terms of provided and Chapter 12 - Modeling the Use of a System with the Use Case Diagram required interfaces. As such, a component serves as a type, whose conformance is defined Chapter 13 - Modeling Behavior Using an Activity Diagram by these provided and required interfaces (encompassing both their static as well as dynamic Part V - Modeling the Application Architecture semantics). A component is typically specified by one or more classifiers (such as Chapter 14 - Modeling the Application Architecture implementation classes) that reside on it, and may be implemented by one or more artifacts Chapter 15 - Modeling Software Using the Component Diagram (binary, executable, or script files, for example).
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Figure GL-19: Component icons for UML 1.4 and 2.0. UML 1.4 defines a single generic Appendix B - UML 2.0 Notation Guide
Appendix C - Standard Elements Glossary Index

type of interface. UML 2.0 differentiates between provided and required interfaces.

See also artifact.

List of Figures diagram Component List of Tables A diagram that shows the organization and dependencies among components. List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6

- WhatFigure Is UML? GL-20: Component diagram examples from UML 1.4 and UML 2.0. - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

composite (class)

A class that is related Part II - Modeling Object Structure

to one or more classes by a composition relationship.

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

See also composition.

Chapter 7 - Testing with Objects composite aggregation


Part III - Modeling Object Interactions

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4 See also composition. - Modeling Interactions in UML 2.0

composite state Chapter 10 - Modeling an Object's Lifecycle in UML 1.4


Chapter 11 - Modeling an Object's UML 2.0 (orthogonal) substates or sequential (disjoint) A state that consistsLifecycle of eitherin concurrent
Part IV - Modeling Object Behavior substates.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Figure GL-21: Composite states.
Part IV - Modeling Object Behavior

See also substate. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram

Composite Structure diagramArchitecture Part V - Modeling the Application

A diagram that depicts Architecture the parts of a classifier, including the interaction points of the classifier Chapter 14 - Modeling the Application to other parts of the system. It shows the configuration of parts that jointly perform the Chapter 15 - Modeling Software Using the Component Diagram behavior of the containing The architecture diagram specifies a set of instances Chapter 16 - Using Deployment Diagrams classifier. in UML 1.4 playing partsan (roles), as wellin as their required relationships, given in a particular context. Chapter 17 - Representing Architecture UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure GL-22: Composite Structure diagram example.

composition

< Day Day Up >

A form of aggregation requiring that a part instance be included in, at most, one aggregate relationship at a time, and that the aggregate object be responsible for the creation and UML Bible destruction of the parts. Composition may be recursive.
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve Figure GL-23: Composition notation (solid diamond). timeliness, quality, and efficiency in development. Site See alsoCompanion composite Web aggregation.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents concrete class UML Bible Preface Chapter 1 Chapter 2 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

See also aggregation.

Part I - An Introduction to UML

A class that can be directly instantiated because every operation (whether inherited or locally specified) has a corresponding method.

- What Is UML? See also abstract class. - UML Architecture - Object-Oriented Concepts The occurrence of two or more activities during the same time interval. Concurrency can be

concurrency Chapter 3 - UML Diagrams and Extension Mechanisms


Part II - Modeling Object Structure achieved by interleaving

or simultaneously executing two or more threads.

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Figure GL-24: Abstract and concrete classes in an inheritance hierarchy/tree. Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

Figure GL-25: Concurrency in an Activity diagram. control).

See also thread Part I - An Introduction to UML (of


Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

concurrent substate

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

A substate that can be held simultaneously with other substates contained in the same composite state.

Part II - Modeling Object Structure

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - ModelingFigure Object Behavior GL-26: Concurrent

substates.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

See also composite state. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

See also disjoint substate. Chapter 14 - Modeling the Application Architecture


Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Conditional node

A specialized type of structured activity node that represents a choice in which only one alternative can be selected. A conditional node defines one or more clauses. Each clause Part VI - Bringing Rigor to the Model specifies a test and a body. A conditional node is defines two additional Boolean attributes, Chapter 18 - Applying Constraints to the UML Diagrams isDetermined and isAssured.
Chapter 17 - Representing an Architecture in UML 2.0 Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process connectable element

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Interchange SeeMetadata also connector. Appendix A - UML 1.4 Notation Guide

An abstract metaclass representing model elements that may be linked via a connector.

connector Appendix B - UML 2.0 Notation Guide


Appendix C - Standard Elements A link that enables communication between two or more instances. The link may be realized Glossary by something as simple as a pointer or as complex as a network connection. Index

constraint List of Figures


List of Tables A semantic condition or restriction. It can be expressed in natural language text, List of Listings mathematically formal notation, or a machine-readable language for the purpose of declaring

some of the semantics of a model element. Certain constraints are predefined in the UML; < Day Day Up > others may be user-defined. Constraints appear within curly braces when used on a diagram. Constraints are one of three extensibility mechanisms in UML. The code line shows a constraint specification on an operation (using freeform text).
UML Bible

SetDuration(new_duration:int) : void {the new duration may John Wiley & Sons 2003 (940 pages) Not cause overlap with another scheduled Event}
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve See also tagged timeliness, value. quality, and efficiency in development.

by Tom Pender

ISBN:0764526049

See also stereotype.

Companion Web Site

See version="1.0" also Object Constraint Language (OCL). <?xml encoding="ISO-8859-1"?> Table of Contents container UML Bible An instance that exists to contain other instances and that provides operations to access or iterate over contents, for example, arrays, lists, sets. Also, a component that exists to Part I - An Introduction toits UML contain other components. Chapter 1 - What Is UML?
Preface Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics Figure GL-27: Conditional node.
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure GL-28: Constraint on < an association end (using freeform text). Day Day Up > containment hierarchy
UML Bible A namespace hierarchy consisting of model elements, and the containment relationships that ISBN:0764526049 existby between them. A containment hierarchy forms a graph. Tom Pender John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface Chapter 1 Chapter 2 context Chapter 3 Chapter 4

Part I - An Introduction to UML

Figure GL-29: Physical containment and a containment hierarchy are two ways to model containment.

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms A view of a set of related modeling elements for a particular purpose, such as specifying an - Object-Oriented Concepts operation.

Part II - Modeling Object Structure

coupling Chapter 5 - Capturing Rules about Objects in a Class Diagram


Chapter 6 Chapter 7 Chapter 8 Chapter 9 - How to Capture Rules aboutof Object Relationships A measure of the degree dependence between elements. Dependency implies - Testing with Objects communication; consequently, as dependency increases, communication often increases. If a

Part III - Modeling Interactions lot of Object dependency relationships

are drawn between elements, those elements are highly

coupled.Interactions A disadvantage to 1.4 highly coupled systems is that a change to an object often - Modeling in UML requires Interactions changes to in the objects - Modeling UML 2.0 that depend on it.

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 < Day Day Up > Part IV - Modeling Object Behavior Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

D-E
datatype

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides A descriptor of a set of values that lack identity (that is, they are pure values) and whose operations do comprehensive coverage of the versatility of 1.4 and 2.0 UML not have side effects. primitive predefined types and user-definable types. Predefined specifications, andDatatypes shows howinclude to use UML to improve types include numbers, string, and time. User-definable types include enumerations and other classes. timeliness, quality, and efficiency in development.

default

Companion Web Site

A value that is assigned to an element when no value is provided by the application. In UML 2.0, default
<?xml version="1.0" encoding="ISO-8859-1"?> replaced initial value from UML 1.4. Table of Contents UML Bible Preface
Part I - An Introduction to UML

[visibility] [/] name [: type] [multiplicity] [=default] [{property-string}]

Chapter 1 model - What[MOF] Is UML? defining Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 - UML TheArchitecture model on which a repository is based. Any number of repositories can have the same defining - UML Diagrams and Extension Mechanisms model. - Object-Oriented Concepts - Capturing Rules about Objects in a Diagram The ability of an object to issue a Class message to another object in response to a message. Delegation can - How to Capture Rules about Object Relationships be used as an alternative to inheritance. - Testing with Objects - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure delegation

See also inheritance. Part III - Modeling Object Interactions dependency Chapter 9 - Modeling Interactions in UML 2.0 A relationship between two modeling elements, in which a change to one modeling element (the Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 independent element) affects the other Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 modeling element (the dependent element). Dependency is typically noted as a dashed arrow between model elements. Part IV - Modeling Object Behavior
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing Using Profiles Figure UML GL-30: Dependency notation. Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Deployment diagram Appendix B - UML 2.0 Notation Guide A diagram that shows execution architecture, that is, the configuration of runtime processing nodes and Appendix C - Standard Elements the artifacts, processes, and objects that live on them. It represents system artifacts on nodes, which are connected through communication paths to create network systems of arbitrary complexity. Nodes are List of Figures typically defined in a nested manner, and represent either hardware devices or software execution environments. Artifacts represent runtime manifestations of code units. List of Tables
Glossary Index List of Listings

< Day Day Up >

Figure GL-31: Deployment diagram example. UML Bible See also Component diagram.
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

beginning See For also artifact. to advanced users, this book provides

See timeliness, also component. quality, and efficiency in development. derived element
Companion Web Site

comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve

A model element that can be computed (or arrived at) using other elements, but that is shown for clarity or that is included for design purposes even though it adds no semantic information. A derived attribute <?xml version="1.0" encoding="ISO-8859-1"?> may be designated by a forward slash (/) in front of an attribute declaration. Table of Contents
UML Bible Preface Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

[visibility] [/] name [: type] [multiplicity] [=default] [{property-string}]


- What Is UML? A derived association may be designated by a forward slash (/) in front of the association name or in front - UML Architecture of the role name on an association. - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part I - An Introduction to UML

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

GL-32: A Part IV - ModelingFigure Object Behavior

derived association.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter design13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

The part of the software development process whose primary purpose is to decide how the system will be implemented. During design, strategic and tactical decisions are made to meet the required functional Chapter 15 - Modeling Software Using the Component Diagram and quality requirements of a system.
Chapter 14 - Modeling the Application Architecture Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter - Representing an Architecture in UML 2.0 design17 time

Refers to something that occurs during a design phase of the software development process.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics See also modeling time.
Part VII - Automating the UML Modeling Process

See also analysis time. Chapter 20 - Using a Modeling Tool


Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

development process

A set of Notation partially Guide ordered steps performed for a given purpose (constructing or implementing models, for Appendix A - UML 1.4 example) during Guide software development. Appendix B - UML 2.0 Notation
Appendix C - Standard Elements Glossary Index List of Figures List of Listings

diagram

A graphical presentation of a collection of model elements, most often rendered as a connected graph of arcs (relationships) and vertices (other model elements).

List of Tables disjoint substate

A substate that cannot be held simultaneously with other substates contained in the same composite < Day Day Up > state, such as Moving in 1st gear and Moving in 2 nd gear in Figure GL-33.

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

Figure GL-33: Disjoint substates. - Capturing Rules about Objects in a Class Diagram
- How to Capture Rules about Object Relationships - Testing with Objects

See also composite state.

Part III - Modeling Object Interactions

- Modeling Interactions in UML 1.4

See also concurrent substate.

Chapter 9 - Modeling Interactions in UML 2.0 distribution unit Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior

Chapter 11 - Modeling Lifecycle UML 2.0 unit can an be Object's represented by ain runtime composite or an aggregate. Chapter 12 - Modeling the Use of a System with the Use Case Diagram domain

A set of objects or components that are allocated to a process or a processor as a group. A distribution

Chapter 13 - Modeling Usingor anactivity Activity Diagram An area Behavior of knowledge characterized by a set of concepts and terminology understood by
Part V - Modeling the Application practitioners in that Architecture area.

Chapter 14 - Modeling the Application Architecture

dynamic Chapter 15 classification - Modeling Software Using the Component Diagram


Chapter 16 - Using Deployment Diagrams in UML 1.4 in which an object may change its classifier. A semantic variation of generalization Chapter 17 - Representing an Architecture in UML 2.0

See Rigor also static Part VI - Bringing to theclassification. Model


Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

element

A constituent of a model. Process Part VII - Automating the UML Modeling


Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

entry action

An action executed upon entering a state in a state machine, regardless of the transition taken to reach Chapter 22 - XML Metadata Interchange that 1.4 state. Appendix A - UML Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Figure GL-34: Entry actions in a state icon. UML Bible Preface

enumeration Part I - An Introduction to UML


Chapter 1 Chapter 2 Chapter 3 Chapter 4

A list Is ofUML? named values used as the range of a particular attribute type. For example, RGBColor = {red, - What green, blue}. Boolean is a predefined enumeration with values from the set {false, true}. - UML Architecture
- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

event

The Object specification of a Part II - Modeling Structure


Chapter 6 Chapter 7 Chapter 8 Chapter 9

significant occurrence that has a location in time and space. In the context of State diagrams, an event is an occurrence that can trigger a transition. Chapter 5 - Capturing Rules about Objects in a Class Diagram
- How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0 Figure GL-35: Event on a state transition.

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

exception

A special kind ofof signal typically to indicate fault situations. The sender of the exception aborts Chapter 12 - Modeling the Use a System withused the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V

Chapter 14 - Modeling the Application Architecture

execution, and execution resumes with the receiver of the exception, which may be the sender itself. The receiver of an exception is determined implicitly by the interaction sequence during execution; it is not - Modeling the Application Architecture explicitly specified.

Chapter 15 - occurrence Modeling Software Using the Component Diagram execution Chapter 16 - Using Deployment Diagrams in UML 1.4
Part - Bringing Rigor to the Model exitVI action

Chapter 17 - Representing an Architecture in UML 2.0

A unit of behavior within a lifeline on an interaction diagram, and bounded by two event occurrences.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

An action executed upon leaving a state in a state machine regardless of the transition taken to exit that state. See Figure GL-34.

Chapter 20 - Using a Modeling Tool See also entry action. Chapter 21 - Customizing UML Using Profiles

SeeMetadata also internal transition. Chapter 22 - XML Interchange


Appendix A - UML 1.4 Notation Guide

See2.0 also ActivityGuide diagram. Appendix B - UML Notation


Appendix C - Standard Elements Glossary Index

Expansion node

A specialized type of structured activity that supports multiple executions of the same structured activity. Values are passed into and out of the expansion region through expansion nodes. An expansion region List of Figures may execute in parallel, iterative, or stream modes.
List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

Figure Part I - An Introduction toGL-36: UML


Chapter 1 Chapter 3 Chapter 4 Chapter 5 extend Chapter 6 Chapter 7 Chapter 8 Chapter 9 - What Is UML? Chapter 2 - UML Architecture expression

Expansion region.

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

A string that evaluates to a value of a particular type. For example, the expression "(7 + 5 * 3)" evaluates to a value of type integer.

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects the extension use case augments (subject to conditions specified in the extension) the behavior defined

A relationship from an extension use case to a base use case, specifying how the behavior defined for

Part III - Modeling Object Interactions

for the base use case. The behavior is inserted at the location defined by the extension point in the base

- Modeling Interactions in UML 1.4 use case. The base use case does not depend on performing the behavior of the extension use case. - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 See also extension. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

See also include. Part IV - Modeling Object Behavior


Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

extension

Used toApplication indicate that the properties Part V - Modeling the Architecture

of a metaclass are extended through a stereotype; provides the capability to flexibly add and remove Chapter 14 - Modeling the Application Architecture stereotypes from classes.
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 <2.0 Day Day Up > Chapter 17 - Representing an Architecture in UML
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

F-I
facade

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides A stereotyped package containing only references to model elements owned by another comprehensive coverage of the versatility of 1.4 and 2.0 UML package. It is used to provide a "public view" of the contents of a package. specifications, and shows how to use UML of to some improve timeliness, quality, and efficiency in development.

feature

A property such as an operation or attribute that is encapsulated within a classifier, such as an interface, a class, or a datatype.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Companion Web Site

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Figure GL-37: The extend relationship between use cases.
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Figure GL-38: Extension notation for dynamically adding stereotypes to a metaclass. Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0 final state
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

A special kind (subclass) of state signifying that the enclosing composite state or the entire state machine is completed.

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary fire Index List of Figures List of Tables See also transition. List of Listings

Figure GL-39: Final state notation.

To execute a state transition.

focus class

< Day Day Up >

A stereotyped class that defines the core logic or control flow for one or more auxiliary classes that support it. Focus classes are typically used together with one or more auxiliary classes, and are particularly useful for specifying the core business logic or control flow of components UML Bible during design.
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture

Figure GL-40: Focus class in a component in a Deployment diagram. - UML Diagrams and Extension Mechanisms
- Object-Oriented Concepts

Part II - Modeling Object Structure

See also auxiliary class.

- Capturing Rules about Objects in a Class Diagram focus of control - How to Capture Rules about Object Relationships - Testing with Objects

Part III - Modeling Object Interactions

A symbol on a sequence diagram that shows the period of time during which an object is performing an action, either directly or through a subordinate procedure.

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture incontrol UML 2.0 Figure GL-41: Focus of in a Sequence diagram.
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

formal parameter

Chapter 20 - Using a Modeling Tool

See also parameter.

Chapter 21 - Customizing UML Using Profiles framework Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

A stereotyped package that contains model elements which specify a reusable architecture for all or part of a system. Frameworks typically include classes, patterns, or templates. When Appendix B - UML 2.0 Notation Guide frameworks are specialized for an application domain, they are sometimes referred to as Appendix C - Standard Elements application frameworks.
Glossary Index List of Figures

See also pattern.

generalizable element List of Tables


List of Listings A model element that may participate in a generalization relationship.

See also generalization. generalization

< Day Day Up >

A taxonomic relationship between a more general classifier and a more specific classifier. UML Bible Each instance of the specific classifier is also an instance of the general classifier, thus the ISBN:0764526049 by Tom Pender specific classifier indirectly has features of the more general classifier. The more specific John Wiley & Sons 2003 (940 pages) element is fully consistent with the more general element, but may also override or add to the For beginning to advanced users, this book provides general definition. An instance the more specific element may be used wherever the more comprehensive coverage of of the versatility of 1.4 and 2.0 UML general element isand allowed. specifications, shows how to use UML to improve
timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms Figure GL-42: Generalization hierarchy/tree. - Object-Oriented Concepts

Part II - Modeling Structure See Object also inheritance.

- Capturing Rules about Objects in a Class Diagram guard condition Chapter 6 - How to Capture Rules about Object Relationships

A condition that must be satisfied in order to enable an associated transition to fire. - Testing with Objects
- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

GL-43: A Part IV - ModelingFigure Object Behavior

guard condition ([amount=totalPrice]) on the transition event receivePayment. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture implementation

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Diagram implementation of a type; aComponent method is an implementation of an operation. Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing implementation class an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model A stereotyped class that

A definition of how something is constructed or computed. For example, a class is an

specifies the implementation of a class in some programming

Chapter 18 - Applying Constraints to the UML Diagrams language (C++, Smalltalk, or Java, for example) in which an instance may only have one Chapter 19 - Action class.Semantics An implementation class is said to realize a type if it provides all of the operations
Part VII - Automating UML Modeling Process defined the for the type with the same

behavior as specified for the type's operations.

Chapter 20 - Using a Modeling Tool

See also type. Chapter 21 - Customizing UML Using Profiles


Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

implementation inheritance

The2.0 inheritance the implementation of a more general element. Includes inheritance of the Appendix B - UML Notation of Guide interface. Appendix C - Standard Elements
Glossary Index List of Figures import List of Tables List of Listings

See also interface inheritance.

In the context of packages, a dependency that shows the packages whose classes may be

referenced within a given package (including packages recursively embedded within it). < Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure GL-44: Import dependency between packages.


<?xml version="1.0" encoding="ISO-8859-1"?> See also merge. Table of Contents UML Bible Preface

include

A relationship from Part I - An Introduction to UML

a base use case to an inclusion use case, specifying how the behavior for the base use case contains the behavior of the inclusion use case. The behavior is included at Chapter 1 - What Is UML? the location defined in the base use case. The base use case depends on performing the Chapter 2 - UML Architecture behavior of the inclusion use case, but not on its structure (that is, attributes or operations). Chapter 3 - UML Diagrams and Extension Mechanisms
Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0
Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures inheritance List of Tables The mechanism by which more specific elements incorporate structure and behavior of more List of Listings general elements related by behavior.

Figure GL-45: Include relationship between use cases.

See also extend.

See also generalization. initial state

< Day Day Up >

UML Bible A special kind of state signifying the source for a single transition to the default state of the ISBN:0764526049 composite state. by Tom Pender John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure GL-46: Initial state icon pointing to an initial state.


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

instance

An entity that has unique identity, a set of operations that can be applied to it, and state that stores theto effects Part I - An Introduction UML of the operations.
Chapter 1 Chapter 2 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - What Is UML? - UML Architecture

See also object.

Chapter 3 - UML Diagrams and Extension Mechanisms interaction - Object-Oriented Concepts


Part II - Modeling Object Structure

- Capturing Rules about Objects in a Class Diagram - How Capture Rules about Object Relationships See to also collaboration. - Testing with Objects

A specification of how stimuli are sent between instances to perform a specific task. The interaction is defined in the context of a collaboration.

interaction diagram Part III - Modeling Object Interactions


- Modeling Interactions in UML 1.4 A generic term that applies to several types of diagrams that emphasize object interactions. - Modeling Interactions in UML 2.0 These include Collaboration and Sequence diagrams in UML 1.4, and Sequence,

Communication, Interaction Chapter 10 - Modeling an Object's Lifecycle Overview, in UML 1.4 and Timing diagrams in UML 2.0.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

interaction overview diagram Part IV - Modeling Object Behavior

A diagram that interactions through a variant of Activity diagrams in a way that Chapter 12 - Modeling the Usedepicts of a System with the Use Case Diagram promotes overview of aan control flow in which each node can be an interaction diagram. Chapter 13 - Modeling Behavior Using Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML that 1.4 characterize the behavior of an element. A named set of operations - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Figure GL-47: Interaction overview diagram.

Part III - Modeling Object Interactions interface

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Figure GL-48: Interface notation alternatives.

Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix B - UML 2.0 Notation Guide

See also provided interface.

Appendix A - UML Notation Guide See1.4 also required interface.

interface Appendix C inheritance - Standard Elements


Glossary Index List of Figures List of Tables See also implementation inheritance. List of Listings

The inheritance of the interface of a more general element (the method of the operation is not inherited).

internal transition

< Day Day Up >

A transition signifying a response to an event without changing the state of an object. See Figure GL-34.
Bibleaction. See UML also entry by Tom Pender Wiley & Sons 2003 (940 pages) See John also exit action. For beginning to advanced users, this book provides coverage of the versatility of 1.4 and 2.0 UML See comprehensive also Activity diagram. specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site
ISBN:0764526049

< Day Day Up >


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

L-M
layer

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

beginning to advanced users, this book provides The For organization of classifiers or packages at the same level of abstraction. A layer represents a comprehensive coverage of the versatility of 1.4 and 2.0 UML horizontal slice through an architecture, a partition represents a vertical slice. specifications, and shows how to use whereas UML to improve timeliness, quality, and efficiency in development.

See also partition. link

Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> A semantic connection among a tuple of objects. Also, an instance of an association. Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6

- What Is UML? - UML Architecture - UML Diagrams and Extension Figure GL-49: Objects Mechanisms and links. - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram

See Object also association. Part II - Modeling Structure list compartment - How to Capture Rules about Object Relationships A partition a classifier that may hold a collection of like references, such as an attribute Chapter 7 - Testing withof Objects compartment that contains attributes. Part III - Modeling Object Interactions
Chapter 8 Chapter 9 - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Figure GL-50: List compartment example. Appendix B - UML 2.0 Notation Guide

See alsoElements attribute compartment. Appendix C - Standard


Glossary Index List of Figures List of Tables List of Listings

See also operation compartment.

loop node

A specialized structured activity that defines a set of features to manage functions that need to be

performed repeatedly. The loop node is made up of a setupPart, test, and body pairs, and an < Day Day Up > output value (decider ) used to decide when to exit the loop. Each of these elements is a separate sub-region within the loop node. Each contains one or more activity nodes and edges.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface Chapter 1

Figure GL-51: Loop node.


- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms

Part I - An Introduction to UML

merge 2 Chapter
Chapter 3 Chapter 4 Chapter 5 Chapter 6

See also package merge. - Object-Oriented Concepts


- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

Part II - Modeling Object Structure

message

A specification of the conveyance of information from one instance to another, with the expectation that activity will ensue. A message may specify the raising of a signal or the call of an Chapter 7 - Testing with Objects operation.
Part III - Modeling Object Interactions

Chapter 8 Chapter 9

- Modeling Interactions in UML 1.4

messageident ::= [attribute=] signal-or-operation-name [(arguments)] [: - Modeling Interactions in UML 2.0

return-value] arguments ::= argument [, arguments] Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 argument ::= parameter-name:argument-value | attribute argument-value |
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram metaclass
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

A class whose instances are classes. Metaclasses are typically used to construct metamodels.

Chapter 15 - Modeling Software Using the Component Diagram meta-metamodel (3M) Chapter 16 - Using Deployment Diagrams in UML 1.4

A model that defines the language for expressing a metamodel. The relationship between a metametamodel (3M) and a metamodel (2M) is analogous to the relationship between a metamodel Part VI - Bringing Rigor to the Model and a model.
Chapter 17 - Representing an Architecture in UML 2.0 Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action metamodel (2M) Semantics
Part VII - Automating the UML Modeling Process

A model that defines the language for expressing a model.

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles metaobject Chapter 22 - XML Metadata Interchange A generic term for all meta-entities in a metamodeling language; for example, metatypes, Appendix A - UML 1.4 Notation Guide metaclasses, meta-attributes, and meta-associations. Appendix B - UML 2.0 Notation Guide

methodC - Standard Elements Appendix


Glossary Index List of Figures List of Tables List of Listings An abstraction of a physical system with a certain purpose.

The implementation of an operation. It specifies the algorithm or procedure associated with an operation.

model

See also physical system. model [MOF]

< Day Day Up >

Usage note: In the context of the MOF specification, which describes a meta-metamodel, the UML Bible meta-metamodel is frequently referred to simply as the model. ISBN:0764526049 model aspect
by Tom Pender John Wiley & Sons 2003 (940 pages)

A dimension of modeling that emphasizes particular qualities of the metamodel. For example, the comprehensive coverage of the versatility of 1.4 and 2.0 UML structural model aspect emphasizes the UML structural qualities of the metamodel. specifications, and shows how to use to improve
timeliness, quality, and efficiency in development.

For beginning to advanced users, this book provides

model elaboration

Companion Web Site

The process of generating a repository type from a published model. Includes the generation of interfaces and implementations that enable repositories to be instantiated and populated based <?xml version="1.0" encoding="ISO-8859-1"?> on, and in compliance with, the model elaborated.
Table of Contents UML Bible model element Preface Chapter 1 Chapter 2 Chapter 4

An element that is an abstraction drawn from the system being modeled.


- What Is UML? See also view element. - UML Architecture

Part I - An Introduction to UML

model 3 element Chapter - UML [MOF] Diagrams and Extension Mechanisms In the MOF specification, - Object-Oriented Concepts model elements are considered to be metaobjects.)
Part II - Modeling Object Structure

model 5 library Chapter - Capturing Rules about Objects in a Class Diagram


Chapter 6 Chapter 7 Chapter 8 Chapter 9

A stereotyped that contains model elements that are intended to be reused by other - How to Capture package Rules about Object Relationships packages. model library differs from a profile in that a model library does not extend the - Testing with A Objects and tagged definitions. A model library is analogous to a class library inInteractions some programming languages. - Modeling in UML 1.4
- Modeling Interactions in UML 2.0

metamodel using stereotypes Part III - Modeling Object Interactions modeling time

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Refers to something that occurs during a modeling phase of the software development process. It includes analysis time and design time. (Usage note: When discussing object systems, it is often - Modeling Object Behavior important to distinguish between modeling-time and runtime concerns.) See also analysis time.

Chapter 14 - Modeling the Application See also design time. Architecture Chapter 15 - Modeling Software Using the Component Diagram

See also runtime. Chapter 16 - Using Deployment Diagrams in UML 1.4


Chapter 17 - Representing an Architecture in UML 2.0

module Part VI - Bringing Rigor to the Model executable code. Chapter 19 - Action Semantics

A software unit of storage and Diagrams manipulation. A module may include source code, binary code, or Chapter 18 - Applying Constraints to the UML
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

See also component.

Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

MOF (Meta Object Facility)

The MOF defines the foundation for creating modeling languages used for object modeling, such as UML, and for data modeling, such as the Common Warehouse Model (CWM). The MOF Appendix B - UML 2.0 Notation Guide defines standard formats for the key elements of a model so that they can be stored in a common Appendix C - Standard Elements repository and exchanged between modeling tools and languages.
Glossary Index multiple classification List of Figures A semantic variation of generalization in which an object may belong directly to more than one List of Tables classifier. List of Listings

See also static classification. See also dynamic classification.

< Day Day Up >

multiple inheritance UML Bible ISBN:0764526049 by Tom variation Pender of generalization in which a type A semantic may have more than one supertype.
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface Chapter 1 Chapter 2 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

Figure GL-52: Multiple inheritance example.


- What Is UML? See also single inheritance. - UML Architecture

Part I - An Introduction to UML

multiplicity Chapter 3 - UML Diagrams and Extension Mechanisms A specification Concepts of the range of allowable cardinalities that a set may assume. Multiplicity - Object-Oriented given for roles within associations, parts within composites, repetitions, and other purposes. Essentially ain multiplicity is a (possibly infinite) subset of the non-negative integers. - Capturing Rules about Objects a Class Diagram
- How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

specifications may be Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram Figure GL-53: Multiplicity on an association (ends).
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture See also cardinality. Chapter 15 - Modeling Software Using the Component Diagram

multi-valued [MOF] Chapter 16 - Using Deployment Diagrams in UML 1.4 A model element with multiplicity defined whose Multiplicity Type :: upper attribute is set to a Chapter 17 - Representing an Architecture in UML 2.0 number greater one. Part VI - Bringing Rigor to the than Model
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process lineItem[0..*]: LineItem

The term multi-valued does not pertain to the number of values held by

an attribute, parameter, and so forth at any point in time. Chapter 18 - Applying Constraints to the UML Diagrams

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

See also [MOF]. Chapter 22 Single-valued - XML Metadata Interchange


Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

N-P
name

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve name compartment timeliness, quality, and efficiency in development.

For beginning to advanced users, this book provides A string used to identify a model element.

A predefined class compartment containing the class name, stereotype, and properties. Companion Web Site
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling in which UML 1.4 A part ofInteractions the model in the names may be defined and used. Within a namespace, each - Modeling Interactions in UML 2.0 name has a unique meaning.

Part II - Modeling Object Structure

Figure GL-54: Name compartment notation for a class.

namespace Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

See also name. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0


Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

n-ary association

An association among or more classes. Each instance of the association is an n-tuple of Chapter 13 - Modeling Behavior Using three an Activity Diagram values the respective classes. Part V - Modeling the from Application Architecture
Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

Figure GL-55: N-ary association.

List of Figures See also binary association. List of Tables

node List of Listings

A classifier that represents a runtime computational resource, which generally has at least a < Day Day Up > memory and often processing capability. Runtime objects and components may reside on nodes.
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure GL-56: Node notation for Deployment diagram.


<?xml version="1.0" encoding="ISO-8859-1"?> noteof Contents Table UML Bible Preface Chapter 1 Chapter 2 Chapter 3 Chapter 4

(UML2.0) An annotation attached to an element or a collection of elements. A note has no semantics. See also comment (UML 1.4). - What Is UML?
- UML Architecture - UML Diagrams and Extension Mechanisms

Part I - An Introduction to UML

object

An object is an Concepts instance of a class. An entity with a well-defined boundary and identity that - Object-Oriented

encapsulates state and Part II - Modeling Object Structure


Chapter 6 Chapter 7 Chapter 8 Chapter 9

behavior. State is represented by attributes and relationships. Behavior is represented by operations, methods, and state machines. Chapter 5 - Capturing Rules about Objects in a Class Diagram
- How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Figure GL-57: Object notation.
Part IV - Modeling Object Behavior

See also class. Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram

Seethe also instance. Architecture Part V - Modeling Application


Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Object Constraint Language (OCL)

A formal language used to describe expressions in UML models. These expressions typically specify invariant conditions that must hold for the system being modeled or queries over Chapter 17 - Representing an Architecture in UML 2.0 objects described in a model. Note that when OCL expressions are evaluated, they do not Part VI - Bringing Rigor to the Model have side effects; that is, their evaluation cannot alter the state of the corresponding executing Chapter 18 - Applying Constraints to the UML Diagrams system. OCL expressions can be used to specify operations or actions that, when executed, Chapter 19 - Action Semantics do alter the state of the system. UML modelers can use OCL to specify application-specific Part VII - Automating the UML Modeling Process constraints in their models. UML modelers can also use OCL to specify queries on the UML Chapter 20 - Using a Modeling Tool model, which are completely programming-language independent.
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

context ExpressionInOcl inv: self.attribute->notEmpty() Appendix B - UML 2.0 Notation Guide and Appendix C - Standard Elements self.attribute.owner->size() = 1
Glossary Index List of Figures Object diagram List of Tables A diagram that encompasses objects and their relationships at a point in time. An Object List of Listings diagram may be considered a special case of a Class. It is most often used to model test

cases and examples.

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Figure GL-58: Object diagram.


Companion Web Site

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

See also Class diagram.


<?xml version="1.0" encoding="ISO-8859-1"?> See also Collaboration diagram (UML 1.4). Table of Contents UML Bible Preface

See also Communication diagram (UML 2.0).

object flow Part I - An Introduction to UML


Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - What Is UML? An activity edge that can have objects or data passing along it. - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure GL-59: Object flow notation alternatives.

object 12 lifeline Chapter - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Using an Activity A line in Behavior a Sequence diagram thatDiagram represents the existence of an object over a period of time.
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Figure ObjectProcess lifelines. Part VII - Automating the GL-60: UML Modeling
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange OMG [Object Management Group] Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide XML, MOF, UML, and CWM. standards for CORBA, Appendix C - Standard Elements Glossary operation Index

See also Sequence diagram.

An independent consortium that overSees standards for software development, including the

A feature which declares a service that can be performed by instances of the classifier of

List of Figures which they are instances. An operation has a signature, which may restrict the actual List of Tables parameters that are possible, and uniquely defines the operation within a class. List of Listings

getStreetAddress():Address

< Day Day Up >

operation compartment
UML Bible A predefined class compartment containing all of the operation specifications for the class. ISBN:0764526049 by Tom PenderOperations compartment. SeeFigure GL-18, John Wiley & Sons 2003 (940 pages)

See For also name compartment. beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows how to use UML to improve See specifications, also attribute compartment. timeliness, quality, and efficiency in development.

See alsoCompanion list compartment. Web Site package


<?xml version="1.0" encoding="ISO-8859-1"?> A general purpose mechanism for organizing elements into groups. Packages may be nested Table of Contents UML Bible

within other packages. See Figure GL-61.

Preface Package diagram


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML?

- UML Architecture

A diagram that depicts how model elements are organized into packages and the dependencies among them, including package imports and package extensions.

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Figure GL-61: Package diagram example.

package Chapter 17 merge - Representing an Architecture in UML 2.0


Part VI - Bringing Rigor to the Model A relationship between

two packages, where the contents of the target package (the one

Chapter 18 - Applying Constraints to with the UML Diagramsof the source package through specialization and pointed at) is merged the contents Chapter 19 - Action Semantics redefinition, where applicable. This is a mechanism that should be used when elements of the
Part VII - Automating the UML Process same name are Modeling intended to represent

the same concept, regardless of the package in which they are defined. A merging package takes elements of the same kind with the same name Chapter 20 - Using a Modeling Tool from one or more packages and merges them together into a single element using Chapter 21 - Customizing UML Using Profiles generalization and redefinitions. Chapter 22 - XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Figure GL-62: coverage Package of merge. comprehensive the versatility of 1.4 and 2.0 UML package visibility
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

For beginning to advanced users, this book provides

An element with package visibility is owned by a namespace that is not a package, and is visible to elements that are in the same package as its owning namespace.
<?xml version="1.0" encoding="ISO-8859-1"?> parameter Table of Contents UML Bible Preface

The specification of a variable that can be changed, passed, or returned. A parameter may include a name, type, and direction. Parameters are used for operations, messages, and Part I - An Introduction events. to UML
Chapter 1 - What Is UML? Chapter 2 - UML Architecture getObjects( start : Date, end : Date) Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4 Chapter 5 Chapter 7 Chapter 8 Chapter 9 - Object-Oriented Concepts
Part II - Modeling Object Structure See also formal parameter.

- Capturing Rules about Objects in a Class Diagram See also Chapter 6 argument. - How to Capture Rules about Object Relationships
Part III - Modeling Object Interactions

parameterized element

- Testing with Objects

The descriptor for a class with - Modeling Interactions in UML 1.4 one or more unbound parameters.
- Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter parent11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

See also template.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling Application Architecture Seethe also superclass.

In a generalization relationship, the generalization of another element, the child. See Figure GL-11.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software See also child. Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

See also subclass. Chapter 17 - Representing an Architecture in UML 2.0


Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter part 19 - Action Semantics
Part VII - Automating the UML Modeling Process

See also subtype.

An element representing a set of instances that are owned by a containing classifier instance. Parts may be joined by attached connectors and specify configurations of linked instances to Chapter 21 - Customizing UML Using Profiles be created within an instance of the containing classifier.
Chapter 20 - Using a Modeling Tool Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure GL-63: Part notation within a Composite Structure diagram.

participate

< Day Day Up >

The connection of a model element to a relationship or to a reified relationship. For example, a class participates in an association; an actor participates in a use case.
UML Bible

partition

by Tom Pender

ISBN:0764526049

John Wiley Sons 2003 (940that pages) A portion of an & Activity diagram organizes the responsibilities for actions. See: swimlane. For beginning to advanced users, this book provides Also, a set of related classifiers or packages at the same level of abstraction or across layers comprehensive coverage of the versatility of a 1.4 and 2.0 UML in a layered architecture; a partition represents vertical slice through an architecture.

See also layer. pattern

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> more limited than those used by the design pattern community. In general, design patterns Table of Contents UML Bible Preface Chapter 1 Chapter 2 Chapter 4

A template collaboration that describes the structure of a design pattern. UML patterns are involve many non-structural aspects, such as heuristics for their use and usage trade-offs. Such aspects are not modeled in UML but could be associated with a collaboration.

Part I - An Introduction to UML

persistent object

- What Is UML?

- UML Architecture

An object that exists after the process or thread that created it has ceased to exist.

Chapter 3 system - UML Diagrams and Extension Mechanisms physical

The subject of a model. Also, a collection of connected physical units, which can include software, hardware, and people, which are organized to accomplish a specific purpose. A Chapter 5 - Capturing Rules about Objects in a Class Diagram physical system can be described by one or more models, possibly from different viewpoints.
Part II - Modeling Object Structure

- Object-Oriented Concepts

Chapter 6 Chapter 7

- How to Capture Rules about Object Relationships - Testing with Objects See also system. - Modeling Interactions in UML 1.4

Part III - Modeling Object Interactions

pin Chapter 8
Chapter 9

- Modeling in represents UML 2.0 A modelInteractions element that the data values passed into a behavior upon its invocation

Chapter 10 - Modeling anthe Object's Lifecycle in UML 1.4 as well as data values returned from a behavior upon completion of its execution,

identified as input pins (InputPin) and output pins (OutputPin). Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index

Figure GL-64: Input and output pins on a component.

port List of Figures


List of Tables A feature of a classifier that specifies a distinct interaction point between that classifier and its List of Listings environment or between the (behavior of the) classifier and its internal parts. Ports are

connected to other parts through < connectors through which requests can be made to invoke Day Day Up > the behavioral features of a classifier.

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

Figure Part I - An Introduction toGL-65: UML


Chapter 1 Chapter 2 Chapter 3 Chapter 4 - What Is UML? - UML Architecture

Ports on the parts of a Composite Structure diagram.

post-condition

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part II - Modeling Object Structure

A constraint that must be true at the completion of a behavior such as after the execution of an operation or use case.

Chapter 5 - Capturing Rules about Objects in a Class Diagram powertype Chapter 6 Chapter 7 Chapter 8 Chapter 9

A classifier whose instances are also subclasses of another classifier. Powertypes are metaclasses with an extra twist: the instances are also subclasses. A powertype is designated Part III - Modeling Object Interactions with a colon followed by the classifier name of the powertype.
- Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

- How to Capture Rules about Object Relationships

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

Figure GL-66: Architecture Powertypes Part V - Modeling the Application

(Solo, Group, and so forth) used to specify two overlapping

generalizations. Chapter 14 - Modeling the Application Architecture


Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

pre-condition

A constraint that must be true when a behavior is invoked.

Chapter 18 type - Applying Constraints to the UML Diagrams primitive Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

A predefined data type without any relevant substructure (that is, it is not decomposable) such as an integer or a string.

Chapter 21 - Customizing UML Using Profiles private visibility Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide visibility may be designated by a minus sign (-) in front of the element. Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables procedure List of Listings A set of actions that may be attached as a unit to other parts of a model, for example, as the

An element with private visibility is only visible inside the namespace that owns it. Private

name:String getName():String

body of a method. Conceptually, < a procedure, when executed, takes a set of values as Day Day Up > arguments and produces a set of values as results, as specified by the parameters of the procedure. process
UML Bible
ISBN:0764526049 by Tom Pender A heavyweight unit of concurrency and execution in an operating system. (Contrast with John Wiley & Sons 2003 (940 pages) thread , which includes heavyweight and lightweight processes. If necessary, an For beginning to advanced this using book provides implementation distinction canusers, be made stereotypes.) Also, the steps and guidelines by comprehensive coverage system. of the versatility 1.4 and 2.0 UML which to develop a software Also, to of execute an algorithm or otherwise handle specifications, and shows how to use UML to improve something dynamically.

timeliness, quality, and efficiency in development. Companion Web Site

profile

A stereotyped package containing model elements that have been customized for a specific domain or purpose using extension mechanisms, such as stereotypes, tagged definitions and <?xml version="1.0" encoding="ISO-8859-1"?> constraints. A profile may also specify model libraries on which it depends and the metamodel Table of Contents subset that it extends. UML Bible
Preface
Part I - An Introduction to UML

projection

Chapter 1 Chapter 2 Chapter 3 Chapter 4

A mapping from a set to one of its subsets. - What Is UML?


- UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

property

A named value denoting a characteristic of an element. A property has semantic impact. Certain properties are predefined in UML; others may be user-defined. When added to Part II - Modeling Object Structure compartment or element definition they can be enclosed within braces, such as {date=11-02Chapter 5 - Capturing Rules about Objects in a Class Diagram 03}, and are typically expressed with either tagged values or strings. See: tagged value. Chapter 6 - How to Capture Rules about Object Relationships Properties may also be expressed as a simple string.
Chapter 7 Chapter 8 Chapter 9 - Testing with Objects
Part III - Modeling Object Interactions protected visibility

- Modeling Interactions in UML 1.4

- Modeling Interactions in UML 2.0 to the namespace that owns it. Protected visibility may be designated by a pound sign (#) in Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 front of the element. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

An element with protected visibility is visible to elements that have a specialization relationship

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

#name:String #getName():String

Chapter 14 Modeling the Application Architecture provided interface Chapter 15 - Modeling Software Using the Component A service offered/supported by a class.Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Figure GL-67: Provided interfaces are shown on left of the figure, to easily distinguish Appendix A - UML 1.4 Notation Guide them from the required' interface symbol on the right of the figure. Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Listings

pseudo-state

A vertex in a state machine that has the form of a state but doesn't behave as a state. Pseudo-states include initial and history vertices.

List of Tables public visibility

An element with public visibility is < visible to all elements that can access the contents of the Day Day Up > namespace that owns it. Public visibility may be designated by a plus sign (+) in front of the element. +name:String UML Bible by Tom Pender +getName():String
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML published model [MOF]

ISBN:0764526049

A model that has been and frozen, and becomes available for instantiating repositories and for timeliness, quality, efficiency in development. support in defining other models. A frozen model's model elements cannot be changed.
Companion Web Site

specifications, and shows how to use UML to improve

<?xml version="1.0" encoding="ISO-8859-1"?> < Day Day Up > Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Q-S
qualifier

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides An association attribute or tuple of attributes whose values partition the set of objects related comprehensive coverage of the versatility of 1.4 and 2.0 UML to an object across an shows association. specifications, and how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface

Figure GL-68: Qualified association.

realization Part I - An Introduction to UML


Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - What Is UML? abstraction relationship between two sets of model elements, one representing A specialized - UML Architecture a specification (the supplier) and the other representing an implementation of the latter (the

client, realization). Realization can be used to model stepwise refinement, optimizations, - UML Diagrams and Extension Mechanisms transformations, templates, model synthesis, framework composition, and so forth. - Object-Oriented Concepts
- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Figure GL-69: Realization dependency.

Chapter 15 - Modeling Software Using the Component Diagram

receive (a-message) Chapter 16 Using Deployment Diagrams in UML 1.4


Chapter 17 - Representing an in UML 2.0 The handling ofArchitecture a stimulus passed from a sender instance.
Part VI - Bringing Rigor to the Model

See also sender (object). Chapter 18 - Applying Constraints to the UML Diagrams
Chapter 19 - Action Semantics

See also receiver (object). Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements reception Glossary Index

receiver (object)

The object handling a stimulus passed from a sender object. See also sender (object).

A declaration that a classifier is prepared to react to the receipt of a signal.

reference List of Figures


List of Tables A denotation of a model element. Also, a named slot within a classifier that facilitates List of Listings navigation to other classifiers. Synonym: pointer.

refinement

< Day Day Up >

A relationship that represents a fuller specification of something that has already been specified at a certain level of detail. For example, a design class is a refinement of an analysis UML Bible class.
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure GL-70: Refinement dependency.


<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents relationship UML Bible Preface

An abstract class that specifies the semantic connection among model elements. Examples of relationships include associations and generalizations.

Part I - An Introduction to UML

repository Chapter 1 - What Is UML?


Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 7 Chapter 8 - UML Architecture A facility for storing object models, interfaces, and implementations. Each modeling element - UML Diagrams and diagram Extension Mechanisms defined in a UML in the same modeling tool is stored within and shared from the - Object-Oriented Concepts same storage facility. For example, a Car object defined on a Sequence diagram is the same

Part II - Modeling Structure Car Object object that appears on

an Activity diagram within the same project.

- Capturing Rules about Objects in a Class Diagram

required Chapter 6 interface - How to Capture Rules about Object Relationships A service that a class defines as needed from another class. See Figure GL-67. - Testing with Objects
Part III - Modeling Object Interactions

requirement - Modeling Interactions in UML 1.4 A desired feature, property, or behavior of a system. Chapter 9 - Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

responsibility

A contract obligation Part IV - Modeling Objector Behavior return-result

of a classifier.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

Thethe datatype of theArchitecture response from Part V - Modeling Application


Chapter 14 - Modeling the Application Architecture

an operation; often referred to as the type of the operation.

operationName():return Chapter 15 - Modeling Software Using the Component Diagram


Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

reuse

The useConstraints of a pre-existing element or artifact. Chapter 18 - Applying to the model UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

role

A description of how Chapter 20 - Using a Modeling Tool an entity participates in a relationship. Also, the named specific behavior of an entity participating in a particular context. A role may be static (an association end, for example) or dynamic (such as a collaboration role). A role may also be a synonym for Chapter 22 - XML Metadata Interchange association end often referring to a subset of classifier instances that are participating in the Appendix A - UML 1.4 Notation Guide association.
Chapter 21 - Customizing UML Using Profiles Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Figure GL-71: Role names on associations.

runtime Chapter 1 - What Is UML?


Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 - UML TheArchitecture period of time during which a computer program executes. - UML Diagrams and Extension Mechanisms

See also modeling time. - Object-Oriented Concepts


- Capturing Rules about Objects in a Class Diagram

Part II - Modeling Object Structure

scenario

A specific sequence of actions that illustrates behaviors. A scenario may be used to illustrate - How to Capture Rules about Object Relationships
- Testing with Objects

an interaction or the execution of a use case instance. See also interaction.

Part III - Modeling Object Interactions

- Modeling Interactions in UML 1.4

Chapter 9 [MOF] - Modeling Interactions in UML 2.0 schema Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior

Chapter 11 - Modeling anSchema Object's corresponds Lifecycle in UML 2.0MOF package. elements. to an

In the context of the MOF, a schema is analogous to a package that is a container of model

Chapter 12 - Modeling the Use of a System See also metamodel (2M). with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

Seethe also package. Architecture Part V - Modeling Application


Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram

semantic variation point

A point of variation in the semantics of a metamodel. It provides an intentional degree of Chapter 16 - Using Deployment Diagrams in UML 1.4 freedom for the interpretation the metamodel semantics. Chapter 17 - Representing an Architecture in of UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams

send (a message)

The passing of a stimulus from a sender instance to a receiver instance. Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

See also sender (object).

Chapter 21 - Customizing UML Using Profiles See also receiver (object). Chapter 22 - XML Metadata Interchange Appendix - UML 1.4 Notation Guide sender A (object) Appendix B - UML Notation Guide The2.0 object passing a stimulus to a receiver object. Appendix C - Standard Elements Glossary Index List of Figures

See also receiver (object).

Sequence diagram

List of Tables A diagram that shows object interactions arranged in time sequence. In particular, it shows the List of Listings objects participating in the interaction and the sequence of messages exchanged. Unlike a

Collaboration diagram (UML 1.4)< orDay Communication diagram (UML 2.0), a Sequence diagram Day Up > includes time sequences but does not include object relationships. A Sequence diagram can exist in a generic form (describes all possible scenarios) and in an instance form (describes one actual scenario). Sequence diagrams and Collaboration/Communication diagrams UML Bible information, but show it in different ways. express similar
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9
Part I - An Introduction to UML

Figure GL-72: Sequence diagram example.

- What Is UML?

- UML Architecture

See also Collaboration diagram (UML 1.4).

- UML and Extension Mechanisms SeeDiagrams also Communication diagram (UML 2.0). - Object-Oriented Concepts - Capturing Rules about Objects in a Class stimulus Diagram that triggers a reaction in the receiver in an The specification of an asynchronous - How to Capture way Rules about Object Relationships asynchronous and without a reply. The receiving object handles the signal as specified by - Testing with Objects its receptions. The data carried by a send request and passed to it by the occurrence of the

signal Part II - Modeling Object Structure

Part III - Modeling Interactions send Object invocation event that

caused the request is represented as attributes of the signal

instance. A signal is defined independently of the classifiers handling the signal. - Modeling Interactions in UML 1.4
- Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

signature

The name parameters behavioral feature. A signature may include an optional Chapter 11 - Modeling an and Object's Lifecycleof in a UML 2.0 returned parameter. Part IV - Modeling Object Behavior
Chapter 12 - Modeling the Use of a System with the Use Case Diagram

operationName(parm1 : Using datatype) : Diagram void Chapter 13 - Modeling Behavior an Activity setSartDate(newDate : Date) : void Part V - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

single inheritance

A semantic variation of generalization Chapter 17 - Representing an Architecture in UML 2.0 in which a type may have only one supertype. Synonym: multiple inheritance [OMA]. Part VI - Bringing Rigor to the Model
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

See also multiple inheritance.

Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Single-valued [MOF]

A model element with multiplicity defined is single valued when its Multiplicity Type :: upper attribute is set to 1. A single-valued attribute (for instance, with a multiplicity lower bound of 0) Chapter 22 - XML Metadata Interchange may have no value.
Chapter 21 - Customizing UML Using Profiles Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index See also multi-valued [MOF]. List of Figures List of Tables slot List of Listings A specification that an entity modeled by an instance has a value or values for a specific

orderNbr[1]:int

structural feature. A slot defined on an object corresponds to an attribute defined on a class. < Day Day Up > specialization A class inherits all of the features of another class and either overrides or adds to the inherited UML Bible class specification. Also, the act of identifying characteristics of an object or set of objects ISBN:0764526049 by Tom Pender sharing the same class specification that do not share all the same attributes, operations, or John Wiley Sons members 2003 (940 of pages) relationships as& other the class. The unique elements of these objects are For beginning to advanced users, a this book provides isolated and defined together under specialized class.
comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows how to use UML to improve See specifications, also subclass. timeliness, quality, and efficiency in development. Companion Web Site

specification

A declarative description of what something is or does.


<?xml version="1.0" encoding="ISO-8859-1"?> See also implementation. Table of Contents UML Bible state Preface

A condition or situation in the life of an object during which it satisfies some condition, performs some activity, or waits for some event. An object's state is defined by (captured in) Chapter 1 - What Is UML? the values of its attributes.
Part I - An Introduction to UML

Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- UML Architecture

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Figure GL-73: Two forms of the state icon are elided (left) and expanded (right). Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

state machine

A behavior that specifies the sequences of states that an object or an interaction goes through Chapter 13 - Modeling Behavior Using an Activity Diagram during life in response to events, Part V - Modeling theits Application Architecture
Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

together with its responses and actions.

State Machine diagram

A UML 2.0 diagram that depicts discrete behavior modeled through finite state-transition systems. In particular, it specifies the sequences of states that an object or an interaction goes Chapter 17 - Representing an Architecture in UML 2.0 through during its life in response to events, together with its responses and actions.
Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

See also state machine.

Part VII - Automating the UML Modeling Process See also Statechart diagram.

Chapter 20 - Using a Modeling Tool

Statechart Chapter 21 - diagram Customizing UML Using Profiles


Chapter 22 - XML Metadata Interchange A UML 1.4 diagram that shows a state machine. Appendix A - UML 1.4 Notation Guide

See2.0 also state machine. Appendix B - UML Notation Guide


Appendix C - Standard Elements Glossary Index

static classification

The assignment of an instance to a classifier where the assignment may not change to any other classifier. List of Figures
List of Tables List of Listings

See also dynamic classification.

stereotype

< Day Day Up >

A class that defines how an existing metaclass (or stereotype) may be extended, and enables the use of platform- or domain-specific terminology or notation in addition to those used for the extended metaclass. Certain stereotypes are predefined in UML; others may be user UML Bible defined. Stereotypes are one of the extensibility mechanisms in UML. A stereotype is denoted ISBN:0764526049 by Tom Pender using guillemets, as in stereotype.
John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

GL-74: Alternative Part II - Modeling Figure Object Structure See also constraint.

forms of stereotyped class notation.

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects See also tagged value.

Part III - Modeling Object Interactions

Chapter 8 - Modeling Interactions in UML 1.4 stimulus Chapter 9 - Modeling Interactions in UML from 2.0 one instance to another, such as raising a signal or invoking The passing of information Chapter 10 - Modeling an Object's Lifecycle in signal UML 1.4 an operation. The receipt of a is normally considered an event. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior See also message.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

string 13 - Modeling Behavior Using an Activity Diagram Chapter A sequence of text Architecture characters. The Part V - Modeling the Application details of string representation depend on implementation, and maythe include character sets that support international characters and graphics. Chapter 14 - Modeling Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

structural feature

A static feature of a model element, such as an attribute. Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams

structural model aspect

A model aspect that emphasizes the structure of the objects in a system, including their types, Chapter 19 - Action Semantics classes,the relationships, attributes, Part VII - Automating UML Modeling Processand
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

operations.

structured activity

Defines a unit of functionality that appears only once within the model, that is, a structured activity may only be a part of one activity and its execution is independent of all other parts of Appendix A - UML 1.4 Notation Guide the model. Structured activities are specialized into expansion regions, conditional nodes, and Appendix B - UML 2.0 Notation Guide loop nodes.
Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Figure GL-75: Structured activity.


Companion Web Site

subactivity state encoding="ISO-8859-1"?> <?xml version="1.0" Table of Contents (UML 1.4) A state in an Activity diagram that represents the execution of a non-atomic
UML Bible Preface

sequence of steps that has some duration. Replaced by explicitly modeled actions in UML 2.0.

subclass Part I - An Introduction to UML


Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6

In a generalization relationship, the specialization of another class; the superclass. - What Is UML?
- UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

See also generalization. See also superclass.

Part II - Modeling Object Structure

- Capturing See also Rules child. about Objects in a Class Diagram - How to Capture Rules about Object Relationships

submachine state with Objects Chapter 7 - Testing


Part III - Modeling Object Interactions A state in a state machine

that is equivalent to a composite state, but its contents are

Chapter 8 Chapter 9

- Modeling Interactions instate UML machine. 1.4 described by another - Modeling Interactions in UML 2.0

subpackage Chapter 10 - Modeling an Object's Lifecycle in UML 1.4


Chapter 11 - Modeling an that Object's Lifecycle in another UML 2.0 package. A package is contained
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Figure GL-76: Superclass-subclass relationship in an inheritance hierarchy/tree.

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive of the state versatility ofa1.4 and 2.0 UML Figure GL-77: coverage A submachine within composite state. specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects Figure GL-78: Subpackages within a package. - Modeling Interactions in UML 1.4

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

substate Chapter 9 - Modeling Interactions in UML 2.0 A state that is part of a composite state. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram region) and orthogonal (concurrent) are two Figure GL-79: Non-orthogonal (single/same Chapter 16 - Using Deployment Diagrams in UML 1.4 types of substates. Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing to the Model See Rigor also concurrent substate.

Chapter 18 - Applying Constraints to the UML Diagrams

See also disjoint substate. Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

subsystem

A grouping of model elements Chapter 21 - Customizing UML Using Profiles that represents a behavioral unit in a physical system. A
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

subsystem offers interfaces and has operations. In addition, the model elements of a subsystem can be partitioned into specification and realization elements.

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive the versatility of 1.4 and UML Figure GL-80: coverage UML 1.4 of Subsystem stereotypes on2.0 packages. In UML 2.0 the package specifications, and shows how to use UML to improve symbol is replaced by a simple rectangle with the subsystem stereotype. timeliness, quality, and efficiency in development. Web Site See alsoCompanion component. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface Chapter 1 Chapter 2 Chapter 3 Chapter 4

See also physical system.

subtype

In a generalization relationship, the specialization of another type, the supertype.


- What Is UML?

Part I - An Introduction to UML

See also subclass.

- UML SeeArchitecture also generalization. - UML Diagrams and Extension Mechanisms

See also supertype. - Object-Oriented Concepts

Part II - Modeling Object Structure

superclass Chapter 5 - Capturing Rules about Objects in a Class Diagram


Chapter 6 Chapter 7 Chapter 8 Chapter 9

In a to generalization relationship, the generalization of another class/es (the subclass). See - How Capture Rules about Object Relationships Figure with GL-76. - Testing Objects
- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

See also generalization. See also subclass.

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 supertype
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram See also generalization.
Part V - Modeling the Application Architecture

In a generalization relationship, the generalization of another type, the subtype.

See also subtype. Chapter 14 - Modeling the Application Architecture


Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

supplier

A classifier that provides services Chapter 17 - Representing an Architecture in UMLthat 2.0 can be invoked by others.
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

See also client.

swimlane

Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles Chapter - XML Metadata Interchange synch 22 state Appendix A - UML 1.4 Notation Guide A vertex in a state machine used for synchronizing the concurrent regions of a state machine. Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

See also activity partition.

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve Figure GL-81: Synch timeliness, quality, andstate. efficiency in development. Companion Web Site

system An organized array of elements functioning as a unit. Also, a top-level subsystem in a model. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents
UML Bible Preface
Part I - An Introduction to UML

See also physical system.

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

< Day Day Up >

- UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

T-V
tagged value

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

beginning to advanced users, this book provides The For explicit definition of a property as a name-value pair. In a tagged value, the name is comprehensive coverage of the versatility of 1.4 and 2.0 UML referred to as the tag. tags are predefined in UML; others may be user defined. specifications, and Certain shows how to use UML to improve Tagged values quality, are oneand of three extensibility mechanisms in UML. timeliness, efficiency in development. Companion Web Site

"lastUpdated=02-09-02" "updatedBy=Tom"
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible See also constraint. Preface
Part I also - An Introduction See stereotype. to UML

Chapter 1 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Diagrams and Extension Mechanisms

template Chapter 2 - UML Architecture See also parameterized - Object-Oriented Concepts element.
- Capturing Rules about Objects in a Class Diagram

Part II - Modeling Object Structure

thread (of control)

A single path of execution a program, a dynamic model, or some other representation - How to Capture Rules about through Object Relationships of control flow. Also, a stereotype for the implementation of an active object as a lightweight - Testing with Objects
- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

process. Part III - Modeling Object Interactions See also process.

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 time event Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

An event that denotes the time elapsed since the current state was entered.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram See also event. Chapter 13 - Modeling Behavior Using an Activity Diagram

time Part V expression - Modeling the Application Architecture


Chapter 14 - Modeling the Application Architecture An expression that resolves to an absolute or relative value of time. Chapter 15 - Modeling Software Using the Component Diagram

Timing diagram Chapter 16 - Using Deployment Diagrams in UML 1.4


Chapter 17 - Representing andiagram Architecture UML the 2.0 change in state or condition of a lifeline (representing a An interaction that in shows
Part VI - Bringing Rigor Instance to the Model Classifier or Classifier

Role) over linear time. The most common usage is to show

the change in state to of the an object over time in response to accepted events or stimuli. The Chapter 18 - Applying Constraints UML Diagrams format of the diagram facilitates the description of time and duration constraints on state Chapter 19 - Action Semantics changes. Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

top level

topLevel isInterchange a package stereotype denoting the top-most package in a containment Chapter 22 - XML Metadata hierarchy. The topLevel stereotype defines the outer limit for looking up names, as Appendix A - UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary trace Index

namespaces "See" outward. For example, topLevel subsystem represents the top of the subsystem containment hierarchy.

A dependency stereotype that indicates a historical or process relationship between two elements that represent the same concept without specific rules for deriving one from the List of Tables other.
List of Figures List of Listings

transient object

< Day Day Up >

An object that exists only during the execution of the process or thread that created it. transition The change from one state to another state triggered by an event. On such a change of state, ISBN:0764526049 by Tom Pender the transition is said to fire. A transition fires only if the associated conditions are satisfied. A John Wiley & Sons 2003 (940 pages) transition causes the interruption of activities in the current state, execution of exit actions in For beginning to advanced users, this book provides the current state, event actions, and entry actions on the new state.
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site UML Bible

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface Chapter 1


Part I - An Introduction to UML

Figure GL-82: Transition with event, guard, and action.

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms A stereotyped class that specifies a domain of objects together with the operations applicable - Object-Oriented Concepts to the objects, without defining the physical implementation of those objects. A type may not

type 2 Chapter
Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

Part II - Modeling Object contain anyStructure methods,

maintain its own thread of control, or be nested. However, it may have

attributesRules and associations. an object may have at most one implementation class, it - Capturing about ObjectsAlthough in a Class Diagram mayto conform multiple different types. - How Captureto Rules about Object Relationships
- Testing with Objects

See also implementation Part III - Modeling Object Interactions class.


- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

See also interface.

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 type expression Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

An expression that evaluates to a reference to one or more types.

Chapter use 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram In a use dependency, one element (the client) requires the presence of another element
Part V - Modeling the Application Architecture

(the supplier) for its correct functioning or implementation.

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram use case Chapter 16 - Using Deployment Diagrams in UML 1.4 The specification of a sequence of actions, including variants, that a system (or other entity) Chapter 17 - Representing an Architecture in UML 2.0 can perform, interacting with actors of the system. Refer to Figure GL-83.
Part VI - Bringing Rigor to the Model

See also use case instance. Chapter 18 - Applying Constraints to the UML Diagrams
Chapter 19 - Action Semantics

Use Case diagram the UML Modeling Process Part VII - Automating A diagram that shows Chapter 20 - Using a Modeling Tool the relationships among actors and use cases (features) within a system. Chapter 21 - Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

use case instance

The2.0 performance of a sequence of actions being specified in a use case. Appendix B - UML Notation Guide
Appendix C - Standard Elements Glossary Index use case model List of Figures

See also scenario.

List of Tables narratives, and scenarios. List of Listings

A model that describes a system's functional requirements in terms of use cases, use case

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0 Figure GL-83: Use Case diagram example.

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

utility

The utility stereotype groups global variables and procedures in the form of a class Chapter 12 - Modeling the Use of a System with the Use Case Diagram declaration. The utility and operations become global variables and global Chapter 13 - Modeling Behavior Usingattributes an Activity Diagram procedures, respectively. A utility is Part V - Modeling the Application Architecture convenience. Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

not a fundamental modeling construct, but a programming

value

An element of a type domain.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

vertex

A source or a target for a transition in a state machine. A vertex can be either a state or a pseudo-state.

Chapter 20 - Using a Modeling See also state. Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Interchange SeeMetadata also pseudo-state. Appendix A - UML 1.4 Notation Guide

view B - UML 2.0 Notation Guide Appendix A projection of a model Seen from a given perspective or vantage point and omitting entities Appendix C - Standard Elements
Glossary Index List of Figures

that are not relevant to that perspective.

view element

List of Tables A view element is a textual and/or graphical projection of a collection of model elements. List of Listings

view projection

< Day Day Up >

A projection of model elements onto view elements. A view projection provides a location and a style for each view element. visibility
UML Bible by Tom Pender An enumeration whose value (public, protected, package, or private) denotes how the model John Wiley & Sons 2003 (940 pages) element to which it refers may be Seen outside its enclosing namespace.
ISBN:0764526049

private + public # protected ~ package

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

< Day Day Up >

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

SYMBOLS For beginning to advanced users, this book provides


comprehensive coverage of the versatility of 1.4 and 2.0 UML * (asterisk) specifications, and shows how to use UML to improve indicating message iteration, 258-259 timeliness, quality, and efficiency in development. indicating unlimited upper value of range, 127 Companion Web Site multiplication operation, OCL, 615,617 multiplication operator, OCL, 596 or more operator, XML, 737 <?xmlzero version="1.0" encoding="ISO-8859-1"?> Table of Contents {} (braces) UML enclosing Bible constraints, 71,175-176 Preface enclosing ordering for multiplicity, 128,129
Part enclosing I - An Introduction to 116-117, UML properties, 139

Chapter 1 - What Isinvariant, UML? enclosing state 286-288 Chapter 2 - UML Architecture enclosing tagged values, 70

enclosing uniqueness multiplicity, 129 Chapter 3 - UML Diagrams for and Extension Mechanisms
Chapter 4 indicating - Object-Oriented Concepts ^ (caret), message has been sent, 598-599,608-609
Part II - Modeling Object Structure

Chapter 5 Chapter 7

->, collection property, 606

- Capturing Rules about Objects in a Class Diagram

: (colon) Chapter 6 - How to Capture Rules about Object Relationships

indicating attribute type, 135 - Testing with Objects indicating operation parameter type, 148 Part III - Modeling Object Interactions between object name and class name, 223 Chapter 8 - Modeling Interactions in UML 1.4 between role name and interface specifier in association, 172
Chapter 9 - Modeling Interactions in UML 2.0 , (comma), ordering operator, XML,in 737 Chapter 10 - strict Modeling an Object's Lifecycle UML 1.4
Part IV - Modeling Object Behavior

Chapter 11 -caret), Modeling an Object's Lifecycle in UML 2.0608, 609 ^^ (double indicating set of messages sent,

:: (double colon)

Chapter 12 - Modeling of a System with the Use Case Diagram indicating value ofthe an Use enumeration, 598 Chapter 13 - Modeling Behavior Using between nested substates, 356 an Activity Diagram
Part between V - Modeling the Application package name andArchitecture class name,

112

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

- (double dash), indicating comment in OCL, 71

(ellipsis), indicating more subclasses, 203-204

= (equal Chapter 17sign) - Representing an Architecture in UML 2.0 to operation, OCL Part equal VI - Bringing Rigor to the Model 624 Constraints to the UML Diagrams Chapter for 18 Bag, - Applying types, 614 Chapter for 19 ModelElement - Action Semantics OclAny, 613 Part VIIfor - Automating the UML Modeling Process 615 Chapter for 20 OclState, - Using a Modeling Tool for OclType, 614 for Sequence, 626 Chapter 22 - XML Metadata Interchange for Set, 621 Appendix A - UML 1.4 Notation Guide indicating default value of attribute, 137-138 Appendix B - UML 2.0 Notation Guide in properties, 116-117 Appendix C - Standard Elements in tagged values, 70
Chapter 21 - Customizing UML Using Profiles Glossary Index

>= (greater than or equal to sign) greater than or equal to operation, OCL, 617 List of Figures greater than or equal to operator, OCL, 596
List of Tables

> (greater than sign) List of Listings

greater than operation, OCL, 616 greater than operator, OCL, 596 "" (guillemets), enclosing stereotypes, 69

< Day Day Up >

- (hyphen) UML Bible in class names, ISBN:0764526049 by 110 Tom Pender indicating private visibility, 514 John Wiley &121, Sons 2003 (940 pages) subtraction operation, OCL, 615,617,622 For beginning to advanced users, this book provides subtraction operator, OCL, 596 comprehensive coverage of the versatility of 1.4 and 2.0 UML
specifications, <= (less than or equal to sign) and shows how to use UML to improve timeliness, quality, and efficiency in development. less than or equal to operation, OCL, 616 Web Site less than or equalCompanion to operator, OCL, 596

< (less than sign) than operation, OCL, 616 <?xmlless version="1.0" encoding="ISO-8859-1"?> less than operator, OCL, 596 Table of Contents
UML Bible sign) - (minus Preface indicating private visibility, 121,514
Part subtraction I - An Introduction to UML operation, OCL,

615,617,622

Chapter 1 - What Is UML?OCL, 596 subtraction operator, Chapter 2 UML Architecture <> (not equal to sign) Chapter - UML Diagrams and Extension Mechanisms not 3 equal to operation, OCL, 613,614, 615 Chapter - Object-Oriented Concepts not 4 equal to operator, OCL, 596
Part II - Modeling Object Structure

() (parentheses) - Capturing Rules about Objects in a Class Diagram enclosing operation parameters, 147-148 Chapter 6 - How to Capture Rules about Object Relationships grouping operator, XML, 737
Chapter 5 Chapter 7

+ (plus sign) addition operation, OCL, 615,617 Chapter 8 - Modeling Interactions in UML 1.4 addition operator, OCL, 596 Chapter 9 - Modeling Interactions in UML 2.0 in circle, indicating package elements, 513 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 indicating public visibility, 121,514 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 one or more operator, XML, 737
Part III - Modeling Object Interactions Part IV - Modeling Object Behavior

- Testing with Objects

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

# (pound sign), indicating protected visibility, 121

@pre keyword, indicating beginning value of property, Chapter 13 - Modeling Behavior Using an Activity Diagram599
Part V - Modeling the Application Architecture ? (question mark), zero or one operator, XML,

737

Chapter 14 - Modeling the Application Architecture

/ (slash) division operation, OCL, 615,617 Chapter 16 - operator, Using Deployment Diagrams in UML 1.4 division OCL, 596 Chapter 17 Representing an Architecture in UML 2.0 indicating derived association, 182-183 Part indicating VI - Bringing Rigor to the Model derived attribute, 134 Chapter 18 - Applying Constraints to the UML Diagrams separating event from action, 333
Chapter 19 - Action Semantics

Chapter 15 - Modeling Software Using the Component Diagram

[] (square brackets) indicating context of association, 601 Chapter 20 - Using a Modeling Tool indicating message conditions, 259-260 Chapter 21 - Customizing indicating multiplicity,UML 126Using Profiles Chapter 22 XML Metadata Interchange indicating number of parts in class, 235 Appendix A - UML 1.4 Notation Guide indicating qualifier for association, 602
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

Part VII - Automating the UML Modeling Process

~ (tilde), indicating package visibility, 121 | (vertical bar), selection operator, XML, 737

< Day Day Up >

< Day Day Up >

Index
A

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides coverage of the versatility of 1.4 and 2.0 UML A Comparison of comprehensive the Booch Method and Shlaer-Mellor OOA/RD (Mellor), 637 specifications, and shows how to use UML to improve timeliness, abs() operation, 616,617 quality, and efficiency in development. Companion Web Site abstract class compared to interface, 160 definition of, 29,92,204 <?xml version="1.0" encoding="ISO-8859-1"?> modeling, 204-205 Table of Contents in multiple generalization, 207 UML Bible in UML 1.4, 29 Preface

abstract 512to UML Part I - Anpackage, Introduction


Chapter 1 property, - What Is 512 UML? {abstract} Chapter 2 syntax - UMLfor Architecture abstract OCL, 589-590 Chapter 3 Chapter 4 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

abstraction dependency, 213-214,215,216

abstraction of objects, 76-78 Part II - Modeling Object Structure


Chapter 5 - Capturing Rules about Objects in a Class Diagram Abstractions package, 41,117 Chapter - How to modeling Capture Rules about Object Relationships access6 control for tools, 671-672 Chapter 7
Part III - Modeling Object Interactions

access dependency between packages, 515-516,792,832

- Testing with Objects

access 215,515,518, 841 1.4 Chapter 8 stereotype, - Modeling Interactions in UML


Chapter 9 - also Modeling Interactions action,See action semantics in UML 2.0

collection actions,an 652-653 Chapter 10 - Modeling Object's Lifecycle in UML 1.4 compared to procedure, 647 Lifecycle in UML 2.0 Chapter 11 - Modeling an Object's actions, 649-650 Part composite IV - Modeling Object Behavior computation actions, 651 of a System with the Use Case Diagram Chapter 12 - Modeling the Use conditions on, 485-486 Chapter 13 - Modeling Behavior Using an Activity Diagram flow for, Part control V - Modeling the646 Application Architecture data flow for, 646the Application Architecture Chapter 14 - Modeling definition of, 14,325,639,645 entry and exit actions, 334-335,368,778,818 Chapter 16 - Using Deployment Diagrams in UML 1.4 input and output pins for, 477-478,645-646,654-655 Chapter 17 - Representing an Architecture in UML 2.0 jump actions, 653-654 Part VI - Bringing Rigor to the Model lifecycle of, 647 Chapter 18 - Applying Constraints to the UML Diagrams messaging actions, 653 Chapter 19 - Action Semantics modeling, 332-333,467-469 Part VII - Automating the UML Modeling Process multiple, modeling, 375-376 Chapter 20 -656 Using a Modeling Tool nested, Chapter 21 - Customizing UML Using Profiles notation for, 823 Chapter 22 - XMLfor, Metadata Interchange parameters 490-492 Appendix A - UML 1.4 Notation Guide primitive actions, 646 Appendix - UML 2.0 Notation Guide read B and write actions, 650-651
Appendix C - Standard Elements Action package Glossary categories of actions in, 648-649 Index collection actions, 652-653 List of Figures actions, 649-650 composite List of Tables computation actions, 651 List of Listings jump actions, 653-654 Chapter 15 - Modeling Software Using the Component Diagram

messaging actions, 653 read and write actions, 650-651

< Day Day Up >

action semantics action languages designed using, 644 UML Bible advantages of, 642 ISBN:0764526049 by Tom Pender code generation enabled by, 643-644 John Wiley & Sons 2003 (940 pages) definition of, 14,35-36,635-636,645-648 For beginning to advanced users, this book provides example notation for, 654-657 comprehensive coverage of the versatility of 1.4 and 2.0 UML history of, 8,636-638 specifications, and shows how to use UML to improve language-independence of, 638and efficiency in development. timeliness, quality, languages used for, 638-639,640-641 Companion Web Site model-level transformations defined using, 644 necessity of, 636-639 and, 639-640 <?xmlOCL version="1.0" encoding="ISO-8859-1"?> Table ofUML Contents as 1.5, 5,27 UML uses Bible of, 639-641, 643-644
Preface action sequence, 371,375-377,646
Part I - An Introduction to UML

action state, See alsoactivity - What Is UML? definition of, 448,453 Chapter 2 - UML Architecture UML 1.4 compared to UML 2.0, 449
Chapter 1 Chapter 3 Chapter 4

ActionState class, 448

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

activation (focus Object of control) Part II - Modeling Structure definition of, 261 Rules about Objects in a Class Diagram Chapter 5 - Capturing notation for, 261-262, 284, 775about Object Relationships Chapter 6 - How to Capture Rules
Chapter 7 - Testing active object, 268 with Objects
Part III - Modeling Object Interactions

activity

Chapter 8 stores - Modeling Interactions in UML 1.4 data for, 489-490 Chapter 9 - Modeling Interactions in UML 2.0 definition of, 325,368, 373,453 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 interruptible, 493-494 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 modeling, 335-336, 453, 467-469
Part notation IV - Modeling Object for, 823, 827Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram parameters for, 490-492

structured activity Behavior Using an Activity Diagram Chapter 13 - Modeling regions for, 496-499 Part V - expansion Modeling the Application Architecture for, 501-505 Chapter loop 14 - nodes Modeling the Application Architecture for, 495-496 Chapter notation 15 - Modeling Software Using the Component Diagram
Chapter - Using Deployment Diagrams in UML 1.4 Activity16 diagram Chapter 17 - Representing an Architecture UML 2.0 compared to State Machine diagram,in 363, 448
Part definition VI - Bringing Rigor the Model 664 of, 13, 34,to 38, 447-448,

notation for, 784-786, 826-827 Chapter 18 - Applying Constraints to the UML Diagrams scenarios modeled with, 434-442 Chapter 19 - Action Semantics 1.4 compared UML 2.0, 45, 448-450 Part UML VII - Automating theto UML Modeling Process UML 1.4 features of Chapter 20 - Using a Modeling Tool state, 448,449 Chapter action 21 - Customizing UML Using Profiles 453,785 Chapter activities 22 - XMLin, Metadata Interchange
Appendix A - UML 1.4 Notation Guide

concurrency in, 456-457,785 constructing from use case narrative, 457-464 Appendix B - UML 2.0 Notation Guide decisions in, 448,454-455,784 Appendix C - Standard Elements guard conditions in, 453-454 Glossary merge points in, 455-456,784 Index method modeling with, 452 List of Figures subactivity state, 448,449 List of Tables transitions in, 453,785 List of Listings use case modeling with, 451

workflow modeling with, 451 < Day Day Up > UML 2.0 features of actions,448,449,467-469,477-478,490-492 activities,448,449,467-469,490-492,493-494 UML470 Bible activity edges, ISBN:0764526049 by Tom Pender activity groups, 478 John Wiley & Sons 2003 (940 pages) activity partitions, 479-484 central buffer 479 For nodes, beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML concurrency in, 474-475,827 specifications, and shows how to use UML to improve conditional nodes, 499-501 timeliness, quality, and efficiency in development. constraints on actions, 485-486 Companion Web Site data stores, 489-490 decision and merge nodes, 448,470-474,826 expansion regions and expansion nodes, 496-499 <?xml version="1.0" encoding="ISO-8859-1"?> flow node, 484 Table of final Contents initial and activity final nodes, 469 UML Bible joins for multiple threads, 492-493 Preface levels of compliance, 450 Part I - An Introduction to UML list of, 465-467 Chapter 1 - What Is UML? loop nodes, 501-505 Chapter 2 - UML Architecture object flows, 475-477,487-488 Chapter 3 - UML Diagrams and Extension Mechanisms object nodes, 475-477,488-489 Chapter structured 4 - Object-Oriented Concepts activity nodes, 495-496 Part II - Modeling Object Structure structured programming support, 450 Chapter 5 of, - Capturing Rules about Objects in a Class Diagram uses 60-61,450-452
Chapter 6 Chapter 7

activity edges, 470

- How to Capture Rules about Object Relationships - Testing with Objects

activity final node,Object 314-315, 469 Part III Modeling Interactions


Chapter - Modeling UML 1.4 diagram Activity8 graph, 33,34,Interactions 45,450.Seein also Activity Chapter - Modeling activity 9 group, 478 Interactions in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

activity partition (swimlane) definition of, 479-480 Part IV - Modeling Object Behavior modeling, 480-484 Chapter 12 - Modeling the Use of a System with the Use Case Diagram notation for, 786
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

ActivityEdge class, 449

activity-expression, 371 Chapter 14 - Modeling the Application Architecture


Chapter 15 - Modeling Software ActivityFinalNode class, 449 Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

ActivityPartition class, 449

actor.See alsoUse Case diagram association with use case, 407,416-417 Chapter 18 - Applying Constraints to the UML Diagrams definition of, 407,409 Chapter 19 - Action Semantics generalization of, 411-412 Part VII - Automating the UML Modeling Process modeling, 409-412
Chapter 20 - Using a Modeling Tool

actual gate, 297 Chapter 21 - Customizing UML Using Profiles actual parameters (arguments) Chapter 22 - XML Metadata Interchange of interactions, 297 Appendix A - UML 1.4 Notation Guide of messages, 289 Appendix B - UML 2.0 Notation Guide of procedures, 647-648, 655-656 Appendix C - Standard Elements
Glossary addition operation (+()), OCL, 615,617 Index addition operator (+), OCL, 596 List of Figures List of Tables

{addOnly} property, 180

after List of clause, Listings notation for, 777, 818

aggregate class, 102

< Day Day Up >

aggregate object, part decomposition with, 281-283 aggregation. See alsoassociations;Composite Structure diagram;composition compared to association, UML Bible 194-195 composition by Tom Pender ISBN:0764526049 definition of, 89-90, 165-166, 197, 551 John Wiley & Sons 2003 (940 pages) notation for, 89,197-199,768-769,802 For beginning to advanced users, this book provides UML 2.0 definitions for, 199-200 comprehensive coverage of the versatility of 1.4 and 2.0 UML definition of, 87-89, 165,194-196 specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. notation for, 88, 196-197, 768,802 UML 2.0 definitions for, 199-200 Companion Web Site aggregation attribute, 143-144 AggregationKind type, 30,199-200 <?xml version="1.0"data encoding="ISO-8859-1"?> Table of Contents AllFusion Component Modeler (Computer Associates), 663 UML Bible
Preface

allInstances() operation, 611

alt (alternatives) interaction operator, Part I - An Introduction to UML


Chapter 1 - What Is UML? alt operator, 298-299

300

Chapter - UML Architecture Altova, 2 XMLSpy tool, checking XML with, 757-758 Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4

analysis model, for RUP method, 524-528


- Object-Oriented Concepts

and() operation, 619 Structure Part II - Modeling Object

Chapter 5 - Capturing Rules about Objects in a Class Diagram and operator, OCL, 596 Chapter 6 - How to Capture Rules about Object Relationships angle brackets Chapter 7 -left Testing with (), Objects double and right 69
Part left III Modeling Object Interactions (<), less than operator, OCL, 596

Chapter 8 - right Modeling inoperator, UML 1.4 OCL, 596 left and (<>),Interactions not equal to Chapter 9 - Modeling Interactions in UML 2.0 left equal (<=), less than or equal to operator, OCL, 596 Chapter 10 - Modeling an Object's Lifecycle UML 1.4 right (>), greater than operator, OCL, in 596

right equal (>=), greater thanLifecycle or equalin toUML operator, OCL, 596 Chapter 11 - Modeling an Object's 2.0
Part IV - Modeling Object anonymous object, 223 Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

any() operation, 631

append() operation, 627 Part V - Modeling the Application Architecture

Chapter 14 - framework. Modeling the Application Architecture application See framework Chapter 15 - Modeling Using the Component Diagram application server Software stereotype, 573 Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0

applications of MDA, 17,19

appliedProfile stereotype, 841 Part VI - Bringing Rigor to the Model


Chapter 18 - Applying 694 Constraints to the UML Diagrams apply stereotype, Chapter 19 - Action Semantics ApplyFunctionAction, 651
Part VII - Automating the UML Modeling Process

architecture CORBA,18,21,691,730-731 Chapter 21 - Customizing UML Using Profiles execution architecture, 559 Chapter 22 - XML Metadata Interchange four-layer metamodel architecture, 23-26 Appendix - UML 1.4 Notation Guide MDAA (Model-Driven Architecture), 4,15-21,26 Appendix B UML 2.0 Notation Guide UML 1.4, 27-36 Appendix - Standard UML C 2.0, 38-44 Elements
Chapter 20 - Using a Modeling Tool Glossary Index

ArgListsExpression data type, 30

arguments of interactions, 297 List of Tables of messages, 289


List of Figures List of Listings

of procedures, 647-648,655-656

< Day Day Up >

arrows.See alsolines on dashed line indicating dependencies, 213-214,241 UML Bible indicating realization, 541 ISBN:0764526049 by Tom Pender hollow John Wiley & Sons 2003 (940 pages) indicating inheritance, 203 For beginning to advanced users, this book provides indicating realization, 541 comprehensive coverage of the versatility of 1.4 and 2.0 UML on message line, placement of, 250 specifications, and shows how to use UML to improve solid timeliness, quality, and efficiency in development. indicating association direction, 169 Companion Web Site indicating synchronous message, 251,291-292 stick indicating association navigability, 179 <?xml version="1.0" encoding="ISO-8859-1"?> Table of indicating Contents asynchronous message, 256, 292 indicating return from message, 252 UML Bible
Preface artifact
Part categories I - An Introduction of, 536 to UML

Chapter 1 - What Is UML? compared to component, 536 Chapter 2 - UML Architecture definition of, 567, 569,577-578 Chapter 3 - UML and Extension Mechanisms deploying on Diagrams nodes, 579-582

layers 25-26 Chapter 4 of, - Object-Oriented Concepts dependency for, Part manifestation II - Modeling Object Structure 578 notation for, 578-579, 830 Chapter 5 - Capturing Rules about Objects in a Class Diagram stereotypes 579 Chapter 6 - Howfor, to Capture Rules about Object Relationships UML changes in,Objects 567-568 Chapter 7 2.0 - Testing with
Part III - Modeling Object Interactions artifact stereotype, 578

Chapter 8 Modeling Interactions in UML 1.4 asBag() operation, 623,626,629 Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

ASP page icon, 720

- Modeling Interactions in UML 2.0

assembly 552-553 Chapter 11 connector, - Modeling an Object's Lifecycle in UML 2.0


Part - Modeling Object Behavior as IV Sequence() operation, 623,626,629

Chapter 12 - Modeling the Use of a System with the Use Case Diagram assert (assertion) interaction operator, 304 Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

asSet() operation, 623,626,629

association actions, 651 Chapter 14 - Modeling the Application Architecture


Chapter 15 - Modeling Software Using the Component Diagram association class Chapter 16 - Using Deployment Diagrams in UML 1.4 definition of, 190-191

notation for, 191,767,an 801 Chapter 17 - Representing Architecture in UML 2.0 of,Rigor 191-193 Part promotion VI - Bringing to the Model
Chapter 18 - Applying Constraints to the UML Diagrams association ends Chapter 19 - Action Semantics changeability, 180, 187
Part constraints, VII - Automating the UML Modeling Process 175-177

Chapter 20 - Using a Modeling Tool definition of, 168 Chapter 21 - Customizing UML Using Profiles interface specifier, 172, 183

modeling, 170-171 Chapter 22 - XML Metadata Interchange multiplicity, 173-174, 186-187 Appendix A - UML 1.4 Notation Guide navigability, 179-180, 189-190 Appendix B - UML 2.0 Notation Guide notation for, 188-190 Appendix C - Standard Elements ordering, 174-175,188 Glossary
Index

qualifiers,177-179 role name, 171-172,188 List of Figures UML 2.0 definitions for, 184-190 List of Tables visibility,172
List of Listings

association stereotype, 841 AssociationEnd class, 184

< Day Day Up >

associations. See alsolinks between actors and use cases, 407,416-417 UML Bible aggregation, 87-89, 165, 194-197,768,802 ISBN:0764526049 by Tom Pender binary, 167-168 John Wiley & Sons 2003 (940 pages) changeability of, 180,187 For beginning to advanced users, this book provides communication paths, 575-576 comprehensive coverage of the versatility of 1.4 and 2.0 UML compared to generalization, 91,shows 201-202 specifications, and how to use UML to improve timeliness, quality, and efficiency in development. composition, 89-90, 165-166, 197-200 constraints between, 180-181, 766, 800 Companion Web Site constraints on objects in, 175-177 coupling and, 99 <?xmldefinition version="1.0" encoding="ISO-8859-1"?> of, 86-87, 165-167,228,560 Table of Contents derived, 182-183,767,801 UML direction Bible of, 168-169 Preface interface required for, 172,183 Part modeling I - An Introduction to UML Chapter association 1 - What Is UML?168, 170-180 ends, Chapter association 2 - UML Architecture line, 168,179-180 Chapter classes 3 - UML Diagrams in, 167-168 and Extension Mechanisms 168-170 Chapter name, 4 - Object-Oriented Concepts of, 126-130, 186-187 Part II -multiplicity Modeling Object Structure of roles in, 173-174 Chapter multiplicity 5 - Capturing Rules about Objects in a Class Diagram 168-170 Chapter naming, 6 - How to Capture Rules about Object Relationships (between more than two classes), 193-194,768,802 Chapter n-ary 7 - Testing with Objects of, 179-180, 189-190,599-602,766,800 Part III navigability - Modeling Object Interactions nodes, 560-563 in UML 1.4 Chapter between 8 - Modeling Interactions notation for, 765-769,799-802 Chapter 9 - Modeling Interactions in UML 2.0 ordering for multiple objects in, 174-175,188 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 qualified,188,602,767,801 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 qualifiers for objects in, 177-179 Part IV - Modeling Object Behavior reflexive, 182,765,799 Chapter 12 - Modeling the Use of a System with the Use Case Diagram roles of objects in, 171-172,188 Chapter 13 - Modeling Behavior Using an Activity Diagram stereotypes for, 563 Part V - Modeling the Application Architecture UML 2.0 definitions for, 183-190 Chapter visibility 14 - Modeling the Architecture of roles in,Application 172
Chapter 15 - Modeling Software Using the Component Diagram

asterisk (*) indicating message iteration, 258-259 Chapter 17 - Representing an Architecture in UML 2.0 indicating unlimited upper value of range, 127 Part VI - Bringing Rigor to the Model multiplication operation, OCL, 615,617 Chapter 18 - Applying Constraints to the UML Diagrams multiplication operator, OCL, 596 Chapter 19 Action Semantics zero or-more operator, XML, 737
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

asynchronous invocation, 653

asynchronous message, 255-256, Chapter 21 - Customizing UML Using 290-292 Profiles


Chapter 22 - XML Metadata Interchange at() operation, 628 Appendix A 496 - UML 1.4 Notation Guide atomicity, Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

attribute class-level attribute, 141,143 Glossary data type of, 135-136,142 Index default value of, 137-139,143,144,347 List of Figures derived, 134-135,142,144 List of Tables instance-level attribute, 141 List of Listingson, 595-597 invariant

modeling, 130-132 < Day Day Up > multiplicity of, 126-130,136-137,143 naming,135,142 for nodes, 561,571 UML Bible notation for, 132-141, 142-144,762,796 ISBN:0764526049 Tom Pender properties for,by 139-141, 143-144 readonly,143 John Wiley & Sons 2003 (940 pages) reference,131 For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML state attributes, 326 specifications, and shows how to use UML to improve state of, 130-131 timeliness, quality, and efficiency in development. UML 2.0 definitions for, 141-144 in utility class, 115Companion Web Site values for, in Object diagram, 223-224,771 visibility of, 121-126,133,142 <?xml version="1.0" encoding="ISO-8859-1"?> XML, 735-736 Table of Contents attribute UML Bible actions, 651
Preface attribute compartment
Part for I - An Introduction to UML class definitions, 109-110

Chapter 1 - What Is UML? to objects, 228 for classes compared Chapter 2 - UML Architecture information in, 130-132 Chapter 3 - UML multiplicity in,Diagrams 126-130 and Extension Mechanisms

notation for, 132-141,762, 796 Chapter 4 - Object-Oriented Concepts 223-224 Part for II -objects, Modeling Object Structure visibility 121-126 Chapter 5 - in, Capturing Rules about Objects in a Class Diagram
Chapter 6 -for How to Capture Rules about Object Relationships audit trails modeling tools, 672 Chapter 7 Chapter 8
Part III - Modeling Object Interactions

Testing with Objects automatic (completion) transition, 374-375,386,823

auxiliary class, 836 - Modeling Interactions in UML 1.4 auxiliary 836 Chapter 9 - stereotype, Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 < Day Day Up > Part IV - Modeling Object Behavior Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index
B

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Bag specifications, and shows how to use UML to improve definition of, 605 timeliness, quality, and efficiency in development.

iterator expressions for, 632-633 Companion Web Site operations for, 623-626 {bag} property, 189
<?xml version="1.0" encoding="ISO-8859-1"?> Balcer, Marc ("Executable UML-A Foundation for Model Driven Architecture"), 641 Table of Contents

ballBible and socket icon, 162-163,520,549-550 UML


Preface Basic package, 41,117
Part I - An Introduction to UML

Chapter 1 input - What Is output UML? pins, 477-478 action and Chapter 2 UML Architecture activities and actions, 467-469 Chapter 3 UML Diagrams and Extension Mechanisms activity edges, 470 Chapter 4 Object-Oriented Concepts activity group, 478
Part decision II - Modeling Object Structure and merge nodes, 470-474

BasicActivities package

Chapter - Capturing Rules about Objects in a Class Diagram fork5and join nodes, 474-475 Chapter 6 and - How to Capture Rules 469 about Object Relationships initial activity final nodes,

list of in, 465 Chapter 7 features - Testing with Objects nodes and object flows, 475-477 Part object III - Modeling Object Interactions
Chapter 8 - Modeling Interactions BasicBehaviors class, 571-572 in UML 1.4 Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

become stereotype, 564

- Modeling Interactions in UML 2.0

becomes stereotype, 542

behavior, 79-80.See also collaboration;operation Part IV - Modeling Object Behavior


Chapter 12 -diagrams. Modeling the Use ofActivity a System with the Use Case diagram Diagram behavioral See also diagram; Sequence Chapter 13 - Modeling Behavior Using an Activity Diagram Collaboration diagram
Part V - active Modeling the Application Architecture objects in, 268

Chapter compared 14 - Modeling the Application Architecture to Sequence diagram, 269-270 Chapter definition 15 - Modeling Software Using of, 37, 265-266, 664 the Component Diagram

Class diagram, 270-271 Chapter integrating 16 - Using with Deployment Diagrams in UML 1.4 266-267 an Architecture in UML 2.0 Chapter links 17 - in, Representing messages in, 267-268 Part VI Bringing Rigor to the Model 269 Chapter multi-objects 18 - Applying in, Constraints to the UML Diagrams for,Semantics 776 Chapter notation 19 - Action in, 266-267 Part VIIobjects - Automating the UML Modeling Process design model, 530 Chapter for 20 RUP - Using a Modeling Tool UML 1.4 compared to UML 2.0, 45,246 uses of, 62-63 Chapter 22 - XML Metadata Interchange Communication diagram Appendix A - UML 1.4 Notation Guide definition of, 307,665 Appendix B - UML 2.0 Notation Guide guard condition in, 311 Appendix C - Standard Elements iteration expression in, 309 Glossary modeling, 307-308 Index notation for, 814 List of Figures parallel execution in, 310 List of Tables UML 1.4 compared to UML 2.0, 45 List of Listings uses of, 63-64
Chapter 21 - Customizing UML Using Profiles

Interaction Overview diagram < Day Day Up > definition of, 312,665 modeling, 312-315 notation for, 815-816 UML Bible UML 1.4 compared to UML 2.0, 45 ISBN:0764526049 by Tom Pender uses of, 64-65 list of, 58-68 John Wiley & Sons 2003 (940 pages) Protocol State Machine diagram For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML definition of, 390 specifications, and shows how to use UML to improve modeling, 390-393 timeliness, quality, and efficiency in development. notation for, 824 Web Site uses of, 67-68,Companion 390 State Machine diagram collaboration in, 240 <?xml version="1.0" encoding="ISO-8859-1"?> Table of compared Contents to Activity diagram, 363, 448 composite states in, 377-387 UML Bible definition of, 365-366,387,665 Preface notation for, 817-824 Part I - An Introduction to UML ports in, 371-372 Chapter 1 - What Is UML? signals in, 376-377 Chapter 2 - UML Architecture states in, 366-369,374 Chapter 3 - UML Diagrams and Extension Mechanisms submachine states in, 387-389 Chapter transitions 4 - Object-Oriented Concepts in, 372-373, 374-376 Part II - Modeling Object Structure triggers in, 369-372 Chapter UML 5 - Capturing Rulesto about 1.4 compared UMLObjects 2.0, 44in a Class Diagram Chapter uses 6 - How to Capture Rules about Object Relationships of, 66-67 Chapter 7 Testing with Objects Statechart diagram Part III compared - Modeling to Object Interactions Sequence diagram, 325 Chapter composite 8 - Modeling Interactions in349, UML377 1.4 state containing, Chapter definition 9 - Modeling Interactions in UML 2.0 of, 37, 323-325,664 from Sequence 343-348 Chapter deriving 10 - Modeling an Object'sdiagram, Lifecycle 324, in UML 1.4 in, 327-333, 337 Lifecycle in UML 2.0 Chapter events 11 - Modeling an Object's internal transitions in, 333-337 Part IV Modeling Object Behavior notation for, 777-783 Chapter 12 - Modeling the Use of a System with the Use Case Diagram merge of control in, an 358, 781 Diagram Chapter split 13 - and Modeling Behavior Using Activity states in, 326-327 Part V - Modeling the Application Architecture states in, 358-359 Chapter synch 14 - Modeling the Application Architecture transitions in, 328-333, 337-342 Chapter 15 - Modeling Software Using the Component Diagram UML 1.4 compared to UML 2.0, 44,246 Chapter 16 - Using Deployment Diagrams in UML 1.4 when to use, 324 Chapter 17 - Representing an Architecture in UML 2.0 Timing diagram Part VI - Bringing Rigor to the Model definition of, 315-316,665 Chapter 18 - Applying Constraints to the UML Diagrams general value timeline, 319-320 Chapter 19 - Action Semantics lifelines in, 316,318-319 Part VII - Automating the UML Modeling Process notation for, 816-817 Chapter state 20 - Using a Modeling Tool timeline, 316-318 Chapter UML 21 - Customizing UML Profiles 1.4 compared to Using UML 2.0, 45 Chapter uses 22 - XML Metadata Interchange of, 65-66 Appendix A - UML 1.4 Notation Guide Use Case diagram Appendix B - UML 2.0 Notation Guide actors in, 407 Appendix C - Standard Elements associations in, 407,416-417 definition of, 37,399-400,664 Glossary Index elements of, 407-408 extend relationships in, 408,419-423 List of Figures include relationships in, 407,418-419 List of Tables modeling, 408-409 List of Listings

notation for, 783,825 < Day Day Up > packages in, 406-407,413-414 UML 1.4 compared to UML 2.0, 403-404 UML 2.0 changes in, 403-404,415-416 Bible use cases UML in, 407, 412-415 by Tom Pender uses of, 59, 399-403 Behavioral Elements package, 33-34
John Wiley & Sons 2003 (940 pages)

ISBN:0764526049

Behavioral elements, Superstructure library, 43 versatility of 1.4 and 2.0 UML comprehensive coverage of the specifications, and shows how to use UML to improve behavioral feature. Seeoperation;use case
timeliness, quality, and efficiency in development. Companion Web Site

For beginning to advanced users, this book provides

BehavioredClassifier class, 403,571-572 binary association

Beugnard, Antoine ("Is MDA Achievable Without a Proper Definition of Late Binding?"), 644
<?xml version="1.0" encoding="ISO-8859-1"?> definition of, 167-168 Table of Contents UML Bible

modeling association ends, 168,170-180 Preface association line, 168,179-180 Part I - An Introduction to UML changeability property, 180 Chapter 1 - What Is UML? classes in, 167-168 Chapter constraints, 2 - UML Architecture 175-177,180-181 Chapter interface 3 - UML specifier, Diagrams 172 and Extension Mechanisms Chapter multiplicity, 4 - Object-Oriented 173-174 Concepts Part II -name Modeling Object Structure compartment, 168-170 Chapter ordering, 5 - Capturing Rules about Objects in a Class Diagram 174-175 Chapter qualifiers, 6 - How 177-179 to Capture Rules about Object Relationships Chapter roles 7 - Testing with171-172 Objects of objects, Part III visibility, - Modeling Object Interactions 172
Chapter - Modeling Interactions in UML 1.4 bind 8 stereotype, 215 Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

binding dependency, 213,215

- Modeling Interactions in UML 2.0

blob data SeeUninterpreted data type Chapter 11 type. - Modeling an Object's Lifecycle in UML 2.0
Part IV - Grady Modeling Object Behavior Booch, (Booch method developer),

6-7

Chapter - Modeling the Use 6, of637 a System with the Use Case Diagram Booch 12 method of modeling, Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

books.See alsopublications; specifications about executable UML, 641 Chapter 14 - Modeling the Application Architecture about languages for embedded systems, 641 Chapter 15 - Modeling Software Using the Component Diagram about modeling design approaches, 637 Chapter 16 object-oriented - Using Deployment Diagrams about design, 101 in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Boolean data type, 30,619

Boolean 30 Chapter 18expression, - Applying Constraints to the UML Diagrams


Chapter 19 - Action Semantics BooleanExpression data type, 30
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

Borland, TogetherSoft tool, 663 boundary icon, 699

BPR (Business Re-engineering), 12 Chapter 22 - XMLProcess Metadata Interchange


Appendix A - UML 1.4 Notation Guide braces ({}) Appendix B - UML 2.0 Notation enclosing constraints, 71,Guide 175-176

enclosing ordering for multiplicity, 128,129 Appendix C - Standard Elements enclosing properties, 116-117,139 Glossary enclosing state invariant, 286-288 Index enclosing List of Figures tagged values, 70 enclosing List of Tables uniqueness for multiplicity, 129 brackets ([]) List of Listings

indicating context of association, 601 indicating message conditions, 259-260 indicating multiplicity, 126 indicating number of parts in class, 235 UML for Bible indicating qualifier association, 602
Tom Pender break interaction by operator, 300

< Day Day Up >

ISBN:0764526049

browsers, checking XMI with, 757

John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides specifications, and shows how to use UML to improve

comprehensive coverage of the versatility of 1.4 and 2.0 UML buildComponent stereotype, 836

bull's-eye icon timeliness, quality, and efficiency in development. indicating activity ending point, 456 Companion Web Site indicating activity final nodes, 314-315,469 indicating final states, 326-327
<?xml version="1.0" encoding="ISO-8859-1"?> business modeling, integrating with UML modeling tools, 680 Table of Contents UML Bible

Business Modeling, UML Profile for, 691,700-701

Business Process Re-engineering. SeeBPR Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

< Day Day Up >

- UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index
C

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML calculated (derived) attribute specifications, and shows how to use UML to improve definition of, 134-135 timeliness, quality, and efficiency in development.

notation for, 134,142,144 call stereotype, 216,836

Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> capitalization, of class names, 110 Table of Contents UML Bible caret (^), indicating message has been sent, 598-599,608-609 Preface
Part I - An Introduction to UML

CallConcurrencyKind data type, 30

caret, double (^^), indicating set of messages sent, 608,609 cascading-deletions. Seecomposition What Is UML?

Chapter 1

CCM, UML examples for, 691 Chapter 2 - profile UML Architecture


Chapter - UML Diagrams central3 buffer nodes, 479 and Extension Mechanisms Chapter 4 Chapter 5
Part II - Modeling Object Structure

- Object-Oriented Concepts centralBuffer stereotype, 479

change event, 328,330-331 - Capturing Rules about Objects in a Class Diagram ChangeableKind data type,Rules 30-31 Chapter 6 - How to Capture about Object Relationships
Chapter 7 - Testing with Objects child (subclass)
Part definition III - Modeling Object Interactions of, 92, 202-203

Chapter 8 - Modeling Interactions in UML 1.4 discriminator for, 206-207 Chapter 9 - Modeling Interactions in UML 2.0 powertype for, 205-206 Chapter - Modeling Object's Lifecycle in UML 1.4 choice 10 pseudo state, an 376, 381-382 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

circles ball and socket icon, 162-163,520,549-550 Chapter 12 - Modeling the Use of a System with the Use Case Diagram bull's-eye Chapter 13 - Modeling Behavior Using an Activity Diagram indicating activity ending point, 456 Part V - Modeling the Application Architecture indicating activity final nodes, 314-315,469 Chapter indicating 14 - Modeling Application Architecture finalthe states, 326-327 Chapter 15 Modeling Software Using the Component with "H*" inside, indicating deep history, 385-386Diagram Chapter 16 Using Deployment Diagrams in UML 1.4 with "H" inside, indicating shallow history, 385 Chapter 17 Representing an Architecture in UML half, indicating required interface, 162-163 2.0 Part hollow VI - Bringing Rigor to the Model Chapter identifying 18 - Applying Constraints topoint, the UML Diagrams dynamic choice 341-342 Chapter indicating 19 - Action Semantics choice pseudo state, 381 Part indicating VII - Automating thestereotype, UML Modeling Process control 115 indicating entity stereotype, 115 Chapter 20 - Using a Modeling Tool indicating interface stereotype, 160-161,162-163 Chapter 21 - Customizing UML Using Profiles lollipop notation, 162, 520, 541-542, Chapter 22 - XML Metadata Interchange 711 with plus sign, indicating elements, 513 Appendix A - UML 1.4 Notationpackage Guide solid Appendix B - UML 2.0 Notation Guide indicating activity starting point, 456 Appendix C - Standard Elements indicating initial and final states, 374 Glossary indicating initial node, 314-315,469 Index indicating initial state, 326-327 List of Figures indicating junction pseudo state, 382 List of Tables indicating static branch point, 340
List of Listings

Class diagram. See alsoObject diagram < Day Day Up > aggregation in, 194-197 association class in, 190-193 associations in UML Bible binary association, 167-181 ISBN:0764526049 by Tom Pender derived association, 182-183 John Wiley & Sons 2003 (940 pages) n-ary association, 193-194 reflexive association, 182 For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML UML 2.0 features of, 183-190 specifications, attribute compartment in and shows how to use UML to improve timeliness, quality, and efficiency in development. class-level attribute, 141 Companion Web Site data type of attribute, 135-136 default value of attribute, 137-139 definition of, 130-132 <?xml version="1.0" encoding="ISO-8859-1"?> attribute, 134-135 Table of derived Contents multiplicity of attribute, 136-137 UML Bible name of attribute, 135 Preface property string for attribute, 139-141 Part I - An Introduction to UML UML 2.0 features of, 141-144 Chapter 1 - What Is UML? visibility of attribute, 133 Chapter 2 - UML Architecture class template in, 158-159 Chapter 3 - UML Diagrams and Extension Mechanisms code generation from, 106 Chapter 4 - Object-Oriented Concepts270-271 Collaboration diagram affecting, Part II - Modeling Object Structure compared to Object diagram, 226-228 Chapter 5 - Capturing Rules about Objects in a Class Diagram composition in, 197-200 Chapter 6 How to Capture Rules about Object Relationships definition of, 36,664 Chapter 7 Testing with Objects dependency in, 213-217 Part generalization III - Modeling Object Interactions in Chapter constraints 8 - Modeling Interactions for, 208-209 in UML 1.4 Chapter definition 9 - Modeling Interactions in UML 2.0 of, 200-201 206-207Lifecycle in UML 1.4 Chapter discriminator 10 - Modelingfor, an Object's generalization, 207-208 Chapter multiple 11 - Modeling an Object's Lifecycle in UML 2.0 notation for, 202-205 Part IV - Modeling Object Behavior for,the 205-206 Chapter powertype 12 - Modeling Use of a System with the Use Case Diagram UML 2.0 features of, 210-213 Chapter 13 - Modeling Behavior Using an Activity Diagram in, 159-163 Part interface V - Modeling the Application Architecture multiplicity in Chapter 14 - Modeling the Application Architecture ordering, 128 Chapter 15 - Modeling Software Using the Component Diagram range of values, 126-127 Chapter 16 - Using Deployment Diagrams in UML 1.4 range without limit, 127 Chapter 17 - Representing an Architecture in UML 2.0 set of discrete values, 128 Part VI - Bringing Rigor to the Model specific value, 127 Chapter 18 - Applying Constraints to the UML Diagrams UML 2.0 features of, 128-130 Chapter 19 - Action Semantics name compartment in Part VII - Automating the UML Modeling Process class name, 110-113 Chapter properties, 20 - Using 116-117 a Modeling Tool Chapter stereotype, 21 - Customizing UML Using Profiles 113-116 Chapter UML 22 - XML Metadata Interchange 2.0 features of, 117-121 Appendix A - UML 1.4 Notation Guide notation for, 762-771, 796-805 Appendix B - UML 2.0 Notation operation compartment inGuide Appendix C - Standard Elements class-level operation, 149-150 definition of, 144-145 Glossary Index exceptions raised by operation, 150-151 name of operation, 146-147 List of Figures parameter list for operation, 147-148 List of Tables post conditions for operation, 151-152 List of Listings

preconditions for operation, 151 < Day Day Up > properties for operation, 149 return-result for operation, 148-149 UML 2.0 features of, 153-156 Bible 145-146 visibility forUML operation, ISBN:0764526049 Tomdiagrams, Pender relationship toby other 106-107 John Wiley & Sons 2003 (940 pages) Sequence diagram affecting, 270-271 testing with Object diagrams, For beginning to 228-234 advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML user-defined compartment in, 156-158 specifications, and shows how to use UML to improve uses of, 52-53, 105-108 timeliness, quality, and efficiency in development. visibility in Companion Web Site definition of, 121-122 package, 123 private,122 <?xml version="1.0" encoding="ISO-8859-1"?> Table of protected, Contents 124-126 public, 123-124 UML Bible Class metaclass, 695 Preface
Part I - path, An Introduction to UML class 112

Chapter 1 Chapter 2

class template - UML Architecture definition of, 594 Chapter 3 - UML Diagrams and Extension Mechanisms modeling, 158-159 Chapter 4 Object-Oriented Concepts notation for, 763-764,798
Part II - Modeling Object Structure

- What Is UML?

classes.See alsoClass diagram;objects - Capturing Rules about Objects in a Class Diagram abstract class, 92,204 Chapter 6 - How to Capture Rules about Object Relationships ancestry of, 118 Chapter 7 - Testing with Objects association class, 190-193,767,801 Part III - Modeling Object Interactions associations between, 86-90,165-167,228,560 Chapter 8 - Modeling Interactions in UML 1.4 attributes for Chapter class-level 9 - Modeling Interactions attribute, 141 in UML 2.0 Chapter data 10 - type Modeling an Object's of, 135-136, 142Lifecycle in UML 1.4 Chapter default 11 - Modeling an 137-139, Object's Lifecycle in UML 2.0 value of, 143,144, 347 Part IV Modeling Object 142, Behavior derived, 134-135, 144 Chapter instance-level 12 - Modeling the Use of141 a System with the Use Case Diagram attribute, Chapter invariant 13 - Modeling Behavior Using an Activity Diagram on, 595-597 Part V - modeling, Modeling the Application Architecture 130-132 of, 126-130, 136-137, 143 Chapter multiplicity 14 - Modeling the Application Architecture 135,142 Chapter naming, 15 - Modeling Software Using the Component Diagram 571 Chapter for 16 nodes, - Using 561, Deployment Diagrams in UML 1.4 for, 132-141, 142-144,762, Chapter notation 17 - Representing an Architecture in 796 UML 2.0 properties for, 139-141, 143-144 Part VI Bringing Rigor to the Model 131Constraints to the UML Diagrams Chapter reference, 18 - Applying state attributes, 326 Chapter 19 - Action Semantics state of, 130-131 Part VII - Automating the UML Modeling Process UML 2.0 definitions for, 141-144 Chapter 20 - Using a Modeling Tool in utility class, 115 Chapter 21 - Customizing UML Using Profiles values for, in Object diagram, 223-224,771 Chapter 22 - XML Metadata Interchange visibility of, 121-126,133,142 Appendix A - UML 1.4 Notation Guide XML,735-736 Appendix B - UML 2.0 Notation Guide auxiliary class, 836 Appendix C Standard Elements components mapped to, 543-545 Glossary concrete class, 29,92-93,204-205,207-208 Index defining according to purpose, 111 List of Figures of, 76, 118 definition List of Tables enumeration, 116 finding in modeling tool, 667 List of Listings
Chapter 5

focus class, 837 < Day Day Up > generalization of, 90-94,166,200-209,211-213 implementation class, 838 implementing class, 96,161,788 Bible imported,113,UML 516-517 ISBN:0764526049 by95, Tom Pender interface class, 764, 797 metaclass,23 John Wiley & Sons 2003 (940 pages) modeling, 108-110, 235 For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML moving between packages, 667 specifications, and shows how to use UML to improve naming,110-113 timeliness, quality, and efficiency in development. notation for, 52,762-764,796-798 Companion Web Site OCL operation for, 611 operations for class-level,149-150,155 <?xml version="1.0" encoding="ISO-8859-1"?> Table of common, Contents interfaces for, 159-160 definition of, 84,452 UML Bible dependencies between, 836 Preface exceptions for, 150-151 Part I - An Introduction to UML internal use of, 147 Chapter 1 - What Is UML? messages invoking, 253 Chapter 2 - UML Architecture modeling, 145-152 Chapter 3 - UML Diagrams and Extension Mechanisms naming,146-147,154 Chapter for 4 nodes, - Object-Oriented 561,571 Concepts Part II - Modeling Object Structure notation for, 154-156,762,796 Chapter parameters 5 - Capturing about Objects in a Class Diagram for,Rules 147-148, 154 Chapter post 6 - conditions How to Capture Rules about Object Relationships for, 151-152,597-599 Chapter preconditions 7 - Testing with Objects for, 151-152,597-599 Part III properties - Modeling for, Object Interactions 149, 155 Chapter return-result 8 - Modeling Interactions in UML 1.4 of, 148-149,154 Chapter signature 9 - Modeling Interactions of, 95, 146,276 in UML 2.0 2.0 definitions for, 153-156 Chapter UML 10 - Modeling an Object's Lifecycle in UML 1.4 utility class, an 115 Chapter in 11 - Modeling Object's Lifecycle in UML 2.0 visibility of,Object 121-126, 145-147,154 Part IV Modeling Behavior package for, specifying, 112-113 Chapter 12 - Modeling the Use of a System with the Use Case Diagram ports for, 119-120 Chapter 13 - Modeling Behavior Using an Activity Diagram visibility within, 121,122 Part private V - Modeling the Application Architecture properties for, 116-117, 119-120 Architecture Chapter 14 - Modeling the Application referenced,113 Chapter 15 - Modeling Software Using the Component Diagram resident class, 788 Chapter 16 - Using Deployment Diagrams in UML 1.4 subclass,92,202-203,205-207 Chapter 17 - Representing an Architecture in UML 2.0 superclass, 92,202-203,206-207 Part VI - Bringing Rigor to the Model template class, 158-159,594,763-764,798 Chapter 18 - Applying Constraints to the UML Diagrams UML 2.0 definitions for, 117-120 Chapter 19 - Action Semantics utility class, 115 Part VII - Automating the UML Modeling Process visibility of, 121-126
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

Classifier class, 28,29,118

ClassifierRole, 237-239 Chapter 22 - XML Metadata Interchange


Appendix A - UML 1.4 Notation Guide classifiers Appendix B - UML 2.0 Notation Guide for attributes, 135-136

contextual classifier, of constraint, 591,592,594-595 Appendix C - Standard Elements definition of, 29,547 Glossary listed in UML specification, 119 Index asFigures members of package, 119 List of modeling List of Tables tools extending, 668-669
List of Listings

in packages, 514-517

for use cases, 415-416 class-level (static) attribute definition of, 141 notation for, 141,143

< Day Day Up >

UML Bible
ISBN:0764526049

class-level (static) operation by Tom Pender definition of, 149 John Wiley & Sons 2003 (940 pages) notation for, 150,155

For beginning to advanced users, this book provides specifications, and shows how to use UML to improve

comprehensive coverage of the versatility of 1.4 and 2.0 UML class-scoped attribute. Seeclass-level attribute

class-scoped operation. See class-level operationin development. timeliness, quality, and efficiency client,14.See alsoactor; Use Case diagram Companion Web Site client devices. Seehardware, modeling client page icon, 718 <?xml version="1.0" encoding="ISO-8859-1"?> Table of client Contents workstation stereotype, 573
UML Bible Preface

clientscript object icon, 719

code. software Part I -See An Introduction to UML code generation Chapter 1 - What Is UML? action enabling, 643-644 Chapter 2 semantics - UML Architecture from diagram, 106 Chapter 3 Class - UML Diagrams and Extension Mechanisms MDA 677-679 Chapter 4 and, - Object-Oriented Concepts tools supporting, 676-677,683 Part modeling II - Modeling Object Structure with5XMI, 677,726,Rules 728-729 Chapter - Capturing about Objects in a Class Diagram CodeAction, 651 to Capture Rules about Object Relationships Chapter 6 - How
Chapter 7 96-98 - Testing with Objects cohesion,
Part III - Modeling Object Interactions

collaboration. See alsoComposite Structure diagram;interaction;Sequence diagram - Modeling Interactions in UML 1.4 definition of, 13,34,54-55,237,304 Chapter 9 - Modeling Interactions in UML 2.0 modeling, 237-239,304-306 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 notation for, 237,772, 806
Chapter 8 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Collaboration diagram active objects in, 268 Chapter 12 - Modeling the Use of a System with the Use Case Diagram compared to Sequence diagram, 269-270 Chapter 13 - Modeling Behavior Using an Activity Diagram definition of, 37,265-266,664 Part V - Modeling the Application Architecture integrating with Class diagram, 270-271 Chapter 14 - Modeling the Application Architecture links in, 266-267 Chapter 15 - Modeling Software Using the Component Diagram messages in, 267-268 Chapter 16 Using Deployment Diagrams in UML 1.4 multi-objects in, 269 Chapter 17 Representing an Architecture in UML 2.0 notation for, 776 Part objects VI - Bringing Rigor to the Model in, 266-267 Chapter 18 - Applying Constraints for RUP design model, 530 to the UML Diagrams Chapter 19 - Action Semantics UML 1.4 compared to UML 2.0, 45,246 Part uses VII - Automating of, 62-63 the UML Modeling Process
Chapter 20 - Using a Modeling Tool collaboration occurrence Chapter 21 - Customizing UML Using Profiles definition of, 239 Chapter 22 - XML Metadata Interchange modeling, 239-241 Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

CollaborationOccurrence class, 240 collect() operation, 605,606,631

collection actions, 652-653 Glossary


Index Collections List of Figures Bag, 605,623-626,632-633 List of Tables using literals, 608 creating

definition List of Listings of, 605

iterator expressions for, 630-631 operations for, 605-607,619-629 properties for, 130,606 Sequence,605,626-629,633 UML Bible Set,605,621-623, 632 types of, 605 by Tom Pender

< Day Day Up >

ISBN:0764526049

Johnoperation, Wiley & Sons 2003 (940 pages) collectNested() 605, 632,633

colon (:) comprehensive coverage of the versatility of 1.4 and 2.0 UML indicating attribute type, 135and shows how to use UML to improve specifications, timeliness, quality,type, and efficiency in development. indicating operation parameter 148 between object name and class name, Companion Web Site 223 between role name and interface specifier in association, 172
<?xml version="1.0" encoding="ISO-8859-1"?> indicating value of an enumeration, 598 Table of Contents UML Bible Preface

For beginning to advanced users, this book provides

colon, double (::)

between nested substates, 356 between package name and class name, 112 691

COM, UML profile examples Part I - An Introduction to UML for,

Chapter 1 -Deployment What Is UML? Combined and Component diagram Chapter 2 - UML Architecture notation for, 790, 830-831

UML features of, 563-565 Chapter 3 1.4 - UML Diagrams and Extension Mechanisms UML features of, 569-570 Chapter 4 2.0 - Object-Oriented Concepts of, 57-58 Part uses II - Modeling Object Structure
Chapter 5 Capturing Rules about Objects in a Class Diagram combined fragment Chapter 6 - How to Capture Rules about Object Relationships definition of, 298 Chapter 7 condition - Testing with Objects guard for, 299
Part interaction III - Modeling Object in, Interactions operands 299

interaction operators in, 300-304 Chapter 8 - Modeling Interactions in UML 1.4 modeling, 298-299 Chapter 9 - Modeling Interactions in UML 2.0
Chapter 10 - strict Modeling an Object's Lifecycle UML 1.4 comma (,), ordering operator, XML,in 737 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

comma-separated value (CSV), modeling tools importing and exporting from, 676

comment. See alsonote in constraints, 71 Chapter 13 - Modeling Behavior Using an Activity Diagram for constraints involving multiple associations, 181 Part V - Modeling the Application Architecture for extension points in use cases, 421-422 Chapter 14 - Modeling the Application Architecture for messages, 257 Chapter 15 - Modeling Software Using the Component Diagram notation for, 72
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Common Object Request Broker Architecture. SeeCORBA

Common Warehouse Model. SeeCWM Part VI - Bringing Rigor to the Model


Chapter 18 - Applying Constraints to the UML Diagrams Communication diagram Chapter 19 - Action Semantics definition of, 307, 665
Part guard VII - Automating the UML Modeling Process condition in, 311

Chapter 20 - Using a Modeling Tool iteration expression in, 309 Chapter 21 - Customizing modeling, 307-308 UML Using Profiles

notation for, 814 Chapter 22 - XML Metadata Interchange parallel in, 310 Guide Appendix A - execution UML 1.4 Notation UML B 1.4 compared to UML 2.0, 45 Appendix - UML 2.0 Notation Guide uses C of, 63-64 Elements Appendix - Standard
Glossary communication paths, 575-576 Index Communications class, 571-572 List of Figures List of Tables List of Listings

compartments attribute compartment

for class definitions, 109-110 < Day Day Up > for classes compared to objects, 228 information in, 130-132 multiplicity in, 126-130 UML Bible 762, 796 notation for, 132-141, ISBN:0764526049 by Tom Pender for objects, 223-224 Wiley & Sons 2003 (940 pages) visibility in, John 121-126 for class definitions, 109-110 For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML list compartment, 110 specifications, and shows how to use UML to improve name compartment timeliness, quality, and efficiency in development. class name for, 110-113 Companion Web Site for classes compared to objects, 228 notation for, 762,796 for objects, 223-224 <?xml version="1.0" encoding="ISO-8859-1"?> in, 119-120 Table of ports Contents presentation of, 109 UML Bible properties in, 116-117,119-120 Preface stereotypes in, 113-116 Part I - An Introduction to UML operation compartment Chapter 1 - What Is UML? for class definitions, 109-110 Chapter 2 - UML Architecture definition of, 144-145 Chapter 3 - UML Diagrams and Extension Mechanisms notation for, 145-152,762,796 Chapter visibility 4 - Object-Oriented in, 121-126 Concepts Part II - Modeling Object Structure user-defined, 156-158,762,796
Chapter 5 Chapter 6 - How to Capture Rules about Object Relationships complete 209 Chapter 7 constraint, - Testing with Objects
Part III - Modeling Object complete message, 292 Interactions

compilers for UML, 4

- Capturing Rules about Objects in a Class Diagram

Chapter 8 - Modeling Interactions in UML 1.4 CompleteActivities package Chapter 9 - Modeling Interactions in UML 2.0 behavior on object flows, 487-488 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 constraints on actions, 485-486 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 data stores, 489-490
Part interruptible IV - Modeling Object Behavior activity regions, 493-494

Chapter 12 - Modeling the Use of a System with the Use Case Diagram joins for multiple threads, 492-493 Chapter 13features - Modeling list of in, Behavior 466-467 Using an Activity Diagram
Part object V - Modeling the Application Architecture node customizations, 488-489

parameters for actions and activities, 490-492 Chapter 14 - Modeling the Application Architecture
Chapter 15 - event, Modeling Software Using the Component Diagram completion 374-375, 386 Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0

completion transition, 374-375,386,823

component. See also Combined Deployment Part VI - Bringing Rigor to the Model

and Component diagram;Component diagram combining with nodes, 563-565 Chapter 18 - Applying Constraints to the UML Diagrams compared to artifact, 536 Chapter 19 - Action Semantics connectors and ports for, 551-556 Part VII - Automating the UML Modeling Process definition of, 13-14,535,539-540,567,569 Chapter 20 - Using a Modeling Tool dependencies of, 55-56,536,542-543,547 Chapter 21 - Customizing UML Using Profiles interfaces for, 536,541-542,549-551 Chapter 22 - XML Metadata Interchange mapping to classes, 543-545 Appendix A - UML 1.4 Notation Guide modeling, 540, 546 Appendix B UML 2.0 Notation 830-831 Guide notation for, 56,787-788, Appendix C Standard Elements ports for, 552-555,556 Glossary realization and, 547-549,551-555 Index stereotypes for, 540-541 List of Figures UML 2.0 definitions for, 567-568 white box view of, 550 List of Tables
List of Listings diagram Component

definition of, 36,535-536,664 < Day Day Up > notation for, 787-788,828 for RUP implementation model, 530 UML 1.4 compared to UML 2.0, 537-539,568-569 UMLof Bible UML 1.4 features ISBN:0764526049 by Tom Pender 542-543 component dependencies, John Wiley & 541-542 Sons 2003 (940 pages) component interfaces, component stereotypes, 540-541 For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML components, 539-540 specifications, and shows how to use UML to improve UML 2.0 features of timeliness, quality, and efficiency in development. component dependencies, 547 Companion Web Site component interfaces, 549-551 component realization, 547-549,551-556 components, 546 <?xml version="1.0" encoding="ISO-8859-1"?> Table of connectors Contents and ports, 551-556 definition of, 545-546 UML Bible uses of, 55-56,535-536,537
Preface

component icon, 56,540, 546 Part I - An Introduction to UML


Chapter 1 - What Is Examples, UML? Component Profile for J2EE/EJB, Com, .NET, and CCM, 691 Chapter 2 - UML Architecture Chapter 3 Chapter 4

component stereotype, 546 composite actions, 649-650

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

composite aggregation. Seecomposition Part II - Modeling Object Structure


Chapter 5 - Context Capturing Rules about Objects in a Structure Class Diagram Composite diagram. SeeComposite diagram Chapter 6 Chapter 7 How to Capture Rules about Object Relationships composite-icon, 349 - Testing with Objects

Part III - Modeling Object Interactions

composite object, 198-199

Composite diagram, 44.See also Composite Structure diagram Chapter 8 - Object Modeling Interactions in UML 1.4
Chapter 9 -state Modeling Interactions in UML 2.0 composite Chapter 10 Modeling an Object's Lifecycle in UML 1.4 choice pseudo state in, 376,381-382 Chapter 11 - Modeling an Object's Lifecycle compared to submachine state, 388 in UML 2.0
Part concurrent IV - Modeling Object Behavior substates in, 351,357-360,780,821

definition of, 348-349, 377-378 Chapter 12 - Modeling the Use of a System with the Use Case Diagram direct in, 377 Using an Activity Diagram Chapter 13 substates - Modeling Behavior and the exiting, 383-387 Part entering V - Modeling Application Architecture extending, 369 the Application Architecture Chapter 14 - Modeling fork15 pseudo state Software in, 379-380 Chapter - Modeling Using the Component Diagram join 16 pseudo state in, 380-381 Chapter - Using Deployment Diagrams in UML 1.4 junction pseudo state in, 381-382 mutually exclusive substates in, 350 Part VI - Bringing Rigor to the Model notation for, 349,779,820 Chapter 18 - Applying Constraints to the UML Diagrams orthogonal,378 Chapter 19 - Action Semantics regions in, 351,377,378-379,383-387 Part VII - Automating the UML Modeling Process returning to previous substate in, 357 Chapter 20 - Using a Modeling Tool split and merge of control in, 379-380,821 Chapter 21 - Customizing UML Using Profiles submachine states in, 351-352 Chapter 22 - XML Metadata Interchange terminate pseudo state in, 382-383 Appendix A UML 1.4 Notation Guide transitions in, 352-360,379-387 Appendix B UML 2.0 Notation Guide transitively nested states in, 377
Chapter 17 - Representing an Architecture in UML 2.0 Appendix C - Standard Elements Glossary

Composite Structure diagram classes in, 235 Index collaboration in, 237-239,304 List of Figures collaboration occurrence in, 239-241 List of Tables connectors in, 235-237 List of Listings of, 221-222, 234, 665 definition

notation for, 803 ports in, 235-237 UML 1.4 compared to UML 2.0, 44-45 uses of, 54-55
UML Bible

< Day Day Up >

composition. See alsoComposite Structure diagram ISBN:0764526049 by Tom Pender definition of, 89-90, 165-166,197,551 John Wiley & Sons 2003 (940 pages) notation for, 89,197-199,768-769,802 For beginning to advanced users, this book provides UML 2.0 definitions for, 199-200
comprehensive coverage of the versatility of 1.4 and 2.0 UML timeliness, quality, and efficiency in development.

compound transition, 339-342 and shows how to use UML to improve specifications, computation actions, 651
Companion Web Site computed (derived) attribute definition of, 134-135 for, 134, 142,144 <?xmlnotation version="1.0" encoding="ISO-8859-1"?> Table of Contents Computer Associates, AllFusion Component Modeler, 663 UML Bible Preface

concat() operation, 618

concrete Part I - An class Introduction to UML definition of, 29, Chapter 1 - What Is 92-93, UML? 204
Chapter 2 Chapter 3

generating objects with, 207-208 - UML Architecture modeling, 204-205

- UML Diagrams and Extension Mechanisms

concrete for OCL, 590-591 Chapter 4 syntax - Object-Oriented Concepts


Part II - Modeling Object Structure concurrency

Chapter 5 - Capturing definition of, 456 Rules about Objects in a Class Diagram Chapter 6 for - How to Capture Rules about Object Relationships joins multiple threads, 492-493

modeling in Activity Chapter 7 - Testing withdiagram, Objects 456-457, 474-475, 827


Part III - Modeling Object Interactions concurrent substate

Chapter 8 - Modeling Interactions in UML 1.4 notation for, 351,780, 821 Chapter 9 - Modeling in UML 2.0 transitions to and Interactions from, 357-360 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

condition timeline. Seestate timeline conditional action, 649

conditional 499-501 Chapter 12 - node, Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior conditional stereotype, 501 Using an Activity Diagram
Part V - Modeling the Application Architecture

conditions.See alsoconstraint for actions, 485-486 Chapter 15 - Modeling definition of, 71 Software Using the Component Diagram Chapter 16 Using for messages, Deployment 259-260 Diagrams in UML 1.4 Chapter 17 Representing an Architecture in UML 2.0 notation for, 71 Part post VI - Bringing Rigor to the Model condition Chapter for 18 actions, - Applying Constraints to the UML Diagrams 485-486 Chapter definition 19 - Action Semantics of, 14,67,587,597 Part VIImodeling - Automating the UML Modeling Process in Activity diagram, 460-461 Chapter for 20 operations, - Using a Modeling Tool 151-152, 156,597-599 precondition Chapter 21 - Customizing UML Using Profiles 485-486 Chapter for 22 actions, - XML Metadata Interchange definition of, 67,587, 597 Appendix A - UML 1.414, Notation Guide modeling in Activity diagram, Appendix B - UML 2.0 Notation Guide 459-460 for 151-152,156,597-599 Appendix C operations, - Standard Elements for use cases, 426-427 Glossary for use cases, 424-427,460-461
Chapter 14 - Modeling the Application Architecture Index

connector List of Figures in Tables Activity diagram, 556 List of in Listings Component diagram, 552-555 List of

definition of, 552 in interaction diagrams, 556 modeling, 235-237 consider interaction operator, 303
UML Bible

< Day Day Up >

constraint.See also OCL ISBN:0764526049 byconditions; Tom Pender on associations, 175-177, 180-181, 599-602, 766,800 John Wiley & Sons 2003 (940 pages) contextual classifier of, 591,592,594-595 For beginning to advanced users, this book provides definition of, 13, 71,175,587 coverage of the versatility of 1.4 and 2.0 UML comprehensive duration,810 specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. in generalizations, 208-209, 211-213 invariant Companion Web Site on attributes, 595-597 definition of, 67,587,595 <?xmlfor version="1.0" encoding="ISO-8859-1"?> messages, 293-295 Table of Contents notation for, 71,175-177,211-213,766 UML placement Bible of, 591,592 Preface post condition Part I - An to UML for Introduction actions, 485-486 Chapter definition 1 - What Is 14, UML? of, 67,587,597 Chapter modeling 2 - UML Architecture in Activity diagram, 460-461 Chapter for 3 operations, - UML Diagrams and Extension Mechanisms 151-152, 156,597-599 precondition Chapter 4 - Object-Oriented Concepts actions, 485-486 Part II -for Modeling Object Structure of, 14, 67,587, 597 Chapter definition 5 - Capturing Rules about Objects in a Class Diagram 459-460 Chapter modeling 6 - How in to Activity Capturediagram, Rules about Object Relationships 151-152, Chapter for 7 operations, - Testing with Objects156, 597-599 use cases, 426-427 Part III for - Modeling Object Interactions in profiles, 689 Interactions in UML 1.4 Chapter 8 - Modeling result of, 592 Chapter 9 - Modeling Interactions in UML 2.0 self instance of, 591 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 for state transitions, 373 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 for timed messages, 257-258,775,811
Part IV - Modeling Object Behavior

constraint language. See OCL Chapter 12 Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram constructor, 292
Part V - Modeling the Application Architecture

Constructs package, 41-42,117

Chapter 14 - Modeling the Application Architecture

container components as, 539 Chapter 16 - Using Deployment Diagrams in UML 1.4 multiplicity and, 174 Chapter 17 - Representing an Architecture in UML 2.0 OclMessage as, 609 Part VI - Bringing Rigor to the Model packages as, 406,511 Chapter 18 - Applying Constraints to the UML Diagrams template class as, 163
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 15 - Modeling Software Using the Component Diagram

containing state machine, 351

contextual of constraint, Chapter 20 -classifier, Using a Modeling Tool 591, 592, 594-595
Chapter - Customizing UML Using Profiles control21 flow of actions, 646 Chapter - XML Metadata control22 icon, 114-115, 699Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

control stereotype, 113-115

copy stereotype, 841 Appendix C - Standard Elements


Glossary CORBA (Common Object Request Broker Architecture)

MDA and, 18 Index MOF and, 21,730-731 List of Figures UML profile for, 691 List of Tables
List of Listings Core package

UML 1.4, 28-29 UML 2.0, 40-42 count() operation, 620,623,625,626 coupling, 98-100 UML Bible by Tom Pender create stereotype, 836, 841

< Day Day Up >

ISBN:0764526049

curly braces ({}) Companion Web Site enclosing constraints, 71,175-176 enclosing ordering for multiplicity, 128,129 properties, 116-117,139 <?xmlenclosing version="1.0" encoding="ISO-8859-1"?> enclosing state invariant, 286-288 Table of Contents tagged values, 70 UML enclosing Bible enclosing uniqueness for multiplicity, 129 Preface
Part I - An Introduction to UML customer. Seeactor;client

John Wiley & Sons 2003 (940 pages) critical region (region) interaction operator, 302 For beginning to advanced users, this book provides CRUD (Create, Read, Update, Delete) checklist, 414-415of 1.4 and 2.0 UML comprehensive coverage of the versatility specifications, and shows how to use UML to improve CSV (comma-separated value), modeling tools importing and exporting from, 676 timeliness, quality, and efficiency in development.

Chapter 1 - What Is UML? customization of UML. Seeextensibility of UML Chapter 2 - UML Architecture Chapter 3

CWM (Common Warehouse Model) - UML Diagrams and Extension Mechanisms definition of, 21 Chapter 4 - Object-Oriented Concepts MOF and, 4,20,732 Part II - Modeling Object Structure Web sites about, 21
Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part III - Modeling Object Interactions

< Day Day Up >

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index
D

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides coverage of the versatility of 1.4 and 2.0 UML dash, double (-), comprehensive indicating comment in OCL, 71 specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. data flow of actions, 646 Companion Web Site data modeling compared to object-oriented modeling, 447 integrating with UML modeling tools, 680

<?xml version="1.0" encoding="ISO-8859-1"?> Dataof Modeling Profile for UML, 691 Table Contents UML Bible data stores, 489-490 Preface

data types of attribute, 135-136,142 Chapter 1 - template What Is UML? of class parameters, 158 Chapter 2 Architecture for OCL,UML 592-594, 612,614,615,619 Chapter 3 - UML parameters, Diagrams and Extension Mechanisms of operation 148 Chapter 4 - Object-Oriented Concepts of operation return-result, 148-149 Part for II -UML Modeling Object Structure metamodel, 30-33
Part I - An Introduction to UML

Chapter 5 Chapter 6 Chapter 7

- Capturing Rules about Objects in a Class Diagram Data Types package, 30-33 - How to Capture Rules about Object Relationships

database - Testing with Objects as artifact, 536 Part III - Modeling Object Interactions database system stereotype for, 573 Chapter 8 - Modeling Interactions in UML 1.4 as model repository, 667 Chapter 9 - Modeling Interactions in UML 2.0 modeling as a component, 563 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 objects represented in, 108 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 OCL tuples for, 611 Part IV - Modeling Object Behavior table stereotype for, 541 database system stereotype, 573 Datastore class,the 449 Part V - Modeling Application Architecture
Chapter 14 - Modeling the Application Architecture deactivation, 261

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

Chapter 15 - Modeling Software Using the Component Diagram decision node, 314,470-474, 826 Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0

DecisionNode class, 448

decomposition. See part decomposition Part VI - Bringing Rigor to the Model


Chapter 18 - Applying Constraints to the UML Diagrams deep history, 385,780, 820 Chapter 19 - Action Semantics def expression, OCL, 596-597,611
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

default entry of state, 383-384

deferred 369 Chapter 21event, - Customizing UML Using Profiles


Chapter 22 -See XML Metadata Interchange delegation. inheritance Appendix A -connector, UML 1.4 Notation Guide delegation 552-553 Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

dependency between artifacts and nodes (deployment), 579-582 Glossary between components, 55-56,536,542-543,547 Index on creation of classifier instance, 836,838 List of Figures of, 166, 213 definition List of Tables on derived elements, 837 List of Listings nodes (manifestation), 578 between

notation for, 213-215,213-216,770-771,804-805 < Day Day Up > between operations, 836 between packages, 50-51,514-517 refinement,839 UML Bible on sending a signal, 839 ISBN:0764526049 by 215-216, Tom Pender stereotypes for, 836-840 John Wiley & Sons 2003 (940 pages) substitution, 216-217 on trace relationship between elements, 840 this book provides For beginning to advanced users, comprehensive coverage of the versatility of 1.4 and 2.0 UML types of, 213,216 specifications, and shows how to use UML to improve UML 2.0 notation for, 216-217
timeliness, quality, and efficiency in development. Companion Web Site

deploy stereotype, 563,580 Deployment diagram

deployment dependency, 579-582


<?xml version="1.0" encoding="ISO-8859-1"?> definition of, 37,664 Table of Contents UML Bible

notation for, 789,829 for RUP design model, 528 Preface for RUP implementation model, 530 Part I - An Introduction to UML UML 1.4 compared to UML 2.0, 569 Chapter 1 - What Is UML? UML 1.4 features of Chapter 2 - UML Architecture associations, 560-563 Chapter components, 3 - UML Diagrams and Extension Mechanisms 563-565 Chapter definition 4 - Object-Oriented of, 559-560Concepts Part II -instance-level Modeling Object Structure diagram, 561-562 Chapter nodes, 5 - Capturing Rules about Objects in a Class Diagram 560-563 Chapter type-level 6 - How to Capture561-562 Rules about Object Relationships diagram, Chapter 7 Testing with Objects UML 2.0 features of Part III artifacts, - Modeling Object Interactions 567, 577-582 Chapter communication 8 - Modeling Interactions in UML 1.4 paths, 575-576 nodes, 567, 570-576, 579-582 Chapter 9 - Modeling Interactions in UML 2.0 uses of, 57,537,559-560, 568-569 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 deployment spec stereotype, 582
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

derive stereotype, 215,837

derived association definition of, 182 Part V - Modeling the Application Architecture notation for, 182-183,767,801

Chapter 13 - Modeling Behavior Using an Activity Diagram Chapter 14 - Modeling the Application Architecture

derived15 attribute Chapter - Modeling Software Using the Component Diagram definition of, 134-135 Chapter 16 - Using Deployment Diagrams in UML 1.4 notation for, 134,142,an 144 Chapter 17 - Representing Architecture in UML 2.0
Part VI - Bringing Rigor to the Model Describe tool (Embarcadero), 663

Chapter - Applying Constraints the UML Diagrams design 18 model, for RUP method,to 528-530 Chapter 19 - Action Semantics

design pattern applying with collaboration occurrence, 241 Chapter 20 - Using a Modeling Tool definition of, 13 Chapter 21 - Customizing UML Using Profiles modeling with collaboration, 237-239 Chapter 22 - XML Metadata notation for, 772, 806 Interchange Appendix A UML 1.4 Notation Guide UML support of, 11
Part VII - Automating the UML Modeling Process

Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

destroy stereotype, 837,841

device,573.See alsohardware, modeling Glossary Diagram Interchange specification, 730,754-757 Index


List of Figures diagrams List of Tables Activity diagram List of Listings compared to State Machine diagram, 363,448

definition of, 13,34,38,447-448,664 < Day Day Up > notation for, 784-786,826-827 scenarios modeled with, 434-442 UML 1.4 compared to UML 2.0, 45,448-450 UML Bible behavioral,58-68 ISBN:0764526049 Tom Pender Collaboration by diagram John Wiley active objects in, 268 & Sons 2003 (940 pages) compared For to Sequence diagram, 269-270 beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML definition of, 37,265-266,664 and shows how to use UML to improve integratingspecifications, with Class diagram, 270-271 timeliness, quality, and efficiency in development. links in, 266-267 Companion Web Site messages in, 267-268 multi-objects in, 269 notation for, 776 <?xml version="1.0" encoding="ISO-8859-1"?> in, 266-267 Table of objects Contents for RUP design model, 530 UML Bible UML 1.4 compared to UML 2.0, 45,246 Preface uses of, 62-63 Part I - An Introduction to UML Combined Deployment and Component diagram Chapter 1 - What Is UML? notation for, 790,830-831 Chapter 2 - UML Architecture UML 1.4 features of, 563-565 Chapter 3 - UML Diagrams and Extension Mechanisms UML 2.0 features of, 569-570 Chapter uses 4 - Object-Oriented Concepts of, 57-58 Part II - Modeling Object Structure Communication diagram Chapter definition 5 - Capturing Rules of, 307, 665about Objects in a Class Diagram Chapter guard 6 - How to Capture Rules about Object Relationships condition in, 311 Chapter iteration 7 - Testing with Objects expression in, 309 Part III modeling, - Modeling Object Interactions 307-308 Chapter notation 8 - Modeling Interactions in UML 1.4 for, 814 Chapter parallel 9 - Modeling Interactions execution in, 310 in UML 2.0 1.4 compared to UML 2.0, 45 Chapter UML 10 - Modeling an Object's Lifecycle in UML 1.4 of, 63-64an Object's Lifecycle in UML 2.0 Chapter uses 11 - Modeling diagram Part Component IV - Modeling Object Behavior definition of, 36, 535-536, 664 Chapter 12 - Modeling the Use of a System with the Use Case Diagram notation for, 787-788, 828 Chapter 13 - Modeling Behavior Using an Activity Diagram RUP implementation 530 Part V - for Modeling the Application model, Architecture UML 1.4 compared to UML 2.0, 537-539, Chapter 14 - Modeling the Application Architecture 568-569 UML 1.4 features of, 539-543 Chapter 15 - Modeling Software Using the Component Diagram UML 2.0 features of, 545-556 Chapter 16 - Using Deployment Diagrams in UML 1.4 uses of, 55-56,535-536,537 Chapter 17 - Representing an Architecture in UML 2.0 Composite Structure diagram Part VI - Bringing Rigor to the Model classes in, 235 Chapter 18 - Applying Constraints to the UML Diagrams collaboration in, 237-239,304 Chapter 19 - Action Semantics collaboration occurrence in, 239-241 Part VII - Automating the UML Modeling Process connectors in, 235-237 Chapter definition 20 - Using a 221-222, Modeling 234, Tool 665 of, Chapter notation 21 - Customizing for, 803 UML Using Profiles Chapter ports 22 - XML Metadata Interchange in, 235-237 Appendix A - UML 1.4 Notation UML 1.4 compared to Guide UML 2.0, 45 Appendix B - UML 2.0 Notation Guide uses of, 54-55 Appendix C - Standard Elements Deployment diagram notation for, 829 Glossary Index for RUF design model, 528 for RUP implementation model, 530 List of Figures UML 1.4 compared to UML 2.0, 569 List of Tables UML 1.4 features of, 560-565 List of Listings

UML 2.0 features of, 567,570-582 < Day Day Up > uses of, 57,537,559-560,568-569 dynamic view, 37 enclosing in frames, 278-279 UML Bible functional view, 37-38 ISBN:0764526049 Pender HTML output by of, Tom 674-675 Wiley from & Sons 2003 (940 pages) importing andJohn exporting modeling tools, 727,730,754-757 interaction diagrams, 45,61-66, 275-276users, this book provides For beginning to advanced comprehensive coverage of the versatility of 1.4 and 2.0 UML Interaction Overview diagram specifications, definition of, 312,665 and shows how to use UML to improve timeliness, quality, and efficiency in development. modeling, 312-315 Companion Web Site notation for, 815-816 UML 1.4 compared to UML 2.0, 45 uses of, 64-65 <?xml version="1.0" encoding="ISO-8859-1"?> list 44-45,664-665 Table of of, Contents model management, 50-51 UML Bible modeling tool support for, 663-665,680 Preface nesting,278-279 Part I - An Introduction to UML Object diagram Chapter 1 - What Is UML? attribute compartment, 223-224 Chapter 2 - UML Architecture compared to Class diagram, 226-228 Chapter 3 - UML Diagrams and Extension Mechanisms definition of, 36,221,664 Chapter drawing 4 - Object-Oriented Concepts in modeling tool, 664,665 Part II - Modeling Object Structure name compartment, 223-224 Chapter notation 5 - Capturing Rules about Objects in a Class Diagram for, 771-772, 805-806 Chapter testing 6 - How to Capture Rules about Object Relationships Class diagram with, 228-234 Chapter UML 7 - Testing with Objects 1.4 compared to UML 2.0, 44,665 Part III uses - Modeling Object Interactions of, 53-54 Chapter 8 Modeling Package diagramInteractions in UML 1.4 Chapter definition 9 - Modeling Interactions in UML 2.0 of, 664 in modeling tool, Lifecycle 664,665 in UML 1.4 Chapter drawing 10 - Modeling an Object's 518 an Object's Lifecycle in UML 2.0 Chapter modeling, 11 - Modeling notation for, 791-794, 831-834 Part IV Modeling Object Behavior UML 1.4 compared to UML 2.0, 44, 665 Chapter 12 - Modeling the Use of a System with the Use Case Diagram uses of, 50-51 Chapter 13 - Modeling Behavior Using an Activity Diagram State Machine diagram Part Protocol V - Modeling the Application Architecture definition of, 390 Chapter 14 - Modeling the Application Architecture modeling, 390-393 Chapter 15 - Modeling Software Using the Component Diagram notation for, 824 Chapter 16 - Using Deployment Diagrams in UML 1.4 uses of, 67-68,390 Chapter 17 - Representing an Architecture in UML 2.0 relationships to each other, 106-107 Part VI - Bringing Rigor to the Model reports of, 673-674,682 Chapter 18 - Applying Constraints to the UML Diagrams State Machine diagram Chapter 19 - Action Semantics collaboration in, 240 Part VII - Automating the UML Modeling Process compared to Activity diagram, 363,448 Chapter composite 20 - Using states a Modeling Tool in, 377-387 Chapter definition 21 - Customizing UML 387, Using Profiles of, 365-366, 665 Chapter notation 22 - XML Metadata Interchange for, 817-824 Appendix A - UML 1.4 Notation Guide ports in, 371-372 Appendix B - UML Notation Guide signals in,2.0 376-377 Appendix C - Standard Elements states in, 366-369, 374 submachine states in, 387-389 Glossary Index transitions in, 372-373, 374-376 triggers in, 369-372 List of Figures UML 1.4 compared to UML 2.0, 44 List of Tables uses of, 66-67 List of Listings

Statechart diagram < Day Day Up > compared to Sequence diagram, 325 composite state containing, 349,377 definition of, 37,323-325,664 UML Bible deriving from Sequence diagram, 324,343-348 ISBN:0764526049 by Tom Pender events in, 327-333, 337 John Wiley Sons 2003 (940 pages) internal transitions in,& 333-337 notation for, 777-783 For beginning to advanced users, this book provides comprehensive of the versatility of 1.4 and 2.0 UML split and merge of controlcoverage in, 358,781 specifications, and shows how to use UML to improve states in, 326-327 timeliness, quality, and efficiency in development. synch states in, 358-359 Companion Web Site transitions in, 328-333, 337-342 UML 1.4 compared to UML 2.0, 44,246 when to use, 324 <?xml version="1.0" encoding="ISO-8859-1"?> static view, 36-37 Table of Contents structural, 51-58 UML Bible Timing diagram Preface definition of, 315-316,665 Part I - An Introduction to UML general value timeline, 319-320 Chapter 1 - What Is UML? lifelines in, 316,318-319 Chapter 2 - UML Architecture notation for, 816-817 Chapter 3 - UML Diagrams and Extension Mechanisms state timeline, 316-318 Chapter UML 4 - Object-Oriented Concepts 1.4 compared to UML 2.0, 45 Part II - Modeling Object Structure uses of, 65-66 Chapter - Capturing Rules about Objects in a Class Diagram Use5Case diagram Chapter actors 6 - How to Capture Rules about Object Relationships in, 407 Chapter associations 7 - Testing with Objects in, 407,416-417 Part III definition - Modeling Object Interactions of, 37,399-400, 664 Chapter elements 8 - Modeling Interactions in UML 1.4 of, 407-408 Chapter extend 9 - Modeling Interactions in419-423 UML 2.0 relationships in, 408, relationships in, 407, 418-419 Chapter include 10 - Modeling an Object's Lifecycle in UML 1.4 408-409 Chapter modeling, 11 - Modeling an Object's Lifecycle in UML 2.0 notation for, 783,825 Part IV Modeling Object Behavior packages in, 413-414 Chapter 12 - Modeling406-407, the Use of a System with the Use Case Diagram UML 1.4 compared to UML 2.0, 403-404 Chapter 13 - Modeling Behavior Using an Activity Diagram UML 2.0 changes in, 403-404, 415-416 Part V - Modeling the Application Architecture in, 407, 412-415 Architecture Chapter use 14 -cases Modeling the Application uses of, 59, 399-403 Chapter 15 - Modeling Software Using the Component Diagram using,47-50
Chapter 16 - Using Deployment Diagrams in UML 1.4

dialog, 17 use Chapter - case Representing an Architecture in UML 2.0 in Activity diagram, 461-463 Part modeling VI - Bringing Rigor to the Model in use narrative, 428-429 Chapter 18 case - Applying Constraints to the UML Diagrams
Chapter 19 - Action Semantics diamonds
Part hollow VII - Automating the UML Modeling Process

aggregation, 88,196-197 Chapter indicating 20 - Using a Modeling Tool choice pseudo state, 376,381 Chapter indicating 21 - Customizing UML Using Profiles decision node, 314,454 Chapter indicating 22 - XML Metadata Interchange indicating merge point,Guide 455 Appendix A - UML 1.4 Notation indicating n-ary association, Appendix B - UML 2.0 Notation Guide 194
Appendix C - Standard Elements

solid, indicating composition, 89,197-198

direct substates, 377 Glossary


Index directional indicator for association, 169 List of Figures List of Tables of, 93 definition List of Listings notation for, 206-207,211

discriminator

disjoint constraint, 209 div() operation, 617 division operation (/()), OCL, 615,617
Bible division operator UML (/), OCL, 596

< Day Day Up >

document file, 837 John Wiley & Sons 2003 (940 pages) document stereotype, 541,837 For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML DTD (Document Type Definition) specifications, and shows how to use UML to improve compared to XML schemas, 734 timeliness, quality, and efficiency in development. creating from MOF, 731 Companion Web Site definition of, 732,733-734 domain,18
<?xml version="1.0" encoding="ISO-8859-1"?> domain facilities of MDA, 17,18 Table of Contents

by Tom Pender

ISBN:0764526049

Domain UML Bible Task Force. SeeDTF


Preface dot notation, 338,600
Part I - An Introduction to UML

double angle brackets ( ). Seeguillemets double caret (^^), indicating set of messages sent, 608,609
- UML Architecture - What Is UML?

Chapter 1 Chapter 2

double3 colon (::)Diagrams and Extension Mechanisms Chapter - UML indicating value of an enumeration, 598 Chapter 4 - Object-Oriented Concepts nested substates, 356 Part between II - Modeling Object Structure
Chapter 5

between package name and class name, 112 - Capturing Rules about Objects in a Class Diagram

double6 dash (-), indicating in Object OCL, 71 Chapter - How to Capture comment Rules about Relationships
Chapter 7 - Testing with Objects DTD (Document Type Definition)
Part compared III - Modeling Object Interactions to XML schemas, 734

Chapter 8 - Modeling Interactions in UML 1.4 creating from MOF, 731 Chapter 9 - Modeling Interactions in UML 2.0 definition of, 732,733-734 Chapter 10 - Modeling an Object's DTF (Domain Task Force), 18 Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

duration constraint, 810

dynamic point, 341-342, 779, 819 with the Use Case Diagram Chapter 12choice - Modeling the Use of a System
Chapter 13view - Modeling Behavior dynamic diagrams, 37 Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component < DayDiagram Day Up > Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index
E

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML EAI (Enterprise Application Integration), UML Profile for, 690,702-706 specifications, and shows how to use UML to improve timeliness, quality, and efficiency inUML development. EDOC (Enterprise Distributed Object Computing), Profile for, 690,706-712 Companionfor Web Site Embedded Systems ), 641 Edwards, Stephen ( Languages Digital

EJB stereotype, 579


<?xml version="1.0" encoding="ISO-8859-1"?> EJB, UML Profile for, 696-701 Table of Contents UML Bible

EJBEntity stereotype, 541

elaborative approach of modeling, 636 Preface


Part I - An Introduction to UML elapsed-time event, 328, 330

Chapter 1 class, - What Is UML? Element 143 Chapter 2 Chapter 3 - UML Diagrams and Extension Mechanisms ellipsis 4 (),Object-Oriented indicating moreConcepts subclasses, 203-204 Chapter
Part II - Modeling Object Structure Embarcadero, Describe tool, 663

ElementImport metaclass, 693

- UML Architecture

Chapter 5 - Capturing Rules about573 Objects in a Class Diagram embedded device stereotype, Chapter 6 Chapter 7

EncapsulatedClassifier node, 571-572


- Testing with Objects

- How to Capture Rules about Object Relationships

encapsulation Part III - Modeling Object Interactions applying, 84-85 Interactions in UML 1.4 Chapter 8 - Modeling
Chapter 9

definition of, 80 - Modeling Interactions in UML 2.0 implementation of an object, 82-83 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 interface of an object, 81 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 private visibility for, 122,133 Part IV - Modeling Object Behavior purpose of an object, 83 Chapter 12 - Modeling the Use of a System with the Use Case Diagram for reuse, 236
Chapter 13 - Modeling Behavior Using an Activity Diagram

Enterprise Application Integration, UML Profile Part V - Modeling the Application Architecture

for. SeeEAI, UML Profile for

Enterprise Object Computing, UML Profile for. SeeEDOC, UML Profile for entities, XML,736Chapter 14 -Distributed Modeling the Application Architecture 737 15 - Modeling Software Using the Component Diagram Chapter
Chapter 16 - 114-115, Using Deployment entity icon, 699,701 Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Entity Relationship modeling. SeeER modeling entity stereotype, 113-115,223-224,837

Chapter 18 - Applying Constraints to the UML Diagrams

entry action Chapter 19 - Action Semantics of, 368 the UML Modeling Process Part definition VII - Automating modeling, 334-335 Chapter 20 - Using a Modeling Tool notation for, 778,818UML Using Profiles Chapter 21 - Customizing
Chapter 22 - XML Metadata Interchange enumeration

double (::) Notation indicating value of, 598 Appendix A -colon UML 1.4 Guide modeling, 116 Appendix B - UML 2.0 Notation Guide
Appendix C - Standard Elements enumeration stereotype, 116 Glossary Index equal to operation, OCL List of Figures for Bag, 624 List of Tables for ModelElement types, 614 List of Listings for OclAny, 613

equal sign (=)

for OclState, 615 < Day Day Up > for OclType, 614 for Sequence, 626 for Set, 621 UML Bible indicating default value of attribute, 137-138 Tom Pender in properties, by 116-117 John Wiley & Sons 2003 (940 pages) in tagged values, 70

ISBN:0764526049

For beginning to advanced users, this book provides ER (Entity Relationship) modeling, 6 timeliness, quality, and efficiency in development.

comprehensive coverage of the versatility of 1.4 and 2.0 UML

error, resulting from operations, 150-151, specifications, and shows 253 how to use UML to improve Ethernet stereotype, 563
Companion Web Site event.See alsomessage; Protocol State Machine diagram; State Machine diagram; trigger actions triggered by, 325,332-333 event, 328, 330-331 <?xmlchange version="1.0" encoding="ISO-8859-1"?> completion event, 374-375,386 Table of Contents 369 UML deferred, Bible definition of, 327-328,369 Preface deriving from Sequence diagram, 343-348 Part I - An Introduction to UML elapsed-time event, 328, 330 Chapter 1 - What Is UML? guard condition for, 332 Chapter 2 - UML Architecture for messages, 289-290 Chapter 3 - UML Diagrams and Extension Mechanisms modeling, 328-333 Chapter 4 - Object-Oriented Concepts notation for, 328 Part II - Modeling Object Structure ordering of, 337,338 Chapter 5 - Capturing Rules about Objects in a Class Diagram relationship to message, 327 Chapter 6 - How to Capture Rules about Object Relationships relationship to transition, 328 Chapter 7 - Testing with Objects send event, 338 Part III - Modeling Object Interactions state affecting response to, 329-330 Chapter 8 Chapter 9

exception, resulting from operations, 150-151,253


- Modeling Interactions in UML 2.0

- Modeling Interactions in UML 1.4

excludes() operation, 620 Lifecycle in UML 1.4 Chapter 10 - Modeling an Object's


Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 excludesAll() operation, 620
Part IV - Modeling Object Behavior

excluding() operation, 622,625,628-629 executable stereotype, 541,579,837

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

executable UML, 641 Part V - Modeling the Application Architecture


Chapter 14 - Modeling the Application Architecture "Executable UML-A Foundation for Model Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0

Driven Architecture" (Mellor; Balcer), 641 execution architecture, 559

execution environment Part VI - Bringing Rigor to the Model definition of, 573-574 Chapter 18 - Applying Constraints to the UML Diagrams deployment and, 579-581 Chapter 19 - Action Semantics for, 573 Part stereotypes VII - Automating the UML Modeling Process
Chapter 20 occurrence, - Using a Modeling Tool execution 289-290 Chapter 21 Customizing UML Using Profiles execution profiles Chapter 22 - XML Metadata Interchange constraints in, 689 Appendix A - UML 1.4 Notation Guide defining, 691-696 Appendix B - UML 2.0 10, Notation Guide definition of, 3-4, 72,641, 688 Appendix C - Standard profiles, Elements industry-adopted 691

MOF and, 688 Glossary multiple, applying to one package, 694 Index OMG-adopted profiles, 690-691 List of Figures removing List of Tables from package, 694 standards List of Listings for, 690

stereotype icons in, 689-690 < Day Day Up > stereotypes in, 688 tagged values in, 689 UML Profile for Business Modeling, 700-701 UML Bible UML Profile for EJB, 696-701 ISBN:0764526049 byEnterprise Tom Pender UML Profile for Application Integration (EAI), 702-706 John Wiley & Sons 2003 (940 pages) UML Profile for Enterprise Distributed Object Computing (EDOC), 706-712 UML Profile for Schedulability, Performance, 712-714 For beginning to advanced users,and this Time, book provides comprehensive coverage ofProcesses, the versatility of 1.4 and 2.0 UML UML Profile for Software Development 698-700 specifications, shows how to use UML to improve UML specification examplesand of, 691 timeliness, quality, and efficiency in development. UML Testing Profile, 714-717 Companion Web Site WAE (Web Application Extension) profile, 717-721 exists() operation, 606,630
<?xml version="1.0" encoding="ISO-8859-1"?> exit action Table of Contents definition of, 368 UML modeling, Bible 334-335 Preface notation for, 778,818
Part I - An Introduction to UML

expansion node - What Is UML? definition of, 497 Chapter 2 - UML Architecture notation for, 497-499
Chapter 1 Chapter 3 Chapter 4 Chapter 5

expansion region - Object-Oriented Concepts definition of, 496 Part II - Modeling Object Structure notation for, 497-499
Chapter 7 - data Testing with Objects Expression type, 31

- UML Diagrams and Extension Mechanisms

- Capturing Rules about Objects in a Class Diagram

explicit 6 entry of state, 384 Rules about Object Relationships Chapter - How to Capture
Part III - Modeling Object Interactions

extend relationship

Chapter 8 - Modeling Interactions in UML 1.4 compared to include relationship, 423 Chapter 9 - Modeling conditions for useInteractions of, 421-423in UML 2.0 Chapter 10 - Modeling definition of, 408 an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 modeling, 419-423
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

extensibility of modeling tools, 668-670,681

extensibility of UML constraints for Part V - Modeling the Application Architecture on associations, 175-177,180-181,599-602,766,800 Chapter 14 - Modeling the Application Architecture contextual classifier of, 591,592,594-595 Chapter 15 - Modeling Software Using the Component Diagram definition of, 13,71,175,587 Chapter 16 - Using Deployment Diagrams in UML 1.4 duration,810 Chapter in 17 - Representing an Architecture in UML 2.0 generalizations, 208-209, 211-213 Part VI - Bringing Rigor to the Model invariant,67,587,595-597 Chapter for 18 messages, - Applying Constraints 293-295 to the UML Diagrams Chapter notation 19 - Action for,Semantics 71,175-177,211-213,766 Part VIIplacement - Automating UML of, the 591, 592Modeling Process Chapter post 20 - condition, Using a Modeling Tool 151-152, 156,460-461,485-486,597-599 Chapter precondition, 21 - Customizing UML Using Profiles 459-460, 485-486, 597-599 151-152, 156,426-427, Chapter 22 - XML Metadata Interchange features for, 12-13, 68-71 as goal UML, Appendix A - of UML 1.4 10 Notation Guide metaclasses for, Notation 68 Appendix B - UML 2.0 Guide profiles Appendix C - for Standard Elements constraints in, 689 Glossary Index defining,691-696 definition of, 3-4,10,72,641,688 List of Figures industry-adopted profiles, 691 List of Tables MOF and, 688
List of Listings

multiple, applying to one package, 694< Day Day Up > OMG-adopted profiles, 690-691 removing from package, 694 standards for, 690 Bible stereotypeUML icons in, 689-690 ISBN:0764526049 by Tom Pender stereotypes in, 688 Johnin, Wiley tagged values 689& Sons 2003 (940 pages) UML Profile for Business Modeling, For beginning to advanced 700-701 users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML UML Profile for EJB, 696-701 specifications, and shows how to use UML to improve UML Profile for Enterprise Application Integration (EAI), 702-706 timeliness, quality, and efficiency in development. UML Profile for Enterprise Distributed Object Computing (EDOC), 706-712 Web Site UML Profile forCompanion Schedulability, Performance, and Time, 712-714 UML Profile for Software Development Processes, 698-700 UML specification examples of, 691 <?xml version="1.0" encoding="ISO-8859-1"?> Testing Profile, 714-717 Table of UML Contents WAE (Web Application Extension) profile, 717-721 UML Bible stereotypes for Preface for artifacts, 579 Part I - An Introduction to UML for components, 540-541 Chapter 1 - What Is UML? for control elements, 113-115 Chapter 2 - UML Architecture defined within UML, 70 Chapter 3 - UML Diagrams and Extension Mechanisms definition of, 12-13,68-70,113 Chapter for 4 dependencies, - Object-Oriented Concepts 215-216 Part II - Modeling Object Structure for entity elements, 113-115 Chapter for 5 enumerations, - Capturing Rules about Objects in a Class Diagram 116 Chapter for 6 execution - How to Capture Rules about environments, 573 Object Relationships Chapter icons 7 - Testing with Objects for, 689-690 Part III list - Modeling Object Interactions of, 836-841 Chapter modeling 8 - Modeling Interactions in UML 1.4 tools extending, 668 Chapter for 9 node - Modeling Interactions associations, 563in UML 2.0 572-573 Chapter for 10 nodes, - Modeling an Object's Lifecycle in UML 1.4 for, 69, 113, 115 Lifecycle in UML 2.0 Chapter notation 11 - Modeling an Object's for objects, 223 Part IV - Modeling Object Behavior 841 the Use of a System with the Use Case Diagram Chapter obsolete, 12 - Modeling for operations, 144-145Using an Activity Diagram Chapter 13 - Modeling Behavior for packages, 512 Part V - Modeling the Application Architecture profiles, 688 Chapter in 14 - Modeling the Application Architecture profiles providing, 72 Chapter 15 - Modeling Software Using the Component Diagram in user-defined compartments, 157 Chapter 16 - Using Deployment Diagrams in UML 1.4 for utility classes, 115 Chapter 17 - Representing an Architecture in UML 2.0 tagged values for Part VI - Bringing Rigor to the Model definition of, 13,70 Chapter 18 - Applying Constraints to the UML Diagrams modeling tools extending, 668 Chapter 19 - Action Semantics notation for, 70,763 Part VII - Automating the UML Modeling Process in profiles, 689 Chapter transferring 20 - Using awith Modeling Tool XMI, 745-747, 751-754 Chapter 21 - Customizing UML Using Profiles UML 2.0 support of, 15, 39
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

eXtensible Stylesheet Language

Transformations. See XSLT Guide Appendix B - UML 2.0 Notation Extension Mechanisms package, 30 Appendix CStandard Elements
Glossary Extension metaclass, 696 Index List of Figures List of Tables

extension points, 421-423

ExtensionEnd metaclass, 696

ExtensionPoint class, 403-404 List of Listings

external stereotype, 483 ExtraStructuredActivities level, 450


UML Bible

< Day Day Up >

< Day Day Up > ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index
F

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML facade stereotype, 841 specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. factored path, 339-342 Companion Web Site fault situation. Seeexception, resulting from operations

Feature class, 143,153,155,186


<?xml version="1.0" encoding="ISO-8859-1"?> file icon, 578 Table of Contents UML Bible

file stereotype, 541,837

files.See alsoartifact Preface


Chapter 1

file, 837 to UML Part document I - An Introduction

graphics files, for diagrams, 675 - What Is UML? library file, 838 Chapter 2 - UML Architecture physical file, 837 Chapter 3 - UML Diagrams and Extension Mechanisms program file, 837
Chapter 4 - Object-Oriented Concepts

filter action, 652 Object Structure Part II - Modeling


Chapter 5 node, - Capturing final flow 484 Rules about Objects in a Class Diagram Chapter 6 - How to Capture Rules about Object Relationships final state Chapter 7 - Testing with Objects definition of, 327, 374
Part notation III - Modeling Object for, 327, 374,Interactions 777,817

Chapter 8 Chapter 9

Modeling Interactions in UML 1.4 first() operation, 628

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

flatten() operation, 605,623,625,627

- Modeling Interactions in UML 2.0

floor() operation, 616 Chapter 11 Modeling an Object's Lifecycle in UML 2.0


Part IV - Modeling flow. See workflowObject Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

FlowFinalNode class, 449

focus 837the Application Architecture Part V -class, Modeling

focus of control (activation) Chapter 14 - Modeling the Application Architecture definition of, 261 Software Using the Component Diagram Chapter 15 - Modeling notation for, 261-262, 284,775 Chapter 16 - Using Deployment Diagrams in UML 1.4
Chapter 17 - Representing focus stereotype, 837 an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

folder icon, 50

forAll() operation, 606,630

fork icon, 519 Part VII - Automating the UML Modeling Process
Chapter - Using a Modeling Tool fork, in 20 Activity diagram, 456-457 Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

fork node, 313,474-475,827 fork pseudo state, 379-380

ForkNode 449 Appendix B -class, UML 2.0 Notation Guide


Appendix C -718 Standard Elements form icon, Glossary formal gate, 297 Index List of Figures

formal parameter of actions and activities, 490-492 List of Tables of class template, 158
List of Listings

of operations, 99,147-148,154

< Day Day Up >

forward slash (/) division operation, OCL, 615,617 division operator, OCL, 596 UML Bible indicating derived association, 182-183 by Tom Pender indicating derived attribute, 134 John Wiley & Sons 2003 (940 pages) separating event from action, 333

ISBN:0764526049

Foundation package, 28-33 comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows four-layer metamodel architecture, 23-26 how to use UML to improve
timeliness, quality, and efficiency in development. Companion Web Site

For beginning to advanced users, this book provides

Fowler, Martin ( Refactoring-Improving the Design of Existing Code ),101 fragment definition of, 298 <?xmlguard version="1.0" conditionencoding="ISO-8859-1"?> for, 299 Table of Contents interaction operands in, 299 UML interaction Bible operators in, 300-304 Preface modeling, 298-299
Part I - An Introduction to UML

frame - What Is UML? interaction occurrences using, 296 Chapter 2 - UML Architecture modeling, 278-279
Chapter 1 Chapter 3 Chapter 4

frameset icon, 718

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

framework Part II - Modeling Object Structure definition of, 837 Rules about Objects in a Class Diagram Chapter 5 - Capturing metaclasses for, 68 Chapter 6 - How to Capture Rules about Object Relationships
Chapter 7

UML support of, 11 - Testing with Objects

framework stereotype, 837 Part III - Modeling Object Interactions


Chapter - Modeling in UML 1.4 French8quotes ( ). Interactions Seeguillemets Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

friend stereotype, 841 {frozen} property, 180

- Modeling Interactions in UML 2.0

functional modeling, 447. See alsoActivity diagram Part IV - Modeling Object Behavior
Chapter 12 Modeling the Use of a System with the Use Case Diagram functional view diagrams, 37-38 Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Fundamentals of Object-Oriented Design in UML (Page-Jones), 101

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram < Day Day Up > Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index
G

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML gate, in interaction occurrence, 297-298 specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. general value timeline, 319-320 Companion GeneralizableElement class, 29 Web Site

generalization.See alsoinheritance actors in useencoding="ISO-8859-1"?> cases, 408,411-412 <?xmlof version="1.0" compared to association, 91,201-202 Table of Contents for, 208-209,211-213 UML constraints Bible definition of, 90-94,166,200-201 Preface discriminators and,to 206-207, 211 Part I - An Introduction UML multiple, 207-208 Chapter 1 - What Is UML? of nodes, 576 Chapter 2 - UML Architecture notation for, 202-209,211-213,769-770,803-804,824 Chapter 3 - UML Diagrams and Extension Mechanisms polymorphism and, 94-95 Chapter 4 - Object-Oriented Concepts powertypes and, 205-206,211 Part II - Modeling Object Structure protected visibility within, 121,124-126 Chapter 5 - Capturing Rules about Objects in a Class Diagram separate target style of notation, 203 Chapter 6 - How to Capture Rules about Object Relationships shared target style of notation, 203-204 Chapter 7 2.0 - Testing withfor, Objects UML definitions 210-213 Part III - Modeling Object Interactions of use cases, 408
Chapter 8 Chapter 9

generalization set, 211

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

GeneralizationSet class, 210-211 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4


Chapter 11 Modeling Geometry data type, an 31 Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

graphics files, for diagrams, 675

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

greater than or equal to sign (>=) greater than or equal to operation, OCL, 617 Part V - Modeling the Application Architecture greater than or equal to operator, OCL, 596
Chapter 14 - Modeling the Application Architecture

Chapter 13 - Modeling Behavior Using an Activity Diagram

greater15 than sign (>) Software Using the Component Diagram Chapter - Modeling
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0

greater than operation, OCL, 616 greater than operator, OCL, 596

group action, 649 Part VI Bringing Rigor to the Model


Chapter 18 - Applying Constraints to the UML Diagrams guard condition Chapter 19 - Action transitions, Semantics 340-342 for compound
Part for VIIdecisions, - Automating the UML Modeling Process 454, 471

Chapter 20 - Using a Modeling Tool for events, 332

for interactions, 299 UML Using Profiles Chapter 21 - Customizing for messages, 311,773, 807 Chapter 22 - XML Metadata Interchange for state transitions Appendix A - UML 1.4 Notation Guide inB Activity diagram, 453-454, Appendix - UML 2.0 Notation Guide 785, 827 inC State Machine diagram, 370-371,373,817 Appendix - Standard Elements
Glossary

in Statechart diagram, 777

guillemets ( ), enclosing stereotypes, 69 Index


List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index
H

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML "H*", indicating deep history, 385-386 specifications, and shows how to use UML to improve timeliness, quality, "H", indicating shallow history, 385 and efficiency in development. Web Site hardware, modeling. Companion SeeCombined Deployment and Component diagram;Deployment diagram;node

Harel, David (Statecharts developer), 324


<?xml version="1.0" "Harmonisation of encoding="ISO-8859-1"?> Modeling Languages with Object-Oriented Extensions and Executable Semantics" Table of Contents (Stan-Ober), 642 UML Bible Preface

hasReturned() operation, 609,610,613

history entry points, 384-386, Part I - An Introduction to UML 780, 820 history 1 icon, 385,386 Chapter - What Is UML?
Chapter - UML Architecture history 2 pseudo state, 357 Chapter 3 Chapter 4

Ho, Wai-Ming (Using UML Action Semantics for Executable Modeling and Beyond ),644
- Object-Oriented Concepts

- UML Diagrams and Extension Mechanisms

HTML, generated by modeling tools, Part II - Modeling Object Structure

674-675,682

HTML Chapter 5 stereotype, - Capturing579 Rules about Objects in a Class Diagram


Chapter 6 to Capture Rules 513 about Object Relationships hyperlink, toHow package elements, Chapter 7 - Testing with Objects

hyphen (-) in class names, 110 Chapter 8 - Modeling Interactions in UML 1.4 indicating private visibility, 121,514 Chapter 9 - Modeling Interactions in UML 2.0 subtraction operation, OCL, 615, 617, 622 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 subtraction operator, OCL, 596
Part III - Modeling Object Interactions

Chapter 11 - Modeling an Object's Lifecycle in UML 2.0


Part IV - Modeling Object Behavior

hyphen, double (-), indicating comment in OCL, 71

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram < Day Day Up >
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index
I

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML IBM, Rational Rose tool, 663,758 specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. icons.See alsoshapes in diagrams

actor icons, 405 Companion Web Site ASP page icon, 720 ball and socket icon, 162-163,520,549-550 <?xmlboundary version="1.0" icon, encoding="ISO-8859-1"?> 699 Table of Contents client page icon, 718 UML clientscript Bible object icon, 719 Preface component icon, 56,540,546 Part composite I - An Introduction to UML icon, 349 Chapter 1 -icon, What Is UML? 699 control 114-115, Chapter 2 - UML in Architecture customizing modeling tool, 669-670,689-690 diamond iconDiagrams and Extension Mechanisms Chapter 3 - UML aggregation, 88,196-197 Chapter indicating 4 - Object-Oriented Concepts pseudo state, 376,381 Part II -indicating Modeling choice Object Structure composition, 89,197-198 Chapter indicating 5 - Capturing Rules about Objects in a Class Diagram decision node, 314, 454 Chapter indicating 6 - How to Capture Rules about Object Relationships merge 455 Chapter indicating 7 - Testing with point, Objects n-ary association, 194 Part III indicating - Modeling Object Interactions entity icon, 114-115, 699, 701 Chapter 8 - Modeling Interactions in UML 1.4 file icon, 578 Chapter 9 - Modeling Interactions in UML 2.0 final state icon, 374 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 folder icon, 50 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 fork icon, 519 Part IV - Modeling Object Behavior form icon, 718 Chapter 12 - Modeling the Use of a System with the Use Case Diagram frameset icon, 718 Chapter - Modeling Behavior Using an Activity Diagram "H" 13 inside a circle, 385 Part V - Modeling the Application Architecture "H*" inside a circle, 385-386 Chapter 14 Modeling the Application Architecture history icon, 385,386 Chapter 15 Modeling Software Using the Component Diagram initial state icon, 374 Chapter 16 Using Deployment interface icons, 549-550 Diagrams in UML 1.4 Chapter 17 - Representing JSP page icon, 720 an Architecture in UML 2.0 Part lollipop VI - Bringing Rigor to the Model 711 icon, 162, 520, 541-542, Chapter 18 - Applying Constraints to the UML Diagrams in profile, 689-690 script icon, 721 Chapter 19library - Action Semantics page icon,the 717 Part server VII - Automating UML Modeling Process servlet icon, 721 Chapter 20 - Using a Modeling Tool stop icon, 320 Chapter 21 - Customizing UML Using Profiles "T" inside a square, 593, 594,612 Chapter 22 - XML Metadata Interchange target icon, 719 Appendix A - UML 1.4 Notation Guide triangle icon, 522 Appendix B - UML 2.0 Notation Guide for WAE, 717-721 Appendix C - Standard Elements Web page icon, 720 Glossary worker icons, 701
Index

IDE Development Environment), 663,675 List of(Integrated Figures ignore interaction operator, 303 List of Tables
List of Listings I-Logix, Rhapsody tool, 663

implement stereotype, 544,838

< Day Day Up >

implementation,82-83.See alsoCombined Deployment and Component diagram;Component diagram; Deployment diagram;method


UML Bible implementation class, 838 by Tomfor Pender implementation model, RUP method, 530
ISBN:0764526049

implementation view. See alsoComponent diagram

John Wiley & Sons 2003 (940 pages)

For beginning to advanced users, this book provides specifications, and shows how to use UML to improve

implementationClass stereotype, 838 of the versatility of 1.4 and 2.0 UML comprehensive coverage implementing class timeliness, quality, and efficiency in development. definition of, 96,161 notation for, 788 Companion Web Site implies() operation, 619
<?xml version="1.0" encoding="ISO-8859-1"?> import (merge) relationship between packages, 516-517,792,833 Table of Contents

import UML Bible stereotype, 215 imported class Preface of, 516-517 Part definition I - An Introduction to UML package name for, 113 Chapter 1 - What Isrequirements UML?
Chapter 2 - UML Architecture include/, indicating submachine reference, 352 Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4 - Object-Oriented Concepts 423 compared to extend relationship,
Part II - Modeling Object Structure

include relationship

definition of, 407

Chapter 5 - Capturing modeling, 418-419Rules about Objects in a Class Diagram Chapter 6 Chapter 7

include stereotype, 418-419

- How to Capture Rules about Object Relationships - Testing with Objects

includes () operation, 620 Part III - Modeling Object Interactions includesAll () operation, 620 Chapter 8 - Modeling Interactions in UML 1.4
Chapter 9 - Modeling Interactions in UML 2.0 including () operation, 622,625, 628 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

incomplete constraint, 209

indexOf () operation, 628 Part IV - Modeling Object Behavior

Chapter 12 sign - Modeling inequality (<>) the Use of a System with the Use Case Diagram

not 13 equal to operation, OCL, 613, 614, 615 Diagram Chapter - Modeling Behavior Using an Activity equal to operator, OCL, 596 Part not V - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture information hiding (encapsulation) Chapter 15 - Modeling applying, 84-85 Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 definition of, 80 Chapter 17 - Representing Architecture implementation of an an object, 82-83 in UML 2.0
Part interface VI - Bringing Rigor to the of an object, 81 Model

private visibility for, 122,133 to the UML Diagrams Chapter 18 Applying Constraints purpose of an object, 83 Chapter 19 - Action Semantics 236 the UML Modeling Process Part for VIIreuse, - Automating
Chapter 20 - Using a Modeling Tool Infrastructure library, 38,40-43, 117 Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange definition of, 90-91 Appendix A - UML 1.4 Notation Guide notation for, 203 Appendix B - UML 2.0 Notation Guide protected visibility within, 121, 124-126 Appendix C - Standard Elements Glossary Index

inheritance. See alsodelegation;generalization

initial node, 314-315,469

initial state definition of, 326,374 List of Figures notation for, 326-327,374,777,817
List of Tables

initial value. Seeattribute, default value of List of Listings

input pins, 477-478,645-646,654-655 insertAt() operation, 627

< Day Day Up >

instance.See alsoobjects of associationUML (link), 86,224 Bible of collaboration (collaboration ISBN:0764526049 by Tom Pender occurrence), 239 component instance, 560, John Wiley & 563 Sons 2003 (940 pages) of message (stimulus), 249,252-253 For beginning to advanced users, this book provides of meta-metamodel (metamodel), 25 of the versatility of 1.4 and 2.0 UML comprehensive coverage of metamodelspecifications, (model), 25 and shows how to use UML to improve timeliness, node instance, 560,574 quality, and efficiency in development. of use case (scenario), 432 Web Site Companion instance documents, 733 instance-level attribute, 141 <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents instance-level Deployment diagram, 561-562,789,829
UML Bible Preface

instance-level operation, 149

InstanceSpecification 225-226 Part I - An Introduction class, to UML


Chapter 1 - What Is UML?216, 838 instantiaie stereotype, Chapter - UML Architecture Integer2 data type, 31,617-618 Chapter 3 Chapter 4 - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Integrated Development Environment. SeeIDE

interaction. See also collaboration; Part II - Modeling Object Structure message; object

lifeline breaking execution of, 300 Chapter 5 - Capturing Rules about Objects in a Class Diagram conditional execution of, 299,300 Chapter 6 - How to Capture Rules about Object Relationships identifying only valid interaction, 304 Chapter 7 - Testing with Objects iterative execution of, 304 Part III - Modeling Object Interactions messages ignored by, 303 Chapter 8 - Modeling Interactions in UML 1.4 modeling, 246-248,312-315 Chapter 9 - Modeling Interactions in UML 2.0 optional execution of, 300 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 parallel execution of, 300-301 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 precedence of, 302 Part IV - Modeling Object Behavior prohibiting execution of, 302 Chapter 12 - 295-298 Modeling the Use of a System with the Use Case Diagram reusing, Chapter 13 Modeling Behavior Using an Activity Diagram sequencing execution of, 301-302 Part sequencing V - Modelingof, the Architecture inApplication Communication diagram, 313-315
Chapter 14 - Modeling the Application Architecture

interaction (combined) fragment definition of, 298 Chapter 16 condition - Using Deployment guard for, 299 Diagrams in UML 1.4 Chapter 17 Representing an 299 Architecture in UML 2.0 interaction operands in, Part interaction VI - Bringing Rigor to the Model operators in, 300-304 Chapter 18 Applying Constraints to the UML Diagrams modeling, 298-299
Chapter 19 - Action Semantics

Chapter 15 - Modeling Software Using the Component Diagram

interaction diagrams. See alsoSequence diagram Collaboration diagram Chapter 20 - Using a Modeling Tool active objects in, 268 Chapter compared 21 - Customizing UML Using Profiles to Sequence diagram, 269-270 Chapter definition 22 - XML of, Metadata Interchange 37,265-266,664 Appendix A - UML 1.4 Notation Guide integrating with Class diagram, 270-271 Appendix B - in, UML 2.0 Notation Guide links 266-267 Appendix C - Standard Elements messages in, 267-268 Glossary multi-objects in, 269 Index notation for, 776 objects in, 266-267 List of Figures for RUP design model, 530 List of Tables UML 1.4 compared to UML 2.0, 45,246 List of Listings
Part VII - Automating the UML Modeling Process

uses of, 62-63 < Day Day Up > Communication diagram definition of, 307,665 guard condition in, 311 UML Bible iteration expression in, 309 ISBN:0764526049 by Tom Pender modeling, 307-308 John Wiley & Sons 2003 (940 pages) notation for, 814 parallel execution in, 310 For beginning to advanced users, this book provides comprehensive coverage UML 1.4 compared to UML 2.0, 45of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve uses of, 63-64 timeliness, quality, and efficiency in development. Interaction Overview diagram Companion Web Site definition of, 312, 665 modeling, 312-315 notation for, 815-816 <?xml version="1.0" encoding="ISO-8859-1"?> 1.4 compared to UML 2.0, 45 Table of UML Contents uses of, 64-65 UML Bible list of, 45,61-66,275-276 Preface tabular versions of, 275 Part I - An Introduction to UML Timing diagram Chapter 1 - What Is UML? definition of, 315-316,665 Chapter 2 - UML Architecture general value timeline, 319-320 Chapter 3 - UML Diagrams and Extension Mechanisms lifelines in, 316,318-319 Chapter notation 4 - Object-Oriented for, 816-817Concepts Part II - Modeling Object Structure state timeline, 316-318 Chapter UML 5 - Capturing Rulesto about 1.4 compared UMLObjects 2.0, 45in a Class Diagram Chapter uses 6 - How to Capture Rules about Object Relationships of, 65-66 Chapter 7 Testing with Objects UML 1.4 compared to UML 2.0, 45
Part III - Modeling Object Interactions

interaction occurrence - Modeling Interactions in UML 1.4 arguments, 297-298 Chapter 9 - Modeling Interactions in UML 2.0 definition of, 295-296 Chapter 10 297-298 - Modeling an Object's Lifecycle in UML 1.4 gates, Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 modeling, 296,312-315 Part notation IV - Modeling Object Behavior for, 811-813 Chapter 12 - Modeling the Use of a System with the Use Case Diagram reference operator, 297
Chapter 8 Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Interaction Overview diagram definition of, 312,665 Chapter 14 - Modeling the Application Architecture modeling, 312-315 Chapter 15 Modeling Software Using the Component Diagram notation for, 815-816 Chapter 16 Using Deployment Diagrams UML 1.4 compared to UML 2.0, 45 in UML 1.4 Chapter 17 Representing an Architecture in UML 2.0 uses of, 64-65
Part VI - Bringing Rigor to the Model

interface.See also operation associations requiring, 172,183 Chapter 19 - Action Semantics compared to abstract class, 160 Part VII - Automating the UML Modeling Process for components, 536,541-542,549-551 Chapter 20 - Using a Modeling Tool definition of, 13-14, 159,452 Chapter 21 - Customizing UML Using Profiles for messages, 61,246-247 Chapter 22 - XML Metadata Interchange modeling, 159-160 Appendix A - UML 1.4 Notation Guide notation for, 160-161, 162-163 Appendix B - UML 2.0 Notation Guide for objects, 81 provided, 162-163, 236,520,549 Appendix C - Standard Elements required, 162-163,235-236,520,549 Glossary for subsystems, 520,793 Index UML 2.0 definitions for, 161-163 List of Figures
List of Tables interface class

Chapter 18 - Applying Constraints to the UML Diagrams

definition List of Listings of, 95

notation for, 764,797 interface icons, 549-550 interface stereotype, 160-161,541,550


UML Bible Interfaces package, 161

< Day Day Up >

ISBN:0764526049 by Tom Pender IntermediateActivities package John Wiley & Sons 2003 (940 pages) activity partitions, 479-484 beginning central buffer For nodes, 479 to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML final flow node, 484 specifications, and shows how to use UML to improve list of featurestimeliness, in, 465-466 quality, and efficiency in development.

internal transition Companion Web Site compartment for, in state, 333-334 definition of, 325,368 <?xmlentry version="1.0" encoding="ISO-8859-1"?> and exit actions for, 334-335 Table of Contents modeling, 336-337
UML Bible Preface

InternalStructures class, 571-572

interruptible activity, 493-494 Part I - An Introduction to UML


Chapter 1 - What Is UML? class, 449 InterruptibleActivityRegion Chapter 2 - UML Architecture intersection() operation, 622,624-625 Chapter 3 - UML Diagrams and Extension Mechanisms Chapter 4

inv keyword, OCL, 595

- Object-Oriented Concepts

invariant Part II - Modeling Object Structure on attributes, 595-597 Chapter 5 - Capturing Rules about Objects in a Class Diagram
Chapter 6 Chapter 7

definition of, 67,587,595 - How to Capture Rules about Object Relationships state invariant, 286-288,808
- Testing with Objects

invariant stereotype, 841 Part III - Modeling Object Interactions


Chapter 8 -message, Modeling Interactions in UML 1.4 invocation 653 Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 - Modeling Interactions in UML 2.0 "Is MDA Achievable Without a Proper Definition of Late Binding?" (Beugnard), 644

isCovering attribute, 212-213

isDerived attribute, 143-144, 185 Part IV - Modeling Object Behavior


Chapter 12 - Modeling the Use of a System with the Use Case Diagram isDerivedUnion attribute, 143-144 Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

isDisjoint attribute, 212-213

Chapter 14 - Modeling the Application Architecture

isEmpty() operation, 621

isolation, 496 Chapter 15 - Modeling Software Using the Component Diagram


Chapter 16 - Using Deployment Diagrams in UML 1.4 isOperationCall() operation, 609,614 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

isOrdered attribute, 128-130

Chapter 18 - Applying Constraints to the UML Diagrams

isSignalSent() operation, 609,614

isSubstitutable attribute, 210-211 Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process isUnique attribute, 128-130

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

isUnique() operation, 630 iterate action, 652

iterate() operation, 606 Guide Appendix A - UML 1.4 Notation


Appendix B - UML 2.0 Notation Guide iterator expressions, OCL, 629-633 Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

Index
J

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML J2EE container stereotype, 573 specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. J2EE/EJB, UML profile examples for, 691 Companion Web Site Jacobson, Ivar describing action semantics, 636 OOSE developer, 6-7

<?xml version="1.0" encoding="ISO-8859-1"?> Javaof Contents Table

representation, 640 UML association Bible extend relationship, 421 Preface compared to composition, Part inner I - Anclass Introduction to UML 90,198 instance-level attributes in interfaces, 162 Chapter 1 - What Is UML? interface class, 95 Chapter 2 - UML Architecture multiple inheritance of classes, 208 Chapter 3 - UML Diagrams and Extension Mechanisms polymorphism,159 Chapter 4 - Object-Oriented Concepts protected visibility, 125 Part II - Modeling Object Structure UML profile for, 691 Chapter 5 - Capturing Rules about Objects in a Class Diagram Vector used for multiplicity, 131
Chapter 6 Chapter 7

Jzquel, Jean-Marc ( Using UML Action Semantics for Executable Modeling and Beyond ),644 Testing with Objects

- How to Capture Rules about Object Relationships

joinIII node, 313,474-475, Part - Modeling Object 827 Interactions


Chapter 8 - Modeling Interactions in UML 1.4 join pseudo state, 380-381 Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

JoinNode class, 449

- Modeling Interactions in UML 2.0

joins for multiple threads, 492-493

Jones, ( Patterns of Software Part IV - Capers Modeling Object Behavior JSP stereotype, 579

Systems Success and Failure ),101

Chapter 12 Modeling JSP page icon, 720 the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

jump actions, 653-654 Chapter 14 - Modeling the Application Architecture junction pseudo state, 381-382 Chapter 15 - Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0 Part VI - Bringing Rigor to the Model < Day Day Up > Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index
K

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Kabira Technologies, UML compilers by, 4 specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

< Day Day Up >

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index
L

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Languages for Digital Embedded Systems (Edwards), 641 specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. last() operation, 628

Layer M0, 25,26 Layer M1, 25,26

Companion Web Site

<?xml version="1.0" Layer M2, 25-26 encoding="ISO-8859-1"?> Table of Contents UML Bible

Layer M3, 25

layering,39 Preface
Part I - An Introduction to UML Le Guennec, Alain (Using UML

Action Semantics for Executable Modeling and Beyond ),644

Chapter 1 or - What Is UML? less than equal to sign (<=) Chapter - UML Architecture less2than or equal to operation, OCL, 616 Chapter - UML Diagrams and Extension Mechanisms less3than or equal to operator, OCL, 596 Chapter 4 - Object-Oriented Concepts less than sign (<) less than operation, OCL, 616 Chapter - Capturing about less5than operator,Rules OCL, 596 Objects in a Class Diagram
Part II - Modeling Object Structure

Chapter 6 Chapter 7

let expression, OCL, 596-597

- How to Capture Rules about Object Relationships - Testing with Objects

library 838 Object Interactions Part III file, - Modeling


Chapter 8 stereotype, - Modeling Interactions in UML 1.4 library 541,838 Chapter - also Modeling Interactions in UML 2.0 lifeline.9 See object lifeline Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 in Sequence diagram, 773,807 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 in Timing diagram, 316, 318-319
Part IV - Modeling Object Behavior

lines.See alsoarrows in containing state, indicating stub states, 352 Chapter 13 - Modeling Behavior Using an Activity Diagram dashed Part V - Modeling the Application Architecture between association line and association class, 191 Chapter between 14 - Modeling the Application Architecture association lines, 181 Chapter crossing 15 - Modeling Software Using Component Diagram generalization lines, the 208 Chapter indicating 16 - Using Deployment Diagrams in UML 1.4 dependencies, 213-214,547 Chapter indicating 17 - Representing an Architecture in merge relationship, 517 UML 2.0 Part VI Bringing Rigor the Model between object to lifelines, 254,256 Chapter separating 18 - Applying Constraints to the UML Diagrams regions in composite state, 351 Chapter vertical, 19 - Action Semantics indicating object lifeline, 249-250,280 Part indicating VII - Automating the UML Modeling Process associations in Class diagram, 168 indicating relationships in Class diagram, 107 Chapter 20 - Using a Modeling Tool between object lifelines, indicating messages, 250 Chapter 21 - Customizing UML Using Profiles slanted, indicating message requiring a long time, 258 Chapter 22 - XML Metadata Interchange
Appendix A also - UML 1.4 Notation Guide links.See associations Appendix B - UML 87-89 2.0 Notation Guide aggregation,

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

composition, 89-90 Appendix C - Standard Elements definition of, 86-87,167-168,228 Glossary notation for, 224-225,266-267,771,805 Index
List Figures listof compartment, 110.See alsoattribute compartment;operation compartment;user-defined List of Tables compartment List of Listings ListCompartment metaclass, 110

LiteralValueAction,651 local stereotype, 841 LocationReference data type, 31

< Day Day Up >

UML Bible logic, modeling. See Activity diagram;Interaction Overview diagram

lollipop notation, John 162,520, 541-542,711 Wiley & Sons 2003 (940 pages)

by Tom Pender

ISBN:0764526049

loop action, 649 For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML loop body stereotype, 503
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. loop interaction operator, 304

<?xml version="1.0" encoding="ISO-8859-1"?> loop stereotype, 503 Table ofsetup Contents UML Bible loop stereotype, 503 Preface loop test stereotype, 503
Part I - An Introduction to UML

loop node Companion Web Site definition of, 501-503 notation for, 503-505

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture

< Day Day Up > - UML Diagrams and Extension Mechanisms


- Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index
M

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML M2.Seemetamodel specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. M3.Seemeta-metamodel Companion MagicDraw tool (No Magic, Inc.),Web 663 Site

manifest stereotype, 578


<?xml version="1.0" encoding="ISO-8859-1"?> Manifestation class, 567 Table of Contents UML Bible

manifestation dependency, 578

map action, 652 Preface


Part I - An data Introduction Mapping type, 31 to UML

Chapter 1 - What Is UML? MappingExpression data type, 31 Chapter 2 - UML Architecture Chapter 3 Chapter 4

MarshalAction,651

max() operation, 616,618 - Object-Oriented Concepts

- UML Diagrams and Extension Mechanisms

Part II (Model-Driven - Modeling Object Structure MDA Architecture)

action 638, 643-644 Chapter 5 semantics - Capturingand, Rules about Objects in a Class Diagram code and, 677-679 Chapter 6 generation - How to Capture Rules about Object Relationships companies using, 19Objects Chapter 7 - Testing with of, 16-19 Part definition III - Modeling Object Interactions executable XML and, 641 Chapter 8 - Modeling Interactions in UML 1.4 four-layer architecture and, 26 Chapter 9 - Modeling Interactions in UML 2.0 MOF and, 19-21 OMG role in, 15-16 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 UML development and, 4 Part IV - Modeling Object Behavior XMI and, 728-729
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part V - state Modeling the Application Architecture Mealy machine, 324

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

MDC (Meta-Data Coalition), 21 Chapter 13 - Modeling Behavior Using an Activity Diagram


Chapter - Modeling the Application Architecture Mellor, 14 Stephen Chapter 15 - Modeling Software Using the Component Diagram A Comparison of the Booch Method and Shlaer-Mellor OOA/RD ,637 Chapter 16 - Using Deployment Diagrams UML 1.4 "Executable UML - A Foundation forin Model Driven Architecture", 641 Chapter 17 Representing an Architecture in UML 2.0 Specifications for UML", 637 "Software-Platform-Independent, Precise Action
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

memberEnd property, 184-190

merge dependency between packages, 516-517,792,833

merge node, 314,470-474, 826 Part VII Automating the UML Modeling Process
Chapter 20 - Using a 448 Modeling Tool MergeNode class, Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

message.See alsoevent;Sequence diagram asynchronous,255-256,290-292 Appendix A - UML 1.4 Notation Guide comments for, 257 Appendix B UML 2.0 complete, 292 Notation Guide Appendix C - Standard constructor, 292 Elements Glossary definition of, 246-247,252-253,288 Index duration constraint for, 293-295 List of Figures events associated with, 289-290 execution List of Tables of, 289-290 found, 293 List of Listings

guard condition for, 311,773,807 < Day Day Up > instance of (stimulus), 249,252-253 iterating, 258-259,309 lost,293 UML Bible modeling, 249-252 ISBN:0764526049 notation for by Tom Pender John Wiley & Sons 2003 (940 pages) in Collaboration diagram, 267-268 in Communication diagram, 307-311 For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML in Sequence diagram, 250, 280,288-289, 773-774,807-808 specifications, and shows how to use UML to improve operation calls, 291 timeliness, quality, and efficiency in development. parallel execution of, 310 Web Site recursive calls to, Companion 261-262,774 relationship to event, 327 reply (return) to, 254 <?xml version="1.0" encoding="ISO-8859-1"?> request (invocation message), 653 Table of Contents requirements for, 247-248 UML Bible requiring a long time to execute, 258 Preface self-reference message, 254-255,807 Part I - An Introduction to UML sending in OCL, 598-599,608-610 Chapter 1 - What Is UML? sequence expression for, 307-308 Chapter 2 - UML Architecture signal,291 Chapter 3 - UML Diagrams and Extension Mechanisms signal raised by, 253 Chapter 4 of, - Object-Oriented Concepts sorts 290-292 Part II - Modeling Object Structure in state timeline, 316-317 Chapter 5 - Capturing Rules about Objects in a Class Diagram synchronous, 254,290-292 Chapter 6 How to Capture Rules about Object Relationships testing for, in post condition, 598-599 Chapter 7 Testing with Objects time constraint for, 293-295 Part timed III - Modeling Object Interactions message, 257-258 Chapter 8 Modeling Interactions in UML 1.4 unknown,292
Chapter 9 - actions, Modeling653 Interactions in UML 2.0 messaging Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Meta Object Facility specification. SeeMOF specification

metaclass stereotype, 695,838 Part IV - Modeling Object Behavior


Chapter 12 - Coalition. Modeling the Use of a System with the Use Case Diagram Meta-Data See MDC Chapter 13 - Modeling Behavior Using an Activity Diagram meta-metamodel (M3)
Part V - Modeling the Application Architecture

in four-layer architecture, 25

Chapter 14 - Modeling the Application Architecture MOF as, 20 Chapter 15 - Modeling Software Using the Component Diagram

metamodel (M2) Activity diagram changes in, 448-449 Chapter 17 - Representing an Architecture in UML 2.0 association changes in, 183-190 Part VI - Bringing Rigor to the Model attribute changes to, 141-144 Chapter 18changes - Applying class in,Constraints 117-120 to the UML Diagrams Chapter 19 - Action Semantics collaboration changes in, 240 Part component VII - Automating the UML Modeling Process changes in, 567-568 Chapter 20 - Using a Modeling Tool in four-layer architecture, 25-26 Chapter 21 - Customizing UML Using Profiles generalization changes in, 210-213 Chapter 22 - XML Metadata Interchange interface changes in, 161-163 Appendix A - UML 1.4 Notation Guide modeling tools supporting, 668 MOFB as, 19-20 Appendix - UML 2.0 Notation Guide multiplicity changes in, 128-130 Appendix C - Standard Elements node changes in, 570-574 Glossary object changes to, 225-226 Index operation List of Figures changes to, 153-156 state changes to, 364-365 List of Tables Use Case diagram changes in, 403-404
Chapter 16 - Using Deployment Diagrams in UML 1.4 List of Listings

metamodel (OCL), 588,589-590 metamodel stereotype, 838

< Day Day Up >

method. See alsoActivity diagram;implementation;operation definition of, 84, 145, 452 UML Bible modeling withby Activity diagram, 452 Tom Pender min() operation, 616, 618 & Sons 2003 (940 pages) John Wiley

ISBN:0764526049

minus sign (-) For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML indicating private visibility, 121,514 specifications, and shows how to use UML to improve subtraction operation, OCL, 615, 617, 622 timeliness, quality, and efficiency in development. subtraction operator, OCL, 596 mobile device stereotype, 573 mod() operation, 618
Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> model. alsodiagrams Table of See Contents

of, 521-522 UML definition Bible notation for, 522,794,834 Preface


Part I - An Introduction to UML model layer, 25,26

Chapter 1 - What Is UML? model library, 838 Chapter 2 Chapter 3

model management diagram - UML Diagrams and Extension Mechanisms definition of, 50-51 Chapter 4 - Object-Oriented Concepts Package diagram Part II - Modeling Object Structure definition of, 664 Chapter 5 - Capturing Rules about Objects in a Class Diagram drawing in modeling tool, 664,665 Chapter modeling, 6 - How to Capture Rules about Object Relationships 518 Chapter notation 7 - Testing with Objects for, 791-794, 831-834 Part III UML - Modeling Object Interactions 1.4 compared to UML 2.0, 44,665 Chapter uses 8 - Modeling of, 50-51Interactions in UML 1.4
Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

- UML Architecture

Model Management package, 35 model stereotype, 521-522

- Modeling Interactions in UML 2.0

Model-Driven Architecture. SeeMDA Part IV - Modeling Object Behavior


Chapter 12 - Modeling ModelElement class,the 29,Use 186of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

modeling. See alsoCWM;UML Booch method of, 6,637 Chapter 14 - Modeling the Application Architecture data modeling, 447 Chapter 15 - Modeling Software Using the Component Diagram elaborative approach of, 636 Chapter 16 Using Deployment Diagrams ER (Entity Relationship) modeling, 6in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0 functional modeling, 447 Part history VI - Bringing Rigor to the Model of, 6 Chapter 18 Applying Constraints to the UML Diagrams importing to and exporting from, 676
Chapter 19 - Action Semantics

modeling tools access control and security for, 671-672 Chapter 20 - Using Modeling Tool advantages of a using, 661-662 Chapter 21 - Customizing audit trails for, 672 UML Using Profiles Chapter 22 - XML Metadata Interchange categories of, 663 Appendix A - management UML 1.4 Notation change for, Guide 672,681 Appendix B - UML 2.0 Notation Guide choosing, checklist for, 679-683 Appendix - Standardand Elements codeC generation reversal by, 676-677,683 customizing icons in, 669-670,689-690 Glossary documentation for, 683 Index extensibility of, 668-670,681 List of Figures importing and exporting using XMI List of Tables problems with, 728 List of Listings
Part VII - Automating the UML Modeling Process

reasons for, 726-727 < Day Day Up > specification for, 729-730 version 1.0, 738-747 version 1.1, 747-754 UML Bible tools, 675-676, 680, 682 integration with third-party ISBN:0764526049 by Tom Pender MDA and, 677-679 John Wiley & Sons 2003 (940 pages) navigation features, 665-667, 681 printing support by, 682 For beginning to advanced users, this book provides comprehensive reporting by, 673-674, 682 coverage of the versatility of 1.4 and 2.0 UML and 681 shows how to use UML to improve repository for specifications, models, 667-668, timeliness, quality, and efficiency in development. round-trip engineering by, 677 scalability of, 671 Companion Web Site sharing models with, 670-672 technical support for, 683 <?xml version="1.0" encoding="ISO-8859-1"?> UML diagram support, 663-665,680 Table of Contents user interface for, 666,683 UML Bible VBA support by, 676 Preface vendor's support for, 683 Part I - An Introduction to UML Web publishing by, 674-675,682 Chapter 1 - What Is UML? XMI support, 757-758
Chapter 2 - UML Architecture

model-level transformations, Chapter 3 - UML Diagrams and644 Extension Mechanisms modelLibrary stereotype,Concepts 838 Chapter 4 - Object-Oriented
Part II - Modeling modularity, 38-39Object Structure

Chapter 5 Chapter 6

modules, modeling. SeeComponent diagram

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

MOF (Meta Object Facility) specification Chapter 7 - Testing with Objects XMI from, 730-732 Part creating III - Modeling Object Interactions
Chapter 8

CWM and, 732 - Modeling Interactions in UML 1.4 definition of, 4,19-21 Chapter 9 - Modeling Interactions in UML 2.0 extending, 688
Part IV - Modeling multi-object, 269 Object Behavior

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Moore 11 state machine, 324 Chapter - Modeling an Object's Lifecycle in UML 2.0
Chapter 12 - Modeling the Use of a System with the Use Case Diagram multiple inheritance, 207-208 Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

multiple threads. Seeconcurrency

multiplication operation OCL, 615, 617 Chapter 14 - Modeling the(*()), Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram multiplication operator (*), OCL, 596 Chapter 16 - Using Deployment Diagrams in UML 1.4 Multiplicities package, 128 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

multiplicity for associations, 126-130,173-174,186-187 Chapter 18 - Applying Constraints to the UML Diagrams for attributes, 126-130,136-137,143 Chapter 19 - Action Semantics definition of, 126 Part VII - Automating the UML Modeling Process notation for, 126-128,136-137,143,173 Chapter 20 - Using a Modeling Tool ordering of, 128,174-175 Chapter 21 of - Customizing UML Using Profiles range values, 126-127 Chapter 22 XML Metadata Interchange range without limit, 127 Appendix A discrete - UML 1.4 Notation Guide set of values, 128 Appendix B - value, UML 2.0 Notation Guide specific 127 Appendix - Standard UML C 2.0 notation Elements for, 128-130 Glossary in use case associations, 417
Index MultiplicityElement class, 128,143,153-154,186 List of Figures List of Tables

MultiplicityRange data type, 31

List of Listings

< < Day Day Day Day Up Up > >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index
N

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML name compartment specifications, and shows how to use UML to improve class name for, 110-113quality, and efficiency in development. timeliness,

for classes compared to objects, 228 Companion Web Site notation for, 762,796 for objects, 223-224 in, 119-120 <?xmlports version="1.0" encoding="ISO-8859-1"?> presentation Table of Contentsof, 109 in, 116-117,119-120 UML properties Bible stereotypes in, 113-116 Preface
Part I - An Introduction Name data type, 31 to UML

Chapter 1 Chapter 2 Chapter 3

- What Is UML? NamedElement class, 142,153-154 - UML Architecture

namespace - UML Diagrams and Extension Mechanisms for packages, 511-512 Chapter 4 - Object-Oriented Concepts XML,737
Part II - Modeling Object Structure

Namespace class, 118-119 Chapter 5 - Capturing Rules about Objects in a Class Diagram
Chapter 6 - How to Capture Rules about Object Relationships Namespace namespace, 118, 119 Chapter 7 - Testing with Objects n-ary association
Part definition III - Modeling Object Interactions of, 193

Chapter 8 - Modeling Interactions in UML 1.4 notation for, 194,768, 802 Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

neg (negative) interaction operator, 302 nested actions, 656

- Modeling Interactions in UML 2.0

nested 198-199 Part IV - object, Modeling Object Behavior


Chapter 12 - profile Modeling the Use of a 691 System with the Use Case Diagram .NET, UML examples for, Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

No Magic, Inc., MagicDraw tool, 663

node.See also Combined Deployment and Component diagram;Deployment diagram Chapter 14 Modeling the Application Architecture activity final node, 314-315,469 artifacts deployed on, 579-582 Chapter 16 - Using Deployment Diagrams in UML 1.4 attributes in, 571 Chapter 17 - Representing an Architecture in UML 2.0 communication paths between, 575-576 Part VI - Bringing Rigor to the Model conditional node, 499-501 Chapter 18 - Applying Constraints to the UML Diagrams decision node, 314,470-474,826 Chapter 19 - Action Semantics definition of, 560,570-574 Part VII - Automating the UML Modeling Process devices in, 573 Chapter 20 - Using a Modelingin, Tool execution environments 573 Chapter 21 - Customizing UML Using Profiles expansion node, 497-499 Chapter 22 - XML Metadata final flow node, 484 Interchange Appendix A - UML 1.4 Notation Guide fork node, 313, 474-475, 827 Appendix B - UML 2.0 Notation Guide generalization of, 576 Appendix - Standard Elements initialC node, 314-315, 469 join node, 313,474-475,827 Glossary loop node, 501-505 Index merge node, 314,470-474,826 List of Figures modeling, List of Tables 560-563, 574-576 notation for, 789,829 List of Listings
Chapter 15 - Modeling Software Using the Component Diagram

object node, 475-477,488-489 operations in, 571 ports in, 572 stereotypes for, 572-573
UML Bible

< Day Day Up >

not equal to sign (<>) by Tom Pender not equal to operation, OCL, 613,614,615 John Wiley & Sons 2003 (940 pages) not equal to operator, OCL, 596

ISBN:0764526049

not() operation, 619 comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, note,181.See alsocomment and shows how to use UML to improve notEmpty() operation, 621
timeliness, quality, and efficiency in development. Companion Web Site

For beginning to advanced users, this book provides

<?xml version="1.0" encoding="ISO-8859-1"?> < Day Day Up > Table of Contents UML Bible Preface
Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index
O

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML object actions, 651 specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Object Constraint Language. SeeOCL Web Site Object diagram. See Companion alsoClass diagram attribute compartment, 223-224 compared to Class diagram, 226-228 <?xml version="1.0" encoding="ISO-8859-1"?> definition of, 36,221,664 Table of Contents drawing in modeling tool, 664,665 UML Bible name compartment, 223-224 Preface notation for, 771-772,805-806 Part I - An Introduction to UML testing Class diagram with, 228-234 Chapter 1 - What Is UML? UML 1.4 compared to UML 2.0, 44,665 Chapter 2 of, - UML Architecture uses 53-54 Chapter 3 Chapter 4

object flow - Object-Oriented Concepts behavior for, 487-488 Part II - Modeling Object Structure definition of, 475 Chapter 5 - Capturing Rules about Objects in a Class Diagram notation for, 475-477,786
Chapter 6 Chapter 7

- UML Diagrams and Extension Mechanisms

object lifeline. See alsolifeline - Testing with Objects definition of, 246 Part III - Modeling Object Interactions modeling, 248-249,279-288 Chapter 8 - Modeling Interactions in UML 1.4 notation for, 249,279-280
Chapter 9 - Modeling Interactions in UML 2.0

- How to Capture Rules about Object Relationships

Object 10 Management Group. See OMG in UML 1.4 Chapter - Modeling an Object's Lifecycle
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 object node
Part customizations IV - Modeling Object Behavior to, 488-489

modeling, 475-477 Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram ObjectFlow class, 449
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

ObjectFlowState class, 448,449

Object-Modeling Technique. OMT Chapter 15 - Modeling SoftwareSee Using the Component Diagram ObjectNode class, 449 Chapter 16 - Using Deployment Diagrams in UML 1.4
Chapter 17 - Representing Architecture in OOA&D UML 2.0 Object-Oriented Analysisan and Design. See
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams

object-oriented concepts. SeeOO concepts

Object-Oriented Software Engineering. SeeOOSE Chapter 19 - Action Semantics


Part VII -See Automating the UML Modeling Process objects. alsoclasses; Collaboration diagram;Communication

diagram;instance;Object diagram;

Sequence State Machine Chapter 20 -diagram; Using a Modeling Tool diagram abstractions of, 76-78 Chapter 21 - Customizing UML Using Profiles activation of, Metadata 261,284-286 Chapter 22 - XML Interchange active object, 268 Appendix A - UML 1.4 Notation Guide aggregate, part Appendix B - UML 2.0decomposition Notation Guide for, 281-283 anonymous, 223 Appendix C - Standard Elements associated, referencing, 599-602 Glossary behavior of, 79-80,82 Index cohesion of, 96-98 List of Figures collaborations and, 237-239 List of Tables communication between, 99
List of Listings

compared to slots, 225-226 < Day Day Up > composite,198-199 coupling (dependency) between, 98-100 creation of, 262-264,774,809,836 UML Bible data associated with, 82,85 ISBN:0764526049 by261 Tom Pender deactivation of, John Wiley & Sons 2003 (940 pages) defining,78-80 definition of, 76 For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML destruction of, 262-264,283-284, 774,809, 837 and shows how to use UML to improve encapsulationspecifications, of, 80-85 timeliness, quality, and efficiency in development. exceptions raised by, 253 Companion focus of control for, 261,284 Web Site implementation (method) for, 82-83 interface (operation) for, 81 <?xml version="1.0" encoding="ISO-8859-1"?> links between, 86-90,224-225 Table of Contents multi-objects, 269 UML Bible naming,223-224,281 Preface nested,198-199 Part I - An Introduction to UML notation for Chapter 1 - What Is UML? in Collaboration diagram, 266-267 Chapter 2 - UML Architecture in Object diagram, 223-224,771,805-806 Chapter 3 - UML Diagrams and Extension Mechanisms in Sequence diagram, 280-281 Chapter 4 for, - Object-Oriented ports 222,235-237 Concepts Part II - Modeling Object Structure predefined properties for, 602-604 Chapter 5 - Capturing Rules about Objects in a Class Diagram purpose of, 83 Chapter 6 How to Capture signals raised by, 253 Rules about Object Relationships Chapter 7 of, - Testing with Objects state 79,82,286-288 Part structure III - Modeling Object Interactions of, 78 Chapter 8 Modeling Interactions in UML 1.4 suspension of, 284-286 Chapter 9 2.0 - Modeling Interactions in UML 2.0 UML definitions for, 225-226 unique of,an 78Object's Lifecycle in UML 1.4 Chapter 10 -identity Modeling
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 OCL (Object Constraint Language)
Part abstract IV - Modeling Object Behavior syntax, 589-590

Chapter 12 semantics - Modeling and, the Use of a System with the Use Case Diagram action 639-640 Chapter 13 - Modeling Behavior backward compatibility of, Using 592 an Activity Diagram
Part concrete V - Modeling the Application syntax, 590-591 Architecture

Chapter 14 - Modeling the Application Architecture constraints defined with, 71

data types, 592-594, 612,614, 615, 619 Chapter 15 - Modeling Software Using the Component Diagram definition of, 14, 35,587-588 Chapter 16 - Using Deployment Diagrams in UML 1.4 expressions Chapter 17 - Representing an Architecture in UML 2.0 applying to classes, 611 Part VI Bringing Rigor to the Model in,Constraints 605-608 to the UML Diagrams Chapter Collections 18 - Applying on attributes, 595-597 Chapter invariants 19 - Action Semantics
Chapter 20 - Using a Modeling Tool

operations in, Modeling 598-599 Process Part VIIinvoking - Automating the UML navigating associations, 599-602 operators for, 596 Chapter 21 - Customizing UML Using Profiles overridden properties in, 602 Chapter 22 - XML Metadata Interchange post conditions on operations, 597-599 Appendix A - UML 1.4 Notation Guide preconditions on operations, 597-599 Appendix B - UML 2.0 Notation Guide predefined properties for, 602-604 Appendix C - Standard Elements result of, 592-594 Glossary sending messages with, 608-610 Index syntax for, 590-591, 594-595 List of Figures tuples in, 611 List of Tables variables in, 596-597 List of Listings iterator expressions, 629-633

operations < Day Day Up > for collection types, 619-629 for ModelElement types, 614-615 for OclAny data type, 612-613 UML Bible for OclMessage data type, 613-614 ISBN:0764526049 by Tom Pender for OclVoid data type, 614 John Wiley & Sons 2003 (940 pages) for primitive types, 615-619 as query language, 590 For beginning to advanced users, this book provides comprehensive588-589 coverage of the versatility of 1.4 and 2.0 UML version 2.0 enhancements, OclAny data type, 612-613 quality, and efficiency in development. timeliness, ocllAsType property, Companion 604 Web Site ocllnState property, 603-604 ocllsKindOf property, 603 <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents oclIsNew() operation, 604,613
UML Bible Preface specifications, and shows how to use UML to improve

oclIsTypeOf property, 603 613,614

oclIsUndefined() operation, Part I - An Introduction to UML


Chapter 1 - What UML? OclMessage dataIs type, 613-614

Chapter 2 - UML Architecture OclMessage expression, 608,609-610 Chapter 3 Chapter 4

OclModelElement data type, 614

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

OclState data type, 615Structure Part II - Modeling Object


Chapter 5 property, - Capturing Rules about Objects in a Class Diagram OclState 602-603 Chapter 6 data - How to Capture Rules about Object Relationships OclType type, 614-615 Chapter 7
Part III - Modeling Object Interactions

OclType property, 602-603

- Testing with Objects

OclVoid type, 614 Chapter 8 data - Modeling Interactions in UML 1.4


Chapter 9 - Modeling Interactions in UML OMG (Object Management Group). See2.0 alsoMDA

code generation 677 Lifecycle in UML 1.4 Chapter 10 - Modelingand, an Object's definition of, 15-16 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 adopted by, 690-691 Part profiles IV - Modeling Object Behavior RTF (Revision Task 8 Chapter 12 - Modeling theForce) Use of of, a System with the Use Case Diagram UML development and, 4,7-8 Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V Modeling the Application Architecture OMT (Object-Modeling Technique), 6,61,636

Chapter - Modeling the Application Architecture one()14 operation, 631 Chapter 15 - Modeling Software Using the Component Diagram

OO (object-oriented) concepts abstraction, 76-78 Chapter 17 - Representing an Architecture in UML 2.0 associations, 85-90 Part VI - Bringing Rigor to the Model books about, 101 Chapter 18 - Applying Constraints to the UML Diagrams classes,76 Chapter 19 - Action Semantics cohesion, 96-98 Part VII - Automating the UML Modeling Process coupling, 98-100 Chapter 20 - Using a Modeling Tool encapsulation, 80-85 Chapter 21 - Customizing UML Using Profiles generalization (inheritance), 90-94 Chapter 22 XML Metadata Interchange history of, 5-8, 75 Appendix - UML 1.4 Notation Guide links,A 85-90 Appendix B -76, UML 2.0 Notation Guide objects, 78-80 polymorphism, 94-96 Appendix C - Standard Elements UML supporting, 5,10 Glossary
Chapter 16 - Using Deployment Diagrams in UML 1.4 Index OOA&D (Object-Oriented Analysis and Design), 27 List of Figures List of Tables List of Listings

OOSE (Object-Oriented Software Engineering), 6-7 operation.See alsointerface

class-level,149-150,155 < Day Day Up > common, interfaces for, 159-160 control stereotype and, 114 definition of, 84,452 UML Bible 836 dependencies between, ISBN:0764526049 by Tom Pender exceptions for, 150-151 John Wiley & Sons 2003 (940 pages) internal use of, 147 messages invoking, 253 to advanced users, this book provides For beginning comprehensive coverage of the versatility of 1.4 and 2.0 UML modeling, 145-152 specifications, and shows how to use UML to improve naming,146-147, 154 timeliness, quality, and efficiency in development. for nodes, 561,571 Companion Web Site notation for, 154-156, 762,796 OCL operations for collection types, 619-629 <?xml version="1.0" encoding="ISO-8859-1"?> ModelElement types, 614-615 Table of for Contents for OclAny data type, 612-613 UML Bible for OclMessage data type, 613-614 Preface for OclVoid data type, 614 Part I - An Introduction to UML for primitive types, 615-619 Chapter 1 - What Is UML? parameters for, 99,147-148,154 Chapter 2 - UML Architecture post conditions for, 151-152,156,597-599 Chapter 3 - UML Diagrams and Extension Mechanisms preconditions for, 151-152,156,597-599 Chapter 4 - Object-Oriented properties for, 149,155 Concepts Part II - Modeling Object Structure return-result of, 148-149,154 Chapter 5 - Capturing Rules about Objects in a Class Diagram signature of, 95,146, 276 Chapter 6 How to Capture Rules about Object Relationships UML 2.0 definitions for, 153-156 Chapter 7 Testing with Objects in utility class, 115 Part visibility III - Modeling Object145-147, Interactions of, 121-126, 154
Chapter 8 - Modeling Interactions in UML 1.4 operation compartment Chapter 9 - Modeling Interactions for class definitions, 109-110 in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 definition of, 144-145 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 notation for, 145-152, 762,796 Part visibility IV - Modeling Object Behavior in, 121-126 Chapter 12 - Modeling the Use of a System with the Use Case Diagram

operators content model operators in XML, 737-738 Part V - Modeling the Application Architecture in OCL, 596 opt (option) interaction operator, 300

Chapter 13 - Modeling Behavior Using an Activity Diagram Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram

or() operation, Chapter 16 - Using619 Deployment Diagrams in UML 1.4


Chapter 17 - Representing or operator, OCL, 596 an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

{ordered} property, 174,189 OrderingKind data type, 31

orthogonal composite state, Part VII - Automating the UML 378 Modeling Process
Chapter 20 - Using a Modeling Tool OS stereotype, 573 Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix C - Standard Elements

output pins, 477-478,645-646,654-655

ovals dashed, indicating collaborations, 237 Appendix B - UML 2.0 Notation Guide indicating use cases, 412,422 overlapping constraint, 208 Glossary ownedEnd property, 185 Index
List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index
P

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML package. See also Package diagram specifications, and shows how to use UML to improve abstract,512 timeliness, quality, and efficiency in development.

access relationship between, 515-516,832 Companion Web Site containment of, 512, 518,832 definition of, 50,511 517 encoding="ISO-8859-1"?> <?xmldeleting, version="1.0" dependencies Table of Contents between, 50-51, 514-517 in, 512-514 UML elements Bible grouping in a model, 521-522 Preface import (merge) relationship Part I - An Introduction to UML between, 516-517, 792, 833 model library in, 838 Chapter 1 - What Is UML? moving between, 667 Chapter 2 - classes UML Architecture namespace for, 511-512 Chapter 3 - UML Diagrams and Extension Mechanisms notation for, 50,512,513-514,791,831-832 Chapter 4 - Object-Oriented Concepts organizing Part II - Modeling Object Structure ICONIX Unified Modeling Approach method, 527 Chapter 5 - Capturing Rules about Objects in a Class Diagram methods for, 522-523 Chapter 6 - How to Capture Rules about Object Relationships RUP method, 523-531 Chapter 7 - Testing with Objects package visibility within, 121,123 Part III - Modeling Object Interactions specifying in class name, 112-113 Chapter 8 -cases, Modeling Interactions in UML 1.4 for use 406-407, 413-414 Chapter 9 - in Modeling Interactions in UML 2.0 viewing modeling tool, 665-666
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Package class, 692

Package diagram Part IV - Modeling Object Behavior definition of, 664 the Use of a System with the Use Case Diagram Chapter 12 - Modeling drawing in modeling tool, 664,665 modeling, 518 Part V - Modeling the Application Architecture notation for, 791-794,831-834 Chapter 14 - Modeling the Application Architecture UML 1.4 compared to UML 2.0, 44,665 Chapter 15 - Modeling Software Using the Component Diagram uses of, 50-51
Chapter 13 - Modeling Behavior Using an Activity Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor class, to the Model PackageableElement 118-119

package 121,123 Chapter 17visibility, - Representing an Architecture in UML 2.0


Chapter 18 - Applying Constraints to the UML Diagrams PackageableElement namespace, 118, 119 Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

PackageImport metaclass, 693

Page-Jones, Meilir Fundamentals Chapter 20 - Using a( Modeling Tool of Object-Oriented Design in UML ), 101
Chapter 21 - Customizing Using 300-301 Profiles par (parallel) interactionUML operator, Chapter 22 -stereotype, XML Metadata Interchange parallel 563 Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

parameter of actions and activities, 490-492 Appendix C - Standard Elements of class template, 158 Glossary of operations, 99,147-148,154
Index List of Figures

parameter stereotype, 841

ParameterDirectionKind data type, 31-32 List of Tables


List of Listings (template) class parameterized

definition of, 594 modeling, 158-159 notation for, 763-764,798 parent (superclass) UML Bible definition of, 92,202-203 by Tom Pender discriminator for, 206-207

< Day Day Up >

ISBN:0764526049

parentheses(()) For beginning to advanced users, this book provides enclosing operation parameters, 147-148 comprehensive coverage of the versatility of 1.4 and 2.0 UML grouping operator, XML, 737 specifications, and shows how to use UML to improve part,234-235
timeliness, quality, and efficiency in development. Companion Web Site part decomposition, 281-283

John Wiley & Sons 2003 (940 pages)

Partition class, 448


<?xml version="1.0" encoding="ISO-8859-1"?> partition (swimlane) Table of Contents

definition of, 479-480 modeling, 480-484 Preface notation for, 786


UML Bible

Part I - An Introduction to UML

partitioning, Chapter 1 - 38-39 What Is UML? path, factored. See factored path Chapter 2 - UML Architecture
Chapter pattern3 - UML Diagrams and Extension Mechanisms Chapter 4 - Object-Oriented Concepts applying with collaboration occurrence, 241
Part definition II - Modeling Object Structure of, 13

Chapter 5 - Capturing Rules about Objects in a Class Diagram modeling with collaboration, 237-239 Chapter 6 - How to Capture notation for, 772, 806 Rules about Object Relationships

UML of,with 11 Objects Chapter 7 support - Testing


Part III - Modeling Object Interactions Patterns of Software Systems Success

and Failure (Jones), 101

Chapter 8 Chapter 9

Pennaneac'h, Francois (Using UML Action Semantics for Executable Modeling and Beyond) ,644
- Modeling Interactions in UML 2.0

- Modeling Interactions in UML 1.4

permission 213,215 Chapter 10 - dependency, Modeling an Object's Lifecycle in UML 1.4 pervasive ofan MDA, 17,18 Chapter 11 services - Modeling Object's Lifecycle in UML 2.0
Part IV - Modeling physical file, 837 Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

physical implementation. See alsoComponent diagram component as type of, 536 Part V - Modeling the Application Architecture definition of, 535 Chapter 14 - Modeling the Application Architecture mapping components to, 543-545
Chapter 13 - Modeling Behavior Using an Activity Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

Chapter 15 - Modeling Software Using the Component Diagram

physical system, modeling, 35,519,521-522

PIM (platform-independent Chapter 17 - Representing an model) Architecture in UML 2.0 generation and, 678Model Part code VI - Bringing Rigor to the mapping to and from PSMs, to 679 Chapter 18 - Applying Constraints the UML Diagrams MDA and, 16 Semantics Chapter 19 - Action UML for, 4 the UML Modeling Process Part using VII - Automating pins 20 - Using a Modeling Tool Chapter as array, 656 Chapter 21 - Customizing UML Using Profiles definition of, 645-646 Chapter 22 - XML Metadata Interchange modeling, 477-478 Appendix A - UML 1.4 Notation Guide for nested action, 656 Appendix B - UML 2.0 Notation Guide
Appendix C - Standard Elements

notation for, 654-655

platform-independent model. SeePIM Glossary


Index platform-specific code generation, 643-644 List of Figures List of Tables

platform-specific model. SeePSM plus sign (+)

List of Listings

addition operation, OCL, 615,617 < Day Day Up > addition operator, OCL, 596 in circle, indicating package elements, 513 indicating public visibility, 121,514 UML Bible one or more operator, XML, 737 polymorphism by Tom Pender John Wiley & Sons 2003 (940 pages) definition of, 94-96 For beginning to advanced users, this book provides interfaces used for, 159 port Companion Web Site for classes, 119-120 for components, 552-555,556 for nodes, 572 <?xml version="1.0" encoding="ISO-8859-1"?> notation for, 235-236,371 Table of Contents for objects, 222,235-237 UML Bible for triggers, 371-372 Preface types of, 236-237
Part I - An Introduction to UML ISBN:0764526049

comprehensive coverage of the versatility of 1.4 and 2.0 UML timeliness, quality, and efficiency in development.

Popkin Software,specifications, System Architect tool, 663, 758 and shows how to use UML to improve

Ports class, 119-120, 571-572 Chapter 1 - What Is UML?


Chapter 2 - UML Architecture post condition

for actions, 485-486 Chapter 3 - UML Diagrams and Extension Mechanisms definition of, 14,67,587,597 Chapter 4 - Object-Oriented Concepts in Activity Part modeling II - Modeling Objectdiagram, Structure460-461 for operations, 151-152, 156,597-599 Chapter 5 - Capturing Rules about Objects in a Class Diagram for use 429-430 Chapter 6 -cases, How to Capture Rules about Object Relationships
Chapter 7 - Testing with Objects postcondition stereotype, 841
Part III - Modeling Object Interactions

pound sign (#), indicating protected visibility, 121


- Modeling Interactions in UML 1.4

Chapter 8

powertype Chapter 9 - Modeling Interactions in UML 2.0 definition of, 93 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 notation for, 205-206,211-212
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

powertype stereotype, 205-206,841 Part IV - Modeling Object Behavior

@pre keyword, indicating beginning value of property, 599 Diagram Chapter 12 - Modeling the Use of a System with the Use Case
Chapter 13 - Modeling Behavior Using an Activity Diagram precondition
Part for V - actions, Modeling the Application Architecture 485-486

Chapter 14 - Modeling the Application Architecture definition of, 14,67, 587, 597 Chapter 15 - Modeling Software Using the Component Diagram modeling in Activity diagram, 459-460 Chapter 16 - Using Deployment Diagrams in UML 1.4 for operations, 151-152,156, 597-599

for use 426-427 Chapter 17 -cases, Representing an Architecture in UML 2.0


Part VI - Bringing Rigor to the Model precondition stereotype, 841

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

prepend() operation, 627

primitive action, 646 the UML Modeling Process Part VII - Automating
Chapter 20types - Using a Modeling Tool primitive

in OCL, 615-619UML Using Profiles Chapter 21 - 594, Customizing in UML, Chapter 22 - 133 XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide PrimitiveTypes package, 41,117 Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements 514 for classifiers in packages, Glossary definition of, 122 Index to enforce encapsulation, 122,133 List of Figuresfor, 121 notation List of Tables List of Listings

private visibility

procedure

compared to action, 647 lifecycle of, 648 notation for, 655-656 ProcedureExpression data type, 32
UML Bible

< Day Day Up >

process, 13

by Tom Pender

ISBN:0764526049

John Wiley process stereotype, 839 & Sons 2003 (940 pages) For beginning to advanced users, this book provides profile coverage of the versatility of 1.4 and 2.0 UML constraints in,comprehensive 689 specifications, and shows how to use UML to improve defining,691-696 timeliness, quality, and efficiency in development. definition of, 3-4,10,72,641,688 Companion Web Site industry-adopted profiles, 691 MOF and, 688 applying to one package, 694 <?xmlmultiple, version="1.0" encoding="ISO-8859-1"?> OMG-adopted Table of Contents profiles, 690-691 from package, 694 UML removing Bible standards for, 690 Preface stereotype icons in,to 689-690 Part I - An Introduction UML stereotypes in, 688 Chapter 1 - What Is UML? tagged in, 689 Chapter 2 -values UML Architecture UML Profile for Business Modeling, 700-701 Chapter 3 - UML Diagrams and Extension Mechanisms UML Profile for EJB, 696-701 Chapter 4 - Object-Oriented Concepts UML Profile for Enterprise Application Integration (EAI), 702-706 Part II - Modeling Object Structure UML Profile for Enterprise Distributed Object Computing (EDOC), 706-712 Chapter 5 - Capturing Rules about Objects in a Class Diagram UML Profile for Schedulability, Performance, and Time, 712-714 Chapter 6 - How to Capture Rules about Object Relationships UML Profile for Software Development Processes, 698-700 Chapter 7 - Testing with Objects UML specification examples of, 691 Part III - Modeling Object Interactions UML Testing Profile, 714-717 Chapter 8 (Web - Modeling Interactions in UML 1.4 717-721 WAE Application Extension) profile, Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Profile class, 692-693

- Modeling Interactions in UML 2.0

Profile 11 for Java, 691 an Object's Lifecycle in UML 2.0 Chapter Modeling
Part IV - Modeling Object Behavior profile stereotype, 692, 841

Chapter 12 - Modeling the Use of a System with the Use Case Diagram ProfileApplication metaclass, 693-694 Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Profiles package, 43,691-692

program Seesoftware Chapter 14code. - Modeling the Application Architecture


Chapter 15file, - Modeling Software Using the Component Diagram program 837 Chapter 16 - Using Deployment Diagrams in UML 1.4 programming by contract. See OCL Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

programming languages. See alsoJava for action semantics, 640-641 Chapter 18 - Applying Constraints to the UML Diagrams ports for, 119-120 Chapter 19 - Action Semantics UML independence from, 10,12
Part VII - Automating the UML Modeling Process

Project20 Technology, Inc., UML compilers by, 4 Chapter - Using a Modeling Tool property. alsotagged value Chapter 21See - Customizing UML Using Profiles of attributes, Chapter 22 - XML 139-141, Metadata 143-144 Interchange of classes, 116-117, 119-120 Appendix A - UML 1.4 Notation Guide modeling tools extending, 668 Appendix B - UML 2.0 Notation Guide notation for, 116,139, 149 Appendix C - Standard Elements
Glossary

of operations, 149,155 predefined, in OCL, 602-604 Index UML 2.0 definition of, 119,141-144 List of Figures in user-defined compartments, 156-157
List of Tables

protected visibility List of Listings

definition of, 124-126 for generalization, 202 notation for, 121 {protocol} keyword, 391
UML Bible

< Day Day Up >

protocol state machine ISBN:0764526049 by Tom Pender definition of, 390 John Wiley & Sons 2003 (940 pages) modeling, 391 For beginning to advanced users, this book provides specialization comprehensive of, 392-393 coverage of the versatility of 1.4 and 2.0 UML states in, 391 specifications, and shows how to use UML to improve transitions in, timeliness, 391-392 quality, and efficiency in development.
Companion Protocol State Machine diagram Web Site definition of, 390 modeling, 390-393 <?xml version="1.0" encoding="ISO-8859-1"?> notation for, 824 Table of Contents uses of, 67-68,390 UML Bible

prototypes, compared to scenarios, 433-434 Preface


Part I - An interface Introduction to UML provided

Chapter 1 - What Is UML? for components, 549 Chapter 2 - UML Architecture definition of, 162, 236

notation for, 162-163 Chapter 3 - UML Diagrams and Extension Mechanisms for subsystems, 520 Chapter 4 - Object-Oriented Concepts
Part II - Modeling Object Structure pseudo state

Chapter 5 Capturing Rules about Objects in a Class Diagram choice pseudo state, 376, 381-382 Chapter 6 - How to Capture Rules about Object Relationships definition of, 326 Chapter - Testing with Objects fork7pseudo state, 379-380
Part history III - Modeling pseudoObject state, Interactions 357

initial 326-327, 374,777,in 817 Chapter 8 state, - Modeling Interactions UML 1.4 join 9 pseudo state,Interactions 380-381 in UML 2.0 Chapter - Modeling junction 381-382 Chapter 10 - pseudo Modelingstate, an Object's Lifecycle in UML 1.4 static point, 778,819 Chapter 11branch - Modeling an340, Object's Lifecycle in UML 2.0 pseudo state, 382-383 Part terminate IV - Modeling Object Behavior
Chapter 12 - Modeling the Use 32, of a System with the Use Case Diagram PseudostateKind data type, 364-365 Chapter 13 - Modeling Behavior Using an Activity Diagram PSM (platform-specific model)
Part code V - Modeling the Application generation and, 678 Architecture

Chapter 14 - Modeling the Application mapping to and from PIMs, 679 Architecture Chapter 15 - Modeling Software Using the Component Diagram MDA and, 16 Chapter 16CWM - Using Deployment Diagrams in UML 1.4 using for, 4 Chapter 17 - Representing an Architecture in UML 2.0 public visibility
Part VI - Bringing Rigor to the Model

for classifiers in packages, 514

Chapter 18 - Applying Constraints to the UML Diagrams definition of, 123-124 Chapter 19 - Action Semantics notation for, 121
Part VII - Automating the UML Modeling Process

publications.See alsospecifications about action semantics, 642 Chapter 21 - Customizing UML Using Profiles about action specifications for UML, 637 Chapter 22 executable - XML Metadata Interchange about UML, 641 Appendix A UML 1.4 Notation Guide systems, 641 about languages for embedded Appendix B UML 2.0 Notation Guide about MDA, 644 Appendix C Standard Elements about modeling design approaches, 637 Glossary about model-level transformations, 644 Index about object-oriented design, 101 about UML profiles, 690-691 List of Figures
Chapter 20 - Using a Modeling Tool List of Tables List of Listings

< < Day Day Day Day Up Up > >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index
Q

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML qualified association specifications, and shows how to use UML to improve definition of, 188 timeliness, quality, and efficiency in development.

navigating,602 Companion Web Site notation for, 767,801 qualifier


<?xmldefinition version="1.0" encoding="ISO-8859-1"?> of, 177 Table of Contents notation for, 177-179 UML UML Bible 2.0 changes to, 188 Preface
Part I - An Introduction to UML

query language, OCL, 590

question (?), or one operator, XML, 737 Chapter 1 mark - What Iszero UML?
Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 - UML Architecture - UML Diagrams and Extension Mechanisms < Day Day Up > - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index
R

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML range of values, in multiplicity, 126-127 specifications, and shows how to use UML to improve timeliness, quality, Rational Rose tool (IBM), 663, 758 and efficiency in development. Companion Web Site Rational Unified Process. SeeRUP

read actions, 650-651


<?xml encoding="ISO-8859-1"?> Realversion="1.0" data type, 615-617 Table of Contents

realization connectors and ports for, 551-556 Preface definition of, 95,547,567,569 Part I - An Introduction to UML modeling, 547-549 Chapter 1 - What Is UML? notation for, 793, 828,834
UML Bible Chapter 2 Chapter 3 - UML Architecture

realization compartment, subsystem, 520-521

- UML Diagrams and Extension Mechanisms

realization stereotype, 520-521, 548,839 Chapter 4 - Object-Oriented Concepts


Part II - Modeling Object Structure realize stereotype, 841

Chapter 5 -stereotype, Capturing Rules realizes 521 about Objects in a Class Diagram Chapter 6 Chapter 7

receive signal, 376-377,782,823


- Testing with Objects

- How to Capture Rules about Object Relationships

receiver object, 61 Part III - Modeling Object Interactions


Chapter 8 - See Modeling Interactions in UML 1.4 rectangles. alsosquares Chapter 9 - Modeling Interactions in UML 2.0 at association end, indicating qualifier, 178

dashed Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 structured activity, 496 in UML 2.0 Chapter indicating 11 - Modeling an Object's Lifecycle indicating 285 Part IV Modelingsuspension, Object Behavior template parameters, 158 Chapter indicating 12 - Modeling the Use of a System with the Use Case Diagram with13 folded corner, indicating comments, 181 Chapter - Modeling Behavior Using an Activity Diagram folder tab, indicating package, 512 Part with V - Modeling the Application Architecture icons Chapter 14in - Modeling the Application Architecture boundary icon, 699 component icon, 56,540,546 Chapter 16 - Using Deployment Diagrams in UML 1.4 composite icon, 349 Chapter 17 - Representing an Architecture in UML 2.0 control icon, 114-115,699 Part VI - Bringing Rigor to the Model entity icon, 114-115,699,701 Chapter 18 - Applying Constraints to the UML Diagrams file icon, indicating artifact, 578 Chapter 19 - Action Semantics fork icon, indicating subsystem, 519 Part VII - Automating the UML Modeling Process triangle icon, indicating model, 522 Chapter 20 - Using a Modeling Tool or focus of control, 284 on lifeline, indicating activation Chapter 21 - Customizing UML Using Profiles overlapping, indicating recursion, 262 Chapter 22 - XML Metadata Interchange rounded Appendix A - UML 1.4 Notation indicating activity, 453 Guide Appendix B - UML 2.0 Notation Guide indicating state, 326,368 Appendix C - Standard Elements indicating state invariant, 286-288 indicating structured activity, 496 Glossary with thick border, indicating active object, 268 Index three-dimensional, indicating nodes, 575-576 List of Figures on timeline, indicating activation or focus of control, 261,284 List of Tables two, connected, indicating composite state, 349 List of Listings
Chapter 15 - Modeling Software Using the Component Diagram

two, overlapping element rectangle, indicating component, 540,546 < Day Day Up > RedefinableElement class, 118-119 {redefined} property, 189
UML Bible reduce action, 653

ref operator, 297by Tom Pender

ISBN:0764526049

Refactoring-Improving the Design of Existing Code (Fowler), 101 referenced class,timeliness, 113 quality, and efficiency in development. referenced state machine, 351 Companion Web Site refine stereotype, 839 refinement <?xml version="1.0" encoding="ISO-8859-1"?> abstraction through, 213-215 Table of Contents of, 13 UML definition Bible dependency,839 Preface
Part I - An Introduction to UML refinement stereotype, 15,215

John Wiley & Sons 2003 (940 pages)

For beginning to advanced users, this book provides specifications, and shows how to use UML to improve

comprehensive coverage of the versatility of 1.4 and 2.0 UML reference attribute, 131

Chapter 1 association - What Is UML? reflexive Chapter 2 - UML Architecture definition of, 182 Chapter 3 - UML Diagrams notation for, 765, 799 and Extension Mechanisms Chapter 4 Chapter 5
Part II - Modeling Object Structure

- Object-Oriented Concepts region (critical region) interaction operator, 302

region, in composite state - Capturing Rules about Objects in a Class Diagram definition of, 351,377 Chapter 6 - How to Capture Rules about Object Relationships entering and exiting, 383-387 Chapter 7 - Testing with Objects modeling, 378-379
Part III - Modeling Object Interactions

reject() 606,632,633 Chapter 8 - operation, Modeling Interactions in UML 1.4


Chapter 9 - Modeling Interactions in UML 2.0 relationship

associations Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 actors and use cases, 407, Chapter between 11 - Modeling an Object's Lifecycle in 416-417 UML 2.0 aggregation, 87-89, 165,194-197 Part IV Modeling Object Behavior 167-168 Chapter binary, 12 - Modeling the Use of a System with the Use Case Diagram 180,187 Chapter changeability 13 - Modeling of, Behavior Using an Activity Diagram paths, 575-576 Part V - communication Modeling the Application Architecture to generalization, 201-202 Chapter compared 14 - Modeling the Application 91, Architecture composition, 89-90,165-166,197-200 constraints between, 180-181,766,800 Chapter 16 - Using Deployment Diagrams in UML 1.4 constraints on objects in, 175-177 Chapter 17 - Representing an Architecture in UML 2.0 coupling and, 99 Part VI - Bringing Rigor to the Model definition of, 86-87,165-167,228,560 Chapter 18 - Applying Constraints to the UML Diagrams derived,182-183,767,801 Chapter 19 - Action Semantics direction of, 168-169 Part VII - Automating the UML Modeling Process interface required for, 172,183 Chapter modeling, 20 - Using a Modeling Tool 168-180 Chapter multiplicity 21 - Customizing UML Using Profiles of, 126-130, 173-174, 186-187 Chapter naming, 22 - XML Metadata Interchange 168-170 Appendix A - UML 1.4 Notation Guide n-ary (between more than two classes), 193-194,768,802 Appendix B - UML 2.0 Notation Guide navigability of, 179-180, 189-190,766,800 Appendix C - Standard Elements navigating, 599-602 between nodes, 560-563 Glossary Index notation for, 765-769, 799-802 ordering for multiple objects in, 174-175,188 List of Figures qualified,767,801 List of Tables qualifiers for objects in, 177-179 List of Listings
Chapter 15 - Modeling Software Using the Component Diagram

reflexive, 182,765 < Day Day Up > roles of objects in, 171-172,188 stereotypes for, 563 UML 2.0 definitions for, 183-190 visibility of UML rolesBible in, 172 ISBN:0764526049 by Tom Pender definition of, 165 dependency John Wiley & Sons 2003 (940 pages) between artifacts and nodes (deployment), 579-582 For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML between components, 55-56, 536,542-543, 547 specifications, and shows how to use UML to improve on creation of classifier instance, 836, 838 timeliness, quality, and efficiency in development. definition of, 166,213 Companion on derived elements, 837 Web Site between nodes (manifestation), 578 notation for, 213-215,770-771,804-805 <?xml version="1.0" encoding="ISO-8859-1"?> operations, 836 Table of between Contents between packages, 50-51,514-517 UML Bible refinement,839 Preface on sending a signal, 839 Part I - An Introduction to UML stereotypes for, 215-216,836-840 Chapter 1 - What Is UML? on trace relationship between elements, 840 Chapter 2 - UML Architecture types of, 213,216 Chapter 3 - UML Diagrams and Extension Mechanisms UML 2.0 notation for, 216-217 Chapter 4 - Object-Oriented Concepts generalization Part II - Modeling Object Structure of actors in use cases, 408,411-412 Chapter compared 5 - Capturing Rules about Objects in a Class Diagram to association, 91, 201-202 Chapter constraints 6 - How tofor, Capture Rules about Object Relationships 208-209,211-213 Chapter definition 7 - Testing with Objects of, 90-94,166,200-201 Part III discriminators - Modeling Object Interactions and, 206-207,211 Chapter multiple, 8 - Modeling Interactions in UML 1.4 207-208 Chapter of 9 nodes, - Modeling 576 Interactions in UML 2.0 for, 202-209, 211-213, 769-770, 803-804, 824 Chapter notation 10 - Modeling an Object's Lifecycle in UML 1.4 and, 94-95Lifecycle in UML 2.0 Chapter polymorphism 11 - Modeling an Object's powertypes and, 205-206, Part IV Modeling Object Behavior 211 protected visibility within, 121, 124-126 Chapter 12 - Modeling the Use of a System with the Use Case Diagram separate target style of notation, 203 Diagram Chapter 13 - Modeling Behavior Using an Activity target style of notation, 203-204 Part V - shared Modeling the Application Architecture UML 2.0 definitions for, 210-213 Chapter 14 - Modeling the Application Architecture of use cases, 408 Chapter 15 - Modeling Software Using the Component Diagram reports16 generated by modeling tools, 673-674, 682 Chapter - Using Deployment Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0 repository
Part audit VI - Bringing Rigor trails for, 672 to the Model

Chapter 18 - management Applying Constraints to the UML Diagrams change for, 672 Chapter 19 - Action Semantics definition of, 107, 667-668
Part importing VII - Automating the UML Modeling and exporting from, 676 Process

modeling toolsawith multiuser Chapter 20 - Using Modeling Tool repository, 663 MOF requirements for, 20 Chapter 21 - Customizing UML Using Profiles requirements for, 681 Interchange Chapter 22 - XML Metadata scalability of, 1.4 671Notation Guide Appendix A - UML
Appendix - UML 2.0 Notation Guide requiredBinterface

for components, Appendix C - Standard549 Elements definition of, 162,235-236 Glossary notation for, 162-163 Index for subsystems, 520 List of Figures
List of Tables requirement stereotype, 841 List of Listings management tools, 675 requirements

reside stereotype, 543-544 resident class, 788

< Day Day Up >

resources UML Bible associations between, 165 ISBN:0764526049 by Tom Pender classes modeling, 52-53, 107-108 Wiley & Sons 2003 (940 pages) collaborationsJohn modeling, 54-55, 234 modeling in use 414-415 Forcases, beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML responsibility stereotype, 839
specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. result() operation, 609,613 Companion Web Site return-result definition of, 148 notation for, 148-149,154

<?xml version="1.0" encoding="ISO-8859-1"?> reuse Table of Contents

diagram and, 63 UML Communication Bible encapsulation and, 236 Preface of UML 2.0, 38-39 Part as I - goal An Introduction to UML of interactions, 64, 295-296 Chapter 1 - What Is UML?
Chapter 2

model library and, 838 - UML Architecture Sequence diagram and, 277 Chapter 3 - UML Diagrams and Extension Mechanisms of state machines, 377 Chapter 4 - Object-Oriented Concepts of use cases, 418
Part II - Modeling Object Structure

Revision Force, Rules SeeRTF Chapter 5 Task - Capturing about Objects in a Class Diagram
Chapter 6 -tool How to Capture Rules about Object Relationships Rhapsody (I-Logix), 663 Chapter role 7 - Testing with Objects
Part of III - Modeling Object Interactions actors in use cases, 409-410

Chapter 8 - Modeling Interactions in associations, 171-174, 188 in UML 1.4 Chapter 9 - Modeling Interactions in UML 2.0 in collaborations, 237-239 Chapter 10 Modeling an Object's Lifecycle in UML 1.4 round() operation, 616 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

RTF (Revision Task Force), 8

Rumbaugh, James the Use of a System with the Use Case Diagram Chapter 12 - Modeling OMT Chapter 13developer, - Modeling6-7 Behavior Using an Activity Diagram diagram developer, 61 Part Sequence V - Modeling the Application Architecture
Chapter 14 - Modeling the Application Architecture runtime environment, modeling, 563-565 Chapter 15 - Modeling Software Using the Component Diagram RUP (Rational Unified Process) Chapter 16 - Using Deployment analysis model, 524-528 Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0 definition of, 523
Part design VI - Bringing Rigor to the Model model, 528-530

Chapter 18 - Applying Constraints implementation model, 530 to the UML Diagrams Chapter 19 -hierarchy, Action Semantics overall 531-532
Part testing VII - Automating the UML Modeling Process model, 531

Chapter - Using a Modeling use20 case model, 523-524Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

Index
S

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML scenario.See also Sequence diagram specifications, and shows how to use UML to improve applying to test cases, 443 timeliness, quality, and efficiency in development.

definition of, 432-433 finding,434-435 Companion Web Site modeling with Activity diagram, 434-442 with Sequence diagram, 247,432 <?xmlmodeling version="1.0" encoding="ISO-8859-1"?> as of use case approach, 400,405-406 Table ofpart Contents to use, 433-434 UML reasons Bible
Preface Schedulability, Performance, and Time, UML Profile for, 690,712-714
Part I - An Introduction to UML

Chapter 1 Chapter 2

ScopeKind data type, 32

script library icon, 721 - UML Architecture

- What Is UML?

script 839 and Extension Mechanisms Chapter 3 stereotype, - UML Diagrams


Chapter 4 - Object-Oriented Concepts SDL (Specification and Description Language), 6
Part II - Modeling Object Structure

Chapter 5 Chapter 6

security with modeling tools, 671-672 select() operation, 606,632,633

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

self stereotype, Chapter 7 - Testing841 with Objects


Part - Modeling Object Interactions selfIII transition

Chapter 8 - Modeling Interactions in UML 1.4 definition of, 337-338, 372 Chapter 9 - Modeling Interactions in UML 2.0 notation for, 337,778, 818 Chapter 10 - Modeling an Object's Lifecycle self-reference message, 254-255, 807 in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

send event, 338

send signal, 376-377, 782, 823 Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling216, Behavior send stereotype, 839 Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram

sender object, 61

seq (weak sequence) interaction operator, 301

Sequence Chapter 16 - Using Deployment Diagrams in UML 1.4 definition of, 605 Chapter 17 - Representing an Architecture in UML 2.0 expressions for, 633 Part iterator VI - Bringing Rigor to the Model operations for, 626-629 Chapter 18 - Applying Constraints to the UML Diagrams Sequence Chapter 19 -diagram Action Semantics in, 240, 304-306 Part collaboration VII - Automating the UML Modeling Process compared to Collaboration diagram, 269-270 Chapter 20 - Using a Modeling Tool compared to Statechart diagram, 325 Chapter 21 - Customizing UML Using Profiles definition of, 37, 664 Interchange Chapter 22 - XML Metadata deriving diagram from, 324,343-348 Appendix A - Statechart UML 1.4 Notation Guide integrating with Class diagram, 270-271 notation for, 773-775,807-813 Appendix C - Standard Elements for RUP design model, 530 Glossary UML 1.4 compared to UML 2.0, 45 Index UML 1.4 features of List of Figures activation shown in, 261 List of Tables asynchronous messages in, 255-256 List of Listings branching in, 260
Appendix B - UML 2.0 Notation Guide

comments in, 257 < Day Day Up > conditions in, 259-260 example,264-265 focus of control shown in, 261 UML Bible iterations in, 258-259 ISBN:0764526049 Pender messagesby in,Tom 249-253 John and Wiley & Sons 2003 (940 pages) object creation destruction, 262-264 object lifelines in, 248-249 For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML purpose of, 246-248 specifications, recursion in, 261-262 and shows how to use UML to improve timeliness, quality, and efficiency in development. self-reference messages in, 254-255 Companion Web synchronous messages in, 254Site timed messages in, 257-258 UML 2.0 features of <?xml version="1.0" encoding="ISO-8859-1"?> Table of combined Contents fragments in, 298-304 focus of control shown in, 284 UML Bible frames in, 278-279 Preface interaction occurrences in, 295-298 Part I - An Introduction to UML messages in, 288-295 Chapter 1 - What Is UML? new features, 277-278 Chapter 2 - UML Architecture object activation and suspension, 284-286 Chapter 3 - UML Diagrams and Extension Mechanisms object destruction, 283-284 Chapter object 4 - Object-Oriented Concepts lifelines in, 279-288 Part II - Modeling Object Structure part decomposition in, 281-283 Chapter state 5 - Capturing Rules about Objects in a Class Diagram invariant in, 286-288 Chapter 6 How to Capture Rules about Object use case scenarios modeled with, 247, 432Relationships Chapter 7 Testing with Objects uses of, 61-62
Part III - Modeling Object Interactions

Chapter 8

{sequence} property, 189

server page icon, 717 Chapter 9 - Modeling Interactions in UML 2.0 service10 port, 236-237an Object's Lifecycle in UML 1.4 Chapter - Modeling Chapter 11 stereotype, - Modeling an Object's Lifecycle in UML 2.0 service 839
Part IV - Modeling Object Behavior

- Modeling Interactions in UML 1.4

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

servlet icon, 721

Servlet stereotype, 579

Set V - Modeling the Application Architecture Part definition of, 605 the Application Architecture Chapter 14 - Modeling iterator for, 632 Chapter 15 -expressions Modeling Software Using the Component Diagram operations for,Deployment 621-623 Diagrams in UML 1.4 Chapter 16 - Using
Chapter 17 - Representing Architecture in UML 2.0 shallow history, 385,780,an 820
Part VI - Bringing Rigor to the Model

shapes in diagrams. Seearrows;circles;diamonds;icons;lines;ovals;rectangles;squares Shlaer-Mellor approach of modeling, 637

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

signal. alsomessage Part VIISee - Automating the UML Modeling Process definition of, 253 Chapter 20 - Using a Modeling Tool exception as, 253 UML Using Profiles Chapter 21 - Customizing
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

modeling, 376-377 notation for, 782,823

signal port, 236 2.0 Notation Guide Appendix B - UML


Appendix C - Standard Elements signalflow stereotype, 841 Glossary signature of operation Index definition of, 95,146 List of Figures 276 modeling, List of Tables List of Listings

size() operation, 618,620

slash (/) division operation, OCL, 615,617 division operator, OCL, 596 indicating derived association, 182-183 UMLattribute, Bible indicating derived 134 by Tom Pender separating event from action, 333 slot,225-226

< Day Day Up >

ISBN:0764526049

John Wiley & Sons 2003 (940 pages) For beginning to advanced users, this book provides

Slot class, 225-226 comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and showsFormat), how to use UML to improve SMIF (Stream-based Model Interchange 731
timeliness, quality, and efficiency in development.

software.See alsoCombined Deployment and Component diagram;Component diagram;modeling tools Companion Web Site artifacts as, 536,577-578, 579-582 for checking validity of XMI, 757-758 generation <?xmlcode version="1.0" encoding="ISO-8859-1"?> semantics enabling, 643-644 Table of action Contents from Class diagram, 106 UML Bible Preface MDA and, 677-679 modeling tools supporting, 676-677,683 Part I - An Introduction to UML with XMI, 677, 726, 728-729 Chapter 1 - What Is UML? modeling tools Chapter 2 - UML Architecture access control and security for, 671-672 Chapter 3 - UML Diagrams and Extension Mechanisms advantages of using, 661-662 Chapter 4 - Object-Oriented Concepts audit trails for, 672 Part II - Modeling Object Structure categories of, 663 Chapter 5 - Capturing Rules about Objects in a Class Diagram change management for, 672,681 Chapter 6 - How to Capture Rules about Object Relationships choosing, checklist for, 679-683 Chapter 7 - Testing with Objects code generation and reversal by, 676-677,683 Part III - Modeling Object Interactions documentation for, 683 Chapter extensibility 8 - Modeling in UML 1.4 of,Interactions 668-670,681 Chapter importing 9 - Modeling in UML 2.0 and Interactions exporting using XMI, 726-730,738-747,747-754 Chapter integration 10 - Modeling an Object's Lifecycle in UML 1.4 with third-party tools, 675-676, 680,682 Chapter MDA 11 - Modeling an Object's Lifecycle in UML 2.0 and, 677-679 Part IV Modeling Object Behavior navigation features, 665-667,681 Chapter printing 12 - Modeling the Use of a System with the Use Case Diagram support by, 682 Chapter reporting 13 - Modeling Behavior682 Using an Activity Diagram by, 673-674, Part V - repository Modeling the Architecture for Application models, 667-668, 681 engineering by, 677 Chapter round-trip 14 - Modeling the Application Architecture of, 671 Chapter scalability 15 - Modeling Software Using the Component Diagram models with, 670-672 Chapter sharing 16 - Using Deployment Diagrams in UML 1.4 support for, 683 Chapter technical 17 - Representing an Architecture in UML 2.0 UML diagram support, 663-665,680 Part VI Bringing Rigor to the Model for, 666,683 Chapter user 18 - interface Applying Constraints to the UML Diagrams VBA support by, 676 Chapter 19 - Action Semantics vendor's support for, 683 Part VII - Automating the UML Modeling Process Web publishing by, 674-675,682 Chapter 20 - Using a Modeling Tool XMI support, 757-758 Chapter 21 - Customizing UML Using Profiles programming language independence, 10,12 Chapter 22 - XML Metadata Interchange requirements management tools, 675 Appendix A - UML 1.4 Notation Guide structured programming support with Activity diagram, 450 Appendix B UML 675 2.0 Notation Guide testing tools,
Appendix C - Standard Elements Glossary

Software Development Processes, UML Profile for, 691,698-700

"Software-Platform-Independent, Precise Action Specifications for UML" (Mellor; Tockey; Arthaud; Index LeBlanc), 637 List of Figures sortedBy() operation, 631 List of Tables
List of Listings source stereotype, 579,839

spaces, in class names, 110

< Day Day Up >

specialization, 91,200-201.See alsogeneralization Specification and Description Language. SeeSDL


UML Bible subsystem, 520-521 specification compartment,

specification stereotype, 520,548,840

by Tom Pender John Wiley & Sons 2003 (940 pages)

ISBN:0764526049

specification-level state machine, 556 For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications. See alsopublications specifications, and shows how to use UML to improve action semantics specification, 636 timeliness, quality, and efficiency in development. CWM specifications, 21 Companion Web Site Diagram Interchange specification, 730,754-757 MDA (Model-Driven Architecture), 18 1.4, 27 encoding="ISO-8859-1"?> <?xmlUML version="1.0" UML 1.5 with Action Semantics specification, 588 Table of Contents UML 2.0, 117 UML Bible UML support of other specifications, 10 Preface XMI (XML Metadata Interchange), 729-730 Part I - An Introduction to UML square1 brackets Chapter - What ([]) Is UML? indicating context of association, 601 Chapter 2 - UML Architecture indicating message conditions, 259-260 Chapter 3 - UML Diagrams and Extension Mechanisms indicating multiplicity, 126 Chapter 4 - Object-Oriented Concepts number ofStructure parts in class, Part indicating II - Modeling Object 235 indicating qualifier for association, 602 Chapter 5 - Capturing Rules about Objects in a Class Diagram squares. also rectangles Chapter 6 See - How to Capture Rules about Object Relationships on edge of action, indicating Chapter 7 - Testing with Objects input or output pins, 477, 654-655 end of connectors, indicating ports, 235-236 Part at III - Modeling Object Interactions with8"T" indicating template class, Chapter - inside, Modeling Interactions in UML 1.4 593, 594, 612
Chapter 9 Elements, - Modeling 836-841 Interactions in UML 2.0 Standard Chapter 10 Modeling an Object's Lifecycle in UML Languages 1.4 Stan-Ober, Ileana ("Harmonisation of Modeling with Object-Oriented Extensions and Chapter 11 Modeling an Object's Lifecycle in UML 2.0 Executable Semantics"), 642
Part IV - Modeling Object Behavior

state.See alsoProtocol State Machine diagram;State Machine diagram;Statechart diagram;Timing diagram active,378 Chapter 13 - Modeling Behavior Using an Activity Diagram activities performed during, 325,335-336 Part V - Modeling the Application Architecture attributes applied during specific states, 326,366 Chapter 14 - Modeling the Application Architecture attributes storing information about, 130-131,325,366 Chapter 15 - Modeling Software Using the Component Diagram changes to, 324-325 Chapter 16 Using Deployment Diagrams in UML 1.4 composite Chapter compared 17 - Representing an Architecture in UML 2.0 to submachine state, 388 Part VI Bringing Rigor to the Model concurrent substates in, 351,357-360,780,821 Chapter definition 18 - Applying Constraints to the UML Diagrams of, 348-349, 367, 377-378 Chapter direct 19 - Action Semantics substates in, 377 Part VIIentering - Automating the UML Modeling Process and exiting, 383-387 Chapter mutually 20 - Using a Modeling Tool exclusive substates in, 350 for, 349 UML Using Profiles Chapter notation 21 - Customizing 378 Chapter orthogonal, 22 - XML Metadata Interchange regions in, 351, 377,378-379 Appendix A - UML 1.4 Notation Guide returning previous substate Appendix B - UML to 2.0 Notation Guide in, 357 submachine states in, 351-352 Appendix C - Standard Elements transitions in, 352-360, 379-387 Glossary transitively nested states in, 377 Index definition of, 79,325,366 List of Figures deriving from Sequence diagram, 343-348 List of Tables event response affected by, 329-330
Chapter 12 - Modeling the Use of a System with the Use Case Diagram List of Listings

extending to composite state, 369 < Day Day Up > final,327,374,777,817 inactive,378 initial, 326-327,374 UML Bible modeling, 366-369 ISBN:0764526049 by Tom Pender notation for, 286-288, 326-327,368 John Wiley & Sons 2003 (940 pages) oclInState property, 603-604 OclState property, 602-603 to advanced users, this book provides For beginning comprehensive coverage of the versatility of 1.4 and 2.0 UML in protocol state machine, 391 state list, 382 specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. submachine state, 351-352,367 Companion Web Site substate concurrent,351 definition of, 325,349-350 <?xml version="1.0" encoding="ISO-8859-1"?> substate, 377 Table of direct Contents mutually exclusive, 350 UML Bible returning to previous substate, 357 Preface transitions to and from, 352-355 Part I - An Introduction to UML superstate,325,349 Chapter 1 - What Is UML? transition between, 325,372 Chapter 2 - UML Architecture UML 2.0 definitions for, 364-365
Chapter 3 Chapter 4

state attributes, 326 - Object-Oriented Concepts

- UML Diagrams and Extension Mechanisms

state Part II invariant - Modeling Object Structure modeling, 286-288Rules about Objects in a Class Diagram Chapter 5 - Capturing notation for, 808 Chapter 6 - How to Capture Rules about Object Relationships
Chapter 7 - Testing with Objects state machine
Part definition III - Modeling Object Interactions of, 34, 363,365-366

Chapter 8 - Modeling Interactions UML 1.4 392-393 implementing a protocol statein machine,

specification-level, 556 Chapter 9 - Modeling Interactions in UML 2.0


Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 State Machine diagram. See also Statechart diagram Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 collaboration in, 240
Part compared IV - Modeling Object Behavior to Activity diagram,

363,448

Chapter 12 - Modeling Use of a System with the Use Case Diagram composite states the in, 377-387 Chapter 13 - Modeling Behavior Using an Activity Diagram definition of, 365-366, 387,665
Part notation V - Modeling the Application Architecture for, 817-824

ports 371-372 the Application Architecture Chapter 14in, - Modeling signals 376-377 Chapter 15 -in, Modeling Software Using the Component Diagram states 366-369, 374 Chapter 16 in, - Using Deployment Diagrams in UML 1.4 submachine states in,an 387-389 Chapter 17 - Representing Architecture in UML 2.0 in, Rigor 372-373, 374-376 Part transitions VI - Bringing to the Model triggers 369-372 Chapter 18 - in, Applying Constraints to the UML Diagrams UML 1.4 compared to UML 2.0, 44 uses of, 66-67 Part VII - Automating the UML Modeling Process
Chapter 19 - Action Semantics

state timeline, 316-318 Chapter 20 - Using a Modeling Tool


Chapter 21 - Customizing UML Using Profiles state transition Chapter 22 -in, XML Metadata Interchange actions 375-376 Appendix A - UML Notation Guide branching in, 1.4 339-341, 381-382

completion transition, 374-375, Appendix B - UML 2.0 Notation Guide 386, 823 in composite states, 352-360,379-387 Appendix C - Standard Elements compound, 339-342 Glossary in concurrent substates, 357-360 Index constraints List of Figures for, 373
List of Tables List of Listings

definition of, 325,372 forking,379-380

guard condition for < Day Day Up > in Activity diagram, 453-454,785,827 in State Machine diagram, 370-371,373,817 in Statechart diagram, 777 UML Bible internal,325,333-337, 368 ISBN:0764526049 by Tom Pender joining,380-381 John Wiley & Sons 2003 (940 pages) modeling, 328-333, 370-376 notation for For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML in Activity diagram, 453,827 specifications, and shows how to use UML to improve in State Machine diagram, 370-371, 817-818, 823-824 timeliness, quality, and efficiency in development. in Statechart diagram, 328,777-778 Companion Web Site in protocol state machine, 391-392 relationship to event, 328 self transition, 337-338,372,778,818 <?xml version="1.0" encoding="ISO-8859-1"?> signals sent and received during, 376-377 Table of Contents in stub states, 356 UML Bible in substates, 352-355
Preface

Statechart diagram. See alsoState Part I - An Introduction to UML

Machine diagram compared to Sequence diagram, 325 Chapter 1 - What Is UML? composite state containing, 349, 377 Chapter 2 - UML Architecture definition of, 37, 323-325, 664 Chapter 3 - UML Diagrams and Extension Mechanisms deriving from Sequence diagram, 324,343-348 Chapter 4 - Object-Oriented Concepts events in, 327-333, 337 Part II - Modeling Object Structure internal transitions in, 333-337 Chapter 5 - Capturing Rules about Objects in a Class Diagram notation for, 777-783 Chapter 6 - How to Capture Rules about Object Relationships split and merge of control in, 358,781 Chapter 7 - Testing with Objects states in, 326-327 Part III - Modeling Object Interactions synch states in, 358-359 Chapter 8 - Modeling Interactions in UML 1.4 transitions in, 328-333,337-342 Chapter 9 1.4 - Modeling Interactions in UML 2.0 UML compared to UML 2.0, 44,246 Chapter 10to - use, Modeling when 324 an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

stateInvariant stereotype, 841

static branch point, 340, Chapter 12 - Modeling the 778, Use 819 of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram static (class-level) attribute
Part definition V - Modeling the Application Architecture of, 141

notation for, 141,143 Chapter 14 - Modeling the Application Architecture


Chapter 15 - Modeling Software Using the Component Diagram static (class-level) operation Chapter 16 - Using Deployment Diagrams in UML 1.4 definition of, 149 Chapter 17 - Representing notation for, 150,155 an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

static view diagrams, 36-37

stereotype.See also specific stereotypes for artifacts, 579 for associations, 563 Part VII - Automating the UML Modeling Process for components, 540-541 Chapter 20 - Using a Modeling Tool for control elements, 113-115 Chapter 21 - Customizing UML Using Profiles defined within UML, 70 Chapter 22 - XML Metadata Interchange definition of, 12-13,68-70,113 Appendix A - UML 1.4 Notation Guide for dependencies, 215-216, 836-840 Appendix B UML 2.0 Notation Guide for entity elements, 113-115 Appendix C - Standard Elements for enumerations, 116 Glossary for execution environments, 573 Index icons for, 689-690 List of Figures list of, 836-841 modeling List of Tables tools extending, 668 for node associations, 563 List of Listings

for nodes, 572-573 < Day Day Up > notation for, 69,113,115 for objects, 223 obsolete,841 UML Bible for operations, 144-145 ISBN:0764526049 Tom Pender for packages,by 512 John Wiley & Sons 2003 (940 pages) in profiles, 688 profiles providing, 72 For beginning to advanced users, this book provides comprehensive coverage in user-defined compartments, 157 of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve for utility classes, 115
timeliness, quality, and efficiency in development. Companion Web Site

stereotype class. Seeauxiliary class stereotype stereotype, 695

Stereotype metaclass, 693,695-696


<?xml version="1.0" encoding="ISO-8859-1"?> stimulus, 249,252-253.See alsomessage Table of Contents UML Bible stop icon, 320 Preface

Part I - An Introduction to UML

Stream-based Model Interchange Format. SeeSMIF

streaming, 491-492 Chapter 1 What Is UML? strict (strict interaction operator, 302 Chapter 2 - sequence) UML Architecture
Chapter 3 - type, UML Diagrams and Extension Mechanisms String data 32,618-619 Chapter 4

structural diagrams. See alsoClass diagram Combined Deployment and Component diagram Chapter 5 - Capturing Rules about Objects in a Class Diagram notation for, 790,830-831 Chapter UML 6 - How to Capture about Object Relationships 1.4 features of, Rules 563-565 Chapter UML 7 - Testing with Objects 2.0 features of, 569-570 Part III uses - Modeling Object Interactions of, 57-58 Chapter 8 Modeling Interactions in UML 1.4 Component diagram Chapter definition 9 - Modeling Interactions in UML 2.0 of, 36, 535-536,664 Chapter notation 10 - Modeling an Object's for, 787-788, 828Lifecycle in UML 1.4 Chapter for 11 RUP - Modeling an Object'smodel, Lifecycle in UML 2.0 implementation 530 Part IV Modeling Object Behavior UML 1.4 compared to UML 2.0, 537-539,568-569 1.4 features 539-543 Chapter UML 12 - Modeling the of, Use of a System with the Use Case Diagram 2.0 features of, 545-556 Chapter UML 13 - Modeling Behavior Using an Activity Diagram of, 55-56, 535-536,537 Part V - uses Modeling the Application Architecture Composite Structure diagram Architecture Chapter 14 - Modeling the Application in, 235 Chapter classes 15 - Modeling Software Using the Component Diagram collaboration in, 237-239, 304 in UML 1.4 Chapter 16 - Using Deployment Diagrams collaboration occurrence in, 239-241 Chapter 17 - Representing an Architecture in UML 2.0 connectors in, 235-237 Part VI - Bringing Rigor to the Model definition of, 221-222,234,665 Chapter 18 - Applying Constraints to the UML Diagrams notation for, 803 Chapter 19 - Action Semantics ports in, 235-237 Part VII - Automating the UML Modeling Process UML 1.4 compared to UML 2.0, 45 Chapter 20 - Using a Modeling Tool uses of, 54-55 Chapter 21 - Customizing UML Using Profiles Deployment diagram Chapter notation 22 - XML Metadata for, 829 Interchange Appendix A UML 1.4 Notation Guide for RUP design model, 528 Appendix B UML 2.0 Notation Guide for RUP implementation model, 530 Appendix C - Standard Elements UML 1.4 compared to UML 2.0, 569 Glossary UML 1.4 features of, 560-565 Index UML 2.0 features of, 567, 570-582 uses of, 57,537,559-560,568-569 List of Figures list of, 51-58 List of Tables Object diagram List of Listings
Part II - Modeling Object Structure

- Object-Oriented Concepts

attribute compartment, 223-224 < Day Day Up > compared to Class diagram, 226-228 definition of, 36,221,664 drawing in modeling tool, 664,665 UML Bible 223-224 name compartment, ISBN:0764526049 by771-772, Tom Pender notation for, 805-806 John Wiley &with, Sons 2003 (940 pages) testing Class diagram 228-234 UML 1.4 compared to UML 2.0, 44,665 For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML uses of, 53-54 structural feature. Seeattribute; slot and efficiency in development. timeliness, quality, structural view diagrams. Seestatic view diagrams Companion Web Site StructuralFeature class, 186 Structure elements, Superstructure library, 43 <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents StructureClassifiers class, 571-572
UML Bible Preface specifications, and shows how to use UML to improve

structured activity expansion regions for, 496-499 Part I - An Introduction to UML loop nodes for, 501-505 Chapter 1 - What Is UML? notation for, 495-496
Chapter 2 Chapter 3

structured activity nodes - UML Diagrams and Extension Mechanisms conditional,499-501 Chapter 4 - Object-Oriented Concepts modeling, 495-496
Part II - Modeling Object Structure

- UML Architecture

StructuredActivities level, 450 Chapter 5 - Capturing Rules about Objects in a Class Diagram
Chapter 6 - How to Capture Rules about Object Relationships StructuredActivities package

conditional nodes, 499-501 Chapter 7 - Testing with Objects regions and expansion Part expansion III - Modeling Object Interactions nodes, 496-499 list of in, Interactions 467,494 Chapter 8 features - Modeling in UML 1.4 loop 501-505 Chapter 9 nodes, - Modeling Interactions in UML 2.0 structured activity an nodes, 495-496 Chapter 10 - Modeling Object's Lifecycle in UML 1.4
Chapter 11 - Modeling node, an Object's Lifecycle in UML 2.0 StructuredClassifier 571-572
Part IV - Modeling Object Behavior

StructuredCompleteActivities level, 450 StructuredFeature class, 143

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

stub Part V states - Modeling the Application Architecture definition of, 351 the Application Architecture Chapter 14 - Modeling notation for, 352,781, 822 Using the Component Diagram Chapter 15 - Modeling Software
Chapter 16 - Using Deployment Diagrams in UML 1.4

transitions to and from, 356

stub 17 stereotype, 841 an Architecture in UML 2.0 Chapter - Representing


Part VI - Bringing to the Model subactivity state, Rigor 448,449

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

SubactivityState class, 448

subclass Part VII - Automating the UML Modeling Process definition of, 92,202-203 discriminator for, 206-207 Chapter 21 - Customizing UML Using Profiles powertype for, 205-206
Chapter 20 - Using a Modeling Tool Chapter 22 - XML Metadata Interchange

submachine, 3871.4 Notation Guide Appendix A - UML


Appendix B - UML 2.0 Notation Guide submachine state

compared to composite state, 388 Appendix C - Standard Elements definition of, 366,367,388 Glossary modeling, 351-352,387-389 Index notation List of Figuresfor, 781, 822
List of Tables 406, 518 subpackage, List of Listings subSequence () operation, 628

{subsets} property, 189 subsettedProperties attribute, 144

< Day Day Up >

substate UML Bible 780, 821 concurrent,351, 357-360, ISBN:0764526049 by Tom Pender definition of, 325, 349-350 John Wiley & Sons 2003 (940 pages) direct substate, 377 mutually exclusive, 350 For beginning to advanced users, this book provides comprehensive coverage returning to previous substate, 357 of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve transitions to and from, 352-355
timeliness, quality, and efficiency in development. Companion Web Site

substitution dependency, 216-217 substring() operation, 618

substitution stereotype, 216-217

<?xml version="1.0" encoding="ISO-8859-1"?> subsystem Table of Contents

in, 520-521 UML compartments Bible definition of, 519 Preface in a model, Part grouping I - An Introduction to 521-522 UML interfaces for, Is 520, 793 Chapter 1 - What UML?
Chapter 2

notation for, 519-520,793,833-834 - UML Architecture

subsystem stereotype, Chapter 3 - UML Diagrams 519, and 840 Extension Mechanisms
Chapter 4 - operation Object-Oriented Concepts subtraction (-()), OCL, 615,617,622
Part II - Modeling Object Structure

Chapter 5 Chapter 6

subtraction operator (-), OCL, 596 sum() operation, 621

- Capturing Rules about Objects in a Class Diagram

- How to Capture Rules about Object Relationships Suny,7 Gerson (Using UML Action Semantics for Executable Modeling and Beyond ),644 Chapter - Testing with Objects
Part III - Modeling Object Interactions superclass

Chapter 8 - Modeling Interactions in UML 1.4 definition of, 92,202-203 Chapter 9 - Modeling Interactions in UML 2.0 discriminator for, 206-207 Chapter 10 - 325, Modeling an Object's Lifecyclestate in UML 1.4 superstate, 349.See alsocomposite Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Superstructure library, 38,43-44,117,118

Supplemental elements, Superstructure library, 44 Chapter 12 - Modeling the Use of a System with the43, Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram supplier, 14
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture definition of, 479-480 Chapter 15 - Modeling Software Using the Component Diagram modeling, 480-484 Chapter 16 - Using Deployment Diagrams in UML 1.4 notation for, 786 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

swimlane (activity partition)

symmetricDifference() operation, 622-623

synch state Chapter 18 - Applying Constraints to the UML Diagrams definition of, 358 notation for, 359,782,822 Part VII - Automating the UML Modeling Process
Chapter 19 - Action Semantics

synchronization bar, 358,456-457 Chapter 20 - Using a Modeling Tool


Chapter 21 - Customizing synchronous invocation,UML 653 Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Glossary systemModel stereotype, 840 Index List of Figures List of Tables List of Listings

synchronous message, 254,290-292

System Architect tool (Popkin Software), 663,758

system, C public visibility within, 121,123-124 Appendix - Standard Elements

< Day Day Up >

< Day Day Up >

Index
T

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML "T", indicating template class, 593,594,612 specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. table stereotype, 541,841

tag definition 70

Companion Web Site

tagged value. See alsoproperty of, 13, 70 <?xmldefinition version="1.0" encoding="ISO-8859-1"?> modeling tools extending, 668 Table of Contents for, 70,763 UML notation Bible in profiles, 689 Preface transferring with XMI, 745-747,751-754 Part I - An Introduction to UML
Chapter 1 - What target icon, 719 Is UML? Chapter 2 UML Architecture Telelogic, UMLTau tool, 663 Chapter 3 Chapter 4 - UML Diagrams and Extension Mechanisms

template class - Object-Oriented Concepts definition of, 594 Part II - Modeling Object Structure modeling, 158-159 Chapter 5 - Capturing Rules about Objects in a Class Diagram notation for, 763-764,798
Chapter 6 Chapter 7

terminate pseudo state, 382-383


- Testing with Objects

- How to Capture Rules about Object Relationships

TestIdentityAction, 651 Interactions Part III - Modeling Object


Chapter - Modeling Interactions in UML 1.4 testing 8 model, for RUP method, 531 Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 - Modeling Interactions in UML 2.0 thread stereotype, 841

threads,13.See alsoconcurrency

"three amigos". See Booch, Grady;Jacobson, Part IV Modeling Object Behavior

Ivar;Rumbaugh, James

Chapter 12 - Modeling the Use visibility, of a System tilde (~), indicating package 121with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

time constraints definition of, 257 Chapter 14 - Modeling the Application Architecture notation for, 258,775, 811
Part V - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4

time event. Seeelapsed-time event

timed message, 257-258an Architecture in UML 2.0 Chapter 17 - Representing


Part VI - Bringing Rigor to the Model TimeExpression data type, 32

Chapter 18 - Applying Constraints to the UML Diagrams timeline. See alsolifeline; object lifeline Chapter 19 - value Actiontimeline, Semantics general 319-320
Part state VII - Automating the UML Modeling Process timeline, 316-318

Chapter 20 - Using a Modeling Tool

Timing diagram definition of, 315-316,665 Chapter 22 - XML Metadata Interchange general value timeline, 319-320 Appendix A - in, UML 1.4 Notation Guide lifelines 316, 318-319 Appendix B UML 2.0 Notation Guide notation for, 816-817 Appendix C Standard Elements state timeline, 316-318 Glossary UML 1.4 compared to UML 2.0, 45 Index uses of, 65-66
List of Figures tool (Borland), 663 TogetherSoft List of Tables List of Listings

Chapter 21 - Customizing UML Using Profiles

toInteger() operation, 618

topLevel stereotype, 841 toReal() operation, 619 trace stereotype, 15,215,840


UML Bible traceability, 410-411 by Tom Pender transient stereotype, 267-268

< Day Day Up >

ISBN:0764526049

transition For beginning to advanced users, this book provides actions in, 375-376 comprehensive coverage of the versatility of 1.4 and 2.0 UML branching in, 339-341, 381-382 specifications, and shows how to use UML to improve timeliness, quality,386, and823 efficiency in development. completion transition, 374-375, in composite states, 352-360, 379-387 Companion Web Site compound, 339-342 in concurrent substates, 357-360 <?xmlconstraints version="1.0" for, encoding="ISO-8859-1"?> 373 Table of Contents definition of, 325,372 UML forking, Bible 379-380 Preface guard condition for Part I - An Introduction to UML in Activity diagram, 453-454,785,827 Chapter in 1 State - What Is UML? Machine diagram, 370-371,373,817 Chapter in 2 Statechart - UML Architecture diagram, 777 internal, Chapter 3 - 325, UML 333-337, Diagrams368 and Extension Mechanisms joining, 380-381 Chapter 4 Object-Oriented Concepts 328-333, 370-376 Part modeling, II - Modeling Object Structure notation for Chapter 5 - Capturing Rules about Objects in a Class Diagram 453, 827 Chapter in 6 Activity - How diagram, to Capture Rules about Object Relationships Machine Chapter in 7 State - Testing with diagram, Objects 370-371, 817-818, 823-824 Statechart diagram, 328,777-778 Part III in - Modeling Object Interactions in protocol state machine, 391-392 Chapter 8 - Modeling Interactions in UML 1.4 relationship to event, 328 Chapter 9 - Modeling Interactions in UML 2.0 self transition, 337-338,372,778,818 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 signals sent and received during, 376-377 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 in stub states, 356 Part IV - Modeling Object Behavior in substates, 352-355
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram

John Wiley & Sons 2003 (940 pages)

translational approach of modeling, 637

triangle. Seearrows Part V - Modeling the Application Architecture


Chapter 14 - Modeling the Application Architecture triangle icon, 522 Chapter 15 - Modeling Software Using the Component Diagram

trigger. See alsoevent definition of, 327,369 Chapter 17 - Representing modeling, 369-372 an Architecture in UML 2.0
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams

Trigger class, 364-365

tuples, 19 in OCL, 611 Chapter - Action Semantics


Part VII - Automating the UML Modeling Process type, 108. See alsodata types

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

type stereotype, 840

TypedElement class, 142,186

TypeExpression data type, 32 Appendix A - UML 1.4 Notation Guide


Appendix B UML 2.0 Notation Guide type-level Deployment diagram, 561-562,789,829 Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

Index
U

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides coverage of the versatility of 1.4 and 2.0 UML UML 1.4, unique comprehensive aspects of specifications, and shows how to use UML to improve Activity graph,timeliness, 33,34,45,450 quality, and efficiency in development.

architecture for, 27-35 Companion Web Site Behavioral Elements package, 33-34 Collaboration diagram active objects in, 268 <?xml version="1.0" encoding="ISO-8859-1"?> Table of compared Contents to Sequence diagram, 269-270 definition of, 37,265-266,664 UML Bible Preface integrating with Class diagram, 270-271 links in, 266-267 Part I - An Introduction to UML messages in,UML? 267-268 Chapter 1 - What Is in, 269 Chapter multi-objects 2 - UML Architecture notation for, 776 Chapter 3 - UML Diagrams and Extension Mechanisms objects in, 266-267 Chapter 4 - Object-Oriented Concepts for RUP design model, 530 Part II - Modeling Object Structure UML 1.4 compared to UML 2.0, 45,246 Chapter 5 - Capturing Rules about Objects in a Class Diagram uses of, 62-63 Chapter 6 - How to Capture Rules about Object Relationships comments,72 Chapter 7 - Testing with Objects Composite Object diagram, 44 Part III - Modeling Object Interactions diagrams, 36-38,664 Chapter 8 - Modeling Interactions in UML 1.4 Foundation package, 27,28-33 Chapter 9 Management - Modeling Interactions UML 2.0 Model package,in 35 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 OCL, 35 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Statechart diagram Part IV Modeling Object Behavior compared to Sequence diagram, 325 Chapter composite 12 - Modeling the Use of a System with the Use Case Diagram state containing, 349,377 Chapter definition 13 - Modeling Behavior Using of, 37, 323-325, 664 an Activity Diagram Part V - deriving Modeling the Application Architecture from Sequence diagram, 324,343-348 in, 327-333, 337 Chapter events 14 - Modeling the Application Architecture transitions in, 333-337 Chapter internal 15 - Modeling Software Using the Component Diagram for, 777-783 Diagrams in UML 1.4 Chapter notation 16 - Using Deployment merge of an control in, 358,in 781 Chapter split 17 - and Representing Architecture UML 2.0 states in, 326-327 Part VI Bringing Rigor to the Model states in, 358-359 to the UML Diagrams Chapter synch 18 - Applying Constraints transitions in, 328-333, 337-342 Chapter 19 - Action Semantics UML 1.4 compared to UML 2.0, 44,246 Part VII - Automating the UML Modeling Process when to use, 324
Chapter 20 - Using a Modeling Tool

UML 1.4 Action Semantics Chapter 21with - Customizing UML Using Profiles action designed using, 644 Chapter 22 languages - XML Metadata Interchange advantages 642 Appendix A - UMLof, 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide

code generation enabled by, 643-644 definition of, 14,35-36,635-636,645-648 Appendix C - Standard Elements example notation for, 654-657 Glossary history of, 8,636-638 Index language-independence of, 638 List of Figures languages used for, 638-639,640-641 List of Tables model-level transformations defined using, 644 List of Listings of, 636-639 necessity

OCL and, 639-640 as UML 1.5, 5,27 uses of, 639-641,643-644 UML 1.5, 5
UML Bible

< Day Day Up >

UML 2.0, unique by aspects of ISBN:0764526049 Tom Pender Activity diagram changes, John Wiley & 448-450 Sons 2003 (940 pages) aggregation definitions, 199-200 For beginning to advanced users, this book provides artifacts,567-568 comprehensive coverage of the versatility of 1.4 and 2.0 UML association definitions, 183-190 specifications, and shows how to use UML to improve timeliness, and efficiency in development. attribute definitions, 119,quality, 141-144 class definitions, 117-120 Companion Web Site collaboration occurrence, 239-241 Combined Deployment and Component diagram changes, 569-570 <?xmlCommunication version="1.0" encoding="ISO-8859-1"?> diagram Table of definition Contents of, 307,665 UML Bible guard condition in, 311 Preface iteration expression in, 309 Part I - An Introduction to UML modeling, 307-308 Chapter notation 1 - What Is814 UML? for, Chapter parallel 2 - UML Architecture execution in, 310 Chapter UML 3 - UML Diagrams and Extension Mechanisms 1.4 compared to UML 2.0, 45 of, 63-64 Chapter uses 4 - Object-Oriented Concepts definitions, 567-568 Part component II - Modeling Object Structure Component diagram changes, 545-556 Chapter 5 - Capturing Rules about Objects in a Class Diagram Composite Structure diagram Chapter 6 - How to Capture Rules about Object Relationships in, 235 Chapter classes 7 - Testing with Objects in, 237-239, 304 Part III collaboration - Modeling Object Interactions Chapter collaboration 8 - Modelingoccurrence Interactionsin, in 239-241 UML 1.4 connectors in, 235-237 Chapter 9 - Modeling Interactions in UML 2.0 definition of, 221-222,234,665 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 notation for, 803 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 ports in, 235-237 Part IV - Modeling Object Behavior UML 1.4 compared to UML 2.0, 45 Chapter 12 - Modeling the Use of a System with the Use Case Diagram uses of, 54-55 Chapter 13 - Modeling Behavior Using an Activity Diagram composition definitions, 199-200 Part V - Modeling the Application Architecture Core package, 40-42 Chapter 14 - Modeling the Application dependency definitions, 216-217Architecture Chapter 15 Modeling Software Using the Component Diagram diagrams, 44-45,665 Chapter 16 Using Deployment Diagrams generalization definitions, 210-213 in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0 Infrastructure library, 38, 40-43 Part Interaction VI - Bringing Rigor to the Model Overview diagram Chapter definition 18 - Applying Constraints to the UML Diagrams of, 312, 665 Chapter modeling, 19 - Action Semantics 312-315 Part VIInotation - Automating the UML Modeling Process for, 815-816 UML 1.4 compared to Tool UML 2.0, 45 Chapter 20 - Using a Modeling uses of, 64-65 Chapter 21 - Customizing UML Using Profiles interface definitions, 161-163 Chapter 22 - XML Metadata Interchange levels of compliance, 450Guide Appendix A - UML 1.4 Notation multiplicity definitions, 128-130 Appendix B - UML 2.0 Notation Guide node definitions, 570-574 Appendix C - Standard Elements notes,181 Glossary object definitions, 225-226 Index objectives of, 14-15 List of Figures OCL enhancements, 588-589 List of Tables operation definitions, 153-156
List of Listings

Profiles package, 43 < Day Day Up > Protocol State Machine diagram definition of, 390 modeling, 390-393 UML Bible notation for, 824 ISBN:0764526049 by Tom Pender uses of, 67-68, 390 John Wiley RFPs, Web sites for, 39 & Sons 2003 (940 pages) state definitions, For 364-365 beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML State Machine diagram specifications, and shows how to use UML to improve collaboration in, 240 timeliness, quality, and efficiency in development. compared to Activity diagram, 363,448 Companion Web Site composite states in, 377-387 definition of, 365-366,387,665 notation for, 817-824 <?xml version="1.0" encoding="ISO-8859-1"?> in, 371-372 Table of ports Contents signals in, 376-377 UML Bible states in, 366-369,374 Preface submachine states in, 387-389 Part I - An Introduction to UML transitions in, 372-373,374-376 Chapter 1 - What Is UML? triggers in, 369-372 Chapter 2 - UML Architecture UML 1.4 compared to UML 2.0, 44 Chapter 3 - UML Diagrams and Extension Mechanisms uses of, 66-67 Chapter 4 - Object-Oriented Concepts subsystem definition, 519 Part II - Modeling Object Structure Superstructure library, 38,43-44 Chapter 5 -diagram Capturing Rules about Objects in a Class Diagram Timing Chapter definition 6 - How of, to Capture Rules 315-316, 665 about Object Relationships Chapter general 7 - Testing with Objects value timeline, 319-320 Part III lifelines - Modeling Interactions in, Object 316,318-319 Chapter notation 8 - Modeling Interactions in UML 1.4 for, 816-817 Chapter state 9 - Modeling in UML 2.0 timeline, Interactions 316-318 1.4 compared to UML 2.0, 45 Chapter UML 10 - Modeling an Object's Lifecycle in UML 1.4 of, 65-66an Object's Lifecycle in UML 2.0 Chapter uses 11 - Modeling Case diagram changes, Part Use IV - Modeling Object Behavior403-404, 415-416
Chapter 12 - Modeling the Use of a System with the Use Case Diagram UML metamodel. See metamodel Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

UML package, 43-44

Chapter 14 - Modeling the Application Architecture

UML Partners Consortium, 7-8

UML Profile for Business Modeling, 700-701 Diagram Chapter 15 - Modeling Software Using 691, the Component
Chapter 16 - Using Deployment UML Profile for CORBA, 691 Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

UML Profile for EJB, 696-701

Chapter 18 - Applying Constraints to the UML Diagrams


Part VII - Automating the UML Modeling Process UML Profile for Schedulability, Performance, and

UML Profile for Enterprise Application Integration (EAI), 690,702-706 Time, 690,712-714

UML Profile for Enterprise Distributed Object Computing (EDOC), 690,706-712 Chapter 19 - Action Semantics
Chapter 20 - Using a Modeling Tool

Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

UML Profile for Software Development Processes, 691,698-700 UML profiles. Seeprofile

UML Testing Profile, 691,714-717 Appendix A - UML 1.4 Notation Guide


Appendix B - UML 2.0 Notation Guide See alsodiagrams; extensibility of UML; modeling tools UML (Unified Modeling Language). Appendix C - Standard Elements architecture of, 23-26, 27-36,38-44 Glossary definition of, 3-4

features of, 12-14 Index goals of, 7,9-11 List of Figures history of, 5-8 List of Tables OMG and, 15-21 List of Listings

scope of, 11-12 UMLTau tool (Telelogic), 663

< Day Day Up >

underline indicating class-level attribute, 141 UML Bible indicating class-level 150 by Tom operation, Pender indicating instance in collaboration, 238 John Wiley & Sons 2003 (940 pages) indicating object name expression, 223

ISBN:0764526049

For beginning to advanced users, this book provides specifications, and shows how to use UML to improve

comprehensive coverage of the versatility of 1.4 and 2.0 UML underscore character, in class names, 110

Unified Modeling timeliness, Language. SeeUML quality, and efficiency in development. Uninterpreted data type, 33 Companion Web Site uninterpreted strings, 636 union() operation, 621,624,626-627 <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents {union} property, 189
UML Bible Preface

unknown message, 292

UnlimitedInteger data type, 32 Part I - An Introduction to UML UnmarshalAction, 651 Chapter 1 - What Is UML?
Chapter 2 - UML Architecture {unordered} property, 175 Chapter 3 Chapter 4

usage dependency, 213,216

- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

useII case. See also Activity diagram;Use Part - Modeling Object Structure

Case diagram association with actor, 407, 416-417 Chapter 5 - Capturing Rules about Objects in a Class Diagram assumptions for, 424-426 Chapter 6 - How to Capture Rules about Object Relationships as basis for Sequence diagram, 247 Chapter 7 - Testing with Objects classifiers and, 415-416 Part III - Modeling Object Interactions CRUD checklist for, 414-415 Chapter 8 - Modeling Interactions in UML 1.4 definition of, 34,407 Chapter 9 - Modeling Interactions in UML 2.0 dialog for, 428-429,461-463 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 extending another use case with, 419-423 Chapter 11 Modeling an Object's Lifecycle in UML 2.0 including another use case in, 418-419 Part initiation IV - Modeling Object Behavior for, 427 Chapter 12 - Modeling theof, Use of a System with the Use Case Diagram minimal guarantees 431 Chapter 13 - Modeling Behavior Using an Activity Diagram modeling, 412-415, 451 Part notation V - Modeling the Application Architecture for, 783, 825 Chapter 14 - Modeling the Application Architecture post conditions for, 429-430 Chapter 15 - Modeling preconditions for, Software 426-427 Using the Component Diagram RUP method 523-528 Diagrams in UML 1.4 Chapter 16 - Usingfor, Deployment successful guarantees of, 431-432 in UML 2.0 Chapter 17 - Representing an Architecture of, 429 to the Model Part termination VI - Bringing Rigor
Chapter 18 approach. - Applying See Constraints to the UML use case alsoscenario; Use Diagrams Case diagram;use case narrative Chapter 19 - Action Semantics definition of, 399-400
Part goal-focused VII - Automating the UML Modeling Process modeling used in, 402-403, 413

Chapter 20 of - Using a Modeling Tool levels requirements for, 401

scenarios and, 400,405-406 Chapter 21 - Customizing UML Using Profiles scope 400, 404-405Interchange Chapter 22 of, - XML Metadata Use Case diagram and, 400, 404-405 Appendix A - UML 1.4 Notation Guide use case narratives and, 399-400, 405 Appendix B - UML 2.0 Notation Guide
Appendix CStandard Elements Use Case diagram

actors in, 407 Glossary associations in, 407,416-417 Index definition List of Figures of, 37, 399-400, 664 elements List of Tables of, 407-408 extend relationships in, 408,419-423 List of Listings

include relationships in, 407,418-419 < Day Day Up > modeling, 408-409 notation for, 783,825 packages in, 406-407,413-414 UML Bible UML 1.4 compared to UML 2.0, 403-404 ISBN:0764526049 by Tom Pender 415-416 UML 2.0 changes in, 403-404, Wiley & Sons 2003 (940 pages) use cases in, John 407,412-415 uses of, 59,399-403 For beginning to advanced users, this book provides use case instance. Seescenario specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. use case model definition of, 406 Companion Web Site for RUP method, 523-524
<?xml version="1.0" encoding="ISO-8859-1"?> assumptions in, 424-426 Table of Contents UML Bible comprehensive coverage of the versatility of 1.4 and 2.0 UML

use case narrative

constructing Activity diagram from, 435-442,457-464 dialog in, 428-429,461-463 Preface elements of, 423-424 Part I - An Introduction to UML minimal guarantees in, 431 Chapter 1 - What Is UML? as part of use case approach, 399-400,405 Chapter 2 - UML Architecture post conditions in, 429-430 Chapter 3 - UML Diagrams and Extension Mechanisms preconditions in, 426-427 Chapter 4 Object-Oriented Concepts success guarantees in, 431-432 Part use II - Modeling Object Structure case initiation and triggers in, 427 Chapter - Capturing Rules use5 case termination in, about 429 Objects in a Class Diagram
Chapter 6 Chapter 7

use case package, 406

- How to Capture Rules about Object Relationships - Testing with Objects

useIII case realization, 526 Part - Modeling Object Interactions use case See scenario in UML 1.4 Chapter 8 scenario. - Modeling Interactions
Chapter 9 system, - Modeling Interactions in UML 2.0 use case 406 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

use stereotype, 216

user object layer,Object 26 Part IV - Modeling Behavior

user-defined compartment Chapter 12 - Modeling the Use of a System with the Use Case Diagram modeling, 156-158 Chapter 13 - Modeling Behavior Using an Activity Diagram for, 762, 796 Part notation V - Modeling the Application Architecture
Chapter 14 Modeling the Application Architecture users.See actor Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

uses stereotype, 550

Chapter 17 - Representing an Architecture in UML 2.0

Using UML Action Semantics for Executable Modeling and Beyond (Sunye; Pennaneac'h; Ho; Le Guennec; Jzquel), 644

utility class, 115 Chapter 18 - Applying Constraints to the UML Diagrams


Chapter 19 - Action Semantics utility stereotype, 115,840
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

Index
V

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML valid XML documents, 735 specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. ValueSpecification class, 226

variable actions, 651 Companion Web Site VBA (Visual Basic for Applications), 676
<?xml version="1.0" encoding="ISO-8859-1"?> versioning of models, 672,681 Table of Contents UML Bible

vertex,370,372

vertical bar (|), selection operator, XML, 737 Preface


Part I - An Introduction to UML visibility

for associations, 172 Chapter 1 - What Is UML? for attributes, 121-126,133,142 Chapter 2 - UML Architecture of classifiers packages, Chapter 3 - UML in Diagrams and 514 Extension Mechanisms definition of, 121-122 Concepts Chapter 4 - Object-Oriented overriding for, 125 Part multiple, II - Modeling Objectrules Structure notation for, 121,133, 142, 145-146 Chapter 5 - Capturing Rules about Objects in a Class Diagram for operations, 121-126,145-146,154 - How to Capture Rules about Object Relationships package, 121,123 Chapter 7 - Testing with Objects private,121,122,133,514 Part III - Modeling Object Interactions protected,121,124-126,202 Chapter 8 - Modeling Interactions in UML 1.4 public,121,123-124,514
Chapter 6 Chapter 9 - Modeling Interactions in UML 2.0

VisibilityKind class, 126 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 VisibilityKind data type, Chapter 11 - Modeling an 33 Object's Lifecycle in UML 2.0
Part IV Modeling Object Behavior Visual Basic for Applications. SeeVBA

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

< Day Day Up > Chapter 14 - Modeling the Application Architecture


Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index
W

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML WAE (Web Application Extension) profile, 691,717-721 specifications, and shows how to use UML to improve timeliness, quality, and efficiency weak sequence (seq) interaction operator, 301 in development.

Web page icon, 720 Companion Web Site Web publishing by modeling tools, 674-675,682
<?xml encoding="ISO-8859-1"?> Webversion="1.0" sites Table of Contents action semantics specification, 636 UML companies Bible using MDA, 19 Preface CWM specifications, 21
Part Kabira I - An Introduction to UML Technologies, 4

Chapter 1 -Technology, What Is UML? Project Inc., 4

Shlaer-Mellor approach of modeling, 637 Chapter 2 - UML Architecture UML with Diagrams Action Semantics specification, 588 Chapter 3 1.5 - UML and Extension Mechanisms UML RFPs, 39 Chapter 4 2.0 - Object-Oriented Concepts Notepad, 758 Structure Part XML II - Modeling Object
Chapter 5 - Capturing Rules about Objects in a Class Diagram well-formed XML documents, 734-735 Chapter 6 - How to Capture Rules about Object Relationships when clause, notation for, 777, 818 Chapter 7
Part III - Modeling Object Interactions

white box view of component, 550

- Testing with Objects

worker 8 icons, 701 Interactions in UML 1.4 Chapter - Modeling


Chapter 9 - Modeling Interactions in UML 2.0 workflow Chapter 10 - Modeling an Object's Lifecycle determining requirements for, 430 in UML 1.4

modeling with Activity diagram, 451 in UML 2.0 Chapter 11 - Modeling an Object's Lifecycle assumptions affecting, Part use IV - case Modeling Object Behavior write actions, 650-651 425-426
Chapter 12 -engine Modeling the Use of 573 a System with the Use Case Diagram workflow stereotype, Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram < Day Day Up > Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

Index
X-Z

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML "X" specifications, and shows how to use UML to improve indicating endtimeliness, of timeline, 320 and efficiency in development. quality,

indicating object destruction, 263-264,283 Companion Web Site indicating termination of state machine, 382-383 XMI (XML Metadata Interchange)
<?xmlchecking version="1.0" encoding="ISO-8859-1"?> validity of, 757-758 Table of Contents code generation and reversal with, 677,726,728-729 UML creating Bible from MOF, 730-732 Preface definition of, 4,21,725-727
Part Diagram I - An Introduction to UML Interchange specification

for, 730,754-757

Chapter 1 - What UML? models with importing and Is exporting Chapter version 2 - UML Architecture 1.0, 738-747

1.1, 747-754 Chapter version 3 - UML Diagrams and Extension Mechanisms MDA 728-729 Chapter 4 and, - Object-Oriented Concepts with, 728 Structure Part problems II - Modeling Object purposes of, 726-727 Chapter 5 - Capturing Rules about Objects in a Class Diagram specification 729-730 Chapter 6 - How for, to Capture Rules about Object Relationships versions of, 730 with Objects Chapter 7 - Testing XML 8 Chapter transforming, 729 Part XSLT III - Modeling Object Interactions
- Modeling Interactions in UML 1.4

attributes, 735-736 Chapter 9 - Modeling Interactions in UML 2.0 content model operators, 737-738 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 definition of, 732-733 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 correctness of, 734-735 Part document IV - Modeling Object Behavior DTDs for, 733-734 Chapter 12 - Modeling the Use of a System with the Use Case Diagram elements, 735 Chapter 13 - Modeling Behavior Using an Activity Diagram entities,736-737 Part V - Modeling the Application Architecture instance documents, 733 Chapter 14 - Modeling the Application Architecture modeling tools importing and exporting from, 676 Chapter 15 - Modeling Software Using the Component Diagram namespaces, 737
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the See Model XML Metadata Interchange. XMI

XML Core 4.0 RTM, checking XMI with, 757 Chapter 17 -Services Representing an Architecture in UML 2.0
Chapter 18 - Applying Constraints to 757-758 the UML Diagrams XML Notepad, checking XMI with, Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

XML schema, 734

XMLSpy (Altova), checking XMI with, 757-758 Chapter 20tool - Using a Modeling Tool xor()21 operation, 619 UML Using Profiles Chapter - Customizing
Chapter 22 - XML Metadata xor operator, OCL, 596 Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

{xor} property, 181

XSLT (extensible Stylesheet Language Transformations), 729 Appendix C - Standard Elements


Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

< Day Day Up >

UML Bible List of Figures by Tom Pender

ISBN:0764526049

Preface

John Wiley & Sons 2003 (940 pages)

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML and shows how rectangles to use UML to to highlight improve changes in the metamodel. Figure FM-1:specifications, Using gray shaded rounded timeliness, quality, and efficiency in development.

Figure FM-2: Using gray shaded rectangles to highlight elements of an illustration. Companion Web rounded Site
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents

Chapter 1: What Is UML?

Figure 1-1: The Model-Driven Architecture. UML Bible


Preface
Part I - An Introduction to UML

Figure 1-2: The relationship between the MOF and the UML and CWM languages.
- What Is UML?

Chapter 1 Chapter 2 Chapter 3

Chapter 2: Architecture UML Architecture - UML


of association (the arrow between Person and Car).

- UML Diagrams and Extension Mechanisms Figure A metamodel defining Class and Association instantiated in a model containing two Chapter 4 - 2-1: Object-Oriented Concepts

instances of Object class and an instance Part II - Modeling Structure


Chapter 5 Chapter 6 Chapter 7

Figure 2-2: A metamodel defining a Class and an Instance Specification instantiated by a diagram - How to Capture Rules about Object Relationships containing a class and an object.
- Testing with Objects

- Capturing Rules about Objects in a Class Diagram

Part III - Modeling Object Interactions Figure 2-3: Top-level packages of

UML 1.4.

Chapter 8 - Modeling Interactions in UML 1.4 OMG 1.4 Chapter 9 - Modeling Interactions in UML 2.0

Figure UML an 1.4Object's Foundation packages. Chapter 10 - 2-4: Modeling Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

OMG 1.4

Chapter 12 - Modeling the Use of a System with the Use Case Diagram OMG 1.4 Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Figure 2-6: UML 1.4 Action Architecture example.

Figure 2-5: UML 1.4 Behavioral Elements packages.

OMG 1.4 Chapter 14 - Modeling the Application Architecture


Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Figure 2-7: Three complementary sets of diagramming tools.

Chapter 17 - 2-8: Representing an Architecture in UML the 2.0 core metamodel for the rest of the MDA components. Figure UML 2.0 Infrastructure defines

Figure UML Constraints 2.0 Core package. Chapter 18 - 2-9: Applying to the UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Figure 2-10: The relationship between MOF and the Infrastructure Core package.

Chapter 20 - 2-11: UsingThe a Modeling Tool Figure SuperstructureLibrary package. Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary

Chapter 3: UML Diagrams and Extension Mechanisms


Figure 3-1: A screen shot of a typical modeling tool with menu, navigation area, thumbnail view, canvas, and diagram-specific toolbar.

IndexFigure 3-2: Package icon. List of Figures List ofFigure Tables3-3: Package dependency. List of Listings

Figure 3-4: A class with the three predefined compartments. < Day Day Up > Figure 3-5: A Class diagram with a relationship called "authorizes." Figure 3-6: Object diagram. UML Bible
ISBN:0764526049 by Tom Pender Figure 3-7: Composite Structure diagram of a pricing strategy.

John Wiley & Sons 2003 (940 pages)

Figure 3-8: AFor Composite Structure diagram representing a collaboration. beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how using to use components UML to improve Figure 3-9: UML 1.4 Component diagram and dependencies. timeliness, quality, and efficiency in development.

Figure 3-10: UML 2.0 Component diagram using components and dependencies. Companion Web Site Figure 3-11: Deployment diagram with four nodes and their connections.
<?xml version="1.0" encoding="ISO-8859-1"?> 3-12: Combined Component and Deployment diagram. Table Figure of Contents UML Bible Preface

Figure 3-13: Use Case diagram showing the customer's expectations for using the sales system. for selecting a theater performance.

Part IFigure - An Introduction to diagram UML 3-14: Activity

Chapter 1 Chapter 3 Chapter 15.4

- What Is UML?

Figure Sequence diagram of a portion of the "Select a Performance" use case. Chapter 2 - 3-15: UML Architecture
UML Diagrams and Extension Mechanisms Figure- 3-16: A Collaboration diagram version of the "Select a Performance" sequence from Figure 3- Object-Oriented Concepts

Part II - Modeling Object Structure

Chapter 5 - 3-17: Capturing Rules about Objects in amodeling Class Diagram Figure A Communication diagram an interaction that includes another interaction, the

sd 6 (Collaboration diagram) "get performances." Chapter - How to Capture Rules about Object Relationships
Chapter 7 Chapter 8
Part III - Modeling Object Interactions

Figure 3-18: An Interaction Overview diagram modeling the logical progression through a series of interactions.
- Modeling Interactions in UML 1.4

- Testing with Objects

Chapter 9 - 3-19: Modeling Interactions in diagram, UML 2.0 showing the different states of a heartbeat over time. OMG Figure A sample Timing Chapter 2.010 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Figure 3-20: Partial Machine Part IV - Modeling Object State Behavior

diagram for a seat at a performance.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling Application Architecture Figure 3-22:the Three examples of the application of

Figure 3-21: Protocol State Machine for a seat at the theater.

stereotypes.

Chapter 14 - Modeling the Application Architecture

Figure Constraints attributes and associations. Chapter 15 - 3-23: Modeling Softwareon Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Figure 3-24: A comment attached to a class.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics

Chapter 4: Object-Oriented Concepts

Figure 4-1: Real the objects abstractions. Part VII - Automating UML versus Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

Figure 4-2: Victor (on the left) and an abstraction of Victor (on the right, an object icon).

Chapter 22 - 4-3: XMLThe Metadata Interchange Figure interface for a car enables us to use the car by accessing its behaviors and its Appendix A - UML 1.4 Notation Guide knowledge. Appendix B - UML 2.0 Notation Guide

Figure Defining the internal design of an object so that it will work properly. Appendix C - 4-4: Standard Elements
Glossary Index

Figure 4-5: Purpose drives the design and use of an object.

List ofFigure Figures 4-6: Separation of interface from implementation supports a difference between the internal List ofstorage Tables of data and the external use of data. List of Listings

Figure 4-7: Modeling an association.

< Day Day Up >

Figure 4-8: The relationship between association, aggregation, and composition. Figure 4-9: How to represent an aggregation relationship in UML. UML Bible
Tom Pender Figure 4-10: by How to represent composition.
ISBN:0764526049

John Wiley & Sons 2003 (940 pages) comprehensive coverage of the versatility of 1.4 and 2.0 UML

Figure 4-11: For Modeling generalization. beginning to advanced users, this book provides
and shows with how discriminators. to use UML to improve Figure 4-12: specifications, Modeling generalization timeliness, quality, and efficiency in development.

Figure 4-13: Polymorphic behavior: calcAppliedDiscount() is implemented differently by each subclass Companion Web Site of Discount. 4-14: Unrelated classes realizing the same interface class. <?xml Figure version="1.0" encoding="ISO-8859-1"?> Table of Contents
UML Bible Preface

Figure 4-15: Balancing cohesion and coupling.

Part I - An Introduction to UML

Chapter 5: Capturing Rules about Objects in a Class Diagram


- UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Chapter 1 Chapter 3 Chapter 4

- What Is UML? Figure other diagrams feed information to the Class diagram. Chapter 2 - 5-1: UMLAll Architecture

Figure 5-2: The relationships between the Class diagram, other diagrams, and the application code. Figure 5-3: A simple Class diagram of the relationships between the resources Venue, Event, and

Part II - Modeling Object Structure

Chapter 5 - Capturing Rules about Objects in a Class Diagram Seat. Chapter 6 - How to Capture Rules about Object Relationships Figure Three predefined Chapter 7 - 5-4: Testing with Objects class compartments.
Part III - Modeling Object Interactions

Chapter 8

Figure 5-5: Valid presentation options for classes.


- Modeling Interactions in UML 1.4

Chapter 9 - 5-6: Modeling Interactions in UML 2.0 Figure Classes with names only. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Figure Separating identity from attributes in a class description. Chapter 11 - 5-7: Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - 5-9: Modeling Using an Activity Diagram Figure Four Behavior ways to model classes with stereotypes.
Part V - Modeling the Application Architecture

Figure 5-8: Fully qualified class names.

Figure Utility classes have no instances and contain only static operations. Chapter 14 - 5-10: Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Figure 5-11: An enumeration class defines a set of literal values, usually used for validation.

Chapter 17 - 5-12: Representing an of Architecture UML tagged 2.0 Figure Examples propertiesin using values.

Figure TheConstraints ancestry of the definition for Class. Chapter 18 - 5-13: Applying to the UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Figure 5-14: A class may contain nested classes, attributes, and operations. OMG 2.0 (modified)

Chapter 21 - 5-15: Customizing Using Profiles Figure AddingUML ports to the class definition. OMG 2.0 Chapter 22 - XML Metadata Interchange

Figure Private elements Appendix A - 5-16: UML 1.4 Notation Guide of Class B are visible/accessible only to objects of Class B.
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary

Figure 5-17: The package-visible elements of Class B are visible/accessible to all objects in Package 1.

IndexFigure 5-18: The public elements of Class B are visible/accessible to objects in the same system List ofregardless Figures of the package they reside in. List of Tables

5-19: The protected elements of Class B are visible/accessible to subclasses of Class B List ofFigure Listings

regardless of where they reside.

< Day Day Up >

Figure 5-20: VisibilityKind and NamedElement classes. OMG 2.0 Figure 5-21: Modeling a range for the number of values associated with an attribute. ISBN:0764526049
UML Bible by Tom Pender Wiley & Sons 2003 (940 pages) Figure 5-22: John Using the upper value when the lower and upper range values are the same. For beginning to advanced users, this book provides coverage of the versatility of 1.4no and 2.0 UML Figure 5-23: comprehensive Use an asterisk to signify "or more", meaning upper limit. specifications, and shows how to use UML to improve and efficiency in development. Figure 5-24: timeliness, Multiplicity quality, ordering.

Figure 5-25: Multiplicity associated with any TypeElement. OMG 2.0


<?xml version="1.0" encoding="ISO-8859-1"?> 5-26: Modeling ordering and uniqueness with multiplicity. Table Figure of Contents UML Bible Preface

Companion Web Site

Figure 5-27: What an object knows about itself. Figure 5-28: Add the reference attribute so that the event can collaborate with the venue.

Part I - An Introduction to UML

Chapter 1

- What Is UML? Figure Sample attribute-entry form in a modeling tool. Chapter 2 - 5-29: UML Architecture

No Chapter 3 Magic - UML Diagrams and Extension Mechanisms


Chapter 4
Part II - Modeling Object Structure

Figure 5-30: Assigning private visibility (- ) to attributes to enforce encapsulation.

- Object-Oriented Concepts

Chapter 5 - 5-31: Capturing Rules about Objects in a Class Diagram Figure Identifying base and derived attributes. Chapter 6 - How to Capture Rules about Object Relationships Figure Each attribute Chapter 7 - 5-32: Testing with Objects is assigned a data type.
Part III - Modeling Object Interactions

Chapter 8

Figure 5-33: Internal and external data types.


- Modeling Interactions in UML 1.4

Chapter 9 - 5-34: Modeling Interactions in UML 2.0 Figure Attribute multiplicity. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Figure A default value Lifecycle assigned each attribute can help prevent errors and improve ease of Chapter 11 - 5-35: Modeling an Object's into UML 2.0 use for your clients. Part IV - Modeling Object Behavior
Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure 5-36: Attribute properties enable you to define constraints and other facts to ensure the integrity of the attribute value.

Chapter 14 - 5-37: Modeling the Application Figure A static attribute is Architecture modeled by underlining the attribute definition. Chapter 15 - Modeling Software Using the Component Diagram

Figure property inherits many of its1.4 features from other metaclasses. Chapter 16 - 5-38: UsingA Deployment Diagrams in UML OMG Chapter 17 - 2.0 Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML compartment Modeling Process Figure 5-40: Operations with

Figure 5-39: A property describes a class, may be subsetted, and may have a default value. OMG 2.0 stereotypes.

Chapter 20 - Using a Modeling Tool

Figure Each operation identifies Chapter 21 - 5-41: Customizing UML Using Profiles a behavioral feature of the class.
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Figure 5-42: Operation parameters define the required input for the class behavior.

Appendix B - 5-43: UML 2.0 Notation Guide Figure Operation return-results define the output of an operation. Appendix C - Standard Elements

Figure 5-44: A static operation is modeled by underlining the operation definition. Glossary
Index List of Figures

Figure 5-45: Tools support the definition of operation exceptions. No Magic

List ofFigure Tables5-46: UML operation metamodel, part 1 of 2.

2.0 List ofOMG Listings

< Day Day Figure 5-47: UML operation metamodel, part 2 of 2. Up >

Figure 5-48: User-defined compartment with a name and tagged values (attributes and operations compartments are suppressed).
UML Bible
ISBN:0764526049 Tom Pender Figure 5-49: by User-defined compartment with properties sorted by stereotype.

John Wiley & Sons 2003 (940 pages)

Figure 5-50: For Template notation with parameters. beginning to advanced users, this book provides Figure 5-51: specifications, Interface notation and alternatives. shows how to use UML to improve
timeliness, quality, and efficiency in development. Companion Web Site comprehensive coverage of the versatility of 1.4 and 2.0 UML

Figure 5-52: Structure::Classes::Interfaces interface definition - Part 1 of 2. Figure 5-53: Structure::Classes:: Interfaces interface definition - Part 2 of 2.
<?xml Figure version="1.0" encoding="ISO-8859-1"?> 5-54: Provided interface - the MarketingPlan provides an interface to price products. Table of Contents UML Bible Figure 5-55: Required interface - the shirt needs to be priced. Preface

5-56: Interconnected Part IFigure - An Introduction to UML


Chapter 1 Chapter 2 Chapter 3 - What Is UML?

provided and required interfaces.

- UML Chapter 6: Architecture How to Capture Rules about Object Relationships - UML Diagrams and Extension Mechanisms

Chapter 4 - 6-1: Object-Oriented Figure Association Concepts is a type of relationship. A link is an instance, or implementation, of an
Part II - Modeling Object Structure association.

Chapter 5 Chapter 6

Figure- 6-2: An Association is made up of a connection and two AssociationEnds. How to Capture Rules about Object Relationships

- Capturing Rules about Objects in a Class Diagram

Chapter 7 - 6-3: Testing with Objects name uses a verb or verb phrase. Figure An association's
Part III - Modeling Object Interactions

Chapter 8 - 6-4: Modeling UML 1.4 a separate set of rules. Figure EachInteractions association in represents Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior

Figure 6-5: Association ends define the participation of each type of object.

- Modeling Interactions in UML 2.0

Chapter 11 - 6-6: Modeling Object's Lifecycle in UML 2.0 ends. Figure Role an names assigned to association Chapter 12 - 6-7: Modeling the Use of a System with association the Use Case Diagram Figure Assigning multiplicity to each end. Chapter 13 - Modeling Behavior Using an Activity Diagram

Figure 6-8: The ordered constraint for an Part V - Modeling the Application Architecture

association end.

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - 6-10: UsingConcatenating Deployment Diagrams in UML 1.4 Figure constraints. Chapter 17 - Representing an Architecture in UML 2.0

Figure 6-9: Adding constraint language to an association end.

Figure 6-11: Rigor Usingto a the toolModel to enter Part VI - Bringing

association end constraints. No Magic Chapter 18 - Applying Constraints to the UML Diagrams
Chapter 19 - 6-12: Action Semantics Figure Using constraints to restrict object participation.
Part VII - Automating the UML Modeling Process

Chapter 20 - 6-13: UsingUsing a Modeling Tool to get direct access to an object. Figure a qualifier Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Figure 6-14: Specify navigation by placing an arrow at the end of the association.

Appendix A - 6-15: UML 1.4 Notation Guide Figure Modeling the non-default changeability property {frozen}. Appendix B - UML 2.0 Notation Guide

Figure Exclusive or constraint on two associations {xor}. Appendix C - 6-16: Standard Elements
Glossary Index

List of Figures

Figure 6-17: Constraint notation involving more than two elements uses a comment (or note) with anchor lines to the constrained elements.

List ofFigure Tables6-18: A reflexive association models relationships between objects in the same class. List of Listings

Figure 6-19: Finding information in a large or complex model. < Day Day Up > Figure 6-20: The highlighted ellipse shows the derived association notation using a forward slash in front of the association name. Figure 6-21: The metamodel for associations. by Tom Pender OMG 2.0
John Wiley & Sons 2003 (940 pages) UML Bible
ISBN:0764526049

beginning advanced users, this book provides Figure 6-22: For Agent inheritsto from Vendor so Agent inherits the binds association with Contract. comprehensive coverage of the versatility of 1.4 and 2.0 UML timeliness, quality, and efficiency in development. and shows to use UML to improve Figure 6-23: specifications, Redefining the end of anhow association.

Figure 6-24: Modeling the redefined memberEnd property called contract. Companion Web Site Figure 6-25: Notation for the allowed navigability options in UML 2.0.
<?xml version="1.0" encoding="ISO-8859-1"?> 6-26: Association class captures information about an association. Table Figure of Contents UML Bible Preface

Figure 6-27: An association class may participate in other associations. Figure 6-28: Add the explicit associations to replace the associations implied by the association class.

Part I - An Introduction to UML

Chapter 1 Chapter 3 Chapter 4 Chapter 5 Chapter 7

- What Is UML? Figure Map the original multiplicities to the two new associations. Chapter 2 - 6-29: UML Architecture

Figure 6-30: Update the new (exposed) association multiplicity as needed.


- Object-Oriented Concepts

- UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

Figure 6-31: An n-ary association using the diamond symbol.

- Capturing Rules about Objects in a Class Diagram Figure The unique characteristics ofRelationships an aggregation association. Chapter 6 - 6-32: How to Capture Rules about Object
Part III - Modeling Object Interactions

Figure 6-33: How to model an aggregation relationship.

- Testing with Objects

Chapter 8 - 6-34: Modeling Interactions in aggregation UML 1.4 Figure How to model an relationship. Chapter 9 - Modeling Interactions in UML 2.0

Figure How toObject's represent a composition relationship in UML. Chapter 10 - 6-35: Modeling an Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure 6-36: A composite object.

Chapter 12 - 6-37: Modeling the Use of a structure System with Use Case Figure Generalization withthe two levels ofDiagram specialization. Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling Application and Architecture Figure 6-38:the Superclasses subclasses

in a generalization hierarchy.

Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram

Figure 6-39: Shared target style notation for generalizations.

Chapter 16 - 6-40: UsingAlternatives Deployment for Diagrams in UML 1.4 Figure modeling an abstract class. Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing to the Model Figure 6-41: Rigor Abstract and concrete

classes.

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Figure 6-42: Identifying subclasses using a powertype. Figure 6-43: Applying a discriminator to define subclasses.

Chapter 20 - Using a Modeling Tool

Chapter 21 - 6-44: Customizing UML Using Profiles Figure Modeling multiple discriminators. Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Figure 6-45: Modeling generalization constraints.

Appendix B - 6-46: UML 2.0 Notation Guide Figure Applying constraints to a generalization. Appendix C - Standard Elements

Figure 6-47: The Generalization metamodel. Glossary


IndexOMG 2.0 List of Figures List of Tables

List of Listings

Figure 6-48: Defining a generalization set as a collection of generalizations on the same classifier. OMG 2.0

Figure 6-49: UML 2.0 notation for powertype associated with a generalization set with constraints. < Day Day Up > Figure 6-50: Modeling dependency notation. Figure 6-51: UML Modeling refines and realizes dependencies. Bible
Tom Pender Figure 6-52: by Merging dependency lines.
ISBN:0764526049

John Wiley & Sons 2003 (940 pages) comprehensive coverage of the versatility of 1.4 and 2.0 UML

Figure 6-53: For Adding the concept of substitution. $OMG 2.0. beginning to advanced users, this book provides
and shows how to use UML to improve Figure 6-54: specifications, Using the substitution dependency. timeliness, quality, and efficiency in development. Companion Web Objects Site Chapter 7: Testing with

7-1: Drawing classes and objects in a modeling tool. <?xml Figure version="1.0" encoding="ISO-8859-1"?> No Magic Table of Contents
UML Bible Preface

Figure 7-2: Two objects of type Customer, Kevin and Jackie, and one anonymous Venue object. Figure 7-3: Modeling object attributes.
- What Is UML? - UML Diagrams and Extension Mechanisms

Part I - An Introduction to UML

Chapter 1 Chapter 3 Chapter 4

Figure links. Chapter 2 - 7-4: UMLModeling Architecture Figure 7-5: The relationship between instances and slots. - Object-Oriented Concepts OMG 2.0

Part II - Modeling Object Structure

Chapter 5 - 7-6: Capturing Rules about Objects in a Class Diagram Figure Adding the ValueSpecification to store values for each slot. Chapter 6 How to Capture Rules about Object Relationships No Magic Chapter 7 Chapter 8 Chapter 9 - Testing with Objects

Figure 7-7: UML Class notation for Part III - Modeling Object Interactions

an association between two classes.

Figure 7-8: UML object notation for one customer who has placed two orders.
- Modeling Interactions in UML 2.0

- Modeling Interactions in UML 1.4

Chapter 10 - 7-9: Modeling Object's Lifecycle in UML 1.4 Figure Initialan Class diagram for sales agreements and seats. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Figure 7-10: The Object diagram Part IV - Modeling Object Behavior

for test case 1 confirms the Class diagram.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling Application Architecture Figure 7-12:the The updated Class diagram.

Figure 7-11: The Object diagram with an unassigned seat.

Chapter 14 - Modeling the Application Architecture

Figure Seats assigned by the two Component different sales agreements. Chapter 15 - 7-13: Modeling Software Using Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing to the the new Model Figure 7-15: Rigor Adding SeatGroup

Chapter 17 - Representing an Architecture in UML 2.0

Figure 7-14: Updated Class diagram with revised multiplicity and a new constraint. to facilitate seat assignments.

Chapter 18 - Applying Constraints to the UML Diagrams

Figure Revised Class diagram with seat groups. Chapter 19 - 7-16: Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Figure 7-17: Revised Class diagram with the Location generalization.

Chapter 21 - 7-18: Customizing UML Structure Using Profiles Figure Composite diagram of a pricing strategy. Chapter 22 - XML Metadata Interchange

Figure A Composite Structure diagram representing a collaboration. Appendix A - 7-19: UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements

Figure 7-20: Class notation in a Composite Structure diagram.

Glossary Figure 7-21: Connectors and ports. Index

7-22: Modeling a collaboration icon. List ofFigure Figures


List of Tables List of Listings

Figure 7-23: Applying role names to classes.

Figure 7-24: A collaboration occurrence is bound to either operations or classes. < Day Day Up > No Magic Figure 7-25: Applying the collaboration structure to the theater system. Figure 7-26: Modeling collaborations that realize an operation. ISBN:0764526049
UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)

Chapter 8: For Modeling in UML 1.4 beginning toInteractions advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and automated shows how support to use UML improve Figure 8-1: An example of the for to finding operations, and for adding new timeliness, quality, and efficiency in development. operations based on messaging requirements. $No Magic Companion Web Site

Figure 8-2: Object lifelines for five objects..


<?xml Figure version="1.0" encoding="ISO-8859-1"?> 8-3: Messages are placed on the object lifelines to model object interactions. Relative vertical Table position of Contents indicates the order of execution from top to bottom. UML Bible

Figure 8-4: Self-reference. Preface


Part I - An Introduction to UML

Chapter 1

Figure 8-5: Asynchronous event..


- What Is UML?

Chapter 2 - 8-6: UMLA Architecture Figure comment on a Sequence diagram. Chapter 3 - UML Diagrams and Extension Mechanisms

Figure Timed messages using constraint notation. Chapter 4 - 8-7: Object-Oriented Concepts OMG 1.4 Object Structure Part II - Modeling
Chapter 5 Chapter 6

Figure 8-8: Modeling iteration on a message.

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

Chapter 7 - 8-9: Testing with Objects Figure Modeling conditions to explain the flow of messages. Message 3 states that if the show
Part III - Modeling Object Interactions seat that is being selected in message

2 has not already been selected, then message 3 will return a

Chapter 8 - Modeling Interactions in UML reference to the selected show seat1.4 object. Chapter 9 - Modeling Interactions in UML 2.0 Figure Modeling an alternative scenario using a condition to explain the variation. Chapter 10 - 8-10: Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure 8-11: Object activation and deactivation.

Chapter 12 - 8-12: Modeling the Use of a System with the Use Case Diagram Figure Recursive message calls. Chapter 13 - Modeling Behavior Using an Activity Diagram

Figure 8-13:the Two UML standard visualizations Part V - Modeling Application Architecture
Chapter 14 - Modeling the Application Architecture

for object creation.

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - 8-15: Using Object Deployment Diagrams in UML 1.4 Figure termination. Chapter 17 - Representing an Architecture in UML 2.0

Figure 8-14: Object creation with the created object at the top of the page.

Figure 8-16: Rigor Sequence Part VI - Bringing to thediagram Model


Chapter 19 - Action Semantics

for a scenario where a valid selection is made and saved.

Chapter 18 - Applying Constraints to the UML Diagrams


Part VII - Automating the UML Figure 8-18: Objects andModeling links. Process

Figure 8-17: Collaboration diagram of cancel event scenario modeled in Figure 8-4.

Chapter 20 - Using a Modeling Tool

Figure Messages a Collaboration diagram. Chapter 21 - 8-19: Customizing UMLon Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - 8-21: UML 2.0 Notation Guide Figure Multi-object.. Appendix C - Standard Elements Glossary Index

Figure 8-20: An active object.

Chapter 9: Modeling Interactions in UML 2.0

List ofFigure Figures 9-1: A customer selects a seat at a show (a ShowSeat). List of Tables

9-2: UML diagram frame. List ofFigure Listings

Figure 9-3: A frame for a Class diagram. < Day Day Up > Figure 9-4: Nested frames.
UML Bible Figure 9-5: Object placement within a Sequence diagram interaction. by Tom Pender
ISBN:0764526049

Figure 9-6: AJohn draftWiley of the canceling an event. &interaction Sons 2003for (940 pages)
For beginning to advanced users, this book provides Figure 9-7: Modeling a reference to an existing interaction between parts and their aggregate. comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve

Figure 9-8: Stop notation for a Sequence diagram. timeliness, quality, and efficiency in development.
Companion Web Site Figure 9-9: Modeling object activation.

<?xml version="1.0" encoding="ISO-8859-1"?> Table Figure of Contents 9-11: Modeling a focus of control using the activation icon. UML Bible

Figure 9-10: Modeling object suspension.

Figure 9-12: Alternative activation presentation. Preface


Part I - An Introduction to UML

Chapter 1

Figure 9-13: Modeling a lifeline constraint using curly brace notation.


- What Is UML?

Chapter 2 - 9-14: UML Architecture Figure Modeling a lifeline constraint using a state icon. Chapter 3 - UML Diagrams and Extension Mechanisms

Figure Modeling a state invariant as a requirement after the execution of an interaction. Chapter 4 - 9-15: Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5 Chapter 7

Figure 9-16: Declaring messages with parameters.


- Testing with Objects

- Capturing Rules about Objects in a Class Diagram

Chapter 6 - 9-17: How to Rules Object Figure A Capture message with about sending andRelationships receiving EventOccurrences.

Figure 9-18: Modeling an ExecutionOccurrence Part III - Modeling Object Interactions sendEvent (EventOccurrences). Chapter 8 - Modeling Interactions in UML 1.4
Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - 9-20: Modeling an Object's Lifecycle in UML 2.0 Figure An asynchronous message.
Part IV - Modeling Object Behavior

(activation) and the bounding receiveEvent and

Figure 9-19: A synchronous message and return.

- Modeling Interactions in UML 2.0

Figure A message that createswith an object. Chapter 12 - 9-21: Modeling the Use of a System the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure 9-22: A lost message.

Chapter 14 - 9-23: Modeling the Application Figure A found message. Architecture Chapter 15 - Modeling Software Using the Component Diagram

Figure duration constraints EventOccurrences. Chapter 16 - 9-24: UsingDefining Deployment Diagrams in UML between 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Figure 9-25: Defining time constraints.

Chapter 18 - 9-26: Applying Constraints to the UML Diagramsto construct a larger interaction/Sequence diagram. Figure Using two interaction occurrences Chapter 19 - Action Semantics

Figure 9-27: An interaction with three formal Part VII - Automating the UML Modeling Process message from external source. Chapter 20 - Using a an Modeling Tool
Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

gates to receive and pass on three parameters from a

Figure 9-28: Modeling a combined fragment within a Sequence diagram frame.

Appendix A - 9-29: UML 1.4 Notation Guide fragments. Figure Parallel combined Appendix B - UML 2.0 Notation Guide

Figure Modeling a critical region. Appendix C - 9-30: Standard Elements


Glossary Index

Figure 9-31: Modeling the interaction operators ignore, consider, and assert.

List ofFigure Figures 9-32: Modeling a collaboration that utilizes a composite structure and an interaction occurrence

Observe). List of(sd Tables


List of Listings

Figure 9-33: The model for the interaction referenced by the interaction occurrence called sd < Day Day Up > Observe. Figure 9-34: Applying the Observer pattern collaboration to a show and its internal structure. Figure 9-35: Modeling the application of an interaction occurrence to implement the observer pattern ISBN:0764526049 by Tom Pender collaboration in the SelectShowSeat interaction.
John Wiley & Sons 2003 (940 pages) beginning to advanced users, this book an provides Figure 9-36: For Start a Communication diagram by using Object diagram format showing links comprehensive coverage of the versatility of 1.4 and 2.0 UML between objects. UML Bible

Figure 9-37: Modeling a Communication diagram with sequence numbers to guide the execute order of the messages.Companion Web Site
<?xml version="1.0" encoding="ISO-8859-1"?> Table Figure of Contents 9-39: Modeling parallel execution with an iteration expression. UML Bible

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Figure 9-38: Modeling an iteration expression.

Figure 9-40: Modeling a guard expression. Preface


Part I - An Introduction to UML

Chapter 1

Figure 9-41: Interaction notation.


- What Is UML?

Chapter 2 - 9-42: UML Architecture Figure Interaction occurrence notation. Chapter 3 - UML Diagrams and Extension Mechanisms

Figure Fork and join notation to allow concurrency in an Interaction Overview diagram. Chapter 4 - 9-43: Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5 Chapter 7 Chapter 8 Chapter 9

Figure 9-44: The use of a combined decision and merge point.


- Capturing Rules about Objects in a Class Diagram - Testing with Objects

Chapter 6 - 9-45: How to Rules about Object Relationships Figure A Capture complete Interaction Overview diagram.

Figure 9-46: Modeling object lifelines Part III - Modeling Object Interactions

in a Timing diagram.

Figure 9-47: Modeling a state timeline.

- Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Chapter 10 - 9-48: Modeling an Object's Lifecycle in UML 1.4 Figure Adding messages to a state timeline. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Figure 9-49: Adding a time constraint Part IV - Modeling Object Behavior

to a state timeline.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling Application Architecture Figure 9-51:the Modeling interactions between

Figure 9-50: Adding a duration constraint to a state timeline.

multiple lifelines.

Chapter 14 - Modeling the Application Architecture

Figure A general value timeline. Chapter 15 - 9-52: Modeling Software Using the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 10: Modeling an Object's Lifecycle in UML 1.4

Chapter 18 - 10-1: Applying Constraints the UML compartment Diagrams Figure State icon with to the name shown (minimum configuration). Chapter 19 - Action Semantics

Figure 10-2: Initial state Part VII - Automating the UMLnotation. Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - 10-4: XML Metadata Interchange Figure The State transition from Allocated to Enabled, caused by the event enable(). Appendix A - UML 1.4 Notation Guide

Figure 10-3: Final state notation.

Figure The same event causes different responses based on the state of the object when it Appendix B - 10-5: UML 2.0 Notation Guide receives the event. Appendix C - Standard Elements
Glossary Index

Figure 10-6: An elapsed-time event.

List ofFigure Figures 10-7: Modeling a change event. List of Tables

10-8: Deriving new states from the event parameters. List ofFigure Listings

Figure 10-9: Revised Statechart diagram < that improves cohesion and coupling. Day Day Up > Figure 10-10: Modeling a guard condition. Figure 10-11: Modeling UML Bible an event/action pair. Figure 10-12: The expanded state icon.
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning actions to advanced users, this bookthe provides Figure 10-13: Redundant entering and exiting Placed state of the Order. comprehensive coverage of the versatility of 1.4 and 2.0 UML timeliness, quality, and efficiency in development. specifications, and shows to use UML to improve Figure 10-14: Consolidating the entry how actions.

Figure 10-15: Consolidating exit actions. Companion the Web Site Figure 10-16: The expanded state icon with activities.
<?xml version="1.0" encoding="ISO-8859-1"?> 10-17: Internal transition. Table Figure of Contents UML Bible Preface

Figure 10-18: Modeling a self-transition. invoked on another object.


- What Is UML?

Part IFigure - An Introduction to UML 10-19: Modeling an action

Chapter 1

Figure The original problem definition found by following one requirement after another in Chapter 2 - 10-20: UML Architecture linear fashion. Chapter 3 UML Diagrams and Extension Mechanisms
Chapter 4
Part II - Modeling Object Structure

Figure 10-21: Modeling a static branch point to re-factor compound conditions.

- Object-Oriented Concepts

Chapter 5 - 10-22: Capturing Rules about in a Class Diagram Figure Combining the Objects transitions into a single model. Chapter 6 - How to Capture Rules about Object Relationships Figure transition contingent on the result of the event action. Chapter 7 - 10-23: TestingModeling with Objects
Part III - Modeling Object Interactions

Chapter 8

Figure 10-24: Modeling a dynamic choice point.


- Modeling Interactions in UML 1.4

Chapter 9 - 10-25: Modeling Interactions in UML 2.0 Figure A basic Sequence diagram with events and transitions. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4

Figure Mapping a Sequence to a Statechart diagram. Chapter 11 - 10-26: Modeling an Object's Lifecycle diagram in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram
Part V - Modeling thecase. Application Architecture ShowSeat use

Figure 10-27: A standardized pair of scenarios for the first use case, Purchase ShowSeat.

Chapter 13 - 10-28: Modeling Behavior an Activity Figure Finding the Using transition events Diagram and candidate states for scenario 1 of the Purchase Chapter 14 - Modeling the Application Architecture

Figure Scenario 2 from ShowSeat Chapter 15 - 10-29: Modeling Software Usingthe thePurchase Component Diagram use case.
Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor the consolidated Model Figure 10-31: The to final,

Chapter 17 - Representing an Architecture in UML 2.0

Figure 10-30: Consolidated Statechart diagram for the first two scenarios. Statechart diagram for the ShowSeat object.

Chapter 18 - Applying Constraints to the UML Diagrams

Figure Eliminating insignificant events. Chapter 19 - 10-32: Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Figure 10-33: An elided superstate icon (left) and the expanded superstate icon (right).

Chapter 21 - 10-34: Customizing UML Using Profiles Figure Mutually exclusive substates displayed in a graphic compartment within a superstate. Chapter 22 - XML Metadata Interchange

Figure Composite state with concurrent regions. Appendix A - 10-35: UML 1.4 Notation Guide
Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Index

Figure 10-36: State containing a submachine state with stub states designating the available entry and exit points. Glossary OMG 1.4
List ofFigure Figures 10-37: Transition to the default initial state. List of Tables List of Listings

Figure 10-38: Initial state refers to a specific substate.

Figure 10-39: Leaving a superstate.

< Day Day Up >

Figure 10-40: Exiting a superstate from a specific substate. Figure 10-41: Stub states provide entry points for a submachine state while hiding the complete design UML Bible of the submachine. ISBN:0764526049 by Tom$OMG Pender1.4 Figure 10-42: Modeling an exit stub state. OMG 1.4 For beginning to advanced users, this book provides Figure 10-43: Historical pseudo state. timeliness, quality, and efficiency in development.
John Wiley & Sons 2003 (940 pages)

comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve

Companion Figure 10-44: Split of controlWeb and Site merge of control using the synchronization bar.

Figure 10-45: Using sync states to coordinate behaviors across regions.


<?xml version="1.0" encoding="ISO-8859-1"?> Table Figure of Contents 10-46: Multiple ways to exit a composite state with concurrent substates. UML Bible Preface
Part I - An Introduction to UML

Chapter 11: Modeling an Object's Lifecycle in UML 2.0


What Is UML? Figure- 11-1: The UML 2.0 State diagram metamodel, with the changes from UML 1.4 highlighted.

Chapter 1 Chapter 3

Chapter 2 - 2.0 UML Architecture OMG

- UML Diagrams and Extension Mechanisms Figure The change in the definition of state types from UML 1.4 to UML 2.0. Chapter 4 - 11-2: Object-Oriented Concepts

OMG 1.4 OMG modified Part II - Modeling Object 2.0 Structure


Chapter 5 Chapter 6

Figure 11-3: Simple state notation.

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

Chapter 7 - 11-4: Testing with Objects Figure Trigger metamodel.


Part III - Modeling OMG 2.0 Object Interactions

Chapter 8

- Modeling Interactions in UML 1.4

Figure Modeling transitions with the complete event signature. Chapter 9 - 11-5: Modeling Interactions in UML 2.0
Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior Figure 11-7: Metamodel of a

Figure 11-6: State transition from Complete to ApprovingPayment. transition. in the theater.

Chapter 12 - 2.0 Modeling the Use of a System with the Use Case Diagram OMG Chapter 13 - Modeling Behavior Using an Activity Diagram

Figure 11-8:the Initial and final Architecture states for a seat Part V - Modeling Application
Chapter 14 - Modeling the Application Architecture

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - 11-10: Using Deployment Diagrams in UML Figure Adding action sequences to 1.4 a transition. Chapter 17 - Representing an Architecture in UML 2.0

Figure 11-9: An automatic transition does not have an associated event description.

Figure 11-11: Adding a decision Part VI - Bringing Rigor to the Model


Chapter 19 - Action Semantics

into the action sequence of the transition.

Chapter 18 - Applying Constraints to the UML Diagrams


Part VII - Automating the UML Process Figure 11-13: Modeling aModeling composite state with

Figure 11-12: Adding send and receive signals to the action sequence. one region and six direct substates.

Chapter 20 - Using a Modeling Tool

Figure Composite stateProfiles with two regions divided by a dashed line. Chapter 21 - 11-14: Customizing UML Using
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Figure 11-15: Initiating concurrent states from single transition using a fork pseudo state.

Appendix B - 11-16: UML 2.0 Notation Guide Figure Initiating transitions in two regions from within one of the regions. Appendix C - Standard Elements

Figure 11-17: Using the join pseudo state to manage multiple triggering transitions. Glossary
Index List of Figures

Figure 11-18: Triggering an external transition from within a composite state.

List ofFigure Tables11-19: Alternatives for modeling the choice pseudo state, with a diamond and with a circle. List of Listings

Figure 11-20: Basic junction notation.

< Day Day Up >

Figure 11-21: State list alternative notation for a junction. Figure 11-22: Modeling the terminate pseudo state. UML Bible
ISBN:0764526049 by Tom Pender Figure 11-23: Default entry to a composite state with one region.

John Wiley & Sons 2003 (940 pages)

Figure 11-24: Default entry toadvanced a composite state two (multiple) regions. For beginning to users, thiswith book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, how to state, use UML to non-orthogonal improve Figure 11-25: Explicit entry and into shows a composite both and orthogonal. timeliness, quality, and efficiency in development.

Figure 11-26: Returning the shallow history of a composite state. Companion Web Site Figure 11-27: Deep history pseudo state icon.
<?xml version="1.0" encoding="ISO-8859-1"?> 11-28: Exiting a composite state. Table Figure of Contents UML Bible

OMG 2.0

Preface Figure 11-29: Reused state machine.


Part I - An Introduction to UML

Chapter 1 - 11-30: What Is UML? statement and entry/exit points for a submachine state. Figure Include Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 7 Chapter 8

Figure- 11-31: Metamodel for the protocol state machine. UML Diagrams and Extension Mechanisms OMG 2.0
- Object-Oriented Concepts

- UML Architecture

Part II - Modeling Object Structure

Figure 11-32: Protocol state machine identification.


- Capturing Rules about Objects in a Class Diagram - Testing with Objects

Figure transition notation. Chapter 6 - 11-33: How toProtocol Capture Rules about Object Relationships
Part III - Modeling Object Interactions

Figure 11-34: Metamodel for ProtocolConformance. OMG 2.0


- Modeling Interactions in UML 1.4

Chapter 9 - 11-35: Modeling Interactions mirrors in UML 2.0 Figure Conformance the relationship between classifiers and their state machines. Chapter 10 association - Modeling an Object's Lifecycle in state UML 1.4 (The between the protocol machines and their corresponding classes is for Chapter 11 - Modeling an Object's Lifecycle in maintain UML 2.0 this relationship but it would never appear on any illustration only. A modeling tool would
Part IV - Modeling Object Behavior diagram.)

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 12: Modeling the Use of a System with the Use Case Diagram Chapter 14 - Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram

Figure of the use case approach. Chapter 16 - 12-1: UsingResources Deployment Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Figure 12-2: Use Case diagram metamodel.

Chapter 18 - 12-3: Applying Constraints to illustrated the UML Diagrams Figure Use case model using a system hierarchy of packages. Chapter 19 - Action Semantics

Figure 12-4: Use Case diagram elements. Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

Figure 12-5: UML suggested icons for actors.

Chapter 22 - 12-6: XML Metadata Interchange Figure Alternative actor icon examples. Appendix A - UML 1.4 Notation Guide

Figure Using generalization to refine the definitions of actors. Appendix B - 12-7: UML 2.0 Notation Guide
Appendix C - Standard Elements Glossary

Figure 12-8: Using generalization to refine the definitions of customers.

IndexFigure 12-9: Use case notation alternatives. List of Figures List ofFigure Tables12-10: Package diagram for the theater example. List of Listings

Figure 12-11: Metamodel update supporting classifier ownership of use cases. $OMG 2.0 < Day Day Up > Figure 12-12: Modeling associations between agents and use cases. Figure 12-13: Modeling associations between customers and use cases. UML Bible
ISBN:0764526049 by Tom Pender Figure 12-14: include notation for the Use Case diagram.

John Wiley & Sons 2003 (940 pages)

Figure 12-15: Notation for the extend relationship. For beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, andnotation shows how to use UML to improve Figure 12-16: Extension point using a comment. timeliness, quality, and efficiency in development.

Figure 12-17: Using class notation to model a use case with extension points. Companion Web Site Figure 12-18: Evaluating assumptions to establish workflow options.
<?xml version="1.0" encoding="ISO-8859-1"?> 12-19: Activity diagram for the SelectShow use case. Table Figure of Contents UML Bible Preface

Figure 12-20: Trace the successful scenario from beginning to end. 2, a performance is selected and the confirmation is declined.

Part IFigure - An Introduction to UML 12-21: In scenario

Chapter 1 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8

- What Is UML?

Figure Scenario 3. Chapter 2 - 12-22: UML Architecture


UML Diagrams and Extension Mechanisms Figure- 12-23: Scenario 4. - Object-Oriented Concepts

Part II - Modeling Object Structure Figure 12-24: Scenario 5.

- Capturing Rules about Objects in a Class Diagram - Testing with Objects

- How to Modeling Capture Rules about Object Relationships Chapter 13: Behavior Using an Activity Diagram

Part III - Modeling Object Interactions

Figure 13-1: Activities and transitions.

- Modeling Interactions in UML 1.4

Chapter 9 - 13-2: Modeling Interactions in on UML Figure A guard condition a 2.0 transition. Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure 13-3: Making a decision.

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - 13-5: Modeling Using Activity Diagram Figure TheBehavior diamond as a an merge point.
Part V - Modeling the Application Architecture

Figure 13-4: Making a decision in an activity.

Figure Begin and end notation for the activity diagram. Chapter 14 - 13-6: Modeling the Application Architecture
Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Figure 13-7: Initiating multiple threads or processes.

Chapter 17 - 13-8: Representing Architecture in UML 2.0 Figure Mergingan control using the synchronization bar.

Figure Modeling the preconditions. Chapter 18 - 13-9: Applying Constraints to the UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Figure 13-10: Modeling a looping condition and merge point.

Chapter 20 - 13-11: Using a Modeling post Tool conditions. Figure Modeling Chapter 21 - Customizing UML Using Profiles

Figure Modeling the Use case dialog, "For each piece find the Purchase Order." Chapter 22 - 13-12: XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Glossary Index

Figure 13-13: Modeling the use case dialog, "matching the items to the P.O."

Appendix C - 13-14: Standard Elements Figure Modeling the concurrency opportunity.

Figure 13-15: The complete Activity diagram.

List ofFigure Figures 13-16: Two sets of packages that together provide all the available features of the Activity List ofdiagram. Tables List ofOMG Listings 2.0 modified

< Day Day > activity edges. Figure 13-17: An activity containing four actions and Up three

Figure 13-18: An activity with InitialNode and ActivityFinalNode added.


UML Bible Figure 13-19: Adding a control flow name and connectors. by Tom Pender
ISBN:0764526049

John Wiley Sons node 2003 (940 Figure 13-20: Adding a& decision to pages) the Activity diagram.

Figure 13-21: Adding a merge node to diagram. comprehensive coverage of the the Activity versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve

For beginning to advanced users, this book provides

Figure 13-22: Simplifying the merge and decision node combination. timeliness, quality, and efficiency in development.
Companion Web Site Figure 13-23: Activity diagram fork and join notation. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

Figure 13-24: Combined fork and join notation. Figure 13-25: Adding object flows and nodes to the Activity diagram.

Preface Figure 13-26: Three icons for object nodes.


Part I - An Introduction to UML

Figure Notation Chapter 1 - 13-27: What Is UML? for input and output pins on actions in an Activity diagram.
Chapter 2 Chapter 3 UML Architecture Figure- 13-28: Central buffer node. - UML Diagrams and Extension Mechanisms

Chapter 4 - 13-29: Object-Oriented Concepts Figure Two activity partitions for a single activity.
Part II - Modeling Object Structure

Figure Alternative notation for in activity partitions. Chapter 5 - 13-30: Capturing Rules about Objects a Class Diagram
Chapter 6 Chapter 7 - 2.0 Testing with Objects OMG How to Capture Rules about Object Relationships Figure- 13-31: Modeling nested partitions.

Part III - Modeling Object Interactions

Chapter 8 - 13-32: Modeling Interactions in UML 1.4 Figure Modeling participation by an external entity. Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior

Figure 13-33: Alternative for modeling participation by an external entity. UML 2.0

- Modeling Interactions in UML 2.0

Chapter 11 - 13-34: Modeling an Object's Lifecycle in UML 2.0 Figure Adding a second dimension to the activity partitions. Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Figure FlowFinalNode. Chapter 13 - 13-35: Modeling Behavior Using an Activity Diagram


Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Figure 13-36: Appling local pre- and post conditions to an action.

Chapter 15 - 13-37: Modeling Software Using the Component Diagram Figure Preand post conditions on an activity. Chapter 16 - Using Deployment Diagrams in UML 1.4

Figure Addingan effects to an object flow. Chapter 17 - 13-38: Representing Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams


Part VII - Automating the UML Modeling Process

Figure 13-39: Modeling multicast and multi-receive mechanisms across partitions.

Chapter 19 - 13-40: Action Semantics Figure Adding selection criteria to an object flow. Chapter 20 - 13-41: Using a Modeling Tool Figure Specifying ordering on an object flow. Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Figure 13-42: Specifying an upper limit on an object flow.

Appendix A - 13-43: UML 1.4 Notation Guide Figure Specifying the valid states of an object. Appendix B - UML 2.0 Notation Guide

Figure Modeling a data store in an Activity diagram. Appendix C - 13-44: Standard Elements
Glossary Index

List of Figures

Figure 13-45: Adding exception parameter notation to an activity parameter node. OMG 2.0 modified

List ofFigure Tables13-46: Modeling the stream property on an activity parameter node. List ofOMG Listings 2.0

<sets Day for Day Up > Figure 13-47: Defining multiple parameter an action or activity. OMG 2.0

Figure 13-48: Modeling a join specification.


UML Bible by Tom Pender Figure 13-49: Modeling an interruptible activity region. OMG 2.0 John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage ofa the versatility of 1.4as and 2.0 UML Figure 13-50: UML 2.0 metamodel for structured activity defined within the StructuredActivities specifications, and shows how to use UML to improve package. OMG 2.0 timeliness, quality, and efficiency in development. Companion Web Site

Figure 13-51: The notation for an activity (left-solid rounded rectangle) and a structured activity (right a dashed and rounded rectangle with structured at the top).
<?xml version="1.0" encoding="ISO-8859-1"?> Table Figure of Contents 13-52: The metamodel for expansion regions and nodes. UML Bible

Figure 13-53: Notation for an expansion region with input (top) and output (bottom) expansion nodes. Preface
Part I - An Introduction to UML

Chapter 1

Figure 13-54: Notation for an expansion region with only one action.
- What Is UML?

Chapter 2 - 13-55: UML Architecture Figure Alternative notation for an expansion region with only one action, executed in parallel Chapter 3 - and UMLfor Diagrams and Extension mode, an unlimited number Mechanisms of executions. Chapter 4 Chapter 5 Chapter 7

Figure 13-56: Metamodel for Part II - Modeling Object Structure

- Object-Oriented Concepts

conditional nodes.

Chapter 6 - How to Capture Rules about Object Relationships conditional. - Testing with Objects
Part III - Modeling Interactions Figure 13-58:Object The StructuredActivities

Capturing Rules about Objects in a Class Diagram Figure- 13-57: Interim notation for a conditional node, an activity node with the stereotype

metamodel for a loop node.

OMG modified Chapter 8 - 2.0 Modeling Interactions in UML 1.4


Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior package.

Figure 13-59: Loop node notation with nested setup, test, and body activity nodes.

- Modeling Interactions in UML 2.0

Chapter 11 - 13-60: Modeling anmetamodel Object's Lifecycle in UML 2.0as extended in the CompleteStructuredActivities Figure The for a loop node Chapter 12 - 2.0 Modeling the Use of a System with the Use Case Diagram OMG modified Chapter 13 - Modeling Behavior Using an Activity Diagram

Figure 13-61: Notation for aArchitecture loop node with Part V - Modeling the Application
Chapter 14 - Modeling the Application Architecture

inputVariables and results.

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - 14-1: Representing an Architecture in UML 2.0 Figure Folder structure in Windows.
Part VI - Bringing Rigor to the Model

Chapter 14: Modeling the Application Architecture

Figure Package notation. Chapter 18 - 14-2: Applying Constraints to the UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool

Figure 14-3: Various notations for drawing a package and elements (classes in this example) within it. The package on the far left has a hyperlink to another diagram (not shown).

Chapter 21 - 14-4: Customizing UML Using Profiles Figure Package structure shows the organization of the project. Chapter 22 - XML Metadata Interchange

Figure The Overnight_Shipment class has an association to the Manager class of the Appendix A - 14-5: UML 1.4 Notation Guide Human_Resources package because its Product Orders package has an Access dependency Appendix B - UML 2.0 Notation Guide
Appendix C - Standard Elements

relationship to the Human_Resources package.

Glossary Figure 14-6: Example shows packages before merge and after merge. Index

14-7: Package diagram is drawn using a Class diagram. It shows all subpackages of a List ofFigure Figures
List ofpackage. Tables List of Listings

Figure 14-8: Alternative notations for subsystem grouping mechanism, which is a stereotype of a < Day Day Up > component in UML 2.0. Figure 14-9: Provided and required interfaces of subsystem components can be connected together in a ball-and-socket-style UML Bible manner. Figure 14-10: Subsystem contains specification and realization compartments.
For beginning tofor advanced users, this the book provides Figure 14-11: UML notation a model is either model stereotype for a package or the comprehensive coverage of the versatility of 1.4 and 2.0 UML triangular icon on a package. by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

Figure 14-12: Initial packaging of use cases during architectural analysis.


Companion Web Site

specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Figure 14-13: Regrouped packages. Analyze use cases.


<?xml Figure version="1.0" 14-14: encoding="ISO-8859-1"?> Robustness analysis yields analysis classes. Table of Contents

Figure 14-15: Analysis packages for hotel. UML Bible


Preface
Part I - An Introduction to UML

Figure 14-16: Mapping subsystems against physical deployment nodes.

Chapter 1 - 14-17: What Is UML? Figure Hotel reservation subsystem with specification and realization compartments and Chapter 2 - UML Architecture interfaces. Chapter 3 - UML Diagrams and Extension Mechanisms Figure Overall model, package, and subsystem structure of the hotel example. Chapter 4 - 14-18: Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5 Chapter 6

- Capturing Rules about Objects in a Class Diagram Chapter 15: Modeling Software Using the Component Diagram - How to Capture Rules about Object Relationships

Chapter 7 - 15-1: Testing with Objects Figure UML 1.4 metamodel for components. OMG 1.4
Part III - Modeling Object Interactions

Figure UML 2.0 metamodels Chapter 8 - 15-2: Modeling Interactions in UML for 1.4components.
Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - 15-4: Modeling an Object's Lifecycle in UML 2.0 Figure Component stereotype.
Part IV - Modeling Object Behavior

Figure 15-3: Component icon and name.

- Modeling Interactions in UML 2.0

Figure Interface notation using with a class stereotype. Chapter 12 - 15-5: Modeling the Use of a System the and Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure 15-6: Interface notation using the lollipop.

Chapter 14 - 15-7: Modeling the Application Architecture Figure Depending on access to a component's interface. Chapter 15 - Modeling Software Using the Component Diagram

Figure and dependency stereotypes. Chapter 16 - 15-8: UsingComponent Deployment dependencies Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Figure 15-9: A component implements artifacts and is specified by classes.

Chapter 18 - 15-10: Applying Constraints to the UML Diagrams Figure A component containing classes. Chapter 19 - Action Semantics

Figure 15-11: The relationship between component Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

interfaces and the interfaces of resident classes.

Figure 15-12: UML 2.0 redefines Component as a subclass of Class.

Chapter 22 - 15-13: XML Metadata Interchange Figure Changes to the component icon. Appendix A - UML 1.4 Notation Guide

Figure Component dependencies. Appendix B - 15-14: UML 2.0 Notation Guide


Appendix C - Standard Elements Glossary Index

Figure 15-15: A component is an abstraction associated with any number of realizations. Each realization is defined by a classifier.

List ofFigure Figures 15-16: Modeling realization using dependencies. List of Tables

15-17: Interface notation for provided and required interfaces. List ofFigure Listings

Figure 15-18: Connecting required and provided interfaces < Day Day Up > to form a partnership between components. Figure 15-19: Alternative notation for interfaces.
UML Bible

Figure 15-20: Component white box view. by Tom Pender Figure 15-21: Component containing realizations.
John Wiley & Sons 2003 (940 pages)

ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of thealone versatility of 1.4 2.0 UML Figure 15-22: Components and interfaces provide noand means to map their internal and external specifications, and shows how to use UML to improve mechanisms. timeliness, quality, and efficiency in development. Companion Web Site Figure 15-23: Modeling ports as the intersection between external interfaces and internal realizations.

<?xml version="1.0" encoding="ISO-8859-1"?> Table Figure of Contents 15-25: An assembly connector example. UML Bible

Figure 15-24: In a delegation connector, the external interface must match the realization interface.

Figure 15-26: Shorthand notation for assembly connectors. Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6

Figure 15-27: One port supporting multiple interfaces.


- What Is UML? - UML Architecture

Chapter 16: Using Deployment Diagrams in UML 1.4 - UML Diagrams and Extension Mechanisms
- Object-Oriented Concepts

Figure 16-1: Object UML 1.4 node metamodel. Part II - Modeling Structure

OMG 1.4

Figure 16-2: Nodes described with features - attributes, operations, and associations.
- How to Capture Rules about Object Relationships

- Capturing Rules about Objects in a Class Diagram

Chapter 7 - 16-3: Testing withnames Objects Figure Node on a Deployment diagram.


Part III - Modeling Object Interactions

Figure Association stereotype between nodes. Chapter 8 - 16-4: Modeling Interactions in UML 1.4
Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior

Figure 16-5: Modeling components contained within/residing on nodes.

- Modeling Interactions in UML 2.0

Chapter 11 - 16-6: Modeling an the Object's Lifecycle in UML 2.0 Figure Using deploy dependency stereotype to model containment.

Figure Migrating software using the the become stereotype. Chapter 12 - 16-7: Modeling the Use of a System with Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 17: Representing an Architecture in UML 2.0

Chapter 14 - Modeling the Application Architecture Chapter 15 - 17-1: Modeling Software Using the Component Diagram Figure UML 2.0 metamodel defines a parallel structure for components and artifacts. Chapter 16 - Using Deployment Diagrams in UML 1.4

Figure An example of the relationship between components and artifacts on a component Chapter 17 - 17-2: Representing an Architecture in UML 2.0 diagram. Part VI - Bringing Rigor to the Model
Chapter 19 - 2.0 Action Semantics OMG Chapter 18 - Applying Constraints to the UML Diagrams

Figure 17-3: Node metamodel.

Part VII - Automating the UML Modeling Process

Chapter 20 - 17-4: UsingNode a Modeling Tool tree. Figure inheritance Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - 17-6: UML 1.4 Guide Figure An Notation execution environment node that contains a component and runs within a device Appendix B UML 2.0 Notation node. (The gray shading Guide simply highlights the contained execution environment and component.) Appendix C - Standard Elements

Figure 17-5: Nested nodes.

Figure 17-7: Modeling nodes (left) versus node instances (right). Glossary
Index List of Figures

Figure 17-8: CommunicationPath is a subclass/specialization of association.

List ofFigure Tables17-9: Network topology using nodes in a Deployment diagram. List of Listings

Figure 17-10: Alternative node icons. Figure 17-11: Generalizing nodes.

< Day Day Up >

Figure 17-12: Artifact package metamodel. UML Bible


by Tom Pender used to create an artifact. Figure 17-13: Manifestations John Wiley & Sons 2003 (940 pages) OMG 2.0
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility ofan 1.4 and 2.0 UML Figure 17-14: The manifestation dependency between artifact and a model element. specifications, and shows how to use UML to improve Companion Web Site timeliness, quality, and efficiency in development. Figure 17-15: Alternative notation for artifacts.

Figure 17-16: Deployment metamodel. OMG 2.0


<?xml version="1.0" encoding="ISO-8859-1"?> 17-17: Types of deployment targets and deployed artifacts. Table Figure of Contents UML Bible Preface

Figure 17-18: Alternative notations for deploying an artifact on a node. Figure 17-19: Deployment specification metamodel.
- UML Architecture - Object-Oriented Concepts

Part I - An Introduction to UML

Chapter 1 - 2.0 What Is UML? OMG Chapter 2 Chapter 4 Chapter 5 Chapter 6 Chapter 7

Figure Deployment specification notation. Chapter 3 - 17-20: UML Diagrams and Extension Mechanisms
Part II - Modeling Object Structure

Figure 17-21: Modeling an artifact specification.


- Capturing Rules about Objects in a Class Diagram - Testing with Objects

Chapter 18: Constraints to the UML Diagrams - How to Applying Capture Rules about Object Relationships
syntax/metamodel.

Figure 18-1: A portion of the abstract Part III - Modeling Object Interactions
Chapter 9

OMG Chapter 8 - 2.0 Modeling Interactions in UML 1.4


Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - 18-3: Modeling an Object's Library. Lifecycle in UML 2.0 Figure OCL Standard
Part IV - Modeling OMG 2.0 Object Behavior

Figure 18-2: Sample Class diagram.

- Modeling Interactions in UML 2.0

Chapter 12 - Modeling the Use of a System with the Use Case Diagram

Figure Navigating an association class. Chapter 13 - 18-4: Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture

Figure 18-5: Navigating to an association class on a reflexive association.

Chapter 15 - 18-6: Modeling Software Using the Component Diagram Figure Sample partial state machine for Employee. Chapter 16 - Using Deployment Diagrams in UML 1.4

Figure OCL Collection classes. Chapter 17 - 18-7: Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process Figure 19-1: Data flow between pins with compatible types

Chapter 19: Action Semantics

and multiplicities.

Chapter 20 - Using a Modeling Tool

Figure ControlUML flowUsing indicating action sequence. Chapter 21 - 19-2: Customizing Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Figure 19-3: Implementation of an operation described using a procedure specification.

Appendix B - 19-4: UML 2.0 Notation Guide Figure A group action may receive a control flow. The control flow is implicitly passed to each Appendix C - Standard Elements subaction. Glossary Index

Figure 19-5: A group action is transparent to data flows. A data flow may be received by a subaction.

List ofFigure Figures 19-6: A slice containing elements from two collections. List of Tables

19-7: Actions with pins showing types and descriptive labels. List ofFigure Listings

< Day Day Up > Nested Action examples. Figure 19-8: ApplyFunctionAction, LiteralValueAction, and

Figure 19-9: Procedure outline showing argument and result pins.


UML Figure 19-10: PinsBible indicating an array inside an action. by Tom Pender
ISBN:0764526049

Figure 19-11: A hatched indicates a reference to a pin owned by a nested action. John Wiley &pin Sons 2003 (940 pages)
For beginning to advanced users, this book provides comprehensive coverage of theTool versatility of 1.4 and 2.0 UML Chapter 20: Using a Modeling specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

Figure 20-1: Modeling tool user interface with browser providing navigation. Figure 20-2: Displaying an item according to its stereotype, using user-supplied graphic metafiles.
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface Figure 21-1: Example of special icon to represent a class with stereotype boundary. You may either
Part Ishow - An Introduction UML a class in itsto rectangular

Chapter 21: Customizing UML Using Profiles


form or its iconized form.

Chapter 1 Chapter 2

Figure- 21-2: The Profiles package is dependent on the Core package of the UML infrastructure. UML Architecture

- What Is UML?

Chapter 3 - 21-3: UML Diagrams Extension Figure Contentsand of the ProfilesMechanisms package, providing the class structure of the mechanisms used Chapter 4 Object-Oriented Concepts to extend metamodels with profiles.
Part II - Modeling Object Structure

Figure Example the EJB profile and the Java profile being applied to the On-line Reservations Chapter 5 - 21-4: Capturing Rulesof about Objects in a Class Diagram package. Chapter 6 - How to Capture Rules about Object Relationships
Chapter 7
Part III - Modeling Object Interactions

Figure 21-5: Specifying that a metaclass is extended with a stereotype during metamodeling.

- Testing with Objects

Chapter 8 - 21-6: Modeling Interactions in UML 1.4 Figure Example EJB profile provided in UML 2.0 specification. Chapter 9 - Modeling Interactions in UML 2.0

Figure With the EJB profile applied to 1.4 the package in which you are modeling, new choices for Chapter 10 - 21-7: Modeling an Object's Lifecycle in UML stereotypes become available for a component. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling Application Architecture Figure 21-9:the Example of special icons for

Figure 21-8: Example of special icons for Boundary Class, Entity Class, and Control Class specified by the UML Profile for Business Modeling. Boundary Class, Entity Class, and Control Class applied to

Chapter 14 - Modeling the Application Architecture instances of classes on a Sequence diagram. Chapter 15 - Modeling Software Using the Component Diagram

Figure One example of stereotypes called out by the UML Profile for EAI - a Class diagram for Chapter 16 - 21-10: Using Deployment Diagrams in UML 1.4 a primitive operator, with input and output terminals, and message content passed through the Chapter 17 - Representing an Architecture in UML 2.0 terminal. Part VI - Bringing Rigor to the Model
Chapter 19 - Action Semantics Chapter 18 - Applying Constraints to the UML Diagrams
Part VII - Automating the UML Modeling Figure 21-12: Example of a Class Process diagram

Figure 21-11: Example of on-line brokerage provided by EAI Profile. for a compound operator with compound components.

Chapter 20 - Using a Modeling Tool

Figure The notation for Profiles a ProcessComponent. Chapter 21 - 21-13: Customizing UML Using
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide

Figure 21-14: Composite Component notation containing internal Usage ProcessComponents.

Appendix B - 21-15: UML 2.0 Notation Figure Notation ofGuide a Business Activity as specified by the Business Process Subprofile of the

EDOC. Appendix C - Standard Elements


Glossary Index

Figure 21-16: Example of a CompoundTask that contains internal Activities.

List ofFigure Figures 21-17: Structure of the Schedulability, Performance, and Time Profile. List of Tables

21-18: Basic structure of the UML Testing Profile. Each package contains the metamodel of a List ofFigure Listings

profile for a specific area of testing.

< Day Day Up >

Figure 21-19: Class symbol stereotyped as a Test Suite with four test cases.
UML Bible Chapter 22: XML Metadata Interchange
ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) Figure 22-1: Simple use case of a customer ordering a product. For beginning to advanced users, this book provides coverage of the for versatility 1.4 and 2.0 System UML Figure 22-2: comprehensive Package hierarchy presented XMI of of overall Order Use Case model. specifications, and shows how to use UML to improve quality, and efficiency in development. Figure 22-3: timeliness, XMI instance document, with taggedValue property expanded for Order Product Use

Case.

Companion Web Site

Figure 22-4: XMI 1.1 instance document, with TaggedValue property expanded for Order Product use
<?xml case. version="1.0" encoding="ISO-8859-1"?> Table of Contents

Figure 22-5: Overview of creation of Diagram Interchange DTD. UML Bible


Preface
Part I - An Introduction to UML

Appendix A: UML 1.4 Notation Guide


- What Is UML?

Chapter 1

Chapter 2 - A-1: UML Class Architecture Figure icon with the default name, attribute, and operation compartments, and a userChapter 3 - UML Diagrams and Extension Mechanisms defined compartment. Chapter 4 Chapter 5 Chapter 6 - Object-Oriented Concepts

Figure A-2: Four presentation Part II - Modeling Object Structure Figure A-3: Template class.

alternatives for classes with stereotypes.

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

Chapter 7 - A-4: Testing with Objects Figure Interface class notation.


Part III - Modeling Object Interactions

Figure Binary association Chapter 8 - A-5: Modeling Interactions in notation. UML 1.4
Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - A-7: Modeling an Object's Lifecycle in UML 2.0 Figure Constraints between associations.
Part IV - Modeling Object Behavior

Figure A-6: Reflexive association and roles notation.

- Modeling Interactions in UML 2.0

Figure Association Chapter 12 - A-8: Modeling the Usenavigability. of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure A-9: Ordering, derived association, and qualified association.

Chapter 14 - A-10: Modeling the Application Architecture Figure Association class notation. Chapter 15 - Modeling Software Using the Component Diagram

Figure association. Chapter 16 - A-11: Using N-ary Deployment Diagrams in UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Figure A-12: Aggregation and composition notation.

Chapter 18 - A-13: Applying Constraints to the UML Diagrams Figure Alternative composition notation. Chapter 19 - Action Semantics

Figure A-14: Generalization notation: complete Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

constraint, Power Type, ellipse, abstract class.

Figure A-15: Generalization notation: discriminator, disjoint and overlapping, constraints, and multiple inheritance.

Appendix A - A-16: UML 1.4 Notation Guide Figure Dependency notation between two packages (left) and two classes (right). Appendix B - UML 2.0 Notation Guide

Figure Class dependency notation. Appendix C - A-17: Standard Elements


Glossary Index

Figure A-18: Object notation.

List ofFigure Figures A-19: Using collaboration notation to define a design pattern. List of Tables

A-20: Implementing a design pattern (collaboration). List ofFigure Listings

Figure A-21: Sequence diagram notation.< Day Day Up > Figure A-22: Message types. Figure A-23: UML Recursive Bible message. Figure A-24: Object creation and termination.
by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

beginning to advanced users, this book provides Figure A-25: For Time constraints. timeliness, quality, and efficiency in development.

comprehensive coverage of the versatility of 1.4 and 2.0 UML

and shows how of to control). use UML to improve Figure A-26: specifications, Activation (also called focus

Figure A-27: Collaboration diagram notation. Companion Web Site Figure A-28: Statechart notation (1).
<?xml version="1.0" encoding="ISO-8859-1"?> A-29: When and after clauses. Table Figure of Contents UML Bible Preface

Figure A-30: Self-transition, and entry and exit actions. state.


- What Is UML? - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts

Part IFigure - An Introduction to UML A-31: Static branch

Chapter 1 Chapter 3 Chapter 4 Chapter 5 Chapter 7

Figure Dynamic choice point. Chapter 2 - A-32: UML Architecture Figure A-33: Composite state.

Part II - Modeling Structure Figure A-34: Object Deep and shallow

history.

- Capturing Rules about Objects in a Class Diagram - Testing with Objects

Figure Concurrent substates. Chapter 6 - A-35: How to Capture Rules about Object Relationships
Part III - Modeling Object Interactions

Figure A-36: Split and merge of control.

Chapter 8 - A-37: Modeling Interactions in UML Figure Submachine state and 1.4 stub states. Chapter 9 - Modeling Interactions in UML 2.0

Figure Synch states. Lifecycle in UML 1.4 Chapter 10 - A-38: Modeling an Object's
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure A-39: Send and receive signals.

Chapter 12 - A-40: Modeling the Usediagram of a System with the Use Case Diagram Figure Use Case notation. Chapter 13 - Modeling Behavior Using an Activity Diagram

Figure A-41:the Start, end, decision (split), and Part V - Modeling Application Architecture
Chapter 14 - Modeling the Application Architecture

merge.

Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - A-43: Using Activity, Deployment Diagrams UML 1.4 guard. Figure transition, andin transition Chapter 17 - Representing an Architecture in UML 2.0

Figure A-42: Fork and join notation.

Figure A-44:Rigor An Activity Part VI - Bringing to thediagram Model


Chapter 19 - Action Semantics

divided into three swimlanes and passing the Order object from one

activity the next. Chapter 18 - to Applying Constraints to the UML Diagrams


Part VII - Automating the UML Modeling Process

Figure A-45: Component diagram notation.

Chapter 20 - A-46: Using Alternative a Modeling notation Tool Figure for resident and implementing classes. Chapter 21 - Customizing UML Using Profiles

Figure Nodes defined as classifiers, with attributes and operations, at type and instance levels. Chapter 22 - A-47: XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

Figure A-48: Component diagram at type and instance levels.

Appendix C - A-49: Standard Elements of a component on a node instance. Figure Deployment Glossary IndexFigure A-50: Deployment of components on a node instance using containment. List of Figures List of Tables

Figure A-51: Packages as namespaces.

List ofFigure Listings A-52: Package containment notation alternatives.

Figure A-53: Access dependency. Figure A-54: Merge dependency.

< Day Day Up >

Bible notation alternatives. Figure A-55: UML Subsystem by Tom Pender


ISBN:0764526049

Figure A-56: John Subsystem notation. Wiley &interface Sons 2003 (940 pages) Figure A-57: comprehensive Subsystem realization. coverage of the versatility of 1.4 and 2.0 UML Figure A-58: timeliness, Model notation. quality, and efficiency in development.
specifications, and shows how to use UML to improve Companion Web Site For beginning to advanced users, this book provides

Appendix B: UML 2.0 Notation Guide


<?xml version="1.0" encoding="ISO-8859-1"?> Figure B-1: Class icon. Table of Contents UML Bible Figure B-2: Four presentation alternatives for classes with stereotypes. Preface

B-3: Interface class Part IFigure - An Introduction to UML


Chapter 1 Chapter 2 Chapter 4 Chapter 5 Chapter 6 - What Is UML? - UML Architecture

notation.

Figure B-4: Template class.


- Object-Oriented Concepts

Chapter 3 - B-5: UML Binary Diagrams and Extension Mechanisms Figure association notation.

Figure B-6: Reflexive association Part II - Modeling Object Structure

and roles notation.

Figure B-7: Constraints between associations.

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

Chapter 7 - B-8: Testing with Objects Figure Navigability.


Part III - Modeling Object Interactions

Figure Ordering, derived association, and qualified association. Chapter 8 - B-9: Modeling Interactions in UML 1.4
Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - B-11: Modeling an association. Object's Lifecycle in UML 2.0 Figure N-ary
Part IV - Modeling Object Behavior

Figure B-10: Association class notation.

- Modeling Interactions in UML 2.0

Figure Aggregation and composition notation. Chapter 12 - B-12: Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure B-13: Alternative composition notation.

Chapter 14 - B-14: Modeling the Application Architecture Figure Generalization notation: complete constraint, Power Type, ellipse, and abstract class. Chapter 15 - Modeling Software Using the Component Diagram

Figure notation: disjoint and overlapping constraints, and multiple Chapter 16 - B-15: Using Generalization Deployment Diagrams in discriminator, UML 1.4 inheritance. Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - B-17: ActionClass Semantics Figure dependency notation.
Part VII - Automating the UML Modeling Process

Figure B-16: Dependency notation between two packages (left) and two classes (right).

Figure notation. Chapter 20 - B-18: Using Object a Modeling Tool


Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange

Figure B-19: Using collaboration notation to define a design pattern.

Appendix A - B-20: UML 1.4 Notation Guide Figure Implementing a design pattern (collaboration). Appendix B - UML 2.0 Notation Guide

Figure Sequence diagram basic notation. Appendix C - B-21: Standard Elements


Glossary Index

Figure B-22: Message types.

List ofFigure Figures B-23: State invariant. List of Tables

B-24: Object creation and termination. List ofFigure Listings

Figure B-25: Duration constraints. Figure B-26: Time constraints. Figure B-27: UML Interaction Bible occurrence.

< Day Day Up >

Figure B-28: John Interaction occurrence. Wiley & Sons 2003 (940 pages)

by Tom Pender

ISBN:0764526049

beginning to advanced users, this book provides Figure B-29: For Interaction occurrence. timeliness, quality, and efficiency in development.

comprehensive coverage of the versatility of 1.4 and 2.0 UML

and shows how to use UML to improve Figure B-30: specifications, Interaction operators consider, ignore, and assert.

Figure B-31: Communication diagram Companion Web Site notation. Figure B-32: Interaction Overview notation.
<?xml version="1.0" encoding="ISO-8859-1"?> Table Figure of Contents B-33: Interaction Overview lifeline notation. UML Bible Preface

Figure B-34: Timing diagram notation. Figure B-35: Timing diagram alternative notation.
- What Is UML?

Part I - An Introduction to UML

Chapter 1 Chapter 3 Chapter 4 Chapter 5 Chapter 7 Chapter 8 Chapter 9

Chapter 2 - B-36: UML Architecture Figure Statechart notation (1).

Figure- B-37: When and after clauses. Object-Oriented Concepts

- UML Diagrams and Extension Mechanisms

Part II - Modeling Object Structure

Figure B-38: Self-transition, and entry and exit actions.

- Capturing Rules about Objects in a Class Diagram - Testing with Objects

Chapter 6 - B-39: How to Capture Rules about Object Relationships Figure Static branch state.

Figure B-40: Dynamic choice point. Part III - Modeling Object Interactions
Modeling Interactions in UML 1.4 Figure- B-41: Composite state. - Modeling Interactions in UML 2.0

Chapter 10 - B-42: Modeling an and Object's Lifecycle in UML 1.4 Figure Deep shallow history. Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Figure B-43: Object Concurrent substates. Part IV - Modeling Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling Applicationstate Architecture Figure B-45:the Submachine and stub

Figure B-44: Split and merge of control.

states.

Chapter 14 - Modeling the Application Architecture

Figure Synch statesUsing (Sync state still appears in the UML 2.0 glossary but is not part of the UML Chapter 15 - B-46: Modeling Software the Component Diagram
Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - B-47: Representing an Architecture insend UML 2.0 Figure Action specification with and receive signals.
Part VI - Bringing Rigor to the Model

2.0 specification.)

Chapter 18 - B-48: Applying Constraints to the UML Diagrams Figure Activity and completion transition. Chapter 19 - Action Semantics

Figure B-49: Two ways to model common Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

transitions.

Figure B-50: Protocol state machine and generalization.

Chapter 22 - B-51: XML Metadata Interchange Figure Use Case diagram notation.

Figure B-52: Start, end, decision (split), and merge.

Appendix C - B-53: Standard Elements Figure Fork and join notation. Glossary IndexFigure B-54: Activity, transition, and transition guard. List of Figures List of Tables

Figure B-55: Component diagram notation.

List ofFigure Listings B-56: Alternative notation for realizing classes.

Day Day Up > Figure B-57: Nodes defined as classifiers,< with attributes and operations, at type and instance levels.

Figure B-58: Component diagram at type and instance levels.


Bible Figure B-59: UML Artifacts that implement components. by Tom Pender
ISBN:0764526049

Wiley & Sons 2003 (940 pages) Figure B-60: John Deployment of a component on a node instance.

Figure B-61: comprehensive Deployment specification. coverage of the versatility of 1.4 and 2.0 UML
specifications, and shows how to use UML to improve quality, and efficiency in development. Figure B-62: timeliness, Deployed components. Companion Web Site Figure B-63: Packages as namespaces. <?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible

For beginning to advanced users, this book provides

Figure B-64: Package containment notation alternatives. Figure B-65: Access dependency.

Preface Figure B-66: Merge dependency.


Part I - An Introduction to UML

Figure notation alternatives. Chapter 1 - B-67: What Subsystem Is UML?


Chapter 2 Chapter 3

Figure B-68: Subsystem interface notation.

- UML Architecture

- UML Diagrams and Extension Mechanisms

Chapter 4 - B-69: Object-Oriented Concepts Figure Subsystem realization.


Part II - Modeling Object Structure

Figure Model notation. Chapter 5 - B-70: Capturing Rules about Objects in a Class Diagram
Chapter 6 Chapter 7 - How to Capture Rules about Object Relationships - Testing with Objects Glossary

Part III - Modeling Object Interactions

Chapter 8 - GL-1: Modeling Interactions infor UML 1.4 Figure Notation options abstract classes. Chapter 9 - Modeling Interactions in UML 2.0

Figure Action sequence notation. Chapter 10 - GL-2: Modeling an Object's Lifecycle in UML 1.4
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure GL-3: Activation in a Sequence diagram (UML 1.4).

Chapter 12 - GL-4: Modeling Use of a System with the Use Case Diagram Figure An the active object modeled using a bold outline. Chapter 13 - Modeling Behavior Using an Activity Diagram

Figure GL-5: Activity partitions. Part V - Modeling the Application Architecture


Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - GL-7: Using Aggregation Deployment Diagrams in 1.4diamond. Figure symbol is aUML hollow Chapter 17 - Representing an Architecture in UML 2.0

Figure GL-6: An actor icon in a Use Case diagram.

Figure GL-8:Rigor Two to associations Part VI - Bringing the Model


Chapter 19 - Action Semantics

between the same pair of classes.

Chapter 18 - Applying Constraints to the UML Diagrams


Part VII - Automating the UML Modeling Process Figure GL-10: Attribute compartment.

Figure GL-9: Here Contract is an association class.

Chapter 20 - Using a Modeling Tool

Figure Parent and child classes in an inheritance hierarchy/tree. Chapter 21 - GL-11: Customizing UML Using Profiles
Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Glossary Index

Figure GL-12: Class icon examples include fully expanded (top), suppressed attributes and operations (bottom left), and stereotype icon (bottom right).

Appendix C - GL-13: Standard Elements Figure Template class.

Figure GL-14: Class/static attribute notation (underline the attribute declaration).

List ofFigure Figures GL-15: Collaboration diagram example. List of Tables

GL-16: A collaboration occurrence to explain an operation. List ofFigure Listings

Day Day Upthat > it references. Figure GL-17: Comment icon attached to < the attribute

Figure GL-18: Class compartments' notations.


UML Bible Figure GL-19: Component icons for UML 1.4 and 2.0. UML 1.4 defines a single generic type of ISBN:0764526049 by 2.0 Tom Pender interface. UML differentiates between provided and required interfaces. John Wiley & Sons 2003 (940 pages)

Figure GL-20: Component diagram examples from UML 1.4 and UML 2.0. For beginning to advanced users, this book provides Figure GL-21: Composite states. specifications, and shows how to use UML to improve Figure GL-22: Composite Structure diagram example.
Companion Web Site timeliness, quality, and efficiency in development. comprehensive coverage of the versatility of 1.4 and 2.0 UML

Figure GL-23: Composition notation (solid diamond).


<?xml Figure version="1.0" GL-24: encoding="ISO-8859-1"?> Abstract and concrete classes in an inheritance hierarchy/tree. Table of Contents UML Bible Figure GL-25: Concurrency in an Activity diagram. Preface

GL-26: Concurrent Part IFigure - An Introduction to UML


Chapter 1 Chapter 2 - What Is UML? - UML Architecture

substates.

Figure GL-27: Conditional node.

Chapter 3 - GL-28: UML Diagrams and on Extension Mechanisms Figure Constraint an association end (using freeform text). Chapter 4 - Object-Oriented Concepts

Figure GL-29: Physical containment Part II - Modeling Object Structure


Chapter 5 Chapter 6

and a containment hierarchy are two ways to model containment.

Figure GL-30: Dependency notation.

- Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships

Chapter 7 - GL-31: Testing Deployment with Objects diagram example. Figure


Part III - Modeling Object Interactions

Figure A Interactions derived association. Chapter 8 - GL-32: Modeling in UML 1.4


Chapter 9 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - GL-34: Modeling an Object's in UML 2.0 Figure Entry actions Lifecycle in a state icon.
Part IV - Modeling Object Behavior

Figure GL-33: Disjoint substates.

- Modeling Interactions in UML 2.0

Figure Event on a state transition. Chapter 12 - GL-35: Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Figure GL-36: Expansion region.

Chapter 14 - GL-37: Modeling the Application Architecture Figure The extend relationship between use cases. Chapter 15 - Modeling Software Using the Component Diagram

Figure Extension notation for adding stereotypes to a metaclass. Chapter 16 - GL-38: Using Deployment Diagrams indynamically UML 1.4
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Figure GL-39: Final state notation.

Chapter 18 - GL-40: Applying Constraints toa the UML Diagrams Figure Focus class in component in a Deployment diagram. Chapter 19 - Action Semantics

Figure GL-41: Focus of control in a Sequence diagram. Part VII - Automating the UML Modeling Process
Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles

Figure GL-42: Generalization hierarchy/tree.

Chapter 22 - GL-43: XML Metadata Interchange Figure A guard condition ([amount=totalPrice]) on the transition event receivePayment. Appendix A - UML 1.4 Notation Guide

Figure Import dependency between packages. Appendix B - GL-44: UML 2.0 Notation Guide
Appendix C - Standard Elements Glossary

Figure GL-45: Include relationship between use cases.

IndexFigure GL-46: Initial state icon pointing to an initial state. List of Figures List ofFigure TablesGL-47: Interaction overview diagram. List of Listings

Figure GL-48: Interface notation alternatives. < Day Day Up > Figure GL-49: Objects and links. Figure GL-50: List compartment example. UML Bible
by Tom node. Pender Figure GL-51: Loop
ISBN:0764526049

John Wiley & Sons 2003 (940 pages) comprehensive coverage of the versatility of 1.4 and 2.0 UML

Figure GL-52: Multiple inheritance example. For beginning to advanced users, this book provides
specifications, and how to(ends). use UML to improve Figure GL-53: Multiplicity on anshows association timeliness, quality, and efficiency in development.

Figure GL-54: Name compartment notation for a class. Companion Web Site Figure GL-55: N-ary association.
<?xml version="1.0" encoding="ISO-8859-1"?> GL-56: Node notation for Deployment diagram. Table Figure of Contents UML Bible Preface

Figure GL-57: Object notation.

Part IFigure - An Introduction to UML GL-58: Object diagram.

Chapter 1 Chapter 3 Chapter 4 Chapter 5 Chapter 7

- What Is UML? Figure Object flow notation alternatives. Chapter 2 - GL-59: UML Architecture UML Diagrams and Extension Mechanisms Figure- GL-60: Object lifelines. - Object-Oriented Concepts

Part II - Modeling Object Structure Figure GL-61: Package diagram

example.

- Capturing Rules about Objects in a Class Diagram

Figure merge. Chapter 6 - GL-62: How to Package Capture Rules about Object Relationships
Part III - Modeling Object Interactions

Testing with Objects Figure- GL-63: Part notation within a Composite Structure diagram.

Chapter 8 - GL-64: Modeling Interactions in UML Figure Input and output pins 1.4 on a component. Chapter 9 - Modeling Interactions in UML 2.0

Figure Ports on the parts of ain Composite Chapter 10 - GL-65: Modeling an Object's Lifecycle UML 1.4 Structure diagram.
Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Figure GL-66: Powertypes (Solo, Group, and so forth) used to specify two overlapping generalizations.

Chapter 12 - GL-67: Modeling the Use interfaces of a System with the Use Case Figure Provided are shown on left ofDiagram the figure, to easily distinguish them from the Chapter 13 - Modeling Behavior Using an right Activity Diagram required' interface symbol on the of the figure.
Part V - Modeling the Application Architecture

Figure Qualified association. Chapter 14 - GL-68: Modeling the Application Architecture


Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - GL-70: Representing an Architecture in UML 2.0 Figure Refinement dependency.
Part VI - Bringing Rigor to the Model

Figure GL-69: Realization dependency.

Figure Role names on associations. Chapter 18 - GL-71: Applying Constraints to the UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Figure GL-72: Sequence diagram example.

Chapter 20 - GL-73: Using a Two Modeling Tool Figure forms of the state icon are elided (left) and expanded (right). Chapter 21 - Customizing UML Using Profiles

Figure Alternative forms of stereotyped class notation. Chapter 22 - GL-74: XML Metadata Interchange
Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Glossary Index

Figure GL-75: Structured activity.

Appendix C - GL-76: Standard Elements Figure Superclass-subclass relationship in an inheritance hierarchy/tree.

Figure GL-77: A submachine state within a composite state.

List ofFigure Figures GL-78: Subpackages within a package. List of Tables

GL-79: Non-orthogonal (single/same region) and orthogonal (concurrent) are two types of List ofFigure Listings

substates.

< Day Day Up >

Figure GL-80: UML 1.4 Subsystem stereotypes on packages. In UML 2.0 the package symbol is replaced by a simple rectangle with the subsystem stereotype. Figure GL-81: Synch state.
UML Bible
ISBN:0764526049 by Tom Pender John Wiley & Sons 2003 (940 pages) Figure GL-82: Transition with event, guard, and action. For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML Figure GL-83: Use Case diagram example. specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

Companion Web Site

< Day Day Up >

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible List of Tables by Tom Pender John Wiley & Sons 2003 (940 pages)

ISBN:0764526049

Chapter 2: For UML Architecture beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, shows how to use UML to improve Table 2-1: The Four-Layer and Architecture (OMG 1.4) timeliness, quality, and efficiency in development.

Table 2-2: Comparison of UML 1.4 and 2.0 Diagrams Companion Web Site
<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents Preface

Chapter 5: Capturing Rules about Objects in a Class Diagram

Table 5-1: Comparison of entity and control Stereotypes UML Bible


Part I - An Introduction to UML

Table 5-2: Visibility Symbols

Chapter 1 What Is Use UML? Table 5-3: The of Properties for Collection Types Chapter 2 - UML Architecture

Table 5-4: Preand Post in a Simple Request/Response Chapter 3 UML Diagrams andConditions Extension Mechanisms
Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9
Part II - Modeling Object Structure

Table 5-5: Pre- and Post Conditions in a Complex Request/Response


- Capturing Rules about Objects in a Class Diagram - Testing with Objects

- Object-Oriented Concepts

Chapter 6: to How toRules Capture Rules about Object Relationships - How Capture about Object Relationships
for memberEnd Features Table 6-2: AggregationKind in UML 1.4 and 2.0
- Modeling Interactions in UML 2.0 - Modeling Interactions in UML 1.4

Table 6-1: Summary of Notations Part III - Modeling Object Interactions

Chapter 10 Modeling Object's Lifecycle in UML 1.4 Table 6-3: Usingan isCovering and isDisjoint Together Chapter 11 - Modeling an Object's Lifecycle in UML 2.0

Table 6-4: Predefined Dependency Types Part IV - Modeling Object Behavior


Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 7: Testing with Objects

Chapter 14 Modeling the Application Architecture Table 7-1: Comparison of the Class and Object Diagrams Chapter 15 - Modeling Software Using the Component Diagram

Table 7-2: Examples of ClassifierRole Name Chapter 16 Using Deployment Diagrams in UML 1.4 Variations
Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 8: Modeling Interactions in UML 1.4

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 Action Semanticsof Behavioral Diagrams Between UML 1.4 and UML 2.0 Table 8-1: Comparison
Part VII - Automating the UML Modeling Process

Table 8-2: Updated Class Operations Chapter 20 Using a Modeling Tool


Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B UML 2.0 Notation Guide Table 9-1: Features of the UML 2.0 Sequence Diagram Appendix C - Standard Elements

Chapter 9: Modeling Interactions in UML 2.0

Chapter 12: Modeling the Use of a System with the Use Case Diagram List of Figures
Glossary Index List of Tables List of Listings

Table 12-1: Include versus Extend

Table 12-2: Use Case Narrative for SelectPerformance < Day Day Up >

Chapter 13: Modeling Behavior Using an Activity Diagram


UML Bible

Table 13-1: Activity by TomDiagram Pender Notation in UML 1.4 and 2.0 Table 13-2: A Use Case Narrative for Receive Product
John Wiley & Sons 2003 (940 pages)

ISBN:0764526049

Chapter 17: Representing an Architecture in UML 2.0


Companion Web Site Table 17-1: Deployment Diagram in UML 1.4 and UML 2.0

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development.

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Table 18-1: OCL Infix Operators Preface

Chapter 18: Applying Constraints to the UML Diagrams

18-2: Iterator Part ITable - An Introduction toExpressions UML


Chapter 1 Chapter 2 Chapter 3 - What Is UML?

Chapter 21: Customizing UML Using Profiles - UML Architecture

- UML Diagrams and Extension Mechanisms Table 21-1: UML Profile for Software Development Processes Chapter 4 Object-Oriented Concepts
Part II - Modeling Object Structure

Chapter 5 Chapter 7 Chapter 8 Chapter 9

Table 21-2: UML Profile for Business Modeling Capturing Rules about Objects in a Class Diagram
- Testing with Objects

Chapter 6 How UML to Capture Rules about Object Relationships Table 21-3: Profile for Web Application Extensions
Part III - Modeling Object Interactions

Chapter 22: XML Metadata Interchange - Modeling Interactions in UML 1.4


Table 22-1: Content Model Operators
- Modeling Interactions in UML 2.0

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 Modeling an Object's Lifecycle inDeclarations UML 2.0 Table 22-2: Various Element Content
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Appendix C: Standard Elements


Table C-1: Standard Elements

Chapter 14 - Modeling the Application Architecture Chapter 15 Modeling Software Using the Component Diagram Table C-2: Retired Standard Elements Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

< Day Day Up > Chapter 18 - Applying Constraints to the UML Diagrams
Chapter 19 - Action Semantics
Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible List of Listings by Tom Pender John Wiley & Sons 2003 (940 pages)

ISBN:0764526049

Chapter 22: XML Metadata Interchange For beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML shows Product how to use UML to improve Listing 22-1: specifications, XMI 1.0 Code and for Order Use Case timeliness, quality, and efficiency in development.

Listing 22-2: UML.DTD of XMI 1.0 for Use Case Definition Companion Web Site Listing 22-3: XMI 1.1 DTD Section for Use Cases
<?xml version="1.0" encoding="ISO-8859-1"?> 22-4: Tagged Values Specified in XMI 1.1 DTD Table Listing of Contents UML Bible Preface
Part I - An Introduction to UML

< Day Day Up >

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

< Day Day Up >

UML Bible List of Sidebars by Tom Pender John Wiley & Sons 2003 (940 pages)

ISBN:0764526049

Chapter 1: For What Is UML? beginning to advanced users, this book provides
comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve MDA Success Stories timeliness, quality, and efficiency in development. Companion Web Site Chapter 2: UML Architecture <?xml Links version="1.0" encoding="ISO-8859-1"?> to the UML 2.0 RFPs Table of Contents UML Bible Preface

Chapter 4: Object-Oriented Concepts


Recommended Reading on Design Principles
- What Is UML? - UML Architecture

Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

Chapter 6: Diagrams How to Capture Rules about Object Relationships - UML and Extension Mechanisms
- Object-Oriented Concepts

Avoiding Dangerous Notation Part II - Modeling Object Structure

Defaults

- Capturing Rules about Objects in a Class Diagram - Testing with Objects - Modeling Interactions in UML 1.4

- How to Modeling Capture Rules about Object Relationships Chapter 10: an Object's Lifecycle in UML 1.4

Part III - Modeling Object Interactions State attributes

- Modeling Interactions in UML 2.0 Chapter 12: Modeling the Use of a System with the Use Case Diagram Chapter 11 - Modeling an Object's Lifecycle in UML 2.0 Chapter 10 - Modeling an Object's Lifecycle in UML 1.4
Part IV - Modeling Object Behavior

Why This Way? Chapter 12Is - It Modeling the Use of a System with the Use Case Diagram
Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Workflow Requirements

Chapter 14 - Modeling the Application Architecture Avoiding Analysis Paralysis Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4
Part VI - Bringing Rigor to the Model

Chapter 17 - Representing an Architecture in UML 2.0

Chapter 15: Modeling Software Using the Component Diagram


Modeling Business Processes

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 18: Applying Constraints to the UML Diagrams

Chapter 20 - Using a Modeling Tool

Backward Compatibility Chapter 21 - Customizing UML Using Profiles


Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide

Chapter 19: Action Semantics

Why Action Specifications? Appendix CSoftware-Platform-Independent - Standard Elements


Glossary Index

Chapter 22: XML Metadata Interchange

List of Figures List ofThe Tables Unisys Extensions List of Listings

< Day Day Up > < Day Day Up >

UML Bible by Tom Pender John Wiley & Sons 2003 (940 pages)
ISBN:0764526049

For beginning to advanced users, this book provides comprehensive coverage of the versatility of 1.4 and 2.0 UML specifications, and shows how to use UML to improve timeliness, quality, and efficiency in development. Companion Web Site

<?xml version="1.0" encoding="ISO-8859-1"?> Table of Contents UML Bible Preface


Part I - An Introduction to UML

Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9

- What Is UML? - UML Architecture - UML Diagrams and Extension Mechanisms - Object-Oriented Concepts - Capturing Rules about Objects in a Class Diagram - How to Capture Rules about Object Relationships - Testing with Objects - Modeling Interactions in UML 1.4 - Modeling Interactions in UML 2.0

Part II - Modeling Object Structure

Part III - Modeling Object Interactions

Chapter 10 - Modeling an Object's Lifecycle in UML 1.4 Chapter 11 - Modeling an Object's Lifecycle in UML 2.0
Part IV - Modeling Object Behavior

Chapter 12 - Modeling the Use of a System with the Use Case Diagram Chapter 13 - Modeling Behavior Using an Activity Diagram
Part V - Modeling the Application Architecture

Chapter 14 - Modeling the Application Architecture Chapter 15 - Modeling Software Using the Component Diagram Chapter 16 - Using Deployment Diagrams in UML 1.4 Chapter 17 - Representing an Architecture in UML 2.0
Part VI - Bringing Rigor to the Model

Chapter 18 - Applying Constraints to the UML Diagrams Chapter 19 - Action Semantics


Part VII - Automating the UML Modeling Process

Chapter 20 - Using a Modeling Tool Chapter 21 - Customizing UML Using Profiles Chapter 22 - XML Metadata Interchange Appendix A - UML 1.4 Notation Guide Appendix B - UML 2.0 Notation Guide Appendix C - Standard Elements Glossary Index List of Figures List of Tables List of Listings

You might also like