Designed for students and practitioners learning about object- and component-based software design and development, the book encourages a pragmatic and open-minded approach to real-life software engineering. It places UML in the context of the software engineering discipline as a whole, providing readers with a practical understanding of best practice in software design and development. The ball and socket notation for interfaces. New notation for sequence diagrams. UML 2's two different kinds of state machines, and when to use them. Revised component structure and deployment diagrams.
Features of UML 2.0 discussed in this edition include:
Using UML also provides a wealth of learning aids, including: Self-test questions to promote understanding. Discussion questions to encourage deeper exploration. Technical notes on specific UML features. Boxed sections covering important issues such as Design by Contract, the Law of Demeter, and persistence.