Anybody could suggest some guide , book, or free indication on how to plan and designa program ? I mean what are the steps to follow once a problem is faced and a software must be generated to be solved. What are the steps or approach to follow ?