Waterfall SDLC Flashcards
What are the 5 steps of the Waterfall Model?
Requirement Analysis, Design, Coding, Testing and Maintenance.
What is a Software Development Process?
A process which a developer follows from the inception of the idea for software, to it’s death e.g, that softwares life cycle.
What is the Waterfall Model?
The waterfall model is a SDLC that tries to apply a traditional engineering approach to software development. It helped replaced a ‘not planned in advance’ approach to developing software.
Why is it called the Waterfall Model?
It’s called the Waterfall Model because the implementation flows from one phase to another in a downward fashion.
How does the Waterfall Model work?
Each phase produces deliverable documents which can be analyzed, corrected and finally approved before starting the next phase.
What’s the Waterfalls benefits?
The waterfall process is easy to understand, explain, and easy to schedule.
What happens in the Requirements Analysis phase of the cycle?
Discover exactly what is required from the software in terms of functionalities, behaviour, performance and interfaces e.g., GUI’s and communication interface
What happens in the Design phase?
The software is fully designed before any coding.
How to code will be organised is decided e.g., the software architecture.
The main Data structures and Algorithms need to be decided.
The interfaces of the software need to be designed prior to implementation.
What happens during the coding phase?
The programmers have to implement what the design document says exactly.
Any deviation and your part of the code as a programmer may not work with your colleagues.
What happens during the Testing phase?
The software is tested for any defects (i.e, bugs) and the software is validated.
What happens in the maintenance phase?
Requests for change will come from users and these need to be analysed to establish the amount of work necessary to implement them.
Changes are batched together, this gives rise to new software.
Name three disadvantages to the Waterfall approach?
A problem of such a linear process is that software is only available for evaluation during its final phase.This is a big leap of faith as no customer feedback could be detrimental.
The waterfall model is not designed to cope with change, it is linear and lacks flexibility.
It fails to treat software development as a problem solving activity. It assumes all the requirements can be discovered and described in a single document.
When to use the Waterfall Model?
If the problem that the software has to tackle is well defined, well known and if the developers have already done a similar project successfully then using the waterfall model makes sense.