Stages involved in programming.

in #technology7 years ago

What is Programming?

Programming is an art, although we can learn and taught it, but the creativity and problem solving skills are God gifted.

Steps Involved in Programming:

  1. Analyzing the Problem
  2. Algorithm design / Pseudo Code
  3. Flowchart
    4.Coding
  4. Debugging
  5. Testing
  6. Final output
  7. Documentation

1. Analyzing the Problem:

This is indeed the first Step to creating a program. And it involves getting information about the program you are about to create. It is In this stage that you determine what you want to achieve with your program, how you want to achieve it, etc.

These informations are very important for the programmer because it provides him the basis for planning about the program and to control the possible difficulties that may arise.

2. Algorithm Design.

In this stage all the instructions which are to be performed at different stages in the program are listed in simple English language. We may call it as a strategy.

Let's takes a simple calculator program as an example. The algorithm will be.

  • Receive user input.
  • Perform calculation on input (addition, subtraction etc.).
  • Print out result.

3. Flowchart:

After writing the algorithm (i.e steps involved in the program), the next stage is to present All the steps in a diagrammatic manner so as to make it easily understandable. So the flowchart is simply the algorithm made clearer.

images.png(a flowchart for a simple calculator)

Many programmers skip this stage, but Making of flowchart facilitates us in increasing our process of program development because it helps us to define the logic, detect and remove errors in a program design.

Types of flow chart:

There are two types of flowchart, the system flowchart and the program flowchart.

The System Flowchart shows you the processing of the whole system. It describes the devices used (input and output), the media being used and the flow of data in the system.

Program flowchart shows the complete steps involved in the execution of a program including the I/O, processing, loops and branching. It is way more detailed than system flowchart.

4. Coding:

images.jpegimage source

In this stage the programmer writes the instructions in a language understood by the computer to solve the problem(s) drafted out in the previous stages. It's obvious how, many programmers jump the initial stages and start writing bunch of codes. Because all the processes of Coding depends upon the information we obtained in the previous stages.

NOTE: Choice of language depends entirely upon the requirements and facilities available with a language in contrast with what you want to achieve.

5. Debugging:

software-bug.jpgimage source

In this stage we correct all the errors in the program, because there is a great probability of mistakes occurring when coding.

Here the program is executed manually, called DRY RUN. This is done several times until all the errors are removed from the program and the system become error free.

6. Testing:

This stage is similar to debugging except that In this stage we test the program by entering dummy datas (includes usual, unusual and invalid data) to check how the behavior of the program when given such datas.

7. Final Output:

After going through all the above stages, the program is given the TRUE DATA. Here the programmer expects the positive results of the program and expects full efficiency of the program.

8. Documentation

Majority of programmers neglect this stage by giving many reasons, but this is very significant, because it will encourage the programmer to find solutions to the problems that may occur in the program.

Types of documentation:

There are two types of documentations namely.

  • User Manual.
  • Technical Manual.

The User Manual provides the user with the complete information on how to operate the program, and what needs to be done when the user encounters a problem while using the program.

The Technical Manual contains the technical information about the program. This is necessary to provide users technical details of the program, and what to do when the system is not working as supposed or requires modifications.