Q: What is SDLC?
A: SDLC (software development life cycle) is process where a model is used for software development. A model follows complete life cycle of program development from initial phase to final phase.
Main is that it is about software development life cycle where to follow software development models and one of models can be followed there or more according to plan about development. Some models are used by technical team but one of them will be preferred to complete project.
Some models comes under SDLC such as “waterfall model, prototype models, spiral model, V & V model and agile methodology also comes under software development model.
For an example like a company got a new project then work to collect all requirements from the client side then prefer one of models to work on project according provided requirements by client and models can be followed as per current status about all needed requirements.
SDLC Components:
SRS (Software Requirements Specifications)
Design
Development
Testing
Implementation.
Types Of SDLC Models:-
Waterfall Model:- Waterfall Model is SDLC Model and it is a method to develop software with sequential development life cycle.
1. Requirement Gathering
In Requirement Gathering Module, need to collect requirements about project. Project requirements should be very clear and need to collect correct information by collecting all requirements related to project need to make a requirements document and should be distributed to all teams designing, development and testing.
2. Design
In Design Module need to establish requirements and need to design system as per requirements. During this phase no functionality development should be in process but the team can create programming requirements and hardware requirements specifications.
3. Development
During functionality development phase, developers need to work on requirements implementation as per collected requirement and to implement flow of software. During this phase programmers need to work on unit of software according to requirements then need to integrate all developed units.
4. Testing
During the phase of testing, testing team should work on testing process according to requirements. Testing team should create plan, strategy, and other testing scenarios. Test cases should be written according to requirements then further must be executed. During testing phase need to verify software as per requirements.
5. Release/Deployment
In Release phase, software should be released to client.
released.
6. Maintenance
Once software is delivered to the client and software is being used and during the use of software if an issue arise then need to create updates to solve the problem.
Example Image:-
Prototype Model:- Prototype Model is one of the most popular SDLC Models. When exact requirements are not available then Prototype Model comes in use. Prototype Model represents an approximation of the features of software. Features are modified with Prototype Model based on users feedback and process is going on until get better feedback from users. So Prototype Model works good with those scenarios where requirements are not available in detailed information.
Prototype Model Phases:-
Requirements:- It starts by collecting requirements then analysis. During this process users feedback are important to know users expectations from system.
Design:- In design phase a design is implemented to show an idea of design for users.
Build Prototype:- A unit of system is implemented based on collected design information.
Evaluation:- For the purpose of user evaluation it is delivered to client to know feedback from users and weakness and strength of system also then to send all feedback to implementation team.
Refining:- This phase is to refine prototype based on users feedback and it is going on until get better feedback from users.
Implementation:- Implementation is on final prototype and whenever final system is implemented then it goes to complete testing process.
Maintenance:- Maintenance process is going on with this phase to stop system failures.
Example Image:-
V-Model:- V Model is one of Software Development Life Cycle (SDLC) Models and it comes in use whenever sequential process comes in execution and requirements are very clear. Process comes in V shape in V model. Each phase of development is associated with testing phase and next phase is start after previous phase is completed. It is also know an V & V (Verification and Validation) model.
Verification:- Verification is static review process and it is done without executing code.
Validation:- Validation is dynamic review process and it is done with execution of code.
V Model Phases:-
Requirements Analysis:- This phase is for collecting requirements. Requirement Analysis phase contains system requirements with detailed information.
System Design: System Design phase contains the design phase of system and the complete configuration design to setup a developing system.
Architectural Design:- In this phase modules are integrated and integration testing is performed.
Module Design:- In Module Design phase system break into modules and unit testing is performed.
Example Image:-
Spiral Model:– Spiral Model is one of Software Development Life Cycle (SDLC) Models. When sequential process and iterative process come then it comes in use so it is like a combination of both process. Spiral Model provides support for risk handling and easy to know unknown risk by developing prototype and risks are identified before starting development then development team works in spirals until software is ready to be released.
Spiral Model Phases:-
Planning:- In this phase requirements collection with interaction of client side comes then analysis and planning comes for each phase.
Risk Analysis:- Risk Analysis phase is to identify risks then to create mitigation strategy.
Engineering/Development and Testing:- With this phase identification of developed features and testing of developed features is performed.
Evaluation:- Clients evaluation come in this phase with clients feedback and approval of implementation.
Example Image:-
Agile Model:- Agile is a development process like a set of methods to develop software with collaboration of teams. In Agile Methodologies requirements are distributed to teams according to responsibility of particular team. Means teams work in their tasks like requirements analysis, planning, design, coding and testing then collaborate with other
team.
In this development model implementation goes like:-
“Planning”:- With this phase teams create plans about implementation process
“Requirements Analysis”:- In this phase team work for requirements analysis to
correct implementation.
“Design”:- Team decide what to design as per requirement and provide estimate time
then design.
“Coding”:- Development team work on coding to develop the tasks
“Testing”:- Testing team test the build or integrated development module.
“Release”:- Client reviews integrated functionality.
And then same process will be followed like a cycle for next development
phase.
Scrum Process
In Agile Methodology, Scrum Methodology comes to manage development process and it works like a subset of Agile. In Scrum method process, team perform daily meetings at morning and evening for daily sprint. In Scrum meetings, two meetings come, first is “Stand Up” meeting where team have discussion about tasks and second is “Status” meeting where team have discussion about done/implemented tasks as per requirement.
Sprint
Now a query comes in mind, what is sprint? So it is like a section/module/portion of project and for that teams create estimate time to complete team’s related task at their end and then scrum team gives complete estimate time from initial phase to final phase (Implantation to Testing Thoroughly) then after implementation and proper testing, team release build and each day team follow the same process to develop software.
Structure Example:-
Implementation Cycle
Planning
Requirements Analysis
Design
Coding
Testing
Release
Then cycle will be continue with same process for next implementation phase.
Example Image:-