The Waterfall Model:
The Waterfall Model is a very popular
model to follow when undergoing systems analysis. It consists of 6 main steps
that allow for a well-structured, thorough analysis of current system, and
design of a newer model. The steps are as follows: definition, analysis,
design, implementation, testing and maintenance. The following is a short
description of each step.
1. Definition: This stage is where the
problem is fully outlined. A feasibility check will then be performed to see if
it is possible to improve the system firstly, then if it will be economically
and socially acceptable. As well as taking into account the costs of the
process itself, they must realise that the new system could potentially render
the jobs of some of their employees useless, warranting redundancy payments
which can also cost them a lot of money. A brief investigation also happens to
see roughly what needs to be done.
2. Analysis: This stage only proceeds if
the feasibility check from the previous step results in the recommendation of a
new system. More detailed research will then be carried out about the current
system; the analyst needs a full understanding of how exactly everything works
and what is done with all the data. This is not the end of the research as more
detail will be needed later on.
3. Design: To commence this step, a
system specification will be drawn out; this will detail all the features and
functions needed by the customer. The designers will then produce both a
logical and physical design, as well as a test plan.
4. Implementation: This is when the new
system is put into place. It is usually done one of three ways: direct, phased
or parallel. Direct implementation is when the new system is immediately
implemented – there is no changeover period. Phased implementation is when the
new system is implemented in small parts over time; and parallel implementation
is when the new system is run alongside the current, while continuing to test
5. Testing: The test plan will then be
run to ensure the system is functioning properly; If any errors are found, they
will be corrected. When the testing stage is completed, the system can then be
passed onto the users.
6. Maintenance: The final stage of the
Waterfall Model is the maintenance stage. This stage will continue throughout
the life of the new system. It involves regular maintenance where any newly
discovered problems are fixed and any new features can be added.
Advantages of the Waterfall Model:
is easy to use as each step is fairly self-explanatory;
phases are all separate- there is no overlap. This means each stage can have
the full attention of the team, reducing the likelihood of errors;
stage can have clear goals/deadlines set, helping the team to be more
time-efficient and meet deadlines easier; and
to the separate stages, the development process can be very structured,
allowing each step to be a task on its own.
Disadvantages of the Waterfall Model:
the initial requirements are wrong in any way, the final system will have those
flaws present, and this will be very difficult to change;
users are not very involved outside of the definition phase, so they can’t
point out any flaws in the systems as it is developed;
is very easy for the systems to overrun in terms of time and budget; and
product won’t be tested until the end of development, so any mistakes will be
very hard to detect until the end, making the initial maintenance longer.
Appropriate Uses of the Waterfall Model:
to the disadvantages listed previously, it is best to use this model when
working on smaller projects that can be completed in a shorter amount of time.
is also wise to only use this if the user is certain they have all of the
requirements/specifications ready at the definition phase, due to the
difficulty in changing these later on.
Prototyping is a commonly used model
for undergoing systems analysis and design. It can be used both as its own
model, or used to enhance other models. A prototype is a very early, working
example of what the final system will do. The most common types of prototypes
are mock-ups, and functional one. These can then either be disposable or
Mock-up: this only represents the
appearance of the system; it will not perform any functions.
Functional: this is the same as a mock-up, except it allows the user to also
store data and perform some actions.
Disposable: these are just used for testing, and are thrown away after use.
Evolutionary: these are updated over time and end up evolving into the final
1. Initial Requirements/Definition: The
essential user requirements are outlined in little detail; this is because the
more important details will be added in a later step.
2. Design: The design team will then use
the information given from the user in the previous step to create an initial
3. Prototyping: Computer-aided software
engineering tools will then be used to quickly create a prototype that will
perform the essential functions outlined by the user in the first step.
4. Evaluation: The user will then look
at and test the prototype to ensure it meets all the listed requirements. They
will then make a list of comments to provide clarification to the design team
on what needs to be changed/added.
5. Review and Update: The system is then
reworked, adding all of the missing features listed by the user in the previous
step. The method will then repeat from stage 2 to stage 5 until the user is
happy that there are no more additions to be made or problems to be fixed.
6. Development: This is when the final
product can begin to be created, based off the prototype.
7. Testing: The system will be tested by
the user to ensure everything is as they want, and any errors that are found
will be fixed.
8. Maintenance: As in the Waterfall
Model, maintenance will continue throughout the life of the product, ensuring
that any problems that arise are quickly fixed.
Advantages of the Prototyping Model:
heavily involves the user, meaning that they can help point out any problems
and should ensure that they are happy with the final product, do to their
to the repetition of steps 2-5, the system specifications will be more tailored
to the user’s needs;
cost is generally less due to the shorter time spent developing and coding etc
due to the use of the CASE tools; and
to the many different types of prototypes, the team will be able to pick the
ones that best suit the needs of this project specifically.
Disadvantages of the Prototyping
up-to-date documentation will have to be kept ensuring that the team knows
exactly what stage the prototype is at, meaning they can keep on top of what
they’ve done already, and what else they need to do;
users can get tired of repeating the same steps over again, potentially causing
them to rush the project, which will then result in more errors and just a
lower quality final product;
initial definition stage can cause this to be a slower process than other
models as not all requirements are specified initially, being left for the late
can be difficult to determine when a prototype should be tested further, or
discarded and replaced.
Appropriate Uses of the
Due to the repetition of stages, it is easy to
add in initial specifications that were forgotten or not known at the beginning
of the project, so this is a good model if not all requirements are known
This model should only be used if the end user
is available for regular consultation, if they’re not then it is going to be
very difficult to meet their requirements for the system.
Good for use when developing websites, as the
appearance will be constantly tweaked until the user is satisfied during the
repetitions of steps 2-5.
The Spiral Model is
well-known as a combination of different systems analysis and design models;
mostly the waterfall and evolutionary prototyping models.
Planning/Definition: The user will go through
the new system requirements in as much detail as possible. The design team will
often interview other users of the current system to learn as much about it as
Risk Analysis: Similar to the feasibility
checks from the Waterfall Model, risk analysis will determine if the risks of
the project outweigh the benefits; taking things like redundancy costs,
development cost overruns or operating-cost miscalculations.
Engineering: A prototype is produced based on
the initial requirements. This will be a very basic prototype that represents
the final product, but without some features.
Evaluation: The user looks at the prototype and
provides feedback based on what changes need to be made.
Steps 3 and 4 are then repeated until the user
is happy that the prototype accurately represents the final product outlined in
Advantages of the Spiral
Due to its similarities to both the Waterfall
and Prototype Models, it is good for larger and more complex products;
Thorough consideration of all risks makes the user
more aware of everything that could potentially go wrong; and
The constant interaction with the end user
allows for faster problem solving;
Disadvantages of the Spiral Model:
The risk assessment is very tedious and can
cause serious problems later on if not done correctly. This is due to the often
large and complex projects this is used for;
It is not advisable for smaller projects due to
the higher cost in comparison to other models; and
Similar to in the Prototyping Model, heavy
documentation will be required to keep track of everything.
Appropriate Uses of the Spiral Model:
It is good for larger projects;
It is a good model to use when the users are
unsure of their needs as it is easy to implement them later on; and
High risk projects when the requirements are