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

PPTX
Guide to Project Management
PPT
On The Same Page
 
PPTX
Software Engineering
PPT
Software project management
PDF
MPUG Webinar: Setting up a project schedule without a PPM solution
PPTX
Primavera vs Microsoft Project Professional
PPT
Stayercis 518-week-9-assignment-4-software-developer-development-and-improvem...
DOCX
Top 5 apps you can use to delegate tasks
Guide to Project Management
On The Same Page
 
Software Engineering
Software project management
MPUG Webinar: Setting up a project schedule without a PPM solution
Primavera vs Microsoft Project Professional
Stayercis 518-week-9-assignment-4-software-developer-development-and-improvem...
Top 5 apps you can use to delegate tasks

What's hot (16)

PPTX
project management strategy
PPT
Ch03
PPT
Agile successful practices
ODP
4D Life Cycle
PDF
Lab exercise 6
PPTX
PDF
Building Formulas And Dashboard In Ms Project
PPTX
Designing call
PPTX
PMI IIT Presentation for Software Dev
PDF
Project Management (Secret: You are all project managers!)
PPTX
Engineering Economics|Work Breakdown Structure
PDF
software project management
PPTX
assingnment 56
PPTX
Agile Project Management
PPT
Collaborative Planning New
project management strategy
Ch03
Agile successful practices
4D Life Cycle
Lab exercise 6
Building Formulas And Dashboard In Ms Project
Designing call
PMI IIT Presentation for Software Dev
Project Management (Secret: You are all project managers!)
Engineering Economics|Work Breakdown Structure
software project management
assingnment 56
Agile Project Management
Collaborative Planning New
Ad

Viewers also liked (10)

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

Similar to Programming techniques (20)

PPTX
Structured programming & Programming methodologies.pptx
PPTX
Software engg lect1
PPTX
Unit 12 sec 2-programming design
PPTX
Software engineering topics,coding phase in sdlc
PPTX
Software Design ppt.pptx
PPTX
Design techniques
PDF
Algorithm-Introduction ,Characterestics & Control Structures.pdf
PDF
SWE-401 - 9. Software Implementation
PDF
9. Software Implementation
PPTX
Software Design Concepts
PPTX
Chapter_8_Designing_Efficient_Programs.pptx
PPTX
Designing Techniques in Software Engineering
PPTX
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
PPTX
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
PPTX
Unit 2 -Software-Development (Programming Logic and Techniques)
PPTX
module1 new c programming for begginers.pptx
PPTX
Introduction to problem solving in C
PPT
Alternative Methodologies for Systems Development
PPTX
software design
Structured programming & Programming methodologies.pptx
Software engg lect1
Unit 12 sec 2-programming design
Software engineering topics,coding phase in sdlc
Software Design ppt.pptx
Design techniques
Algorithm-Introduction ,Characterestics & Control Structures.pdf
SWE-401 - 9. Software Implementation
9. Software Implementation
Software Design Concepts
Chapter_8_Designing_Efficient_Programs.pptx
Designing Techniques in Software Engineering
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
Unit 2 -Software-Development (Programming Logic and Techniques)
module1 new c programming for begginers.pptx
Introduction to problem solving in C
Alternative Methodologies for Systems Development
software design

More from Suneel Dogra (20)

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

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.