Post 1 (Waterfall Model) : Group 1
WATERFALL MODEL
The waterfall model is a
linear, sequential approach to the software development life cycle (SDLC) that is popular in software engineering and product development. The waterfall model emphasizes a logical progression
of steps. Similar to the direction water flows over the edge of a cliff,
distinct endpoints or goals are set for each phase of development and cannot be
revisited after completion. The term was first introduced in a paper published
in 1970 by Dr. Winston W. Royce and continues to be used in applications of
industrial design.
The waterfall methodology is
composed of seven non-overlapping stages :
1.
Requirements:
Potential requirements, deadlines and guidelines for the project are
analyzed and placed into a functional
specification. This stage
handles the defining and planning of the project without mentioning specific
processes.
2.
Analysis: The
system specifications are analyzed to generate product models and business logic that will guide production. This
is also when financial and technical resources are audited for feasibility.
- Design: A design
specification document is created to outline technical design requirements
such as programming language, hardware, data
sources, architecture and
services.
- Coding/Implementation:
The source code is developed
using the models, logic and requirements designated in the prior
stages. Typically, the system is designed in smaller components, or units,
before being implemented together.
- Testing: This is when quality
assurance, unit, system and beta tests take place to report issues that may need
to be resolved. This may cause a forced repeat of the coding stage
for debugging. If
the system passes the tests, the waterfall continues forward.
- Operation/Deployment: The
product or application is deemed fully functional and is deployed to a
live environment.
- Maintenance: Corrective, adaptive and perfective maintenance is carried out indefinitely to improve, update and enhance the final product. This could include releasing patch updates or releasing new versions.
Advantages of the waterfall model :
·
Upfront
documentation and planning stages allow for large or shifting teams to remain
informed and move towards a common goal.
·
Forces structured disciplined
organization.
·
Is simple to
understand, follow and arrange tasks.
·
Facilitates
departmentalization and managerial control based on schedule or deadlines.
·
Reinforces good
coding habits to define before design and then code.
·
Allows for early
design or specification changes to be made easily.
·
Clearly defines
milestones and deadlines.
Disadvantages of the waterfall model :
·
Design is not
adaptive; often when a flaw is found, the entire process needs to start over.
·
Ignores the
potential to receive mid-process user or client feedback and make changes based on results.
·
Delays testing
until the end of the development life cycle.
·
Reduces efficiency
by not allowing processes to overlap.
·
No working product
is available until the later stages of the life cycle.
Comments
Post a Comment