Top-Down Design Model: In the top-down model, an overview of the system is formulated without going into detail for any part of it. Each part of it then refined into more details, defining it in yet more details until the entire specification is detailed enough to validate the model. if we glance at a haul as a full, it’s going to appear not possible as a result of it’s so complicated For example: Writing a University system program, writing a word processor. Complicated issues may be resolved victimization high down style, conjointly referred to as Stepwise refinement where,
- We break the problem into parts,
- Then break the parts into parts soon and now each of parts will be easy to do.
Benefits of Top-Down Design Model:
- Breaking problems into parts help us to identify what needs to be done.
- At each step of refinement, new parts will become less complex and therefore easier to solve.
- Parts of the solution may turn out to be reusable.
- Breaking problems into parts allows more than one person to solve the problem.
Bottom-Up Design Model: In this design, individual parts of the system are specified in detail. The parts are linked to form larger components, which are in turn linked until a complete system is formed. Object-oriented language such as C++ or java uses a bottom-up approach where each object is identified first.
Benefits of Bottom-Up Design Model:
- Make decisions about reusable low-level utilities then decide how there will be put together to create high-level construct.
- Objects are abstractions of the real-world or system entities and manage themselves.
- The objects are independent and in an encapsulated state and representation information.
- System functionality is expressed in terms of object services.
- Shared data areas are eliminated.
- Communication between objects is through message passing.
- The objects may be distributed and may execute sequentially or in parallel.
- Easier to maintain objects.
- Objects may be understood as stand-alone entities.
- Objects are appropriate reusable components.
- For some systems, there may be an obvious mapping from real entities to system objects.