Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων 2ο Κεφάλαιο
Τι είναι η Τεχνολογία Λογισμικού; Η Τεχνολογία Λογισμικού είναι ο κλάδος εκείνος της επιστήμης της πληροφορικής που ασχολείται με την εύρεση και θεμελίωση μεθόδων για να περιγράφεται, να κατασκευάζεται και να συντηρείται λογισμικό. Ως λογισμικό δεν νοείται μόνο ο εκτελέσιμος κώδικας, αλλά και ένα σύνολο ενδιάμεσων προϊόντων, όπως προδιαγραφές, σχέδια, πηγαίος κώδικας, εκθέσεις ελέγχου κ.ά.. Επιθυμητά χαρακτηριστικά του λογισμικού και της διαδικασίας κατασκευής του είναι η ποιότητα, η μεγαλύτερη δυνατή αυτοματοποίηση και παραγωγικότητα και το ελάχιστο δυνατό κόστος παραγωγής και συντήρησης. Η ανάπτυξη του λογισμικού διέρχεται από κάποιες φάσεις οι οποίες αναφέρονται ως κύκλος ζωής λογισμικού.
Μοντέλα κύκλου ζωής λογισμικού Έχουν αναπτυχθεί διάφορα μοντέλα κύκλου ζωής που προσδιορίζουν τις εναλλακτικές διαδρομές που μπορεί να ακολουθήσει κανείς για την κατασκευή και συντήρηση λογισμικού. Τέτοια μοντέλα είναι: του καταρράκτη, της προτυποποίησης, της λειτουργικής επαύξησης, το σπειροειδές, του πίδακα (επαναχρησιμοποίησης), γενικά μοντέλα (π.χ. Rational Unified Process), εύκαμπτης ανάπτυξης (π.χ. XP) κ.ά. Τα μοντέλα αυτά δεν είναι αμοιβαία αποκλειόμενα μεταξύ τους, μπορούν δηλαδή να χρησιμοποιηθούν συνδυαστικά.
Φάσεις κύκλου ζωής του λογισμικού σύμφωνα με το μοντέλο του καταρράκτη
Πώς γίνεται ο προσδιορισμός των απαιτήσεων του λογισμικού; Ο πελάτης περιγράφει ΤΙ ΖΗΤΑΕΙ από το Π.Σ. που θέλει να του φτιάξουμε ορισμός του προβλήματος. Η εταιρία πληροφορικής συντάσσει τη μελέτη σκοπιμότητας η οποία προσδιορίζει ΑΝ ΕΙΝΑΙ ΕΦΙΚΤΗ η κατασκευή του συστήματος: έτσι όπως τη θέλει ο πελάτης στο συγκεκριμένο χρόνο που καλείται να τελειώσει την κατασκευή του λογισμικού με το συγκεκριμένο ποσό χρημάτων που διατίθεται. Αν η μελέτη σκοπιμότητας είναι θετική τότε γίνεται ο προσδιορισμός των απαιτήσεων - η πιο σημαντική δραστηριότητα κατά την ανάπτυξη του λογισμικού.
Το παρακάτω σκίτσο δείχνει πόσο δύσκολη και σημαντική είναι η σωστή καταγραφή των απαιτήσεων του λογισμικού...
Με ποιο τρόπο καταγράφεται ο ορισμός του προβλήματος και η μελέτη σκοπιμότητας; Σε όλα περίπου τα μοντέλα κύκλου ζωής λογισμικού ο ορισμός του προβλήματος και η μελέτη σκοπιμότητας καταγράφονται με τον ίδιο τρόπο, δηλαδή με κείμενα, πίνακες και κάποια γραφήματα. Πρακτικά ακολουθούνται τα εξής βήματα: Αρχικά περιγράφουμε το πώς δουλεύει ΤΩΡΑ ο οργανισμός που περιέχει το πρόβλημα που θέλουμε να λύσουμε, λαμβάνοντας υπόψη και το εξωτερικό του περιβάλλον (π.χ. Τι διαδικασίες ακολουθεί ένα σχολείο για τις εγγραφές, μετεγγραφές των μαθητών, τις απουσίες, την καταχώριση των βαθμών, τα μαθήματα που διδάσκονται από τους καθηγητές ανά τμήμα κλπ) Στη συνέχεια δίνουμε πλήρη περιγραφή του βασικού προβλήματος, αναφέρουμε τους λόγους για τους οποίους το πρόβλημα υφίσταται, περιγράφουμε τις επιπτώσεις του προβλήματος και αναφέρουμε τα χρονικά πλαίσια εντός των οποίων το πρόβλημα πρέπει να επιλυθεί (π.χ. αργή και επίπονη η αναζήτηση παλιού μαθητή από το χειρόγραφο αρχείο του σχολείου.) Για κάθε πρόβλημα περιγράφουμε αναλυτικά τις απαιτήσεις των χρηστών (π.χ. τήρηση ηλεκτρονικού αρχείου μαθητών για γρήγορη αναζήτηση, έκδοση απολυτηρίου από τον υπολογιστή και όχι χειρόγραφα κλπ) Εκτιμούμε εάν το νέο Π.Σ. θα ικανοποιήσει τις απαιτήσεις που ορίζονται παραπάνω χρησιμοποιώντας ερωτηματολόγια προς το προσωπικό, δοκιμές κλπ. και βαθμολογούμε την κάθε παράμετρο. Στη συνέχεια περιγράφουμε το πραγματικό αποτέλεσμα της εκτίμησης σε σύγκριση με το προσδοκώμενο αποτέλεσμα.