Tuesday, April 26, 2011

Applying Top-Down Design to Programming as well as Life

Top-down design, also referred to as stepwise refinement, is most commonly used when creating larger, more difficult programs such as a word processor. Using top-down design takes a problem and breaks it into smaller, more manageable problems. After it breaks down the problems into smaller problems, it breaks them down again into even smaller problems that can be easily handled. One of advantages of using top-down design is that it brings clarity to what needs to be done. Using top-down design also makes the problem easier as each step of refinement makes the new parts less and less complicated. Breaking apart the problems also makes it possible for more than one person to work on the solution. And probably the most helpful part of using top-down design is that as the refining process goes on and solutions are found to the problems, some of the solutions can be reused. Each of the steps in the process follows down from one module to the next, until a final solution is reached for all problems. A good example of a top-down would be to make a program that draws a picture of a house. Next it would be broken down into smaller modules such as draw an outline, draw a chimney, draw the door, and draw the windows. Then it would break down the process into smaller modules for each. For drawing the chimney a smaller module might be drawing bricks, and drawing smoke. For the door the smaller modules might be drawing frame, drawing door knob.
Top-Down design not only can be applied to computer programming, but personal life as well. When we are faced with difficult tasks in life the best way to handle those problems is to break them into smaller tasks that are easier to handle. It can be applied to almost anything. Let’s say that you want to build a deck for the second story of your house. You would want to first lay foundation, build staircase, and build railings. Each of those tasks can be broken down into even smaller tasks such as digging holes for posts, filling holes with cement, ect. It is even possible to apply the top-down design method to business as well as personal life. Let’s say that you wanted to open a restaurant. First you would want to make a business plan, create a menu, and hire employees. Breaking down the process of making a business plan might look like deciding what kind of restaurant to have, and where it would be located. Making a menu might include making a kids menu, making a vegetarian menu, a dinner menu, and possibly a lunch menu. Hiring employees would break down into the hierarchy of the management, the chefs, the waiters, the janitors, the hostesses, and possibly even bartenders depending on what kind of restaurant you are opening. Top-down design can be applied to any number of daily activities, and is a very good way of handling the little things in life, and even the big things as well.