2. CONTENT:
WHAT IS SOFTWARE LIFE CYCLE MODELS?
THE WATERFALL MODEL.
THE RAPID APPLICATION DEVELOPMENT(RAD) MODEL.
PROTOTYPING MODEL.
SPIRAL MODEL.
4. What is software life cycle models ?
A framework that describes the activities performed at each stage of a software
development project.
The software life cycle typically includes a requirement phase, design phase,
implementation phase, test phase, installation and Check out phase, operation
and maintenance phase and sometimes retirement phase.
A software life cycle model is a particular abstraction that represents a software
life cycle and sometimes is often a called a software development life cycle
(SDLC).
Software life cycle models describe various phases of the software cycle and
the order in which those phases are executed. There are tons of models, and
many companies adopt their own, but all have very similar patterns.
5. Some of the models as follows.
The Water Fall Model.
The Rapid Application Development (RAD) Model.
Prototyping Model.
Spiral Model.
7. Waterfall model
Waterfall approach was first SDLC model to be used widely in software
Engineering to ensure Success of the Project.
In “The Waterfall” approach, the whole process of software
development is divided into separate phases.
The phases always occur in this order and do not overlap and the
developer must complete each phase before the next phase begins.
This model is named “Waterfall Model”, because its diagrammatic
representation resembles a cascade of Waterfalls.
8. PHASES:
1.Requirement and Specification: The goal of this phase is to understand the exact
requirements of the customer and to document them properly. This activity is usually
executed with the customer, The requirements describe the “what” of a system , not
the “how”.
2.Design and Specification: The goal of this phase is to transform the requirement
specification into a structure that is suitable for implementation in some
programming language. This work is documented and known as software design
description(SDD).
3.Implementation : In this phase design is implemented. If the SDD is complete, the
implementation or coding phase proceeds smoothly, Because all the information
needed by the software developers is contained in the SDD.
4.Integration & System testing: This is very important phase, because after the
implementation of software, developer will test all the facts in software and purpose
of unit testing is to determine that each independent module is correctly
implemented.
5.Operation & maintenance: Software maintenance is a task that every development
group has to face, Working software is not available until relatively late in the
process, thus delaying the discovery of serious errors. It is also does not incorporate
any kind of risk assessment.
9. Advantages:
Simple and easy to use.
Easy to manage due to the rigidity of the model-each phase has specific
deliverables and a review process.
Phases are processed and completed one at a time.
Work well for smaller projects where requirements are very well stable.
Disadvantages:
It is difficult to respond to changing customer requirements.
Adjusting scope during the life cycle can kill a project.
High amounts of risk and uncertainty..
Poor model for long term projects.
11. RAD model is similar to Waterfall model , In RAD, Model development should
be done in specified time.
RAD model is suitable for the small project where all the requirements are
gathered before starting development of the project and no any concrete
plan required.
Developers moves faster in RAD model with minimum errors RAD model
follows the incremental delivery of the modules.
The main goal of RAD model is to make the reusability of the developer
components.
In this model, quick initial views about the product are possible due to
delivery of rapid prototype.
Rapid action development (RAD) Model.
12. PHASES: There are four phases in this model.
Requirements planning: In this phase we are captured the requirements
and established the workshop utilized structured discussion of business
problems. Only issue is the active involvement of users for understanding
the project.
User description: In this phase joint the team of developers and
understand & review the requirements. And the team may use automated
tools to capture information from the users.
Construction phase: This phase combines the detailed design , coding and
testing phase of waterfall model, then we release the product to
customer.( “DO UNTILL DONE”)
Cut over phase: This phase incorporates acceptance testing by the users,
installation of the system, and user training.
13. Advantages:
High skilled resources required.
On each developer phase client’s feedback required.
Automated code generation is very costly.
Difficult to manage.
Not a good process for long and big term project.
Fast application and delivery.
Least resources and testing are required.
Very flexible if any changes are required.
Cost effective.
Good for small projects.
Disadvantages:
15. PROTOTYPING MODEL:
In this model, a prototype (an early approximation of a final system or
product) is built, tested, and then reworked as necessary until an acceptable
prototype is finally achieved from which the complete system or product can
now be developed.
The prototype may be a usable program,but it is not suitable as the final
software product.
The developers should develop prototype as early as possible to speed up the
software development process.
After the finalization of software requirement and specification document,
the prototype is discared and actual system is then developed using the
waterfall approach.
Prototyping is an attractive idea for complicated and large systems for which
there is no manual process or existing system to help determining the
requirements.
16. Advantages:
Users are actively involved in the development
Errors can be detected much earlier.
Quicker user feedback is available leading to better solutions.
Missing functionality can be identified easily.
Confusing or difficult functions can be identified.
Disadvantages:
Leads to implementing and then repairing way of building systems.
Practically, this methodology may increase the complexity of the system as
scope of the system may expand beyond original plans.
Incomplete application may cause application not to be used as the
full system was designed
Incomplete or inadequate problem analysis.
17. When to use Prototype model:
Prototype model should be used when the desired system needs to
have a lot of interaction with the end users.
Typically, online systems, web interfaces have a very high amount of
interaction with end users, are best suited for Prototype model. It
might take a while for a system to be built that allows ease of use and
needs minimal training for the end user.
Prototyping ensures that the end users constantly work with the
system and provide a feedback which is incorporated in the prototype
to result in a useable system. They are excellent for designing good
human computer interface systems.
19. 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.
Planning Phase: Requirements are gathered during the planning phase.
Requirements like ‘BRS’ that is ‘Bussiness Requirement Specifications’ and ‘SRS’ that
is ‘System Requirement specifications’.
Risk Analysis: In the risk analysis phase, a process is undertaken to identify risk and
alternate solutions. A prototype is produced at the end of the risk analysis phase. If
any risk is found during the risk analysis then alternate solutions are suggested and
implemented.
Evaluation phase: This phase allows the customer to evaluate the output of the
project to date before the project continues to the next spiral.
20. Advantages:
High amount of risk analysis.
Risks are explicitly assessed and resolved throughout the process Focus on
early error detection and design flaws.
Good for large and mission-critical projects.
Software is produced early in the software life cycle.
DISADvantages:
Time spent for evaluating risks too large for small or low- risk projects.
Time spent planning, resetting objectives, doing risk analysis and prototyping
may be excessive.
The model is complex.
Risk assessment expertise is required.
Developers must be reassigned during non-development phase activities.
21. When creation of a prototype is appropriate.
When costs and risk evaluation is important.
For medium to high-risk projects.
Long-term project commitment unwise because of
potential changes to economic priorities.
Users are unsure of their needs.
Requirements are complex.
Significant changes are expected (research and
exploration).
When to use SpiralModel: