The basic model of computation includes a series of phases
starting from defining a problem, analysing that problem, designing and
planning the procedure to be followed, coding of the Let's discuss these phases
in details in the following section.
Defining the Problem (Phase 1)
In this phase, the programmer has to define the task precisely and
check for completeness. The defined problem should not be ambiguous, imprecise,
or arbitrarily defined.
Analysing Problem (Phase 2)
In the problem definition phase, the programmer has to reflect all
the possibilities for decision-making. When the programming defines the
problem, a proper analysis of that problem requires. As the problem analysis
helps in designing and coding for that particular problem.
in this phase, the programmer has to declare the computational
strategies to analyze the defined problem with the help of available resources,
such as database. Programming techniques including sequence, selection, and
iteration, can be used to develop the logic for the analysis with the help of
searching, sorting, inserting, and merging. Different procedures that can be
followed to analyze the problem are arithmetic, logical, and relational.
Designing a Program
(Phase 3)
After defining and analyzing the problem, you need to design the
solution of the problem. In this phase, the basic aspect is the selection of
suitable data structure, which depend on amount and nature of the data that is
to be stored. The suitable data structure in the designing phase is an algorithm. It is primary stage of
program that leads to correct and efficient program designing.
Another way that can be follow to design a process for problem
solving is the top-down design approach. It is a strategy where the problem is
divided into a hierarchical structure. A separate sub-program may be designed
for each module. The top-down approach provides a method of handling the
inherent logical complexity. This allows the programmer to build a solution in
a step-wise manner. Flowchart is the best example for the top-down design
approach.
Coding a Program (Phase
4)
In this phase, the programmer needs to write a program with the
helps of coding. However, before coding a program, the logic must be developed by using the program development
tools, such as algorithm and flowchart. You can also divide a program into
similar sub programs for easier programming. This procedure is called
refinement of the original problem. You can define the data items, variables,
and constant while writing the code for the program.
Testing a Programs
(Phase 5)
After writing a program, programmer needs to test the programs for
completeness, correctness, reliability, and maintainability. This phase
enhances the quality of the program. To test any problem, it is important to
identify the available data based on the specific criteria of selection and the
level at which the data is tested.
Selection of Data for
testing Purpose:
Testing of data is relevant only if the
selection of data is accurate and appropriate. Selecting data can be either
live data or artificial data. The live data can be collected from the existing
system, which is required for live project. On the other hand, artificial data
may be generated by some other sources that can be tested in the program.
Levels of testing the Programs:
I.
Unit testing refers to
testing in which a complex program can be divided into sub programs and each
module can be tested separately.
II.
Programs testing refers
to testing in which a programs is sufficiently small to test at once.
III.
Verification testing
refers to the process of using the program in a live environment and looks for
errors.
Maintaining Programs
(Phase 6)
This phase includes either the improvement of the program or the
correction that arises during the executing of the programs. Improvement or
amendment in the program requires proper documentation of the program. If one
program has developed the program and another programmer is involved in the
maintenance, then he/she must have complete information about the data items and
logical development of that program.
0 Comments