Please use this identifier to cite or link to this item:
http://dspace.lib.uom.gr/handle/2159/14002
Author: | Τσάνταλης, Νικόλαος |
Title: | Evaluation and improvement of software architecture: identification of design problems in object-oriented systems and resolution through refactoring. |
Alternative Titles: | Αξιολόγηση και βελτίωση αρχιτεκτονικής λογισμικού: εντοπισμός προβλημάτων σχεδίασης σε αντικειμενοστρεφή συστήματα και επίλυση τους μέσω αναδομήσεων. |
Date Issued: | 2010 |
Department: | Πανεπιστήμιο Μακεδονίας Οικονομικών και Κοινωνικών Επιστημών. Τμήμα Εφαρμοσμένης Πληροφορικής. (ΕΠ) |
Supervisor: | Χατζηγεωργίου, Αλέξανδρος |
Abstract: | Maintenance has gained the most important role in the life cycle of a software product, since it occupies the largest percentage of software development costs. This can be attributed to the fact that a software product should constantly evolve by providing new features, error corrections, performance improvements, and integration of novel technologies in order to remain competitive and diachronically successful. Despite the major importance of software maintenance, the effort being invested by software companies on preventive maintenance (i.e., improvement of design quality in order to increase maintainability) is very limited (lower than 5% of total maintenance costs). This fact indicates that there is a clear need for methods and tools that can be used by the software industry in order to support preventive maintenance, since the manual and human-driven inspection of source code requires tremendous effort and leads to long-term benefits that do not add immediate value to the software product. To this end, this work aims at developing methods and techniques that provide a concrete solution for major design problems whose remedy improves design quality and facilitates increased maintainability. The developed methods face the problem of improving the design quality of an object-oriented system by means of identifying refactoring opportunities which resolve bad smells existing in source code. This refactoring-oriented approach has the ability to produce refactoring solutions which are feasible and behavior preserving by examining a set of preconditions that should apply, pre-evaluate the impact of the identified refactoring opportunities on certain aspects of design quality and provide a ranking of the refactoring solutions allowing the prioritization of maintenance effort on parts of the program that would benefit the most. Therefore, it can be claimed that this work provides the most adequate support for the refactoring process which constitutes a major part of preventive maintenance. Η συντήρηση έχει αποκτήσει τον πιο σημαντικό ρόλο στον κύκλο ζωής ενός προϊόντος λογισμικού, αφού καταλαμβάνει το μεγαλύτερο ποσοστό του κόστους ανάπτυξης λογισμικού. Αυτό μπορεί να αποδοθεί στο γεγονός ότι ένα προϊόν λογισμικού θα πρέπει διαρκώς να εξελίσσεται παρέχοντας νέα χαρακτηριστικά, διορθώσεις σφαλμάτων, βελτιώσεις στην επίδοση, και ενσωμάτωση νέων τεχνολογικών ώστε να παραμείνει ανταγωνιστικό και διαχρονικά επιτυχημένο. Παρόλη τη σημαντικότητα της συντήρησης λογισμικού, η προσπάθεια που επενδύεται από τις εταιρίες ανάπτυξης λογισμικού στην αποτρεπτική συντήρηση (δηλαδή τη βελτίωση της ποιότητας σχεδίασης ώστε να αυξηθεί η συντηρησιμότητα του λογισμικού) είναι πολύ περιορισμένη (λιγότερο από το 5% του συνολικού κόστους συντήρησης). Αυτό το γεγονός καταδεικνύει ότι υπάρχει μια ξεκάθαρη ανάγκη για μεθόδους και εργαλεία τα οποία μπορούν να χρησιμοποιηθούν από τη βιομηχανία λογισμικού για να υποστηρίξουν την αποτρεπτική συντήρηση, αφού η χειρωνακτική και οδηγούμενη από τον άνθρωπο εξέταση του πηγαίου κώδικα απαιτεί τεράστια προσπάθεια και οδηγεί σε μακροπρόθεσμα οφέλη που δεν προσθέτουν άμεση αξία στο προϊόν λογισμικού. Για αυτό το σκοπό, η δουλειά αυτή στοχεύει στην ανάπτυξη μεθόδων και τεχνικών που παρέχουν συγκεκριμένες λύσεις για σημαντικά προβλήματα σχεδίασης, η θεραπεία των οποίων βελτιώνει την ποιότητα σχεδίασης και διευκολύνει την αυξημένη συντηρησιμότητα. Οι αναπτυγμένες μέθοδοι αντιμετωπίζουν το πρόβλημα της βελτίωσης της ποιότητας σχεδίασης ενός αντικειμενοστρεφούς συστήματος μέσω του εντοπισμού δυνατοτήτων αναδόμησης οι οποίες επιλύουν υπάρχουσες κακές οσμές στον πηγαίο κώδικα. Αυτή η στρεφόμενη γύρω από τις αναδομήσεις προσέγγιση έχει την ικανότητα να παράγει λύσεις αναδόμησης που είναι εφικτές και διατηρούν την συμπεριφορά του λογισμικού εξετάζοντας ένα σύνολο από προσυνθήκες που θα πρέπει να ισχύουν, να προαξιολογεί την επίδραση των εντοπισμένων δυνατοτήτων αναδόμησης σε συγκεκριμένες όψεις της ποιότητας σχεδίασης και να παρέχει μία κατάταξη των λύσεων αναδόμησης επιτρέποντας την ιεράρχηση της προσπάθειας συντήρησης σε τμήματα του λογισμικού που θα ωφεληθούν περισσότερο. Επομένως, μπορεί να γίνει ο ισχυρισμός ότι αυτή η δουλειά παρέχει την πιο επαρκή υποστήριξη για τη διαδικασία της αναδόμησης η οποία αποτελεί ένα σημαντικό μέρος της αποτρεπτικής συντήρησης. |
Keywords: | Object-oriented design Refactoring Preventive maintenance Design quality Αντικειμενοστρεφής σχεδίαση Αναδόμηση Αποτρεπτική συντήρηση Ποιότητα σχεδίασης |
Information: | Η βιβλιοθήκη διαθέτει αντίτυπο της διατριβής σε έντυπη μορφή. Διατριβή (Διδακτορική)--Πανεπιστήμιο Μακεδονίας, Θεσσαλονίκη, 2010. Περιλαμβάνει βιβλιογραφικές αναφορές (σ. 128-135). 031/2010 |
Rights: | Το ηλεκτρονικό αντίτυπο της διατριβής θα αποδεσμευτεί μετά τις 31/8/2011. |
Appears in Collections: | Τμήμα Εφαρμοσμένης Πληροφορικής (Δ) |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
Tsantalis_license.pdf | Δήλωση αποδέσμευσης (Ελεγχόμενη πρόσβαση) | 305.3 kB | Adobe PDF | View/Open |
Tsantalis_PhD2010.pdf | 1.15 MB | Adobe PDF | View/Open |
Items in Psepheda are protected by copyright, with all rights reserved, unless otherwise indicated.