At the end of this lesson-
- 1. You will be able to explain the organization of program.
- 2. You will be able to describe the characteristics of a standard program.
- 3. You will be able to explain the steps of developing a program.
Organization of Program: Every complete program has three essential parts which make a program standard through interaction with each other part. The parts are-
Input: Every program should have input system to process.
Process: Every program should have processing system taking inputs from the user.
Output: Every program should have output system to show the result after processing.
A standard program must have the following characteristics:
- 1. Program should be easy and understandable so that another programmer can update the program later.
- 2. Time and memory complexity have to be efficient to run the program.
- 3. Program has to be upgradeable.
- 4. Debugging and Testing should be easy.
- 5. Program has to be maintainable easily.
Steps or process of developing a Program:
A particular problem has been solved by creating a program. So the problem can be solved easily if some steps are followed to create a program. A program development process or steps consists of various steps that are followed to develop a computer program. These steps are followed in a sequence in order to develop a successful and beneficial computer program. Following is the brief description about program development process.
- 1. Problem Specification
- 2. Problem Analysis
- 3. Program Design
- 4. Program Development
- 5. Program Implementation
- 6. Documentation
- 7. Program Maintenance
Problem Specification: The main aim of creating a program is to solve a problem. So to solve a problem through creating a program the problem should be identified properly. In case of problem Specification, It needs to know what the problem is and what the facts of problem are. If the problem is not properly identified, It is not possible to get expected solution from the developed program.
Problem Analysis: In this step, a programmer studies the problem. He analyzes how to solve the problem and how many probable solutions. In this case, the problem is divided into some small parts and trying to solve each part that make the whole problem solve. Lastly he decides the best way to solve the problem. Studying a problem is also necessary because it helps a programmer to decide about the following things:
- 1. The facts and figures which are necessary for developing the program.
- 2. The way in which the program will be designed
- 3. Also, the language in which the program will be most suitable.
- 4. What is the desired output and in which form it is needed, etc
Program Design: In this step, the programmer designs an algorithm or flowchart to help visual possible alternatives in a program. Algorithm or flowchart is a written documentation of how the problem can be solved using efficient time and memory. The following points are considered in this step-
- 1. Input Design
- 2. Output Design
- 3. Relation between input and output
Program Development: The next step after designing the algorithm or flowchart is to write the program in a high-level language according to algorithm or flowchart.This process is known as coding or programming or program development. In this case, C, C++, java, python etc are used as high-level language.
Program Implementation: Program testing and program debugging are performed in this step.
Testing: The process of checking error/s in a program after completing the program is called program testing. Testing is done so that the program runs or functions according to the end user’s requirement. In this case, Outputs of the program are checked for different inputs. If output is not expected then there is error in the program.The errors in a program are-
- 1.Syntax Error
- 2.Logical Error
- 3.Run time or execution time error
Syntax Errors: Syntax errors are like “spelling and grammar” errors in program. It is called compile time errors. Any violation of rules of the programming language results in syntax errors. This type of error can be resolved easily because the translator program can detect such errors. If syntax errors are present in the program then the compilation of the program fails and is terminated after showing the list of errors and the line number where the errors have occurred. Correction of one or two errors in the program may remove the entire list of errors. For example- not using semicolon(;) at the end of statement, using print() instead of using printf() etc.
Logical Errors: These errors are related to the logic of the program. Logical errors are not detected by translator program and cause incorrect results.It is difficult to solve logical error. These errors occur due to incorrect translation of algorithm into the program, poor understanding of the problem and a lack of clarity of hierarchy of operators. For example – writing a<b instead of writing a>b, writing s=a+b instead of writing s=a-b.
Run-time Errors: Run-time errors are the errors that occur during the execution of the program. Some examples are, dividing by zero error, insufficient memory for dynamic memory allocation, referencing an out-of-range array element. These are not detected by compiler while compilation process. A program with these kinds of errors will run but may cause termination of program. Detection and removal of a run-time error is a difficult task. Logical error is one kind of run-time error because this type of error can not be detected by the compiler (debugging).
Debugging: Error of a program is called Bug. Debugging is a process of detecting, locating and correcting the bugs in a program. It is performed by running the program again and again. Debugging tools (called debuggers) are used to identify program errors at various development stages. Syntax error can be resolved in debugging but it is very difficult or almost impossible to resolve Logical Error and Run-time Error.
Documentation: The program documentation is a kind of documentation written in comment section that gives a comprehensive procedural description of a program. It shows as to how program is written. Program documentation even has the capability to sustain any later maintenance or development of the program. The program documentation describes what exactly a program does by mentioning about the requirements of the input data and the effect of performing a programming task.
Program documentation includes-
- 1. Description of program
- 2. Algorithm or flowchart
- 3. Written program
- 4. Result etc
These are some of the advantages of providing program documentation −
- 1. Keeps track of all parts of a program
- 2. Maintenance is easier
- 3. Programmers other than the developer can understand all aspects of program
- 4. Improves overall quality of the program
Program Maintenance: Program maintenance is the process of modifying a program after delivery to achieve any of these outcomes,
- 1.Correct errors
- 2.Improve performance
- 3.Add functionalities
- 4.Remove obsolete portions
Knowledge Based Questions:
- a. What is testing?
- a. What is bug?
- a. What is debugging?
- a. What is syntax error?
- a. What is logical error?
- a. What is rum-time error?
Comprehension Based Questions:
- b. Algorithm or flowchart is related in which step of program development? Explain.
- b. Debugging or Testing is related in which step of program development? Explain.
Read the stem and answer the questions:
Multiple Choice Questions: