Comparative Study of API vs. Open-Source Software ZAPROUDI A. PASCHALIA. Supervisor: CHATZHGEORGIOU ALEXANDROS

Σχετικά έγγραφα
Έλεγχος Συνένωσης και Διασφάλιση Ποιότητας

1991 US Social Survey.sav

Δείγμα (μεγάλο) από οποιαδήποτε κατανομή

ΑΛΕΞΑΝΔΡΕΙΟ ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)

ΠΕΡΙΓΡΑΦΙΚΗ και ΕΠΑΓΩΓΙΚΗ ΣΤΑΤΙΣΤΙΚΗ

ΠΕΡΙΓΡΑΦΙΚΗ και ΕΠΑΓΩΓΙΚΗ ΣΤΑΤΙΣΤΙΚΗ

1. Hasil Pengukuran Kadar TNF-α. DATA PENGAMATAN ABSORBANSI STANDAR TNF α PADA PANJANG GELOMBANG 450 nm

Παράδειγμα: Γούργουλης Βασίλειος, Επίκουρος Καθηγητής Τ.Ε.Φ.Α.Α. Δ.Π.Θ.

Ερμηνεία αποτελεσμάτων Ανάλυση διακύμανσης κατά ένα παράγοντα

Έλεγχος για τις παραμέτρους θέσης δύο πληθυσμών με εξαρτημένα δείγματα

Ασκήσεις Εξετάσεων. Μεταπτυχιακό Πρόγραμμα Σπουδών στη. Διοίκηση των Επιχειρήσεων

(McCabe, 1976) (1/4) C = e n + 2p 29/4/2009

Έλεγχος ύπαρξης στατιστικά σημαντικών διαφορών μεταξύ δύο ανεξάρτητων δειγμάτων, που ακολουθούν την κανονική κατανομή (t-test για ανεξάρτητα δείγματα)

Μονοπαραγοντική Ανάλυση Διακύμανσης Ανεξάρτητων Δειγμάτων

Εισαγωγή στην Ανάλυση Διακύμανσης

Στόχοι της Πτυχιακής

Εμπειρική Μελέτη της Εξέλιξης της Ποιότητας του Κώδικα Ανοιχτού Λογισμικού

Τίτλος Μαθήματος: Στατιστική Ανάλυση Δεδομένων

Τίτλος Μαθήματος: Στατιστική Ανάλυση Δεδομένων

Έλεγχος ύπαρξης στατιστικά σημαντικών διαφορών μεταξύ δύο εξαρτημένων δειγμάτων, που ακολουθούν την κανονική κατανομή (t-test για εξαρτημένα δείγματα)

ο),,),--,ο< $ι ιι!η ι ηι ι ιι ιι t (t-test): ι ι η ι ι. $ι ι η ι ι ι 2 x s ι ι η η ιη ι η η SE x

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Μετρικές Αντικειμενοστραφούς Σχεδίασης. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Έλεγχος για τις παραμέτρους θέσης δύο πληθυσμών με ανεξάρτητα δείγματα

ΕΙΔΙΚΑ ΘΕΜΑΤΑ ΣΤΗΝ ΣΤΑΤΙΣΤΙΚΗ ΕΡΓΑΣΤΗΡΙΟ (SPSS)

Μαντζούνη, Πιπερίγκου, Χατζή. ΒΙΟΣΤΑΤΙΣΤΙΚΗ Εργαστήριο 5 ο

Μενύχτα, Πιπερίγκου, Σαββάτης. ΒΙΟΣΤΑΤΙΣΤΙΚΗ Εργαστήριο 5 ο

Κεφάλαιο 14. Ανάλυση ιακύµανσης Μονής Κατεύθυνσης. Ανάλυση ιακύµανσης Μονής Κατεύθυνσης

Τίτλος Μαθήματος: Στατιστική Ανάλυση Δεδομένων

Έλεγχος ότι η παράμετρος θέσης ενός πληθυσμού είναι ίση με δοθείσα γνωστή τιμή. μεγέθους n από έναν πληθυσμό με μέση τιμή μ

Ποιότητα Λογισμικού. Μετρικές Αντικειμενοστραφούς Σχεδίασης

$ι ιι η ι ι!η ηι ι ANOVA. To ANOVA ι ι ι η η η ιη (Analysis of Variance). * ι! ι ι ι ι ι η ιη. ;, ι ι ι! η ιι ηιη ι ι!η ι η η ιη ι ι η ι η.

Παράδειγμα: Γούργουλης Βασίλειος, Επίκουρος Καθηγητής Τ.Ε.Φ.Α.Α.-Δ.Π.Θ.

Παράδειγμα: Γούργουλης Βασίλειος, Επίκουρος Καθηγητής Τ.Ε.Φ.Α.Α.-Δ.Π.Θ.

τατιστική στην Εκπαίδευση II

ΑΝΑΛΥΣΗ Ε ΟΜΕΝΩΝ. 5. Στατιστική συµπερασµατολογία για ποσοτικές µεταβλητές: Έλεγχοι υποθέσεων και διαστήµατα εµπιστοσύνης

Λυμένες Ασκήσεις για το μάθημα:

ΑΝΑΛΥΣΗ ΔΕΔΟΜΕΝΩΝ. Δρ. Βασίλης Π. Αγγελίδης Τμήμα Μηχανικών Παραγωγής & Διοίκησης Δημοκρίτειο Πανεπιστήμιο Θράκης

ΚΟΙΝΩΝΙΟΒΙΟΛΟΓΙΑ, ΝΕΥΡΟΕΠΙΣΤΗΜΕΣ ΚΑΙ ΕΚΠΑΙΔΕΥΣΗ

ΕΡΓΟ: Συγκριτική Μελέτη Λογισμικού Βιβλιοθηκών, Λογισμικού Εφαρμογών Ανοικτού Κώδικα και Βιομηχανικού Λογισμικού MIS:

Για να ελέγξουµε αν η κατανοµή µιας µεταβλητής είναι συµβατή µε την κανονική εφαρµόζουµε το test Kolmogorov-Smirnov.

Αν οι προϋποθέσεις αυτές δεν ισχύουν, τότε ανατρέχουµε σε µη παραµετρικό τεστ.

ΕΚΠΑΙΔΕΥΤΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΑΝΑΠΤΥΞΗ ΑΝΘΡΩΠΙΝΩΝ ΠΟΡΩΝ

τατιςτική ςτην Εκπαίδευςη II

Παράδειγμα: Γούργουλης Βασίλειος, Επίκουρος Καθηγητής Τ.Ε.Φ.Α.Α.-Δ.Π.Θ.

Ποιότητα Λογισμικού. Μετρικές Αντικειμενοστραφούς Σχεδίασης

3 ο Φυλλάδιο Ασκήσεων. Εφαρμογές

Επιστηµονική Επιµέλεια ρ. Γεώργιος Μενεξές. Εργαστήριο Γεωργίας. Viola adorata

Statistics. hrs1 Number of hours worked last week. educ Highest year of school completed. sibs NUMBER OF BROTHERS AND SISTERS. N Valid

ΠΕΡΙΓΡΑΦΙΚΗ και ΕΠΑΓΩΓΙΚΗ ΣΤΑΤΙΣΤΙΚΗ

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΕΙΔΙΚΑ ΘΕΜΑΤΑ ΣΤΗΝ ΣΤΑΤΙΣΤΙΚΗ ΕΡΓΑΣΤΗΡΙΟ (SPSS)

Μενύχτα, Πιπερίγκου, Σαββάτης. ΒΙΟΣΤΑΤΙΣΤΙΚΗ Εργαστήριο 6 ο

ΒΙΟΣΤΑΤΙΣΤΙΚΗ. ΑΛΕΓΚΑΚΗΣ ΑΘΑΝΑΣΙΟΣ Φυσικός, PH.D. Σχολής Επιστηµών Υγείας

Βοήθημα Εξετάσεων. Μεταπτυχιακό Πρόγραμμα Σπουδών στη Διοίκηση των Επιχειρήσεων

Ενότητα 5 η : Επαγωγική Στατιστική ΙΙ Ανάλυση ποσοτικών δεδομένων. Δημήτριος Σταμοβλάσης Φιλοσοφίας Παιδαγωγικής

ΚΕΦΑΛΑΙΟ 5 ο. 5.1 Εντολή EXPLORE 5.2 Εντολή CROSSTABS 5.3 Εντολή RAΤΙΟ STΑTISTIC 5.4 Εντολή OLAP CUBES. Daily calorie intake

Μεθοδολογία των επιστημών του Ανθρώπου : Στατιστική Εργαστήριο 6 :

ΑΝΑΛΥΣΗ Ε ΟΜΕΝΩΝ. 8. Ανάλυση διασποράς (ANOVA)

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΡΟΥΜΠΟΣ ΓΙΩΡΓΟΣ

Statistics 104: Quantitative Methods for Economics Formula and Theorem Review

PENGARUHKEPEMIMPINANINSTRUKSIONAL KEPALASEKOLAHDAN MOTIVASI BERPRESTASI GURU TERHADAP KINERJA MENGAJAR GURU SD NEGERI DI KOTA SUKABUMI

ΣΗΜΕΙΩΣΕΙΣ ΣΤΑΤΙΣΤΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥ ΩΝ «ΦΡΟΝΤΙ Α ΣΤΟ ΣΑΚΧΑΡΩ Η ΙΑΒΗΤΗ» 2 ο Μάθηµα

Ενότητα 3: Ανάλυση Διακύμανσης κατά ένα παράγοντα One-Way ANOVA

Lampiran 1 Output SPSS MODEL I

ΑΝΤΙΚΕΙΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

Αρχιτεκτονικές Συστημάτων

ΗΥ-SPSS Statistical Package for Social Sciences 6 ο ΜΑΘΗΜΑ. ΧΑΡΑΛΑΜΠΟΣ ΑΘ. ΚΡΟΜΜΥΔΑΣ Διδάσκων Τ.Ε.Φ.Α.Α., Π.Θ.

Διδακτική Προσέγγιση για Διασφάλιση Ποιότητας Πηγαίου Κώδικα Λογισμικού με Βελτιστοποίηση των Μετρικών του

ΠΕΡΙΓΡΑΦΙΚΗ και ΕΠΑΓΩΓΙΚΗ ΣΤΑΤΙΣΤΙΚΗ

ΕΡΕΥΝΑ ΑΓΟΡΑΣ ΣΕ ΞΕΝΟΔΟΧΕΙΑ ΤΗΣ ΚΡΗΤΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΑΠΌ ΣΑΛΟΥΣΤΡΟΥ ΑΝΤΙΓΟΝΗ ΣΥΓΛΕΤΟΥ ΕΛΕΝΗ

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ

ΑΝΑΛΥΣΗ ΔΕΔΟΜΕΝΩΝ. Δρ. Βασίλης Π. Αγγελίδης Τμήμα Μηχανικών Παραγωγής & Διοίκησης Δημοκρίτειο Πανεπιστήμιο Θράκης

Σχεδίαση Κλάσεων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση:

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΙΔΙΚΑ ΘΕΜΑΤΑ. Κεφάλαιο 13. Συμπεράσματα για τη σύγκριση δύο πληθυσμών

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Έλεγχος για τις παραμέτρους θέσης περισσοτέρων των δύο πληθυσμών με ανεξάρτητα δείγματα

ΕΛΕΓΧΟΙ ΥΠΟΘΕΣΕΩΝ ΓΙΑ ΤΗΝ ΣΥΓΚΡΙΣΗ ΜΕΣΩΝ ΤΙΜΩΝ ΚΑΙ ΑΝΑΛΟΓΙΩΝ ΔΥΟ

Άσκηση 11. Δίνονται οι παρακάτω παρατηρήσεις:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ.

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής

Περιγραφή των εργαλείων ρουτινών του στατιστικού

Τίτλος Μαθήματος: Στατιστική Ανάλυση Δεδομένων

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Η μεθοδολογία ICONIX. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Διαγράμματα Κλάσεων στη Σχεδίαση

Η ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΕΞΕΙΔΙΚΕΥΣΗΣ. Υ7ΐοβάλλεται στην

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΜΕΤΑΠΤΥΧΙΑΚΟ ΔΙΠΛΩΜΑ ΕΙΔΙΚΕΥΣΗΣ (MSc) στα ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΠΛΩΜΑΤΙKH ΕΡΓΑΣΙΑ

Μη Παραµετρικοί Έλεγχοι

ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ

Διερευνητική Ανάλυση Δεδομένων Exploratory Data Analysis

ΚΕΦΑΛΑΙΟ 3 o ΜΕΘΟ ΟΙ ΜΕΛΕΤΗΣ ΤΗΣ ΑΤΜΟΣΦΑΙΡΙΚΗΣ ΡΥΠΑΝΣΗΣ ΕΦΑΡΜΟΓΕΣ ΚΛΑΣΣΙΚΩΝ ΣΤΑΤΙΣΤΙΚΩΝ ΑΝΑΛΥΣΕΩΝ

UΟΙ ΑΠΟΦΟΙΤΟΙ ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ

06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός

ΠΕΡΙΓΡΑΦΙΚΗ και ΕΠΑΓΩΓΙΚΗ ΣΤΑΤΙΣΤΙΚΗ

Διερευνητική Ανάλυση Δεδομένων Exploratory Data Analysis

Εισαγωγή στη Σχεδίαση Λογισμικού

Κεφάλαιο 3: Ανάλυση μιας μεταβλητής

(Διαφάνειες Νίκου Βιδάκη)

Προσοµοίωση Εξέτασης στο µάθηµα του Γεωργικού Πειραµατισµού

Transcript:

Comparative Study of API vs. Open-Source Software ZAPROUDI A. PASCHALIA Supervisor: CHATZHGEORGIOU ALEXANDROS

ΕΙΣΑΓΩΓΗ «Κάθε στοιχείο σε μία βιβλιοθήκη γράφεται για να διατηρηθεί στον χρόνο» J. Tulach. [1] Η διαδικασία της σχεδίασης, πρέπει να είναι πρωταρχικό μέλημα για να καλύψει: Τις νέες απαιτήσεις των πελατών. Την συμβατότητα με προηγούμενες εκδόσεις.

Κατηγορίες Λογισμικού Βιβλιοθήκες ανοικτού κώδικα: «Τα APIs είναι γραμμένα από έμπειρους για μη έμπειρους» (APIs are written by experts for non experts). Πιθανή εσωτερική πολυπλοκότητα, που όμως ποτέ δεν φτάνει στον τελικό χρήστη-προγραμματιστή εξαιτίας της έννοιας της αφαίρεσης (abstraction). Παραδείγματα προσεγμένης σχεδίασης. Άριστη τεκμηρίωση (documentation) Εφαρμογές ανοικτού κώδικα: Μπορούν να χρησιμοποιηθούν από οποιονδήποτε χρήστη. Δεν χαρακτηρίζονται από υψηλής ποιότητας αρχιτεκτονική σχεδίαση.

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ Σύγ κρισ η Μ έσων 200,00 180,00 160,00 Τιμές μετρικών 140,00 120,00 100,00 80,00 60,00 40,00 20,00,00 AHF MHF AIF MIF DOIH PF CBO CF LCOM1 LCOM2 LCOM3 CC WMPC1 WMPC2 A/C M/C Μ ετρικές Μέσος έργων βιβλιοθηκών Μέσος έργων εφαρμογών

ΠΕΡΙΓΡΑΦΙΚΑ ΜΕΤΡΑ Έργα Βιβλιοθηκών Έργα Εφαρμογών Minimum Maximum Mean Std. Deviation Minimum Maximum Mean Std. Deviation AHF 41 91 73,08 15,171 MHF 3 58 28,24 15,611 AIF 0 88 28,80 22,405 MIF 7 92 71,60 19,166 DOIH 1 7 4,80 1,472 PF 4 100 22,52 22,089 CF 1 11 3,48 2,519 CBO 0 14 6,16 3,105 LCOM1 6 1234 179,64 261,384 LCOM2 50 82 68,04 7,966 LCOM3 35 72 58,16 11,119 CC 5 85 22,24 17,064 WMPC1 5 77 19,24 14,495 WMPC2 3 65 17,00 12,563 A/C 0,7 5,6 2,748 1,188 M/C 2,3 12,0 6,156 2,619 AHF 56 98 76,72 11,219 MHF 1 44 21,52 11,244 AIF 0 77 31,72 20,070 MIF 57 97 81,84 11,205 DOIH 3 9 5,76 1,877 PF 0 41 12,16 12,555 CF 0 38 8,68 11,679 CBO 4 13 7,68 2,780 LCOM1 19 168 60,84 43,108 LCOM2 23 88 60,36 12,910 LCOM3 29 75 59,48 9,161 CC 7 35 14,20 6,410 WMPC1 7 33 13,64 6,324 WMPC2 7 28 12,44 5,245 Attr/Class 1,3 12,6 4,404 2,583 Meth/class 3,1 16,2 7,38 3,267

Έργα Βιβλιοθηκών Descriptives Έργα Εφαρμογών Statistic Statistic MIF Mean 71,60 MIF Mean 81,84 95% Confidence Interval for Mean Lower Bound 63,69 95% Confidence Lower Bound 77,21 Upper Bound 79,51 Interval for Mean Upper Bound 86,47 5% Trimmed Mean 73,76 5% Trimmed Mean 82,36 Interquartile Range 22 Interquartile Range 16 PF Mean 22,52 PF Mean 12,16 95% Confidence Interval for Mean Lower Bound 13,40 95% Confidence Lower Bound 6,98 Upper Bound 31,64 Interval for Mean Upper Bound 17,34 5% Trimmed Mean 19,69 5% Trimmed Mean 11,27 Interquartile Range 25 Interquartile Range 21 LCOM2 Mean 68,04 LCOM2 Mean 60,36 95% Confidence Interval for Mean Lower Bound 64,75 95% Confidence Lower Bound 55,03 Upper Bound 71,33 Interval for Mean Upper Bound 65,69 5% Trimmed Mean 68,23 5% Trimmed Mean 60,84 Interquartile Range 13 Interquartile Range 13 CC Mean 22,24 CC Mean 14,20 95% Confidence Interval for Mean Lower Bound 15,20 95% Confidence Lower Bound 11,55 Upper Bound 29,28 Interval for Mean Upper Bound 16,85 5% Trimmed Mean 20,07 5% Trimmed Mean 13,54 Interquartile Range 15 Interquartile Range 6

Συνοπτικά αποτελέσματα του t-test Independent Samples Test t-test for Equality of Means 95% Confidence Interval of the Difference t df Sig. (2-tailed) Mean Difference Std. Error Difference Lower Upper MIF -2,306 48,025-10,240 4,440-19,168-1,312 DOIH -2,012 48,050 -,960,477-1,919 -,001 PF 2,039 48,047 10,360 5,082,143 20,577 CF -2,176 26,228,039-5,200 2,389-10,110 -,290 LCOM1 2,242 25,305,034 118,800 52,983 9,746 227,854 LCOM2 2,531 48,015 7,680 3,034 1,580 13,780 CC 2,205 30,640,035 8,040 3,646,601 15,479 A_C -2,913 33,713,006-1,6560,5685-2,8117 -,5003

ΣΥΜΠΕΡΑΣΜΑΤΑ Κληρονομικότητα (Inheritance) «Μην εκθέτεις μεγάλες σε βάθος ιεραρχίες, είναι απίθανο να βελτιώσεις την χρησιμοποίηση του API» (Don t expose a deep hierarchy of classes, is unlikely to improve an API s usability) J. Tulach.[1] Η μετρική MIF(Method Inheritance Factor) για την μετρηση του βαθμού χρησιμοποίησης της Κληρονομικότητας παρουσίασε σημαντική διαφορά στην σύγκριση των έργων των δύο κατηγοριών λογισμικού.

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

Πολυμορφισμός ( Polymorphism ) «Αναφέρσου σε αντικείμενα με τα interfaces τους» (Refer to objects by their interfaces). J. Bloch [2] Έργα που ακολουθούν αυτή την αρχή, μπορούν ευκολότερα να επεκταθούν, παρουσιάζουν μεγαλύτερο βαθμό επαναχρησιμοποίησης και οπωσδήποτε καλύτερη συντήρηση του συστήματος. Νέες κλάσεις μπορούν να προστεθούν με λίγες ή καθόλου τροποποιήσεις. Αυτό δίνει μεγάλη «εκφραστική» δυνατότητα στους προγραμματιστές.

Από τις μετρήσεις που έδωσε η μετρική PF (Polymorphism Factor) παρατηρείται: τα έργα του λογισμικού εφαρμογών φαίνεται να μην εκμεταλλεύονται πολύ τον μηχανισμό του Πολυμορφισμού. (mean= 12.16) αντίθετα με τα έργα του λογισμικού βιβλιοθηκών για τα οποία διαπιστώνεται ότι τον χρησιμοποιούν σε πολύ καλό βαθμό. (mean=22.52)

Σύζευξη (coupling) ή Εξάρτηση (dependency) «Το API πρέπει να είναι τόσο μικρό, όσο είναι δυνατό αλλά όχι μικρότερο.» (API Should Be As Small As Possible But No Smaller). J. Bloch [2] Σ ένα υψηλής σύζευξης (coupling) σύστημα αν χρειαστεί να τροποποιήσουμε ένα στοιχείο του, τότε ενδεχομένως να «παραβιαστεί» όλο το σύστημα. Οι εξαρτήσεις μεταξύ των μονάδων ενός συστήματος ελαττώνονται, όσο το μέγεθος κάθε τμήματός του μειώνεται.

Αυξημένη σύζευξη, σημαίνει: μικρό βαθμό ενθυλάκωσης (encapsulation) μείωση του χαρακτηριστικού της ευαναγνωσιμότητας (readability). δημιουργεί δυσκολία στην συντήρηση (maintenance) και στον έλεγχο ατελειών, λόγω των πολλών εξαρτήσεων μεταξύ των μονάδων. δυσκολία επέκτασης (extensibility) δυσκολία επαναχρησιμοποίησης (reusability).

Η μετρική CF (Coupling Factor), για την μέτρηση του βαθμού της Σύζευξης παρουσίασε στατιστικά σημαντική διαφορά (p-value=0.39 σε επίπεδο στατιστικής σημαντικότητας 5%) στην σύγκριση των έργων των δύο κατηγοριών λογισμικού. Στα έργα του λογισμικού εφαρμογών (mean=8.68) φαίνεται να υπάρχει μεγάλη σύζευξη μεταξύ των μονάδων τους, το οποίο είναι σημάδι «κακής» σχεδίασης. Στα έργα του λογισμικού βιβλιοθηκών (mean=3.48) παρατηρείται μικρότερη σύζευξη.

Συνοχή ή Συνεκτικότητα (Cohesion) Πολυπλοκότητα «Μία καλά σχεδιασμένη βιβλιοθήκη θα πρέπει να αποκρύπτει κάθε είδους περίπλοκων και επικίνδυνων σημείων για τους χρήστες της». [2] Έτσι στα έργα του λογισμικού βιβλιοθηκών περιμένουμε πιθανώς σε μεγαλύτερο βαθμό την πολυπλοκότητα και ενδεχομένως σε μικρότερο βαθμό την συνεκτικότητα για κάθε κλάση.

Συνδυάζοντας τα αποτελέσματα που έδωσε η στατιστική ανάλυση σε ότι αφορά την συνεκτικότητα (Μετρική LCOM2 (Lack of Cohesion Of Method) ) και την κυκλωματική πολυπλοκότητα (Μετρική CC (Cyclomatic Complexity)) παρατηρούμε: Για τα έργα βιβλιοθηκών υπάρχουν σοβαρές ενδείξεις ότι τα τμήματα τους, παρουσιάζουν μικρότερη συνεκτικότητα (mean LCOM2 =68.04) και μεγαλύτερη πολυπλοκότητα (mean CC =22.24). Για τα έργα εφαρμογών έχουμε μεγαλύτερη συνεκτικότητα (mean LCOM2 =60.36) και μικρότερη πολυπλοκότητα (mean CC =14.20)

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

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

ΑΝΑΦΟΡΕΣ [ 1 ] Tulach Jaroslav, «Practical API Design, Confessions of a Java Framework Architect», Apress, 233 Spring Street, New York, 2008 [ 2 ] Bloch Joshua, Effective Java, The Java series, Addison-Wesley, Upper Saddle River, NJ, 2001 [ 3 ] Victor Basili, Lionel Briand and Walcelio Melo. A Validation of Object-Oriented Design Metrics as Quality Indicators, IEEE Transactions on Software Engineering. Vol. 22, No. 10, October 1996