Vous êtes sur la page 1sur 4

System Development Lifecycle - SDLC

Before the acceptance of software development as an engineering stream, the process of


developing software was an adhoc activity with no formal rules or standards. As a result,
software projects faced serious problems in terms of schedule slippage, cost overrun, and inferior
quality of software.
Software Development Life Cycle (SDLC) was introduced to address the problems faced during
the software development process. SDLC is a disciplined and systematic approach that divides
the software development process into various phases, such as requirement, design, and coding.
The phase-wise development process helps to track schedule, cost, and quality of the software
projects life cycle.
The systems development life cycle (SDLC) is a conceptual model used in project management
that describes the stages involved in an information system development project, from an initial
feasibility study through maintenance of the completed application.
SDLC Phases
o Feasibility analysis
o Requirement analysis and specification
o Design
o Coding
o Testing
o Maintenance

Feasibility analysis
Includes analysis of project requirements in terms of input data and desired output, processing
required to transform input into output, cost-benefit analysis, and schedule of the project. The
feasibility analysis also includes the technical feasibility of a project in terms of available
software tools, hardware, and skilled software professionals. At the end of this phase, a
feasibility report for the entire project is created.
Requirement analysis and specification
Includes gathering, analyzing, validating, and specifying requirements. At the end of this phase,
the Software Requirement Specification (SRS) document is prepared. SRS is a formal document
that acts as a written agreement between the development team and the customer. SRS acts as
input to the design phase and includes functional, performance, software, hardware, and network
requirements of the project.
1

Design
Includes translation of the requirements specified in the SRS into a logical structure that can be
implemented in a programming language. The output of the design phase is a design document
that acts as an input for all the subsequent SDLC phases.
Coding
Includes implementation of the design specified in the design document into executable
programming language code. The output of the coding phase is the source code for the software
that acts as input to the testing and maintenance phase.
Testing
Includes detection of errors in the software. The testing process starts with a test plan that
recognizes test-related activities, such as test case generation, testing criteria, and resource
allocation for testing. The code is tested and mapped against the design document created in the
design phase. The output of the testing phase is a test report containing errors that occurred while
testing the application.
Maintenance
Includes implementation of changes that software might undergo over a period of time, or
implementation of new requirements after the software is deployed at the customer location. The
maintenance phase also includes handling the residual errors that may exist in the software even
after the testing phase.
In general, an SDLC methodology follows the following steps:
1. The existing system is evaluated. Deficiencies are identified. This can be done by
interviewing users of the system and consulting with support personnel.
2. The new system requirements are defined. In particular, the deficiencies in the existing
system must be addressed with specific proposals for improvement.
3. The proposed system is designed. Plans are laid out concerning the physical construction,
hardware, operating systems, programming, communications, and security issues.
4. The new system is developed. The new components and programs must be obtained and
installed. Users of the system must be trained in its use, and all aspects of performance
must be tested. If necessary, adjustments must be made at this stage.
5. The system is put into use. This can be done in various ways. The new system can phased
in, according to application or location, and the old system gradually replaced. In some
cases, it may be more cost-effective to shut down the old system and implement the new
system all at once.

6. Once the new system is up and running for a while, it should be exhaustively evaluated.
Maintenance must be kept up rigorously at all times. Users of the system should be kept
up-to-date concerning the latest modifications and procedures.

Vous aimerez peut-être aussi