Αρχική | Oργανωτική Επιτροπή | Πρόγραμμα | Live | Presskit | Πρόσβαση | Φωτογραφίες | en

<<


Comparative Study of API vs. Open-Source Software

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

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

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

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

Ως όχημα για την πειραματική σύγκριση των δύο προσεγγίσεων έχουν επιλεγεί 25 έργα από κάθε κατηγορία λογισμικού, με όσο το δυνατόν παλιότερη ημερομηνία πρώτης έκδοσης. Τέθηκε επίσης ως προϋπόθεση επιλογής των έργων, το ότι πρέπει να είναι ενεργά έως και αυτή την στιγμή που παραδίδεται η παρούσα εργασία. Τα επιλεγμένα έργα είναι έργα ανοικτού κώδικα και έχουν υλοποιηθεί με την αντικειμενοστρεφή γλώσσα προγραμματισμού, Java.

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

Τα πειραματικά αποτελέσματα ουσιαστικά αποτέλεσαν τη βάση για μία συστηματική στατιστική μελέτη και ανάλυση των διαφορών που παρουσιάστηκαν. Τέλος, επιχειρήθηκε η συστηματοποίηση αυτών των αποτελεσμάτων και η ερμηνεία τους.

Ομιλητής: Ελίνα Ζαπρούδη (Καθηγήτρια Πληροφορικής)

Follow Me! Follow Me! Follow Me! Follow Me!