Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
3 views10 pages

Third Lecture 1

The document discusses two software development approaches: top-down and bottom-up. The top-down approach starts with a high-level overview and breaks it into smaller components, while the bottom-up approach begins with individual components and integrates them into a complete system. Each method has its advantages and is suited for different programming environments and project requirements.

Uploaded by

kingsleyopakunle
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views10 pages

Third Lecture 1

The document discusses two software development approaches: top-down and bottom-up. The top-down approach starts with a high-level overview and breaks it into smaller components, while the bottom-up approach begins with individual components and integrates them into a complete system. Each method has its advantages and is suited for different programming environments and project requirements.

Uploaded by

kingsleyopakunle
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Bottom- Up an d Top -D own App roa c he s

In software development, both top-down and bottom-up approaches offer distinct strategies for building
systems. Top-down starts with the overall structure and breaks it down into smaller parts, while bottom-up
begins with individual components and combines them to create a larger system.
What is the Top-Down Design Approach?

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.
Difference Between Top-down and Bottom-up Approach
Difference Between Top-down and Bottom-up Approach

The algorithms are designed using two approaches that are the top-down and bottom-up
approach. In the top-down approach, the complex module is divided into submodules. On the
other hand, bottom-up approach begins with elementary modules and then combine them
further.
How Doe s T op -Down Ap proac h Work?
The Top-Down approach works by:

1. Breaking the problem into major components,

2. Refining each component into smaller subcomponents

3. We Continue this process until every part is simple enough to implement.

This approach is particularly useful for solving complex problems, like developing a University System
Program or a Word Processor. By starting with a high-level design and gradually focusing on smaller
details, the complexity of the system becomes more manageable.
Advantages of the Top-Down Design Model
 Simplifies Complex Problems: Breaking problems into smaller parts help us to identify what needs to
be done.

 Easy to Identify Requirements: At each step of refinement, new parts will become less complex and
therefore easier to solve.

 Promotes Reusability: Parts of the solution may turn out to be reusable.


Collaboration-Friendly: Breaking problems into parts allows more than one person to solve the problem.
Wh a t is Bottom- Up De s ign ?
In contrast, the Bottom-Up Design Model is started by defining the system’s individual parts first. Once the
individual components are detailed, they are integrated into larger modules. This process is continued till the system
is fully integrated. The Bottom-Up approach is often used in Object-Oriented Programming (OOP) languages
like C++, Java, and Python, where individual objects are identified and developed first.
How Does Bottom-Up Approach Work?

he Bottom-Up approach works by:

1. Identifying and specifying the smaller components (or objects).

2. Linking these smaller parts together to form larger components.

3. Continuously integrating them to complete the system.


How Does Bottom-Up Approach Work?
This method focuses on creating well-defined and reusable low-level components before deciding how to
integrate them into higher-level systems.
Advantages of the Bottom-Up Design Model

 Reusability of Low-Level Components: Decisions about reusable low-level utilities are made early in
the design.

 Focused Problem-Solving: Developers can focus on solving smaller and more isolated problems first.

 Increased Modularity: The modular approach makes it easier to update individual components without
affecting the entire system.
Differences Between Top-Down and Bottom-Up Design Models
S. No. TOP DOWN APPROACH BOTTOM UP APPROACH

focus on breaking the problem into smaller, more Solves smaller problems and integrates them into
1.
manageable parts a complete system

Mainly used in Structured programming languages Mainly used in Object Oriented Programming
2.
like COBOL, Fortran, C, etc. languages like C++, C#, Python.

Each part is programmed separately therefore Redundancy is minimized by using data


3.
contains redundancy. encapsulation and data hiding.

Modules must communicate to integrate the


4. communication is less among modules.
system.

It is used for debugging and module


5. It is basically used in testing.
documentation
S. No. TOP DOWN APPROACH BOTTOM UP APPROACH

1. focus on breaking the problem into smaller, more manageable parts Solves smaller problems and integrates them into a complete system

2. Mainly used in Structured programming languages like COBOL, Fortran, C, etc. Mainly used in Object Oriented Programming languages like C++, C#, Python.

3. Each part is programmed separately therefore contains redundancy. Redundancy is minimized by using data encapsulation and data hiding.

4. communication is less among modules. Modules must communicate to integrate the system.

5. It is used for debugging and module documentation It is basically used in testing.

6. Decomposition of the system occurs, breaking it into smaller components. Composition of the system happens by combining low-level components into a higher-level structure.

7. The top function of system might be hard to identify. In this sometimes we can not build a program from the piece we have started.

8. implementation details can vary throughout the process Building a program can be difficult if modules are not assembled in a logical order

Pros
Pros

 Easier isolation of interface errors


 Easy to create test conditions
9.
 It benefits in the case error occurs towards the top of the program.
 Test results are easy to observe

 Defects in design get detected early and can be corrected as an early working module of the
 It is suited if defects occur at the bottom of the program.
program is available.

Cons- Cons-

 Difficulty in observing the output of test case.  There is no representation of the working model once several modules have been constructed.

10.
 Stub writing is quite crucial as it leads to setting of output parameters.  There is no existence of the program as an entity without the addition of the last module.

 When stubs are located far from the top level module, choosing test cases and designing stubs  From a partially integrated system, test engineers cannot observe system-level functions. It
become more challenging. can be possible only with the installation of the top-level test driver.
When to use them
Use Top-Down Design When:

 We need to develop large and complex systems where high-level architecture is defined early.

 The overall system’s structure is crucial before dealing with individual components.

 You are working in a more procedural or structured programming environment.

Use Bottom-Up Design When:

 You want to focus on individual components and gradually build them into a complete system.

 You are working with Object-Oriented Programming (OOP) languages and want to take advantage
of modularity and object reusability.

 The system is composed of smaller, reusable components that need to be integrated.

You might also like