UML in a Nutshell: A Desktop Quick ReferenceModeling languages have been used by system developers for decades to specify, visualize, construct, and document systems; rough sketches using stick figures and arrows and scribbled routing conditions go back still further. But the Unified Modeling Language (UML), for the first time in the history of systems engineering, gives practitioners a common language that applies to a multitude of different systems, domains, and methods or processes. It does not guarantee project success, but enables you to communicate solutions in a consistent, standardized, and tool-supported language. All indications suggest that the industry is rushing to the UML. Created by leading software engineering experts Grady Booch, James Rumbaugh, and Ivar Jacobson (now of Rational Software Corporation), and accepted as a standard by the Object Management Group (OMG) in 1997, the language has already achieved more success than any previous contenders. With a firm conceptual and pragmatic basis, it is well suited to supporting projects in modern languages like C++ and Java. And standardization lays the groundwork for tools as well as standard methods or processes. This book presents the UML, including its extension mechanisms and the Object Constraint Language (OCL), in a clear reference format. For those new to the language, a tutorial quickly brings you to the point where you can use the UML. The book is concise and precise, breaking down the information along clean lines and explaining each element of the language. Introductory chapters also convey the purpose of the UML and show its value to projects and as a means for communication. Topics include:
|
Contents
Introduction | 3 |
What Constitutes the Unified Modeling Language? | 7 |
The Evolution of the Unified Modeling Language | 9 |
The Big Picture | 15 |
Problems and Solutions | 25 |
Problem Solving | 34 |
Object Orientation | 39 |
Paradigms | 44 |
Communicates Relationships | 164 |
Uses Relationships | 165 |
Sequence Diagrams | 167 |
Interactions | 168 |
Lifelines | 169 |
Activations | 170 |
Messages | 172 |
Collaboration Diagrams | 177 |
Object Orientation | 49 |
Objects and Classes | 52 |
Links and Associations | 57 |
Scenarios and Interactions | 62 |
Variations and Summary | 65 |
Using the Unified Modeling Language | 69 |
A Unified Modeling Language Tutorial | 71 |
Class Diagrams | 75 |
Object Diagrams | 82 |
Sequence Diagrams | 85 |
Collaboration Diagrams | 94 |
Statechart Diagrams | 98 |
Activity Diagrams | 102 |
Component Diagrams | 104 |
Other Notation and Information | 105 |
UML Overview | 111 |
Metamodel | 114 |
Architectural Views and Diagrams | 116 |
Mechanisms | 118 |
Problems Solutions and Problem Solving | 121 |
The Unified Modeling Language Quick Reference | 127 |
Diagramming and Model Organization | 129 |
TypeInstance Correspondence | 135 |
Packages | 136 |
The Role of Tools | 138 |
Class and Object Diagrams | 139 |
Classes | 140 |
Objects | 147 |
Associations | 149 |
Links | 154 |
Compositions | 156 |
Use Case Diagrams | 159 |
Actors | 160 |
Use Cases | 161 |
Collaborations | 178 |
Association Roles | 180 |
Multiroles | 181 |
Message Flows | 182 |
Statechart Diagrams | 187 |
States | 188 |
Transitions | 192 |
Events | 197 |
Actions | 200 |
Activity Diagrams | 205 |
Swimlanes | 206 |
Action States | 207 |
Action Flows | 208 |
Component Diagrams | 211 |
DevelopmentTime Relationships | 213 |
Deployment Diagrams | 215 |
Nodes | 216 |
RunTime Relationships | 217 |
Becomes Relationships | 218 |
Extension Mechanisms | 219 |
Standard Stereotypes | 220 |
Properties | 229 |
Constraints | 231 |
Tagged Values | 236 |
UML Extension for the Objectory Process for Software Engineering | 237 |
UML Extension for Business Modeling | 239 |
The Object Constraint Language | 243 |
Object Properties | 245 |
Collections | 247 |
Standard Types | 250 |
References | 263 |
Books | 264 |
267 | |