Μετρικές Λογισμικού για Αντικειμενοστρεφή Συστήματα

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΤΡΟΠΟΣ ΑΞΙΟΛΟΓΗΣΗΣ ΤΩΝ ΟΡΓΑΝΩΤΙΚΩΝ ΚΑΙ ΔΙΟΙΚΗΤΙΚΩΝ ΔΕΞΙΟΤΗΤΩΝ ΤΟΥ ΟΡΓΑΝΙΣΜΟΥ  Εκπαιδευτικό Κεφάλαιο 1.1 Τεχνικές δεξιότητες και προσόντα.
Advertisements

Δ ΙΑΔΙΚΑΣΙΕΣ Α ΞΙΟΛΟΓΗΣΗΣ Ε ΚΠΑΙΔΕΥΤΙΚΟ Υ Λ ΟΓΙΣΜΙΚΟ Υ Αναστασία Γεωργιάδου.
ΗΜΕΡΙΔΑ «Λόγος και Αντίλογος για την Επιλογή και Αξιολόγηση των Εκπαιδευτικών : Τάσεις και Προβληματισμοί» Σάββατο, 13 Απριλίου 2013 Ανάπτυξη Μηχανισμών.
Αρχές Αντικειμενοστρεφούς Σχεδίασης Object – Oriented Design Principles Μεταπτυχιακό Πρόγραμμα Σπουδών, Τμ. Εφ. Πληροφορικής.
Διαχείριση Έργου Οργάνωση, σχεδιασμός και προγραμματισμός έργων ανάπτυξης λογισμικού.
Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων Αρχιτεκτονικός Σχεδιασμός Λεπτομερής Σχεδιασμός Κωδικοποίηση Έλεγχος Παράδοση Συστήματος Λειτουργία - Συντήρηση.
Βασίλης Παπαχαρίσης ( /
ΣΥΣΤΗΜΑΤΑ ΚΤΙΡΙΑΚΩΝ ΑΥΤΟΜΑΤΙΣΜΩΝ
H διαδικασία ανάπτυξης λογισμικού. Tι θα γνωρίσουμε •Τις φάσεις ανάπτυξης του λογισμικού. •Γιατί χρειάζεται να γίνει ανάλυση του προβλήματος. •Τι θα πρέπει.
ΑΝΑΛΥΣΗ ΔΕΔΟΜΕΝΩΝ (Εργαστήριο) Εισηγητής: Θανάσης Βαφειάδης
Μεθοδολογίες Προγραμματισμού ΙΙ Μ Ε Τ Ρ Ι Κ Ε Σ ΑΝΤΚΕΙΜΕΝΟΣΤΡΕΦΟΥΣ ΣΧΕΔΙΑΣΗΣ Ποιότητα Λογισμικού Παναγιώτης Σφέτσος, PhD
Γενική Διεύθυνση Απασχόλησης, Κοινωνικών Υποθέσεων και Ίσων Ευκαιριών
ΕΧ ΑΝΤΕ ΑΞΙΟΛΟΓΗΣΗ ΤΩΝ ΠΡΟΓΡΑΜΜΑΤΩΝ ΤΗΣ ΠΕΡΙΟΔΟΥ Ε.Υ.Σ.Σ.Α.Α.Π. Βόλος
Σχεδιασμός ηλεκτρονικών υπηρεσιών μεγάλης κλίμακας και πολυπλοκότητας 24/10/2002.
Αξιολόγηση της επίδρασης της χρήσης προτύπων σχεδίασης στις τιμές των μετρικών αντικειμενοστρεφούς σχεδίασης. Εφαρμογή σε εργαλείο σχεδίασης λογισμικού.
Έρευνα Έρευνα :“Συστηματική, ελεγχόμενη, εμπειρική και κριτική διερεύνηση υποθετικών προτάσεων σχετικά με τις εικαζόμενες σχέσεις ανάμεσα σε φυσικά(;)
Μοντέλο Διδασκαλίας Φυσικών Επιστήμων, για την Υποχρεωτική Εκπαίδευση, στην Κατεύθυνση της Ανάπτυξης Γνώσεων και Ικανοτήτων. Π. Κουμαράς.
ΤΜΗΜΑ ΑΡΧΕΙΟΝΟΜΙΑΣ ΚΑΙ ΒΙΒΛΙΟΘΗΚΟΝΟΜΙΑΣ ΈΝΑ ΦΑΣΜΑ ΤΗΣ ΔΙΑΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑΣ (A SPECTUM OF INTEROPERABILITY) Βαρειά Βασιλική (Β ) Βαρειά Βασιλική (Β )
ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΔΙΑΔΙΚΑΣΙΑ ΕΡΕΥΝΑΣ ΣΥΓΓΡΑΦΗ ΕΡΕΥΝΗΤΙΚΟΥ ΠΡΩΤΟΚΟΛΛΟΥ
Πρότυπα Σχεδίασης Design Patterns Μεταπτυχιακό Πρόγραμμα Σπουδών, Τμ. Εφ. Πληροφορικής.
Μεθοδολογίες και Εργαλεία Ανάλυσης και Σχεδιασμού Π.Σ. Σπύρος Κοκολάκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ.
Τεχνολογία ΛογισμικούSlide 1 Σχεδιασμός Λογισμικού u Ανάπτυξη λύσης που ικανοποιεί τις απαιτήσεις λογισμικού.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Χειμερινό Εξάμηνο (Ε') - Κωδ. Μαθήματος:
2009ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Κατασκευή Λογισμικού (2/2) Μανόλης.
Οσμές στη Σχεδίαση του Λογισμικού (Code Smells) Πρόγραμμα Μεταπτυχιακών Σπουδών στην Εφαρμοσμένη Πληροφορική.
Τεχνολογία Λογισμικού
Ποιότητα Λογισμικού Ενότητα 10: Μετρικές Ποιότητας Κώδικα. Διδάσκων: Γεώργιος Κακαρόντζας, Καθηγητής Εφαρμογών. Τμήμα Μηχανικών Πληροφορικής, Τεχνολογικής.
ΕΙΣΑΓΩΓΗ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ
ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΚΑΤΑΡΤΙΣΜΟΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΕΞΕΤΑΣΤΙΚΟΥ ΔΟΚΙΜΙΟΥ ΝΕΩΝ ΕΛΛΗΝΙΚΩΝ ΓΥΜΝΑΣΙΟ.
Το κόστος ποιότητας στην μεταλλουργία Ανδρίτσος Δημήτριος Διπλωματική εργασία ΑΘΗΝΑ 2002.
Αρχές Αντικειμενοστρεφούς Σχεδίασης Object – Oriented Design Principles Μεταπτυχιακό Πρόγραμμα Σπουδών, Τμ. Εφ. Πληροφορικής.
Τεχνολογία Λογισμικού
Προγραμματισμός Γιατι γραφουμε προγραμματα (προηγ. διαλεξη)
Χρονική Πολυπλοκότητα
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΠΟΙΟΤΗΤΑΣ. ΕΙΣΑΓΩΓΙΚΕΣ ΕΝΝΟΙΕΣ Ο προγραμματισμός είναι η πρώτη λειτουργία του μάνατζμεντ. Έχει μελλοντοστρεφή χαρακτήρα, προσφέρει κατεύθυνση.
Τεχνολογία ΛογισμικούSlide 1 Τεχνολογία Απαιτήσεων u Καθορίζει τι θέλει ο πελάτης από ένα σύστημα λογισμικού.
Εκτίμηση της Απόδοσης των Οργανισμών Αθλητικής Αναψυχής
PSY 301 Μάθημα 2ον KOINΩΝΙΚΗ ΨΥΧΟΛΟΓΙΑ ΜΕΘΟΔΟΙ & ΜΕΘΟΔΟΛΟΓΙΑ.
ΕΙΣΑΓΩΓΗ Η επιδίωξη: βελτίωση ποιότητας με συνεχή βελτίωση των διεργασιών με βάση τις οποίες παράγονται τα προϊόντα Παράγοντες: ελεγχόμενες μεταβλητές.
Πρόγραμμα Προπτυχιακών Σπουδών Ροή Λ: Λογισμικό Κώστας Κοντογιάννης Αναπλ. Καθηγητής Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Ε.Μ.Π.
Επιχειρησιακές Επικοινωνίες και Δημόσιες Σχέσεις Αθανάσιος Σ. Δερμετζόπουλος, MSc. Τμήμα Διοίκησης Επιχειρήσεων Κατ. Διοίκησης Τουριστικών.
Υλοποίηση εφαρμογών σε προγραμματιστικά περιβάλλοντα Κεφάλαιο 7.
Έλεγχος Έργων Δρ. Απόστολος Ραφαηλίδης Τμ. Διοίκησης Επιχειρήσεων (Πάτρα) ΤΕΙ Δυτ. Ελλάδας.
Σπύρος Αβδημιώτης MBA PhD Τμήμα Διοίκησης Επιχειρήσεων Κατεύθυνση Διοίκησης Τουριστικών Επιχειρήσεων & Επιχειρήσεων Φιλοξενίας Εαρινό Εξάμηνο 2016.
Βιομηχανική Πληροφορική Βολογιαννίδης Σταύρος Τεχνολογία Βιομηχανικού Λογισμικού, πρότυπα ποιότητας.
ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Site: ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ.
ΤΕΙ ΠΕΛΟΠΟΝΝΗΣΟΥ ΔΙΑΦΗΜΙΣΗ ΑΓΡΟΤΙΚΩΝ ΠΡΟΪΟΝΤΩΝ / ΤΡΟΦΙΜΩΝ Εισήγηση 6 η Δρ. Δημήτριος Π. Πετρόπουλος Οικονομολόγος.
Επίσημος ορισμός Ποιότητας (πρότυπο ISO 8402) Σύνολο χαρακτηριστικών μιας οντότητας για την ικανοποίηση εκφρασμένων και συνεπαγόμενων αναγκών. Αντικείμενο.
► Εισαγωγή στη Νοσηλευτική Έρευνα ► Ορισμοί ► Χαρακτηριστικά επιστημονικής έρευνας ► Τύποι της έρευνας ► Η χρησιμότητα της έρευνας στο χώρο της υγείας.
Τεχνολογία Λογισμικού
Ε.Ε.ΚΟΥΣΚΟΥΝΑ.
Διοίκηση Ποιότητας Ενότητα 1: Εισαγωγή – Ορισμοί.
Μεθοδολογία της έρευνας στις Κοινωνικές Επιστήμες Ι &ΙΙ
Αποτελέσματα Έργου Έρευνας, Ανάπτυξης και Επίδειξης στα πλαίσια του ΣΥΝΕΡΓΑΣΙΑ11 ΕΣΠΑ Dynamic Cargo Routing on-the-Go Δυναμική Δρομολόγηση.
ΙΕΚ Γαλατσίου Στατιστική Ι
ΔΙΟΙΚΗΣΗ ΟΛΙΚΗΣ ΠΟΙΟΤΗΤΑΣ
Πρόγραμμα Προπτυχιακών Σπουδών Ροή Λ: Λογισμικό
Τεχνολογία λογισμικού
Πολυσυγγραμμικότητα Εξειδίκευση
ΣΥΣΤΗΜΑ ΠΟΙΟΤΗΤΑΣ ΛΟΓΙΣΜΙΚΟΥ (QUALITY SYSTEM)
Μεθοδολογία της έρευνας στις Κοινωνικές Επιστήμες Ι &ΙΙ
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων 2ο Κεφάλαιο.
Ειδικά Θέματα στον προγραμματισμό Υπολογιστών
Επιμέρους Στοιχεία Αξιολόγησης Εκπαιδευτικού Λογισμικού
Το κόστος Ποιότητας    
ΥΛΟΠΟΙΗΣΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ
Εφαρμογή Μεθοδολογίας ICONIX
ΤΕΙ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ Τμήμα Λογιστικής και Χρηματοοικονομικής
Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό (στη γλώσσα Java)
Μεταγράφημα παρουσίασης:

Μετρικές Λογισμικού για Αντικειμενοστρεφή Συστήματα Object-Oriented Design Metrics Προπτυχιακό Πρόγραμμα Σπουδών, Τμ. Εφ. Πληροφορικής

Μετρικές Λογισμικού Τοm De Marco (1982): "You cannot control what you cannot measure" Για την παρακολούθηση, διαχείριση, ποιοτική μελέτη και βελτίωση ΟΠΟΙΟΥΔΗΠΟΤΕ τεχνικού έργου είναι απαραίτητη η έννοια της μέτρησης Η εξαγωγή μέτρων είναι υποκειμενική (π.χ. αξιολόγηση ελκυστικότητας αυτοκινήτου, πολυπλοκότητας λογισμικού) Μέτρο: Ποσοτική ένδειξη αριθμού, διαστάσεων, χωρητικότητας, όγκου κτλ προϊόντος ή διαδικασίας Μέτρηση: Διαδικασία υπολογισμού του μέτρου Μετρική: Ποσοτική εκτίμηση του βαθμού κατά τον οποίο ένα σύστημα κατέχει ένα χαρακτηριστικό

Μετρικές Λογισμικού Αριθμός λαθών σε ένα πρόγραμμα = Μέτρο Συλλογή και καταμέτρηση λαθών = Μέτρηση Συσχετισμός λαθών με κάποιο χαρακτηριστικό, π.χ. ποιότητα (πάνω από 100 λάθη -> κακή ποιότητα, κάτω από 10 λάθη => καλή ποιότητα) = Μετρική

Μετρικές Λογισμικού Μετρικές Διαδικασίας (Διαδικασία: Άνθρωποι, Τεχνολογία, Προϊόν) Μετρικές Έργου (Π.χ. εκτίμηση διάρκειας και κόστους του έργου, COCOMO) Μετρικές Προϊόντος Εσωτερικά Χαρακτηριστικά Οι ιδιότητες εκείνες που εκτιμώνται εξετάζοντας το λογισμικό μεμονωμένα Εξωτερικά Χαρακτηριστικά Οι ιδιότητες εκείνες που είναι δυνατόν να εκτιμηθούν μόνο σε σχέση με το περιβάλλον λειτουργίας

Μετρικές Λογισμικού Μία διαδικασία μέτρησης περιλαμβάνει τις δραστηριότητες: Διατύπωση (Καθορισμός μετρικών) Συλλογή (Συγκέντρωση δεδομένων) Ανάλυση (Υπολογισμός μετρικών) Ερμηνεία (Αξιολόγηση μετρικών) Ανάδραση (Συστάσεις για βελτίωση)

Μετρικές Λογισμικού Αρχές για την διατύπωση κατάλληλων μετρικών: Οι στόχοι των μετρήσεων πρέπει να καθοριστούν πριν από τη συλλογή δεδομένων (Μέγεθος κώδικα, πλήθος δεδομένων, ή πλήθος τελεστών ?) Σαφής ορισμός των μετρικών (NCLOC ή CLOC ?) Χρήση μετρικών προσαρμοσμένων στα προϊόντα και τις διαδικασίες (ΒΔ -> αριθμός δεδομένων, Scient.Progr. -> πολυπλοκότητα)

Μετρικές Λογισμικού Αρχές για τη συλλογή και ανάλυση μετρήσεων: Όπου είναι δυνατό η συλλογή και ανάλυση θα πρέπει να αυτοματοποιείται Χρήση αξιόπιστων στατιστικών τεχνικών για διερεύνηση εσωτερικών και εξωτερικών χαρακτηριστικών (π.χ. συσχετισμός πολυπλοκότητας και αριθμού λαθών) Για κάθε μετρική θα πρέπει να επιδιώκεται ο καθορισμός συγκεκριμένων κανόνων ερμηνείας

Μετρικές Λογισμικού Η ιδανική μετρική θα πρέπει να είναι: Απλή και υπολογίσιμη Εμπειρικά και διαισθητικά πειστική Συνεπής και αντικειμενική Συνεπής ως προς τη χρήση μονάδων Ανεξάρτητη από τη γλώσσα Ουσιαστικός μηχανισμός ανάδρασης

Μετρικές Λογισμικού Πρώτο set μετρικών για ΟΟ συστήματα (Chidamber & Kemerer, MIT, 2001) Weighted Methods Per Class (WMC) Depth of Inheritance Tree (DIT) Number of children (NOC) Coupling between objects (CBO) Response For a Class (RFC) Lack of Cohesion in Methods (LCOM)

WMC Θεωρούμε μία κλάση C1 με μεθόδους M1, M2, . . ., Mn Αν c1, c2, . . ., cn είναι η στατική πολυπλοκότητα κάθε μεθόδου Συζήτηση: Ο αριθμός των μεθόδων και της πολυπλοκότητάς τους αποτελεί ένδειξη της προσπάθειας και του χρόνου που απαιτείται για την ανάπτυξη και συντήρηση του αντικειμένου Όσο μεγαλύτερος ο αριθμός των μεθόδων, τόσο μεγαλύτερη και η επίπτωση στους απογόνους καθώς οι παράγωγες κλάσεις θα τις κληρονομήσουν

DIT DIT = Βάθος κληρονομικότητας στο οποίο βρίσκεται μία κλάση Συζήτηση: Όσο βαθύτερα βρίσκεται μία κλάση, τόσο μεγαλύτερο αριθμό μεθόδων κληρονομεί. Κατά συνέπεια γίνεται πιο πολύπλοκη.

NOC NOC = Αριθμός άμεσων απογόνων Συζήτηση: Ο αριθμός των απογόνων αποτελεί ένδειξη της επίδρασης της κλάσης στο σύστημα. Αν μία κλάση έχει μεγάλο αριθμό απογόνων, απαιτείται εξαντλητικότερος έλεγχος των μεθόδων της

CBO Η τιμή της μετρικής CBO για μία κλάση είναι ίση με τον αριθμό των άλλων κλάσεων στο σύστημα με τις οποίες υπάρχει σύζευξη (εξαιρώντας την κληρονομικότητα) Συζήτηση: Υπερβολική σύζευξη με άλλες κλάσεις καθιστά την κλάση δυσκολότερα συντηρήσιμη και επαναχρησιμοποιήσιμη.

RFC H τιμή RFC ισούται με τον αριθμό των μεθόδων που μπορεί να εκτελεστούν ως απόκριση σε ένα μήνυμα Μi: μέθοδοι της κλάσης Ri: απομακρυσμένες μέθοδοι που μπορούν να κληθούν από μεθόδους της κλάσης Συζήτηση: Αν ο αριθμός των μεθόδων που "ενεργοποιούνται" ως απόκριση σε ένα μήνυμα είναι μεγάλος, ο έλεγχος και η συντήρηση της κλάσης είναι δύσκολη.

LCOM Θεωρούμε μία κλάση C1 με μεθόδους M1, M2, . . ., Mn Έστω {Ii} το σύνολο των μεταβλητών στιγμιοτύπου που χρησιμοποιούνται από τη μέθοδο Mi. Υπάρχουν n τέτοια σύνολα: {Ι1}, {Ι2}, . . . , {Ιn} Συζήτηση: Όσο περισσότερες είναι οι συνεκτικές μέθοδοι, τόσο μεγαλύτερη η συνεκτικότητα και τόσο χαμηλότερη η τιμή της μετρικής LCOM

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

Καταγραφή μετρικών για το έργο λογισμικού Για το έργο λογισμικού που αναπτύσσετε θα καταγράψετε τις τιμές των κάτωθι μετρικών για κάθε κλάση και για το σύστημα Μετρική Ονομασία στο CASE tool Σύστημα Σχόλια LOC LOC Άθροισμα αριθμός γραμμών ΝΟΟ ΝΟΟ Άθροισμα αριθμός μεθόδων WMC WMPC1 Μ.Ο. πολυπλοκότητα DIT DOIH Μέγιστη τιμή βάθος κληρ. NOC NOCC Μ.Ο. αριθμός απογόνων CBO CBO M.O. σύζευξη RFC RFC M.O. αποκρινόμενες μέθοδοι LCOM LCOM1 M.O. συνεκτικότητα Επιπλέον θα πρέπει να σημειώσετε τη συνολική διάρκεια του έργου σε ανθρωποώρες που δαπανήθηκαν για όλες τις φάσεις ανάπτυξης