Showing posts with label ooad. Show all posts
Showing posts with label ooad. Show all posts

Object-Oriented Analysis and Design with Applications (2nd Edition) Review

Object-Oriented Analysis and Design with Applications (2nd Edition)
Average Reviews:

(More customer reviews)
Are you looking to buy Object-Oriented Analysis and Design with Applications (2nd Edition)? Here is the right place to find the great deals. we can offer discounts of up to 90% on Object-Oriented Analysis and Design with Applications (2nd Edition). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Object-Oriented Analysis and Design with Applications (2nd Edition) Review
After reading some of the less flattering reviews of this book, it seems that many reviewers were expecting a book on object-oriented programming in general. If you want to learn how program, this is not the book for you. This book is about *using* object-oriented techniques to architect systems. The content you should take away from it is entirely independent of any particular language.
Some of the steps in becoming a good OOP programmer/architect are listed below (1 & 2 are often combined):
1. learn an OO language
2. learn OOP
3. learn how to *use* OOP

Step three is where this book and, for example, books on object-oriented design patterns (GoF) come in. Just because because you know what classes and inheritance are does not mean you will use them effectively. I cannot emphasise the importance of step 3 enough when architecting applications. If you are a coder, simply knowing OOP is fine, as an architect it is simply not enough.
In terms of organization, the book starts simple and builds on previous chapters in a very organized way. In the first chapter Booch delves into the philosophy of OOP and complex systems. This kind of broad introduction serves well as a way to show where OO analysis and design stand relative to other engineering disciplines.
The only problem I had with the book is the fact that it is a bit dated. It does not use UML (although what it uses is very similar) and even has a chapter devoted to client/server computing. (however, it also has a chapter on AI). If it were not for this its datedness, I would have easily given it 5/5.
Overall a great book from one of the father's of modern objected oriented analysis/design.Object-Oriented Analysis and Design with Applications (2nd Edition) OverviewIn the Second Edition of his award-winning book, Grady Booch draws upon the rich and varied results of the hundreds of projects which have applied the notation and method presented in the First Edition to offer improved methods for object development-including a unified notation. The winner of the Jolt Cola book award in both editions, Object-Oriented Analysis and Design with Applications has been a major force in moving object technology into the mainstream of software development. With numerous examples, now implemented in C++, the Second Edition illustrates essential concepts, explains the method, and shows successful applications in a variety of fields. It also offers pragmatic advice on a variety of issues-including classification, implementation strategies, and cost-effective project management.

Want to learn more information about Object-Oriented Analysis and Design with Applications (2nd Edition)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Object-Oriented Software Engineering Using UML, Patterns, and Java (3rd Edition) Review

Object-Oriented Software Engineering Using UML, Patterns, and Java (3rd Edition)
Average Reviews:

(More customer reviews)
Are you looking to buy Object-Oriented Software Engineering Using UML, Patterns, and Java (3rd Edition)? Here is the right place to find the great deals. we can offer discounts of up to 90% on Object-Oriented Software Engineering Using UML, Patterns, and Java (3rd Edition). Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Object-Oriented Software Engineering Using UML, Patterns, and Java (3rd Edition) ReviewMany SE books tell you about SE (eg., Sommerville). Those kinds of books equip you to win in a software engineering version of the trivia game Jeopardy! but will hardly impart any skill and will not make you a better software engineer, only more informed.
In contrast, this book tells you how to do software engineering. They tell you what, Bruegge shows you how. Rather than cover all the concepts in SE, Bruegge picks the most essential ones, gives you a brief but thorough explication of those and then proceeds to teach how they are used.
Professor Bruegge's approach to teaching his SE students is by having his entire class work *together* as one team on *one* real-life project during the term (that's one project for the whole class).
Typically, this project is an upgrade of the previous class's project. Stop and imagine how realistic this approach is -- modifying a system created by engineers who are no longer available for interview, working with as many as 50 different people, working with designs that do not match the code anymore, working with code of varying quality, etc.
Bruegge distills the lessons learned from these practical projects and illustrates practical (not idealistic) approaches to solutions.
Expect German thoroughness and a lucid, unpretentious prose that heeds Strunk and White's dictum: "Omit needless words".
Highly recommended.
-vjaObject-Oriented Software Engineering Using UML, Patterns, and Java (3rd Edition) OverviewFor courses in Software Engineering, Software Development, or Object-Oriented Design and Analysis at the Junior/Senior or Graduate level. This text can also be utilized in short technical courses or in short, intensive management courses.

Object-Oriented Software Engineering Using UML, Patterns, and Java, 3e, shows readers how to use both the principles of software engineering and the practices of various object-oriented tools, processes, and products.

Using a step-by-step case study to illustrate the concepts and topics in each chapter, Bruegge and Dutoit emphasize learning object-oriented software engineer through practical experience: readers can apply the techniques learned in class by implementing a real-world software project.

The third edition addresses new trends, in particular agile project management (Chapter 14 Project Management) and agile methodologies (Chapter 16 Methodologies).


Want to learn more information about Object-Oriented Software Engineering Using UML, Patterns, and Java (3rd Edition)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

Head First Object-Oriented Analysis and Design Review

Head First Object-Oriented Analysis and Design
Average Reviews:

(More customer reviews)
Are you looking to buy Head First Object-Oriented Analysis and Design? Here is the right place to find the great deals. we can offer discounts of up to 90% on Head First Object-Oriented Analysis and Design. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Head First Object-Oriented Analysis and Design ReviewI like the Head First series, and even Head Rush, for its innovative and fun approach for introductory software topics. I've had small concerns on all of them but I have never been as ambivalent as I have for this book. I know a big part of this problem was that it was rewritten expeditious (I am still not sure of the reason why) and it shows throughout the book with spelling, logic and code errors.
You can tell that the first chapter was rushed. There are several spelling and programming mistakes. The most egregious is where they ask you to look through some code to find what "FIRST" you change and then they answer that question with a much smaller problem (the main problem was they forgot to add a return statement (pg.5) and they write about the inconsistency of using String based searching). It has also been mentioned by several reviewers of the use of the method name "matches" which only makes sense for regex not for an equals operation. I also did not like the search example (how can you not think of price in a search?). The best part of this chapter is the mantra that should be practiced by many engineers: "Make sure your software does what the customer wants it to do."
The next few chapters are definitely better (though still some spelling mistakes). They are a good read for beginners and intermediate programmers on gathering requirements, change of these requirements and analysis. The ideas are a bit simplistic though it is good to get many programmers used to the idea of UML and use cases and using them to drive requirement gathering and textual analysis. Intermediate and advanced readers familiar with use cases will gain more from reading Alistair Cockburn's "Writing Effective Use Cases" (or will already have read it) and for further UML reading should go with "UML Distilled" by Martin Fowler.
When the book gets back to design I see some problems with the coding. The designer has this bizarre idea of abstracting all properties (under the guise of "encapsulate what varies") into a Map attribute to lessen the amount of subclasses for instruments. While initially this may seem a good idea it gets rid of all type-safe coding (you can now safely assign an instrument type to a backwood for the instrument), you cannot have behavior from the instruments (this is mentioned in the book) and if you put a property with one letter misspelled or capitalized out-of-place you now have a bug, one that you might have trouble finding thereby increasing maintenance costs. Too much flexibility makes the code ambiguous.
After design, the studies get to solving really big problems, architecture, design principles, and iterating and testing. These chapters I enjoyed much more especially the chapter on design principles with the beginning mantra that "Originality is Overrated." This chapter goes over basic principles such as OCP (open-closed principle), DRY (don't repeat yourself), SRP (single responsibility principle) and LSP (Liskov Substitution Principle).
Then the book last chapter (the ooa&d lifecycle) sums the lessons in the book in one large (somewhat contrived but these type of examples always are) program for the Objectville Subway. Then two terse appendixes dealing with ten additional OOA&D topics and OO concepts should make the reader realize that this book is just an introductory sliver of what needs to be learned for a sagacious software acumen.
This book is useful for programmers with a bit of Java (or C#) knowledge who want to get a good overview of OOA&D. This book is useful because it teaches important OO vernacular and a simple holistic approach to iterative development. If the book did not have a "quickly done" feeling, better design and fewer mistakes I would have liked this book more. This book is a good candidate for a second edition. If you want a more thorough explanation of these topics I recommend "The Object Primer" by Scott Ambler as one of my favorite books for a good introduction to OOA&D.
Head First Object-Oriented Analysis and Design Overview"Head First Object Oriented Analysis and Design is a refreshing look at subject of OOAD. What sets this book apart is its focus on learning. The authors have made the content of OOAD accessible and usable for the practitioner." --Ivar Jacobson, Ivar Jacobson Consulting
"I just finished reading HF OOA&D and I loved it! The thing I liked most about this book was its focus on why we do OOA&D-to write great software!" --Kyle Brown, Distinguished Engineer, IBM

"Hidden behind the funny pictures and crazy fonts is a serious, intelligent, extremely well-crafted presentation of OO Analysis and Design. As I read the book, I felt like I was looking over the shoulder of an expert designer who was explaining to me what issues were important at each step, and why." --Edward Sciore,Associate Professor, Computer Science Department, Boston College
Tired of reading Object Oriented Analysis and Design books that only makes sense after you're an expert? You've heard OOA&D can help you write great software every time-software that makes your boss happy, your customers satisfied and gives you more time to do what makes you happy. But how? Head First Object-Oriented Analysis & Design shows you how to analyze, design, and write serious object-oriented software: software that's easy to reuse, maintain, and extend; software that doesn't hurt your head; software that lets you add new features without breaking the old ones. Inside you will learn how to:
Use OO principles like encapsulation and delegation to build applications that are flexible
Apply the Open-Closed Principle (OCP) and the Single Responsibility Principle (SRP) to promote reuse of your code
Leverage the power of design patterns to solve your problems more efficiently
Use UML, use cases, and diagrams to ensure that all stakeholders are communicating clearly to help you deliver the right software that meets everyone's needs.

By exploiting how your brain works, Head First Object-Oriented Analysis & Design compresses the time it takes to learn and retain complex information. Expect to have fun, expect to learn, expect to be writing great software consistently by the time you're finished reading this!


Want to learn more information about Head First Object-Oriented Analysis and Design?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...