unit 12 sec 2-programming design
TRANSCRIPT
Programming DesignIn 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.