Please use this identifier to cite or link to this item: http://dspace.lib.uom.gr/handle/2159/14401
Author: Λιάκος, Αριστείδης
Title: Ταξινόμηση προτεινόμενων αναδομήσεων σε αντικειμενοστραφή συστήματα χρησιμοποιώντας ιστορικά δεδομένα.
Date Issued: 2010
Department: Πρόγραμμα Μεταπτυχιακών Σπουδών Ειδίκευσης στην Εφαρμοσμένη Πληροφορική
Supervisor: Χατζηγεωργίου, Αλέξανδρος
Abstract: Η συντήρηση του λογισμικού είναι μια διαδικασία εξόχως σημαντική και η αναγκαιότητα της γίνεται ιδιαίτερα αντιληπτή καθώς το λογισμικό «παλιώνει». Για την αποφυγή επιβάρυνσης της εργασίας του συντηρητή είναι επιθυμητό το λογισμικό να είναι «καλά» σχεδιασμένο πράγμα που σημαίνει πως πρέπει να συμβαδίζει με Αρχές Σχεδίασης και Πρότυπα Σχεδίασης. Ωστόσο, αν και για την πλειοψηφία των συστημάτων κυριαρχεί αρχικά η αίσθηση ότι είναι καλά σχεδιασμένα, η ποιότητα τους φθίνει με την πάροδο του χρόνου. Οι τροποποιήσεις που λαμβάνουν χώρα από έκδοση σε έκδοση έχουν ως αποτέλεσμα τη συχνή εμφάνιση τμημάτων κώδικα που αγνοούν τις αρχές και τα πρότυπα σχεδίασης. Για τα τμήματα αυτά έχει επικρατήσει στη βιβλιογραφία της Τεχνολογίας Λογισμικού ο όρος «κακές οσμές» (bad smells). Η εξάλειψη τους στη συντριπτική πλειοψηφία των περιπτώσεων επιτυγχάνεται με την εφαρμογή αναδόμησης του κώδικα. Τα τελευταία χρόνια έχουν αναπτυχθεί αρκετά ημιαυτόματα εργαλεία που εντοπίζουν κακές οσμές στον κώδικα και επιπλέον προτείνουν για κάθε περίπτωση κατάλληλη αναδόμηση. Στα μεσαία και μεγάλα συστήματα όμως, παραμένει το πρόβλημα της πληθώρας των κακών οσμών που καθιστά αδύνατη την εφαρμογή αναδόμησης για όλες αυτές. Μια λύση για το πρόβλημα είναι η ανάθεση προτεραιότητας σε κάθε αναδόμηση ώστε να παρέχονται στο συντηρητή ταξινομημένες με αποτέλεσμα η επιλογή αυτών που θα εφαρμοστούν να μην αποτελεί χρονοβόρα διαδικασία. Έτσι, ο σκοπός της εργασίας αυτής είναι η πρόταση μιας νέας μεθοδολογίας ταξινόμησης των προτεινόμενων αναδομήσεων χρησιμοποιώντας τις προηγούμενες εκδόσεις του ίδιου λογισμικού. Η μεθοδολογία υλοποιήθηκε επίσης και προγραμματιστικά ως επέκταση των δυνατοτήτων του JDeodorant που είναι εργαλείο εντοπισμού κακών οσμών και αναπτύχθηκε από το εργαστήριο Τεχνολογίας Λογισμικού του Τμήματος Εφαρμοσμένης Πληροφορικής του Πανεπιστημίου Μακεδονίας. Οι τρεις μη τετριμμένες κακές οσμές που εντοπίζει το εργαλείο και επιπρόσθετα προτείνει αναδόμηση για κάθε περίπτωση είναι οι Long Method, State Checking, Feature Envy οι οποίες αποτελούν αντικείμενο και της παρούσης εργασίας. Η μεθοδολογία για την ταξινόμηση των αναδομήσεων βασίζεται σε έναν παράγοντα που υπολογίζεται μέσω της εξέτασης του κώδικα των προηγούμενων εκδόσεων και τον εντοπισμό αλλαγών σε συγκεκριμένα τμήματα αυτού, στα οποία εμφανίζονται οι κακές οσμές. Για τον υπολογισμό του παράγοντα λαμβάνονται υπόψη η ύπαρξη και το εύρος της αλλαγής τα οποία ορίζονται διαφορετικά για κάθε κακή οσμή καθώς και η εγγύτητα της έκδοσης που η κάθε μια εντοπίζεται με την τρέχουσα έκδοση του λογισμικού. Τέλος έχει γίνει μια πρώτη προσπάθεια αξιολόγησης των αποτελεσμάτων που εξήχθησαν από πραγματικά συστήματα ανοικτού κώδικα από έναν ανεξάρτητο ειδικό.
Keywords: Αναδομήσεις
Ταξινόμηση
Ιστορικά δεδομένα
Αντικειμενοστραφή συστήματα λογισμικού
Αρχές και πρότυπα σχεδίασης
Συντήρηση λογισμικού
Information: Διπλωματική εργασία--Πανεπιστήμιο Μακεδονίας, Θεσσαλονίκη, 2010.
Appears in Collections:ΠΜΣ Εφαρμοσμένης Πληροφορικής (M)

Files in This Item:
File Description SizeFormat 
LiakosAristeidisMsc2010.pdf593.71 kBAdobe PDFView/Open


Items in Psepheda are protected by copyright, with all rights reserved, unless otherwise indicated.