Software Engineering
Software Engineering
Lecture 5
MUHAMMAD AHMAD
MAHMAD@CUISAHIWAL.EDU.PK
03212131444
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
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