13 of 15 people found the following review helpful:
1.0 out of 5 stars
Too Many Errors to be Useful, August 19, 2004
This review is from: Fast Track UML 2.0 (Paperback)
I bought this book for its value as a "quick read" of UML 2.0, and as prep for the OMG UML Certification.
I'm just on Chapter 1, and have found so many glaring errors so far that I suspect everything in the book has to be carefully read and re-read to identify the errors.
Examples: page 12 - the definitions for "precondition: and "postcondition" are EXACTLY the same. Page 17 - the graphic does not support the text that the notation for aggregation and composition are different. I suspect that the book was rushed to publication without adequate proofreading, which is too bad because, other than the errors, it's very consice and read-able.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
1 of 1 people found the following review helpful:
1.0 out of 5 stars
Fast Track to Confusion, January 7, 2010
This review is from: Fast Track UML 2.0 (Paperback)
I found this book overall unclear and misleading. I won't comment on the typing errors, as a few have already been pointed out by the other reviewers.
Below, a few samples of what I mean:
1) Page 9, on attribute property: "... readOnly, which indicates that you can add possible values for the attribute, but you can't change existing values". I am not sure I understand this and I am not sure it's correct. Correct definition, according to the UML Reference Manual Second Edition, page 555, is "A keyword of changeability indicating a property whose value may not be modified after initialization". Period.
2) Page 10, on parameter direction: "out (The operation sets or changes the value of the parameter and returns it to the caller.)". Then, "inout (The operation uses the value of the parameter and may change the value; the caller expects to see an inout parameter again.)". If in both cases the operation changes and returns the parameter to the caller, then what's the difference between the two types of parameters? Here are the definitions provided by the UML Reference Manual, respectively at pages 503 and 397: "Out parameter: A parameter that communicates values to the caller using side effects on the parameter calling mechanism". Then, on "Inout parameter: A parameter used to supply arguments to the called procedure and also return values to the caller using side effects on the parameter itself". The latter set of definitions is crystal clear to me, whereas the former is not.
3) Page 10, on default value of a parameter: "A default value of a parameter for an operation means that each call to that operation includes that value for the given parameter." I don't think so. Again, UML Reference Manual, page 307, gives the proper definition: "A value supplied automatically for a parameter if no argument value is provided".
4) Pages 29-30, Fig. 2-10, Aggregations: Here we have an aggregation example where "... an instance of the Order class that aggregates one each of instances of the ShippingInfo and BillingInfo classes and one or more instances of the Book class. An important property of aggregation is that the aggregated classes are still basically independent of the aggregating class. In other words, when a particular Order goes away (because it's been archived, for example), the ShippingInfo and BillingInfo instances that were aggregated to that Order are still present in the system. (The Book instance, of course, is gone.)". Why is the Book instance "of course" gone? Taking into account that the Book class is shown having the attribute Title only, is this some weird bookstore that sells each book of a kind only once? Or, more possibly, is that another Book class attribute that is not shown and that truly makes a particular book unique in bookstore's inventory, such an inventory number? It's guesswork for the reader that ought not to be.
5) Page 102, on Submachines: "... A submachine state is a state that references a submachine such that a copy of that submachine is implicitly part of the enclosing state machine where the reference occurs". This one seems to be an extract from the UML Reference Manual, page 627, but without the two full pages that follow and that provide clarification and an example to the somewhat obscure definition above.
6) Page 128, on Node: "A node represents a computational resource that generally has memory and often has processing capability." The terms "generally" and "often" implying that they may not, is a computational resource that has no memory and no processing capability still one? Well, apparently yes, because "... Nodes include computing devices but also human resources or mechanical processing resources", as mentioned at page 479 of the UML Reference Manual, but nowhere in this book.
7) Page 129, on Execution environment: "An execution environment offers an environment for the execution of specific types of components that are deployed on the environment, in the form of executable artifacts". I found a more comprehensible definition at page 343 of the UML Reference Manual.
This is a 160-page plus "Fast Track" book supposed to let the reader get acquainted with UML 2.0 quicker than going through the Superstructure Specification. Instead, I spent as much time as if it were a 1000-page book, doing guesswork all the way long on what the author meant to say and kept doing continuous cross-checks with the UML User's Guide and the UML Reference Manual.
Therefore, my unique recommendation to the potential reader: If you need an UML book, better get another one.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
3 of 6 people found the following review helpful:
5.0 out of 5 stars
A well-written, concise UML 2.0 Reference Manual, May 7, 2004
This review is from: Fast Track UML 2.0 (Paperback)
As described on the back cover of the book, the target audience of Fast Track UML 2.0 includes folks with previous visual modeling knowledge, perhaps including UML 1.x experience. In the book, the author does not attempt to describe the differences between UML 2.0 and UML 1.x, or to point out the new features. Instead, in a content-packed 161 pages, Kendall, with a "fresh look" at UML 2.0, describes well what a typical developer would want to know about modeling with this improved language.
Normally, when a book's title tries to convey that it's going to teach me something "really fast" or "in just XX hours", I won't even pick it up. In this case, from reading a few of his previous books, I trusted that the author, Kendall Scott, had probably put together another good book worth reading, and he did.
I'm a mildly experienced developer with a bit of object-oriented analysis and design (OOAD) understanding. In this book, I was looking for something that would quickly bring me up to date with UML 2.0, while still serving as a good reference manual into the future, as I sit down for some fancy picture drawing, also known as visual modeling. This is that book.
I would definitely recommend this book to anyone looking for a well-written, easy to follow and understand, concise UML 2.0 reference manual. If you're a career designer, note that this book does not describe in full detail, the complete syntax of UML 2.0. That said, if you're drawing fancy pictures using syntax not described in Fast Track UML 2.0, then perhaps that's a sign that you're models are too detailed. If you're brand new to the study of OOAD looking to develop these skills, this book alone probably isn't what you're after, though it would still serve well as a supplement to another material geared towards teaching OOAD. As a bonus, the book is priced well.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No