SE - SDLC Models - Lec 3
SE - SDLC Models - Lec 3
Prototyping Model
Iterative (incremental) Model
Rapid Application
Development (RAD) Model
Prototyping Model
The Prototyping Model is a system development life cycle (SDLC) model in which a
prototype (an early draft of a final system or product) is built, tested and then
reworked as necessary until an acceptable prototype is eventually achieved from
which the complete system or product can be developed.
A prototype serves as a throwaway model made to understand the requirements
of a project before design and coding begins. In essence, prototyping is a project
test run. It is commonly used in design a physical projects, a software projects that
require trial and error.
Here’s the general prototype industry process step-by-step:
▪ Requirement Gathering ▪ Engineer Product
▪ Quick Design ▪ Refining Prototype
▪ Building Prototype ▪ Customer Evaluation
Prototyping Model
Prototyping model is used when the customers do not know the exact project
requirements beforehand.
It uses multiple iterations or requirement , analysis , design.
After each iteration, the result is evaluated by the customer.
When the user is satisfied , the prototype code is brought up to the standards
needed for a final product.
One main idea behind prototyping model is for development of fast prototyping
and customer availability for feedback.
Developers respond to feedback and add additional parts as application
evolves into an acceptable product.
This is useful when requirements are changing rapidly.
Prototyping Model Processes
Prototyping Model
Strengths Weaknesses
Customers can see steady This model is costly.
progress. ❖ It is impossible to know how long it will take.
Easier and faster user and
❖ There is no way to know the number of
developer comprehension of new
iterations will be required.
system.
Insufficient analysis: A focus on a limited
It ensures a greater level of prototype can distract developers from
customer satisfaction and comfort. properly analyzing the complete project.
Shorter development process. There may increase the complexity of the
Substantial savings in system.
development resources (time).
There may be too much variation in
There is scope of refinement. requirements.
Iterative (incremental) Model
RAD model distributes the analysis, design, build and test phases into a series of short,
iterative development cycles.
Following are the various phases of the RAD Model:
Business Modelling : 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.
Data Modelling : The information gathered in the Business Modelling 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.
RAD Model Design
Process Modelling : 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.
Application Generation : The actual system is built and coding is done by using
automation tools to convert process and data models into actual prototypes.
Testing and Turnover : The overall testing time is reduced in the RAD model as the
prototypes are independently tested during every iteration. However, the data
flow and the interfaces between all the components need to be thoroughly tested
with complete test coverage. Since most of the programming components have
already been tested, it reduces the risk of any major issues.
RAD Model
Strengths Weaknesses
Changing requirements can be Dependency on highly skilled
accommodated. developers/designers.
Progress can be measured. High dependency on Modelling skills, thus, only
system that can be modularized can be built
Productivity with fewer people in a
using RAD.
short time.
Reduced development time. Inapplicable to cheaper projects.