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

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

Έχουν αναπτυχθεί διάφορα μοντέλα κύκλου ζωής που προσδιορίζουν τις εναλλακτικές διαδρομές που μπορεί να ακολουθήσει κανείς για την κατασκευή και συντήρηση λογισμικού. Τέτοια μοντέλα είναι: του καταρράκτη, της προτυποποίησης, της λειτουργικής επαύξησης, το σπειροειδές, του πίδακα (επαναχρησιμοποίησης), γενικά μοντέλα (π.χ. Rational Unified Process), εύκαμπτης ανάπτυξης (π.χ. XP) κ.ά.
Τα μοντέλα αυτά δεν είναι αμοιβαία αποκλειόμενα μεταξύ τους, μπορούν δηλαδή να χρησιμοποιηθούν συνδυαστικά. Για την κατασκευή, τη χρήση και συντήρηση του λογισμικού, ανεξαρτήτως μοντέλου, οι γενικές δραστηριότητες είναι η προδιαγραφή (ορισμός προβλήματος, μελέτη σκοπιμότητας, ανάλυση απαιτήσεων), η ανάπτυξη (σχεδίαση, κωδικοποίηση), η επαλήθευση και η εξέλιξη. Τα μοντέλα κύκλου ζωής λογισμικού στοχεύουν στην καθοδήγηση του κατασκευαστή προκειμένου αυτός να επιτύχει την καλύτερη δυνατή υλοποίηση των παραπάνω δραστηριοτήτων ανάπτυξης λογισμικού.
Οι διαφορές τους εντοπίζονται στη σύλληψη της ιδέας του τρόπου κατασκευής αλλά και στις επιμέρους φάσεις και εργασίες που προτείνουν, στην επαναληπτικότητα, την εμβέλεια και τη σειρά των εργασιών, στα ενδιάμεσα προϊόντα-συστατικά λογισμικού και την περιγραφή τους, στις ενδιάμεσες αποτιμήσεις από τον πελάτη ή τον κατασκευαστή, στην ευκολία και το κόστος ενσωμάτωσης τροποποιήσεων.

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

Ο τρόπος με τον οποίο καταγράφεται ο ορισμός του προβλήματος αλλά και η μελέτη σκοπιμότητας μπορεί να θεωρηθεί περίπου ο ίδιος σε όλα τα μοντέλα κύκλου ζωής (στα επαναληπτικά μοντέλα πραγματοποιούνται τμηματικά σε διαφορετικές επαναλήψεις) δηλαδή με κείμενα, πίνακες και κάποια γραφήματα. Η καταγραφή των απαιτήσεων και η επαλήθευσή τους όμως διαφέρει μεταξύ των μοντέλων που ακολουθούν τη δομημένη ανάλυση από τη μια μεριά και την ανάλυση με βάση την ενοποιημένη (αντικειμενοστραφή) προσέγγιση από την άλλη.

Η ενοποιημένη προσέγγιση είναι πιο σύγχρονη και αναπτύχθηκε προκειμένου να αντιμετωπίσει τα προβλήματα της πολυπλοκότητας και της επεξεργασίας μεγάλου όγκου δεδομένων. Είναι μια επαναληπτική κι επαυξητική προσέγγιση που σημαίνει ότι χτίζει το τελικό προϊόν ως συσσωρευτικό αποτέλεσμα επαναλήψεων δραστηριοτήτων ανάπτυξης λογισμικού. Η προσέγγιση αυτή αποτελεί υπερσύνολο της δομημένης προσέγγισης και παρέχει το πλεονέκτημα της καλύτερης μοντελοποίησης της επιχειρησιακής λογικής (οντοτήτων και σχέσεων μεταξύ τους) αλλά και της επαναχρησιμοποίησης μονάδων λογισμικού. Έχει καθιερωθεί να καλείται Rational Unified Process (RUP) όπως ήταν η ονομασία του τμήματος της εταιρείας που την ανέπτυξε.

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

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

 

Leave a Reply