The document compares the waterfall model and prototype model of software development. The waterfall model is a sequential process with distinct phases from conception to maintenance. It is simple but inflexible. The prototype model builds throwaway prototypes to understand requirements, allowing for user feedback and flexibility but potentially increasing complexity. Each model suits different types of projects based on requirements certainty, resources, and need for user interaction.
2. WHAT ARE THE SOFTWARE DEVELOPMENT
MODELS?
• The software development models are the various processes or methodologies that
are being selected for the development of the project depending on the project’s aims
and goals. There are many development life cycle models that have been developed
in order to achieve different required objectives. The models specify the various
stages of the process and the order in which they are carried out.
• The selection of model has very high impact on the testing that is carried out. It will
define the what, where and when of our planned testing, influence regression testing
and largely determines which test techniques to use.
- Shubham Agrawal
3. WATERFALL MODEL
• The waterfall model is a sequential (non-iterative) design process, used in software
development processes, in which progress is seen as flowing steadily downwards
(like a waterfall) through the phases of conception, initiation, analysis, design,
construction, testing, production/implementation and maintenance.
- Shubham Agrawal
5. ADVANTAGES OF WATERFALL MODEL:
• This model is simple and easy to understand and use.
• It is easy to manage due to the rigidity of the model – each phase has specific
deliverables and a review process.
• In this model phases are processed and completed one at a time. Phases do not
overlap.
• Waterfall model works well for smaller projects where requirements are very well
understood.
- Shubham Agrawal
6. DISADVANTAGES OF WATERFALL MODEL:
• Once an application is in the testing stage, it is very difficult to go back and change
something that was not well-thought out in the concept stage.
• No working software is produced until late during the life cycle.
• High amounts of risk and uncertainty.
• Not a good model for complex and object-oriented projects.
• Poor model for long and ongoing projects.
• Not suitable for the projects where requirements are at a moderate to high risk of
changing.
- Shubham Agrawal
7. WHEN TO USE THE WATERFALL MODEL:
• This model is used only when the requirements are very well known, clear and fixed.
• Product definition is stable.
• Technology is understood.
• There are no ambiguous requirements
• Ample resources with required expertise are available freely
• The project is short.
- Shubham Agrawal
8. PROTOTYPE MODEL
• e basic idea in Prototype model is that instead of freezing the requirements before a
design or coding can proceed, a throwaway prototype is built to understand the
requirements. This prototype is developed based on the currently known
requirements. Prototype model is a software development model. By using this
prototype, the client can get an “actual feel” of the system, since the interactions
with prototype can enable the client to better understand the requirements of the
desired system. Prototyping is an attractive idea for complicated and large systems
for which there is no manual process or existing system to help determining the
requirements. The prototype are usually not complete systems and many of the
details are not built in the prototype. The goal is to provide a system with overall
functionality.
- Shubham Agrawal
10. ADVANTAGES OF PROTOTYPE MODEL:
• Users are actively involved in the development
• Since in this methodology a working model of the system is provided, the users get a
better understanding of the system being developed.
• Errors can be detected much earlier.
• Quicker user feedback is available leading to better solutions.
• Missing functionality can be identified easily
• Confusing or difficult functions can be identified
Requirements validation, Quick implementation of, incomplete, but
functional, application.
- Shubham Agrawal
11. DISADVANTAGES OF PROTOTYPE MODEL:
• Leads to implementing and then repairing way of building systems.
• Practically, this methodology may increase the complexity of the system as scope of
the system may expand beyond original plans.
• Incomplete application may cause application not to be used as the
full system was designed
Incomplete or inadequate problem analysis.
- Shubham Agrawal
12. WHEN TO USE PROTOTYPE MODEL:
• Prototype model should be used when the desired system needs to have a lot of
interaction with the end users.
• Typically, online systems, web interfaces have a very high amount of interaction
with end users, are best suited for Prototype model. It might take a while for a
system to be built that allows ease of use and needs minimal training for the end
user.
• Prototyping ensures that the end users constantly work with the system and provide
a feedback which is incorporated in the prototype to result in a useable system. They
are excellent for designing good human computer interface systems.
- Shubham Agrawal