What is SDLC Model?
A Framework containing the processes, activities and tasks involved in the development, operation and maintenance of a software project spanning the life of the System from the definition of its requirements to the termination of its use.
Types of SDLC Models:
2. Spiral Model
3. Prototype Model
4. Rapid Application Development Model
6. Agile Model
A Framework containing the processes, activities and tasks involved in the development, operation and maintenance of a software project spanning the life of the System from the definition of its requirements to the termination of its use.
Types of SDLC Models:
- Waterfall Model
- Spiral Model
- Prototype Model
- Rapid Application Development Model
- Iterative and Incremental Development Model
- Agile Model
1. Waterfall Model
- Also known as Classic Life Cycle Model and Linear Sequential Model
- This model suggest a systematic and sequential approach to software development that begins at requirements analysis and progresses through all life cycle phases sequentially.
- Development activities carried out sequentially
- Review and approval of each phases outputs (Deliverables)
- Model does not permit going back and forth
- If any defects found, go back to the originating phase and start traversing sequentially all over again
Suitable for Projects where:
- Requirements are clearly defined
- Small and medium term duration
- Familiarity with the domain and development environments
2. Spiral Model
- The spiral model is a risk-driven process model generator for software projects. Based on the unique risk patterns of a given project, the spiral model guides a team to adopt elements of one or more process models, such as incremental, waterfall, or evolutionary prototyping
- In a spiral model, software is developed in a series of increments releases.
- Suitable for large projects with multi-location implementation
- Each spiral consists of a deliverables product
- Customer can start using the system after every spiral
- Feedback of each spiral is incorporated in the next spiral
- Each spiral consist of a waterfall model
- Useful for large projects
- Customer requirements change over a period of time
- Early availability of usable system
3. Prototype Model
- Identify basics requirement – A prototype is developed based on the initial understanding of the customer requirements
- Develop Initial Prototype – The initial prototype is developed that includes only User Interface
- Review – The Customer including end-users examine the prototype and provide feedback on addition and changes
- Review and enhance the prototype – Using the feedback both the specification and the prototype can be improved
- A visible working prototype helps customer to define the requirements
- Can be used when customer is not sure about what he wants
- Faster way to finalizing the requirements
- Useful for new technologies and domains
- Useful for Product development
4. Rapid Application Development Model
- RAD enables creation of fully functional Software within a very short time
- If the requirements are well understood and define and the project scope is constraint the RAD process enables a development teams to create a fully Functional System within very short time period.
5. Iterative and Incremental Development Model
- The basic idea behind Iterative Model is to develop Software System incrementally
- At each iteration design modification are made along with adding new functional capabilities
- In a Incremental Development Model the system is developed in different stages with each stage consisting of requirements, design Implementation Testing Evaluation. In each stage new Functionality is added.
- This type of development allows the user to see a Functional Product very quickly and allows the users to impact what changes are included in the subsequent releases.
6. Agile Model
- In Agile Model product is divided into various Sprints
- Each Sprint contains highest priority Features (Requirements)
- A time period of Sprint is typically 2-4 weeks
- In Agile Model daily Scrum meeting with team to share status and potential issues
- Each Sprint is release to customers
- Used for time-critical applications





