ebook img

UML 2 and the Unified Process _ Practical Object-Oriented Analysis and Design PDF

614 Pages·2005·14.289 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview UML 2 and the Unified Process _ Practical Object-Oriented Analysis and Design

UML2 and the nified Process, Second Edition The Addison-Wesley Object Technology Series Grady Booch, Ivar Jacobson, and James Rumbaugh, Series Editors For more information, check out the series web site at www.awprofessional.com/otseries. Ahmed/Unuysh, Developing Ente1prise Java Applications with J2E£fM Kruchten, 17w Rational Unified Process, 3E: An Introduction andUML LaLonde, Discovering Smalltalk Arlow/Neustadt, Ente,prise Patterns and MDA: Building Better Software Lau, The A11 ofO bjects: Object-Oriented Design and An:hitecture with Archetype Patterns and UML Leffingwell/Widrig, Managing Software Requirements, 2E: A Use Case Arlow/Neustadt, UML 2 and the Unified Process, Second Edition Approach Armour/Miller, Advanced Use Case Modeling: Software Systems Manassis, Practical Software Engilweling: Analysis and Design for the Bellin/Simone, The CRC Card Book .NET Plaifonn Bergstrom/Raberg, Adopting the Rational Unified Process: Success with Marshall, Ente,prise Modeling with UML: Designing Succesefitl Software theRUP through Busilwss Analysis Binder, Testing Object-Oriented Systems: Models, Patterns, and Tools McGregor/Sykes, A Practical Guide to Testing Object-Oliented Software Bittner/Spence, Use Case Modeling Mellor/Balcer, Executable UML· A Foundation for Model-Dliven Booch, Object Solutions: Managing the Object-Oriented Project Architecture Booch, Object-OlientedAnalysis and Design with Applications, 2E Mellor et al., MDA Distilled: Plinciples ofM odel-Dliven Architecture Booch/Bryan, Software Engineeling with ADA, 3E Naiburg/Maksimchuk, UMLforDatabase Design Booch/Rurnbaugh/Jacobson, The Unified Modeling Language User Oestereich, Developing Software with UML, 2E: Object-Oliented Guide, Second Edition Analysis and Design in Practice Box et al., Effective COM: 50 Ways to Improve Your COM and MTS Page-Jones, Fundamentals ofO bject-Oriented Design in UML based Applications Pohl, Object-O1iented Programming Using C++, 2E Buckley/Pulsipher, 17w Arl ofC learCase® Deployment Pollice et al. Software Development for Small Teams: A RUP-Centric Carlson, Modeling XML Applications with UML: Practical Approach e-Busbwss Applications Quatrani, Visual Modeling with Rational Rose 2002 and UML Clarke/Baniassad, Aspect-O,iented Analysis and Design Rector/Sells, ATL Internals Collins, Designing Object-Oliented User Inteifaces Reed, Developing Applications with Visual Basic and UML Conallen, Building Web Applications with UML, 2E Rosenberg/Scott, Applying Use Case Dliven Object Modeling with UML: Denney, Succeeding with Use Cases An A111wtated e-Commerce Example D'Souza/Wills, Objects, Components, and Frameworks with UML: 17w Rosenberg/Scott, Use Case Dliven Object Modeling with UML· Catalysis( SM) Approach A Practical Approach Douglass, Doing Hard Time: Developing Real-1inw Systems with UML, Royce, Software Project Management: A Unified Framework Objects, Fra,neworks, and Patterns Rurnbaugh/Jacobson/Booch, The Unified Modeling Language Reference Douglass, Real-Time Design Patterns: Robust Scalable Architecture for Manual Real-Time Systems Schneider/Wmters, Applying Use Cases, 2E: A Practical Guide Douglass, Real 1inw UML, 3E: Advances in The UML for Real-Time Smith, IBM Smalltalk Systems Smith/Williams, Peifonnance Solutions: A Practical Guide to Creating E.eles et al., Building J2E£fM Applications with the Rational Unified Process Responsive, Scalable Software Fowler, Analysis Patterns: Reusable Object Models Thach/Fang/So, Visual Modeling Technique Fowler, UML Distilled, 3E: A Brief Guide to the Standard Object Thach/Puttick, Object Tech,wlogy in Application Development, Second Modeling Language Edition Fowler et al., Refactoring: Improving the Design ofE xisting Code Unhelkar, Process Quality Assurance for UML-Based Projects Gomaa, Designing Concurrent, Distributed, and Real-Time Applications Warmer/Kleppe, 171e Object Constraint Language, 2E: Getting Your withUML Models Ready for MDA Gomaa, Designing Software Product Lilws with UML White, Software Configuration Manage1nent Strategies and Rational Heinckiens, Building Scalable Database Applications: Object-O,iented ClearCase®: A Practical Introduction Design, Architectures, and Implementations The Component Software Series Hofmeister/Nord/Dilip, Applied Software Architecture Clemens Szyperski, Series Editor Jacobson/Booch/Rurnbaugh, The Unified Software Development Process For more information, check out the series web site at Jacobson/Ng, Aspect-O1iented Software Development with Use Cases www.awprofessional.com/csseries. Jordan, C++ Object Databases: Progra,mning with the ODMG Standard Cheesman/Daniels, UML Components: A Simple Process for Specifying Kleppe/Warmer/Bast, MDA Explained: 17w Model Dliven Component-Based Software Architecture™: Practice and Promise Szyperski, Component Software, 2E: Beyond Object-Oliented Kroll/Kruchten, The Rational Unified Process Made Easy: A Programming Practitioner's Guide to the RUP JIM ARLOW AND ILA NEUSTADT UM an th 2 Unifie Pr C ' Se nd E iti n Practical Object-Oriented Analysis and Design .,,"'-.,, Addison-Wesley Upper Saddle River, NJ • Boston• Indianapolis • San Francisco New York• Toronto• Montreal• London• Munich• Paris• Madrid Capetown• Sydney• Tokyo• Singapore• Mexico City Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The UML™ logo is a trademark or registered trademark of the Object Management Group, Inc., in the United States and other countries. The authors and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. The publisher offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales, which may include electronic versions and/or custom covers and content particular to your business, training goals, marketing focus, and branding interests. For more information, please contact: U.S. Corporate and Government Sales (800) 382-3419 [email protected] For sales outside the U.S., please contact: International Sales [email protected] Visit us on the Web: www.awprofessional.com Library of Congress Cataloging-in-Publication Data Arlow, Jim, 1960- UML 2 and the unified process : practical object-oriented analysis and design / Jim Arlow, Ila Neustadt.- 2nd ed. p. cm. Includes bibliographical references and index. ISBN 0-321-32127-8 (pbk.: alk. paper) 1. Object-oriented methods (Computer science) 2. Computer software--Development. 3. UML (Computer science) I. Neustadt, Ila. IL Title. QA76.9.O35A74 2005 005.l'l-dc22 2005004126 Copyright© 2005 Pearson Education, Inc. All rights reserved. Printed in the United States of America. This publication is protected by copyright, and permission must be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. For information regarding permissions, write to: Pearson Education, Inc. Rights and Contracts Department One Lake Street Upper Saddle River, NJ 07 458 ISBN 0-321-32127-8 Text printed in the United States on recycled paper at Courier in Westford, Massachusetts. Second printing, February 2006 To our parents Contents Acknowledgments xvii Preface xix Part1 Introducing UML and UP 1 1 What is UML? 3 1.1 Chapter roadmap 3 1.2 What is UML? 5 1.3 The birth of UML 5 1.4 MDA - the future of UML 7 1.5 Why "unified"? 9 1.6 Objects and UML 10 1.7 UML structure 10 1.8 UML building blocks 11 1.9 UML common mechanisms 15 1.10 Architecture 23 1.11 What we have learned 24 2 What is the Unified Process? 27 2.1 Chapter roadmap 27 2.2 What is UP? 28 2.3 The birth of UP 29 2.4 UP and the Rational Unified Process 32 2.5 Instantiating UP for your project 34 2.6 UP axioms 34 2.7 UP is an iterative and incremental process 35 2.8 UP structure 37 2.9 UP phases 39 2.10 What we have learned 44 ix x Contents 3 The requirements workflow 49 3.1 Chapter roadmap 49 3.2 The requirements workflow 51 3.3 Software requirements - metamodel 52 3.4 Requirements workflow detail 53 3.5 The importance of requirements 55 3.6 Defining requirements 55 3.7 Finding requirements 61 3.8 What we have learned 65 4 Use case modeling 67 4.1 Chapter roadmap 67 4.2 Use case modeling 69 4.3 UP activity: Find actors and use cases 69 4.4 UP activity: Detail a use case 77 4.5 Use case specification 78 4.6 Requirements tracing 90 4.7 When to apply use case modeling 91 4.8 What we have learned 92 5 Advanced use case modeling 95 5.1 Chapter roadmap 95 5.2 Actor generalization 97 5.3 Use case generalization 99 5.4 «include» 102 5.5 «extend» 105 5.6 When to use advanced features 110 5.7 Hints and tips for writing use cases 111 5.8 What we have learned 113 PartJ Analysis 117 6 The analysis workflow 119 6.1 Chapter roadmap 119 6.2 The analysis workflow 120 Contents xi 6.3 Analysis artifacts - metamodel 121 6.4 Analysis workflow detail 122 6.5 Analysis model - rules of thumb 122 6.6 What we have learned 124 7 Objects and classes 125 7.1 Chapter roadmap 125 7.2 What are objects? 127 7.3 UML object notation 131 7.4 What are classes? 132 7.5 UML class notation 136 7.6 Scope 147 7.7 Object construction and destruction 148 7.8 What we have learned 151 8 Finding analysis classes 155 8.1 Chapter roadmap 155 8.2 UP activity: Analyze a use case 157 8.3 What are analysis classes? 158 8.4 Finding classes 163 8.5 Creating a first-cut analysis model 171 8.6 What we have learned 172 9 Relationships 175 9.1 Chapter roadmap 175 9.2 What is a relationship? 177 9.3 What is a link? 177 9.4 What is an association? 180 9.5 What is a dependency? 195 9.6 What we have learned 201 10 Inheritance and polymorphism 205 10.1 Chapter roadmap 205 10.2 Generalization 206 10.3 Class inheritance 208 10.4 Polymorphism 211 10.5 Advanced generalization 215 10.6 What we have learned 221 • 0 ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• xii Contents 11 Analysis packages 223 11.1 Chapter roadmap 223 11.2 What is a package? 224 11.3 Packages and namespaces 226 11.4 Nested packages 227 11.5 Package dependencies 228 11.6 Package generalization 231 11.7 Architectural analysis 231 11.8 What we have learned 235 12 Use case realization 239 12.1 Chapter roadmap 239 12.2 UP activity: Analyze a use case 241 12.3 What are use case realizations? 242 12.4 Use case realization - elements 243 12.5 Interactions 244 12.6 Lifelines 244 12.7 Messages 246 12.8 Interaction diagrams 248 12.9 Sequence diagrams 249 12.10 Combined fragments and operators 256 12.11 Communication diagrams 264 12.12 What we have learned 268 13 Advanced use case realization 273 13.1 Chapter roadmap 273 13.2 Interaction occurrences 274 13.3 Continuations 279 13.4 What we have learned 281 14 Activity diagrams 283 14.1 Chapter roadmap 283 14.2 What are activity diagrams? 284 14.3 Activity diagrams and the UP 285 14.4 Activities 286 14.5 Activity semantics 288 14.6 Activity partitions 290 14.7 Action nodes 293

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.