What is the definition of bottom up design?


Q: What is the definition of bottom up design?

A: Bottom up design begins the design at the lowest level modules or subsystems, and progresses upward to the design of the main program, main module, or main subsystem. To determine the order of execution, a structure chart is needed, and, to complete the bottom up design, the development of drivers is needed.

In software design - assuming that the data you start with is a pretty good model of what you're trying to do - bottom up design generally starts with the known data (e.g. customer lists, order forms), then the data is broken into into chunks (i.e. entities) appropriate for planning a relational database. This process reveals what relationships the entities have, and what the entities' attributes are.

In software design, bottom up design doesn't only mean writing the program in a different order, but there is more to it. When you design bottom up, you often end up with a different program. Instead of a single, monolithic program, you get a larger language, with more abstract operators, and a smaller program written in it.

Once you abstract out the parts which are merely utilities, what is left is much shorter program. The higher you build up the language, the less distance you will have to travel down to it, from the top. Bottom up design makes it easy to reuse code blocks.

For example, many of the utilities you write for one program are also useful for programs you have to write later. Bottom up design also makes programs easier to read.


__________________________________________

Copyright 2000 - 2010 Rob Davis PE. All rights are reserved. No part of

this document may be reproduced in any form whatsoever

without written permission from Rob Davis, PE.

http://www.softwaretestengineer.com

http://www.robdavispe.com


software qa testing test tester software qa testing test tester software qa testing test tester software qa testing test tester software qa testing test tester software qa testing test tester