Learn UML, the Unified Modeling Language, to create diagrams describing the various aspects and uses of your application before you start coding, to ensure that you have everything covered. Millions of programmers in all languages have found UML to be an invaluable asset to their craft. More than 50,000 previous readers have learned UML with Sams Teach Yourself UML in 24 Hours. Expert author Joe Schmuller takes you through 24 step-by-step lessons designed to ensure your understanding of UML diagrams and syntax. This updated edition includes the new features of UML 2.0 designed to make UML an even better modeling tool for modern object-oriented and component-based programming. The CD-ROM includes an electronic version of the book, and Poseidon for UML, Community Edition 2.2, a popular UML modeling tool you can use with the lessons in this book to create UML diagrams immediately.
Author(s): Joseph Schmuller
Series: Sams Teach Yourself...in 24 Hours
Edition: 3
Publisher: Sams Publishing
Year: 2004
Language: English
Pages: 504
Cover......Page 0
SAMS Teach Yourself UML in 24 Hours......Page 2
Contents at a Glance......Page 4
Table of Contents......Page 6
Dedication......Page 23
Acknowledgments......Page 24
We Want to Hear from You......Page 25
What's New in This Edition......Page 26
Organization of This Book......Page 27
Conventions Used Throughout This Book......Page 28
PART I Getting Started......Page 30
HOUR 1 Introducing the UML......Page 32
Adding a Method to the Madness......Page 33
How the UML Came to Be......Page 34
Components of the UML......Page 35
Class Diagram......Page 36
Object Diagram......Page 37
State Diagram......Page 38
Sequence Diagram......Page 39
Communication Diagram......Page 41
Component Diagram......Page 43
Deployment Diagram......Page 44
Keywords and Stereotypes......Page 45
Composite Structure Diagram......Page 47
Interaction Overview Diagram......Page 48
Timing Diagram......Page 49
Something Old, Something New—The Package Diagram......Page 50
But Isn't It Just a Bunch of Pictures?......Page 51
Summary......Page 52
Q&A......Page 53
Exercises......Page 54
HOUR 2 Understanding Object- Orientation......Page 56
Objects, Objects Everywhere......Page 57
Abstraction......Page 59
Inheritance......Page 60
Polymorphism......Page 61
Encapsulation......Page 62
Message Sending......Page 63
Associations......Page 65
Aggregation......Page 66
The Payoff......Page 67
Summary......Page 68
Quiz......Page 70
Visualizing a Class......Page 72
Attributes......Page 73
Operations......Page 75
Attributes, Operations, and Visualization......Page 76
Responsibilities and Constraints......Page 77
Classes—What They Do and How to Find Them......Page 79
Summary......Page 82
Quiz......Page 83
Exercises......Page 84
Associations......Page 86
Association Classes......Page 88
Multiplicity......Page 89
Qualified Associations......Page 90
Inheritance and Generalization......Page 92
Discovering Inheritance......Page 94
Dependencies......Page 95
Class Diagrams and Object Diagrams......Page 96
Summary......Page 98
Workshop......Page 100
Exercises......Page 101
Aggregations......Page 104
Constraints on Aggregations......Page 105
Composite Structure Diagram......Page 106
Interfaces and Realizations......Page 107
Interfaces and Ports......Page 111
Scope......Page 112
Summary......Page 113
Exercises......Page 114
Use Cases: What They Are......Page 116
An Example: The Soda Machine......Page 117
The "Buy Soda" Use Case......Page 118
Additional Use Cases......Page 119
Including a Use Case......Page 121
Extending a Use Case......Page 122
Summary......Page 123
Quiz......Page 125
Exercises......Page 126
Representing a Use Case Model......Page 128
The Soda Machine Revisited......Page 129
Tracking the Steps in the Scenarios......Page 130
Inclusion......Page 131
Extension......Page 132
Generalization......Page 134
Use Case Diagrams in the Analysis Process......Page 135
Understanding the Users......Page 136
Drilling Down......Page 138
Taking Stock of Where We Are......Page 140
Relationships......Page 141
Summary......Page 142
Quiz......Page 145
Exercises......Page 146
What Is a State Diagram?......Page 148
Adding Details to the State Icon......Page 149
Adding Details to the Transitions: Events and Actions......Page 150
Substates......Page 152
Concurrent Substates......Page 153
History States......Page 154
New in UML 2.0......Page 155
Summary......Page 156
Quiz......Page 158
Exercises......Page 159
What Is a Sequence Diagram?......Page 160
Messages......Page 161
Time......Page 162
A Class Diagram......Page 163
A Sequence Diagram......Page 164
The Soda Machine......Page 166
Sequence Diagrams: The Generic Sequence Diagram......Page 169
Creating an Object in the Sequence......Page 171
Interaction Occurrences......Page 174
Combined Interaction Fragments......Page 176
Summary......Page 178
Quiz......Page 180
Exercises......Page 181
HOUR 10 Working with Communication Diagrams......Page 182
What Is a Communication Diagram?......Page 183
Cars and Car Keys......Page 184
Changing States and Nesting Messages......Page 185
The Soda Machine......Page 187
Creating an Object......Page 188
A Few More Concepts......Page 189
Representing Returned Results......Page 190
Synchronization......Page 191
Summary......Page 193
Quiz......Page 195
Exercises......Page 196
HOUR 11 Working with Activity Diagrams......Page 198
Decisions, Decisions, Decisions......Page 199
Signals......Page 200
Swimlanes......Page 202
Hybrid Diagrams......Page 205
The Objects of an Activity......Page 206
Taking Exception......Page 208
Deconstructing an Activity......Page 209
Marking Time and Finishing a Flow......Page 211
Special Effects......Page 212
An Overview of an Interaction......Page 213
Summary......Page 216
Q&A......Page 218
Exercises......Page 219
What Is (and What Isn't) a Component?......Page 222
Reviewing Interfaces......Page 223
Replacement and Reuse......Page 224
Representing a Component in UML 1.x and UML 2.0......Page 225
Representing Interfaces......Page 226
Boxes—Black and White......Page 227
Applying Component Diagrams......Page 228
Summary......Page 234
Exercises......Page 236
What Is a Deployment Diagram?......Page 238
A Token-Ring Network......Page 241
Thin Ethernet......Page 243
The Ricochet Wireless Network......Page 244
Summary......Page 246
Exercises......Page 248
HOUR 14 Understanding Packages and Foundations......Page 250
Interpackage Relationships......Page 251
Merging Packages......Page 253
A Hierarchy......Page 255
An Analogy......Page 256
To Boldly Go . . .......Page 257
Packaging the Infrastructure of UML......Page 259
The Core......Page 260
Profiles......Page 262
And Now At Last . . . the UML!......Page 264
The Four Layers Again......Page 265
Packaging the Superstructure of the UML......Page 266
Stereotypes......Page 268
Graphic Stereotypes......Page 269
Tagged Values......Page 270
Summary......Page 271
Q&A......Page 272
Exercise......Page 273
HOUR 15 Fitting the UML into a Development Process......Page 274
The Old Way......Page 275
What a Development Process Must Do......Page 276
GRAPPLE......Page 278
RAD3: The Structure of GRAPPLE......Page 279
Perform Domain Analysis......Page 280
Discover System Requirements......Page 281
Understand System Usage......Page 282
Analyze Integration with Cooperating Systems......Page 283
Design Tests......Page 284
Complete Documentation......Page 285
The GRAPPLE Wrap-up......Page 286
Summary......Page 287
Quiz......Page 288
PART II A Case Study......Page 290
Getting Down to Business......Page 292
Discovering Business Processes......Page 293
Serving a Customer......Page 294
Preparing the Meal......Page 303
Cleaning the Table......Page 304
Lessons Learned......Page 306
Summary......Page 307
Workshop......Page 308
Exercises......Page 309
HOUR 17 Performing a Domain Analysis......Page 310
Analyzing the Business Process Interview......Page 311
Developing the Initial Class Diagram......Page 312
Grouping the Classes......Page 314
Forming Associations......Page 315
Associations with Customer......Page 316
Associations with Server......Page 319
Associations with Busser......Page 320
Associations with Manager......Page 321
A Digression......Page 322
Forming Aggregates and Composites......Page 323
Customer......Page 325
Employee......Page 326
Check......Page 327
Lessons Learned......Page 328
Summary......Page 329
Exercises......Page 330
HOUR 18 Gathering System Requirements......Page 332
Developing the Vision......Page 333
Setting Up for Requirements Gathering......Page 341
The Requirements JAD Session......Page 342
The Outcome......Page 345
Summary......Page 348
Exercise......Page 349
The Care and Feeding of Use Cases......Page 350
The Use Case Analysis......Page 351
The Server Package......Page 352
Take an Order......Page 353
Transmit the Order to the Kitchen......Page 354
Track Order Status......Page 355
Assumptions......Page 356
Benefiting Actor......Page 357
Assumptions......Page 358
Postconditions......Page 359
Benefiting Actor......Page 360
Components of the System......Page 361
Summary......Page 362
Exercises......Page 363
The Server Package......Page 364
The Chef Package......Page 365
The Bartender Package......Page 366
Interactions in the System......Page 367
Take an Order......Page 368
Change an Order......Page 369
Track Order Status......Page 371
Implications......Page 372
Summary......Page 373
Q&A......Page 374
Exercises......Page 375
Some General Principles of GUI Design......Page 376
The GUI JAD Session......Page 378
From Use Cases to User Interfaces......Page 379
UML Diagrams for GUI Design......Page 382
The Network......Page 383
Next Steps......Page 384
Empowering a Sales Force......Page 386
Expanding in the Restaurant World......Page 387
Summary......Page 388
Q&A......Page 390
Exercises......Page 391
Parameterization......Page 392
Design Patterns......Page 395
Chain of Responsibility......Page 396
Chain of Responsibility: Restaurant Domain......Page 397
Chain of Responsibility: Web Browser Event Models......Page 398
Your Own Design Patterns......Page 399
Summary......Page 402
Exercise......Page 404
PART III Looking Ahead......Page 406
Back to the Restaurant......Page 408
The Mother of Invention......Page 409
Fleshing Out the GetAGrip......Page 410
What Is an Embedded System?......Page 412
Threads......Page 413
Interrupts......Page 414
Operating System......Page 415
Classes......Page 418
Use Cases......Page 419
Interactions......Page 420
Deployment......Page 423
Flexing Their Muscles......Page 424
Summary......Page 425
Exercises......Page 426
Extensions for Business......Page 428
Connecting to Use Cases......Page 430
Modeling the GUI......Page 431
Components of an Expert System......Page 433
An Example......Page 435
Modeling the Knowledge Base......Page 436
Web Applications......Page 439
That's All, Folks......Page 441
Summary......Page 442
Exercises......Page 443
PART IV Appendixes......Page 444
Hour 2......Page 446
Hour 4......Page 447
Hour 5......Page 448
Hour 7......Page 449
Hour 9......Page 450
Hour 11......Page 451
Hour 12......Page 452
Hour 15......Page 453
Hour 16......Page 454
Hour 19......Page 455
Hour 21......Page 456
Hour 23......Page 457
Hour 24......Page 458
What You Should Find in a Modeling Tool......Page 460
Working with UML in Visio Professional Edition......Page 461
The Class Diagram......Page 463
The Object Diagram......Page 473
The Sequence Diagram......Page 476
Visual UML......Page 481
Activity Diagram......Page 482
Class Diagram......Page 484
Communication Diagram......Page 485
Composite Structure Diagram......Page 486
Object Diagram......Page 487
Parameterized Collaboration......Page 488
Sequence Diagram......Page 489
Timing Diagram......Page 490
Use Case Diagram......Page 491
A......Page 492
C......Page 493
D......Page 495
F - G......Page 496
H - I......Page 497
M......Page 498
P......Page 499
S......Page 500
U......Page 502
W-Z......Page 504