0% found this document useful (0 votes)
18 views14 pages

Evolutionary Process Models

Uploaded by

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

Evolutionary Process Models

Uploaded by

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

Evolutionary Process model

• While developing the software systems , it is often needed to make


modifications in earlier development phases or the task sets.

• If the development process is linear or in a straight line (from requirement


gathering to deployment) the end product will be unrealistic.in such cases
iterative approach needs to be adopted.

• The evolutionary model is iterative model.


Prototype
Prototyping Model
• Prototyping Model is a software development model in which prototype
is built, tested, and reworked until an acceptable prototype is achieved.
It also creates base to produce the final system or software.
• It works best in scenarios where the project's requirements are not
known in detail. It is an iterative, trial and error method which takes place
between developer and client.
• In waterfall model working model is
not available until late .
• Alternative is developing working
prototype of the software instead of
developing the actual software.
• The working software is developed as
per current available requirements.
• Prototype developed will have a
limited functional capabilities , low
reliability , and untested
performance ( usually low)
Step 1: Requirements gathering and analysis

• A prototyping model starts with requirement analysis. In this phase, the requirements of the system

are defined in detail. During the process, the users of the system are interviewed to know what is

their expectation from the system.

Step 2: Quick design

• The second phase is a preliminary design or a quick design. In this stage, a simple design of the

system is created. However, it is not a complete design. It gives a brief idea of the system to the user.

The quick design helps in developing the prototype.

Step 3: Build a Prototype

• In this phase, an actual prototype is designed based on the information gathered from quick design.
Step 4: Initial user evaluation

• In this stage, the proposed system is presented to the client for an initial evaluation. It helps to find out the strength and

weakness of the working model. Comment and suggestion are collected from the customer and provided to the developer.

Step 5: Refining prototype

• If the user is not happy with the current prototype, you need to refine the prototype according to the user's feedback and

suggestions.

• This phase will not over until all the requirements specified by the user are met. Once the user is satisfied with the

developed prototype, a final system is developed based on the approved final prototype.

Step 6: Implement Product and Maintain

• Once the final system is developed based on the final prototype, it is thoroughly tested and deployed to production. The

system undergoes routine maintenance for minimizing downtime and prevent large-scale failures.
Types of Prototyping Models
Four types of Prototyping models are:
1.Rapid Throwaway prototypes
2.Evolutionary prototype
3.Incremental prototype
4.Extreme prototype
1.Rapid Throwaway Prototype
• Rapid throwaway is based on the preliminary requirement. It is quickly
developed to show how the requirement will look visually. The customer's
feedback helps drives changes to the requirement, and the prototype is again
created until the requirement is baselined.
• In this method, a developed prototype will be discarded and will not be a
part of the ultimately accepted prototype. This technique is useful for
exploring ideas and getting instant feedback for customer requirements.
2.Evolutionary Prototyping
• Here, the prototype developed is incrementally refined based on customer's feedback
until it is finally accepted. It helps you to save time as well as effort. That's because
developing a prototype from scratch for every interaction of the process can sometimes
be very frustrating.
• This model is helpful for a project which uses a new technology that is not well
understood. It is also used for a complex project where every functionality must be
checked once.
• It is helpful when the requirement is not stable or not understood clearly at the
initial stage.
3.Incremental Prototyping

• In incremental Prototyping, the final product is decimated into different small prototypes and developed
individually. Eventually, the different prototypes are merged into a single product. This method is helpful to
reduce the feedback time between the user and the application development team.

• In an incremental prototyping model, product features are added into each of several prototypes. Typically
development starts with the external features and user interface, and then adds features as prototypes are
developed. Requirements and Architectural Design can be done up front and then each prototype developed as the
project progresses. Customer release doesn't happen until all the planned features have been added.
4.Extreme Prototyping:
Extreme Prototyping is an architectural process for developing applications,
especially web applications, in terms of increasingly functional prototypes. At a
high level, it breaks down web development into three distinct phases. The first
phase is the static prototype, consisting of HTML pages and possibly a logical
data model supporting those pages. The second phase is a coding process in your
chosen web framework whereby the screens are fully functional using a
simulated services layer. The third phase is where the services are implemented
• Extreme prototyping method is mostly used for web development.
It is consists of three sequential phases.
1.Basic prototype with all the existing page is present in the HTML format.
2.You can simulate data process using a prototype services layer.
3.The services are implemented and integrated into the final prototype.
Best practices of Prototyping
Here, are a few things which you should watch for during the prototyping process:
• You should use Prototyping when the requirements are unclear
• It is important to perform planned and controlled Prototyping.
• Regular meetings are vital to keep the project on time and avoid costly delays.
• The users and the designers should be aware of the prototyping issues and pitfalls.
• At a very early stage, you need to approve a prototype and only then allow the team
to move to the next step.
• In software prototyping method, you should never be afraid to change earlier
decisions if new ideas need to be deployed.
• You should select the appropriate step size for each version.
• Implement important features early on so that if you run out of the time, you still
have a worthwhile system
Advantages of the Prototyping Model
• Here, are important pros/benefits of using Prototyping models:
• Users are actively involved in development. Therefore, errors can be detected in the initial stage of the software
development process.
• Missing functionality can be identified, which helps to reduce the risk of failure as Prototyping is also considered as a
risk reduction activity.
• Helps team member to communicate effectively
• Customer satisfaction exists because the customer can feel the product at a very early stage.
• There will be hardly any chance of software rejection.
• Quicker user feedback helps you to achieve better software development solutions.
• Allows the client to compare if the software code matches the software specification.
• It helps you to find out the missing functionality in the system.
• It also identifies the complex or difficult functions.
• Encourages innovation and flexible designing.
• It is a straightforward model, so it is easy to understand.
• No need for specialized experts to build the model
• The prototype serves as a basis for deriving a system specification.
• The prototype helps to gain a better understanding of the customer's needs.
• Prototypes can be changed and even discarded.
• A prototype also serves as the basis for operational specifications.
Drawbacks of prototyping
1.In the first version itself , customer often wants “few fixes” rather
than rebuilding of the system whereas rebuilding of new system
maintains high level of quality.

2.The first version may have some compromises.

3.Sometimes developers may make implementation compromises to


get prototype working quickly. Later on developer may become
comfortable with compromises and forget why they are inappropriate.

You might also like