Διασφάλιση ποιότητας συστημάτων βασισμένων σε συστατικά λογισμικού
Authors: Κακαρόντζας Γεώργιος 
Published: August 2021

Η κατασκευή πληροφοριακών συστημάτων ολοένα αυξανόμενης πολυπλοκότητας εγείρει σοβαρά ζητήματα σε σχέση με την ποιότητα των συστημάτων αυτών. Μία λύση είναι η δημιουργία αυτών των συστημάτων από συστατικά λογισμικού (software components) τα οποία μπορούν να οδηγήσουν σε μειωμένους χρόνους ανάπτυξης με ταυτόχρονη μείωση του κόστους και βελτίωση της ποιότητας. Παρόλα αυτά μέχρι σήμερα δεν υπάρχει κάποια συστηματική τεχνική για την κατασκευή συστημάτων λογισμικού με συστατικά λογισμικού και ταυτόχρονα μία συμπληρωματική συστηματική μέθοδος για την κατασκευή συστατικών λογισμικού με διακρίνουσα την ποιότητα που θα μπορούσαν να επαναχρησιμοποιηθούν για την κατασκευή τέτοιων συστημάτων. Επιπλέον η κατασκευή συστημάτων από συστατικά λογισμικού δίνει την δυνατότητα για την επαναχρησιμοποίηση συστατικών λογισμικού ανοιχτού κώδικα. Παρόλα αυτά τα περισσότερα συστήματα ανοιχτού λογισμικού δεν είναι βασισμένα σε συστατικά λογισμικού με αποτέλεσμα ο κώδικάς τους να μην είναι εφικτό να χρησιμοποιηθεί για την κατασκευή τέτοιων συστημάτων παρά μόνο με την μέθοδο της ευκαιριακής επαναχρησιμοποίησης κατά την οποία οι προγραμματιστές απλά εντοπίζουν ενδιαφέροντα τμήματα κώδικα για τις εφαρμογές τους και τα επαναχρησιμοποιούν με αντιγραφή του κώδικα και προσαρμογή του στις δικές τους ανάγκες. Η διαδικασία αυτή είναι χρονοβόρα και επιρρεπής σε λάθη. Σε σχέση με τα προαναφερθέντα προβλήματα οι συνεισφορές αυτής της διδακτορικής διατριβής είναι οι ακόλουθες:1. Δημιουργία Συστατικών Λογισμικού: Μία μεθοδολογία με βάση αρχιτεκτονικές τακτικές για την κατασκευή συστημάτων λογισμικού με συστατικά λογισμικού τα οποία εκλεπτύνονται σε σχέση με τις ποιοτικές προδιαγραφές του συστήματος με την χρήση των κατάλληλων αρχιτεκτονικών τακτικών. Η μεθοδολογία βασίζεται σε εκτελέσιμα μοντέλα του συστήματος και των συστατικών τα οποία επιτρέπουν την προσομοίωση των ποιοτικών χαρακτηριστικών που ενδιαφέρουν.2. Εξαγωγή Συστατικών Λογισμικού: Μία ημι-αυτοματοποιημένη διαδικασία αναγνώρισης και εξαγωγής συστατικών λογισμικού από έργα ανοιχτού λογισμικού τα οποία χρησιμοποιούνται για τον εμπλουτισμό αποθετηρίων συστατικών λογισμικού ανοιχτού κώδικα. Η εξαγωγή συστατικών βασίζεται σε μετρικές της εσωτερικής ποιότητας του λογισμικού (όπως οι μετρικές πολυπλοκότητας σχεδίασης αντικειμενοστραφούς λογισμικού). Παρότι η μεθοδολογία και τα εργαλεία της προτεινόμενης προσέγγισης δοκιμάστηκαν σε έργα ανοιχτού λογισμικού η εφαρμογή τους είναι γενικότερη και αφορά οποιοδήποτε έργο λογισμικού.3. Γενίκευση Συστατικών Λογισμικού: Μία μεθοδολογία για την κατασκευή συστατικών λογισμικού ανεξάρτητα από οποιοδήποτε σύστημα λογισμικού. Λόγω της αδυναμίας προσδιορισμού των λειτουργικών και ποιοτικών χαρακτηριστικών του συστήματος στο οποίο θα επαναχρησιμοποιηθούν καθίσταται αναγκαία η κατασκευή μιας ιεραρχίας τέτοιων συστατικών για κάθε βασική λειτουργία. Η ιεραρχία αυτή ονομάζεται ελαστική ιεραρχία συστατικών λογισμικού. Τα ελαστικά συστατικά λογισμικού διακρίνονται με βάση τις λειτουργικές και ποιοτικές τους διαφοροποιήσεις ώστε να είναι εφικτή η επαναχρησιμοποίησή τους σε πολλά διαφορετικά συστήματα. Σε κάθε επίπεδο της ιεραρχίας ενός συστατικού λογισμικού χρησιμοποιούνται έλεγχοι λογισμικού για την επιβεβαίωση των λειτουργικών και ποιοτικών διαφοροποιήσεων. Τα ελαστικά συστατικά λογισμικού διερευνήθηκαν σε βάθος και πέρα από την μεθοδολογία κατασκευής τους προτείνονται τα εξής:i.Η μεταβλητότητα των γραμμών προϊόντων λογισμικού με ελαστικά συστατικά λογισμικού και ανάπτυξη λογισμικού υπό την καθοδήγηση ελέγχων.ii.Μία ευέλικτη μεθοδολογία ανάπτυξης που αποσκοπεί στην παράλληλη κατασκευή ενός αποθετηρίου ελαστικών συστατικών λογισμικού.iii. Η εφαρμογή των ευέλικτων συστατικών λογισμικού στο πεδίο των υπολογιστικών πλεγμάτων.iv. Μία προσέγγιση για την επιλογή ελαστικών συστατικών λογισμικού από ένα αποθετήριο συστατικών με χρήση διαισθητικής ασαφούς λογικής.