Διαφορά μεταξύ μοντέλου Vmodel και καταρράκτη Διαφορά μεταξύ
Vmodel εναντίον μοντέλου καταρράκτη
Μία από τις παλαιότερες συζητήσεις στον τομέα της μηχανικής λογισμικού είναι η συζήτηση μεταξύ του καταρράκτη έναντι του μοντέλου V. Αυτή η συζήτηση περιστρέφεται γύρω από το καλύτερο μοντέλο λογισμικού που μπορούν να κάνουν χρήση των προγραμματιστών. Υπάρχουν διάφορες φάσεις που εμπλέκονται στη διαδικασία ανάπτυξης λογισμικού. Οι φάσεις είναι παρόμοιες τόσο με τον καταρράκτη όσο και με το μοντέλο V, και το μόνο που έχει μέχρι στιγμής αμφισβητηθεί είναι η προσέγγιση με την οποία μπορούν να επιτευχθούν αυτά τα δύο μοντέλα.
Στο μοντέλο V, υπάρχουν πολλές δραστηριότητες οι οποίες, όταν σχεδιάζονται μαζί σε ένα σχηματικό διάγραμμα, σχηματίζουν σχήμα V. Κάθε φάση που λέγεται έχει μια αντίστοιχη φάση που ασχολείται με τις δοκιμές. Αυτό το μοντέλο λόγω του ίσου αριθμού δοκιμών και ανάπτυξης αναφέρεται ως μοντέλο επαλήθευσης και επικύρωσης. Η πλευρά επαλήθευσης ασχολείται με το τέλος ανάπτυξης ενώ η επικύρωση αφορά τις φάσεις των δοκιμών. Μεταξύ των δραστηριοτήτων στις οποίες εμπίπτει η επαλήθευση περιλαμβάνεται η ανάλυση των απαιτήσεων όπου συγκεντρώνονται πληροφορίες από τον τελικό χρήστη. Αυτές οι πληροφορίες είναι σημαντικές για την ανάπτυξη της τεκμηρίωσης του λογισμικού.
Το επόμενο βήμα είναι ο σχεδιασμός του συστήματος, ο οποίος στοχεύει στην προετοιμασία του λειτουργικού σχεδιασμού του λογισμικού. Το επόμενο πράγμα που ακολουθεί είναι η αρχιτεκτονική σχεδίαση. Αυτό ονομάζεται επίσης σχεδιασμός υψηλού επιπέδου που η σχέση διεπαφής και οι πίνακες βάσης δεδομένων και οι εξαρτήσεις των πινάκων. Το τελικό στάδιο της διαδικασίας ανάπτυξης είναι η κωδικοποίηση όπου ολόκληρο το έργο αναλύεται σε μικρά τμήματα για κωδικοποίηση τα οποία στη συνέχεια συγχωνεύονται για να δημιουργήσουν ολόκληρο το σύστημα.
Η πλευρά επικύρωσης, στην άλλη πλευρά, έχει τέσσερα στάδια όπως στο στάδιο επαλήθευσης. Αυτές οι φάσεις ξεκινούν με τη δοκιμή μονάδας, μετά με δοκιμές ολοκλήρωσης, δοκιμές συστημάτων και τελικά με τη δοκιμή αποδοχής από το χρήστη, όπου ολόκληρο το σύστημα αξιολογείται στο σύνολό του.
Το μοντέλο καταρράκτη είναι η παλαιότερη διαδικασία ανάπτυξης λογισμικού, με την προέλευσή του να προέρχεται από τις βιομηχανίες κατασκευής και κατασκευών. Η βασική ιδέα αυτής της διαδικασίας είναι ότι υπάρχει μια διαδοχική ροή των διαδικασιών που μειώνονται το ένα μετά το άλλο, όπως φαίνεται σε έναν καταρράκτη. Αυτές οι φάσεις του μοντέλου καταρράκτη περιλαμβάνουν τη συγκέντρωση απαιτήσεων και την ανάλυση όπου συγκεντρώνονται οι απαιτήσεις του πελάτη. Αυτό το βήμα οδηγεί στη φάση σχεδιασμού, όπου δημιουργείται το μεγαλύτερο μέρος του λογισμικού και στη συνέχεια στη φάση υλοποίησης όπου είναι γραμμένο ο κώδικας του λογισμικού. Η φάση που ακολουθεί είναι η δοκιμή και η αποσφαλμάτωση, οδηγώντας στην παράδοση και τελικά στη φάση συντήρησης.
Η κύρια διαφορά μεταξύ των δύο μοντέλων είναι ότι οι δραστηριότητες δοκιμών εκτελούνται μετά την ολοκλήρωση της ανάπτυξης. Το μοντέλο V φαίνεται να μοιάζει με ένα μοντέλο που έχει μια δεδομένη αρχή και ένα τέλος, ενώ το μοντέλο καταρράκτη είναι συνεχώς επαναληπτικό.Το μοντέλο V διαφέρει από την ταυτόχρονη διαδικασία. Από το διαφορετικό λογισμικό που έχει παραχθεί στην αγορά, το λογισμικό που παράγεται με τη διαδικασία V φαίνεται να είναι χαμηλότερο, καθώς υπάρχουν πολλές δοκιμαστικές δραστηριότητες σε αντίθεση με το μοντέλο καταρράκτη που έχει μία μόνο φάση δοκιμής όταν ολοκληρωθεί το έργο.
Μπορεί επομένως να ειπωθεί ότι η χρήση του V μοντέλου προτιμάται όποτε υπάρχουν συνεχείς αλλαγές που πρέπει να συμπεριληφθούν. Αυτό είναι για ένα άτομο ή μια εξέλιξη που έχει τον πελάτη αναστατωμένο σχετικά με τις ανάγκες του έργου τους, καθώς συνεχίζουν να αλλάζουν αυτό που αντιλαμβάνονται ότι φαίνεται ιδανικό. Τα άτομα με καθορισμένες απαιτήσεις που δεν θα αλλάξουν κατά τη φάση ανάπτυξης του έργου πρέπει να εγκατασταθούν στο μοντέλο του καταρράκτη. Είναι επίσης σημαντικό να σημειωθεί ότι οι αλλαγές στο μοντέλο V είναι φθηνές για να εφαρμοστούν καθώς οι δοκιμές είναι και η ανάπτυξη γίνεται ταυτόχρονα. Αυτό δεν συμβαίνει με το μοντέλο καταρράκτη, το οποίο τείνει να είναι μια δαπανηρή υπόθεση, καθώς οποιαδήποτε ελαττώματα του λογισμικού δεν μπορούν να παρατηρηθούν μέχρι να φτάσει στη φάση της δοκιμής.