SlideShare ist ein Scribd-Unternehmen logo
1 von 3
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (16)

project management strategy
project management strategyproject management strategy
project management strategy
 
Ch03
Ch03Ch03
Ch03
 
Agile successful practices
Agile successful practicesAgile successful practices
Agile successful practices
 
4D Life Cycle
4D Life Cycle4D Life Cycle
4D Life Cycle
 
Lab exercise 6
Lab exercise 6Lab exercise 6
Lab exercise 6
 
MSP Training
MSP TrainingMSP Training
MSP Training
 
Building Formulas And Dashboard In Ms Project
Building Formulas And Dashboard In Ms ProjectBuilding Formulas And Dashboard In Ms Project
Building Formulas And Dashboard In Ms Project
 
Designing call
Designing callDesigning call
Designing call
 
PMI IIT Presentation for Software Dev
PMI IIT Presentation for Software Dev PMI IIT Presentation for Software Dev
PMI IIT Presentation for Software Dev
 
Project Management (Secret: You are all project managers!)
Project Management (Secret: You are all project managers!)Project Management (Secret: You are all project managers!)
Project Management (Secret: You are all project managers!)
 
Engineering Economics|Work Breakdown Structure
Engineering Economics|Work Breakdown StructureEngineering Economics|Work Breakdown Structure
Engineering Economics|Work Breakdown Structure
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
software project management
software project managementsoftware project management
software project management
 
assingnment 56
assingnment 56assingnment 56
assingnment 56
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Collaborative Planning New
Collaborative Planning   NewCollaborative Planning   New
Collaborative Planning New
 

Andere mochten auch

Andere mochten auch (10)

C programming operators
C programming operatorsC programming operators
C programming operators
 
Web sitedesignpart1
Web sitedesignpart1Web sitedesignpart1
Web sitedesignpart1
 
White paper desktop-virtualization-ps
White paper desktop-virtualization-psWhite paper desktop-virtualization-ps
White paper desktop-virtualization-ps
 
Algorithm and flowchart(1)
Algorithm and flowchart(1)Algorithm and flowchart(1)
Algorithm and flowchart(1)
 
cloud-computing
cloud-computingcloud-computing
cloud-computing
 
Algorithm vs
Algorithm vsAlgorithm vs
Algorithm vs
 
Symbol shortcuts
Symbol shortcutsSymbol shortcuts
Symbol shortcuts
 
Business model
Business modelBusiness model
Business model
 
Internet
InternetInternet
Internet
 
Html
HtmlHtml
Html
 

Ähnlich wie Programming techniques

Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdfPriyajit Sen
 
The Product and Process(1).pdf
The Product and Process(1).pdfThe Product and Process(1).pdf
The Product and Process(1).pdfShivareddyGangam
 
Top 5 software development methodologies_ Explained.docx.pdf
Top 5 software development methodologies_ Explained.docx.pdfTop 5 software development methodologies_ Explained.docx.pdf
Top 5 software development methodologies_ Explained.docx.pdfJPLoft Solutions
 
International Journal of Business and Management Invention (IJBMI)
International Journal of Business and Management Invention (IJBMI)International Journal of Business and Management Invention (IJBMI)
International Journal of Business and Management Invention (IJBMI)inventionjournals
 
Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)MuhammadTalha436
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 MuhammadTalha436
 
Agile software development
Agile software development Agile software development
Agile software development saurabh goel
 
SWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project ManagementSWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project Managementghayour abbas
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptxMohamedElshaikh10
 
Seminar COTB25.pptx
Seminar COTB25.pptxSeminar COTB25.pptx
Seminar COTB25.pptxishantpatil1
 
Software Project Management (SPM)
Software Project Management (SPM)Software Project Management (SPM)
Software Project Management (SPM)RubySaud
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxKalpna Saharan
 
Leveraging software-reuse-with-knowledge-management-in-software-development
Leveraging software-reuse-with-knowledge-management-in-software-developmentLeveraging software-reuse-with-knowledge-management-in-software-development
Leveraging software-reuse-with-knowledge-management-in-software-developmentDimitris Panagiotou
 

Ähnlich wie Programming techniques (20)

Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdf
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
The Product and Process(1).pdf
The Product and Process(1).pdfThe Product and Process(1).pdf
The Product and Process(1).pdf
 
Top 5 software development methodologies_ Explained.docx.pdf
Top 5 software development methodologies_ Explained.docx.pdfTop 5 software development methodologies_ Explained.docx.pdf
Top 5 software development methodologies_ Explained.docx.pdf
 
International Journal of Business and Management Invention (IJBMI)
International Journal of Business and Management Invention (IJBMI)International Journal of Business and Management Invention (IJBMI)
International Journal of Business and Management Invention (IJBMI)
 
SPM ppt.pptx
SPM ppt.pptxSPM ppt.pptx
SPM ppt.pptx
 
Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020
 
SE-Lecture-5.pptx
SE-Lecture-5.pptxSE-Lecture-5.pptx
SE-Lecture-5.pptx
 
Agile software development
Agile software development Agile software development
Agile software development
 
SWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project ManagementSWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project Management
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptx
 
Seminar COTB25.pptx
Seminar COTB25.pptxSeminar COTB25.pptx
Seminar COTB25.pptx
 
Software Project Management (SPM)
Software Project Management (SPM)Software Project Management (SPM)
Software Project Management (SPM)
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptx
 
Ch17
Ch17Ch17
Ch17
 
M017548895
M017548895M017548895
M017548895
 
Lect7
Lect7Lect7
Lect7
 
Lect7
Lect7Lect7
Lect7
 
Leveraging software-reuse-with-knowledge-management-in-software-development
Leveraging software-reuse-with-knowledge-management-in-software-developmentLeveraging software-reuse-with-knowledge-management-in-software-development
Leveraging software-reuse-with-knowledge-management-in-software-development
 

Mehr von Suneel Dogra

Distributed databases
Distributed databasesDistributed databases
Distributed databasesSuneel Dogra
 
Data base management system
Data base management systemData base management system
Data base management systemSuneel Dogra
 
Web sitedesignpart1
Web sitedesignpart1Web sitedesignpart1
Web sitedesignpart1Suneel Dogra
 
He 12 different types of servers that every techie should know about
He 12 different types of servers that every techie should know aboutHe 12 different types of servers that every techie should know about
He 12 different types of servers that every techie should know aboutSuneel Dogra
 
Bachelor of computer application b.c.a.-2014
Bachelor of computer application b.c.a.-2014Bachelor of computer application b.c.a.-2014
Bachelor of computer application b.c.a.-2014Suneel Dogra
 
Cloud computing application
Cloud computing applicationCloud computing application
Cloud computing applicationSuneel Dogra
 
Fast track to linux
Fast track to linuxFast track to linux
Fast track to linuxSuneel Dogra
 
A sorted linear array
A sorted linear array A sorted linear array
A sorted linear array Suneel Dogra
 
Jumping statements
Jumping statementsJumping statements
Jumping statementsSuneel Dogra
 
Five tools to professional coding
Five tools to professional codingFive tools to professional coding
Five tools to professional codingSuneel Dogra
 
Machine language to artificial intelligence
Machine language to artificial intelligenceMachine language to artificial intelligence
Machine language to artificial intelligenceSuneel Dogra
 
Virtualization defined-wp
Virtualization defined-wpVirtualization defined-wp
Virtualization defined-wpSuneel Dogra
 

Mehr von Suneel Dogra (20)

Dreamweaver
DreamweaverDreamweaver
Dreamweaver
 
Advanced html
Advanced htmlAdvanced html
Advanced html
 
Sql
SqlSql
Sql
 
File organisation
File organisationFile organisation
File organisation
 
Distributed databases
Distributed databasesDistributed databases
Distributed databases
 
Database models
Database models Database models
Database models
 
Data base management system
Data base management systemData base management system
Data base management system
 
Web sitedesignpart1
Web sitedesignpart1Web sitedesignpart1
Web sitedesignpart1
 
Internet security
Internet securityInternet security
Internet security
 
What is the linux
What is the linuxWhat is the linux
What is the linux
 
He 12 different types of servers that every techie should know about
He 12 different types of servers that every techie should know aboutHe 12 different types of servers that every techie should know about
He 12 different types of servers that every techie should know about
 
Bachelor of computer application b.c.a.-2014
Bachelor of computer application b.c.a.-2014Bachelor of computer application b.c.a.-2014
Bachelor of computer application b.c.a.-2014
 
Cloud computing application
Cloud computing applicationCloud computing application
Cloud computing application
 
Fast track to linux
Fast track to linuxFast track to linux
Fast track to linux
 
A sorted linear array
A sorted linear array A sorted linear array
A sorted linear array
 
String in c
String in cString in c
String in c
 
Jumping statements
Jumping statementsJumping statements
Jumping statements
 
Five tools to professional coding
Five tools to professional codingFive tools to professional coding
Five tools to professional coding
 
Machine language to artificial intelligence
Machine language to artificial intelligenceMachine language to artificial intelligence
Machine language to artificial intelligence
 
Virtualization defined-wp
Virtualization defined-wpVirtualization defined-wp
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.