SDLC:
********
Software Development Life Cycle

SDLC Process Diagram
*************************


SDLC Flow chart
******************


Steps involving in SDLC
************************

* Feasibility Study
Economical feasibility
Technical feasibility


*Planning
*Requirements Analysis

* Design
High Level design
Low Level design


*Development (Coding/Implementation)
*Testing
*Unit testing

*Integration testing
1 Top-down testing
2 Bottom-up testing
3 Regression testing
4 Smoke testing
* Validation testing
1 Alpha testing
2 Beta testing
* System testing
1 Recovery testing
2 Security testing
3 Stress testing
4 Performance testing
*Installation (Release/Delivery of product)
*Maintenance
1 Corrective maintenance - To fix errors
2 Adaptive maintenance - To add new capability and enhancements
3 Perfective maintenance - To improve efficiency

Steps in Brief
*****************

* Project planning, feasibility study:
Establishes a high-level view of the intended project and determines its goals.

* Systems analysis, requirements definition:
Refines project goals into defined functions and operation of the intended application. Analyzes end-user information needs.

* Systems design:
Describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudocode and other documentation.

* Implementation: The real code is written here.

* Integration and testing:
Brings all the pieces together into a special testing environment, then checks for errors, bugs and interoperability.

* Acceptance, installation, deployment:
The final stage of initial development, where the software is put into production and runs actual business.

* Maintenance:
What happens during the rest of the software's life: changes, correction, additions, moves to a different computing platform and more. This, the least glamorous and perhaps most important step of all, goes on seemingly forever.

SDLC Models:
1. Waterfall models.
2. Spiral models.
3. Iterative models.
4. JDA ( Joint Development Application )
5. RDA ( Rapid Development Application )