<< 1 >>
Rating:  Summary: Must have UML book Review: I believe this is a must have UML book, very clear, very useful as an introductory book and reference book, also has excercises with answers if you want to practice.
Rating:  Summary: terrible waste of time Review: It's not that there isn't good information in this book, it just that you'll waste alot of your (presumably valuable) time getting it! You'll find yourself doing a lot of skimming just to find the crucial points of a paragraph or chapter. Buy UML Distilled by Martin Fowler instead. Excellent book.
Rating:  Summary: Good introductory book Review: Learning UML is O'Reilly's entry-level book into the world of UML. It is a good introduction to UML modeling concepts and diagrams. Rather than overwhelm the reader with various types of diagrams, the book takes the approach that UML diagrams consist of "words" (symbols) that make up "sentences" (diagrams). This is an effective technique, as it teaches the reader to understand how one small symbol can affect the overall meaning of the diagram.One of the things I really like about this book is how it builds from simple to complex examples. This is done in such a way that the reader can quickly understand the more complex example, which is useful in understand many real-world UML diagrams.
Rating:  Summary: A nice introduction Review: O'Reilly publishes a selection of books as their "Learning" series. These books tend to be geared to the programmer or student unfamiliar with a technology who is looking for a good introduction. "Learning UML" is a worthy addition to this series. This book is not a complete introduction to the topic of UML diagrams but for the programmer or student wanting to get a good understanding of the basics of UML this book will serve very nicely. The book starts with an explanation of why we model code and then gives a brief introduction to UML. The author then discusses the most commonly used UML diagrams. Class and object, use case, component and deployment, sequence and collaboration, state, and activity diagrams are each given a chapter. How and why each diagram is used is explained with sample diagrams designed to show the most common usage. There are exercises at the end of the main chapters with solutions for the exercises in the back of the book. The exercises are designed to help you to check whether you have understood the information in each chapter. If you are looking to become an expert in UML then there are other books that will serve that purpose. At a little over 200 pages, this book gives enough information for most students and developers without overwhelming them with the multitude of diagrams that are available in UML.
Rating:  Summary: Highly recommended Review: Review As more and more development takes place in the object-oriented application world, there is a need to be able to describe these systems in such a way that everyone involved can understand. This spans everyone from the end-user who has to describe what they do to the analyst who has to write the specs, to the developer who has to build the application, and even the tester who has to very that the system works as designed. The Unified Modeling Language, or UML for short, is the way that is quickly becoming the de-facto standard for these descriptions. And the author has done a good job in writing a book that will help you start to understand and use these concepts. The book starts with an introduction to the language, along with what it is trying to accomplish. The use of written language as a metaphor for UML works well, as it breaks down UML into component parts, making it much easier to grasp. Differentiation is made between structural modeling and behavior modeling. Structure modeling deals primarily with the, what else, structure of the system. This includes classes, objects, use cases, and component diagrams. These concepts should be familiar to the object-oriented developer, and the information in the book does a good job in covering the subjects in depth. The behavioral modeling is used to show how the application should interact with the user(s) of the system, be they people or other system components. This includes sequence, state, and activity diagrams. These functions allow a user of the system to understand how everything relates together. When coupled together, you have a complete system to describe an application from all perspectives. I think the author did a great job in walking the line between a too-simplistic approach which doesn't teach enough, and a highly academic approach which is too difficult to understand for a beginner. There are exercises at the end of each chapter to help you apply the concepts and start to integrate the learning into your everyday experience. When finished with this book, you should be familiar with nearly all the concepts of UML, and should also feel comfortable when you start to use it for real-life modeling. For the typical Lotus Notes/Domino developer, you may well be thinking, "I don't need all this "stuff". After all, you've been building applications without it so far without it, right? Well, I would suggest that you need to alter your thoughts a little. For one, using a structured modeling approach on larger systems will lead to a better, more solid design as opposed to an ad-hoc "build as you go" approach. You can also use the behavioral structure to show and demonstrate the user's perspective of the system, as well as how the different processes of the system work together. And secondly, as you move into the world of Java and object-oriented systems, you will encounter the use of UML on a frequent basis. Now would be a good time to start learning it so that there is one less thing to learn later on. Conclusion If you've not had any exposure to UML (or if it's been very light), I highly recommend getting this book and working through it. The time you spend now learning this information will pay off down the road with better up-front system design, as well as gaining the ability to explain your design and application operation to others. I know that as I move deeper into the world of object-oriented design and analysis, this book will be referred to very often.
Rating:  Summary: Highly recommended Review: Review As more and more development takes place in the object-oriented application world, there is a need to be able to describe these systems in such a way that everyone involved can understand. This spans everyone from the end-user who has to describe what they do to the analyst who has to write the specs, to the developer who has to build the application, and even the tester who has to very that the system works as designed. The Unified Modeling Language, or UML for short, is the way that is quickly becoming the de-facto standard for these descriptions. And the author has done a good job in writing a book that will help you start to understand and use these concepts. The book starts with an introduction to the language, along with what it is trying to accomplish. The use of written language as a metaphor for UML works well, as it breaks down UML into component parts, making it much easier to grasp. Differentiation is made between structural modeling and behavior modeling. Structure modeling deals primarily with the, what else, structure of the system. This includes classes, objects, use cases, and component diagrams. These concepts should be familiar to the object-oriented developer, and the information in the book does a good job in covering the subjects in depth. The behavioral modeling is used to show how the application should interact with the user(s) of the system, be they people or other system components. This includes sequence, state, and activity diagrams. These functions allow a user of the system to understand how everything relates together. When coupled together, you have a complete system to describe an application from all perspectives. I think the author did a great job in walking the line between a too-simplistic approach which doesn't teach enough, and a highly academic approach which is too difficult to understand for a beginner. There are exercises at the end of each chapter to help you apply the concepts and start to integrate the learning into your everyday experience. When finished with this book, you should be familiar with nearly all the concepts of UML, and should also feel comfortable when you start to use it for real-life modeling. For the typical Lotus Notes/Domino developer, you may well be thinking, "I don't need all this "stuff". After all, you've been building applications without it so far without it, right? Well, I would suggest that you need to alter your thoughts a little. For one, using a structured modeling approach on larger systems will lead to a better, more solid design as opposed to an ad-hoc "build as you go" approach. You can also use the behavioral structure to show and demonstrate the user's perspective of the system, as well as how the different processes of the system work together. And secondly, as you move into the world of Java and object-oriented systems, you will encounter the use of UML on a frequent basis. Now would be a good time to start learning it so that there is one less thing to learn later on. Conclusion If you've not had any exposure to UML (or if it's been very light), I highly recommend getting this book and working through it. The time you spend now learning this information will pay off down the road with better up-front system design, as well as gaining the ability to explain your design and application operation to others. I know that as I move deeper into the world of object-oriented design and analysis, this book will be referred to very often.
Rating:  Summary: Too dense for a first book. Maybe a second? Review: The UML is not particularly _hard_ to learn--at least until you get into the deep magic of "metamodels" and suchlike, topics you can safely ignore pretty much forever. But the UML is very, very large, and ecclectic, and it's easy to feel confused, lost and a little bit overwhelmed when confronting it for the first time. Or the seventh. The value of a little book like Alhir's lies in slicing out the "heart" of the UML and giving you an overview of the territory, so you can read most any diagram, write the ones that are most important to you, and you feel you understand the lay of the land. This book has not exactly done a bad job of that task, but the simple truth is that it has a few key weaknesses, and I think you can do better elsewhere if you're looking for a first book to introduce you to the UML. The first substantive chapter in the book, which introduces the concept of the UML as a language with "words," "sentences," "paragraphs," etc., is really quite good as an overview and orientation, and the quick look at each of the types of UML diagrams will leave you with a pretty good feel for what sorts of things you do with the UML. The trouble begins when he starts tackling each of the diagrams in more detail in subsequent chapters. I think it's fair to say that the narration plows into the mud somewhwere around page 70, as Alhir starts introuducing a veritable blur of diagram features: stereotypes, aggregations, dependencies, interfaces, and on and on. Models are redrawn and redrawn, now with this feature, now with that feature, and it's hard enough to keep up with the parade of syntax, let alone divine why you would want to use one form or the other. To _learn_ the UML you have to gain some idea of how the representations work together, showing different aspects of a system in different ways, and you have to learn what representations and what levels of detail are most suitable for different purposes. And it's just that kind of guidance that seems to be lacking most in this book. On one page, we have a class diagram with all the accessors, mutators, constructors and destructors written in the methods section, with visibility, parameters, etc. On another, everything is abstracted out into package diagrams with interfaces and dependencies. Remember that lost and confused feeling I was talking about? There's where it started to set in for me. Perhaps Mr. Alhir's shortcoming is that he has written this book after producing a couple of really nice _references_ on the UML (also from O'Reilly). Too much of this book has a reference flavor: long on details, short on reasons. Rather than _Learning UML_, I would recommend a book such as Fowler's _UML Distilled_ or Schmuller's _Teach Yourself UML in 24 Hours_ if you are brand-spanking-new to the UML. I think that both of these books do a better job of picking out the most important aspects of UML and presenting them in a digestible manner. But, that said, you are going to need more than one short book before you can claim to know the language, and I think you might find Alhir's book a really suitable _second_ step on the road to mastery. You'll pick up a lot of details about the language and notation, and you'll find the extensive exercises (with solutions!) really valuable in increasing your skills.
Rating:  Summary: Good Book Review: This is a good first book on UML and maybe a good reference to have around. The author does a fine job of explaining basic and intermediate UML, but while accurate, the explanations are a bit dry. In fairness, learning UML from a book is naturally a bit dull. On the bright side, the author includes exercises (and solutions) after most chapters. I believe working through these is probably a must for those trying to get the full benefit of the book. If all you want is a passing knowledge of symbols and diagram types, you can safely skip the exercises. Lastly, I noticed a few diagram typos, but nothing that prevents the book from being useful. Considering the affordable price of this book, it's suitable for group study.
<< 1 >>
|