Κύκλος ζωής ανάπτυξης λογισμικού | Software Development Life Cycle

Ορισμός του κύκλου ζωής ανάπτυξης λογισμικού | Software Development Life Cycle (SDLC)

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

Οι φάσεις αυτές είναι οι εξής:

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

Ανάλυση του προβλήματος

Πρωταρχικός στόχος της ανάλυσης είναι να διαπιστωθεί κατά πόσο το πρόβλημα, που ζητείται να λυθεί, είναι επιλύσιμο με υπολογιστή – εφικτότητα (feasibility) υλοποίησης. Σε αυτή τη φάση περιγράφονται:

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

Σχεδίαση της λύσης

  • Η κατ’ εξοχήν δημιουργική φάση. Απαιτεί τεχνικές γνώσεις σε θέματα υπολογιστικών συστημάτων και γνώσεις πάνω στον τομέα του προβλήματος.
  • Σε μεγάλα έργα πρέπει να σχεδιαστεί όχι μόνο η λύση του προβλήματος αλλά και ο τρόπος με τον οποίο θα δουλέψουν οι ομάδες εργασίας (χρονοπρογραμματισμός των επιμέρους εργασιών, κατανομή των πόρων και οικονομικός προγραμματισμό).
  • Το πρόβλημα χωρίζεται σε επιμέρους προβλήματα, που είναι δυνατόν να επιλυθούν πιο εύκολα και καθορίζεται η μεταξύ τους συσχέτιση.
  • Δημιουργείται ένα πλάνο λύσης. Στο πλάνο λύσης για κάθε πρόβλημα ή επινοείται, αν δεν υπάρχει, ή επιλέγεται ένας από τους γνωστούς αλγόριθμους που το επιλύει.
  • Επίσης, οργανώνονται τα δεδομένα σε δομές δεδομένων και σχεδιάζονται οι φόρμες – διεπαφές της εφαρμογής.

Υλοποίηση των προγραμμάτων

  • Δημιουργία και σχεδίαση διεπαφής
  • Κωδικοποίηση των αλγορίθμων

Στόχος είναι να δημιουργηθεί επεκτάσιμο και συντηρήσιμο λογισμικό αλλά και λειτουργικό και φιλικό προς τον χρήστη → ποιοτικό λογισμικό.
Το προϊόν αυτής της φάσης είναι η εφαρμογή.

Έλεγχος προδιαγραφών και διόρθωση λαθών

  • Κατά πόσο το λογισμικό συμφωνεί με τις προδιαγραφές της ανάλυσης
  • Η ανίχνευση και διόρθωση κατά το δυνατόν των υπαρχόντων λαθών.

Το προϊόν της φάσης αυτής είναι η εφαρμογή στην τελική της μορφή.

Λειτουργία και Υποστήριξη
Περιλαμβάνει:

  • την έναρξη της λειτουργίας του λογισμικού
  • την συντήρηση και αναβάθμισή του – υποστήριξη (maintenance).

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

Υπάρχουν δύο είδη τεκμηρίωσης:Υπάρχουν δύο είδη τεκμηρίωσης:

  • η εσωτερική τεκμηρίωση – τα σχόλια μέσα στον κώδικα του προγράμματος
  • η εξωτερική τεκμηρίωση

Μοντέλα Κύκλου Ζωής
Οι φάσεις του κύκλου ζωής εφαρμόζονται:

  • Είτε παράλληλα
  • Είτε με κάποια συγκεκριμένη σειρά
    Ανάλογα με το μοντέλο που υιοθετείται.