|New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About| |
Keywords: UML, object oriented design, modelling Title: Learning UML Author: Sinan Si Alhir Publisher: O'Reilly ISBN: 0596003447 Media: Book Level: Introductory Verdict: If you wish to learn the basics of UML then this book is one to consider. |
The aim of this book is remarkably straightforward: to teach the basic elements of the Unified Modelling Langauge (UML) without becoming bogged down in discussion of specific methodologies (RUP, XP or any of the other big names), or linking to specific tools from the likes of Rational, Popkin etc. The emphasis, therefore, is purely on the UML notation and how it is used.
The starting point is to map the elements of real languages - words, sentences, paragraphs - to the elements of UML. Just as in natural languages, UML composes its various elements in order to convey meaning. More than that, UML notation is concise and relatively unambiguous, allowing us to convey the many different aspects of a system. Throughout the book this is made concrete by focusing on an example project management system, starting from a high-level requirements specification and moving on.This isn't to say that the book is a tutorial. Although there are exercises and examples, the book lacks the step-by-step approach that marks a useful tutorial. The author clearly sticks to the main point, which is to introduce all of the elements of UML and to show how they are used and how they relate to each other. To this end one section of the book looks at the structural elements of a system and how they are modelled in UML by class and object diagrams, use-case diagrams and component and deployment diagrams. This is followed by a section that looks in detail at the behavioural elements: sequence and collaboration diagrams, state diagrams and the different flavours of activity diagram.
A final section of the book looks beyond pure UML to the related areas of the Object Constraint Language and a number of extensions of UML.
The text is concise and to the point, which makes it something of a dry read but then again this is perhaps a reflection of UML itself. The book does not take the project management system as far as code, but there are other books that take that approach (Developing Applications with Java and UML by Paul Reed is an excellent example), although in practice such books tend not to cover the full range of UML.
If you wish to learn the basics of UML then this book is one to consider. While not a full tutorial, it covers the core material fully and can serve as a good reference when you come to use UML in practice.