Τι είναι το μοντέλο καταρράκτη;
Το WATERFALL MODEL είναι ένα διαδοχικό μοντέλο που χωρίζει την ανάπτυξη λογισμικού σε προκαθορισμένες φάσεις. Κάθε φάση πρέπει να ολοκληρωθεί πριν ξεκινήσει η επόμενη φάση χωρίς αλληλεπικάλυψη μεταξύ των φάσεων. Κάθε φάση έχει σχεδιαστεί για την εκτέλεση συγκεκριμένης δραστηριότητας κατά τη φάση SDLC. Παρουσιάστηκε το 1970 από τον Winston Royce.
Διαφορετικές φάσεις μοντέλου καταρράκτη στη μηχανική λογισμικού
Διαφορετικές φάσεις | Δραστηριότητες που εκτελούνται σε κάθε στάδιο |
Στάδιο συγκέντρωσης απαιτήσεων |
- Κατά τη διάρκεια αυτής της φάσης, συγκεντρώνονται λεπτομερείς απαιτήσεις του συστήματος λογισμικού που θα αναπτυχθεί από τον πελάτη
|
Στάδιο σχεδιασμού |
- Σχεδιάστε τη γλώσσα προγραμματισμού, για παράδειγμα Java, PHP, .net
- ή βάση δεδομένων όπως Oracle, MySQL κ.λπ.
- Ή άλλες τεχνικές λεπτομέρειες υψηλού επιπέδου του έργου
|
Χτισμένο Στάδιο |
- Μετά το στάδιο του σχεδιασμού, είναι κατασκευασμένο στάδιο, αυτό δεν είναι παρά κωδικοποίηση του λογισμικού
|
Στάδιο δοκιμής |
- Σε αυτήν τη φάση, ελέγχετε το λογισμικό για να επαληθεύσετε ότι έχει κατασκευαστεί σύμφωνα με τις προδιαγραφές που δίνονται από τον πελάτη.
|
Στάδιο ανάπτυξης |
- Αναπτύξτε την εφαρμογή στο αντίστοιχο περιβάλλον
|
Στάδιο συντήρησης |
- Μόλις το σύστημά σας είναι έτοιμο για χρήση, ενδέχεται αργότερα να απαιτήσετε αλλαγή του κωδικού σύμφωνα με το αίτημα του πελάτη
|
Πότε να χρησιμοποιήσετε το SDLC Waterfall Model
Το μοντέλο καταρράκτη μπορεί να χρησιμοποιηθεί όταν
- Οι απαιτήσεις δεν αλλάζουν συχνά
- Η εφαρμογή δεν είναι περίπλοκη και μεγάλη
- Το έργο είναι σύντομο
- Η απαίτηση είναι σαφής
- Το περιβάλλον είναι σταθερό
- Η τεχνολογία και τα εργαλεία που χρησιμοποιούνται δεν είναι δυναμικά και είναι σταθερά
- Οι πόροι είναι διαθέσιμοι και εκπαιδευμένοι
Πλεονεκτήματα και μειονεκτήματα του Waterfall-Model
Πλεονεκτήματα | Πλεονεκτήματα |
- Πριν από την επόμενη φάση ανάπτυξης, κάθε φάση πρέπει να ολοκληρωθεί
|
- Το σφάλμα μπορεί να διορθωθεί μόνο κατά τη διάρκεια της φάσης
|
- Κατάλληλο για μικρότερα έργα όπου οι απαιτήσεις είναι καλά καθορισμένες
|
- Δεν είναι επιθυμητό για σύνθετο έργο όπου η απαίτηση αλλάζει συχνά
|
- Πρέπει να εκτελέσουν δοκιμή διασφάλισης ποιότητας (Επαλήθευση και επικύρωση) πριν ολοκληρώσουν κάθε στάδιο
|
- Η περίοδος δοκιμής έρχεται αρκετά αργά στην αναπτυξιακή διαδικασία
|
- Η λεπτομερής τεκμηρίωση γίνεται σε κάθε φάση του κύκλου ανάπτυξης του λογισμικού
|
- Η τεκμηρίωση καταλαμβάνει πολύ χρόνο προγραμματιστών και δοκιμαστών
|
- Το έργο εξαρτάται πλήρως από την ομάδα του έργου με ελάχιστη παρέμβαση πελάτη
|
- Τα πολύτιμα σχόλια των πελατών δεν μπορούν να συμπεριληφθούν στη συνεχή φάση ανάπτυξης
|
- Τυχόν αλλαγές στο λογισμικό γίνονται κατά τη διάρκεια της διαδικασίας ανάπτυξης
|
- Μικρές αλλαγές ή σφάλματα που προκύπτουν στο ολοκληρωμένο λογισμικό μπορεί να προκαλέσουν πολλά προβλήματα
|