1.
3] SDLC Models
A framework containing the process, activities & task involved in the development
operation & maintenance of the software project spanning the life of system from the
definition of its requirement to the termination of its use.
Types of SDLC Models:
1] Waterfall model
2] Spiral Model
3] Prototype Model
4] Rapid application development model
5] Iterative and incremental development model
6] Agile Model
1] Waterfall Model:-
It is also known as ‘Classic life cycle model’ or ‘Linear sequential
model’
This model suggest systematic and sequential approach to
software development that begins at requirement analysis and
progress through all life cycle phases sequentially.
Diagram:
Development activity carried out sequentially.
Review and approval of each phase outputs (Deliverables).
Mode doesn’t permit going back & forth.
If any defect found, go back to the originating phase & start
traversing sequentially all over again.
Suitable for project Where:
Requirement are clearly defined.
Small and medium term duration.
Familiarity with the domain & development
environment.
2] Spiral Model:
In spiral model, software is developed in series of incremental release.
Diagram:
Suitable for large projects with multiplication implementation.
Each spiral consist of deliverable product.
Customer can start using the system every spiral.
Feedback of each spiral is incorporated in the next spiral.
Each spiral consist of a waterfall model.
Advantages:
Useful for large projects
Customer requirements change over a period.
Early availability of usable system.
3] Prototype Model:
Identify basic requirement: A prototype is developed based on the initial
understanding of customer requirement.
Developed initial prototype: The initial prototype is developed that includes only
user interface.
Review: The customer including end user, examine the prototype & provides the
feedback on additions or changes.
Revise and enhance the prototype: Using the feedback both the specifications &
prototype can be improved.
Advantages:
A visible working prototype helps customer to define the
requirements.
Can be used when customer is not sure about what he wants.
Faster way of finalizing the requirement.
Useful for new technologies.
Useful for product development.
4] Rapid application Development:-
RAD enables creation of fully functional software within very short time.
If the requirement are well understand & defines and the project scope is
constraint, the RAD process enables a development team to create a fully
functional system with in very short time period.
5] Iterative and Incremental Development Model:
The basic idea behind iterative enhancement is to develop software system
incrementally.
At each iteration, design modifications are made along with adding new
functional capabilities.
In an incremental development, the system is developed in different stages, with
each stage consisting of requirements, design, development & test phases. In
stage new functionality is added.
This type of development allows the user to see functional product very quickly
& allows the user to import what changes are included in subsequent releases.
6] Agile Model:
In agile model project is divided in to various sprints.
Each sprint contains highest priority requirements.
A time period of sprint 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.