Chapter 2 HFOOAD

--Originally published at Hackerman's house

This chapter of the Head First Object-Oriented Analysis and Design talks about the importance of gathering the adequate requirements for the costumer, this process is all about making sure you satisfy your costumer by making sure you deliver them exactly what they need even though they may not know all they need.

This part of the design to talk with your client so you can understand what are their needs, this way you can define way better how to design your software, then you can verify if your software is fulfilling all the requirements that you set at the beginning of the project, this way you have a viable way to measure how well your project is being made, this can be used to show the customer or your boss the advances in the project.

Need

Most of the times, listen to the costumer won’t assure that your requirement list is complete, that’s why you got to see beyond what they told you, and imagine specific cases where external variables may affect the way the system works, in any case the system should be able to respond to these specific cases and take an alternate path to accomplish what it is made for.

In this book they use a requirement list to gather all the requirements for the system, a year ago I learned something called user stories these are short, simple descriptions of a feature told from the perspective of the person who desires the new capability, usually a user or customer of the system, is an agile methodology which is really useful to define the requirements, and something I personally like to do when designing software.

Userstory

When you already have the list of requirements you may write Use cases to define how to accomplish the requirements previously stablished, this basically a step list of what the system is going to do, it can be used as a guide when you are coding, even though some of the things in the Use cases are not pertinent in the code.