Modular Programming
Using this method the entire program is divided into smaller manageable modules so that the smaller modules can be designed, coded and debugged separately.
Top-Down Design:
Here the overall problem is first defined in terms of general subtask. These subtasks are divided into further sub tasks.