The system development life cycle (SDLC) is a framework for developing information systems. It consists of several sequential phases: initial investigation, feasibility study, system analysis, system design, system coding, testing, implementation, and maintenance. In the past, the waterfall approach was used, but now developers may iterate between phases as needed. The goal is to conceive, design, and implement an information system to solve business problems.
2. Introduction
The system development life cycle (SDLC) is the
traditional system development method used by
most organizations. “The period of time begins
when a system is conceived and ends when a
system is fully operational for use and gets
maintained is called the development life cycle
of a system.” The SDLC is a structured
framework that consist of sequential process by
which information system are developed.
3. In the past, developers used the
‘waterfall’ approach to the SDLC, in which
task in one stage were completed before the
work proceeded to the next stage. Today,
developers go back and forth among the
stages as necessary.
4. SDLC consist the following phases
1. Initial Investigation
2. Feasibility Study
3. System Analysis
4. System Design
5. System Coding
6. Testing
7. Implementation
8. Maintenance
5. System
Analysis
System
design
Testing
Initial
investigation
Maintenance
Implementation
System
Coding
PHASE-I
PHASE-III
PHASE-IV
PHASE-V
PHASE-VII PHASE-VI
PHASE-VIII
Feasibility
study
PHASE- II
6. Preliminary Investigation
This phase is very important as in this phase
system analyst identify the real problem of the
existing system, without clear understanding of
the problem in the system, any further work done
will lead to wastage of efforts at a later stage.
Problem definition defines the user requirements,
or what user expect from the system.
7. This phases also sets the projects boundaries,
which defines what parts of the system can be
changes by the project and what part should
remain unchanged. This also include a rough
idea of the resources requirements, estimated
start and completion dates for each phases and
the number of persons expected to be involved in
each phase for project.
8. Feasibility Study
A feasibility study is undertaken to determine the
possibilities of either improving the existing
system or develop a completely new system.
This study also help to obtain an overview of the
problem and to get rough assessment of whether
feasible solution exist or not. “Feasibility studies
are used as a basis for deciding whether to
proceed with, postpone or cancel the project”.
9. There are three aspects of feasibility study as
follows:
1. Technical feasibility = (Analyze of present
technology + Recognition of improvement +
finance consideration)
2. Economical feasibility = (Benefits + Savings
are compared with the cost)
3. Operational feasibility =Working of System
10. System Analysis
The analysis phases is the detailed understanding
of all important facts of the business area under
investigation. In this the relationship of the
various system components among themselves
and with environment are studied and
understood. This requires data collection from a
variety of sources. For this, questionnaires,
forms, interviews, study of existing documents,
records etc. are used.
11. The analyst must try to answer the following set
of questions:
1. What is being done in the organizations?
2. How it is being done?
3. What are the problem arise, how will it be
solved?
4. If a problem arise, how will it be solved?
12. System Design
The most creative and challenging phase of system
development life cycle is system design. each
module after successful completion of system
analysis, the system is designed. In system
design phase, first the system is broken down
into different module and then its each module is
designed. Design of system is largely the logical
design. The logical design can be sketched on a
paper or on a computer terminal.
13. The design also including the physical design
element, describe the data to be inputted, the
process involved in the manipulation of data and
the output.
1. The analyst should specify the file structures,
storage devices etc.
2. The database is also designed in this phases.
3. Input, output, files and procedures are planned.
14. System coding
The next phase is concerned with translating the
system design specification developed. When the
design is accepted by the requested department,
the analyst begins developing the software using
programming language. This is the phase when
the programmer plays their role in development
of the system. They start designing data
structures and writing of programs as per the
documents prepared during design phase.
15. System Testing
Testing is the most vital phase of SDLC. Once the
system is designed it should be tested for validity. In
this phase, the system as a whole is tested with
different techniques to ensure that the system is bug
free. Although, during design, the programmers test
their programs but this sort of testing is generally
unrecognized without preparation of test data.
During testing phase, the testing is done in
systematic way in order to ensure the reliability of
the system and to make it error free.
16. Implementation
Implementation is the final phase of development.
After testing, the system is installed at the user’s
place and implemented. It consist of installing
hardware, programs, collecting data and
organizing people to interact with and run the
system. In the implementation phase, user
actually starts using the system. This phase also
involves training the users for using the system.
17. Implementation can be done in two ways. One
way is by implementing the new system along
with the old system and make them run in
parallel. The other method is to replace the entire
system. In large organizations, the new system
can be implemented in certain areas as a pilot
project and if satisfactory result are obtained, it
can be implemented to other areas also.
18. Maintenance
Maintenance is the process of incorporating changes in
the implemented existing system for proper utilization.
This involve enhancement, adaptation and corrections.
Enhancement: Enhancement implies adding new
functions or additional capabilities to the system.
Adoption: Adoption implies customizing the software
to run in the new environment
Correction: Correction implies correcting the bugs in
the existing software.