Design Methodogies

(Ref Sommerville I, Software Engineering)


Top Down Design

In systems development, top-down design is a systematic approach based on the concept that the structure of the problem should determine the structure of the solution. The intention is that the final design will result in software that understandable, verifiable and reliable.

The systems is viewed as an entity and broken down into key components. These components are then broken down into their key components and the process continues where each part is further refined until the entire system is described. The system can then be viewed as a hierarchical map.

Computer software development may be done in two different ways. The first way is called top-down development and the alternate approach is called bottom-up development.

The top-down approach is a hierarchical one that involves developing all of the high levels and represents all the lower levels as "stubs" to simulate the function of the components. As each level is completed, the next level is implemented as before. Eventually, the lowest level is implemented and the process finishes.

Bottom Up Development

Bottom-up is the reverse process where the lowest level components are built first and the systtem builds up from the bottom until the whole process is finally completed.

In reality, large systems are usually developed using a combination of the both methods. Top-down usually works well for small systems but for large complex systems, the combination is the best approach and in practice, what actually happens.


Author Mike Leishman