Software Development Life Cycle
Hello everyone! Today I will explain to you about the software development life cycle.
A program is a list of instructions that tells a computer how to process data into information. Programming is the process used to produce a program. It is also called software development, which follows a six-step procedure known as Software Development Life Cycle.
For further information, let’s go through each step one by one.
1. Program Specification
This step is also called program analysis and program definition. The program specification step involves both programmer and the end-user. There are several factors that are considered in this step.
Program Objective
Identification of the problem that is trying to solve through a program. The sole objective of the program is to find a solution for related problems.
Desired output
In a program before identifying inputs, the output should be determined. End-users have to sketch their desired output and have to print it on paper or display it on a monitor, in a way the programmer can understand.
Input Data
After determining the output, input data should be given to obtaining the exact desired output.
Processing requirements
Definition of processing tasks that must take place in processing input data to the desired output.
Program specification document
All the data gathered in the above four steps are documented in a report so that they can be used in the upcoming steps.
The program specification step is very important in developing a program as it is the foundation of any program.
2. Program Design
The second step in the software development life cycle concerns planning the program using structured programming techniques.
Some of the techniques that can be used in this step are
Top-down program design
Top-down program design is an approach to program design that starts with the general concept of the program and repeatedly breaks it down into its component parts. Here at first inputs and outputs are determined. Then using top-down design, processing steps related to them are identified. A processing step is called a module and the module contains logically related program codes. The program must pass from one module to another in sequence until all modules are processed by the computer.
Pseudocode
This technique presents the outline of the logic of the program. It is just like writing a summary report on the program before coding it.
Flow Chart
The flow chart is a graphical representation of a sequence of steps in a detailed form that can be used to solve a problem. In a flow chart, only one module of top-down program design is presented.
Logical structures are used in a flow chart to combine different parts of the flow chart together. There are three basic types of logical structures,
1. Sequential
Here one program statement follows the other. There are no selections or repetitions in the program.
2. Selection
Selection is used when a decision is made during the program. The outcome of the selection statement determines the path that should be followed.
3. Repetition
Repetition describes a process that is repeated again and again until a certain condition remains true.
The program design step also ends with documentation that brings out the logic of the program designed using a structured programming technique.
3. Program Code
This step involves writing the program using a programming language. Programmer should select the most appropriate programming language to be used and the program is written according to rules and standards of the language. It is the same as writing a report using a language used by humans like English. Here the logic developed in the program design step is used to write step-by-step program statements.
A good program,
- Should be reliable.
- Should work under different cases and produce the desired output.
- Should be understandable by users other than the programmer.
- Should be well documented.
Program coding is an extra important step as it can be considered as the central point of the software development life cycle.
4. Program Test
In this step, the program written in the earlier step is tested to check whether it is error-free and produces the desired output.
Mainly there are two types of errors in a program code,
- Syntax Errors
These occur when the rules and the standards of the programming language are violated.
Ex: In C language not using “;” at the end of a program statement is a syntax error.
- Logical Errors
These occur when the logical meaning of the program is wrong.
Ex: Use of multiplication symbol between two numbers when the program needs their addition.
There are several ways that can be used to carry out this step. Some of them are,
- Desk checking
In this method, the programmer checks the code line by line using a printout of the written code.
2. Manual testing
This method can be used if the problem that is trying to solve is a mathematical problem. Herewith the use of input data the solution is obtained through a calculator manually and then the obtained solution is compared with the output of the code when it is run on the computer.
3. Testing with program translation
This method can be used to identify syntax errors in a program. A program is run on the computer using a program translator. But to run a program it should be error-free, so in the program translation process, syntax errors can be identified.
4. Testing with sample data
After correcting syntax errors in the program, this method can be used to identify logical errors in a program. Here sample data is provided to the program and checks whether the desired output is obtained. If it is not then, a logical error is preventing from getting the desired output as there are no syntax errors.
5. Beta test with potential users
In this process, the program is tested with potential users. They try out the program and provide their feedback.
After this step, the program code should be error-free and produce the desired output.
4. Program Documentation
Documentation is done through all the steps of the life cycle and in this step, all the previous documents are reviewed, finalized, and distributed.
Documentation is important for people who get involved with the program in the future,
· Users
Users need to know how to use the program. These kinds of documentation are written manuals or help options in some applications.
· Computer Operators
In a failure of the program, operators should know about the program to fix it.
· Programmer
The programmer who develops the program also needs a document to revise the program when time goes by. And also other programmers who will modify the program in the future should know about the structure of the program.
Program documentation is a future investment in the software development life cycle.
5. Program Maintenance
This step is a continuous process that is carried out as long as the software is in use. Program maintenance is done to ensure that the program is operating error-free, effectively, and efficiently.
A program should be updated and modified with the change of needs of the end-user, change of new technology, and external factors affecting the program.
Program modifications are known as patches and if patches are significant, then they are called software updates.
Following this software development life cycle can bring out software with the best quality, but at the same time, it is also time-consuming and can be expensive.
If you are new to software Engineering software development life cycle is a must to know.
Hope the article is useful in improving your basic knowledge of software development. Thank you very much for reading!!!!!!!!!!!!!!
Isuruni Rathnayaka