Wednesday, March 19, 2014

Program Development Cycle (Steps In Developing a Program)

Before starting the process of writing a program (coding), the programmer has to
determine the problem that needs to be solved. There are different approaches to problem
solving. Most require breaking the problem into a series of smaller steps, independent of the
programming languages. One common technique is to use the program development cycle, with
the number of steps the may vary according to the person who has formalized the development.
Often the process runs in a loop, for example, as the current process is completed, new demands
appear and the development process commences again. Development cycle of a program
includes the following phases:
a) Analyse/Define the problem:
Firstly, the problem is analyzed precisely and completely. Based on understanding, the
developer knows about the scope within which the problem needs to be developed.
b) Task Analysis:
After analyzing the problem, the developer needs to develop various solutions to solve
the given problem. From these solutions, the optimum solution (by experimenting with all the
solutions) is chosen, which can solve the problem comfortably and economically.
c) Developing Algorithm:
After selecting the appropriate solution, algorithm is developed to depict the basic logic
of the selected solution. An algorithm depicts the solution in logical steps (sequence of
instructions). Further, algorithm is represented by flowcharts and pseudo codes. These tools
make program logic clear and they eventually help in coding.
d) Testing the Algorithm for Accuracy:
Before converting the algorithms into actual code, it should be checked for accuracy. The
main purpose of checking algorithm is to identify major logical errors at an early stage, because
logical errors are often difficult to detect and correct at later stages. The testing also ensures that
the algorithm is a “true” one and it should work for both normal as well as unusual data.
e) Coding:
After meeting all the design considerations, the actual coding of the program takes place
in the chosen programming language. Depending upon application domain and available
resources, a program can be written by using computer languages of different levels such as
machine, assemble or high-level languages.
f) Test and Debug the Program:
It is common for the initial program code to contain errors. A program compiler and
programmer-designed test data machine tests the code for syntax errors. The results obtained an
compared with results calculated manually from this test data. Depending upon the complexity
of the program, several rounds of testing may be required.
g) Documentation:
Once the program is free from all the errors, it is the duty of the program developers to
ensure that the program is supported by suitable documentation. These documents should be
supplied to the program users. Documenting a program enables the user to operate the program
correctly. It also enables other persons to understand the program clearly so that it may, if
necessary, be modified, or corrected by someone other than the original programmer.
h) Implementation:
After performing all the above-mentioned steps, the program is installed on the end user’s
machine. In this stage, users are also provided with all the essential documents so that they can
understand how the program works. The implementation can be viewed as the final testing
because only after using the program, the user can point out the drawbacks, if any to the
developers. Based on the feedback, the programmers can modify or enhance the program.
i) Maintenance and Enhancement:
After the program is implemented, it should be properly maintained taking care of the
changing requirements of its users and system. The program should be regularly enhanced by
adding additional capabilities. This phase is also concerned with detecting and fixing the errors,
which were missed in testing phase. Since this step generates user feedback, the programming
cycle continues as the program modified or reconstructed to meet the changing needs.

No comments:

Post a Comment