Software Development Life Cycle
Software Development Life Cycle (SDLC) aims to produce a high-quality system that meets or exceeds customer expectations, works effectively and efficiently in the current and planned information technology infrastructure, and is inexpensive to maintain and cost-effective to enhance.
- 1. SDLC – Detailed Explanation
- 2. Requirement Phase
- 3. Analysis Phase
- 4. Design Phase
- 5. Development Phase
- 6. Testing Phase
- 7. Deployment & Maintenance Phase
- 8. Types of Software Development Life Cycle Models
A process followed in software projects is SDLC. Each phase of SDLC produces deliverables required by the next phase in the life cycle. Requirements are translated into design. Code is produced according to the design. Testing should be done on a developed product based on requirement. Deployment should be done once the testing was completed. It aims to produce a high-quality system that meets or exceeds customer expectations, works effectively and efficiently in the current and planned information technology infrastructure, and is inexpensive to maintain and cost-effective to enhance.
A typical Software Development Life Cycle (SDLC) consists of the following phases:
Check out the below video to watch “Software Testing Life Cycle Phases (STLC Phases)”
Please be patient. The video will load in some time.
Requirement gathering and analysis is the most important phase in software development lifecycle. Business Analyst collects the requirement from the Customer/Client as per the clients business needs and documents the requirements in the Business Requirement Specification (document name varies depends upon the Organization. Some examples are Customer Requirement Specification (CRS), Business Specification (BS) etc., and provides the same to Development Team.
Once the requirement gathering and analysis is done the next step is to define and document the product requirements and get them approved by the customer. This is done through SRS (Software Requirement Specification) document. SRS consists of all the product requirements to be designed and developed during the project life cycle. Key people involved in this phase are Project Manager, Business Analysist and Senior members of the Team. The outcome of this phase is Software Requirement Specification.
It has two steps:
HLD – High Level Design – It gives the architecture of the software product to be developed and is done by architects and senior developers
LLD – Low Level Design – It is done by senior developers. It describes how each and every feature in the product should work and how every component should work. Here, only the design will be there and not the code
The outcome from this phase is High Level Document and Low Level Document which works as an input to the next phase
Developers of all levels (seniors, juniors, freshers) involved in this phase. This is the phase where we start building the software and start writing the code for the product. The outcome from this phase is Source Code Document (SCD) and the developed product.
When the software is ready, it is sent to the testing department where Test team tests it thoroughly for different defects. They either test the software manually or using automated testing tools depends on process defined in STLC (Software Testing Life Cycle) and ensure that each and every component of the software works fine. Once the QA makes sure that the software is error-free, it goes to the next stage, which is Implementation. The outcome of this phase is the Quality Product and the Testing Artifacts.
Deployment & Maintenance Phase:
After successful testing, the product is delivered/deployed to the customer for their use. Deployment is done by the Deployment/Implementation engineers. Once when the customers start using the developed system then the actual problems will come up and needs to be solved from time to time. Fixing the issues found by the customer comes in the maintenance phase. 100% testing is not possible – because, the way testers test the product is different from the way customers use the product. Maintenance should be done as per SLA (Service Level Agreement)
Types of Software Development Life Cycle Models:
Some of the SDLC Models are as follows:
The other related models are Agile Model, Rapid Application Development, Rational Unified Model, Hybrid Model etc.,
- Software Testing Life Cycle (STLC)
- Bug Life Cycle (Defect Life Cycle)
- Test Metrics
- Requirement Traceability Metrics (RTM)
- Test Artifacts / Test Deliverables
- How To Write Test Strategy
- How To Write Test Plan