Bits of Bytes.co

IGCSE / GCSE Computer Science

  • Home
  • 1 - Theory of Computer Science
  • 2 - Practical Problem Solving and Programming
  • Pre-Release Material
    • 2018 June >
      • 22 >
        • 22 - Cow Task
        • 22 - Task 1
        • 22 - Task 2
        • 22 - Task 3
  • 1 - Computer Systems (2023)
Picture
MENU
  • Home
  • 1 - Theory of Computer Science
  • 2 - Practical Problem Solving and Programming
  • Pre-Release Material
    • 2018 June >
      • 22 >
        • 22 - Cow Task
        • 22 - Task 1
        • 22 - Task 2
        • 22 - Task 3
  • 1 - Computer Systems (2023)
2 - Practical Problem Solving & Programming / Top Down Design


Top Down Design


Developing a computer system can be a very daunting task.  Computer systems can be huge and knowing where to start can be scary.  Having an efficient design process in place can really help to make the task more manageable.

Top Down Design

Top down design is essentially the process of breaking down a computer system into lots of sub systems.  Each of these sub systems can then be broken down into more sub systems with the process continuing as necessary.

This is an effective way of designing and developing a computer system as it breaks a large problem down into smaller more manageable problems that can be tackled one at a time.

Example Scenario.

Lets say that you have been tasked with designing software to help manage a hotel.

The end goal is to have software that can manage a hotel, however this can be broken down into a number of different sub systems e.g.

Employees Managment
Room Managment
Maintenance Managment
Financial Managment

Each of these four sub systems would actually have to contain a number of other sub systems.  Lets look at the Employee management function, this could be broken down into the following sub systems:

Add new employee
Edit employee details
View employee details
Manage employee shifts
Generate pay slip


Benefits of Top Down Design

There are a few benefits of designing a program this way, these include:

1. Developers can code and test each subsystem separately
2. Multiple developers can be tasked with coding different sub systems at the same time which should result in the program being created more efficiently.

Structure Diagram

A structure diagram is a useful method that can be used to visualize top down design.  The structure diagram shows each of the systems sub systems connected to each other in hierarchical form.

The diagram starts at the top with the overall system purpose. 
Picture
Below the overall purpose, each of the main sub systems are depicted.  Next, each of the sub systems, sub systems are then depicted below them.  In the diagram above you can see how this would work with part of the hotel management system.

Vertical Divider
Est. 2015 - Copyright © 2020