7/25/2012

UML 2.0 in Action: A project-based tutorial: A detailed and practical walk-through showing how to apply UML to real world development projects Review

UML 2.0 in Action: A project-based tutorial: A detailed and practical walk-through showing how to apply UML to real world development projects
Average Reviews:

(More customer reviews)
First of all, why learning UML? Mainly because the Unified Modeling Language is maybe the best-known standardized graphical notation you can use to create an abstract model of a system. With complex systems, you can not rely on ad-hoc graphical representations.
Then, how to choose a good and practical book for learning UML 2.0? This is a tough task, as major publishers have lots of books on UML, some of them extremely complex and pricey.
Given that I was only able to understand very basic concepts of UML diagrams, I always wanted to truly learn UML, but had no time, nor the obligation to do it. That's a pity, as I often find myself in lack of a standardized way to express the relationships that govern a particular process.
A book has therefore to be chosen by its practical aspect, not the comprehensiveness. It's better to be able to learn "just enough UML" to get a different perspective and to get your job done, than to be discouraged by a thick bible you don't even dare to open!
My candidates included:
-- "UML 2 and the Unified Process : Practical Object-Oriented Analysis and Design (2nd Edition)" from Addison-Wesley, which has good references both as a practical book and as a reference book. I however find it unappropriate that it insisted on using commercial UML tools from Rational Rose, MagicDraw and Interactive Objects. I don't want them, I just want the UML course!
-- Many Amazon.com visitors decided to buy the "UML Bible" instead. No kidding, why should I opt for a "clear and accessible... err... 940-page book?!"
-- A much more tempting choice is Kendall Scott's "Fast Track UML 2.0". The author has great references, the book itself is supposed to only capture the essential information from the complexity of UML 2.0 (and it's cheap too!), but Amazon.com's visitors insist on the proofreading errors in the book, even if they seem to have been addressed by the author, at least in part. I stayed in doubt though... even if I have previously bought from Apress and their books are good.
I can't remember now exactly how, but the next thing that came in my browser was "UML 2.0 in Action: A project-based tutorial", from Packt Publishing -- I've written about them two weeks ago on my blog.
This book is a translation of the German original 3rd edition of "UML 2.0 projektorientiert", from Galileo Computing.
To clarify a situation with Galileo's book's page on Amazon.de: the criticism over some errors are referring to the first edition -- things are now corrected. Packt's translation follows the latest available German edition.
We could take a look on what Amazon.com's readers have to say about the book from Packt. The only review to date comes from a Top 500 reviewer, who notes:
-- "UML can be a rather daunting subject if you try and look at the entire thing at once. But if you can distill down the items that are used most often, it becomes much more manageable. That's the goal of Packt Publishing's book UML 2.0 In Action - A Project Based Tutorial."
-- "UML 2.0 In Action will have you understand much more (and much more quickly) than you might otherwise figure out..."
What I've got with my purchase? A book, what else. This is not the cheapest book ever seen for its 229 pages (the German edition has 288 pages because of a slightly different layout). The only drawback compared to the German book is that the English one is paperback instead of hardcover and lacks the color A2-sized poster with diagrams and models. But this is easy to explain due to the printing process (see below).
The free shipping took seven days sharp from Birmingham (UK) to Brasov (Romania), and the Royal Mail stamp was labeled GBP3.39 (about US$6).
The cover is attractive and optimistic (orange, lime green and black make a perfect combination). The printing is somewhat less-than-perfect, and an educated eye would say the pages are printed on a laser printer... which they actually are! The printing house is Lightning Source, the world leader in Printing On Demand -- and that makes it all clear. To be able to print and ship from 3 different locations, traditional printing may be costly. Contrary to the first guess, printing on demand a book like this one (248 physical pages plus the covers) should only cost something like $6 in quantities of 500. About 50% of the price you paid is to be split between operational costs of the publisher, marketing, royalties, and the profit.
What I liked with this book in the first place? I mostly loved that it doesn't claim that "UML is a diagramming language meant to describe and document object-oriented software systems."
As I personally believe that UML is not only for IT projects, but also for any business process, this book gives me full satisfaction by saying: ?UML can be used to model a variety of systems: software systems, business systems, or any other system.?
To prove it, the book purposely limits its scope to the most useful and used parts of the UML, without claiming the completeness. The examples are deliberately took from the real life and are not treating the development of a software application, as you might be expecting! They do however address the modeling of IT systems (Chapter 4) and system integration (Chapter 5).
If you're taking for simple a business system consisting in an airport, with passengers, passenger services, all the possible situations, interactions, and involved information, well... think again! The describing of the functioning and organization of the "UML Airport" is the pretext of the whole book and it's quite an inspired choice: you can not claim you couldn't understand something because of "insufficient programming experience" -- no programming experience is required!
Three models are actually described and analyzed in the book:
-- the model of the business system (passengers, employees, business processes);
-- the model of the IT system dealing with the passenger services business system;
-- the model of the system integration of all these into the environment, including the connections with the external world.
As the book is fortunately good enough to be understood by business analysts, not only by software analysts, the class is defined at page 133 (Chapter 4, the IT systems) as ?a relevant concept from the domain, a set of persons, objects, or ideas that are depicted in the IT system?.
At the business system level, the Class Diagrams introduced at page 87 only rely on definitions from pp. 82-83:
-- the class "Worker", a stereotype ?used to describe the roles of those people who execute business processes or who are involved in execution of business processes?;
-- the class "Business Object", indirectly defined as being ?handled (utilized, controlled, manipulated, produced, etc.) by workers?.
I will not tell you the whole story, as I already have in my mind's eyes plenty of airplanes and check-in employees :-), I will only note that the book uses a very American/International English language and spelling, rather than a British one (it even writes "etc." without the ending point, as in the Merriam-Webster: "etc").
A typical software-oriented scholastic UML course would probably introduce at least 9 of the 13 types of UML diagrams , focusing on the "mandatory" 6 ones (marked with (?)), in this order:
-- Use Case Diagrams (?)
-- Class Diagrams (?)
-- Sequence Diagrams (?)
-- Communication Diagrams (?) (formerly Collaboration Diagrams)
-- State Diagrams (?)
-- Activity Diagrams (?)
-- Component Diagrams
-- Deployment Diagrams
-- Object Diagrams
Since the book describes an easier to understand busines process, it introduces concepts in this sequence:
-- Use Case Diagrams (?)
-- Activity Diagrams (?)
-- Sequence Diagrams (?)
-- Package Diagrams
-- Class Diagrams (?)
-- Use Case Sequence Diagrams -- a special type of (mixed) Sequence Diagrams advocated by the book!
-- Statechart Diagrams (a.k.a. State Machine Diagrams)
-- Communication Diagrams (?)
Quite logical, if you read the book -- even a little too advanced, as many simple processes can be described avoiding package diagrams. And definitely originalin my eyes as I didn't knew about the "Use Case Sequence Diagrams!"
System Integration (Chapter 5) requires some more terminology. It's time to find out that the 'events' you were using, together with the associated 'reference data', are nothing else but 'messages'. Or even 'documents' if they're XML-fied. (The book will not get too technical, don't worry.)
Overall, a pleasant and instructive experience, still awaiting for my time to explore, analyze and understand all the diagrams and the concepts. As many people consider UML to be too bloated, too fine-grained in many aspects, this book shows how you can only use what you really need of UML 2.0.
A 4.7 stars book, if that level of granularity was possible.

Click Here to see more reviews about: UML 2.0 in Action: A project-based tutorial: A detailed and practical walk-through showing how to apply UML to real world development projects

If you've read the UML documentation or a guide to the UML syntax, but don't feel you really know where to start with UML on a live project, then this unique book is what you need. Written as a practical case study, the book sets out to give you the intuitive feel for UML you need to confidently add it to your core development toolkit. The authors walk through a rich analysis and design scenario, explaining which parts of UML to use, and how to use them. The emphasis is on the systematic and practical application of UML to real business cases. The book was written for business analysts, technical architects and developers. It does not require detailed programming knowledge, nor is prior experience of UML mandatory. It shows how, with UML, simple models of business processes and specification models can be created and read with little effort.

Buy NowGet 14% OFF

Click here for more information about UML 2.0 in Action: A project-based tutorial: A detailed and practical walk-through showing how to apply UML to real world development projects

No comments:

Post a Comment