Tuesday, 6 October 2015

Task 2
What is a waterfall model (SSADM model used in system analysis?)
The waterfall model is a design process used in the software development process to help systems analysts and their team analyse, design and develop software. The waterfall model is a design process where each phase must be finished before you can go to the next phase.  The progress of the project is seen in the diagram below, each stage flows into the next one, like a waterfall. 
Example of stages in Waterfall Model
Figure 1 Waterfall Life cycle
 Ref: Admin. (2015). what is Waterfall Model in software testing and what are advantages and disadvantages of Waterfall Model. Available: http://testingfreak.com/waterfall-model-software-testing-advantages-disadvantages-waterfall-model/. Last accessed 5th 0ct 2015.





Why is it used?
The waterfall Model shows the software development process in a sequence. This means that any step in the development process begins only if the previous phase is complete. In the waterfall model phases do not overlap.  Only one phase can be worked on at a time.
When to use the waterfall model 
The waterfall model should only be used for projects where:
·         All the requirements are very well known.
·         Product definition is stable and will not change over the time of the project.
·         The technology being used is understood and can be trusted due to having good experience in using the technology.
·         There are no ambiguous requirements so everyone on the team and the client understands the requirements in the same way.
·         There are enough resources available to complete the project and people on the team have the required expertise to complete it.
·         The project is short.  If it was long the requirements might change.

The following are the main stages of the Waterfall Model:
·         Requirement Gathering and analysis: requirements of the system to be developed are captured in this phase and analysed so the team have a good understanding of the existing system and what is required from the new system.  A Requirements Specification report is produced at this stage.

·         System Design: The requirement specifications from the previous stage is used in this stage to help the designers design a new system. The system design stage helps in specifying hardware and system requirements.  This stage will produce a Design document which is passed to the next stage.

·         Implementation: The design document is used in this stage to develop the system. Coding is documented at this stage.

·         Testing: All the units developed in the implementation phase are tested to make sure all parts work together and any faults and failures are corrected. Test scripts are documented at this stage.

·         Deployment of system: Once the functional and non-functional testing is done, the product is installed in the customer environment or released into the market.

·         Maintenance: There are issues which come up in the client environment. The client will need to get these fixed so some members of the project team will be responsible for correcting these to make sure it works properly for the client.  After a while these errors will decrease and there will not be as much need for maintenance.

Advantages and disadvantages of using this model
·         Easy to understand and use because only one stage is worked one at a time.
·         Easy to manage because the team are only working on 1 stage
·         Phases are completed one step at a time
·         Works perfectly with small projects where requirements are easy to understand
·         Stages are clear and defined
·         Process and results are well documented
Disadvantages
·         High amount of risk as you cannot change requirements once you go past this stage.  If there are any errors or changes in a stage you will have to start again.
·         Not a good model for a long projects as requirements will probably change over time.
·         Difficult to measure progress
·         Cannot accommodate changing requirements.
·         Customer only has a small time to preview the system at the very end.

Why is it used?
The waterfall Model shows the software development process in a linear sequential flow, it is also called a linear-sequential life cycle model. This means that any step in the development process begins only if the previous phase is complete. In waterfall model phases do not overlap.

When to use the waterfall model 
When you know all the requirements very well.
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.

No comments:

Post a Comment