What is included with this book?
Jim Arlow has been programming and designing object-oriented software systems since 1990. He has created object models for blue chip companies such as British Airways and M&G. He is a respected OO consultant in Europe and has written and delivered many training courses on object technology and Java. Jim is a regular speaker at conferences such as Object World, and has been an invited speaker at University College London, City University, and the British Computer Society.
Ila Neustadt has worked in IT for British Airways for more than twenty years and has experience of all parts within the IT development life cycle. She worked in the strategy department modeling the architecture process and developing architecture training, and acted as program head for the graduate business analyst program. Ila now coordinates skills development for BA s IT staff.
Acknowledgments | p. xvii |
Preface | p. xix |
Introducing UML and UP | p. 1 |
What is UML? | p. 3 |
Chapter roadmap | p. 3 |
What is UML? | p. 5 |
The birth of UML | p. 5 |
MDA - the future of UML | p. 7 |
Why "unified"? | p. 9 |
Objects and UML | p. 10 |
UML structure | p. 10 |
UML building blocks | p. 11 |
UML common mechanisms | p. 15 |
Architecture | p. 23 |
What we have learned | p. 24 |
What is the Unified Process? | p. 27 |
Chapter roadmap | p. 27 |
What is UP? | p. 28 |
The birth of UP | p. 29 |
UP and the Rational Unified Process | p. 32 |
Instantiating UP for your project | p. 34 |
UP axioms | p. 34 |
UP is an iterative and incremental process | p. 35 |
UP structure | p. 37 |
UP phases | p. 39 |
What we have learned | p. 44 |
Requirements | p. 47 |
The requirements workflow | p. 49 |
Chapter roadmap | p. 49 |
The requirements workflow | p. 51 |
Software requirements - metamodel | p. 52 |
Requirements workflow detail | p. 53 |
The importance of requirements | p. 55 |
Defining requirements | p. 55 |
Finding requirements | p. 61 |
What we have learned | p. 65 |
Use case modeling | p. 67 |
Chapter readmap | p. 67 |
Use case modeling | p. 69 |
UP activity: Find actors and use cases | p. 69 |
UP activity: Detail a use case | p. 77 |
Use case specification | p. 78 |
Requirements tracing | p. 90 |
When to apply use case modeling | p. 91 |
What we have learned | p. 92 |
Advanced use case modeling | p. 95 |
Chapter roadmap | p. 95 |
Actor generalization | p. 97 |
Use case generalization | p. 99 |
[double left angle bracket]include[double right angle bracket] | p. 102 |
[double left angle bracket]extend[double right angle bracket] | p. 105 |
When to use advanced features | p. 110 |
Hints and tips for writing use cases | p. 111 |
What we have learned | p. 113 |
Analysis | p. 117 |
The analysis workflow | p. 119 |
Chapter roadmap | p. 119 |
The analysis workflow | p. 120 |
Analysis artifacts - metamodel | p. 121 |
Analysis workflow detail | p. 122 |
Analysis model - rules of thumb | p. 122 |
What we have learned | p. 124 |
Objects and classes | p. 125 |
Chapter roadmap | p. 125 |
What are objects? | p. 127 |
UML object notation | p. 131 |
What are classes? | p. 132 |
UML class notation | p. 136 |
Scope | p. 147 |
Object construction and destruction | p. 148 |
What we have learned | p. 151 |
Finding analysis classes | p. 155 |
Chapter roadmap | p. 155 |
UP activity: Analyze a use case | p. 157 |
What are analysis classes? | p. 158 |
Finding classes | p. 163 |
Creating a first-cut analysis model | p. 171 |
What we have learned | p. 172 |
Relationships | p. 175 |
Chapter roadmap | p. 175 |
What is a relationship? | p. 177 |
What is a link? | p. 177 |
What is an association? | p. 180 |
What is a dependency? | p. 195 |
What we have learned | p. 201 |
Inheritance and polymorphism | p. 205 |
Chapter roadmap | p. 205 |
Generalization | p. 206 |
Class inheritance | p. 208 |
Polymorphism | p. 211 |
Advanced generalization | p. 215 |
What we have learned | p. 221 |
Analysis packages | p. 223 |
Chapter roadmap | p. 223 |
What is a package? | p. 224 |
Packages and namespaces | p. 226 |
Nested packages | p. 227 |
Package dependencies | p. 228 |
Package generalization | p. 231 |
Architectural analysis | p. 231 |
What we have learned | p. 235 |
Use case realization | p. 239 |
Chapter roadmap | p. 239 |
UP activity: Analyze a use case | p. 241 |
What are use case realizations? | p. 242 |
Use case realization - elements | p. 243 |
Interactions | p. 244 |
Lifelines | p. 244 |
Messages | p. 246 |
Interaction diagrams | p. 248 |
Sequence diagrams | p. 249 |
Combined fragments and operators | p. 256 |
Communication diagrams | p. 264 |
What we have learned | p. 268 |
Advanced use case realization | p. 273 |
Chapter roadmap | p. 273 |
Interaction occurrences | p. 274 |
Continuations | p. 279 |
What we have learned | p. 281 |
Activity diagrams | p. 283 |
Chapter roadmap | p. 283 |
What are activity diagrams? | p. 284 |
Activity diagrams and the UP | p. 285 |
Activities | p. 286 |
Activity semantics | p. 288 |
Activity partitions | p. 290 |
Action nodes | p. 293 |
Control nodes | p. 297 |
Object nodes | p. 301 |
Pins | p. 305 |
What we have learned | p. 307 |
Advanced activity diagrams | p. 309 |
Chapter roadmap | p. 309 |
Connectors | p. 311 |
Interruptible activity regions | p. 311 |
Exception handling | p. 312 |
Expansion nodes | p. 313 |
Sending signals and accepting events | p. 314 |
Streaming | p. 317 |
Advanced object flow features | p. 318 |
Multicast and multireceive | p. 320 |
Parameter sets | p. 321 |
[double left angle bracket]centralBuffer[double right angle bracket] node | p. 322 |
Interaction overview diagrams | p. 323 |
What we have learned | p. 325 |
Design | p. 329 |
The design workflow | p. 331 |
Chapter roadmap | p. 331 |
The design workflow | p. 332 |
Design artifacts - metamodel | p. 333 |
Design workflow detail | p. 337 |
UP activity: Architectural design | p. 338 |
What we have learned | p. 339 |
Design classes | p. 341 |
Chapter roadmap | p. 341 |
UP activity: Design a class | p. 342 |
What are design classes? | p. 344 |
Anatomy of a design class | p. 345 |
Well-formed design classes | p. 347 |
Inheritance | p. 350 |
Templates | p. 354 |
Nested classes | p. 357 |
What we have learned | p. 358 |
Refining analysis relationships | p. 361 |
Chapter roadmap | p. 361 |
Design relationships | p. 363 |
Aggregation and composition | p. 363 |
Aggregation semantics | p. 364 |
Composition semantics | p. 367 |
How to refine analysis relationships | p. 368 |
One-to-one associations | p. 369 |
Many-to-one associations | p. 370 |
One-to-many associations | p. 371 |
Collections | p. 371 |
Reified relationships | p. 375 |
Exploring composition with structured classes | p. 378 |
What we have learned | p. 382 |
Interfaces and components | p. 387 |
Chapter roadmap | p. 387 |
UP activity: Design a subsystem | p. 389 |
What is an interface? | p. 389 |
Provided and required interfaces | p. 391 |
Interface realization vs. inheritance | p. 394 |
Ports | p. 398 |
Interfaces and component-based development | p. 399 |
What is a component? | p. 399 |
Component stereotypes | p. 402 |
Subsystems | p. 403 |
Finding interfaces | p. 404 |
Designing with interfaces | p. 404 |
Advantages and disadvantages of interfaces | p. 408 |
What we have learned | p. 408 |
Use case realization-design | p. 413 |
Chapter roadmap | p. 413 |
UP activity: Design a use case | p. 415 |
Use case realization-design | p. 416 |
Interaction diagrams in design | p. 417 |
Modeling concurrency | p. 419 |
Subsystem interactions | p. 426 |
Timing diagrams | p. 427 |
Example of use case realization-design | p. 430 |
What we have learned | p. 436 |
State machines | p. 437 |
Chapter roadmap | p. 437 |
State machines | p. 439 |
State machines and the UP | p. 441 |
State machine diagrams | p. 442 |
States | p. 443 |
Transitions | p. 445 |
Events | p. 448 |
What we have learned | p. 453 |
Advanced state machines | p. 457 |
Chapter roadmap | p. 457 |
Composite states | p. 458 |
Submachine states | p. 465 |
Submachine communication | p. 466 |
History | p. 468 |
What we have learned | p. 470 |
Implementation | p. 473 |
The implementation workflow | p. 475 |
Chapter roadmap | p. 475 |
The implementation workflow | p. 476 |
Implementation artifacts - metamodel | p. 477 |
Implementation workflow detail | p. 478 |
Artifacts | p. 479 |
What we have learned | p. 480 |
Deployment | p. 481 |
Chapter roadmap | p. 481 |
UP activity: Architectural implementation | p. 482 |
The deployment diagram | p. 483 |
Nodes | p. 484 |
Artifacts | p. 486 |
Deployment | p. 490 |
What we have learned | p. 491 |
Supplementary material | p. 493 |
Introduction to OCL | p. 495 |
Chapter roadmap | p. 495 |
What is the Object Constraint Language (OCL)? | p. 497 |
Why use OCL? | p. 497 |
OCL expression syntax | p. 498 |
Package context and pathnames | p. 500 |
The expression context | p. 501 |
Types of OCL expressions | p. 502 |
The expression body | p. 504 |
OCL navigation | p. 522 |
Types of OCL expression in detail | p. 526 |
OCL in other types of diagrams | p. 535 |
Advanced topics | p. 540 |
What we have learned | p. 546 |
Example use case model | p. 551 |
XML and use cases | p. 559 |
Bibliography | p. 567 |
Index | p. 569 |
Table of Contents provided by Ingram. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.