Back to the 2026 paper

Module 3: Software Design & Metrics

20267m

Write short notes on any two of the following:

Top-down and bottom-up approach

Worked SolutionAI Assisted

Top-Down and Bottom-Up Approach

Top-down design

Start with the overall system and repeatedly break it into smaller sub-systems/modules until each module is simple enough to code (stepwise refinement).

  • Begins with the main module and works down; lower modules are first replaced by stubs.
  • Example: Banking system, then Accounts / Loans / Transactions, then Deposit, Withdraw, Transfer.
  • Advantages: clear overall structure, early detection of design and interface errors, easy to manage.
  • Disadvantages: low-level details come late; reuse of existing components is limited.

Bottom-up design

Start by designing and building the lowest-level, basic modules, then combine them into larger modules until the whole system is built.

  • Uses drivers to test lower modules first.
  • Example: Build and test Deposit, Withdraw and Transfer first, then combine them into Transactions, then the Banking system.
  • Advantages: encourages reuse of existing modules, low-level modules are tested thoroughly, suits projects built on existing libraries.
  • Disadvantages: overall structure and interface problems appear late; system-level design is unclear at the start.

Comparison

Basis Top-down Bottom-up
Starts from Whole system / main module Lowest-level modules
Direction Decomposition (divide) Composition (combine)
Testing aid Stubs Drivers
Strength Clear structure, early design validation Reuse, early detail testing
Weakness Late low-level detail Late integration problems

In practice a combination of both is used.

Similar questions

Official AppAndroid App

PYQDeck for Android

Solve BEU previous-year exam papers anywhere, anytime. Fast search, offline paper viewing, and step-by-step solutions designed specifically for your phone.