Week 3 - Program Development
Week 3 - Program Development
E-NOTE
Lesson Objective:
At the end of the lesson, learners should be able to:
a) State the meaning and qualities of a good program
b) Explain the qualities of a good program
c) State the precautionary steps to be taken when writing a program
d) Highlight the stages involved developing a program
e) Explain the stages of program development.
CONTENT:
PROGRAM DEVELOPMENT
A program is a set of instructions that are executed by the CPU. A program can also be
defined as an organized list of instructions that when executed cause the computer to
behave in a predetermined manner. Without a program the computer is useless
Characteristics of a Good Program
The following are characteristics of a good program:
1) Portability: this refers to the ability of an application to run on different platform with or
without minimal changes.
2) Readability: A program should be written in such a way that it is understandable to other
programmers or users to follow the logic of the program without much effort.
3) Efficiency: This refers to the ability of the program to consume or use less amount of
memory or running time during the processing of data.
4) Flexibility: This refers to the ability of the program to handle most/any changes without
having to re-write the entire program.
5) Generality: This refers to the ability of a program to perform/execute similar task to
which it has been developed for in a similar setting.
6) Documentation
7) Structural
Precautions in Program Development
There are certain precautions that one should take during the development of a program.
These are:
Patience
Step Following
Execution order.
Problem Definition:
This stage entails defining and understanding the problem statement and deciding the
boundaries of the problem. In this phase, the problems identified with the manual system
are identified, the requirements for the new system are stated and the expected output of
the new system are defined
Problem Analysis:
The requirements like variables, functions, or resources to solve the problem are gathered.
Algorithm/Flowcharting:
During this phase, a step by step procedure to solve the problem using the specification
given in the previous phase is developed.
Desk checking:
This involves manual checking of the logic of a program for correctness
Coding:
This phase involves using a programming language to write or implement actual
programming instructions for the steps defined in the previous phase. In this phase, we
construct actual program. That means we write the program to solve the given problem
using programming languages like C, C++, Java etc.,
Program compilation:
Compilation is the process whereby the source program (program written in other language
different from machine language), is translated into machine readable code. A compiler does
the job of compilation.
Testing & Debugging:
During this phase, we check whether the code written in previous step is solving the
specified problem or not, i.e. check whether input data will provide desired output or not.
Maintenance:
During this phase, the program is actively used by the users. If the user encounters any
problem or wants any enhancement, then we need to repeat all the phases from the starting,
so that the encountered problem is solved or enhancement is added.
Documentation:
Program documentation includes hard-copy or electronic manuals that enable users,
program developers, and operators to interact successfully with a program, e.g. user manual
(a description of software commands and troubleshooting guide).