Software Development life cycle MODELS
- We start with some software requirements and start developing.
- After the first iteration, the software is reviewed, and then further requirements are identified.
- If some changes need to be done then a new version of that software is created with a new iteration. This process is repeated until we get our final software.
- At each iteration, design modifications are made and new functional capabilities are added to the software
This is the first step when you are starting to develop software. Firstly, you need to gather the requirements. Then all requirements are checked. If we can fulfill these requirements and can be done within the budget then we move to the next step.
Design & Deployment:
In this step, the design of the software is made by different diagrams like a flow diagram, activity diagram, class diagram, etc.
In this step, actual software development begins. All coding is done in this step. The development of software is completed in this step.
The developed software is tested in this phase. The bugs are identified in this step. Testing is done by using different testing methods.
After completion of the above stages, the developed software is evaluated then developed software is analyzed by the team as well as the client. If there is any need to change something then another build of the software is made. If the client is satisfied with the developed software and all requirements have been successfully completed then the final product is delivered to the customer.
- Less costly to change the requirements.
- Testing during small iterations is easy.
- Risks can be analyzed better.
- After each iteration, customer feedback is taken.
- Suitable for large applications.
- In this model, we spent more time designing instead of documentation.
- It is not suitable for smaller projects.
- More resources may be required in this approach.
- The software completion date cannot be confirmed because requirements can be changed.
- Highly skilled resources are required for risk analysis.
- Spiral Model is the most important and widely used SDLC model that provides support for Risk Handling.
- This model is widely used for large projects which involve continuous enhancements.
- This spiral model works on the basis of the iteration of loops.
- In the Spiral model, the software is developed in a series of incremental releases.
- Here in the following diagram, you can see multiple loops are there. The number of loops varies from project to project and each loop is called a phase of the software development process.
- The spiral model is the combination of the waterfall model and iterative model.
- Each Phase in the spiral model begins with the design goal and each phase ends with the customer reviewing it.
In this phase, Requirements are gathered from the customer. There is continuous communication between the customer and the system analyst. Business and System requirement Specification is prepared in this phase.
This phase is also known as the risk analysis phase. In this phase, risks and alternate solutions are identified. A prototype is produced at the end of this phase. If any risk is found in that prototype then alternate solutions are implemented.
This phase includes coding products. After a development product, testing is also performed in this phase.
In this phase, customer evaluates so far developed products and provides feedback regarding that product. If the customer is satisfied with the current progress of developed software then planning for the next phase is started.
- Risk Handling
- Customer satisfaction
- Always recommended to use the spiral model in large projects or complex projects.
- Change in the requirements can be accommodated.
- Project monitoring is very easy.
- This approach is not suitable for low-risk projects.
- The cost of this approach is very high.
- Time estimation is very difficult because we are not sure about a number of phases at the start of the project.
- Spiral model protocols need to be followed very strictly.
Important Interview Questions Regarding SDLC Models:
- What is project estimation?
- What are the software requirements?
- Define SRS, BRS?
- Explain SDLC?
- Describe the Waterfall model? What are its advantages?
- Explain STLC?
- What are the various models available in SDLC?
- Define baseline?
In the next post, we will learn the Agile Model. Once we are done with the SDLC Model, We will discuss all interview questions in a separate post. If you have any questions in mind, do let me know in the comments.