Head First Object-Oriented Analysis and Design, O'Reilly

Microsoft .NET Framework, ASP.NET, Visual C# (CSharp, C Sharp, C-Sharp) Developer Training, Visual Studio


Jump to: navigation, search
  Title:  Head First Object-Oriented Analysis & Design:
A Brain Friendly Guide to OOA&D
  Author(s):  Brett D. McLaughlin, Gary Pollice, Dave West
  Edition:  O'Reilly Media (November 1, 2006)
  Format:  Paperback: 600 pages
  ISBN:  0596008678
  Overall Rating:  Image:stars4.gif The Bottom Line
C# Online.NET:Reviews: Book Reviews  •  Educ./Train. Reviews  •  Software Reviews  •  Top 10 Books

Contents


C# Online.NET Book Review

Different people learn in different ways. Everyone learns better with complementary teaching styles. The Head First Series tries to incorporate the latest teaching techniques into unintimidating introductions to difficult disciplines. Object-Oriented Analysis and Design is just such a discipline: It eludes a great many professional programmers.

The Head First Series is not for everyone. Old school programmers who were self-trained on technical manuals—and not on software books at all—may not respond well to the comic book style dialogues, crude illustrations, drawings, handwritten fonts, scribblings, factoids and jokes. (Read the Table of Contents to see what you're in for.) However, the Series will be more familiar and engaging for younger programmers weaned on modern textbooks geared to the distracted Ritalin generations. On the other hand, I, myself, am among the self-taught; and, I find the Series very useful in cracking unfamiliar technologies with my deprecated wetware.

Those who have already read one or more books in this series will find this book slightly less hip, less humorous, and less memorable. In part, this is due to the fact that the approach will no longer seem completely novel and unique to such readers.

That said, if you have found other OOAD books to be obfuscated, obscure, and obtuse, then this is the book for you. You will learn practical OOAD principles derived from the ground up as chapter builds upon chapter involving you in the problems, choices, tradeoffs and solutions. It is method of learning not unlike an apprenticeship. As such, it is suitable for OOAD beginners with a knowledge of object-oriented programming.

My advice to the reader is to read every scribbled comment in the margins, work every exercise, and play every game. The various activities are designed to work together to reinforce the knowledge in the reader's mind.

The book uses a guitar store application as a vehicle for teaching OO analysis and design. It introduces concepts and tools—like class diagrams and use cases—only if and when they are needed. Unlike more academic treatments of the subject in other books, this means the reader learns not only what is required but when and why. The book does not glory in jargon. Herein, UML is a tool to be applied only to faciliate design: it is not an end in itself.

All of the source code examples are in the Java language. So, C# programmers should have few problems following the code. However, a few more source code examples might have helped in the discussions of aggregation, association, and composition.


Bottom line

Head First Object-Oriented Analysis & Design is a wonderful, creative, fun way to get started with OOAD.

Other books in this series

From the back cover

Tired of reading object oriented analysis and design books that only make sense after you're an expert? Try our Head First book. This witty and entertaining tutorial shows you how to analyze, design, and write great software that makes your boss happy, and your customers satisfied. You'll learn to solve real problems, regardless of their size and complexity, by applying good design principles and practices.

"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!

About the author(s)

Brett McLaughlin is a guitar player who is still struggling with the realization that you can't pay the bills if you're into acoustic fingerstyle blues and jazz. He's just recently discovered, to his delight, that writing books that help people become better programmers does pay the bills. He's very happy about this, as are his wife Leigh, and his kids, Dean and Robbie.

Before Brett wandered into Head First land, he developed enterprise Java applications for Nextel Communications and Allegiance Telecom. When that became fairly mundane, Brett took on application servers, working on the internals of the Lutris Enhydra servlet engine and EJB container. Along the way, Brett got hooked on open source software, and helped found several cool programming tools, like Jakarta turbine and JDOM.

Gary Pollice is a self-labeled curmudgeon (that's a crusty, ill- tempered, usually old man) who spent over 35 years in industry trying to figure out what he wanted to be when he grew up. Even though he hasn't grown up yet, he did make the move in 2003 to the hallowed halls of academia where he has been corrupting the minds of the next generation of software developers with radical ideas like, "develop software for your customer, learn how to work as part of a team, design and code quality and elegance and correctness counts, and it's okay to be a nerd as long as you are a great one."

Gary is a Professor of Practice (meaning he had a real job before becoming a professor) at Worcester Polytechnic Institute. He went to WPI because he was so impressed with the WPI graduates that he's worked with over the years. He lives in central Massachusetts with his wife, Vikki, and their two dogs, Aloysius and Ignatius.

Dave West would like to describe himself as sheik geek. Unfortunately no one else would describe him in that way. They would say he is a professional Englishman who likes to talk about software development best practices with the passion and energy of an evangelical preacher. Recently Dave has moved to Ivar Jacobson Consulting, where he runs the Americas and can combine his desire to talk about software development and spread the word on rugby and football, and argue that cricket is more exciting that baseball.

Before running the Americas for Ivar Jacobson Consulting, Dave worked for a number of years at Rational Software (now a part of IBM). Dave held many positions at Rational and then IBM, including Product Manager for RUP where he introduced the idea of process plug-ins and agility to RUP. Dave still laments the days when he use to sit in a cube and write software in the city of London. This is where he believes he cut his teeth writing big insurance systems with nothing but a green screen and a process flow chart.

Table of Contents (abbreviated)

1 Great Software Begins Here - well-designed apps rock
2 Give Them What They Want - gathering requirements
3 I Love You, You're Perfect… Now Change - requirements change
4 Taking Your Software Into the Real World - analysis
5 Part 1 - Nothing Ever Stays the Same - good design
Interlude - OO CATASTROPHE
Part 2 - Give Your Software a 30-minute Workout - flexible software
6 "My Name is Art Vandelay" - solving really big problems
7 Bringing Order to Chaos - architecture
8 Originality is Overrated - design principles
9 The Software is Still for the Customer - iteration and testing
10 Putting It All Together - the ooa&d lifecycle
Appendix I - leftovers
Appendix II - welcome to objectville

Personal tools