Program : A program or computer program is a set of instructions, these instructions are written in any language. Also, a program is a step by step solution of any problem.
Programming : Programming is a process for solving any problem. Programming is helpful for the planning, designing, writing, testing the programs according to user needs.
Programming Tools : The programming tool is helpful for the programs to develop an error free and efficient programs.
Steps in Development of a Program
The various steps for development of a program are given below :
- Requirement Analysis
- Designing The Algorithm
- Algorithm Development and Flow Charting
- Debugging and Compilation
- Implementation and Documentation
1. Requirement Analysis : The basic step for development of a program is requirement analysis. This process is helpful for understanding the problems and doing whole work step by step to solve the problem. In this process, the programmer first takes a look at the problem then prepares the program specifications and collects data from the people concerned. For the information gathering, there are various tools like interviews, questionaries, site observations, review of manuals reports etc. Studying a problem is also necessary because it helps a programmer to decide about the following things:
- The facts and figures which are necessary for developing the program.
- The way in which the program will be designed.
- The language in which the program will be most suitable.
- What is the desired output and in which form it is needed etc.
2. Designing: Once a problem is clearly understand, its solution procedure is designed. The design phase depends on different input formats, different output forwards and coding stages. All the stages should be properly designed like :
- Data Structures : Defines the format and type of data the program will be used .
- User interface : It covers the designing of screen, how data will enter and how to display the data.
- Inputs : It defines how to data enter.
- Outputs : It defines how to display output of a program.
3. Algorithm Development and Flow Charts : When designing phase is finished, the next work related to algorithm and flow chart gets started. An algorithm is a step by step solution procedure of any problem. Algorithm is written in very simple language. It shows the logical sequence of actions. The programmer designs an algorithm to help visual possible alternatives in a program also. Flow Charts are graphical representation of any problem. It shows all the modules in a proper hierarchy form.
4. Coding : The next step after algorithm development and flow charts is to write the program in a high-level language. This process is known as coding. A good programmer will consider the following :
- Code Reliability
- Future Maintenance
5. Debugging and compilation : Once the program is developed, it must be checked that is completely error free. The main possible types of the errors are:
- Syntax error
- Logical error
- Execution error
Debugging is a process of detecting, locating and correcting the errors in a program.
Compilation is a process in which the source program is converted into an object program. Source program is written into high level language and object program is written into machine language. It converts whole program at once and after the errors are removed, program will execute and result will show.
6. Testing : When the program are developed, then testing process starts. For the testing some data are taken and then output is calculated manually. After that same data is given through the program, then its result is match with manually calculated output.
7. Implementation and Documentation : When the program are implemented properly, then a software will be complete. When the program is finalized, its documentation is prepared. Final documentation is provided to the user. It guides the user how to use the program in the most efficient way.
Also, another purpose of documentation is to allow other programmers to modify the code if necessary. Documentation means the collecting, organizing, storing and maintaining a complete record of the development software.