Κύκλος ζωής ανάπτυξης λογισμικού | Software Development Life Cycle
Ορισμός του κύκλου ζωής ανάπτυξης λογισμικού | Software Development Life Cycle (SDLC)
Ο όρος κύκλος ζωής έκδοσης λογισμικού αναφέρεται στις φάσεις ανάπτυξης ενός λογισμικού – ξεκινά από την αρχική ανάπτυξη του και φτάνει έως και την τελική έκδοση.
Οι φάσεις αυτές είναι οι εξής:
- Ανάλυση του προβλήματος
- Σχεδίαση της λύσης
- Υλοποίηση των προγραμμάτων
- Έλεγχος συμμόρφωσης στις προδιαγραφές και διόρθωση λαθών
- Λειτουργία και Υποστήριξη
Ανάλυση του προβλήματος
Πρωταρχικός στόχος της ανάλυσης είναι να διαπιστωθεί κατά πόσο το πρόβλημα, που ζητείται να λυθεί, είναι επιλύσιμο με υπολογιστή – εφικτότητα (feasibility) υλοποίησης. Σε αυτή τη φάση περιγράφονται:
- οι απαιτήσεις της εφαρμογής, επισημαίνονται οι ιδιαιτερότητες
- απομακρύνονται οι επουσιώδεις λεπτομέρειες που περιπλέκουν τη λύση
- σκιαγραφείται ο τρόπος λύσης
- υποδεικνύονται τα σημεία στα οποία απαιτείται ιδιαίτερη προσοχή
- περιγράφονται οι συνθήκες κάτω από τις οποίες είναι δυνατή η υλοποίηση
- αναλύονται στοιχεία που αφορούν το κόστος, τρόποι διανομής του τελικού προϊόντος στην αγορά κ.ά.
Σχεδίαση της λύσης
- Η κατ’ εξοχήν δημιουργική φάση. Απαιτεί τεχνικές γνώσεις σε θέματα υπολογιστικών συστημάτων και γνώσεις πάνω στον τομέα του προβλήματος.
- Σε μεγάλα έργα πρέπει να σχεδιαστεί όχι μόνο η λύση του προβλήματος αλλά και ο τρόπος με τον οποίο θα δουλέψουν οι ομάδες εργασίας (χρονοπρογραμματισμός των επιμέρους εργασιών, κατανομή των πόρων και οικονομικός προγραμματισμό).
- Το πρόβλημα χωρίζεται σε επιμέρους προβλήματα, που είναι δυνατόν να επιλυθούν πιο εύκολα και καθορίζεται η μεταξύ τους συσχέτιση.
- Δημιουργείται ένα πλάνο λύσης. Στο πλάνο λύσης για κάθε πρόβλημα ή επινοείται, αν δεν υπάρχει, ή επιλέγεται ένας από τους γνωστούς αλγόριθμους που το επιλύει.
- Επίσης, οργανώνονται τα δεδομένα σε δομές δεδομένων και σχεδιάζονται οι φόρμες – διεπαφές της εφαρμογής.
Υλοποίηση των προγραμμάτων
- Δημιουργία και σχεδίαση διεπαφής
- Κωδικοποίηση των αλγορίθμων
Στόχος είναι να δημιουργηθεί επεκτάσιμο και συντηρήσιμο λογισμικό αλλά και λειτουργικό και φιλικό προς τον χρήστη → ποιοτικό λογισμικό.
Το προϊόν αυτής της φάσης είναι η εφαρμογή.
Έλεγχος προδιαγραφών και διόρθωση λαθών
- Κατά πόσο το λογισμικό συμφωνεί με τις προδιαγραφές της ανάλυσης
- Η ανίχνευση και διόρθωση κατά το δυνατόν των υπαρχόντων λαθών.
Το προϊόν της φάσης αυτής είναι η εφαρμογή στην τελική της μορφή.
Λειτουργία και Υποστήριξη
Περιλαμβάνει:
- την έναρξη της λειτουργίας του λογισμικού
- την συντήρηση και αναβάθμισή του – υποστήριξη (maintenance).
Τεκμηρίωση
Η τεκμηρίωση δεν αποτελεί ξεχωριστή φάση ανάπτυξης αλλά διαδικασία που πραγματοποιείται σε όλο τον κύκλο ζωής του λογισμικού.
Υπάρχουν δύο είδη τεκμηρίωσης:Υπάρχουν δύο είδη τεκμηρίωσης:
- η εσωτερική τεκμηρίωση – τα σχόλια μέσα στον κώδικα του προγράμματος
- η εξωτερική τεκμηρίωση
Μοντέλα Κύκλου Ζωής
Οι φάσεις του κύκλου ζωής εφαρμόζονται:
- Είτε παράλληλα
- Είτε με κάποια συγκεκριμένη σειρά
Ανάλογα με το μοντέλο που υιοθετείται.