Software Development Life Cycle

Isuruni Rathnayaka
SESA-UOK
Published in
7 min readMar 15, 2021

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,

  1. 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

--

--

Isuruni Rathnayaka
SESA-UOK

Software Engineering Undergraduate - University of Kelaniya Sri Lanka