SlideShare a Scribd company logo
Programming Techniques
Bottom-up Design
Early programming techniques developed in the 1950s centered on problem-solving by
using bottom-up design of the solution in which the extreme details of the programming
solution were investigated first, as opposed to beginning with a breakdown by broad
objectives. Each program was written in isolation to solve a particular sub-problem. The
difficulty arose when the various sub-programs had to work together to produce the
desired programs. Program logic was guided by the limitations of primary memory, and
programs were designed with the objective of executing them as fast as possible.
However, as application programs grew in size, several programmers worked together to
solve them. Project teams were set up, consisting of several programmers and a project
leader. However, programmers often switch jobs and might leave a company before a
project is fully developed, thus requiring another programmer to continue the unfinished
work midstream. This required formulation of a definite summary of how a problem is to
be solved. This was not provided by the bottom-up approach to programming. Another
approach was required.
Top-down Design
In recent years, computer memory ceased to be the limitation factor for most of the
application programs. This, along with increasing software complexity and maintenance
hitches, shifted the focus from the execution time to the programming techniques adopted
in development of a program. It allowed programs to be written in a more organized
manner, i.e., in a structured manner, producing code that is easier to read, analyze, and
modify later – if the need arose. With increasing demands for software efficiency and
programming standardization, a changed approach saw the programmers examining the
problem as a whole and outlining the major steps to solve the problem. Then the process
was repeated and the steps thus obtained were broken down in finer details. This is the
top-down programming approach and is used in structured programming.
Structured Programming
Structured programming is a methodology that is part of a renewed emphasis on software
engineering, which involves the systematic design and development of software and the
management of the software development process. Software engineering views the
development of a program as a coordinated activity involving people, tools, and
practices; use of modern design; and development and management methods in an
integrated approach. Structured approach involves the use of methods such as top-down
program design and a limited number of control structures in a program to create tightly
structured modules of program code.
The effect of top-down design and structured programming has been used to lower the
overall cost of programming. The structured approach promises to reduce the cost of
developing and maintaining computer programs by standardizing program development
and structures used. This increases the simplicity and accuracy, and at the same time
minimizes programming and maintenance cost.
A ‘traditional’ flexible and creative environment provided to the programmer often
results in complex and difficult-to-read programs requiring much testing before they are
error-free. These also become costly to develop and maintain. Structured programming,
on the other hand, emphasizes group responsibility for program development. It also
brings in a standardization of program-design concepts and methods, which significantly
reduces the program complexity.
Organizations using structured programming have shown the following characteristics:
• Programming Productivity: Programmers write more program statements per day
with fewer errors.
• Program Economy: The cost and time of program development and maintenance
are reduced.
• Program Simplicity: Programs are easier to read, write, correct, and maintain.

More Related Content

What's hot (16)

PPTX
project management strategy
ChandraShekhar Patel
 
PPT
Ch03
蕭美蓮
 
PPT
Agile successful practices
ixor
 
ODP
4D Life Cycle
akashbarath
 
PDF
Lab exercise 6
Cesar Castro
 
PPTX
MSP Training
Multisoft Virtual Academy
 
PDF
Building Formulas And Dashboard In Ms Project
Relu Rosenberg
 
PPTX
Designing call
rosdianadesi
 
PPTX
PMI IIT Presentation for Software Dev
Fayyaz Ahmed MASc, MSc, MS IT, MCS, CE, CET ✔
 
PDF
Project Management (Secret: You are all project managers!)
Raven Tools
 
PPTX
Engineering Economics|Work Breakdown Structure
umair khan
 
PDF
software project management
Ankit Gupta
 
PPTX
assingnment 56
Bhas Karan
 
PPTX
Agile Project Management
Dimitris Moustakas
 
PPT
Collaborative Planning New
nevwebb
 
project management strategy
ChandraShekhar Patel
 
Ch03
蕭美蓮
 
Agile successful practices
ixor
 
4D Life Cycle
akashbarath
 
Lab exercise 6
Cesar Castro
 
Building Formulas And Dashboard In Ms Project
Relu Rosenberg
 
Designing call
rosdianadesi
 
PMI IIT Presentation for Software Dev
Fayyaz Ahmed MASc, MSc, MS IT, MCS, CE, CET ✔
 
Project Management (Secret: You are all project managers!)
Raven Tools
 
Engineering Economics|Work Breakdown Structure
umair khan
 
software project management
Ankit Gupta
 
assingnment 56
Bhas Karan
 
Agile Project Management
Dimitris Moustakas
 
Collaborative Planning New
nevwebb
 

Viewers also liked (10)

DOC
C programming operators
Suneel Dogra
 
PPT
Web sitedesignpart1
Suneel Dogra
 
PDF
White paper desktop-virtualization-ps
Suneel Dogra
 
DOC
Algorithm and flowchart(1)
Suneel Dogra
 
PDF
cloud-computing
Suneel Dogra
 
DOC
Algorithm vs
Suneel Dogra
 
PDF
Symbol shortcuts
Suneel Dogra
 
PPT
Business model
Suneel Dogra
 
PDF
Internet
Suneel Dogra
 
PDF
Html
Suneel Dogra
 
C programming operators
Suneel Dogra
 
Web sitedesignpart1
Suneel Dogra
 
White paper desktop-virtualization-ps
Suneel Dogra
 
Algorithm and flowchart(1)
Suneel Dogra
 
cloud-computing
Suneel Dogra
 
Algorithm vs
Suneel Dogra
 
Symbol shortcuts
Suneel Dogra
 
Business model
Suneel Dogra
 
Internet
Suneel Dogra
 
Ad

Similar to Programming techniques (20)

PPTX
Structured programming & Programming methodologies.pptx
Ritu Sachdeva
 
PPTX
Software engg lect1
Siddhartha Duggirala
 
PPTX
Unit 12 sec 2-programming design
dlwadsworth
 
PPTX
Software engineering topics,coding phase in sdlc
dhandesumit71
 
PPTX
Software Design ppt.pptx
SeemaSarvath1
 
PPTX
Design techniques
Amit Debnath
 
PDF
Algorithm-Introduction ,Characterestics & Control Structures.pdf
MaryJacob24
 
PDF
9. Software Implementation
ghayour abbas
 
PDF
SWE-401 - 9. Software Implementation
ghayour abbas
 
PPTX
Software Design Concepts
Mohammed Fazuluddin
 
PPTX
Chapter_8_Designing_Efficient_Programs.pptx
DarshanR953832
 
PPTX
Designing Techniques in Software Engineering
kirupasuchi1996
 
PPTX
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
SherinRappai1
 
PPTX
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
SherinRappai
 
PPTX
Unit 2 -Software-Development (Programming Logic and Techniques)
Nabin Dhakal
 
PPTX
module1 new c programming for begginers.pptx
amruthavarshini849703
 
PPTX
Introduction to problem solving in C
Diwakar Pratap Singh 'Deva'
 
PPT
Alternative Methodologies for Systems Development
Sunderland City Council
 
PPTX
software design
PRIYADARSINISK
 
Structured programming & Programming methodologies.pptx
Ritu Sachdeva
 
Software engg lect1
Siddhartha Duggirala
 
Unit 12 sec 2-programming design
dlwadsworth
 
Software engineering topics,coding phase in sdlc
dhandesumit71
 
Software Design ppt.pptx
SeemaSarvath1
 
Design techniques
Amit Debnath
 
Algorithm-Introduction ,Characterestics & Control Structures.pdf
MaryJacob24
 
9. Software Implementation
ghayour abbas
 
SWE-401 - 9. Software Implementation
ghayour abbas
 
Software Design Concepts
Mohammed Fazuluddin
 
Chapter_8_Designing_Efficient_Programs.pptx
DarshanR953832
 
Designing Techniques in Software Engineering
kirupasuchi1996
 
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
SherinRappai1
 
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
SherinRappai
 
Unit 2 -Software-Development (Programming Logic and Techniques)
Nabin Dhakal
 
module1 new c programming for begginers.pptx
amruthavarshini849703
 
Introduction to problem solving in C
Diwakar Pratap Singh 'Deva'
 
Alternative Methodologies for Systems Development
Sunderland City Council
 
software design
PRIYADARSINISK
 
Ad

More from Suneel Dogra (20)

PDF
Dreamweaver
Suneel Dogra
 
PDF
Advanced html
Suneel Dogra
 
PDF
Sql
Suneel Dogra
 
PDF
File organisation
Suneel Dogra
 
PDF
Distributed databases
Suneel Dogra
 
PDF
Database models
Suneel Dogra
 
PDF
Data base management system
Suneel Dogra
 
PPT
Web sitedesignpart1
Suneel Dogra
 
PPT
Internet security
Suneel Dogra
 
PDF
What is the linux
Suneel Dogra
 
DOC
He 12 different types of servers that every techie should know about
Suneel Dogra
 
PDF
Bachelor of computer application b.c.a.-2014
Suneel Dogra
 
DOC
Cloud computing application
Suneel Dogra
 
DOC
Fast track to linux
Suneel Dogra
 
DOC
A sorted linear array
Suneel Dogra
 
DOC
String in c
Suneel Dogra
 
DOC
Jumping statements
Suneel Dogra
 
DOC
Five tools to professional coding
Suneel Dogra
 
DOC
Machine language to artificial intelligence
Suneel Dogra
 
PDF
Virtualization defined-wp
Suneel Dogra
 
Dreamweaver
Suneel Dogra
 
Advanced html
Suneel Dogra
 
File organisation
Suneel Dogra
 
Distributed databases
Suneel Dogra
 
Database models
Suneel Dogra
 
Data base management system
Suneel Dogra
 
Web sitedesignpart1
Suneel Dogra
 
Internet security
Suneel Dogra
 
What is the linux
Suneel Dogra
 
He 12 different types of servers that every techie should know about
Suneel Dogra
 
Bachelor of computer application b.c.a.-2014
Suneel Dogra
 
Cloud computing application
Suneel Dogra
 
Fast track to linux
Suneel Dogra
 
A sorted linear array
Suneel Dogra
 
String in c
Suneel Dogra
 
Jumping statements
Suneel Dogra
 
Five tools to professional coding
Suneel Dogra
 
Machine language to artificial intelligence
Suneel Dogra
 
Virtualization defined-wp
Suneel Dogra
 

Programming techniques

  • 1. Programming Techniques Bottom-up Design Early programming techniques developed in the 1950s centered on problem-solving by using bottom-up design of the solution in which the extreme details of the programming solution were investigated first, as opposed to beginning with a breakdown by broad objectives. Each program was written in isolation to solve a particular sub-problem. The difficulty arose when the various sub-programs had to work together to produce the desired programs. Program logic was guided by the limitations of primary memory, and programs were designed with the objective of executing them as fast as possible. However, as application programs grew in size, several programmers worked together to solve them. Project teams were set up, consisting of several programmers and a project leader. However, programmers often switch jobs and might leave a company before a project is fully developed, thus requiring another programmer to continue the unfinished work midstream. This required formulation of a definite summary of how a problem is to be solved. This was not provided by the bottom-up approach to programming. Another approach was required. Top-down Design In recent years, computer memory ceased to be the limitation factor for most of the application programs. This, along with increasing software complexity and maintenance hitches, shifted the focus from the execution time to the programming techniques adopted in development of a program. It allowed programs to be written in a more organized manner, i.e., in a structured manner, producing code that is easier to read, analyze, and modify later – if the need arose. With increasing demands for software efficiency and
  • 2. programming standardization, a changed approach saw the programmers examining the problem as a whole and outlining the major steps to solve the problem. Then the process was repeated and the steps thus obtained were broken down in finer details. This is the top-down programming approach and is used in structured programming. Structured Programming Structured programming is a methodology that is part of a renewed emphasis on software engineering, which involves the systematic design and development of software and the management of the software development process. Software engineering views the development of a program as a coordinated activity involving people, tools, and practices; use of modern design; and development and management methods in an integrated approach. Structured approach involves the use of methods such as top-down program design and a limited number of control structures in a program to create tightly structured modules of program code. The effect of top-down design and structured programming has been used to lower the overall cost of programming. The structured approach promises to reduce the cost of developing and maintaining computer programs by standardizing program development and structures used. This increases the simplicity and accuracy, and at the same time minimizes programming and maintenance cost. A ‘traditional’ flexible and creative environment provided to the programmer often results in complex and difficult-to-read programs requiring much testing before they are error-free. These also become costly to develop and maintain. Structured programming, on the other hand, emphasizes group responsibility for program development. It also
  • 3. brings in a standardization of program-design concepts and methods, which significantly reduces the program complexity. Organizations using structured programming have shown the following characteristics: • Programming Productivity: Programmers write more program statements per day with fewer errors. • Program Economy: The cost and time of program development and maintenance are reduced. • Program Simplicity: Programs are easier to read, write, correct, and maintain.