0% found this document useful (0 votes)
44 views15 pages

SE - SDLC Models - Lec 3

The document discusses three classic SDLC models: the prototyping model, iterative model, and RAD model. The prototyping model uses prototypes to understand requirements before design. The iterative model develops the system through repeated cycles in smaller portions. The RAD model focuses on rapid prototyping and delivery through workshops and iterative testing.

Uploaded by

fatim369a
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views15 pages

SE - SDLC Models - Lec 3

The document discusses three classic SDLC models: the prototyping model, iterative model, and RAD model. The prototyping model uses prototypes to understand requirements before design. The iterative model develops the system through repeated cycles in smaller portions. The RAD model focuses on rapid prototyping and delivery through workshops and iterative testing.

Uploaded by

fatim369a
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Classic SDLC Models

DR. AMEEN ALI BAHOMAID


SDLC Models

 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

Iterative (incremental) Model starts with a simple implementation of a subset of the


software requirements and iteratively enhances the evolving versions until the full
system is implemented. At each iteration, design modifications are made and new
functional capabilities are added. The basic idea behind this method is to develop
a system through repeated cycles (iterative) and in smaller portions at a time
(incremental).
During software development, more than one iteration of the software
development cycle may be in progress at the same time.
In this incremental model, the whole requirement is divided into various builds.
During each iteration, the development module goes through the requirements,
design, implementation and testing phases. Each subsequent release of the
module adds function to the previous release. The process continues till the
complete system is ready as per the requirement.
Iterative (incremental) Model

The following illustration is a representation of the Iterative and Incremental model


Iterative (incremental) Model

The key to a successful use of an iterative software development lifecycle is


rigorous validation of requirements, and verification & testing of each version of
the software against those requirements within each cycle of the model. Iterative
model is better suited for large and mission-critical projects.
This model is most often used when:
 Requirements of the complete system are clearly defined and understood.
 Major requirements must be defined.
 There are some high-risk features and goals which may change in the future.
Iterative (incremental) Model
Strengths
 Results are obtained early and Weaknesses
periodically.  More resources may be required.
 Parallel development can be  Not suitable for smaller projects.
planned.
 Management complexity is more.
 Less costly to change the  End of project may not be known which is a
scope/requirements. risk.
 Issues, challenges and risks
 Highly skilled resources are required for risk
identified from each increment
analysis.
can be utilized/applied to the next
increment.  Projects progress is highly dependent upon
the risk analysis phase.
 Risk analysis is better.
 It supports changing requirements.
RAD Model

RAD (Rapid Application Development) Model is based on prototyping and


iterative development with no specific planning involved. RAD uses minimal
planning in favor of rapid prototyping. A prototype is a working model that is
functionally equivalent to a component of the product.
RAD focuses on gathering customer requirements through workshops or focus
groups, early testing of the prototypes by the customer using iterative concept,
reuse of the existing prototypes (components), continuous integration and rapid
delivery.
In the RAD model, the functional modules are developed in parallel as prototypes
and are integrated to make the complete product for faster product delivery. The
most important aspect for this model to be successful is to make sure that the
prototypes developed are reusable.
RAD Model Design

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

The following illustration describes the


RAD Model in detail.

The RAD model focuses on iterative


and incremental delivery of working
models to the customer.
RAD model can be applied
successfully to the projects in which
clear modularization is possible. If the
project cannot be broken into
modules, RAD may fail.
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.

 Increases reusability of  Management complexity is more.


components.  Requires user involvement throughout the life
cycle.
 Quick initial reviews occur, and
encourages customer feedback.  Suitable for project requiring shorter
development times.

You might also like