Programming and Data Structures
6. Problem Definition/Analysis Stage
1) Problem Definition/Analysis Stage
There is need to understand the problem that requires a solution. The need to determine the data to be processed, form or type of the data, volume of the data, what to be done to the data to produce the expected/required output.
2) Selection or development of an algorithm:
An algorithm is the set of steps required to solve a problem written down in English language.
3) Designing the program:
In order to minimize the amount of time to be spent in developing the software, the programmer makes use of flowchart. Flowchart is the pictorial representation of the algorithm developed in step 2 above. Pseudocode IPO chart (input processing output) and HIPO (Hierarchical Input Processing and Output) chart may be used in place of flowchart or to supplement flowchart.
4) Coding the statement:
This involves writing the program statements. The programmer uses the program flow chart as a guide for coding the steps the computer will follow.
5) Compiling
There is need to translate the program from the source code to the machine or object code if it is not written in machine language. A computer program is fed into the computer
First, then as the source program is entered, a translated equivalent (object program) is created and stored in the memory.
6) Running, Testing and Debugging
When the computer is activated to run a program, it may find it difficult to run it because errors (syntax, semantics or logic, or runtime) might have been committed. Manuals are used to debug the errors. A program that is error free is tested using some test data. If the program works as intended, real life data are then loaded.
7) Documentation
This is the last stage in software development.
This involves keeping written records that describe the program, explain its purposes, define the amount, types and sources of input data required to run it. List the Departments and people who use its output and trace the logic the program follows.
8) Maintenance
All the activities that occur after the completion of the program come under the program maintenance. Program maintenance includes the following: Finding and correcting the errors; Modifying the program to enhance it – i.e., adapting to some new concepts or when there is a change in the hardware or operating system; Update the documentation; add new features and functions; remove useless or redundant parts of code.
ASSESSMENT
i. Explain any five characteristics of a good program
ii. Explain the phases or stages of program (or software) development
iii. Describe the content of program documentation