Φάσεις & Μοντέλα Κύκλου Ζωής Ανάπτυξης Λογισμικού (SDLC).

Τι είναι το SDLC;

SDLC είναι μια συστηματική διαδικασία για την κατασκευή λογισμικού που διασφαλίζει την ποιότητα και την ορθότητα του λογισμικού που έχει κατασκευαστεί. Η διαδικασία SDLC στοχεύει στην παραγωγή λογισμικού υψηλής ποιότητας που ανταποκρίνεται στις προσδοκίες των πελατών. Η ανάπτυξη του συστήματος θα πρέπει να ολοκληρωθεί σε προκαθορισμένο χρονικό πλαίσιο και κόστος. Το SDLC αποτελείται από ένα λεπτομερές σχέδιο που εξηγεί πώς να σχεδιάσετε, να δημιουργήσετε και να διατηρήσετε συγκεκριμένο λογισμικό. Κάθε φάση του Κύκλου ζωής SDLC έχει τη δική της διαδικασία και παραδοτέα που τροφοδοτούν την επόμενη φάση. Το SDLC σημαίνει Κύκλος ζωής ανάπτυξης λογισμικού και αναφέρεται επίσης ως κύκλος ζωής ανάπτυξης εφαρμογών.

Γιατί SDLC;

Εδώ είναι οι κύριοι λόγοι για τους οποίους το SDLC είναι σημαντικό για την ανάπτυξη ενός συστήματος λογισμικού.

  • Προσφέρει μια βάση για τον προγραμματισμό, τον προγραμματισμό και την εκτίμηση του έργου
  • Παρέχει ένα πλαίσιο για ένα τυπικό σύνολο δραστηριοτήτων και παραδοτέων
  • Είναι ένας μηχανισμός παρακολούθησης και ελέγχου έργου
  • Αυξάνει την προβολή του σχεδιασμού του έργου σε όλους τους εμπλεκόμενους φορείς της διαδικασίας ανάπτυξης
  • Αύξηση και ενίσχυση της ταχύτητας ανάπτυξης
  • Βελτιωμένες σχέσεις με τους πελάτες
  • Σας βοηθά να μειώσετε τον κίνδυνο του έργου και τα γενικά έξοδα του σχεδίου διαχείρισης έργου

 

Φάσεις SDLC

Ολόκληρη η διαδικασία SDLC χωρίζεται στα ακόλουθα βήματα SDLC:

Φάσεις SDLC
Φάσεις SDLC
  • Φάση 1: Συλλογή και ανάλυση απαιτήσεων
  • Φάση 2: Μελέτη σκοπιμότητας
  • Φάση 3: Σχεδιασμός
  • Φάση 4: Κωδικοποίηση
  • Φάση 5: Δοκιμή
  • Φάση 6: Εγκατάσταση/Ανάπτυξη
  • Φάση 7: Συντήρηση

Σε αυτό το σεμινάριο, έχω εξηγήσει όλες αυτές τις Φάσεις Κύκλου Ζωής Ανάπτυξης Λογισμικού

Φάση 1: Συλλογή και ανάλυση απαιτήσεων

Η απαίτηση είναι το πρώτο στάδιο στη διαδικασία SDLC. Διεξάγεται από τα ανώτερα μέλη της ομάδας με εισροές από όλα τα ενδιαφερόμενα μέρη και τους ειδικούς του τομέα στον κλάδο. Σχεδιασμός για την τη διασφάλιση της ποιότητας Οι απαιτήσεις και η αναγνώριση των σχετικών κινδύνων γίνεται επίσης σε αυτό το στάδιο.

Αυτό το στάδιο δίνει μια σαφέστερη εικόνα του πεδίου εφαρμογής ολόκληρου του έργου και των αναμενόμενων ζητημάτων, ευκαιριών και οδηγιών που πυροδότησαν το έργο.

Απαιτήσεις Το στάδιο συγκέντρωσης χρειάζεται ομάδες για να λάβουν λεπτομερείς και ακριβείς απαιτήσεις. Αυτό βοηθά τις εταιρείες να οριστικοποιήσουν το απαραίτητο χρονοδιάγραμμα για να ολοκληρώσουν τις εργασίες αυτού του συστήματος.

Φάση 2: Μελέτη σκοπιμότητας

Μόλις ολοκληρωθεί η φάση της ανάλυσης απαιτήσεων, το επόμενο βήμα sdlc είναι ο καθορισμός και η τεκμηρίωση των αναγκών λογισμικού. Αυτή η διαδικασία πραγματοποιήθηκε με τη βοήθεια του εγγράφου «Προδιαγραφές Απαιτήσεων Λογισμικού» γνωστό και ως έγγραφο «SRS». Περιλαμβάνει όλα όσα πρέπει να σχεδιαστούν και να αναπτυχθούν κατά τη διάρκεια του κύκλου ζωής του έργου.

Υπάρχουν κυρίως πέντε τύποι ελέγχων σκοπιμότητας:

  • Οικονομικός: Μπορούμε να ολοκληρώσουμε το έργο εντός του προϋπολογισμού ή όχι;
  • Νομική: Μπορούμε να χειριστούμε αυτό το έργο ως νόμος στον κυβερνοχώρο και άλλο κανονιστικό πλαίσιο/συμμορφώσεις.
  • Operaσκοπιμότητας: Μπορούμε να δημιουργήσουμε λειτουργίες που αναμένεται από τον πελάτη;
  • Τεχνικός: Πρέπει να ελέγξετε εάν το τρέχον σύστημα υπολογιστή μπορεί να υποστηρίξει το λογισμικό
  • Πρόγραμμα: Αποφασίστε ότι το έργο μπορεί να ολοκληρωθεί εντός του δεδομένου χρονοδιαγράμματος ή όχι.

Φάση 3: Σχεδιασμός

Σε αυτή την τρίτη φάση, τα έγγραφα σχεδιασμού συστήματος και λογισμικού προετοιμάζονται σύμφωνα με το έγγραφο προδιαγραφών απαίτησης. Αυτό βοηθά στον καθορισμό της συνολικής αρχιτεκτονικής του συστήματος.

Αυτή η φάση σχεδιασμού χρησιμεύει ως είσοδος για την επόμενη φάση του μοντέλου.

Υπάρχουν δύο είδη εγγράφων σχεδιασμού που αναπτύσσονται σε αυτή τη φάση:

Σχεδίαση υψηλού επιπέδου (HLD)

  • Σύντομη περιγραφή και όνομα κάθε ενότητας
  • Μια περίληψη σχετικά με τη λειτουργικότητα κάθε ενότητας
  • Σχέση διεπαφής και εξαρτήσεις μεταξύ των μονάδων
  • Προσδιορίστηκαν πίνακες βάσεων δεδομένων μαζί με τα βασικά τους στοιχεία
  • Ολοκληρωμένα διαγράμματα αρχιτεκτονικής μαζί με λεπτομέρειες τεχνολογίας

Σχεδιασμός χαμηλού επιπέδου (LLD)

  • Λειτουργική λογική των ενοτήτων
  • Πίνακες βάσεων δεδομένων, οι οποίοι περιλαμβάνουν τύπο και μέγεθος
  • Πλήρης λεπτομέρεια της διεπαφής
  • Αντιμετωπίζει όλους τους τύπους ζητημάτων εξάρτησης
  • Λίστα μηνυμάτων σφάλματος
  • Πλήρεις εισόδους και εξόδους για κάθε ενότητα

Φάση 4: Κωδικοποίηση

Μόλις ολοκληρωθεί η φάση σχεδιασμού του συστήματος, η επόμενη φάση είναι η κωδικοποίηση. Σε αυτή τη φάση, οι προγραμματιστές αρχίζουν να χτίζουν ολόκληρο το σύστημα γράφοντας κώδικα χρησιμοποιώντας την επιλεγμένη γλώσσα προγραμματισμού. Στη φάση της κωδικοποίησης, οι εργασίες χωρίζονται σε μονάδες ή ενότητες και ανατίθενται στους διάφορους προγραμματιστές. Είναι η μεγαλύτερη φάση της διαδικασίας Κύκλου Ζωής Ανάπτυξης Λογισμικού.

Σε αυτή τη φάση, ο Προγραμματιστής πρέπει να ακολουθεί ορισμένες προκαθορισμένες οδηγίες κωδικοποίησης. Πρέπει επίσης να χρησιμοποιούν εργαλεία προγραμματισμού όπως μεταγλωττιστής, διερμηνείς, πρόγραμμα εντοπισμού σφαλμάτων για τη δημιουργία και την υλοποίηση του κώδικα.

Φάση 5: Δοκιμή

Μόλις ολοκληρωθεί το λογισμικό και αναπτυχθεί στο περιβάλλον δοκιμών. Η ομάδα δοκιμών αρχίζει να δοκιμάζει τη λειτουργικότητα ολόκληρου του συστήματος. Αυτό γίνεται για να επαληθευτεί ότι ολόκληρη η εφαρμογή λειτουργεί σύμφωνα με τις απαιτήσεις του πελάτη.

Κατά τη διάρκεια αυτής της φάσης, το QA και η ομάδα δοκιμών ενδέχεται να βρουν κάποια σφάλματα/ελαττώματα τα οποία κοινοποιούν στους προγραμματιστές. Η ομάδα ανάπτυξης διορθώνει το σφάλμα και στέλνει πίσω στο QA για επανέλεγχο. Αυτή η διαδικασία συνεχίζεται έως ότου το λογισμικό είναι χωρίς σφάλματα, σταθερό και λειτουργεί σύμφωνα με τις επιχειρηματικές ανάγκες αυτού του συστήματος.

Φάση 6: Εγκατάσταση/Ανάπτυξη

Μόλις ολοκληρωθεί η φάση δοκιμής λογισμικού και δεν υπάρχουν σφάλματα ή σφάλματα στο σύστημα, τότε ξεκινά η τελική διαδικασία ανάπτυξης. Με βάση τα σχόλια που έδωσε ο διαχειριστής του έργου, το τελικό λογισμικό κυκλοφορεί και ελέγχεται για προβλήματα ανάπτυξης, εάν υπάρχουν.

Φάση 7: Συντήρηση

Μόλις το σύστημα αναπτυχθεί και οι πελάτες αρχίσουν να χρησιμοποιούν το αναπτυγμένο σύστημα, εμφανίζονται οι ακόλουθες 3 δραστηριότητες

  • Διόρθωση σφαλμάτων – αναφέρονται σφάλματα λόγω ορισμένων σεναρίων που δεν ελέγχονται καθόλου
  • Upgrade – Αναβάθμιση της εφαρμογής στις νεότερες εκδόσεις του Λογισμικού
  • Βελτίωση – Προσθήκη ορισμένων νέων δυνατοτήτων στο υπάρχον λογισμικό

Ο κύριος στόχος αυτής της φάσης SDLC είναι να διασφαλίσει ότι οι ανάγκες συνεχίζουν να ικανοποιούνται και ότι το σύστημα συνεχίζει να λειτουργεί σύμφωνα με τις προδιαγραφές που αναφέρονται στην πρώτη φάση.

Δημοφιλή μοντέλα SDLC

Ακολουθούν μερικά από τα πιο σημαντικά μοντέλα Κύκλου Ζωής Ανάπτυξης Λογισμικού (SDLC):

Μοντέλο καταρράκτη σε SDLC

Ο καταρράκτης είναι ένα ευρέως αποδεκτό μοντέλο SDLC. Σε αυτή την προσέγγιση, η όλη διαδικασία ανάπτυξης λογισμικού χωρίζεται σε διάφορες φάσεις του SDLC. Σε αυτό το μοντέλο SDLC, το αποτέλεσμα μιας φάσης λειτουργεί ως είσοδος για την επόμενη φάση.

Αυτό το μοντέλο SDLC είναι εντατικό σε τεκμηρίωση, με προηγούμενες φάσεις που τεκμηριώνουν τι πρέπει να εκτελεστεί στις επόμενες φάσεις.

Αυξητικό μοντέλο σε SDLC

Το αυξητικό μοντέλο δεν είναι ξεχωριστό μοντέλο. Πρόκειται ουσιαστικά για μια σειρά από κύκλους καταρράκτη. Οι απαιτήσεις χωρίζονται σε ομάδες κατά την έναρξη του έργου. Για κάθε ομάδα, ακολουθείται το μοντέλο SDLC για την ανάπτυξη λογισμικού. Η διαδικασία του κύκλου ζωής SDLC επαναλαμβάνεται, με κάθε έκδοση να προσθέτει περισσότερη λειτουργικότητα μέχρι να ικανοποιηθούν όλες οι απαιτήσεις. Σε αυτή τη μέθοδο, κάθε κύκλος λειτουργεί ως η φάση συντήρησης για την προηγούμενη έκδοση λογισμικού. Η τροποποίηση στο αυξητικό μοντέλο επιτρέπει στους κύκλους ανάπτυξης να επικαλύπτονται. Μετά από αυτόν τον επόμενο κύκλο μπορεί να ξεκινήσει πριν ολοκληρωθεί ο προηγούμενος κύκλος.

V-Model σε SDLC

Σε αυτόν τον τύπο δοκιμής μοντέλου SDLC και στην ανάπτυξη, η φάση σχεδιάζεται παράλληλα. Έτσι, υπάρχουν φάσεις επαλήθευσης του SDLC στο πλάι και η φάση επικύρωσης στην άλλη πλευρά. Το V-Model ενώνεται μέσω της φάσης κωδικοποίησης.

Agile Model σε SDLC

Η ευέλικτη μεθοδολογία είναι μια πρακτική που προωθεί τη συνεχή αλληλεπίδραση ανάπτυξης και δοκιμών κατά τη διάρκεια της διαδικασίας SDLC οποιουδήποτε έργου. Στη μέθοδο Agile, ολόκληρο το έργο χωρίζεται σε μικρές αυξητικές κατασκευές. Όλες αυτές οι εκδόσεις παρέχονται σε επαναλήψεις και κάθε επανάληψη διαρκεί από μία έως τρεις εβδομάδες.

Σπειροειδές μοντέλο

Το σπειροειδές μοντέλο είναι ένα μοντέλο διαδικασίας που βασίζεται στον κίνδυνο. Αυτό το μοντέλο δοκιμών SDLC βοηθά την ομάδα να υιοθετήσει στοιχεία ενός ή περισσότερων μοντέλων διεργασίας όπως καταρράκτη, αυξητικό, καταρράκτη κ.λπ.

Αυτό το μοντέλο υιοθετεί τα καλύτερα χαρακτηριστικά του μοντέλου πρωτοτύπου και του μοντέλου καταρράκτη. Η σπειροειδής μεθοδολογία είναι ένας συνδυασμός ταχείας δημιουργίας πρωτοτύπων και ταυτόχρονης εφαρμογής σε δραστηριότητες σχεδιασμού και ανάπτυξης.

Μοντέλο μεγάλης έκρηξης

Το μοντέλο Big Bang εστιάζει σε όλους τους τύπους πόρων για την ανάπτυξη λογισμικού και την κωδικοποίηση, χωρίς καθόλου ή πολύ λίγο προγραμματισμό. Οι απαιτήσεις γίνονται κατανοητές και εφαρμόζονται όταν έρχονται.

Αυτό το μοντέλο λειτουργεί καλύτερα για μικρά έργα με μικρότερο μέγεθος ομάδας ανάπτυξης που συνεργάζονται. Είναι επίσης χρήσιμο για ακαδημαϊκά έργα ανάπτυξης λογισμικού. Είναι ένα ιδανικό μοντέλο όπου οι απαιτήσεις είναι είτε άγνωστες είτε δεν δίνεται η τελική ημερομηνία κυκλοφορίας.

Σύνοψη

  • Ο Κύκλος Ζωής Ανάπτυξης Λογισμικού (SDLC) είναι μια συστηματική διαδικασία για την κατασκευή λογισμικού που διασφαλίζει την ποιότητα και την ορθότητα του λογισμικού που έχει κατασκευαστεί
  • Η πλήρης μορφή SDLC είναι Κύκλος Ζωής Ανάπτυξης Λογισμικού ή Κύκλος Ζωής Ανάπτυξης Συστημάτων.
  • Το SDLC στη μηχανική λογισμικού παρέχει ένα πλαίσιο για ένα τυπικό σύνολο δραστηριοτήτων και παραδοτέων
  • Επτά διαφορετικά στάδια SDLC είναι 1) Συλλογή και ανάλυση απαιτήσεων 2) Μελέτη σκοπιμότητας: 3) Σχεδιασμός 4) Κωδικοποίηση 5) Δοκιμή: 6) Εγκατάσταση/Ανάπτυξη και 7) Συντήρηση
  • Τα ανώτερα μέλη της ομάδας διεξάγουν το ανάλυση απαιτήσεων φάση
  • Το στάδιο της Μελέτης Σκοπιμότητας περιλαμβάνει όλα όσα πρέπει να σχεδιαστούν και να αναπτυχθούν κατά τη διάρκεια του κύκλου ζωής του έργου
  • Στη φάση Σχεδίασης, τα έγγραφα σχεδιασμού συστήματος και λογισμικού προετοιμάζονται σύμφωνα με το έγγραφο προδιαγραφών απαίτησης
  • Στη φάση της κωδικοποίησης, οι προγραμματιστές αρχίζουν να χτίζουν ολόκληρο το σύστημα γράφοντας κώδικα χρησιμοποιώντας την επιλεγμένη γλώσσα προγραμματισμού
  • Η δοκιμή είναι η επόμενη φάση που διεξάγεται για να επαληθευτεί ότι ολόκληρη η εφαρμογή λειτουργεί σύμφωνα με τις απαιτήσεις του πελάτη.
  • Το πρόσωπο εγκατάστασης και ανάπτυξης ξεκινά όταν το δοκιμές λογισμικού η φάση έχει τελειώσει και δεν υπάρχουν σφάλματα ή σφάλματα στο σύστημα
  • Οι ενέργειες επιδιόρθωσης, αναβάθμισης και αφοσίωσης σφαλμάτων καλύπτονται στο πρόσωπο συντήρησης
  • Waterfall, Incremental, Agile, V model, Spiral, Big Bang είναι μερικά από τα δημοφιλή μοντέλα SDLC στη μηχανική λογισμικού
  • Το SDLC στη δοκιμή λογισμικού αποτελείται από ένα λεπτομερές σχέδιο που εξηγεί πώς να σχεδιάσετε, να δημιουργήσετε και να διατηρήσετε συγκεκριμένο λογισμικό