ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Σχετικά έγγραφα
ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ «ΔΙΟΙΚΗΣΗ της ΥΓΕΙΑΣ» ΑΞΙΟΛΟΓΗΣΗ ΑΠΟΔΟΣΗΣ ΠΡΟΣΩΠΙΚΟΥ: ΜΕΛΕΤΗ ΠΕΡΙΠΤΩΣΗΣ ΙΔΙΩΤΙΚΟΥ ΝΟΣΟΚΟΜΕΙΟΥ ΠΑΡΑΓΙΟΥΔΑΚΗ ΜΑΓΔΑΛΗΝΗ

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ. «ΔΙΟΙΚΗΣΗ της ΥΓΕΙΑΣ» ΑΞΙΟΛΟΓΗΣΗ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΝΟΣΟΚΟΜΕΙΑΚΟΥ ΠΡΟΣΩΠΙΚΟΥ

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

«Αξιολόγηση ατόμων με αφασία για Επαυξητική και Εναλλακτική Επικοινωνία, σύμφωνα με το μοντέλο συμμετοχής»

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή διατριβή

þÿ ½ Á Å, ˆ»µ½± Neapolis University þÿ Á̳Á±¼¼± ¼Ìù±Â ¹ º à Â, Ç» Ÿ¹º ½ ¼¹ºÎ½ À¹ÃÄ ¼Î½ º±¹ ¹ º à  þÿ ±½µÀ¹ÃÄ ¼¹ µ À»¹Â Æ Å

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

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

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

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

Πτυχιακή διατριβή. Η επίδραση της τασιενεργής ουσίας Ακεταλδεΰδης στη δημιουργία πυρήνων συμπύκνωσης νεφών (CCN) στην ατμόσφαιρα

Θεμελιώδεις αρχές επιστήμης και μέθοδοι έρευνας

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

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

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

Ο νοσηλευτικός ρόλος στην πρόληψη του μελανώματος

ΕΙΔΗ ΕΡΕΥΝΑΣ I: ΠΕΙΡΑΜΑΤΙΚΗ ΕΡΕΥΝΑ & ΠΕΙΡΑΜΑΤΙΚΟΙ ΣΧΕΔΙΑΣΜΟΙ

Α.Σ.ΠΑΙ.Τ.Ε. Π.Μ.Σ. ΕΠΙΣΤΗΜΕΣ ΤΗΣ ΑΓΩΓΗΣ

Πτυχιακή εργασία Ο ΡΟΛΟΣ ΤΩΝ ΚΟΙΝΟΤΙΚΩΝ ΝΟΣΗΛΕΥΤΩΝ ΣΤΗ ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΑΙΔΙΟΥ ΜΕ ΧΡΟΝΙΟ ΑΣΘΜΑ

Τo πρόγραμμα «Διάγραμμα Ροής» και η διδακτική του αξιοποίηση στην Διδασκαλία του προγραμματισμού

þÿ ÀÌ Ä º± µä À ¹ ¼ ½

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή διατριβή. Ονοματεπώνυμο: Αργυρώ Ιωάννου. Επιβλέπων καθηγητής: Δρ. Αντρέας Χαραλάμπους

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

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή Εργασία

Η διδασκαλία στο εργαστήριο. Kώστας Χαρίτος - ΔιΧηΝΕΤ

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


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

Η πρόληψη των κατακλίσεων σε βαριά πάσχοντες και η χρήση ειδικών στρωμάτων για την πρόληψη και αντιμετώπιση των κατακλίσεων

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ. «ΔΙΟΙΚΗΣΗ της ΥΓΕΙΑΣ»

UML: Unified modelling language

ΤΟ ΜΟΝΤΕΛΟ Οι Υποθέσεις Η Απλή Περίπτωση για λi = μi 25 = Η Γενική Περίπτωση για λi μi..35

Πτυχιακή εργασία του φοιτητή Δούκα Κλεάνθη

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

Κεφάλαιο 7: Τεχνολογία Λογισμικού

Η θέση ύπνου του βρέφους και η σχέση της με το Σύνδρομο του αιφνίδιου βρεφικού θανάτου. ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ

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

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

Keywords: Tutorials, pedagogic principles, print and digital distance learning materials, e-comet Laboratory of Hellenic Open University

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ «ΔΙΟΙΚΗΣΗ της ΥΓΕΙΑΣ» ΔΙΑΧΕΙΡΗΣΗ ΑΝΘΡΩΠΙΝΟΥ ΔΥΝΑΜΙΚΟΥ: ΜΕΛΕΤΗ ΠΕΡΙΠΤΩΣΗΣ ΕΤΑΙΡΕΙΑΣ ΠΕΤΡΕΛΑΙΟΕΙΔΩΝ ΧΑΣΑΠΟΓΛΟΥ ΔΑΝΑΗ

PUBLICATION. Participation of POLYTECH in the 10th Pan-Hellenic Conference on Informatics. April 15, Nafplio

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

Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας»

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

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

Μεταπτυχιακή Διπλωματική Εργασία. Κ. Αλεξανδρής Αν. Καθηγητής, ΤΕΦΑΑ, ΑΠΘ

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

þÿÿ ÁÌ» Â Ä Â ³µÃ ±Â ÃÄ ½ ±À

Λογιστική Θεωρία και Έρευνα

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

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΜΕΘΟΔΟΛΟΓΙΑ ΕΡΕΥΝΑΣ. 1 η ΠΑΡΟΥΣΙΑΣΗ. Ι. Δημόπουλος Τμήμα Διοίκησης Επιχειρήσεων και Οργανισμών. ΤΕΙ Πελοποννήσου

Ανασκόπηση Βιβλιογραφίας. Δρ. Ιωάννης Γκιόσος

þÿ ½ ÁÉÀ ºµ½ÄÁ¹º ÀÁ à ³³¹Ã Ä þÿ Á³±½Éù±º  ±»»±³  ¼ ÃÉ þÿà» Á Æ Á¹±º Í ÃÅÃÄ ¼±Ä Â.

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΧΗΜΕΙΑΣ

ΣΧΕΔΙΑΣΜΟΣ ΔΙΚΤΥΩΝ ΔΙΑΝΟΜΗΣ. Η εργασία υποβάλλεται για τη μερική κάλυψη των απαιτήσεων με στόχο. την απόκτηση του διπλώματος

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΟΛΙΣΘΗΡΟΤΗΤΑ ΚΑΙ ΜΑΚΡΟΥΦΗ ΤΩΝ ΟΔΟΔΤΡΩΜΑΤΩΝ ΚΥΚΛΟΦΟΡΙΑΣ

ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ

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

Μηχανουργική Τεχνολογία ΙΙ

«ΕΥΕΛΙΚΤΟ ERP. ΥΛΟΠΟΙΗΣΗ ΕΝΟΣ ΜΙΚΡΟΥ ΣΥΣΤΗΜΑΤΟΣ ERP»

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή Εργασία

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

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή εργασία ΑΓΧΟΣ ΚΑΙ ΚΑΤΑΘΛΙΨΗ ΣΕ ΓΥΝΑΙΚΕΣ ΜΕ ΚΑΡΚΙΝΟΥ ΤΟΥ ΜΑΣΤΟΥ ΜΕΤΑ ΑΠΟ ΜΑΣΤΕΚΤΟΜΗ

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΜΑΤΟΣ. Ευέλικτες μέθοδοι στη διοίκηση έργων ΠΙΣΤΩΤΙΚΕΣ ΜΟΝΑΔΕΣ: 8 ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ (ΑΝΑ ΕΒΔΟΜΑΔΑ):

Κτίρια nζεβ και προσομοίωση με την χρήση του energy+


Μάιος 02. Αναγνωστόπουλος - Παν. Αθηνών 1

Agile Προσέγγιση στη Διαχείριση Έργων Λογισμικού

Πτυχιακή Εργασία Η ΑΝΤΙΛΑΜΒΑΝΟΜΕΝΗ ΚΟΙΝΩΝΙΚΗ ΣΤΗΡΙΞΗ ΣΤΙΣ ΘΗΛΑΖΟΥΣΕΣ ΜΗΤΕΡΕΣ

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή Εργασία. Κόπωση και ποιότητα ζωής ασθενών με καρκίνο.

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή εργασία

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

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

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. «Προστασία ηλεκτροδίων γείωσης από τη διάβρωση»

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

þÿ P u b l i c M a n a g e m e n t ÃÄ ½ ¼ÌÃ

«ΑΓΡΟΤΟΥΡΙΣΜΟΣ ΚΑΙ ΤΟΠΙΚΗ ΑΝΑΠΤΥΞΗ: Ο ΡΟΛΟΣ ΤΩΝ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΣΤΗΝ ΠΡΟΩΘΗΣΗ ΤΩΝ ΓΥΝΑΙΚΕΙΩΝ ΣΥΝΕΤΑΙΡΙΣΜΩΝ»

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

ΠΕΡΙΛΗΨΗ ΤΩΝ ΚΥΡΙΟΤΕΡΩΝ ΣΗΜΕΙΩΝ

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

Αναλυτικό Πρόγραμμα Μαθηματικών

ΜΕΘΟΔΟΛΟΓΙΑ ΕΡΕΥΝΑΣ. 5 η ΠΑΡΟΥΣΙΑΣΗ. Συγγραφή επιστημονικής εργασίας. Ι. Δημόπουλος Τμήμα Διοίκησης Επιχειρήσεων και Οργανισμών.

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

Πτυχιακή εργασία. Ελένη Κυριάκου

Μεθοδολογία ερευνητικής εργασίας

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή εργασία ΔΙΕΡΕΥΝΗΣΗ ΤΟΥ ΚΛΙΜΑΤΟΣ ΑΣΦΑΛΕΙΑΣ ΤΩΝ ΑΣΘΕΝΩΝ ΣΤΟ ΝΟΣΟΚΟΜΕΙΟ

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΤΕΧΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΕΠΙΣΤΗΜΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή εργασία

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων.

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΕΤΟΙΜΑΣΙΑ ΔΕΛΤΙΟΥ ΠΟΣΟΤΗΤΩΝ ΜΕ ΤΗ ΧΡΗΣΗ ΛΟΓΙΣΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΓΕΩΠΟΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ. Πτυχιακή εργασία

Ασφάλεια σε χώρους αναψυχής: Ένα σύστημα από έξυπνα αντικείμενα

ΕΘΝΙΚΟ ΚΕΝΤΡΟ ΚΟΙΝΩΝΙΚΩΝ ΕΡΕΥΝΩΝ

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΥΓΕΙΑΣ. Πτυχιακή Εργασία ΕΠΙΛΟΧΕΙΑ ΚΑΤΑΘΛΙΨΗ: Ο ΡΟΛΟΣ ΤΗΣ ΚΑΤ ΟΙΚΟΝ ΝΟΣΗΛΕΙΑΣ. Φοινίκη Αλεξάνδρου

Georgiou, Styliani. Neapolis University. þÿ ±½µÀ¹ÃÄ ¼¹ µ À»¹Â Æ Å

Transcript:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Πειραματικές Μέθοδοι στην Αντικειμενοστρεφή Τεχνολογία Λογισμικού και στις Ευέλικτες Προγραμματιστικές Πρακτικές Παναγιώτης Σφέτσος ΔΙΔΑΚΤΟΡΙΚΗ ΔΙΑΤΡΙΒΗ ΘΕΣΣΑΛΟΝΙΚΗ 2007

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Πειραματικές Μέθοδοι στην Αντικειμενοστρεφή Τεχνολογία Λογισμικού και στις Ευέλικτες Προγραμματιστικές Πρακτικές Παναγιώτης Σφέτσος ΔΙΔΑΚΤΟΡΙΚΗ ΔΙΑΤΡΙΒΗ Επταμελής Επιτροπή Ιωάννης Βλαχάβας, Καθηγητής (μέλος) Ι. Μανωλόπουλος, Καθηγητής Τμ. Πληροφορικής ΑΠΘ (μέλος) Κ. Καρανίκας, Καθηγητής Τμ. Πληροφορικής ΑΠΘ (μέλος) Ι. Σταμέλος, Επίκ. Καθηγητής Τμ. Πληροφορικής ΑΠΘ (Επιβλέπων Καθηγητής) Ε. Αγγελής, Επίκ. Καθηγητής Τμ. Πληροφορικής ΑΠΘ (μέλος) Δ. Σπινέλλης, Αναπλ. Καθηγητής Τμ. Διοίκησης Επιστήμης και Τεχνολογίας του ΟΠΑ (μέλος) Α. Καμέας, Επίκ. Καθηγητής Σχολής Θετικών Επιστημών και Τεχνολογίας του ΕΑΠ (μέλος) ii

Ευχαριστίες Η διατριβή αυτή εκπονήθηκε στο Εργαστήριο Γλωσσών Προγραμματισμού και Τεχνολογίας Λογισμικού (Programming Languages and Software Engineering Laboratory - PLASE) του Τμήματος Πληροφορικής του Αριστοτέλειου Πανεπιστημίου Θεσσαλονίκης εντός της ομάδας της Τεχνολογίας Λογισμικού. Αν και η εκπόνηση μιας διατριβής αποτελεί ένα κατ εξοχήν επίπονο και διαρκούς ενασχόλησης ατομικό έργο, εντούτοις θα ήθελα να ευχαριστήσω ολόθερμα όλους όσους έχουν συνεισφέρει στο ερευνητικό μου έργο και αυτούς που με έχουν συμπαρασταθεί στην υλοποίηση του. Πρώτα θα ήθελα να εκφράσω τις ευχαριστίες μου προς τον επιβλέποντα, Επίκουρο Καθηγητή κ. Ιωάννη Σταμέλο, που με τη διαρκή καθοδήγηση και υποστήριξη του με βοήθησε στην ολοκλήρωση της διατριβής μου και επιπλέον μου έδειξε τον δρόμο για την επιστημονική μου ολοκλήρωση. Η παρουσία του, η υπομονή του, η επιστημονική του μεθοδικότητα, ο τρόπος εργασίας του, καθώς και η εμπιστοσύνη που έδειξε στο πρόσωπό μου και η ενθάρρυνση που μου παρείχε ήταν καθοριστικοί παράγοντες για την ερευνητική μου προσέγγιση και συνέβαλαν εποικοδομητικά στην ολοκλήρωση της έρευνας. Θα ήθελα να ευχαριστήσω θερμά τον Επίκουρο Καθηγητή κ. Ελευθέριο Αγγελή που η συμβολή του ήταν καθοριστική και ανεκτίμητη στην στατιστική επεξεργασία και ανάλυση των δεδομένων τόσο των πειραμάτων όσο και της έρευνας πεδίου που αποτελούσαν το κύριο μέρος της έρευνάς μου. Χάρη στην άψογη συνεργασία που είχα μαζί του, καθώς και με τον επιβλέποντα Επίκουρο Καθηγητή κ. Σταμέλο, εκπονήθηκαν όλες οι εργασίες της διατριβής μου. Θα ήθελα επίσης να ευχαριστήσω θερμά τον Καθηγητή κ. Ιωάννη Βλαχάβα που διετέλεσε μέλος της τριμελούς συμβουλευτικής επιτροπής της διατριβής μου. Ευχαριστώ επίσης τα υπόλοιπα μέλη της επταμελούς επιτροπής για την συμμετοχή τους στην διαδικασία αξιολόγησης της διατριβής μου. Επίσης θα ήθελα να εκφράσω τις ευχαριστίες μου προς τους συνεργάτες και τα μέλη της ομάδας Τεχνολογίας Λογισμικού κ.κ. Ιγνάτιο Δεληγιάννη, Αθανάσιο Καρούλη, Ιωάννη Σαμολαδά, Σταματία Μπίμπη, Sulayman Sowe και τον Δημήτρη Σέττα, για την άριστη συνεργασία σε ερευνητικό επίπεδο και τη φιλική σχέση. iii

Επιπλέον θα ήθελα να ευχαριστήσω τους φίλους και συναδέλφους καθηγητές του Τμήματος Πληροφορικής του ΤΕΙ-Θ για τη συμπαράστασή τους και τις εποικοδομητικές γνώμες και παρατηρήσεις τους. Τέλος θα ήθελα να ευχαριστήσω τη σύζυγο μου Πόπη Ζαρογουλίδου και τα παιδιά μου Δημήτρη και Μαρία για την ηθική συμπαράσταση, την υπομονή και το αμέριστο ενδιαφέρον που επέδειξαν όλα αυτά τα χρόνια. Τους ευχαριστώ από την καρδιά μου για την ανοχή τους στις ατέλειωτες ώρες μοναξιάς που τους επέβαλα λόγω των πολλών ωρών εργασίας. iv

Περίληψη Η εφαρμογή της πειραματικής έρευνας για την εμπειρική αξιολόγηση, αποτίμηση και βελτίωση των δύο επίκαιρων και σημαντικών ερευνητικών πεδίων, της αντικειμενοστρεφούς τεχνολογίας και των ευέλικτων μεθόδων, αποτέλεσε το σκοπό της διατριβής. Στην αντικειμενοστρεφή τεχνολογία οι στόχοι της έρευνας ήταν η διερεύνηση της δυνατότητας αξιολόγησης της ποιότητας εναλλακτικών αντικειμενοστρεφών σχεδίων και η διερεύνηση της δυνατότητας διδασκαλίας της γλώσσας μοντελοποίησης UML μέσω της Ανοικτής και εξ Αποστάσεως Εκπαίδευσης (ΑεξΑΕ). Για την επίτευξη αυτών των στόχων οργανώσαμε και εκτελέσαμε δύο ελεγχόμενα πειράματα. Στο πρώτο πείραμα έγινε η σύγκριση δύο εναλλακτικών σχεδιαστικών δομών, μιας κατανεμημένης έναντι μιας συγκεντρωτικής. Τα αποτελέσματα του πειράματος έδειξαν ότι η κατανεμημένη δομή σχεδίου παρουσίασε μεγαλύτερο βαθμό ορθότητας, καλύτερη επεκτασιμότητα και σχεδιαστική σταθερότητα από ότι η συγκεντρωτική δομή σχεδίου. Στο δεύτερο πείραμα έγινε η σύγκριση ενός περιβάλλοντος ΑεξΑΕ με ελαχιστοποιημένους πόρους, που δημιουργήθηκε ειδικά για τη διδασκαλία της UML στους φοιτητές, με το παραδοσιακό περιβάλλον διδασκαλίας. Τα αποτελέσματα του πειράματος έδειξαν ότι η διδασκαλία της UML μέσω ενός ΑεξΑΕ μπορεί να είναι το ίδιο αποδοτική με αυτήν της παραδοσιακής διδασκαλίας. Στον τομέα των ευέλικτων μεθόδων και ιδιαίτερα του δημοφιλούς ακραίου προγραμματισμού επικεντρώσαμε το ενδιαφέρον μας σε τρία διαφορετικά ερευνητικά πεδία, εφαρμόζοντας δύο σημαντικές τεχνικές αξιολόγησης και αποτίμησης της ε- μπειρικής έρευνας. Πρώτα οργανώσαμε και πραγματοποιήσαμε μια μελέτη πεδίου με σκοπό τη διερεύνηση της έκτασης και του τρόπου εφαρμογής των ευέλικτων μεθόδων και του ακραίου προγραμματισμού στην Ελληνική βιομηχανία λογισμικού. Η έρευνα, που αποτελεί την πρώτη προσπάθεια σε αυτόν τον τομέα, διεξήχθη σε δεκαπέντε ε- ταιρίες λογισμικού και διήρκησε έξι μήνες. Τα αποτελέσματα έδειξαν ότι οι παράγοντες επιτυχίας στην υλοποίηση τους είναι ο προγραμματισμός σε ζεύγη, η από ελέγχους καθοδηγούμενη ανάπτυξη του κώδικα, καθώς και η αλληλεπίδραση και οι κρυμμένες αλληλεξαρτήσεις μεταξύ των πρακτικών. Επιπλέον τα αποτελέσματα έδειξαν ότι οι εταιρίες, όταν αντιμετωπίζουν διάφορα προβλήματα με μερικές από τις πρακτικές, προτιμούν να εφαρμόζουν τις δικές τους προσαρμοσμένες παραλλαγές, έτσι ώστε να καλύπτουν τις ανάγκες τους. Στην συνέχεια πραγματοποιήσαμε μία βιv

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

Abstract The application of experimental methods for empirical evaluation in object oriented technology and in agile methods constituted the main objective of this dissertation. In the context of object orientation the aim of this dissertation was to research the possibility of evaluation of the quality of alternative object oriented designs. Furthermore, another objective in the context of object orientation was to carry out research in the possibility of teaching UML through an Open and Distant Learning Environment. In order to achieve these objectives we organized and executed two controlled experiments. The first experiment addressed the issue of alternative design structures, a responsibility-driven (distributed) approach versus a mainframe or control-oriented approach. The results have indicated that the responsibility-driven design due to its delocalised structure, exhibited higher correctness, better extensibility, and design stability, than the mainframe design. The second experiment focused on the comparison of an ad-hoc resource-effective Open and Distant Learning Environment, which has been specifically created for teaching UML to students, with the traditional teaching environment. The results of the experiment have indicated that teaching UML through an Open and Distant Learning Environment can be equally productive as the traditional teaching approach. In the context of agile methods and extreme programming we have emphasized our research interests in three different research areas, by applying two of the most important assessment and evaluation methods of the empirical software engineering. We first organized and carried out an extended field study in order to research the extend and the means through which agile methods and extreme programming are applied in the Greek software industry. This is the first attempt to research this topic in this area and was carried out in fifteen software companies, during a time period of six months. The results have indicated that the success factors in their implementation were pair programming, test driven development, as well as the interactions and hidden dependencies between the practices. Furthermore, the results have showed that companies prefer to develop their own tailored XP method and way of working to meet their specific requirements due to problems with some of the practices. In addition, we carried out a survey study in an attempt to redefine the metrics and measurements that are used in agile methods and extreme programming. The results of this vii

study have indicated that several new and many of the existing traditional software engineering metrics are used in agile methods. Many of the metrics proposed by us in this study have been used in our experiments. One of the most important findings of this research is the lack of measurements and metrics in the early stages of the development phase. Finally, we organized and executed a control experiment which aimed to evaluate a certain aspect of the implementation of the pair programming practice. The results of this experiment have showed that developer pairs with mixed personalities and temperaments are more effective than pairs with the same personality and temperament. From the conclusions of this dissertation it is clear that experimental techniques contribute effectively in the evaluation, assessment and improvement of important software engineering subjects. The main contribution of the dissertation is to present a methodological framework for the organization and implementation of the experimental evaluation, through different studies. The proposed future experimental research work is necessary for further evaluation and improvement of the two popular fields of software engineering, namely the object oriented technology and agile methods. viii

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ Ευχαριστίες Περίληψη Abstract Πίνακας περιεχομένων Κατάλογος πινάκων Κατάλογος σχημάτων Οι εργασίες της διατριβής Iii v vii ix xiii xiv xvi 1. ΕΙΣΑΓΩΓΗ 1 1.1 Αιτιολόγηση της διατριβής 2 1.2 Καθορισμός πεδίου έρευνας 5 1.2.1 Στόχοι της διατριβής 5 1.2.2 Έκταση πεδίου έρευνας και περιορισμοί 6 1.3 Θέση της έρευνας 8 1.4 Σύνοψη της Μεθοδολογίας 10 1.5 Δομή της διατριβής 11 2. ΤΟ ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ ΤΗΣ ΔΙΑΤΡΙΒΗΣ 14 2.1 Αντικειμενοστρεφής προσέγγιση στη Διεργασία ανάπτυξης λογισμικού 14 2.1.1 Εισαγωγή 15 2.1.2 Η σημαντικότητα της Αντικειμενοστρεφούς ανάπτυξης 16 2.1.3 Η επέκταση της Αντικειμενοστρεφούς Τεχνολογίας Η γλώσσα μοντελοποίησης UML 19 2.2 Ευέλικτες Μέθοδοι και Ακραίος Προγραμματισμός 27 2.2.1 Εισαγωγή 28 2.2.2 Ευέλικτες Μέθοδοι Agile Methods 30 2.2.3 Ακραίος Προγραμματισμός Extreme Programming 35 2.2.4 Η Διασφάλιση Ποιότητας στις Ευέλικτες Μεθόδους ανάπτυξης λογισμικού 43 2.3 Εμπειρική Τεχνολογία Λογισμικού Πειραματικές Μέθοδοι 46 2.3.1 Εισαγωγή 46 2.3.2 Έρευνα Πεδίου - Survey 48 2.3.3 Μελέτη Περίπτωσης Case Study 49 2.3.4 Τυπικό ή Ελεγχόμενο Πείραμα Formal experiment 50 2.3.5 Ορισμός Τυπικού Πειράματος 51 2.3.6 Σχεδιασμός του Τυπικού Πειράματος 52 2.3.7 Εκτέλεση του Πειράματος 56 2.3.8 Ανάλυση και Ερμηνεία 57 2.3.9 Συγκέντρωση και Παρουσίαση Αποτελεσμάτων 59 2.4 Μετρήσεις και Μετρικές στην Τεχνολογία Λογισμικού 61 2.4.1 Εισαγωγή 61 2.4.2 Τι είναι Μέτρηση 64 2.4.3 Γιατί Μετρήσεις στην Τεχνολογία Λογισμικού; 65 2.4.4 Ταξινόμηση των Μετρήσεων Λογισμικού 66 2.4.5 Το μοντέλο Ερώτηση-Μετρική-Στόχος (Goal-Question-Metric) 68 2.4.6 Επικύρωση Μέτρων Λογισμικού 69 2.5 Συμπεράσματα 72 ix

3. ΠΟΙΟΤΙΚΗ ΑΞΙΟΛΟΓΗΣΗ ΕΝΑΛΛΑΚΤΙΚΩΝ ΑΝΤΙΚΕΙΜΕΝΟ- ΣΤΡΕΦΩΝ ΣΧΕΔΙΩΝ ΠΡΩΤΟ ΕΛΕΓΧΟΜΕΝΟ ΠΕΙΡΑΜΑ 78 3.1 Εισαγωγή 79 3.2 Σχεδιασμός του Πειράματος 80 3.3 Αποτελέσματα του Πειράματος 83 3.3.1 Σύγκριση των αποτελεσμάτων με την αρχική μελέτη 86 3.4 Απειλές Εγκυρότητας του Πειράματος 86 3.5 Συμπεράσματα 87 4. ΑΞΙΟΛΟΓΗΣΗ ΕΝΟΣ ΜΙΝΙΜΑΛΙΣΤΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ Α- ΝΟΙΚΤΗΣ ΚΑΙ ΕΞ ΑΠΟΣΤΑΣΕΩΣ ΕΚΠΑΙΔΕΥΣΗΣ ΓΙΑ ΤΗ ΔΙΔΑ- ΣΚΑΛΙΑ ΤΗΣ UML ΔΕΥΤΕΡΟ ΠΕΙΡΑΜΑ 89 4.1 Εισαγωγή 4.2 Θεωρητικό υπόβαθρο 4.3 Τα Διαγράμματα Ακολουθίας της UML 4.4 Η δόμηση του Εκπαιδευτικού Περιβάλλοντος 4.5 Το Πείραμα 4.5.1 Ορισμός 4.5.2 Σχεδιασμός 4.5.3 Εκτέλεση του πειράματος 4.5.4 Ανάλυση και ερμηνεία 4.6 Εκτίμηση εγκυρότητας 4.6.1. Εγκυρότητα συμπερασμάτων 4.6.2. Εγκυρότητα κατασκευής ή δομής 4.6.3. Εσωτερική Εγκυρότητα 4.6.4. Εξωτερική Εγκυρότητα 4.6.5. Συμπεράσματα για τις Απειλές Εγκυρότητας του πειράματος 4.7 Συμπεράσματα και μελλοντική εργασία 5. ΔΙΕΡΕΥΝΗΣΗ ΤΩΝ ΕΥΕΛΙΚΤΩΝ ΜΕΘΟΔΩΝ ΚΑΙ ΤΟΥ ΣΥΣΤΗΜΑ- ΤΟΣ ΤΟΥ ΑΚΡΑΙΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΚΤΕΤΑΜΕΝΗ Έ- ΡΕΥΝΑ ΠΕΔΙΟΥ 115 5.1 Εισαγωγή 5.2 Εμπειρικές μελέτες στον Ακραίο Προγραμματισμό 5.3 Η Συστηματική Σκέψη στον Ακραίο Προγραμματισμό 5.4 Η ανατροφοδότηση στη διαδικασία του Ακραίου Προγραμματισμού 5.5 Η δομή του μοντέλου αιτίας-αποτελέσματος 5.6 Το περιβάλλον της Έρευνας 5.7 Μεθοδολογία 5.8 Ανάλυση των δεδομένων 5.9 Εκτίμηση Εγκυρότητας και Αξιοπιστίας 5.10 Αποτελέσματα 5.10.1 Το Παιχνίδι του σχεδιασμού (Planning Game) 5.10.2 Προγραμματισμός σε ζεύγη 5.10.3 Έλεγχοι πριν την κωδικοποίηση 5.10.4 Ανακατασκευή του κώδικα 5.10.5 Απλός σχεδιασμός 5.10.6 Συλλογική ιδιοκτησία του κώδικα 5.10.7 Διαρκείς ενσωματώσεις στον κώδικα 5.10.8 Διαρκής παρουσία πελάτη 90 91 92 94 96 97 97 100 100 104 104 106 109 111 112 113 116 119 123 125 126 128 129 131 132 137 139 140 141 142 142 143 144 144 x

5.10.9 Μικρές εκδόσεις 5.10.10 Υποφερτός ρυθμός εργασίας 5.10.11 Πρότυπα κωδικοποίησης 5.10.12 Συνολική εικόνα του συστήματος 5.11 Συμπεράσματα και Μελλοντική Έρευνα 146 147 147 148 149 6. ΒΙΒΛΙΟΓΡΑΦΙΚΗ ΈΡΕΥΝΑ ΤΙΣ ΜΕΤΡΗΣΕΙΣ ΚΑΙ ΜΕΤΡΙΚΕΣ ΤΩΝ ΕΥΕΛΙΚΤΩΝ ΜΕΘΟΔΩΝ 152 6.1 Εισαγωγή 152 6.2 Κατηγοριοποίηση των Ευέλικτων Μετρικών 154 6.2.1 Μετρικές Διαδικασιών 154 6.1.1.1 Μετρικές Διαχείρισης 154 6.2.2 Μετρικές Κύκλου Ζωής 158 6.2.2.1 Μετρικές Απαιτήσεων και Προδιαγραφών 158 6.2.2.2 Μετρικές των ελέγχων 160 6.2.2.3 Μετρικές Σχεδιασμού 163 6.2.2.4 Μετρικές Κόστους και Προσπάθειας 163 6.2.2.5 Μετρικές Δεδουλευμένης Αξίας και Παραδιδόμενης Επιχειρησιακής Αξίας 165 6.2.2.6 Μετρικές Επιθεωρήσεων και Συντήρησης κώδικα 167 6.2.3 Μετρικές Προϊόντων 167 6.2.3.1 Μετρικές Μεγέθους 167 6.2.3.2 Μετρικές Πολυπλοκότητας 168 6.2.3.3 Μετρικές Ποιότητας 169 6.2.4 Μετρικές Πόρων 172 6.2.4.1 Μετρικές Λογισμικού 172 6.2.4.2 Μετρικές Προσωπικού 173 6.3 Νέες μετρικές στο αρχικό στάδιο της ανάπτυξης 175 6.3.1 Συντελεστής Καταιγισμού Ιδεών 1 (BC-1) 176 6.3.2 Συντελεστής Καταιγισμού Ιδεών 2 (BC-2) 176 6.3.3 Συντελεστής Καταιγισμού Ιδεών 3 (BC-3) 176 6.3.4 Συντελεστής Καταιγισμού Ιδεών 4 (BC-4) 177 6.3.5 Συντελεστής Καταιγισμού Ιδεών 5 (BC-5) 177 6.3.6 Παραδείγματα Χρήσης των μετρικών BC 178 6.4 Συζήτηση για τα ευρήματα της Έρευνας και Συμπεράσματα 179 7. ΔΙΕΡΕΥΝΗΣΗ ΤΗΣ ΕΠΙΔΡΑΣΗΣ ΤΩΝ ΤΥΠΩΝ ΠΡΟΣΩΠΙΚΟΤΗΤΑΣ ΣΤΗΝ ΕΠΙΚΟΙΝΩΝΙΑ ΚΑΙ ΣΥΝΕΡΓΑΣΙΑ - ΒΙΩΣΙΜΟΤΗΤΑ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΣΕ ΖΕΥΓΗ 3 ο και 4 ο ΕΛΕΓΧΟΜΕΝΟ ΠΕΙ- ΡΑΜΑ 183 7.1 Εισαγωγή 7.2 Αναγνώριση και καταγραφή των Προσωπικοτήτων και Ιδιοσυγκρασιών 7.3 Τα Ελεγχόμενα Πειράματα 7.3.1 Ορισμοί 7.3.2 Σχηματισμός υποθέσεων 7.3.3 Μετρικές Επικοινωνίας και Συνεργασίας - Βιωσιμότητας 7.4 Ανάλυση και Ερμηνεία 7.5 Συμπεράσματα 184 186 187 189 189 190 192 197 xi

8. ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΜΕΛΛΟΝΤΙΚΗ ΈΡΕΥΝΑ 202 8.1 Συνοπτική περιγραφή της έρευνας 202 8.2 Μελέτες της έρευνας 204 8.2.1 Ποιοτική αξιολόγηση εναλλακτικών αντικειμενοστρεφών σχεδίων Ένα ελεγχόμενο πείραμα 204 8.2.2 Πειραματική αξιολόγηση ενός μινιμαλιστικού περιβάλλοντος Ανοικτής και Εξ Αποστάσεως Εκπαίδευσης για τη διδασκαλία της UML 206 8.2.3 Διερεύνηση των ευέλικτων μεθόδων και του συστήματος του ακραίου προγραμματισμού Μια εμπειρική μελέτη 207 8.2.4 Διερεύνηση της επίδρασης των τύπων προσωπικότητας στην επικοινωνία και συνεργασία - βιωσιμότητα στον προγραμματισμό σε ζεύγη Μια εμπειρική μελέτη 208 8.2.5 Έρευνα πεδίου στις μετρήσεις και μετρικές των ευέλικτων μεθόδων 210 8.3 Μελλοντική έρευνα 212 ΑΝΑΦΟΡΕΣ 215 ΠΑΡΑΡΤΗΜΑΤΑ 229 ΓΛΩΣΣΑΡΙ 246 xii

ΚΑΤΑΛΟΓΟΣ ΠΙΝΑΚΩΝ Αρ. Τίτλος Πίνακα Σελ. 2.1 Σύνοψη των Στατιστικών Τεστ ανάλογα με τον τύπο σχεδίασης 59 5.1 Οι Εταιρίες που συμμετείχαν στην έρευνα 129 5.2 Βοηθητικοί και Περιοριστικοί παράγοντες για τις μεγάλες εταιρίες 136 5.3 Βοηθητικοί και Περιοριστικοί παράγοντες για τις μικρές εταιρίες 137 6.1 Οι κατηγορίες και υποκατηγορίες των Μετρικών σύμφωνα με το METKIT 154 6.2 Περίληψη των μετρικών Διαχείρισης 156 6.3 Περίληψη των μετρικών Απαιτήσεων και των Προδιαγραφών 158 6.4 Περίληψη των μετρικών των Ελέγχων 160 6.5 Περίληψη των μετρικών Κόστους και Προσπάθειας 164 6.6 Ο παράγοντας Β του Putnam 169 6.7 Περίληψη των μετρικών Ποιότητας 171 7.1 Η κατανομή των τεσσάρων κυρίων τύπων προσωπικότητας και ιδιοσυγκρασιών των φοιτητών 186 7.2 Η ομάδα ελέγχου και η πειραματική ομάδα στα δύο πειράματα 188 7.3 Στόχοι, Ερωτήσεις και Μετρικές για τα δύο πειράματα 189 7.4 Αποτελέσματα Περιγραφικής Στατιστικής για τα σύνολα των μεταβλητών (χρόνος, κινήσεις επικοινωνίας, βαθμοί) και για τις δύο διεργασίες 194 7.5 Συσχέτιση Pearson για τις δύο διεργασίες 195 7.6 Σύγκριση όλων των μεταβλητών μεταξύ των δύο ομάδων για τις δύο διεργασίες 195 7.7 Σύγκριση των τριών συν. μεταβλητών 195 7.8 Αποτελέσματα ταξινόμησης και αντεπικύρωσης 195 7.9 Ικανοποίηση των Προγραμματιστών 195 7.10 Απόκτηση Γνώσης 198 7.11 Ικανοποίηση από την Επικοινωνία 198 7.12 Θόρυβοι ή άλλες Διαταραχές από άλλα ζεύγη 198 7.13 Προτίμηση ρόλου Οδηγού ή Πλοηγού στο ζεύγος 199 xiii

ΚΑΤΑΛΟΓΟΣ ΣΧΗΜΑΤΩΝ Αρ. Τίτλος Σχήματος Σελ. 2.1 Διάγραμμα Κλάσεων και η απεικόνιση των σχέσεων των 22 2.2 Διάγραμμα Ακολουθίας και η χρονική απεικόνιση των μηνυμάτων 24 2.3 Οι φάσεις ανάπτυξης σε μία επανάληψη 37 2.4 Ο σχεδιασμός των Ιστοριών Χρήστη και οι Έλεγχοι Αποδοχής 38 2.5 Τα βήματα της ανάπτυξης με την προσέγγιση έλεγχοι πριν την κωδικοποίηση (Test-First-Design) 40 2.6 Οι φάσεις εκτέλεσης του Πειράματος 57 2.7 Οι τρεις φάσεις της ποσοτικής ερμηνείας του Πειράματος 58 2.8 Βασικά στάδια τυπικής Μέτρησης 64 2.9 Οι σκοποί της τυπικής Μέτρησης Λογισμικού 66 2.10 Παράδειγμα μοντέλου Ερώτηση-Μετρική-Στόχος (Goal-Question- Metric) 68 3.1 Προσπάθεια Αλλαγής 84 3.2 Καμπύλη Εκμάθησης 84 3.3 Ορθότητα 85 3.4 Υποκειμενική πολυπλοκότητα αλλγής 85 3.5 Δομική σταθερότητα 85 4.1 Διάγραμμα ακολουθίας με εστίαση στον έλεγχο, επανάληψη, δημιουργία και διαγραφή αντικειμένου (OMG, 1999) 93 4.2 Διαφορές στις μέσες τιμές για το (α) και διαγραμμάτων ακολουθίας (β) πολλαπλών επιλογών 101 4.3 Διαφορές στις μέσες τιμές για τη συνολική βαθμολογία 102 4.4 Το θηκόγραμμα για τις δύο ομάδες Α και Β 102 5.1 Γραφική απεικόνιση του συστήματος ανατροφοδότησης του ακραίου προγραμματισμού 126 5.2 Η δομή του μοντέλου αιτίας-αποτελέσματος του ακραίου προγραμματισμού 128 7.1 Συνολικές μεταβλητές για τις δύο διεργασίες 194 7.2 Σχέσεις μεταξύ των μεταβλητών απόδοσης για τις δύο διεργασίες 194 xiv

7.3 Συσχέτιση ελέγχων αποδοχής-βαθμοί 195 7.4 Ικανοποίηση Προγραμματιστών 198 7.5 Απόκτηση γνώσεων 198 7.6 Ικανοποίηση από την επικοινωνία 198 7.7 Θόρυβοι ή Διαταραχές του Προγραμματισμού σε ζεύγη 198 7.8 Προτίμηση ρόλου Οδηγού ή Πλοηγού στο ζεύγος 199 xv

ΕΡΓΑΣΙΕΣ ΤΗΣ ΔΙΑΤΡΙΒΗΣ Δημοσιεύσεις σε περιοδικά Sfetsos, P., Angelis, L., Stamelos, I. Investigating The Extreme Programming System - An Empirical Study. Empirical Software Engineering, Vol. 11, Nbr. 2, pp. 269-301. June 2006. Sfetsos, P., Karoulis, A., Stamelos, I., Angelis, L., and Pombortsis, A. Teaching UML by Distance Learning versus Traditional Lectures: A Small Scale Investigation Case Study. Interactive Technology and Smart Education Journal, Troubador publ. 2004. Settas, D., Bibi, S., Sfetsos, P., Stamelos, I., Gerogiannis, V. A Computer Supported Bayesian Network Approach to Model Software Project Management Antipatterns. To appear in Springer LNCS. Sfetsos, P., Stamelos, I., Angelis, L., Deligiannis, I. An Experimental Investigation of Personality Types Impact on Pair Effectiveness in Pair Programming. To appear in Empirical Software Engineering. Sfetsos, P., Stamelos, I. Measurement and Metrics in Agile Methods A Survey study. Submitted. Αρχισυνταξία βιβλίου Ioannis Stamelos and Panagiotis Sfetsos. Agile Software Development Quality Assurance, Idea Group Publishing, February, 2007. Κεφάλαιο σε βιβλίο Sfetsos, P. and Stamelos, I. Improving Quality by Exploiting Human Dynamics in Agile Methods. Agile Software Development Quality Assurance, Idea Group Publishing, February, 2007. Δημοσιεύσεις σε πρακτικά συνεδρίων Sfetsos, P., Stamelos, I., Angelis, L., Deligiannis, I. Investigating the Impact of Personality Types on Communication and Collaboration-Viability in Pair Programming An Empirical Study. 7th International Conference on extreme Programming and Agile Processes in Software Engineering (XP2006). June 2006, Finland. Springer- Verlag Berlin Heidelberg, LNCS 4044, pp. 43 52. Sfetsos, P., Angelis, L., Stamelos, I., Bleris, G. Evaluating the Extreme Programming System - An Empirical Study. Proc. Fifth International Conference on Extreme Programming and Agile Processes in Software Engineering, Springer-Verlag Berlin Heidelberg, LNCS 3092, pp. 227-230, Garmisch-Partenkirchen, Germany, June, 2004. xvi

Sfetsos, P., Karoulis, A., Angelis, L. A Controlled Experiment Concerning Traditional and Distance Learning of UML Sequence Diagrams. Third International Conference on Computer Science, Software Engineering, Information Technology, e- Business, and Applications, CSITeA-04, I.S.B.N.: 0.9742059.1.5, December 2004, Cairo, Egypt. Sfetsos, P., Stamelos, I. Formal Experimentation for Agile Formal Methods. 1st South-East European Workshop on Formal Methods, SEEFM 03, Thessaloniki, Greece, Nov. 2003. Sfetsos, P., Karoulis, A., Stamelos, I., Angelis, L. Evaluating a Minimalistic Design for ODL Environments, ICODL 2005, Third International Conference on Open and Distance Learning: 'Applications of Pedagogy and Technology' Hellenic Open University, Hellenic Network of Open & Distance Education, Patra, 11-13 November 2005, Greece. Deligiannis, I., Sfetsos, P., Stamelos, I., Angelis, L., Chatzigeorgiou, A. Assessing the modifiability of two Object-Oriented design alternatives A controlled experiment replication. EuroSim'04, 5th EUROSIM Congress on Modelling and Simulation, Paris, September, 2004. Settas, D., Bibi, S., Sfetsos, P., Stamelos, I., Gerogiannis, V. Using Bayesian Belief Networks to Model Software Project Management Antipatterns, 4th ACIS International Conference on Software Engineering Research, Management and Applications (SERA2006), Seattle, Washington, USA, August 9-11, 2006. xvii

ΚΕΦΑΛΑΙΟ 1 Ε ι σ α γ ω γ ή

Κεφάλαιο 1: Εισαγωγή 1.1 Αιτιολόγηση της διατριβής Η εφαρμογή της πειραματικής έρευνας για τη διερεύνηση θεμάτων της αντικειμενοστρεφούς τεχνολογίας και των ευέλικτων μεθόδων είναι το αντικείμενο της διατριβής. Ειδικότερα η έρευνα επικεντρώνεται στην πειραματική αξιολόγηση της αποτελεσματικότητας και αποδοτικότητας σημαντικών χαρακτηριστικών των προϊόντων, διεργασιών και πόρων της αντικειμενοστρεφούς τεχνολογίας και των ευέλικτων μεθόδων με απώτερο στόχο τη βελτίωσή των. Η επιλογή της πειραματικής έρευνας έγινε λόγω της ανάγκης για τον απόλυτο έλεγχο των διερευνώμενων μεταβλητών αλλά και την επιδίωξη λήψης αντικειμενικών και στατιστικά τεκμηριωμένων αποτελεσμάτων (Fenton και Pfleeger, 1997). Ένας άλλος παράγοντας, που μας ώθησε σε αυτήν την επιλογή, ήταν ότι οι ποσοτικές έρευνες που μπορούν να διεξαχθούν με τη συμμετοχή φοιτητών είναι μικρής σχετικά κλίμακας και απαιτούν μεγάλο βαθμό ελέγχου. Όμως για την επίτευξη των επιμέρους στόχων των ευέλικτων μεθόδων και του ακραίου προγραμματισμού η έρευνα περιέλαβε και τη μελέτη περίπτωσης και την έρευνα πεδίου. Έτσι στην έρευνα χρησιμοποιήθηκαν και οι τρεις σημαντικές τεχνικές αξιολόγησης της εμπειρικής τεχνολογίας λογισμικού. Η αντικειμενοστρεφής τεχνολογία άλλαξε ριζικά τη φιλοσοφία ανάπτυξης του λογισμικού και με το πρότυπο εργαλείο ανάλυσής της, δηλαδή την ενιαία γλώσσα μοντελοποίησης UML, εδραιώθηκε στη βιομηχανία κατασκευής λογισμικού. Αποτελεί το καλύτερο εργαλείο για την επίλυση των πολύπλοκων προβλημάτων της σύγχρονης επιχειρησιακής λογικής. Ωστόσο δεν έχει ακόμη τυποποιηθεί και η λήψη α- ποφάσεων για την ορθή εφαρμογή των τεχνικών και μηχανισμών της αποτελεί μια δύσκολη διαδικασία. Οι κατασκευαστές λογισμικού είναι υποχρεωμένοι να λαμβάνουν διαρκώς τέτοιες αποφάσεις, επιλέγοντας τις καλύτερες λύσεις από το σύνολο των εναλλακτικών λύσεων που διατίθενται κάθε φορά, με σκοπό την ανάπτυξη σωστού και ποιοτικού λογισμικού. Πολλές φορές τέτοιες αποφάσεις οδηγούν σε διαφορετικούς και ενίοτε μη ενδεδειγμένους τρόπους χρήσης των τεχνικών και μηχανισμών, με συνέπεια τη λήψη διαφορετικών αποτελεσμάτων και την πυροδότηση διαφωνιών μεταξύ των ερευνητών αλλά και των στελεχών της παραγωγής. Επομένως τα ερευνητικά ερωτήματα που τίθενται εδώ είναι Πώς αξιολογούμε την αποτελεσματικότητα και την αποδοτικότητα των τεχνικών και μηχανισμών που χρησιμοποιούμε; Πότε μια τεχνική είναι πιο κατάλληλη από κάποια άλλη για μια δεδομένη κατάσταση; Την απάντηση σε αυτές τις ερωτήσεις μπορεί να δώσει μόνο η πειραματική έρευνα. Για αυτό 2

Κεφάλαιο 1: Εισαγωγή τον λόγο οργανώσαμε και εκτελέσαμε το πρώτο μας ελεγχόμενο πείραμα με σκοπό τη σύγκριση δύο διαφορετικών σχεδιαστικών δομών μιας κατανεμημένης (responsibility driven - RD) έναντι μιας συγκεντρωτικής (control oriented ή mainframe - MF) (Deligiannis et al., 2004). Με την καθιέρωση της αντικειμενοστρεφούς τεχνολογίας δημιουργήθηκε η ανάγκη της απεικόνισης των εννοιών και μηχανισμών της στην ανάπτυξη των συστημάτων, με αποτέλεσμα τη δημιουργία της ενιαίας γλώσσας μοντελοποίησης UML. Η UML διαθέτει μία ευρεία συλλογή εννοιών, διαγραμμάτων και συμβολισμών για την απεικόνιση, προσδιορισμό, ανάπτυξη και τεκμηρίωση των επιμέρους δομικών τμημάτων του συστήματος σε όλες τις φάσεις ανάπτυξης και καθιερώθηκε σαν το πρότυπο μοντελοποίησης στη βιομηχανία λογισμικού. Τα τελευταία χρόνια οι σύγχρονοι οργανισμοί λογισμικού απαιτούν από τους κατασκευαστές την γνώση της UML και δαπανούν πολλά χρήματα για την εκπαίδευση του προσωπικού τους. Όμως η εκπαίδευση των κατασκευαστών δεν μπορεί να γίνει με τον παραδοσιακό τρόπο διδασκαλίας, λόγω της καθημερινής τους εργασίας, για αυτό θα πρέπει να επιλεχθούν άλλοι οικονομικοί εναλλακτικοί τρόποι. Η συμμετοχή της ερευνητικής μας ομάδας σε ένα πρόγραμμα Δια Βίου Εκπαίδευσης και η εμπειρία της ομάδας από την Ανοικτή και Εξ Αποστάσεως Εκπαίδευση (του Ελληνικού Ανοικτού Πανεπιστημίου) αποτέλεσαν τα κίνητρα για την πειραματική διερεύνηση της διδασκαλίας της UML μέσω της Ανοικτής και εξ Αποστάσεως Εκπαίδευσης. Το βασικό ερώτημα που έπρεπε να απαντηθεί ήταν αν η διδασκαλία της UML μέσω της Εξ Αποστάσεως Εκπαίδευσης μπορεί να είναι το ίδιο αποδοτική με την παραδοσιακή διδασκαλία. Για να απαντήσουμε σε αυτό το ερώτημα οργανώσαμε και πραγματοποιήσαμε το δεύτερο ελεγχόμενο πείραμα (Sfetsos et al., 2004a), (Sfetsos et al., 2004b), (Sfetsos et al., 2005). Οι ευέλικτες μέθοδοι και ειδικότερα ο ακραίος προγραμματισμός επέφεραν μία ριζική αλλαγή στη μεθοδολογία ανάπτυξης του λογισμικού και αποτέλεσαν ένα από τα κορυφαία γεγονότα των τελευταίων ετών στην τεχνολογία λογισμικού. Εμπλουτισμένες με πολλές νέες αρχές αλλά και δοκιμασμένες καλές πρακτικές προσφέρουν λύσεις στις σύνθετες επιχειρησιακές ανάγκες. Συμβάλουν στην ανάπτυξη ποιοτικού λογισμικού σε σύντομους επαναληπτικούς και αυξητικούς κύκλους και παρέχουν τη δυνατότητα της προσαρμογής και αντίδρασης στις αλλαγές, που τίθενται από τους πελάτες και το διαρκώς μεταβαλλόμενο επιχειρησιακό περιβάλλον. Τα τελευταία χρόνια το ερευνητικό ενδιαφέρον στράφηκε στον τρόπο εφαρμογής των ευέλικτων μεθόδων και του ακραίου προγραμματισμού, καθώς και στην αναζήτηση τρόπων 3

Κεφάλαιο 1: Εισαγωγή βελτίωσης των πρακτικών τους μέσω εμπειρικών μελετών (Sfetsos and Stamelos, 2003). Στην Ελληνική βιομηχανία δεν υπήρχε προγενέστερη εμπειρική έρευνα σε αυτούς τους τομείς και αυτό αποτέλεσε μια σημαντική πρόκληση για τη διατριβή. Για την εμπειρική διερεύνηση των ευέλικτων μεθόδων και του ακραίου προγραμματισμού εφαρμόσαμε τρεις διαφορετικές εμπειρικές τεχνικές αξιολόγησης: Mία έρευνα πεδίου, που διεξήχθη σε δεκαπέντε εταιρίες λογισμικού και διήρκησε έξι μήνες, με σκοπό τη διερεύνηση της έκτασης και του τρόπου εφαρμογής των ευέλικτων μεθόδων και του ακραίου προγραμματισμού στην Ελληνική βιομηχανία λογισμικού. Η καινοτομία αυτής της έρευνας, που διεξήχθη για πρώτη φορά στην Ελλάδα, αποτέλεσε ένα ισχυρό κίνητρο για τη διεξαγωγή της (Sfetsos et al., 2004c), (Sfetsos et al., 2006a). Μία εκτεταμένη βιβλιογραφική έρευνα πεδίου που διεξήχθη με σκοπό την καταγραφή, τεκμηρίωση και αξιολόγηση των μετρήσεων και μετρικών στο πεδίο των ευέλικτων μεθόδων και του ακραίου προγραμματισμού. Η επιλογή των καταλληλότερων μετρικών, τόσο στα ευέλικτα έργα, όσο και στις πειραματικές ερευνητικές μελέτες, αποτέλεσαν ισχυρά κίνητρα για τη διεξαγωγή αυτής της έρευνας που αποτελεί την πρώτη ερευνητική προσπάθεια στο χώρο (Sfetsos and Stamelos, 2007a). Δύο ελεγχόμενα πειράματα (πιλοτικό και κύριο), που οργανώθηκαν και εκτελέστηκαν με σκοπό την διερεύνηση της επίδρασης του ανθρώπινου παράγοντα στην αποτελεσματικότητα του προγραμματισμού σε ζεύγη. Οι υπάρχουσες εμπειρικές μελέτες αντιμετωπίζουν τη δημοφιλή αυτή πρακτική σαν μία καθαρά τεχνικό-οικονομική διαδικασία, εστιάζοντας το ενδιαφέρον τους μόνο στους στόχους και τις εργασίες των προγραμματιστών, αδιαφορώντας για τις επιδράσεις του ανθρώπινου παράγοντα. Η ανατροπή αυτής της μονομερούς θεώρησης της πρακτικής καθώς και η αναζήτηση τρόπων βελτίωσης της αποτέλεσαν ισχυρά κίνητρα για την οργάνωση και εκτέλεση των δύο πειραμάτων. Ο σκοπός των πειραμάτων ήταν η διερεύνηση της επίδρασης των προσωπικοτήτων και ιδιοσυγκρασιών των προγραμματιστών στην επικοινωνία, συνεργασία - βιωσιμότητα και στην τελική αποτελεσματικότητα του προγραμματισμού σε ζεύγη (Sfetsos et al., 2006b), (Sfetsos et al., 2007b). Επιπλέον χρησιμοποιώντας τα Bayesian δίκτυα (Bayesian Network - BN) μοντελοποιήσαμε αντιπρότυπα (antipatterns) που αφορούν τις προσωπικότητες / ιδιοσυ- 4

Κεφάλαιο 1: Εισαγωγή γκρασίες των προγραμματιστών στον προγραμματισμό σε ζεύγη (βλ. Κεφ. 3) (Settas et al., 2006a), (Settas et al., 2006b). 1.2 Καθορισμός πεδίου έρευνας 1.2.1 Στόχοι της διατριβής Ο σκοπός της διατριβής είναι να εξετάσει τόσο από θεωρητική όσο και από πρακτική άποψη την εφαρμογή της πειραματικής έρευνας σε σημαντικούς τομείς της τεχνολογίας λογισμικού όπως την αντικειμενοστρεφή τεχνολογία, τη γλώσσα μοντελοποίησης UML, τις ευέλικτες μεθόδους και τον ακραίο προγραμματισμό. Στην αντικειμενοστρεφή τεχνολογία οι στόχοι μας είναι η επίτευξη ποιοτικών προϊόντων σχεδίασης και η διερεύνηση της διδασκαλίας της UML μέσω της Ανοικτής και εξ Αποστάσεως Εκπαίδευσης. Στις ευέλικτες μεθόδους και τον ακραίο προγραμματισμό οι στόχοι μας αφορούν τη βελτίωση του τρόπου εφαρμογής των, τη βελτίωση της πρακτικής του προγραμματισμού σε ζεύγη και την καταγραφή και τεκμηρίωση των μετρήσεων και μετρικών που χρησιμοποιούνται στα ευέλικτα έργα. Αναλυτικότερα οι επιμέρους στόχοι του γενικού σκοπού καθορίζονται ως ακολούθως: 1. Να διερευνήσει τη δυνατότητα αξιολόγησης της ποιότητας εναλλακτικών α- ντικειμενοστρεφών σχεδίων με σκοπό τη βελτίωση της ποιότητας του λογισμικού. 2. Να διερευνήσει τη δυνατότητα διδασκαλίας της γλώσσας μοντελοποίησης UML μέσω της Ανοικτής και εξ Αποστάσεως Εκπαίδευσης με σκοπό την ε- ξεύρεση εναλλακτικών τρόπων διδασκαλίας της. 3. Να διερευνήσει την έκταση και τον τρόπο εφαρμογής των ευέλικτων μεθόδων και του ακραίου προγραμματισμού στην Ελληνική βιομηχανία λογισμικού με σκοπό τη βελτίωση του τρόπου εφαρμογής των. 4. Να διερευνήσει την επίδραση των προσωπικοτήτων και ιδιοσυγκρασιών των προγραμματιστών στην αποτελεσματικότητα της πρακτικής του προγραμματισμού σε ζεύγη με σκοπό τη βελτίωση της εφαρμογής της. 5. Να διερευνήσει τις μεθόδους μετρήσεων και τις μετρικές που χρησιμοποιούνται στις ευέλικτες μεθόδους και στον ακραίο προγραμματισμό με σκοπό την ορθή χρήση των τόσο στα ευέλικτα έργα όσο και στις εμπειρικές τεχνικές αξιολόγησης. 5

Κεφάλαιο 1: Εισαγωγή 1.2.2 Έκταση πεδίου έρευνας και περιορισμοί Για να γίνει κατανοητή η ερευνητική μεθοδολογία που ακολουθήθηκε για την υλοποίηση των στόχων της έρευνας απαιτείται η ακριβής οριοθέτηση των πεδίων εφαρμογής της έρευνας. Ακολούθως περιγράφονται τα επιμέρους πεδία, από το γενικό προς το μερικό, μέσα στα οποία έλαβε χώρα η έρευνα της διατριβής. Τεχνολογία λογισμικού. Αποτελεί το ευρύτερο πεδίο της έρευνας. Σύμφωνα με τον ορισμό του οργανισμού IEEE (Institute of Electrical and Electronics Engineers), Τεχνολογία λογισμικού είναι η εφαρμογή μιας συστηματικής, αυστηρά καθορισμένης και ποσοτικά μετρούμενης προσέγγισης κατά την ανάπτυξη, λειτουργία και συντήρηση του λογισμικού. Αντικειμενοστρεφής Τεχνολογία. Ένα σύνολο από αρχές και μεθοδολογίες για την ανάπτυξη λογισμικού με τα αντικείμενα ως κυρίαρχες δομικές μονάδες. Είναι μια καλά ορισμένη τεχνολογία, που ακόμα δεν έχει τυποποιηθεί πλήρως. Θεωρείται από πολλούς το καλύτερο εργαλείο για την λύση των προβλημάτων ανάπτυξης του λογισμικού, αρκεί να γίνεται ορθή χρήση των τεχνικών και μηχανισμών της. Η γλώσσα μοντελοποίησης UML. Είναι η ενιαία γλώσσα που χρησιμοποιείται για να απεικονίσει, προσδιορίσει, κατασκευάσει και τεκμηριώσει τα επιμέρους συστατικά ενός συστήματος λογισμικού της αντικειμενοστρεφούς τεχνολογίας (Rumbaugh et al., 1999). Ανεξάρτητη από συγκεκριμένες γλώσσες προγραμματισμού αλλά και διαδικασίες ανάπτυξης, έχει καθιερωθεί ως η πρότυπη γλώσσα μοντελοποίησης στη βιομηχανία λογισμικού. Εμπειρική τεχνολογία λογισμικού. Είναι ο κλάδος της τεχνολογίας λογισμικού που με τη χρήση εμπειρικών μελετών αποσκοπεί στην απόκτηση αντικειμενικών και στατιστικά τεκμηριωμένων αποτελεσμάτων, όσον αφορά την κατανόηση, τον έλεγχο, την πρόβλεψη και τη βελτίωση της ανάπτυξης λογισμικού (Pfleeger, 2001). Οι ερευνητικές μέθοδοι που χρησιμοποιήθηκαν στην διατριβή είναι το τυπικό ή ελεγχόμενο πείραμα και η έρευνα πεδίου. Τυπικό ή ελεγχόμενο πείραμα. Είναι μια αυστηρά καθορισμένη διαδικασία ελέγχου και διερεύνησης μιας δραστηριότητας ή κατάστασης με σκοπό τον ακριβή και άμεσο χειρισμό της (Fenton και Pfleeger, 1997; Wohlin et al., 2000). Το τυπικό πείραμα χρησιμοποιείται για τη διερεύνηση θεμάτων όπως η επιβεβαίωση θεωριών, η αξιολόγηση της 6

Κεφάλαιο 1: Εισαγωγή ακρίβειας μοντέλων, η επαλήθευση μετρήσεων, κ.ά. Η εφαρμογή της πειραματικής έρευνας σε σημαντικά πεδία της τεχνολογίας λογισμικού, αποτέλεσε τον κύριο στόχο της διατριβής. Οργανώθηκαν και διεξήχθησαν συνολικά τέσσερα ελεγχόμενα πειράματα, που παρουσιάζονται αναλυτικά στα επόμενα κεφάλαια. Έρευνα Πεδίου. Είναι μια μελέτη ανασκόπησης με σκοπό την τεκμηρίωση των σχέσεων και των αποτελεσμάτων μιας συγκεκριμένης κατάστασης. Κατά τη διάρκεια της διατριβής αυτής έχει διεξαχθεί μία τέτοια μελέτη που εξετάζει τις μετρήσεις και μετρικές των ευέλικτων μεθόδων. Μετρήσεις και μετρικές. Μέτρηση είναι: Η εμπειρική διαδικασία με την οποία αποδίδονται αριθμοί ή σύμβολα σε χαρακτηριστικά γνωρίσματα οντοτήτων του πραγματικού κόσμου, κατά τέτοιο τρόπο, ώστε να τα περιγράφουν σύμφωνα με καθαρά διατυπωμένους κανόνες (Fenton, 1997). Η μέτρηση παρέχει ποσοτική και αντικειμενική θεώρηση των δυνατοτήτων και αδυναμιών των διαδικασιών, προϊόντων και πόρων (Fenton, 1994; Fenton and Pfleeger, 1997; Kitchenham, 1996; Pfleeger, 1997). Μετρική είναι η απεικόνιση των χαρακτηριστικών των οντοτήτων με κάποιο αριθμητικό σύστημα μέτρησης. Οι μετρήσεις και οι μετρικές αποτελούν αναπόσπαστο τμήμα της εμπειρικής έρευνας και για αυτό εμπεριέχονται σε όλες τις μελέτες της διατριβής. Ευέλικτες μέθοδοι. Είναι μέθοδοι ανάπτυξης λογισμικού που ενσωματώνουν καλές και δοκιμασμένες αξίες και πρακτικές οι οποίες βοηθούν στην ανάπτυξη ποιοτικού λογισμικού. Με τις μεθόδους αυτές η ανάπτυξη του λογισμικού γίνεται σε σύντομους επαναληπτικούς και αυξητικούς κύκλους, παρέχοντας την δυνατότητα της προσαρμογής και αντίδρασης στις αλλαγές που τίθενται από το διαρκώς μεταβαλλόμενο επιχειρησιακό περιβάλλον (Beck, 2000; Cockburn, 2002; Fowler, 2006; Highsmith, 2002). Κατά τη διάρκεια της διατριβής αυτής έχουν διεξαχθεί τέσσερεις εμπειρικές μελέτες (δύο πειράματα, μία μελέτη περίπτωσης και μια έρευνα πεδίου), που ερευνούν σε βάθος τις ευέλικτες μεθόδους και ιδιαίτερα τον ακραίο προγραμματισμό. Ακραίος προγραμματισμός. Η πιο διάσημη από τις ευέλικτες μεθόδους. Δημιουργήθηκε για να αντιμετωπίσει τα προβλήματα που προκαλούνται τόσο από τις μεταβολές των απαιτήσεων, όσο και από τους κινδύνους στα έργα λο- 7

Κεφάλαιο 1: Εισαγωγή γισμικού. Βασίζεται σε ένα σύνολο από τέσσερεις αρχές και δώδεκα καλές πρακτικές. Δύο σημαντικές πρακτικές της, που εφαρμόζονται ευρέως στην ανάπτυξη λογισμικού και σαν μεμονωμένες πρακτικές, είναι ο προγραμματισμός σε ζεύγη προγραμματιστών και η καθοδηγούμενη από ελέγχους ανάπτυξη. Η έκταση και ο τρόπος εφαρμογής του ακραίου προγραμματισμού στην Ελληνική βιομηχανία λογισμικού καθώς και η αναζήτηση τρόπων βελτίωσης της πρακτικής του προγραμματισμού σε ζεύγη αποτέλεσαν αντικείμενα της εμπειρικής έρευνας. Κριτήριο επιλογής των επιμέρους στόχων στα ανωτέρω ερευνητικά πεδία αποτέλεσε η δυνατότητα εφαρμογής της πειραματικής έρευνας. Εντούτοις έπρεπε να εφαρμόσουμε και τις δύο υπόλοιπες τεχνικές αξιολόγησης της εμπειρικής έρευνας, δηλαδή της μελέτης περίπτωσης και της έρευνας πεδίου, για να υλοποιήσουμε κάποιους από αυτούς τους στόχους. 1.3 Θέση της έρευνας Η αξιολόγηση των διαδικασιών ανάπτυξής, των προϊόντων λογισμικού και των χρησιμοποιούμενων πόρων αποτελεί τη βασική επιδίωξη των επαγγελματιών αλλά και των ερευνητών. Τρεις είναι οι πιο σημαντικές τεχνικές αξιολόγησης που χρησιμοποιούνται στην τεχνολογία λογισμικού, με διαφορές μεταξύ τους που εντοπίζονται στην κλίμακα και στο επίπεδο ελέγχου της έρευνας. Το τυπικό ή ελεγχόμενο πείραμα απαιτεί το υψηλότερο επίπεδο ελέγχου (Fenton and Pfleeger, 1997; Wohlin et al., 2000). Ενδείκνυται στην εξέταση εναλλακτικών περιπτώσεων, καθώς και στη διερεύνηση των συνεπειών που επιφέρει στο λογισμικό μια νέα μέθοδος ανάπτυξης (Kitchenham et al., 1995) και για αυτό επιλέχθηκε ως η κύρια τεχνική αξιολόγησης της εμπειρικής μας έρευνας. Στην αντικειμενοστρεφή τεχνολογία η πειραματική μελέτη της επίδρασης των χαρακτηριστικών σχεδίασης σε ποιοτικούς παράγοντες αποτελεί την καλύτερη τεχνική αξιολόγησης. Μέσω των ελεγχόμενων πειραμάτων γίνεται εφικτή η κατανόηση των διαφορετικών σχεδιαστικών δομών και μας δίνεται η δυνατότητα επιλογής της καταλληλότερης δομής από τις προτεινόμενες σε κάθε περίπτωση. Αυτός ήταν ο λόγος που οργανώσαμε και εκτελέσαμε το πρώτο μας ελεγχόμενο πείραμα, με στόχο την αξιολόγηση της ποιότητας εναλλακτικών αντικειμενοστρεφών σχεδίων. Όμως και 8

Κεφάλαιο 1: Εισαγωγή στην προσπάθειά μας για αναζήτηση εναλλακτικών τρόπων διδασκαλίας της UML η ενδεδειγμένη τεχνική αξιολόγησης ήταν η πειραματική. Έπρεπε να γίνει η σύγκριση της απόδοσης εκμάθησης της UML μέσω της Ανοικτής και εξ Αποστάσεως Εκπαίδευσης με αυτήν της παραδοσιακής διδασκαλίας. Η αναζήτηση εναλλακτικών τρόπων διδασκαλίας της UML είναι ένα νέο ερευνητικό πεδίο, για αυτό και η διεξαγωγή του δεύτερου πειράματός μας συμβάλει ουσιαστικά στη διερεύνησή του πεδίου αυτού. Στις ευέλικτες μεθόδους και τον ακραίο προγραμματισμό η ανάγκη για πειραματική έρευνα είναι ακόμη μεγαλύτερη, διότι οι μέθοδοι αυτοί εισάγουν νέες διαδικασίες ανάπτυξης και ενσωματώνουν πολλές νέες πρακτικές που χρήζουν περαιτέρω διερεύνησης. Ιδιαίτερα για τις πρακτικές, θέματα όπως η εξέταση εναλλακτικών μεθόδων εκτέλεσης των, η διερεύνηση των πλεονεκτημάτων και μειονεκτημάτων τους και η αναζήτηση τρόπων βελτίωσής τους αποτελούν αντικείμενα πειραματισμού. Η δυναμική είσοδος της πρακτικής του προγραμματισμού σε ζεύγη τόσο στη βιομηχανία λογισμικού όσο και στην εκπαίδευση μας οδήγησε στην οργάνωση και εκτέλεση δύο ελεγχόμενων πειραμάτων για την αξιολόγηση της αποτελεσματικότητας των προγραμματιστών και την αναζήτηση τρόπων βελτίωσής της. Όμως αρχικά έπρεπε να ερευνηθεί η έκταση και ο τρόπος χρήσης των ευέλικτων μεθόδων και του ακραίου προγραμματισμού στην Ελληνική βιομηχανία λογισμικού. Για αυτήν την έρευνα οργανώσαμε και υλοποιήσαμε μια εκτεταμένη έρευνα πεδίου, που είναι η πιο ενδεδειγμένη τεχνική αξιολόγησης για μία τέτοιας κλίμακας έρευνα. Ένα ισχυρό κίνητρο για τη διεξαγωγή αυτής της έρευνας αποτέλεσε η έλλειψη εμπειρικών μελετών σε αυτό το ερευνητικό πεδίο. Η διεξαγωγή της έρευνας πεδίου ανέδειξε την ανάγκη για καταγραφή και τεκμηρίωση των μετρήσεων και μετρικών που χρησιμοποιούνται στα ευέλικτα έργα. Αυτή η ανάγκη γίνεται εντονότερη στη διαδικασία επιλογής των πιο κατάλληλων μετρικών που πρέπει να χρησιμοποιηθούν σε μια εμπειρική μελέτη αξιολόγησης. Η έρευνα, που διεξήγαμε για αυτό το σκοπό, είναι μια συστηματική βιβλιογραφική έρευνα και αποτελεί την πρώτη ερευνητική προσπάθεια στο χώρο. Έτσι ο- λοκληρώθηκε το τρίπτυχο των σημαντικών εμπειρικών τεχνικών αξιολόγησης που εφαρμόσαμε στη μελέτη των ευέλικτων μεθόδων και του ακραίου προγραμματισμού. 1.4 Σύνοψη της Μεθοδολογίας Η μεθοδολογία που ακολουθήθηκε στην έρευνα βασίζεται στο διαχωρισμό των δύο μεγάλων τομέων, της αντικειμενοστρεφούς τεχνολογίας και των ευέλικτων μεθόδων, 9

Κεφάλαιο 1: Εισαγωγή σε επιμέρους στάδια για την επίτευξη των μεμονωμένων στόχων. Βάση αυτής της μεθοδολογίας η σταδιακή επίτευξη των στόχων συντελεί στη βαθμιαία εξέλιξη της έ- ρευνας με συνέπεια τα αποτελέσματα και η αποκτηθείσα γνώση κάθε σταδίου να λειτουργούν σαν υπόβαθρο για το επόμενο στάδιο. Αναλυτικά τα επιμέρους στάδιαστόχοι της έρευνας με τη σειρά που αναπτύχθηκαν είναι: 1 ο στάδιο: Ο στόχος εδώ είναι η εξέταση, μέσω ενός ελεγχόμενου πειράματος, της δυνατότητας αξιολόγησης της ποιότητας εναλλακτικών αντικειμενοστρεφών σχεδίων (βλ. Κεφ. 2 και 3). 2 ο στάδιο: Με βάση τα αποτελέσματα του πρώτου σταδίου, ο στόχος εδώ είναι η εξέταση της δυνατότητας διδασκαλίας εννοιών της αντικειμενοστρεφούς τεχνολογίας και ιδιαίτερα των διαγραμμάτων της UML μέσω της Ανοικτής και εξ Αποστάσεως Εκπαίδευσης. Το στάδιο αυτό υλοποιείται με το δεύτερο ελεγχόμενο πείραμα της διατριβής (βλ. Κεφ. 2 και 4). 3 ο στάδιο: Ο στόχος εδώ είναι η εξέταση, μέσω μιας εκτεταμένης έρευνας πεδίου, της έκτασης και του τρόπου εφαρμογής των ευέλικτων μεθόδων και του ακραίου προγραμματισμού στην Ελληνική βιομηχανία λογισμικού (βλ. Κεφ. 2 και 5). 4 ο στάδιο: Με βάση τα αποτελέσματα που προέκυψαν από το στάδιο 3, οι στόχοι εδώ είναι η διερεύνηση των μεθόδων μετρήσεων και των μετρικών που χρησιμοποιούνται στις ευέλικτες μεθόδους και στον ακραίο προγραμματισμό. Το στάδιο αυτό υλοποιείται με την οργάνωση και διεξαγωγή μιας εκτεταμένης βιβλιογραφικής έρευνας (βλ. Κεφ. 2 και 6). 5 ο στάδιο: Με βάση τα αποτελέσματα του τρίτου και τέταρτου σταδίου, ο στόχος εδώ είναι η αξιολόγηση της αποτελεσματικότητας και του τρόπου υλοποίησης της πρακτικής του προγραμματισμού σε ζεύγη προγραμματιστών με απώτερο στόχο τη βελτίωση της 10

Κεφάλαιο 1: Εισαγωγή πρακτικής. Το στάδιο αυτό υλοποιείται με την οργάνωση και εκτέλεση δύο ελεγχόμενων πειραμάτων (βλ. Κεφ. 2 και 7). 1.5 Δομή της διατριβής Τα κεφάλαια της διατριβής είναι συνολικά έντεκα και η σειρά παράθεσής των ακολουθεί τη ροή της μεθοδολογίας που ακολουθήθηκε. Κεφάλαιο 1ο Εισαγωγή Στο κεφάλαιο αυτό περιγράφεται το γνωστικό αντικείμενο της διατριβής και καθορίζονται οι στόχοι, τα ερευνητικά πεδία και η θέση της. Αναπτύσσεται η μεθοδολογία που ακολουθήθηκε για την επίτευξη των στόχων και περιγράφεται η όλη δομή της διατριβής. Κεφάλαιο 2ο Θεωρητικό Υπόβαθρο Στο κεφάλαιο αυτό περιγράφεται το θεωρητικό υπόβαθρο της Διατριβής. Τίθενται τα ερωτήματα της έρευνας στους σημαντικούς τομείς της Αντικειμενοστρεφούς Τεχνολογίας, της γλώσσας μοντελοποίησης UML, των Ευέλικτων Μεθόδων και του Α- κραίου Προγραμματισμού. Τα επιμέρους τμήματα του κεφαλαίου είναι: 1) Η αντικειμενοστρεφής προσέγγιση στη διεργασία ανάπτυξης λογισμικού Το τμήμα αυτό πραγματεύεται την αντικειμενοστρεφή προσέγγιση στη διεργασία α- νάπτυξης λογισμικού και την επέκτασή της δηλαδή τη γλώσσα μοντελοποίησης UML. Αναπτύσσονται οι βασικές αρχές της αντικειμενοστρεφούς προσέγγισης και δίνεται έμφαση στους μηχανισμούς ανάπτυξης ποιοτικού λογισμικού. Επίσης παρουσιάζονται τα χαρακτηριστικά της γλώσσας UML και αναλύονται διεξοδικά τα διαγράμματα κλάσεων και ακολουθίας που αποτελούν τα αντικείμενα της πειραματικής μας διερεύνησης σε αυτό το πεδίο. 2) Ευέλικτες μέθοδοι και ακραίος προγραμματισμός Στο τμήμα αυτό αναλύεται το θεωρητικό υπόβαθρο των Ευέλικτων Μεθόδων και ειδικότερα του Ακραίου Προγραμματισμού. Αναπτύσσονται οι βασικές αρχές και οι πρακτικές των μεθόδων. Ειδικότερα για τον ακραίο προγραμματισμό αναλύεται το πώς η συνδυαστική χρήση των αρχών και πρακτικών συντελούν στην ανάπτυξη ποιο- 11

Κεφάλαιο 1: Εισαγωγή τικού λογισμικού, μέσα από μικρούς επαναληπτικούς και αυξητικούς κύκλους, ικανοποιώντας ταυτόχρονα τις μεταβαλλόμενες απαιτήσεις των πελατών. 3) Εμπειρική τεχνολογία λογισμικού - Πειραματικές μέθοδοι Στο τμήμα αυτό περιγράφονται οι εμπειρικές μέθοδοι που χρησιμοποιούνται στην εμπειρική τεχνολογία λογισμικού. Περιγράφονται η έρευνα πεδίου, η μελέτη περίπτωσης και το τυπικό πείραμα, που χρησιμοποιούνται στις επιμέρους μελέτες της παρούσας διατριβής. Ιδιαίτερη έμφαση δόθηκε στον τρόπο οργάνωσης και εκτέλεσης ενός τυπικού πειράματος που αποτέλεσε την κύρια εμπειρική τεχνική αξιολόγησης της έρευνάς μας. 4) Μετρήσεις και μετρικές στην τεχνολογία λογισμικού Στο τμήμα αυτό του κεφαλαίου παρουσιάζεται η θεωρία των μετρήσεων και των μετρικών λογισμικού στην τεχνολογία λογισμικού. Περιγράφονται οι έννοιες των μετρικών, το πλαίσιο εφαρμογής των και οι τεχνικές επικύρωσής των. Αναπτύσσονται ιδιαίτερα οι πτυχές εκείνες που αφορούν άμεσα τις μετρήσεις στις εμπειρικές μελέτες της διατριβής. Κεφάλαιο 3ο Ποιοτική αξιολόγηση εναλλακτικών αντικειμενοστρεφών σχεδίων Ένα ελεγχόμενο πείραμα Στο κεφάλαιο αυτό παρουσιάζεται το πρώτο ελεγχόμενο πείραμα που οργανώθηκε και εκτελέστηκε με σκοπό την αξιολόγηση της ποιότητας εναλλακτικών αντικειμενοστρεφών σχεδίων. Αναλυτικότερα το πείραμα εξετάζει την επίδραση πολλών χαρακτηριστικών σχεδίου σε έναν από τους πιο επιθυμητούς ποιοτικούς παράγοντες, τη μετατρεψιμότητα. Κεφάλαιο 4ο Πειραματική αξιολόγηση ενός μινιμαλιστικού περιβάλλοντος Ανοικτής και Εξ Αποστάσεως Εκπαίδευσης για τη διδασκαλία της UML Στο κεφάλαιο αυτό παρουσιάζεται το δεύτερο ελεγχόμενο πείραμα που οργανώθηκε και εκτελέστηκε με σκοπό τη διερεύνηση της διδασκαλίας της UML μέσω της Ανοικτής και εξ Αποστάσεως Εκπαίδευσης. Αναλυτικότερα στο πείραμα διερευνάται αν η διδασκαλία της UML μέσω ενός περιβάλλοντος Ανοικτής και εξ Αποστάσεως Εκπαίδευσης, με ελαχιστοποιημένους πόρους, μπορεί να είναι το ίδιο αποδοτική με αυτήν της παραδοσιακής διδασκαλίας. 12

Κεφάλαιο 1: Εισαγωγή Κεφάλαιο 5ο Διερεύνηση του συστήματος των ευέλικτων μεθόδων και του α- κραίου προγραμματισμού Μια εμπειρική μελέτη Το κεφάλαιο αυτό παρουσιάζει μια μελέτη περίπτωσης που διεξήχθη με σκοπό τη διερεύνηση της έκτασης και του τρόπου εφαρμογής των ευέλικτων μεθόδων και του ακραίου προγραμματισμού στην Ελληνική βιομηχανία λογισμικού. Σε αυτή την ε- μπειρική μελέτη αναλύουμε τα πλεονεκτήματα και τις δυσκολίες που βιώνουν δεκαπέντε ελληνικές επιχειρήσεις λογισμικού εφαρμόζοντας τις ευέλικτες μεθόδους και τον ακραίο προγραμματισμό σαν ολιστικό σύστημα ανάπτυξης λογισμικού. Κεφάλαιο 6ο Βιβλιογραφική έρευνα στις μετρήσεις και μετρικές των ευέλικτων μεθόδων Στο κεφάλαιο αυτό παρουσιάζεται μια εκτεταμένη βιβλιογραφική έρευνα που διεξήχθη με σκοπό τη διερεύνηση των μετρήσεων και μετρικών που χρησιμοποιούνται στις ευέλικτες μεθόδους και στον ακραίο προγραμματισμό. Στη μελέτη αυτή συλλέχθηκαν, ταξινομήθηκαν σε κατηγορίες και διερευνήθηκαν διεξοδικά όλες οι γνωστές μετρικές, που έχουν εφαρμοστεί στα ευέλικτα έργα. Κεφάλαιο 7ο Διερεύνηση της επίδρασης των τύπων προσωπικότητας στην επικοινωνία και συνεργασία - βιωσιμότητα στον προγραμματισμό σε ζεύγη 3 ο και 4 ο ελεγχόμενο πείραμα Το κεφάλαιο αυτό παρουσιάζει δύο ελεγχόμενα πειράματα (ένα πιλοτικό και το κύριο) που οργανώθηκαν και εκτελέστηκαν στο ερευνητικό πεδίο του προγραμματισμού σε ζεύγη με σκοπό τη διερεύνηση της επίδρασης των προσωπικοτήτων και ιδιοσυγκρασιών των προγραμματιστών στην επικοινωνία, συνεργασία - βιωσιμότητα και στην τελική αποτελεσματικότητα του ζεύγους. Κεφάλαιο 8ο Συμπεράσματα και μελλοντική έρευνα Στο κεφάλαιο αυτό συνοψίζονται τα αποτελέσματα της διατριβής και εξάγονται σχετικά συμπεράσματα. Παρουσιάζονται επίσης θέματα μελλοντικής έρευνας με βάση τα αποτελέσματα της διατριβής. 13

ΚΕΦΑΛΑΙΟ 2 ΤΟ ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ ΤΗΣ ΔΙΑΤΡΙΒΗΣ 2.1 Η ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΣΕΓΓΙΣΗ ΣΤΗ ΔΙΕΡ- ΓΑΣΙΑ ΑΝΑΠΤΥΞΗΣ ΛΟΓΙΣΜΙΚΟΥ Στο κεφάλαιο αυτό περιγράφεται το θεωρητικό υπόβαθρο της Διατριβής. Τίθενται τα ερωτήματα της έρευνας στους σημαντικούς τομείς της Αντικειμενοστρεφούς Τεχνολογίας, της γλώσσας μοντελοποίησης UML, των Ευέλικτων Μεθόδων και του Α- κραίου Προγραμματισμού. Οι σημαντικοί αυτοί τομείς της Τεχνολογίας Λογισμικού αποτέλεσαν τα αντικείμενα της εμπειρικής μας έρευνας. Στο πρώτο τμήμα του κεφαλαίου αναπτύσσονται οι βασικές αρχές της αντικειμενοστρεφούς προσέγγισης και της UML, επειδή τα πρώτα πειράματα της έρευνας α- φορούν την πειραματική αξιολόγηση της ποιότητας εναλλακτικών αντικειμενοστρεφών σχεδίων και την πειραματική διερεύνηση της διδασκαλίας της UML μέσω της Εξ Αποστάσεως Εκπαίδευσης. Όσον αφορά το θεωρητικό υπόβαθρο της αντικειμενοστρεφούς προσέγγισης, δίνεται έμφαση στα χαρακτηριστικά της και τους μηχανισμούς ανάπτυξης ποιοτικού λογισμικού. Στο θεωρητικό υπόβαθρο της UML περιγράφονται τα κύρια χαρακτηριστικά της γλώσσας και αναλύονται ειδικότερα τα διαγράμματα κλάσεων και ακολουθίας που αποτελούν το αντικείμενο της πειραματικής μας διερεύνησης. Αυτή η επιλογή έγινε επειδή αυτές οι δύο κατηγορίες διαγραμμάτων καλύπτουν το σημαντικότερο ποσοστό αναπαράστασης των δύο καταστάσεων συμπεριφοράς του συστήματος (στατικής-δυναμικής) και επηρεάζουν την εκμάθηση της αντικειμενοστρεφούς προσέγγισης αλλά και της ίδιας της UML.