Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Στην Τεχνολογία Λογισμικού

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Στην Τεχνολογία Λογισμικού"— Μεταγράφημα παρουσίασης:

1 Στην Τεχνολογία Λογισμικού
Εμπειρικές Μελέτες Στην Τεχνολογία Λογισμικού Μεταπτυχιακό Πρόγραμμα Σπουδών, 2017

2 Ορισμός Περιοχή έρευνας που ασχολείται με την εμπειρική μελέτη κατασκευών (artifacts) και διαδικασιών (processes) της Τεχνολογίας Λογισμικού και την εμπειρική επιβεβαίωση θεωριών και υποθέσεων Αντικείμενα Μελέτης Κώδικας (πηγαίος, μεταγλωττισμένος) Συστήματα ελέγχου εκδόσεων Σφάλματα Τεκμηρίωση Σχεδίαση Tests Execution Traces Συμπεριφορά Χρηστών Mailing Lists Απαιτήσεις Empirical studies provide a systematic, disciplined, quantifiable and controlled way of evaluating human-based activities

3 Λόγοι για τη διεξαγωγή εμπ. ερευνών
Για την απόδειξη ‘θεωριών’ και ‘general wisdom’ (π.χ. ΟΟ is better) Για την εύρεση σχέσεων (Π.χ. Εύρεση σχέσης μεταξύ συντηρησιμότητας και μετρικών λογισμικού) Για την επιλογή του βέλτιστου μοντέλου/τεχνικής/εργαλείου (π.χ. Επιλογή του καλύτερου τρόπου πραγματοποίησης επισκοπήσεων) Για την αξιολόγηση μοντέλων (π.χ. Μελέτη της ακρίβειας μοντέλων κόστους)

4 Τύποι εμπειρικών μελετών
Controlled Experiments: Διερεύνηση μιας υπόθεσης όπου μία ή περισσότερες ανεξάρτητες μεταβλητές (treatment) αποτελούν αντικείμενο χειρισμού για να μετρηθεί η επίδρασή τους σε μία ή περισσότερες εξαρτημένες μεταβλητές. Π.χ. Διερεύνηση της επίδρασης που έχει το Pair Programming στην απόδοση προγραμματιστών Μελέτη επί συνόλου φοιτητών που διαχωρίζονται σε δύο (ιδανικά τυχαίες) ομάδες. Η μία ομάδα χρησιμοποιεί pair programming και η άλλη όχι Καταγράφεται η απόδοση της κάθε ομάδας (π.χ. LOC ανά ημέρα, αριθμός σφαλμάτων, ποιότητα κώδικα κλπ) Στατιστική διερεύνηση της διαφοράς μεταξύ των δύο ομάδων

5 Τύποι εμπειρικών μελετών
Case Study (Μελέτη Περίπτωσης): Διερεύνηση φαινομένων μέσα στο πλαίσιο όπου λαμβάνουν χώρα. Απόκτηση γνώσης για μία περίπτωση (π.χ. ένα project) ή πολλές σχετιζόμενες περιπτώσεις (π.χ. όλα τα Apache Projects) Π.χ. Διερεύνηση της επίδρασης που έχει το Pair Programming στην απόδοση προγραμματιστών Εύρεση εταιρειών ανάπτυξης που υιοθετούν το Pair Programming και εταιρειών που δεν το χρησιμοποιούν Στατιστική διερεύνηση διαφορών μεταξύ τους Οι μελέτες περίπτωσης διεξάγονται για την παρακολούθηση έργων ή δραστηριοτήτων. Τα δεδομένα συλλέγονται για έναν συγκεκριμένο σκοπό κατά τη διάρκεια της μελέτης. Στατιστικές αναλύσεις μπορούν να πραγματοποιηθούν επί των δεδομένων στη συνέχεια. Το επίπεδο ελέγχου είναι μικρότερο από ότι σε ένα πείραμα και θεωρείται observational study.

6 Τύποι εμπειρικών μελετών
Survey (Επισκόπηση): Μελέτη των χαρακτηριστικών ενός μεγάλου πληθυσμού ‘ατόμων’ (ανθρώπων ή έργων). Π.χ. Διερεύνηση της άποψης που έχουν οι πελάτες για τη νέα όψη ενός διαδικτυακού καταστήματος Διερεύνηση μέσω ερωτηματολογίου των προβλημάτων που αντιμετωπίζουν οι developers κατα την εφαρμογή μιας μεθοδολογίας Scrum Μελέτη που πραγματοποιείται συνήθως αναδρομικά, π.χ. όταν ένα εργαλείο ή μια τεχνική έχει ήδη εφαρμοστεί για κάποιο διάστημα. Ο κύριος μηχανισμός συλλογής δεδομένων είναι οι συνεντεύξεις ή τα ερωτηματολόγια.

7 Τύποι εμπειρικών μελετών

8 Διεξαγωγή Case Study Καθορισμός και Διατύπωση Στόχων (Goal-Question-Metrics approach): analyze successive software versions of web applications written in PHP for the purpose of evaluating their evolution with respect to their conformance to Lehman’s laws from the perspective of researchers and software developers in the context of software quality analysis

9 Διεξαγωγή Case Study Διατύπωση Ερευνητικών Υποθέσεων (Research Questions): RQ: Is the evolution of web applications written in PHP compliant with Lehman’s laws of evolution? αναλύεται σε υποερωτήματα, ένα για κάθε νόμο του Lehman, π.χ. RQ1.2: Is the evolution of web applications written in PHP compliant with Lehman’s second law of evolution? (According to this law the complexity of software increases over time unless proactive measures are taken to reduce or stabilize the complexity)

10 Επιλογή περιπτώσεων Selection of Cases
Κριτήρια για την επιλογή των περιπτώσεων μελέτης: Ο πηγαίος κώδικας πρέπει να είναι δημόσια διαθέσιμος Τα έργα πρέπει να έχουν τουλάχιστον χχ γενιές για να δικαιολογούν την ανάλυση της εξέλιξης Τα έργα θα πρέπει να ειναι γραμμένα σε PHP Τα έργα θα πρέπει να έχουν ποικίλο μέγεθος .....

11 Επιλογή περιπτώσεων

12 Χρησιμοποιούμενες διεργασίες και εργαλεία
Περιγραφή των εργαλείων και της διαδικασίας συλλογής δεδομένων

13 Data Collection – Data Analysis
Παράθεση των μεταβλητών που συλλέχθηκαν Συζήτηση του τρόπου ελέγχου των ερευνητικών υποθέσεων Mann-Kendall trend test

14 Results and discussion
Παράθεση ευρημάτων – έλεγχος υποθέσεων Σε 18 έργα (περισσότερα από τα μισά) απορρίπτεται η μηδενική υπόθεση (υπάρχει τάση, είτε θετική είτε αρνητική) Απο τα 18 project, μόνο σε 6 υπάρχει αυξανόμενη πολυπλοκότητα συνεπάγεται ότι ο νομος ΙΙ δεν ισχύει για την πλειονότητα των έργων

15 Implications for practitioners and researchers
Τι συνεπάγεται η μελέτη μας για τους ενδιαφερόμενους; οι νόμοι μπορούν να χρησιμοποιηθούν για να διερευνηθεί αν το έργο μας διαφέρει χαρακτηριστικά από την εξέλιξη άλλων project Τι μπορούν να μελετήσουν περαιτέρω οι ερευνητές; ισχύουν τα ίδια συμπεράσματα και σε άλλες scripting γλώσσες;

16 Απειλές στην εγκυρότητα
Threats to construct validity (τα χρησιμοποιούμενα μέτρα μπορεί να μην αντικατοπτρίζουν επακριβώς τα φαινόμενα που μελετούμε) οι μετρικές που χρησιμοποιήθηκαν ενδέχεται να μην ειναι οι κατάλληλες για τη μελέτη των νόμων Threats to external validity (περιορίζουν τη δυνατότητα γενίκευσης) μελετήθηκαν μόνο 30 έργα / μόνο PHP/ μόνο OSS Threats to internal validity (αν υπάρχει σχέση μεταξύ δύο μεταβλητών, θα πρέπει να εξασφαλίσουμε οτι αυτη δεν οφείλεται σε μια τρίτη μεταβλητή ή παράγοντα που ενδεχομένως δεν έχουμε ελέγξει)


Κατέβασμα ppt "Στην Τεχνολογία Λογισμικού"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google