

Desertcart purchases this item on your behalf and handles shipping, customs, and support to Congo.
"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, 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! Review: An excellent book on a slighted subject - I do LabVIEW programming and trying to find a good reference on this subject has been a struggle. This book, although written for JAVA programmers, contains the information on how to decompose your programming project and lay it out to be coded. I just had to ignore the JAVA examples and focus on the how-to. Be aware though, that this book assumes you know Object-oriented terms and fundamentals. This is not the book to use if you want to pick up this programming style from scratch. However, if you have the basic idea under your belt, this is one great book to work through. I plan to have this book really dog-eared when I'm done. Review: Very good book with "conversational" concept explanations - The book is "easy to read" compared to the ones' on the same topic. It becomes a bit more complex in the end after the basis concepts are already passed.



















| Best Sellers Rank | #507,207 in Books ( See Top 100 in Books ) #7 in UML Language #70 in Object-Oriented Software Design #94 in Object-Oriented Design |
| Customer Reviews | 4.4 out of 5 stars 461 Reviews |
T**N
An excellent book on a slighted subject
I do LabVIEW programming and trying to find a good reference on this subject has been a struggle. This book, although written for JAVA programmers, contains the information on how to decompose your programming project and lay it out to be coded. I just had to ignore the JAVA examples and focus on the how-to. Be aware though, that this book assumes you know Object-oriented terms and fundamentals. This is not the book to use if you want to pick up this programming style from scratch. However, if you have the basic idea under your belt, this is one great book to work through. I plan to have this book really dog-eared when I'm done.
P**I
Very good book with "conversational" concept explanations
The book is "easy to read" compared to the ones' on the same topic. It becomes a bit more complex in the end after the basis concepts are already passed.
A**S
Once of the best Object Oriented Analysis & Design books
I read this book at the very start of my career as a software engineer. One of the most fundamental things in software development is to learn how to collect requirements from clients (or your employer) and transform these into small, re-usable chunks of code. Learning design principles presented in this book, like DRY (Don't Repeat Your Self), SRU (Single Responsibility Unit) or KISS (Keep it Simple Stupid) can help any developer program faster and more efficient. A must read for all new developers!
S**N
Good book but suffers from overly-simplistic examples.
Overall this is another winner in the Head First series but it's not quite as thought provoking as some of the other Head First books. If you've read a Head First book then you already know what to expect. If not then you will quickly learn that Head First books take a completely different approach then your typical text book style. Head First books take an odd-ball approach using lots of whacky drawings, humor and tons of exercises that really force you to think. Head First OOA&D is a good first step for those of us that have OOP knowledge but are just beginning to learn how to architect OO software correctly. The book does sort of sit in an akward position for the target audience. On one hand this book assumes that you have OOP knowledge so it's not really for the OO beginner (the appendix covering OOP is quite shallow). On the other hand the examples in the book are extremely simplistic so those of us that do have OOP knowledge may desire a bit more out of the book. Don't let this shy you away though because like most Head First books - you will learn a good deal if your experience in OOA&D is very minimal. I understand where this book is trying to aim. People looking into OOA&D should already have basic OOP concepts mastered. Some people tend to blur the line between OOA&D and OOP. OOA&D is Object Oriented Analysis and Design. This means you take the concepts you know from OOP and learn how to architect software by using certain techniques such as UML modeling, patterns, requirements gathering and what-not. OOP should already be understood if you are trying to create an OO architecture. In other words - You have to learn how buildings work before you learn how to draw the blue-prints and design your own building. For what it is this is a very good book. If you are brand new to OOP then I would hold off on this one for a bit until OOP is understood. If you understand how OOP works but you don't feel confident architecting software then this is a great start even though the book may seem a bit overly simplistic at times.
R**S
It is a great book for everyone who wants to understand how to ...
It is a great book for everyone who wants to understand how to build great software. It explains all the process since the initial specs until the delivery of the system with the best quality for the customer and for the developers that will have to change the code, too. Every step in this process is well explained and helped a lot in my daily routine as a programmer. This book really teaches practical concepts about Object Oriented Analysys And Design.
P**3
excellent book
on excellent conditions to used book though
S**A
Decent Introduction to OOA&D
I 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.
A**R
Excellent read!
Best book I've read on the subject. Since it isn't a textbook, it was easier for me to read. The examples were really good at helping me reach that eureka moment which is critical when learning.
R**R
Easy to read and understand
The book is easy to read and understand. the unique format of the book ensures that you retain the information long after you have read it. It is not a comprehensive reference book but it is more than enough for intermediate level developers.
D**N
Rico em boas dicas
O livro aborda o processo de desenvolvimento de software orientado a objeto, desde o contato com o cliente, passando pela escrita dos casos de uso, elicitação de requisitos, análise de domínio, diagramação UML, implementação e teste. Explica os pilares da orientação a objeto (abstração, herança, polimorfismo, encapsulamento) e os seguintes princípios de desenvolvimento de software: OCP, SRP, LSP e DRY. As dicas são muito boas! Eu mesmo achava que sabia o que era encapsulamento, mas o livro me deu uma visão mais robusta do que realmente é.
E**E
Great resource
It’s a great resource for learning design patterns and principles in the most easiest way.
D**L
Un excelente libro para cualquier tipo de desarrollador
Muestra los principios que cualquier desarrollador de software debería seguir para crear código más flexible y reutilizable además profundiza en los principios SOLID y en la toma de requerimientos. Y como siempre la manera de explicar es más que estupenda.
V**N
Must read book for all software Engineers
Must read book for any level of software Engineers
Trustpilot
2 weeks ago
2 months ago