SlideShare uma empresa Scribd logo
1 de 17
Programming Design
In this section, you will learn about programming
design and learn to identify and discuss the three
most common designs.
Programming design is the approach taken
to writing code. It takes into consideration:
 the problem being addressed.
 the goals of the project.
 the programming language that will
be used.
Some programming languages are ideally
suited for one type of programming design.
However, many programming languages will
support more than one type of programming
design.
Programming Design
It is important to decide upon a programming design
before developing a software solution. Starting out
with a design benefits a project because:
 it communicates decisions about the
programming approach to all project team
members.
 it helps to ensure that different parts of the code
developed by different programmers will integrate
properly.
 it helps to ensure that code will be easy to read and
maintain.
 it saves time, money, and effort.
Ready, Set, GO! Programming Design
There are three common types of programming
design. Each has advantages and disadvantages
that make it ideally suited for one type of
problem, yet not for another.
The three common types of programming design
include the following:
 Top-down
 Structured
 Object-oriented
Three Types of Programming Design
Some of the programming
languages used with a top-
down approach include
the following:
 Ada
 BASIC
 C
 C++
 COBOL
 Java
Using Top-Down
Programming Design
Advantages of Top-Down
Programming Design
Disadvantages of Top-Down
Programming Design
Structured Programming
Design
Example:
1. Get carrot
2. Get carrot
peeler
3. Peel carrot
Characteristics of Object-Oriented
Programming Design
Object-oriented programming is often the best programming
design approach, especially in situations where the
programmer may need to make minor changes to the code at
a future time, and when the programmer wishes to reuse the
code in other programs.
An object-oriented programming design:
 breaks the solution into independent objects.
 uses objects that send data to other objects.
 supports a modular design that encourages the reuse of code.
 makes use of abstraction, which is the use of an object for a
very specific purpose.
Images from this presentation are used with permission from
Microsoft.

Mais conteúdo relacionado

Mais procurados

Mais procurados (9)

How to learn programming for begineers!
How to learn programming for begineers!How to learn programming for begineers!
How to learn programming for begineers!
 
Lepus
LepusLepus
Lepus
 
Photo maths4
Photo maths4Photo maths4
Photo maths4
 
DSLs: what, why, how
DSLs: what, why, howDSLs: what, why, how
DSLs: what, why, how
 
Zoo of domain-specific languages
Zoo of domain-specific languagesZoo of domain-specific languages
Zoo of domain-specific languages
 
Why programming is important
Why programming is importantWhy programming is important
Why programming is important
 
Top 10 programming languages
Top 10 programming languagesTop 10 programming languages
Top 10 programming languages
 
Introduction
IntroductionIntroduction
Introduction
 
Specification
SpecificationSpecification
Specification
 

Destaque (6)

Aup lesson for cbs students
Aup lesson for cbs studentsAup lesson for cbs students
Aup lesson for cbs students
 
Malnutrition
MalnutritionMalnutrition
Malnutrition
 
Cbs welcome to week 1 ppt
Cbs   welcome to week 1 pptCbs   welcome to week 1 ppt
Cbs welcome to week 1 ppt
 
Sustainable Residential Development - Preserving the Project Return
Sustainable Residential Development - Preserving the Project ReturnSustainable Residential Development - Preserving the Project Return
Sustainable Residential Development - Preserving the Project Return
 
Aup lesson for vll students
Aup lesson for vll studentsAup lesson for vll students
Aup lesson for vll students
 
Unit 12 section 1 - computer programming
Unit 12   section 1 - computer programmingUnit 12   section 1 - computer programming
Unit 12 section 1 - computer programming
 

Semelhante a Unit 12 sec 2-programming design

Design patterns in_c_sharp
Design patterns in_c_sharpDesign patterns in_c_sharp
Design patterns in_c_sharp
Cao Tuan
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
aaina_katyal
 
The Concept Of Abstract Data Types
The Concept Of Abstract Data TypesThe Concept Of Abstract Data Types
The Concept Of Abstract Data Types
Katy Allen
 

Semelhante a Unit 12 sec 2-programming design (20)

Top Object-Oriented Programming Languages To Follow In December 2022.pdf
Top Object-Oriented Programming Languages To Follow In December 2022.pdfTop Object-Oriented Programming Languages To Follow In December 2022.pdf
Top Object-Oriented Programming Languages To Follow In December 2022.pdf
 
Programming vs Coding: Unveiling The Key Differences
Programming vs Coding: Unveiling The Key DifferencesProgramming vs Coding: Unveiling The Key Differences
Programming vs Coding: Unveiling The Key Differences
 
Lecture 5 - Structured Programming Language
Lecture 5 - Structured Programming Language Lecture 5 - Structured Programming Language
Lecture 5 - Structured Programming Language
 
SULTHAN's - C Programming Language notes
SULTHAN's - C Programming Language notesSULTHAN's - C Programming Language notes
SULTHAN's - C Programming Language notes
 
Unit 1 introduction to c++.pptx
Unit 1 introduction to c++.pptxUnit 1 introduction to c++.pptx
Unit 1 introduction to c++.pptx
 
Design patterns in_c_sharp
Design patterns in_c_sharpDesign patterns in_c_sharp
Design patterns in_c_sharp
 
MODEL DRIVEN DEVELOPMENT (1).pptx
MODEL DRIVEN DEVELOPMENT (1).pptxMODEL DRIVEN DEVELOPMENT (1).pptx
MODEL DRIVEN DEVELOPMENT (1).pptx
 
Became a pro Front End Development Sassy Infotech.pptx
Became a pro Front End Development Sassy Infotech.pptxBecame a pro Front End Development Sassy Infotech.pptx
Became a pro Front End Development Sassy Infotech.pptx
 
Programmer Productivity Enhancement Through Controlled Natural Language Input
Programmer Productivity Enhancement Through Controlled Natural Language InputProgrammer Productivity Enhancement Through Controlled Natural Language Input
Programmer Productivity Enhancement Through Controlled Natural Language Input
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
The Concept Of Abstract Data Types
The Concept Of Abstract Data TypesThe Concept Of Abstract Data Types
The Concept Of Abstract Data Types
 
Programming
ProgrammingProgramming
Programming
 
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...
 
Uc13.chapter.13
Uc13.chapter.13Uc13.chapter.13
Uc13.chapter.13
 
Programming practises and project management for professionnal software devel...
Programming practises and project management for professionnal software devel...Programming practises and project management for professionnal software devel...
Programming practises and project management for professionnal software devel...
 
Stnotes doc 5
Stnotes doc 5Stnotes doc 5
Stnotes doc 5
 
CH13-Computer Programs and Programming Languages
CH13-Computer Programs and Programming LanguagesCH13-Computer Programs and Programming Languages
CH13-Computer Programs and Programming Languages
 
Mapping and visualization of source code a survey
Mapping and visualization of source code a surveyMapping and visualization of source code a survey
Mapping and visualization of source code a survey
 
Programming practises and project management for professionnal software devel...
Programming practises and project management for professionnal software devel...Programming practises and project management for professionnal software devel...
Programming practises and project management for professionnal software devel...
 
System Analysing and Designing_.pptx
System Analysing and Designing_.pptxSystem Analysing and Designing_.pptx
System Analysing and Designing_.pptx
 

Mais de dlwadsworth (17)

Ymca presentation
Ymca presentationYmca presentation
Ymca presentation
 
It 2nd segment pace chart
It 2nd segment   pace chartIt 2nd segment   pace chart
It 2nd segment pace chart
 
IT 1st segment Traditional pace chart
IT 1st segment  Traditional pace chartIT 1st segment  Traditional pace chart
IT 1st segment Traditional pace chart
 
Acbsi pacing chart 2nd semester -14-15
Acbsi pacing chart   2nd semester -14-15Acbsi pacing chart   2nd semester -14-15
Acbsi pacing chart 2nd semester -14-15
 
Segment 1 exam review ppt
Segment 1   exam review pptSegment 1   exam review ppt
Segment 1 exam review ppt
 
Pace chart 1st segment - traditional - ccc
Pace chart   1st segment - traditional - cccPace chart   1st segment - traditional - ccc
Pace chart 1st segment - traditional - ccc
 
Pace chart 2nd segment - computing for college and careers
Pace chart   2nd segment - computing for college and careersPace chart   2nd segment - computing for college and careers
Pace chart 2nd segment - computing for college and careers
 
Acbsi orientation ppt
Acbsi   orientation pptAcbsi   orientation ppt
Acbsi orientation ppt
 
Acbsi ppt - project 1 sample
Acbsi   ppt - project 1 sampleAcbsi   ppt - project 1 sample
Acbsi ppt - project 1 sample
 
Html assignment 2 template
Html assignment 2 templateHtml assignment 2 template
Html assignment 2 template
 
ACBSI Syllabus - Sheridan
ACBSI Syllabus - SheridanACBSI Syllabus - Sheridan
ACBSI Syllabus - Sheridan
 
Acbsi syllabus - Wadsworth
Acbsi syllabus - WadsworthAcbsi syllabus - Wadsworth
Acbsi syllabus - Wadsworth
 
What is a will
What is a willWhat is a will
What is a will
 
Odysseyware Orientation - Wadsworth
Odysseyware Orientation   - WadsworthOdysseyware Orientation   - Wadsworth
Odysseyware Orientation - Wadsworth
 
Sam2010 getting started ppt
Sam2010 getting started pptSam2010 getting started ppt
Sam2010 getting started ppt
 
Aup study guide for ppt pdf
Aup study guide for ppt  pdfAup study guide for ppt  pdf
Aup study guide for ppt pdf
 
Aceptable use policy user guidelines
Aceptable use policy   user guidelinesAceptable use policy   user guidelines
Aceptable use policy user guidelines
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

Unit 12 sec 2-programming design

  • 1. Programming Design In this section, you will learn about programming design and learn to identify and discuss the three most common designs.
  • 2. Programming design is the approach taken to writing code. It takes into consideration:  the problem being addressed.  the goals of the project.  the programming language that will be used. Some programming languages are ideally suited for one type of programming design. However, many programming languages will support more than one type of programming design. Programming Design
  • 3. It is important to decide upon a programming design before developing a software solution. Starting out with a design benefits a project because:  it communicates decisions about the programming approach to all project team members.  it helps to ensure that different parts of the code developed by different programmers will integrate properly.  it helps to ensure that code will be easy to read and maintain.  it saves time, money, and effort. Ready, Set, GO! Programming Design
  • 4. There are three common types of programming design. Each has advantages and disadvantages that make it ideally suited for one type of problem, yet not for another. The three common types of programming design include the following:  Top-down  Structured  Object-oriented Three Types of Programming Design
  • 5. Some of the programming languages used with a top- down approach include the following:  Ada  BASIC  C  C++  COBOL  Java
  • 10. Example: 1. Get carrot 2. Get carrot peeler 3. Peel carrot
  • 11.
  • 12.
  • 13.
  • 14. Characteristics of Object-Oriented Programming Design Object-oriented programming is often the best programming design approach, especially in situations where the programmer may need to make minor changes to the code at a future time, and when the programmer wishes to reuse the code in other programs. An object-oriented programming design:  breaks the solution into independent objects.  uses objects that send data to other objects.  supports a modular design that encourages the reuse of code.  makes use of abstraction, which is the use of an object for a very specific purpose.
  • 15.
  • 16.
  • 17. Images from this presentation are used with permission from Microsoft.