The Unified Modeling Language Reference Manual (The Addison-Wesley Object Technology Series)
معرفی کتاب «The Unified Modeling Language Reference Manual (The Addison-Wesley Object Technology Series)» نوشتهٔ James Rumbaugh, Ivar Jacobson, Grady Booch، منتشرشده توسط نشر Addison-Wesley Professional در سال 1999. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
This book has 4 parts. Part 1, Background, contains an UML Overview - UML summary, goals, complexity, assessment and concept areas - and a short overview on models, their meaning and purposes. Part 2, UML Concepts, contains an UML Walkthrough that summarizes all UML views, followed by short chapters on each one of the views, one on Profiles and one on the UML Environment. Part 3 contains the Reference. Part 4 contains appendices. Part 3, the Reference, actually what the book has been edited for, contains a Dictionary of Terms listed in alphabetical order. Each entry is structured as follows: The entry name, a short definition of a few sentences, the semantics of the term, its notation and, as necessary, a discussion and the history. This is a reference book, not a user's guide nor a tutorial. It acts as a dictionary to UML terms and mainly follows the same principles as for an English language dictionary. It's not unusual for a definition sentence of an entry to call another entry that in turn calls another one, and so on. Entry descriptions are mostly given in text form, with the support of figures wherever necessary. Language is often elaborate, not always straightforward. However, taken into account the detailed terms coverage and description provided in this book, few of them really remain inaccessible. As for an English language dictionary, the linear reading of this book will be of little help to the learning of the language. Contents 7 Preface 11 Goals 11 Outline of the Book 12 Encyclopedia Article Formatting Conventions 13 Brief definition 13 Semantics 13 Notation 14 Example 14 Discussion 14 Standard elements 14 Syntax Conventions 14 CD 15 For More Information 15 Acknowledgments 16 Part 1: Background 19 UML Overview 21 Brief Summary of UML 21 UML History 22 Object-oriented development methods 22 Unification effort 23 Standardization 24 Core team 24 What does unified mean? 25 Goals of UML 26 UML Concept Areas 27 Syntax of Expressions and Diagrams 29 The Nature and Purpose of Models 31 What Is a Model? 31 What Are Models For? 31 Levels of Models 33 What Is in a Model? 35 What Does a Model Mean? 37 Part 2: UML Concepts 39 UML Walkthrough 41 UML Views 41 Static View 43 Use Case View 44 Interaction View 45 Sequence diagram 46 Collaboration diagram 47 State Machine View 48 Activity View 49 Physical Views 50 Model Management View 54 Extensibility Constructs 55 Connections Among Views 56 Static View 59 Overview 59 Classifiers 60 Relationships 63 Associations 65 Generalization 69 Inheritance 70 Multiple inheritance 71 Single and multiple classification 72 Static and dynamic classification 72 Realization 72 Dependencies 74 Constraint 76 Instances 77 Object diagram 78 Use Case View 81 Overview 81 Actor 81 Use Case 82 State Machine View 85 Overview 85 State Machine 85 Event 86 State 88 Transition 89 Composite States 93 Activity View 99 Overview 99 Activity Diagram 99 Activities and Other Views 102 Interaction View 103 Overview 103 Collaboration 103 Interaction 104 Sequence Diagram 105 Activation 106 Collaboration Diagram 107 Patterns 109 Physical Views 111 Overview 111 Component 111 Node 112 Model Management View 115 Overview 115 Package 115 Dependencies on Packages 116 Access and Import Dependency 116 Model and Subsystem 118 Extension Mechanisms 119 Overview 119 Constraint 119 Tagged Value 120 Stereotypes 121 Tailoring UML 122 UML Environment 123 Overview 123 Semantics Responsibilities 123 Notation Responsibilities 124 Programming Language Responsibilities 125 Modeling with Tools 126 Tool issues 126 Inconsistent models for work in progress 127 Null and unspecified values 127 Part 3: Reference 129 Encyclopedia of Terms 131 abstract 131 abstract class 135 abstract operation 135 abstraction 136 access 137 action 140 action expression 144 action sequence 144 action state 144 activation 145 active 147 active class 148 active object 149 active state configuration 151 activity 151 activity diagram 152 activity expression 152 activity graph 153 activity state 160 activity view 162 actor 162 actual parameter 164 aggregate 164 aggregation 164 analysis 168 analysis time 168 ancestor 168 architecture 168 argument 169 artifact 170 association 170 association (binary) 175 association (n-ary) 175 association class 175 association end 178 association generalization 181 association role 182 asynchronous action 183 atomic 183 attribute 184 background information 188 become 189 behavior 190 behavioral feature 190 behavioral view 190 binary association 190 bind 191 binding 191 Boolean 192 Boolean expression 192 bound element 192 branch 195 call 198 call event 198 canonical notation 200 cardinality 200 change event 201 changeability 202 child 203 class 203 class diagram 208 class-in-state 208 class name 210 classifier 211 classifier role 212 client 213 collaboration 213 collaboration diagram 221 collaboration role 221 combination 223 comment 224 communication association 224 compartment 225 compile time 226 completion transition 226 complex transition 227 component 234 component diagram 240 composite aggregation 240 composite class 240 composite object 241 composite state 241 composition 244 concrete 251 concurrency 252 concurrent substate 252 conditional thread 252 conflict 252 constraint 253 construction 256 constructor 256 container 256 context 257 control flow 257 control icons 258 copy 261 creation 262 current event 264 data type 265 data value 266 default value 267 deferred event 267 delegation 267 dependency 268 deployment 270 deployment diagram 270 deployment view 272 derivation 272 derived element 272 descendant 274 descriptor 274 design 275 design time 275 destroy 275 destruction 275 development process 276 diagram 278 direct class 279 direct instance 280 discriminator 280 disjoint substate 282 distribution unit 282 dynamic classification 282 dynamic concurrency 283 dynamic view 283 elaboration 283 element 283 entry action 284 enumeration 285 event 285 exception 287 exit action 288 export 289 expression 289 extend 290 extension point 296 extent 297 feature 298 final state 298 fire 299 flow 300 focus of control 301 font usage 301 fork 302 formal argument 302 framework 302 friend 303 full descriptor 303 functional view 303 generalizable element 304 generalization 305 graphic marker 309 guard condition 309 guillemets 310 history state 310 hyperlink 311 identity 312 ill formed 312 ill-formed 312 implementation 313 implementation class 313 implementation inheritance 313 implementation view 314 import 314 inactive 314 inception 314 include 315 incremental development 317 indirect instance 317 inheritance 317 initial state 318 initial value 321 initialization 321 instance 322 instance of 324 instantiable 324 instantiate 324 instantiation 325 intent 326 interaction 326 interaction diagram 327 interaction view 328 interface 328 interface inheritance 332 interface specifier 333 internal transition 334 invariant 335 iteration expression 336 iterative development 337 join 337 junction state 338 keyword 340 label 340 language type 341 layer 341 leaf 341 lifeline 342 link 343 link end 345 list 345 location 348 many 349 member 349 merge 349 message 351 metaclass 358 meta-metamodel 358 metamodel 358 metaobject 358 metarelationship 358 method 358 model 360 model element 361 model management view 361 modeling time 362 module 362 multiobject 362 multiple classification 363 multiple inheritance 363 multiplicity 364 multiplicity (of association) 366 multiplicity (of attribute) 367 multiplicity (of class) 367 n-ary association 368 name 371 namespace 371 navigability 372 navigable 374 navigation 374 navigation efficiency 374 node 375 note 377 object 378 object diagram 381 object flow 381 object flow state 382 object lifeline 385 object set expression 385 OCL 385 operation 387 ordering 392 orthogonal substate 395 owner scope 395 package 396 parameter 399 parameter list 401 parameterized element 401 parent 401 participates 402 passive object 402 path 402 pathname 404 pattern 405 permission 406 persistent object 407 polymorphic 407 postcondition 409 powertype 410 precondition 410 presentation element 411 primitive type 412 private 412 private inheritance 412 procedure expression 413 process 413 product 413 projection 414 property 414 property list 414 protected 415 pseudoattribute 415 pseudostate 415 public 416 qualifier 416 query 422 realization 423 realize 425 receive 425 receiver 425 reception 425 reference 426 refine 427 refinement 427 reification 428 reify 429 relationship 429 repository 430 request 430 requirement 431 responsibility 431 reuse 432 role 432 rolename 432 run time 434 run-time 434 run to completion 434 run-to-completion 434 scenario 434 scope 435 self-transition 436 semantic variation point 436 semantics 437 send 437 sender 441 sequence diagram 441 sequence number 445 signal 445 signal event 447 signature 447 simple state 448 simple transition 448 single classification 448 single inheritance 448 singleton 448 snapshot 449 source scope 449 source state 449 specialization 449 specification 450 stages of modeling 450 state 451 state machine 457 state machine view 466 statechart diagram 466 static classification 466 static view 466 stereotype 467 string 470 structural feature 471 structural view 471 stub state 472 stubbed transition 472 subclass 473 submachine 473 submachine reference state 474 substate 476 substitutability principle 476 subsystem 476 subtype 478 summarization 478 superclass 479 supertype 479 supplier 479 swimlane 479 synch state 481 synchronous action 485 system 485 tag 485 tagged value 485 target scope 487 target state 488 template 488 thread 492 time 492 time event 492 time expression 493 timing mark 494 trace 494 transient link 495 transient object 496 transition (phase) 496 transition 496 transition time 501 trigger 501 triggerless transition 502 tuple 502 type 502 type expression 504 uninterpreted 504 unspecified value 504 usage 505 use 506 use case 506 use case diagram 512 use case generalization 512 use case instance 514 use case model 514 use case view 514 utility 514 value 515 vertex 515 view 515 visibility 515 well formed 516 well-formed 516 Standard Elements 517 access 517 association 517 become 518 bind 518 call 518 complete 518 copy 518 create 519 derive 519 destroy 519 destroyed 520 disjoint 520 document 520 documentation 520 enumeration 520 executable 520 extend 521 facade 521 file 521 framework 521 friend 521 global 522 implementation 522 implementationClass 522 implicit 522 import 522 include 523 incomplete 523 instanceOf 523 instantiate 523 invariant 523 leaf 524 library 524 local 524 location 524 metaclass 524 new 524 overlapping 525 parameter 525 persistence 525 postcondition 525 powertype 525 precondition 526 process 526 refine 526 requirement 526 responsibility 526 self 526 semantics 527 send 527 stereotype 527 stub 527 system 527 table 528 thread 528 trace 528 transient 528 type 528 use 529 utility 529 xor 529 Part 4: Appendices 531 UML Metamodel 533 UML Definition Documents 533 Metamodel Structure 533 Foundation Package 534 Core 534 Data types 534 Extension mechanisms 534 Behavioral Elements Package 534 Common behavior 534 Collaborations 534 Use cases 534 State machines 534 Model Management Package 535 Notation Summary 537 Process Extensions 549 Tailoring the UML 549 Software Development Process Extensions 549 Organizational Stereotypes 550 Class stereotypes 550 Association stereotypes 551 Business Modeling Extensions 552 Organizational stereotypes 552 Class stereotypes 552 Association stereotypes 553 Bibliography 555 Index 557 A 557 B 558 C 558 D 560 E 560 F 561 G 561 H 561 I 562 J 562 K 562 L 562 M 563 N 563 O 564 P 564 Q 565 R 565 S 565 T 567 U 568 V 568 W 568 X 568 Y 568 Z 568 Contents......Page 7 Goals......Page 11 Outline of the Book......Page 12 Semantics......Page 13 Syntax Conventions......Page 14 For More Information......Page 15 Acknowledgments......Page 16 Part 1: Background......Page 19 Brief Summary of UML......Page 21 Object-oriented development methods......Page 22 Unification effort......Page 23 Core team......Page 24 What does unified mean?......Page 25 Goals of UML......Page 26 UML Concept Areas......Page 27 Syntax of Expressions and Diagrams......Page 29 What Are Models For?......Page 31 Levels of Models......Page 33 What Is in a Model?......Page 35 What Does a Model Mean?......Page 37 Part 2: UML Concepts......Page 39 UML Views......Page 41 Static View......Page 43 Use Case View......Page 44 Interaction View......Page 45 Sequence diagram......Page 46 Collaboration diagram......Page 47 State Machine View......Page 48 Activity View......Page 49 Physical Views......Page 50 Model Management View......Page 54 Extensibility Constructs......Page 55 Connections Among Views......Page 56 Overview......Page 59 Classifiers......Page 60 Relationships......Page 63 Associations......Page 65 Generalization......Page 69 Inheritance......Page 70 Multiple inheritance......Page 71 Realization......Page 72 Dependencies......Page 74 Constraint......Page 76 Instances......Page 77 Object diagram......Page 78 Actor......Page 81 Use Case......Page 82 State Machine......Page 85 Event......Page 86 State......Page 88 Transition......Page 89 Composite States......Page 93 Activity Diagram......Page 99 Activities and Other Views......Page 102 Collaboration......Page 103 Interaction......Page 104 Sequence Diagram......Page 105 Activation......Page 106 Collaboration Diagram......Page 107 Patterns......Page 109 Component......Page 111 Node......Page 112 Package......Page 115 Access and Import Dependency......Page 116 Model and Subsystem......Page 118 Constraint......Page 119 Tagged Value......Page 120 Stereotypes......Page 121 Tailoring UML......Page 122 Semantics Responsibilities......Page 123 Notation Responsibilities......Page 124 Programming Language Responsibilities......Page 125 Tool issues......Page 126 Null and unspecified values......Page 127 Part 3: Reference......Page 129 abstract......Page 131 abstract operation......Page 135 abstraction......Page 136 access......Page 137 action......Page 140 action state......Page 144 activation......Page 145 active......Page 147 active class......Page 148 active object......Page 149 activity......Page 151 activity expression......Page 152 activity graph......Page 153 activity state......Page 160 actor......Page 162 aggregation......Page 164 architecture......Page 168 argument......Page 169 association......Page 170 association class......Page 175 association end......Page 178 association generalization......Page 181 association role......Page 182 atomic......Page 183 attribute......Page 184 background information......Page 188 become......Page 189 binary association......Page 190 binding......Page 191 bound element......Page 192 branch......Page 195 call event......Page 198 cardinality......Page 200 change event......Page 201 changeability......Page 202 class......Page 203 class-in-state......Page 208 class name......Page 210 classifier......Page 211 classifier role......Page 212 collaboration......Page 213 collaboration role......Page 221 combination......Page 223 communication association......Page 224 compartment......Page 225 completion transition......Page 226 complex transition......Page 227 component......Page 234 composite class......Page 240 composite state......Page 241 composition......Page 244 concrete......Page 251 conflict......Page 252 constraint......Page 253 container......Page 256 control flow......Page 257 control icons......Page 258 copy......Page 261 creation......Page 262 current event......Page 264 data type......Page 265 data value......Page 266 delegation......Page 267 dependency......Page 268 deployment diagram......Page 270 derived element......Page 272 descriptor......Page 274 destruction......Page 275 development process......Page 276 diagram......Page 278 direct class......Page 279 discriminator......Page 280 dynamic classification......Page 282 element......Page 283 entry action......Page 284 event......Page 285 exception......Page 287 exit action......Page 288 expression......Page 289 extend......Page 290 extension point......Page 296 extent......Page 297 final state......Page 298 fire......Page 299 flow......Page 300 font usage......Page 301 framework......Page 302 functional view......Page 303 generalizable element......Page 304 generalization......Page 305 guard condition......Page 309 history state......Page 310 hyperlink......Page 311 ill-formed......Page 312 implementation inheritance......Page 313 inception......Page 314 include......Page 315 inheritance......Page 317 initial state......Page 318 initialization......Page 321 instance......Page 322 instantiate......Page 324 instantiation......Page 325 interaction......Page 326 interaction diagram......Page 327 interface......Page 328 interface inheritance......Page 332 interface specifier......Page 333 internal transition......Page 334 invariant......Page 335 iteration expression......Page 336 join......Page 337 junction state......Page 338 label......Page 340 leaf......Page 341 lifeline......Page 342 link......Page 343 list......Page 345 location......Page 348 merge......Page 349 message......Page 351 method......Page 358 model......Page 360 model management view......Page 361 multiobject......Page 362 multiple inheritance......Page 363 multiplicity......Page 364 multiplicity (of association)......Page 366 multiplicity (of class)......Page 367 n-ary association......Page 368 namespace......Page 371 navigability......Page 372 navigation efficiency......Page 374 node......Page 375 note......Page 377 object......Page 378 object flow......Page 381 object flow state......Page 382 OCL......Page 385 operation......Page 387 ordering......Page 392 owner scope......Page 395 package......Page 396 parameter......Page 399 parent......Page 401 path......Page 402 pathname......Page 404 pattern......Page 405 permission......Page 406 polymorphic......Page 407 postcondition......Page 409 precondition......Page 410 presentation element......Page 411 private inheritance......Page 412 product......Page 413 property list......Page 414 pseudostate......Page 415 qualifier......Page 416 query......Page 422 realization......Page 423 reception......Page 425 reference......Page 426 refinement......Page 427 reification......Page 428 relationship......Page 429 request......Page 430 responsibility......Page 431 rolename......Page 432 scenario......Page 434 scope......Page 435 semantic variation point......Page 436 send......Page 437 sequence diagram......Page 441 signal......Page 445 signature......Page 447 singleton......Page 448 specialization......Page 449 stages of modeling......Page 450 state......Page 451 state machine......Page 457 static view......Page 466 stereotype......Page 467 string......Page 470 structural view......Page 471 stubbed transition......Page 472 submachine......Page 473 submachine reference state......Page 474 subsystem......Page 476 summarization......Page 478 swimlane......Page 479 synch state......Page 481 tagged value......Page 485 target scope......Page 487 template......Page 488 time event......Page 492 time expression......Page 493 trace......Page 494 transient link......Page 495 transition......Page 496 trigger......Page 501 type......Page 502 unspecified value......Page 504 usage......Page 505 use case......Page 506 use case generalization......Page 512 utility......Page 514 visibility......Page 515 well-formed......Page 516 association......Page 517 copy......Page 518 destroy......Page 519 executable......Page 520 friend......Page 521 import......Page 522 invariant......Page 523 new......Page 524 powertype......Page 525 self......Page 526 system......Page 527 type......Page 528 xor......Page 529 Part 4: Appendices......Page 531 Metamodel Structure......Page 533 State machines......Page 534 Model Management Package......Page 535 Notation Summary......Page 537 Software Development Process Extensions......Page 549 Class stereotypes......Page 550 Association stereotypes......Page 551 Class stereotypes......Page 552 Association stereotypes......Page 553 Bibliography......Page 555 A......Page 557 C......Page 558 E......Page 560 H......Page 561 L......Page 562 N......Page 563 P......Page 564 S......Page 565 T......Page 567 Z......Page 568 The authors have done an outstanding job with this UML book. The definitions of the terms are the best I have seen. The organization and material in the encyclopedia are fantastic! -Perry Cole, MCIWorldCom The Unified Modeling Language (UML) has rapidly become the standard notation for modeling software-intensive systems. This book provides the definitive description of UML from its original developers--James Rumbaugh, Ivar Jacobson, and Grady Booch. Whether you are capturing requirements, developing a software architecture, designing the implementation, or trying to understand an existing system, this is the book for you. The majority of the book is a unique alphabetical list of articles covering every aspect of UML in a form convenient for quick reference and detailed study. This format permits full coverage of UML details as well as high-level articles without confusing the reader by constant shifts in level. The first part of the book--a complete summary of UML concepts organized by subject area--provides an introduction to UML for the newcomer as well as entry points into the detailed articles. Highlights of the book Two-color diagrams, extensively annotated Thorough coverage of both semantics and notation, separated in each article for easy reference Further explanations of concepts whose meaning or purpose is obscure in the original specifications Discussion sections offering usage advice and additional insight into tricky concepts A hyperlinked version of the book in Adobe Reader format on CD-ROM, an excellent resource for browsing or searching the text for specific information Full text of the UML specification documents on CD-ROM, courtesy of the Object Management Group Notation summary, with hyperlinks to individual articles on CD-ROM The Unified Modeling Language (UML) has rapidly become the standard notation for modeling software-intensive systems. This book provides the definitive description of UML from its original developers - James Rumbaugh, Ivar Jacobson, and Grady Booch. Whether you are capturing requirements, developing a software architecture, designing the implementation, or trying to understand an existing system, this is the book for you.
دانلود کتاب The Unified Modeling Language Reference Manual (The Addison-Wesley Object Technology Series)