program development cycle modern software developers base many of their techniques on traditional...

19
www.btechsmartclass.blogspot.com Program Development Cycle

Upload: posy-pearson

Post on 04-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.