Phases of Software Development Life-Cycle (SDLC)
The Software Development Life-Cycle phases are Requirements, Analysis, Design, Implementation and Post-Delivery Maintenance respectively
1. Requirements Phase:
It is the phase where the requirements are determined, defined and collected during the meeting with the customer. Software Engineers are work to find a solution to questions such as What does the customer wants and What are the customer’s requirements?
2. Analysis Phase:
The requirements collected in Requirements Phase are analyzed at this phase. Point to be noted at this phase is the customer needs rather than what the customer wants. As result of the analysis, specification document written. In this phase Software Project Management Plan written too. all details are written to this plan
3. Design Phase:
During the design phase, two types of designs are made. These are Architectural Design and Detailed Design.
3. 1. Architectural Design:
A sketchy plan is drawn up showing the architecture of the system to be developed.
3. 2. Detailed Design:
algorithms to be used, architectural patterns, data structure, architecture, classes and conversations between classes are done at this phase.
4. Implementation Phase:
In this phase, the code is written for all of the modules. Unit testing is done. Developed modules required working together, for this reason, all of the modules combined. Errors can occur while modules combine. Integration testing is performed to eliminate these errors.
Also, at the end of this phase, Product Testing is done with reference do the specification document to see if the customer’s requirements are complied with.
After the necessary installations have been made to the customer, customers test the system that developed with real data. This is called Acceptance Test. After this, Maintenance is done.
5. Post-Delivery Maintenance Phase:
Post-Delivery Maintenance means the any update changes in the product after the delivery of the developed product.
There are two types of Post-Delivery Maintenance:
5.1. Corrective Maintenance:
Corrective Maintenance done to fix the any errors in developed system. (system repair)
5.2. Enhancement Maintenance:
It includes the changes that have been made on the specification document and adaptation of these changes to the availble software.
There are two types of Enhancement Maintenance:
5.2.1. Perfective Maintenance:
It is a maintenance made to increase the usefulness of the software product in line with the opinions of the users. For example, adding a new feature to the software.
5.2.2. Adaptive Maintenance:
It’s a maintenance for occurring changes on the working place of the product. For example, running the software product on a different operating system or different hardware.