Login
Copyright

Program Design: Top Down vs. Bottom Up

Instructor: David Gloag
In this lesson, we'll take a look at program design and define it in terms of top down program design in comparison to bottom up program design. Why would you choose one over the other?

Program Control

Computers affect many parts of our lives. They control the operations of many machines in our factories, they allow us to communicate with people on the other side of the world, and we can even play games like Chess and Go with the best in the world. Is it any wonder that we are constantly looking for ways to efficiently and effectively program them? Not really. Their prevalence almost demands this. So, how do we meet those objectives? How do we ensure their proper operation? That can be tricky. One way we do it is through solid program design.

What is Program Design?

Program design is the process of converting a set of requirements into a collection of commands or a program that can be executed on a computer system. A program is a series of instructions that the computer executes in order to perform some meaningful work. For example, the developers at Microsoft created a program called Word that performs word processing activities for a user. Program design is an integral part of software development and depending on the methodology used, can be a significant step in the process. Generally, it consists of:

  • Translating requirements into general operations or commands.
  • Identifying important attributes and characteristics of the commands and grouping them.
  • Establishing an order and relationships between the groups.

The result is a framework that the program can use to deliver the required functionality.

Top Down Program Design

Top down program design is an approach to program design that starts with the general concept and repeatedly breaks it down into its component parts. In other words, it starts with the abstract and continually subdivides it until it reaches the specific. Consider creating the prime factorization of a number like 1540. The steps involved might look like:

  • 1540
  • 2 x 770
  • 2 x 2 x 385
  • 2 x 2 x 5 x 77
  • 2 x 2 x 5 x 7 x 11

Top down program design works the same way. We start with the overall objective and wind up with a series of steps needed to accomplish it.

Bottom Up Program Design

Bottom up program design works in the exact opposite way. It starts with the component parts and repeatedly combines them to achieve the general concept. In other words, it starts with the specific and continually combines it until it reaches the abstract. For example, consider the factorization from the previous section. For bottom up design the steps involved might look like:

  • 2 x 2 x 5 x 7 x 11
  • 2 x 2 x 5 x 77
  • 2 x 2 x 385
  • 2 x 770
  • 1540

For bottom up design we start with the steps needed to accomplish an objective and wind up with the overall goal.

To unlock this lesson you must be a Study.com Member.
Create your account

Register for a free trial

Are you a student or a teacher?
I am a teacher
What is your educational goal?
 Back

Unlock Your Education

See for yourself why 10 million people use Study.com

Become a Study.com member and start learning now.
Become a Member  Back

Earning College Credit

Did you know… We have over 95 college courses that prepare you to earn credit by exam that is accepted by over 2,000 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Create an account to start this course today
Try it free for 5 days!
Create An Account
Support