SDLC Models
SDLC Models
Yogi Berra
Learning Outcomes
By the end of this unit students will be able to:
▫ Throwaway/Rapid Prototyping
Throwaway prototyping is also called as rapid or
close ended prototyping.
This type uses very little efforts with minimum
requirement analysis to build a prototype.
Once the actual requirements are understood, the
prototype is discarded and the actual system is
developed with a much clear understanding of user
requirements.
Prototyping – Types (cont’d)
▫ Evolutionary Prototyping
Evolutionary prototyping also called as breadboard
prototyping, is based on building actual functional
prototypes with minimal functionality in the beginning.
The prototype developed forms the heart of the future
prototypes on top of which the entire system is built.
By using evolutionary prototyping, the well-understood
requirements are included in the prototype and the
requirements are added as and when they are
understood.
Prototyping – Types (cont’d)
▫ Incremental Prototyping
Refers to building multiple functional prototypes of the
various sub-systems and then integrating all the available
prototypes to form a complete system.
▫ Extreme Prototyping
Used in the web development domain. It consists of three
sequential phases.
First, a basic prototype with all the existing pages is
presented in the HTML format.
Then the data processing is simulated using a prototype
services layer.
Finally, the services are implemented and integrated to the
final prototype.
Prototyping Model Strengths
• The customers get to see the partial product early in the
life cycle. This ensures a greater level of customer
satisfaction and comfort.
• New requirements can be easily accommodated as there
is scope for refinement.
• Missing functionalities can be easily figured out.
• Errors can be detected much earlier thereby saving a lot
of effort and cost, besides enhancing the quality of the
software.
• The developed prototype can be reused by the developer
for more complicated projects in the future.
• Flexibility in design.
• It places more effort in creating the actual software
instead of concentrating on documentation.
Prototyping Model Weaknesses
• Costly w.r.t time as well as money.
• There may be too much variation in requirements each
time the prototype is evaluated by the customer.
• Poor Documentation due to continuously changing
customer requirements.
• It is very difficult for the developers to accommodate all
the changes demanded by the customer.
• There is uncertainty in determining the number of
iterations that would be required before the prototype is
finally accepted by the customer.
• After seeing an early prototype, the customers
sometimes demand the actual product to be delivered
soon.
• The customer might lose interest in the product if he/she
is not satisfied with the initial prototype.
Prototyping – When to Use
• Where project requirement is not fully known or
are unstable
• Requirements are changing quickly.
• Used for developing user interfaces, and systems
with complex algorithms and interfaces.
Rapid Application Development(RAD)
Model
• Rapid application development is a software
development methodology that uses minimal
planning in favor of rapid prototyping.
• In RAD, the functional modules are developed in
parallel as prototypes and are integrated to make
the complete product for faster product delivery.
• Since there is no detailed preplanning, it makes
it easier to incorporate the changes within the
development process.
RAD Model
• Based on prototyping and iterative development
with no specific planning involved.
• The process of writing the software itself
involves the planning required for developing
the product.
• It focuses on gathering customer requirements
through
▫ workshops or focus groups,
▫ early testing of the prototypes by the customer
▫ reuse of the existing prototypes (components)
▫ continuous integration and rapid delivery.
RAD Model (cont’d)
• RAD has small teams comprising of
▫ developers,
▫ domain experts,
▫ customer representatives
▫ other IT resources
working progressively on their component or
prototype.
• The most important aspect for this model to be
successful is to make sure that the prototypes
developed are reusable.
RAD Phases
RAD Phases
▫ Business Modeling
The business model for the product under
development is designed in terms of flow of
information and the distribution of information
between various business channels.
A complete business analysis is performed to find
the vital information for business
how it can be obtained,
how and when is the information processed and
what are the factors driving successful flow of
information.
RAD Phases (cont’d)
▫ Data Modeling
The information gathered in the Business Modeling
phase is reviewed and analyzed to form sets of data
objects vital for the business.
The attributes of all data sets is identified and defined.
The relation between these data objects are established
and defined in detail in relevance to the business model.
▫ Process Modeling
The data object sets defined in the Data Modeling phase
are converted to establish the business information flow
needed to achieve specific business objectives as per the
business model.
The process model for any changes or enhancements to
the data object sets is defined in this phase. Process
descriptions for adding, deleting, retrieving or modifying
a data object are given.
RAD Strengths
• Adaptable to changes as it incorporates short
development cycles (i.e. users see the RAD
product quickly)
• Reduced cycle time and improved productivity
• Time-box approach mitigates cost and schedule
risk
• Customer involved throughout the complete cycle
minimizes risk of not achieving customer
satisfaction and business needs
• Focus moves from documentation to code
(WYSIWYG)
• Uses modeling concepts to capture information
about business, data, and processes.
RAD Weaknesses
• Risk of never achieving closure
• Requires a system that can be modularized
• Developers and customers must be committed to
rapid-fire activities in an abbreviated time
frame.
When to use RAD
• Reasonably well-known requirements
• User involved throughout the life cycle
• Project can be time-boxed
• Functionality delivered in increments
• High performance not required
• Low technical risks
• System can be modularized
Spiral Model
• The spiral model combines the idea of iterative
development with the systematic, controlled
aspects of the waterfall model(sequential linear
development model) with a very high emphasis
on risk analysis.
• risk-driven software development process model
• It allows incremental releases of the product or
incremental refinement through each iteration
around the spiral.
Spiral Phases
• Planning phase
• Risk analysis phase
• Engineering phase
• Evaluation phase.
Output driven methodology;
Each circle produces a prototype
Pictorial Representation Of SDLC Spiral Model
better than the previous one.
Activities performed in the spiral model
Spiral Model – Steps