1 / 3100%
Waterfall Model and Prototype Model
software Engineering
___
Notes
Waterfall Model
The waterfall model, which was first put forth by W. W. Royce in 1970, describes how
software development proceeds step-by-step through the following phases:
requirements analysis,
design,
coding,
testing (validation),
implementation, and
maintenance
According to this basic process model, phases are organized in a linear order.
It works best for routine projects with clearly defined needs.
Validation and Verification
Verification:
Are we creating the product correctly?
Validation:
Is the product we're producing appropriate?
Documents generated using the waterfall model
Minimum number of papers required to be created in a waterfall model
requirements
project plan
system design
detailed design
test plan and test reports
final code, software manuals (such as installation, user, and other instructions),
and review reports
Advantages
Good tracking of progress because of distinct stages of development.
Deliverables and milestones are easily identifiable
The need that each step be finished before going on to the next helps with project
management and control.
Limitations
It is predicated on the idea that system requirements can be fixed before design work
even starts. This works well for automating the current manual system, for which all
specifications are known before any design work is done.
Hardware selection is typically required for freezing requirements. The hardware that was
built for a project may become outdated if it takes a long time to complete.
Prototype model
The prototype model aims to overcome the waterfall model's initial two drawbacks
Two types of prototyping exist :
Evolutionary
Throw away
The fundamental idea here is to build a temporary prototype that aids in understanding
the requirements rather than freezing them before design and coding.
The requirements that are currently known were used to build this prototype.
Prototype development undoubtedly involves design, coding, and testing.
However, these stages are not carried out in a very formal or comprehensive manner.
Prototyping allows the customer to experience the system firsthand and helps them better
grasp the needs of the intended system through interactions with the prototype.
The first step in prototyping is requirements collecting.
The developer and the customer meet, clarify the overarching goals, and pinpoint any
unclear areas
After that, a hastily constructed prototype that satisfies the known requirements is
created.
Users are permitted to utilize the prototype.
They offer comments such as
what should be included;
areas that need to be changed;
features that shouldn't be there;
After incorporating the necessary modifications into the prototype based on the feedback
received, clients are granted access to work on the updated version of the prototype.
The cycle is repeated until no modifications are needed, at which point the product is
developed and the last set of requirements is refined.
Prototypes should ideally act as a tool for determining requirements.
It works effectively for tasks when defining the requirements is challenging.
This strategy is highly effective in mitigating project risk.
problematic sections of the model for prototyping
Software quality and maintainability may be given less weight because the prototype
model places a higher priority on a quick and functional system prototype.
The developer may choose an operating system and algorithms that are not optimal in
order to quickly produce a workable prototype; later, he may forget to optimize them for
efficiency.
Why is prototyping more affordable?
Prototype development experience lowers the cost of subsequent product development
stages.
Requirements that are established following practical experience with the prototype are
typically more stable.
The final system generated will be better in line with the actual needs because the
developers and clients are participating in the system's refinement.
.
Students also viewed