Object-Oriented Analysis and Design with Applications
P**D
I expected more
Pros:It's a good overview of object-oriented analysis and design and its connection to the sometimes esoteric UML diagrams that accompany the process of analyzing and designing object-oriented systems.I think the book is good for anyone looking to learn the basic reasoning behind object-oriented analysis and design and see some brief examples relating to the theory.Cons:I expected more from a book that comes recommended from so many people. The feeling I had at the end of each chapter is difficult to describe, but most closely resembles that of hopelessness. I was thinking to myself that maybe I didn't read it right, or maybe I accidentally skipped a page (or ten). Overall, I felt like I had learned something, but had no idea how to apply it. The book leaves you with more questions than when you started.The author specifies many times throughout the book that he truncates or condenses information because it would be too long to fit in the book. This sacrifice of detail comes at a cost; an unnecessary cost considering how much repetitious filler information (borderline double-talk) is included in the book. The book could have been 200 pages shorter if they eliminated the fluff, and 200 times better if they used the space to take an example to completion.I found myself wanting more information at the end of each chapter. Just when the author starts to get into finer details of an example is the moment when he condenses everything, wraps it up into something ambiguous and indecipherable, and begins on some new example. One specific case I can offer is the part of the book that uses the satellite navigation system example, and the black-box/white-box analysis with use cases and activity diagrams. When I started reading it I thought it was great. I expected by the end of the chapter I'll finally have a grasp on how to use these UML tools and analysis techniques to better organize projects and create clearer preliminary designs. He ends up condensing the diagrams, i.e., diagrams that would have been separate are now part of one big diagram. Furthermore, he only shows you partially how to create the diagram and then lists the things he would continue to do from that point, but doesn't actually show it to you. What's worse, is he tells you that he condensed the diagrams and in a real life situation he wouldn't have done this, rather he would have created separate diagrams and detailed them differently and performed the analysis in a different order.I think the end result of reading this book is that you've gained no new skills that you can practice and incorporate into your work, because you only have this partial condensed idea of analysis and design. I got this book because I was looking for more detailed information on how to build object-oriented systems as opposed to the multitude of vague and worthless mantras found all over like, "just make everything cohesive and loosely coupled", and "SOLID". This book ended up being a very wordy version of the same vague and worthless mantras.
S**R
Too many words
This book's reputation as one of the bibles of OOAD is probably deserved because (to someone relatively new to it) the essentials seem to be thoroughly covered. It just seems too much like wading through muck to find them.The problem begins at the very beginning; on the first pages of the preface. In describing changes between publication of the second edition and this third edition, the author lists "robots are cruising on the surface of Mars" and "Personal hovercraft are available." Tongue-in-cheek?Unfortunately, no, unless it's firmly planted there. As the book continues, the reader all too often wants to start skimming as paragraph after paragraph, sometimes page after page, of non-essential prattle clouds the essentials. For journeyman designers and developers, sections on the topology of old-fashioned procedural languages, on the importance of documentation, task planning, release planning (twice!) and more may be frustrating drags on learning the essentials of thinking through a good design and taking it to the doorstep of implementation.A highly-simplified greenhouse application is used for examples throughout the first part of the book, leaving too many more-common scenarios unexplored and occasionally trapping skimmers who have not captured every concept in the design of that application along the way.Late chapters illustrate some concepts with (finally!) other applications including an all-important (for many of us) web application as well as applications for satellite tracking, data aquisition for a weather station, artificial intelligence, and a control system for traffic management. Interesting, but again wordy and by the time you get there you're exhausted!I did learn from this book, but I'm still looking for The Book that efficiently teaches OOAD, and I've read four or five already. So far I've learned more from a couple of implementation-level books: Martin Fowler's superb book Refactoring: Improving the Design of Existing Code, and his UML Distilled. These have been very instructive in part because Fowler's style is lean and very clear, un-clouded by distracting non-essentials. I've just ordered Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development by Craig Larman. Fingers are crossed, maybe that will be The Book.
B**R
Awesome intoduction and exposition to object-orientedness
Really, this is an outstanding book on object oriented analysis and design. In many instances of my work and projects I took advantage of using it, especially the section with applications. It is outstanding because it gives the science behind object oriented analysis and design with citations on previous and current research specifically in software development, and software engineering in general. For example, do yo know why software is complex? What are the elements that make software so hard and so complex to develop? But you should first ask: what is complexity at all? You will find the answer to this and many other important questions with awesome cristal clear explanations on concepts, and methods used in constructing industrial-strenght sofware.Together with this book, I recommend this companion books: Clean Code (Robert C. Martin), Agile Software Development - Principles, Patterns, and Practices (Robert C. Martin), UML 2 and the Unified Process 2ed. (Arlow and Neustadt).
M**X
A must have!
I love this book. And this is my opinion: I bought it the first time back in the late 90s when I was in college and recently I got the latest edition for kindle format so I can access it from my phone. This is not a book that if you read it, you will be an OOP expert, but it helps to understand many concepts. In my case it is part of the foundation of my knowledge as an IT professional. It is so clear and well explained the concept of Class; Object; Polymorphism; Encapsulation, Abstraction, Inheritance, etc..
R**H
Great Book from a great seller
I am a professional programmer/Software Engineer. This book came to me as advertised and the seller's service was nonpareil.
J**D
Arrived on time but not in a great shape…
For sure the content of the book is great but the state on the product is really poor having in mind that I am paying for a new product.
S**A
Excellent book on Object based progranming complexity
The best thing about this book is it's pedagogy. It stimulates the students to connect programming concepts with visuals of real life events. A masterpiece of eloquent presentation complete with applications. Very useful book to learn about object oriented philosophy of programming. If you read this you should further read design patterns for further advancement.
B**I
Good
Contents of the book are too good. But, low quality of paper. We can not use for long term.
C**R
Excellent
Best book for understanding the subject ooad and also helpful for semester exams.thank you amazon for fast delivery.
A**R
Love the book
This is probably the best book in the industry approved by the stalwarts and so the preferred choice. But it's very concise and the meaning is deep.
ترست بايلوت
منذ أسبوعين
منذ شهر