program development cycle modern software developers base many of their techniques on traditional...
TRANSCRIPT
![Page 1: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/1.jpg)
www.btechsmartclass.blogspot.com
Program Development Cycle
![Page 2: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/2.jpg)
Program Development Cycle
Modern software developers base many of
their techniques on traditional approaches to
mathematical problem solving.
One such approach is based on the how
engineers solve problems.
![Page 3: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/3.jpg)
Program Development Cycle
Engineers must:
• Design a solution to a problem
• Implement the solution
• Test the solution
• Fix any errors in the solution
![Page 4: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/4.jpg)
Program Development Cycle
This approach can be used in computer programming:
• Design a solution to a problem (design a program)
• implement the solution (code the program )
• Test the solution (test the program)
• Fix the solution (debug the program)
![Page 5: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/5.jpg)
Program Development Cycle
Once the software is working, improvements can
be designed into the system. This leads back to
design, creating a four-phase cycle.
Design Code Test Debug
![Page 6: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/6.jpg)
Program Development Cycle
Design
Code
Test
Debug
Start
![Page 7: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/7.jpg)
Program Development Cycle
Design
Code
Test
Debug
![Page 8: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/8.jpg)
What is Design Phase?
Design
Many different techniques are used to design methods
in new software. Top-down development and modular
design are most common.
Tools include flowcharts, pseudo-code, storyboards,
and Universal Modeling Language (UML).
![Page 9: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/9.jpg)
Program Development Cycle
Design
Code
Test
Debug
![Page 10: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/10.jpg)
Program Development Cycle
Code
The program development
cycle’s code phase includes
translating a software design
into a particular language,
and then entering that
language on the computer.
![Page 11: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/11.jpg)
Program Development Cycle
Design
Code
Test
Debug
![Page 12: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/12.jpg)
Program Development Cycle
Test
Testing can be rather complicated:
Does the new method do what it is supposed to do?
This is known as a test for correctness. Tests for
correctness measure whether the program meets the
original specifications.
![Page 13: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/13.jpg)
Program Development Cycle
Test
Testing can be rather complicated:
Is the method reasonably efficient? How much time
does it take for the method to complete its task, and
how much space does it use?
![Page 14: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/14.jpg)
Program Development Cycle
Test
Testing can be rather complicated:
Does the method have any undesirable side effects?
How does one program affects the performance of
another program, or one method affects another
method?
![Page 15: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/15.jpg)
Program Development Cycle
Test
Programmers perform unit tests and integration tests.
A unit test checks to see if a method works as expected all by itself.
An integration test checks to see if a method works in combination with other methods.
![Page 16: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/16.jpg)
New Software Method
Testing Shell
Overall Program
Other methods
Other methods
New Software Method
New Software Method
Unit Test
Integration Test
![Page 17: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/17.jpg)
Program Development Cycle
Design
Code
Test
Debug
![Page 18: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/18.jpg)
Program Development Cycle
Debug
The causes of any problems discovered during testing need to be isolated. Here unit tests are most helpful.
Once you know the cause, you can develop a plan for fixing the problem, modify the necessary methods, and then test again.
![Page 19: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such](https://reader035.vdocuments.site/reader035/viewer/2022070400/56649f115503460f94c238b9/html5/thumbnails/19.jpg)
An Alice Development Cycle
Design Describe the objects,
methods, and initial scene for the new Alice world.
ImplementAdd the necessary objects to the world, position them,
and code their methods.
Test Test each method to see
if it works by itself and with other methods.
DebugCorrect each method’s
design and coding, and the initial state of the world.