Details

UML 2 Toolkit


UML 2 Toolkit


OMG, Band 26 2. Aufl.

von: Hans-Erik Eriksson, Magnus Penker, Brian Lyons, David Fado

40,99 €

Verlag: Wiley
Format: PDF
Veröffentl.: 04.11.2003
ISBN/EAN: 9780764555190
Sprache: englisch
Anzahl Seiten: 552

DRM-geschütztes eBook, Sie benötigen z.B. Adobe Digital Editions und eine Adobe ID zum Lesen.

Beschreibungen

Gain the skills to effectively plan software applications and systems using the latest version of UML<br /> <br /> UML 2 represents a significant update to the UML specification, from providing more robust mechanisms for modeling workflow and actions to making the modeling language more executable. Now in its second edition, this bestselling book provides you with all the tools you'll need for effective modeling with UML 2. The authors get you up to speed by presenting an overview of UML and its main features. You'll then learn how to apply UML to produce effective diagrams as you progress through more advanced topics such as use-case diagrams, classes and their relationships, dynamic diagrams, system architecture, and extending UML. The authors take you through the process of modeling with UML so that you can successfully deliver a software product or information management system.<br /> <br /> With the help of numerous examples and an extensive case study, this book teaches you how to:<br /> * Organize, describe, assess, test, and realize use cases<br /> * Gain substantial information about a system by using classes<br /> * Utilize activity diagrams, state machines, and interaction diagrams to handle common issues<br /> * Extend UML features for specific environment or domains<br /> * Use UML as part of a Model Driven Architecture initiative<br /> * Apply an effective process for using UML<br /> <br /> <br /> The CD-ROM contains all of the UML models and Java?TM code for a complete application, Java?TM 2 Platform, Standard Edition, Version 1.4.1, and links to the Web sites for vendors of UML 2 tools.
<p>OMG Press Books in Print xiv</p> <p>About the OMG xvii</p> <p>2003 OMG Press Advisory Board xix</p> <p>Preface for the Second Edition xxi</p> <p>About the Authors xxv</p> <p>Acknowledgments xxvii</p> <p><b>Chapter 1 What Is UML? 1</b></p> <p>The Purpose of Modeling 2</p> <p>Software Development, Methods, and Models 4</p> <p>The Method Wars 6</p> <p>Acceptance of UML 8</p> <p>The Object Management Group 9</p> <p>Unified Modeling Language Elements 9</p> <p>Methods and Modeling Languages 10</p> <p>Object-Oriented Software Development 11</p> <p>Concepts of Object Orientation 12</p> <p>Business Engineering 13</p> <p>Disciplines of System Development 13</p> <p>Requirements 14</p> <p>Analysis 14</p> <p>Design 14</p> <p>Implementation 15</p> <p>Test 15</p> <p>Relevant Changes in UML 2 15</p> <p>Summary 17</p> <p><b>Chapter 2 An Overview of UML 19</b></p> <p>Views 21</p> <p>Use-Case View 22</p> <p>Logical View 23</p> <p>Implementation View 23</p> <p>Process View 23</p> <p>Deployment View 24</p> <p>Diagrams 24</p> <p>Use-Case Diagram 24</p> <p>Class Diagram 25</p> <p>Object Diagram 25</p> <p>State Machines 26</p> <p>Activity Diagram 28</p> <p>Interaction Diagrams 29</p> <p>Sequence Diagram 29</p> <p>Communication Diagram 30</p> <p>Interaction Overview Diagram 31</p> <p>Component Diagram 32</p> <p>Deployment Diagram 32</p> <p>Composite Structure Diagram 33</p> <p>Model Elements 34</p> <p>General Mechanisms 36</p> <p>Adornments 36</p> <p>Comments 37</p> <p>Specifications 37</p> <p>Extending UML 38</p> <p>Stereotypes 39</p> <p>Tagged Values 40</p> <p>Constraints 40</p> <p>Model Driven Architecture with UML 41</p> <p>Software Development Process and UML 43</p> <p>Tools 45</p> <p>Drawing Support 47</p> <p>Model Repository 47</p> <p>Navigation 48</p> <p>Multiuser Support 49</p> <p>Code Generation 49</p> <p>Reverse Engineering 50</p> <p>Integration 50</p> <p>Interchange of Models 51</p> <p>Tool Options 52</p> <p>Relevant Changes in UML 2 53</p> <p>Summary 55</p> <p><b>Chapter 3 Use-Case Modeling 57</b></p> <p>Basics of Use Cases 58</p> <p>Use-Case Diagram 60</p> <p>System 61</p> <p>Actors 62</p> <p>Finding Actors 63</p> <p>Actors in UML 64</p> <p>Relationships between Actors 65</p> <p>Use Cases 66</p> <p>Finding Use Cases 67</p> <p>Use Cases in UML 67</p> <p>Relationships between Use Cases 68</p> <p>Generalization Relationship 68</p> <p>Extend Relationship 69</p> <p>Include Relationship 70</p> <p>Organizing Use Cases 71</p> <p>Describing Use Cases 74</p> <p>Assessing Use Cases 76</p> <p>Testing Use Cases 77</p> <p>Use Cases and Requirements Management 78</p> <p>Realizing Use Cases 79</p> <p>Relevant Changes in UML 2 83</p> <p>Summary 84</p> <p><b>Chapter 4 Classes, Objects, and Their Relationships 87</b></p> <p>Classes and Objects 87</p> <p>Class Diagram 90</p> <p>Finding Classes 90</p> <p>Name Compartment 91</p> <p>Attributes Compartment 92</p> <p>Java Implementation 95</p> <p>Operations Compartment 95</p> <p>Using Primitive Types 99</p> <p>Relationships 99</p> <p>Associations 100</p> <p>Normal Association 100</p> <p>Object Diagram 103</p> <p>Recursive Association 103</p> <p>Java Implementation 104</p> <p>Roles in an Association 106</p> <p>Qualified Association 106</p> <p>Xor Constraint 108</p> <p>Ordered Association 109</p> <p>Association Class 109</p> <p>Ternary Association 110</p> <p>Aggregation 111</p> <p>Aggregate 112</p> <p>Shared Aggregation 112</p> <p>Composition Aggregation 113</p> <p>Generalization 115</p> <p>Basic Generalization 116</p> <p>Advanced Generalization 123</p> <p>Generalization Set 123</p> <p>Powertype 125</p> <p>Dependencies and Abstractions 126</p> <p>Constraints, Expressions, and Derivations 128</p> <p>Interfaces and Ports 131</p> <p>Java Implementation 133</p> <p>Ports 134</p> <p>Packages 135</p> <p>Templates 140</p> <p>Relevant Changes in UML 2 141</p> <p>Summary 142</p> <p><b>Chapter 5 Dynamic Modeling 145</b></p> <p>State Machines 147</p> <p>States and Transitions 147</p> <p>Event-Signature 151</p> <p>Guard-Condition 152</p> <p>Action-Expression 153</p> <p>Send-Clause 154</p> <p>Events 155</p> <p>Java Implementation 157</p> <p>Sending Messages Between State Machines 159</p> <p>Substates 160</p> <p>Entry, Exit, and Terminate Indicators 161</p> <p>History Indicator 162</p> <p>Activity Diagrams 163</p> <p>Actions and Edges 163</p> <p>Activity Partitions 166</p> <p>Objects 168</p> <p>Signals 169</p> <p>Pins 170</p> <p>Business Modeling with Activity Diagrams 171</p> <p>Interaction Diagrams 173</p> <p>Sequence Diagrams 174</p> <p>Generic and Instance Form 174</p> <p>Concurrent Objects 176</p> <p>Combined Fragments 176</p> <p>Interaction Occurrences 179</p> <p>Creating and Destroying Objects 179</p> <p>Recursion 180</p> <p>Interaction Overviews 180</p> <p>Communication Diagrams 182</p> <p>Message Labels 183</p> <p>Using Communication Diagrams 185</p> <p>Relevant Changes in UML 2 188</p> <p>Summary 188</p> <p><b>Chapter 6 Advanced Dynamic Modeling Illustrated by Real-Time Systems 191</b></p> <p>What Is a Real-Time System? 191</p> <p>Attributes of a Real-Time System 192</p> <p>Types of Real-Time Systems 192</p> <p>Concepts in UML for Real-Time Systems 193</p> <p>Active Classes and Active Objects 193</p> <p>Active Class Implementation 194</p> <p>Active Object Interactions 194</p> <p>Communication 195</p> <p>Events and Triggers 197</p> <p>Signals 198</p> <p>Messages 199</p> <p>Synchronization and Concurrency 200</p> <p>Synchronization Issues 201</p> <p>Synchronization Mechanisms 202</p> <p>Fault Tolerance 203</p> <p>Implementation in Java 204</p> <p>UML Time Elements 205</p> <p>Real-Time Modeling in UML Diagrams 206</p> <p>Activity Diagrams 207</p> <p>The Token Flow Model in Activity Diagrams 207</p> <p>Chocolate Factory: Streaming Input and Output Example 208</p> <p>Processing Applications: Expansion Regions and Structured Activities 210</p> <p>Investment Simulation: Interruptible Regions and Storage 213</p> <p>House Alarm: Static Structure for Dynamic Messages 216</p> <p>Static Diagrams 216</p> <p>Detailed Activity Diagram Showing Message Handling 221</p> <p>Interaction Diagrams 223</p> <p>Communication Diagrams 223</p> <p>Basic Sequence Diagram 224</p> <p>Advanced Sequence Diagrams with Combined Fragments 227</p> <p>Timing Diagrams 230</p> <p>Behavioral State Machines 231</p> <p>Handling Active Classes and Objects 231</p> <p>State Machine Regions and Concurrency 232</p> <p>Handling Triggers on Events in Composite States 234</p> <p>Transitions and Synchronization 235</p> <p>Complex State Machines and Run-to-Completion Semantics 236</p> <p>State Machine Redefinition and Reuse 238</p> <p>Protocol State Machines 239</p> <p>Advanced Modeling, Design, and Optimization 241</p> <p>Design Overview 242</p> <p>Modeling Processes and Threads with Objects 242</p> <p>Designing Active Classes 243</p> <p>Design and the Implementation Environment 244</p> <p>Approaches to Showing Behavioral Diagrams 244</p> <p>Performance Optimization 246</p> <p>Design Optimization 247</p> <p>Optimization and the Operating System 247</p> <p>Relevant Changes in UML 2 248</p> <p>Summary 249</p> <p><b>Chapter 7 Representing Architecture 251</b></p> <p>Logical Architecture 254</p> <p>Logical Architecture Structure 254</p> <p>Components 255</p> <p>Collaborations 257</p> <p>Composite Structure Diagrams 258</p> <p>Patterns in Architecture 258</p> <p>The Proxy Pattern 261</p> <p>Modeling Patterns in UML 263</p> <p>Showing Patterns in Diagrams 266</p> <p>Patterns and Use Cases 269</p> <p>Physical Architecture 270</p> <p>Hardware 270</p> <p>Software 271</p> <p>Component Diagram 272</p> <p>Deployment Diagram 273</p> <p>Nodes 274</p> <p>Communication Paths 275</p> <p>Deployed Artifacts 275</p> <p>Allocating Artifacts to Nodes 276</p> <p>Relevant Changes in UML 2 277</p> <p>Summary 278</p> <p><b>Chapter 8 Extending UML 281</b></p> <p>Standard Extensions Overview 282</p> <p>Tagged Values and Properties 283</p> <p>Standard Tag Value Examples 284</p> <p>Tag Value from a Profile 285</p> <p>Defining Your Own Tagged Values 286</p> <p>Stereotypes 287</p> <p>Creating a Stereotype 287</p> <p>Examples of UML Stereotypes 289</p> <p>Metainformation 289</p> <p>Dependency Stereotypes 289</p> <p>Customization with Components 290</p> <p>Stereotypes Applied to Deployment Artifacts 291</p> <p>Utility 292</p> <p>Use Case Stereotypes 293</p> <p>Signal 293</p> <p>Control, Boundary, and Entity 295</p> <p>Stereotypes for Creation and Destruction 298</p> <p>Retired Standard Stereotypes 299</p> <p>Defining Your Own Stereotypes 299</p> <p>Constraints 301</p> <p>Examples of UML Constraints 302</p> <p>Constraints for Associations 302</p> <p>Constraints for Association Roles and Properties 303</p> <p>Defining Your Own Constraints 304</p> <p>A Language for Expressing Constraints 306</p> <p>OCLMetamodel 306</p> <p>Basic Structure of OCL Expressions 308</p> <p>Invariants, Preconditions, and Postconditions 308</p> <p>Language Architecture and Kernel Overview 310</p> <p>High-Level Language Constructs 310</p> <p>Reviewing the UML Kernel 312</p> <p>The Profile Package 318</p> <p>Architecture Overview Summary and Observations 321</p> <p>Relevant Changes in UML 2 321</p> <p>Summary 322</p> <p><b>Chapter 9 Model Driven Architecture 325</b></p> <p>MDAEvolution and Goals 326</p> <p>Background and General Goals 326</p> <p>Model Levels 329</p> <p>Model Compilers 332</p> <p>Mapping the Many Elements of MDA 333</p> <p>From the Business Model to PIM and PSM 335</p> <p>The High-Level Review 335</p> <p>Defining Functionality with No Platform 339</p> <p>Platform-Specific Models 340</p> <p>Information Management Solution 342</p> <p>Tips for Modeling in the MDAWorld 343</p> <p>Modeling for Business and Functional Analysis 343</p> <p>Modeling for the Software Architect 344</p> <p>Modeling for the Developer 345</p> <p>High-Level Assessment of MDA Opportunities 347</p> <p>Opportunities 347</p> <p>A Necessary Evolutionary Step for Increased Coordination 347</p> <p>Cost-Aware MDA 348</p> <p>Warnings 350</p> <p>Too Much Modeling Overhead and Complexity 350</p> <p>Lack of Universality in Tool Implementation 351</p> <p>Untested Behavioral Modeling 351</p> <p>Misuse of MDA 351</p> <p>Summary 352</p> <p><b>Chapter 10 A Process for Using UML 353</b></p> <p>Defining and Understanding Software-Engineering Processes 354</p> <p>Process Context 355</p> <p>Process User 356</p> <p>Process Steps 356</p> <p>Problem Formulation 357</p> <p>Solution Design 358</p> <p>Implementation Design 358</p> <p>Process Evaluation 358</p> <p>The Basis for a UML Process 359</p> <p>Use-Case-Driven Systems 360</p> <p>Architecture-Centric Approach 360</p> <p>Iterative Approach 361</p> <p>Incremental Approach 363</p> <p>A Traditional Object-Oriented Method 365</p> <p>Requirements 366</p> <p>Analysis 367</p> <p>Design 368</p> <p>Implementation 370</p> <p>Test 371</p> <p>The Unified Process 373</p> <p>The Life Cycle 374</p> <p>Inception 375</p> <p>Elaboration 376</p> <p>Construction 376</p> <p>Transition 376</p> <p>Comparing the Unified Process to a Traditional Process 377</p> <p>Process Tools 378</p> <p>Model Quality 380</p> <p>What Is a Good Model? 381</p> <p>Can You Communicate the Model? 381</p> <p>Does the Model Fit Its Purpose? 382</p> <p>Does the Model Capture the Essentials? 382</p> <p>Naming Conventions 382</p> <p>Model Coordination 383</p> <p>Model Complexity 383</p> <p>Summary 383</p> <p><b>Chapter 11 Case Study 387</b></p> <p>Requirements 389</p> <p>Developing a Vision 390</p> <p>Modeling Use Cases 391</p> <p>Establishing the Domain Model 394</p> <p>Analysis 396</p> <p>Performing Use-Case Analysis 397</p> <p>Not UML? How Can That Be? 401</p> <p>Design 403</p> <p>Designing the Architecture 404</p> <p>System Structure 404</p> <p>Architectural Mechanisms 406</p> <p>Design Patterns 407</p> <p>Design Policies 409</p> <p>Performing Detailed Design 410</p> <p>business Package 411</p> <p>presentation Package 411</p> <p>Use-Case Design 412</p> <p>Designing the User Interface 415</p> <p>Implementation 415</p> <p>Test and Deployment 418</p> <p>Summary 420</p> <p>Exercises 420</p> <p>Requirements and Analysis Exercises 420</p> <p>Design and Construction Exercises 421</p> <p>Appendix A Visual Glossary 423</p> <p>Appendix B Glossary 461</p> <p>Appendix C References 475</p> <p>Appendix D What’s on the CD-ROM? 479</p> <p>Index 485</p> <p>End-User License Agreement 513</p> <p>GNU General Public License 515</p>
<b>HANS-ERIK ERIKSSON</b> has more than 15 years of experience in system development and software architecture. He is the author of six books in the field, including Business Modeling with UML: Business Practices at Work (Wiley). <p><b>MAGNUS PENKER</b> is senior advisor and consultant to both public authorities and international top management and has over 10 years’ experience in business processes and object-oriented analysis and design.</p> <p><b>BRIAN LYONS</b> is Chairman, CTO, and co-founder of Number Six Software, Inc., a Washington, D.C.-based software development outsourcing company. Mr. Lyons is a leading expert in object-oriented technology and iterative development techniques.</p> <p><b>DAVID FADO</b> works as a software architect for Number Six Software, Inc., focusing on information and financial management systems as well as simulations. Dr. Fado has relied on UML and development support tools for many successful projects.</p>
Gain the skills to effectively plan software applications and systems using the latest version of UML <p>UML 2 represents a significant update to the UML specification, from providing more robust mechanisms for modeling workflow and actions to making the modeling language more executable. Now in its second edition, this bestselling book provides you with all the tools you’ll need for effective modeling with UML 2. The authors get you up to speed by presenting an overview of UML and its main features. You’ll then learn how to apply UML to produce effective diagrams as you progress through more advanced topics such as use-case diagrams, classes and their relationships, dynamic diagrams, system architecture, and extending UML. The authors take you through the process of modeling with UML so that you can successfully deliver a software product or information management system.</p> <p>With the help of numerous examples and an extensive case study, this book teaches you how to:</p> <ul> <li>Organize, describe, assess, test, and realize use cases</li> <li>Gain substantial information about a system by using classes</li> <li>Utilize activity diagrams, state machines, and interaction diagrams to handle common issues</li> <li>Extend UML features for specific environment or domains</li> <li>Use UML as part of a Model Driven Architecture initiative</li> <li>Apply an effective process for using UML</li> </ul> <p>The CD-ROM contains all of the UML models and Java<sup><small>TM</small></sup> code for a complete application, Java<sup><small>TM</small></sup> 2 Platform, Standard Edition, Version 1.4.1, and links to the Web sites for vendors of UML 2 tools.</p>

Diese Produkte könnten Sie auch interessieren:

Domain Architectures
Domain Architectures
von: Daniel J. Duffy
PDF ebook
31,99 €