Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
52 views

Software Engineering

The document discusses three software development models: 1. The Prototype Model involves building initial "throwaway" prototypes to understand requirements better before developing the actual system. 2. The RAD (Rapid Application Development) Model uses minimal planning and rapid prototyping of modular components to deliver systems faster. 3. The Incremental Model breaks a project into standalone modules, each developed through iterative cycles to build functionality incrementally until completion.

Uploaded by

Jaleed Masood
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views

Software Engineering

The document discusses three software development models: 1. The Prototype Model involves building initial "throwaway" prototypes to understand requirements better before developing the actual system. 2. The RAD (Rapid Application Development) Model uses minimal planning and rapid prototyping of modular components to deliver systems faster. 3. The Incremental Model breaks a project into standalone modules, each developed through iterative cycles to build functionality incrementally until completion.

Uploaded by

Jaleed Masood
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23

Software Engineering

Lecture 5
MUHAMMAD AHMAD

MAHMAD@CUISAHIWAL.EDU.PK

03212131444

CS FACULTY HALL, DURING OFFICE HOURS


Todays Lecture
Prototype Model
RAD Model
Incremental Model
Prototype Model
Prototype
A prototype is the original model, a sample on which to base
future designs
A prototype usually exhibits limited functional capabilities, low
reliability, and inefficient performance compared to the actual
software, because:
 A prototype is usually built using several shortcuts.
 The shortcuts might involve using inefficient, inaccurate, or dummy
functions.
A prototype usually turns out to be a very basic version of the
actual system.
Prototype Model
The basic idea is that instead of freezing the requirements before a
design or coding can proceed, a throwaway(disposable) prototype is
built to understand the requirements.
A prototype of the actual product is preferred in situations such as:
user requirements are not complete
technical issues are not clear
When to Use Prototype Model
Example 1: User requirements are not complete :
In any application software like billing in a retail shop, accounting in a
firm, etc the users of the software are not clear about the different
functionalities required.
Once they are provided with the prototype implementation, they
can try to use it and find out the missing functionalities.
When to Use Prototype Model
Example 2: Technical issues are not clear:
Suppose a project involves writing a compiler and the development
team has never written a compiler.
In such a case, the team can consider a simple language, try to build
a compiler in order to check the issues that arise in the process and
resolve them.
After successfully building a small compiler (prototype), they would
extend it to one that supports a complete language.
Prototyping

10/3/2019 8
Software Prototyping Types
Throwaway/Rapid Prototyping
 Once the actual requirements are understood, the prototype is discarded and the actual
system is developed with a much clear understanding of user requirements.
Evolutionary Prototyping
 Using evolutionary prototyping only well understood requirements are included in the
prototype and the requirements are added as and when they are understood.
Incremental Prototyping
 It 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
 It breaks down web development into three phases, each one based on the preceding
one. 1st phase is a static prototype that consists mainly of HTML pages. In 2nd phase, the
screens are programmed. In 3rd phase the services are implemented.
Advantages and Disadvantages of
Prototype Model
Advantages of Prototype model Disadvantages of Prototype model
Users are actively involved in the development Leads to implementing and then repairing way
of building systems.
Since in this methodology a working model of
the system is provided, the users get a better Practically, this methodology may increase the
understanding of the system being developed. complexity of the system as scope of the
Errors can be detected much earlier. system may expand beyond original plans.

Quicker user feedback is available leading to Incomplete application may cause application
better solutions. not to be used as the full system was designed

Missing functionality can be identified easily


Confusing or difficult functions can be identified
Requirements validation, Quick implementation
of, incomplete, but functional, application.
Rapid Application Development (RAD)
Model
Rapid Application Development (RAD) Model
A software development methodology that uses minimal planning in
favor of rapid prototyping
In RAD model the functional modules are developed in parallel as
prototypes and are integrated to make the complete product for faster
product delivery.
RAD projects follow iterative and incremental model and have small
teams comprising of developers, domain experts, customer
representatives and 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 Model
RAD Model
Business Model
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.
Data Model
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.
RAD 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.
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 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.
When to Use RAD Model
RAD should be used when there is a need to create a system that
can be modularized in 2-3 months of time
It should be used if there’s high availability of designers for
modeling and the budget is high enough to afford their cost along
with the cost of automated code generating tools.
RAD SDLC model should be chosen only if resources with high
business knowledge are available and there is a need to produce the
system in a short span of time.
RAD Model
Advantages Disadvantages
Reduced development time Bad effect on product if the users cannot
be involved consistently
End user involvement throughout the
life cycle It can require more people
Iteration time can be short with use It requires a system that can be properly
of powerful RAD tools modularized

If project team is familiar with the Technical risks are high.
problem domain thus can deliver full Inapplicable to cheaper projects as cost is
product in a short time period high
Requires user involvement throughout life
cycle
Incremental Model

10/3/2019 18
Incremental Model
Requirements are broken down into multiple standalone modules of
software development cycle.
These cycles are further divided into smaller and more manageable
iterations.
Finally developed modules are integrated with other modules.
During development of each module, waterfall model is followed for
each module development separately.
And each subsequent release of the system adds function to the
previous release until all designed functionality has been implemented.
Incremental
When to use Incremental models?
 Requirements of the system are clearly understood
When demand for early release of product arises
When team resources are not very well skilled or trained
When high-risk features and goals are involved
Such model is more in use for web application and product based
companies
Advantages and Disadvantages of
Incremental Model
Advantages Disadvantages
Generates working software quickly and Needs good planning and design.
early during the software life cycle.
Needs a clear and complete definition of
This model is more flexible – less costly to the whole system before it can be broken
change scope and requirements. down and built incrementally.
It is easier to test and debug during a Total cost is higher than waterfall.
smaller iteration.
In this model customer can respond to
each built.
Easier to manage risk because risky pieces
are identified and handled during
iteration.
Recap
Prototype Model
RAD Model
Incremental Model

You might also like