You are here  >> Testing Concepts >> SDLC

SDLC Software Development Life Cycle :

What is SDLC ??
It is a framework that describes the activities performed at each stage of a software development project.
It also refers to a methodology for developing systems. The SDLC methodology may be condensed to include only those activities appropriate for a particular project, whether the system is automated or manual, whether it is a new system, or an enhancement to existing systems.
The SDLC methodology tracks a project from an idea developed by the user, through a feasibility study, systems analysis and design, programming, pilot testing, implementation, and post-implementation analysis. Documentation developed during the project development is used in the future when the system is reassessed for its continuation, modification, or deletion.
SDLC Phases
Phases in SDLC are Planning, Analysis, Design, Implementation, and Maintenance.


Planning or Requirement Gathering :
Planning or Requirement Gathering is the first phase in a software development project where the specifications or requirements of a product are gathered.
To understand the nature of the program to built, the system engineer must understand the information domain for the software, as well as required functions, performance and the interfacing.
This phase also includes analyzing the scope the product development and documenting it. The scope document makes it clear as to what would be the end functionality of the software and what would be the out of scope activities. This phase thus aims at establishing a clear and well defined requirement and scope planning section.
In a simple sentence it establishes a high-level view of the intended project and determines its goals.
Systems analysis and design :
The design is the process of designing exactly how the specifications are to be implemented. It defines specifically how the software is to be written including an object model with properties and method for each object, the client/server technology, the number of tiers needed for the package architecture and a detailed database design. Analysis and design are very important in the whole development cycle. Any glitch in the design could be very expensive to solve in the later stage of the software development.
Development phase:
The design must be translated into a machine readable form. The code generation step performs this task. The development phase involves the actual coding of the entire application. If design is performed in a detailed manner. Code generation can be accomplished with out much complicated. Programming tools like compilers, interpreters are used for coding .with respect to the type of application. The right programming language is chosen.
Verification phase :
Verification phase or the testing phase : as the name suggests, verifies the developed code and ensures that the defects are minimal and that the software confirms to the client requirements.
After the coding. The program testing begins. There are different methods are there to detect the error in coding .different method are already available. Some companies are developed they own testing tools .
Unit testing and Integration, System Testing, Acceptance etc.
Maintenance :
Deployment and Maintenance stage of the software development phase follows the verification or testing phase and involves the software being placed in the production environment and launched. Also at times, frequent monitoring and testing is done to ensure proper working for an initial period of time. Maintenance of the product is the last phase where the software goes into a change mode for adding extra functionalities, if required.

Details of the Testing and its life cycle will be described under STLC chapters.