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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΔΙΟΙΚΗΣΗ» ΑΞΙΟΛΟΓΗΣΗ ΜΟΝΤΕΛΩΝ ΠΡΟΒΛΕΨΗΣ ΚΟΣΤΟΥΣ ΛΟΓΙΣΜΙΚΟΥ Επιμελήτρια διπλωματικής εργασίας: Φουκαράκη Γεωργία (Α.Μ.:132) Επιβλέπων καθηγητής: Αγγελής Ελευθέριος, Επίκουρος καθηγητής ΘΕΣΣΑΛΟΝΙΚΗ 2007

2 Περιεχόμενα ΠΕΡΙΕΧΟΜΕΝΑ...1 ΕΥΧΑΡΙΣΤΙΕΣ...3 ΠΕΡΙΛΗΨΗ...4 ΜΕΡΟΣ Ι...6 ΘΕΩΡΗΤΙΚΗ ΑΝΑΛΥΣΗ...6 ΚΕΦΑΛΑΙΟ 1 O...7 ΕΙΣΑΓΩΓΗ Πρόβλημα εκτίμησης κόστους λογισμικού Υπάρχουσες μέθοδοι...11 ΚΕΦΑΛΑΙΟ 2 Ο...15 ΑΝΑΛΟΓΙΕΣ Συλλογιστική Βασισμένη σε Περιπτώσεις (Case-Based Reasoning) Ο Κύκλος της μεθόδου των αναλογιών Ανάκτηση παρόμοιων περιπτώσεων (Retrieve) Προσαρμογή των προτεινόμενων λύσεων (Revise-Adaptation) Πλεονεκτήματα της μεθόδου των Αναλογιών Μειονεκτήματα της μεθόδου των Αναλογιών Ερευνητικά θέματα της μεθόδου των Αναλογιών...27 ΚΕΦΑΛΑΙΟ 3 Ο...30 ΚΡΙΣΗ ΤΩΝ ΕΙΔΙΚΩΝ Χαρακτηριστικά της μεθόδου Εκτίμηση σε ομάδες Μέθοδος top-down ή work breakdown structure (WBS) Μέθοδος bottom-up Διαφορές των μεθόδων bottom-up και top-down Πρακτικές βελτίωσης της εκτίμησης από ειδικούς...39 ΚΕΦΑΛΑΙΟ 4 Ο...48 ΜΗΧΑΝΙΚΗ ΜΑΘΗΣΗ Νευρωνικά Δίκτυα Νευρωνικά Δίκτυα και εκτίμηση κόστους Πλεονεκτήματα Νευρωνικών Δικτύων Μειονεκτήματα Νευρωνικών Δικτύων Δέντρα Απόφασης Καθορισμός Μεγέθους του Δέντρου Πλεονεκτήματα και Μειονεκτήματα των Δέντρων Απόφασης Δίκτυα Bayes Εκπαίδευση Bayesian δικτύου από δεδομένα Naive Bayes ΠΑΛΙΝΔΡΟΜΗΣΗ Παλινδρόμηση Ελαχίστων Τετραγώνων Εύρωστη Παλινδρόμηση (Robust Regression) Διαδικασία Εφαρμογής της Παλινδρόμησης Έλεγχος Αξιοπιστίας των Δεδομένων Επιλογή των μεταβλητών και του μοντέλου Πρωταρχική ανάλυση Δημιουργία του πολύ-μεταβλητού μοντέλου Έλεγχος του μοντέλου ΚΕΦΑΛΑΙΟ 6 Ο...74 ΜΕΤΡΑ ΑΚΡΙΒΕΙΑΣ ΚΑΙ ΕΠΙΚΥΡΩΣΗΣ

3 6.1 Μέθοδοι Επικύρωσης Μέθοδος Διασταύρωσης (Cross -Validation) Bootstrapping Κριτήρια Επικύρωσης...78 ΚΕΦΑΛΑΙΟ 7 Ο...82 ΑΝΙΧΝΕΥΣΗ ΑΚΡΑΙΩΝ ΤΙΜΩΝ Διαγνωστικά Ακραίες τιμές (outliers) Περιπτώσεις με μεγάλη επιρροή (influential points) Συμπεράσματα και αντιμετώπιση ακραίων τιμών ΜΕΡΟΣ ΙΙ...91 ΠΕΙΡΑΜΑΤΑ ΣΕ ΣΥΝΟΛΑ ΔΕΔΟΜΕΝΩΝ 1 Η ΜΕΛΕΤΗ ΠΕΡΙΠΤΩΣΗΣ Η ΜΕΛΕΤΗ ΠΕΡΙΠΤΩΣΗΣ...92 ΣΥΝΟΛΟ ΔΕΔΟΜΕΝΩΝ ALBRECHT Περιγραφή του Συνόλου Δεδομένων και του Μοντέλου Έλεγχος Προσαρμογής του Μοντέλου στα Δεδομένα Εντοπισμός Ακραίων τιμών (outliers) Εντοπισμός περιπτώσεων με μεγάλη επιρροή (influential points) Η ΜΕΛΕΤΗ ΠΕΡΙΠΤΩΣΗΣ ΣΥΝΟΛΟ ΔΕΔΟΜΕΝΩΝ ABRAN AND ROBILLARD Περιγραφή του Συνόλου Δεδομένων και του Μοντέλου Έλεγχος Προσαρμογής του Μοντέλου στα Δεδομένα Εντοπισμός Ακραίων τιμών (outliers) Εντοπισμός περιπτώσεων με μεγάλη επιρροή (influential points) Η ΜΕΛΕΤΗ ΠΕΡΙΠΤΩΣΗΣ ΣΥΝΟΛΟ ΔΕΔΟΜΕΝΩΝ ISBSG Περιγραφή των Δεδομένων και των Μεταβλητών Δημιουργία Πολυμεταβλητού Μοντέλου Παλινδρόμησης Έλεγχος Προσαρμογής και Ικανότητα Πρόβλεψης του Μοντέλου Εντοπισμός Ακραίων τιμών (outliers) Εντοπισμός περιπτώσεων με μεγάλη επιρροή (influential points)

4 ΕΥΧΑΡΙΣΤΙΕΣ Ευχαριστώ το οικογενειακό και φιλικό μου περιβάλλον για το ενδιαφέρον που επέδειξαν κατά τη συγγραφή αυτής της διπλωματικής εργασίας και για την ηθική και κάθε μορφής υποστήριξη που μου παρείχαν. Θα ήθελα ακόμα, να ευχαριστήσω τον καθηγητή Ελευθέριο Αγγελή που μου εμπιστεύθηκε το θέμα αυτής της εργασίας και μου παρείχε τα απαραίτητα εφόδια για την ολοκλήρωση της. Τέλος, ευχαριστώ ιδιαιτέρως τον διδάκτορα Νικόλαο Μήττα που με καθοδήγησε καθ όλη τη διάρκεια συλλογής στοιχείων και συγγραφής της εργασίας. 3

5 ΠΕΡΙΛΗΨΗ Καθώς η τεχνολογία εξελίσσεται συνεχώς και εισβάλλει με ταχύτατους ρυθμούς στην καθημερινότητα μας, η σημασία της τεχνολογίας λογισμικού γίνεται όλο και μεγαλύτερη και επιδρά όλο και περισσότερο στον τρόπο τον οποίο ζούμε και την ποιότητα ζωής που απολαμβάνουμε. Η εκτίμηση του κόστους λογισμικού (Software Cost Estimation) είναι μια ιδιαίτερα κρίσιμη δραστηριότητα που πρέπει να ολοκληρωθεί στα πρώτα στάδια της διαδικασίας παραγωγής λογισμικού. Η διαδικασία πρόβλεψης του κόστους ή της προσπάθειας, από τις προδιαγραφές του λογισμικού που πρόκειται να αναπτυχθεί, είναι ιδιαίτερα δύσκολη κυρίως λόγω της αβεβαιότητας των διαθέσιμων δεδομένων κατά την έναρξη του έργου αλλά και της ακρίβειας της μεθόδου που χρησιμοποιείται. Πολλά έργα εφαρμογής πληροφορικής τεχνολογίας, σε επιχειρήσεις και οργανισμούς, που περιλαμβάνουν ανάπτυξη λογισμικού πάσχουν από υπερβάσεις στον προϋπολογισμό και στον χρονοπρογραμματισμό, οι οποίες οφείλονται σε μεγάλο βαθμό στις ανεπαρκείς αρχικές εκτιμήσεις. Σκοπός της εργασίας αυτής είναι η θεωρητική ανάλυση μεθόδων εκτίμησης και αξιολόγησης μοντέλων πρόβλεψης κόστους λογισμικού, καθώς επίσης και η εφαρμογή τους σε πραγματικά σύνολα δεδομένων. Αρχικά, στην εισαγωγή της εργασίας αναλύεται το πρόβλημα εκτίμησης κόστους λογισμικού και γίνεται μια εκτενής αναφορά στις υπάρχουσες μεθόδους εκτίμησης κόστους λογισμικού που αναφέρονται στη βιβλιογραφία. Στο πρώτο μέρος γίνεται μια θεωρητική ανάλυση τεσσάρων από τις μεθόδους εκτίμησης (Αναλογίες, Κρίση Ειδικών, Μηχανική Μάθηση, Παλινδρόμηση), όπου περιγράφεται η κάθε μέθοδος, τα χαρακτηριστικά της, παραλλαγές της μεθόδου, εφόσον υπάρχουν, και εξετάζονται τα μειονεκτήματα και τα πλεονεκτήματα που παρουσιάζει η καθεμία. Στη συνέχεια παρουσιάζονται τα μέτρα ακρίβειας και επικύρωσης που χρησιμοποιούνται για την αξιολόγηση των μοντέλων πρόβλεψης κόστους λογισμικού. Τέλος, εξετάζονται τα διαγνωστικά που βοηθούν τους ερευνητές στην ανίχνευση και την ενδεχόμενη απομάκρυνση ακραίων παρατηρήσεων στα σύνολα δεδομένων που επεξεργάζονται. Στο δεύτερο και τελευταίο μέρος της εργασίας χρησιμοποιούνται πραγματικά σύνολα δεδομένων που περιέχουν ολοκληρωμένα έργα λογισμικού για την 4

6 πραγματοποίηση πειραμάτων. Συγκεκριμένα, αξιολογείται η ακρίβεια προσαρμογής και πρόβλεψης μοντέλων πρόβλεψης κόστους λογισμικού, ελέγχοντας για ακραίες και παράτυπες τιμές στο σύνολο των δεδομένων επεξεργασίας. 5

7 ΜΕΡΟΣ Ι ΘΕΩΡΗΤΙΚΗ ΑΝΑΛΥΣΗ 6

8 ΚΕΦΑΛΑΙΟ 1 o ΕΙΣΑΓΩΓΗ Η επιστήμη του σχεδιασμού και ανάπτυξης λογισμικού (Software Engineering) έχει συγκεντρώσει το ενδιαφέρον πολλών και σημαντικών ερευνητών τα τελευταία χρόνια. Είναι γεγονός πως το λογισμικό έχει μπει στη ζωή μας με πολλούς και διάφορους τρόπους, άλλοτε εμφανείς και άλλοτε όχι. Ο ρόλος του είναι πολύ σημαντικός καθώς καθορίζει πλέον σε μεγάλο βαθμό την αποτελεσματικότητα, την άνεση και τελικά την ποιότητα της ζωής μας. Προγράμματα υπολογιστών ελέγχουν από τις πιο απλές δραστηριότητες της καθημερινότητας μας, όπως είναι ο χειρισμός των οικιακών συσκευών έως και πολύ σύνθετες δραστηριότητες που αφορούν στην υγεία και την ασφάλεια μας. Για τον λόγο αυτό, η σημασία της τεχνολογίας λογισμικού γίνεται όλο και μεγαλύτερη και επιδρά όλο και περισσότερο στον τρόπο τον οποίο ζούμε και την ποιότητα ζωής που απολαμβάνουμε. Όπως ήταν αναμενόμενο, η εισαγωγή της τεχνολογίας στη ζωή μας δημιούργησε μια νέα αγορά, αυτήν της ανάπτυξης λογισμικού, όπου δραστηριοποιούνται πολλαπλές επιχειρήσεις, των οποίων ο αριθμός αυξάνεται συνεχώς με την πάροδο των ετών. Αυτό έχει σαν συνέπεια την αύξηση του ανταγωνισμού και την προσήλωση των επιχειρήσεων στη δημιουργία αξιόπιστων προϊόντων λογισμικού με όσο το δυνατόν καλύτερη απόδοση και λειτουργικότητα. Σημαντικοί παράγοντες στην διαχείριση έργων πληροφορικής είναι ο χρονικός προγραμματισμός του έργου και ο προσδιορισμός της προσπάθειας που απαιτείται για την ολοκλήρωση του. Ο αυξανόμενος ανταγωνισμός απαιτεί συνέπεια στα χρονοδιαγράμματα και μείωση του κόστους στο ελάχιστο, ώστε να αποκτήσει η εκάστοτε επιχείρηση ανταγωνιστικό πλεονέκτημα και να μπορέσει να επιβιώσει στη δύσκολη και απαιτητική αγορά της ανάπτυξης λογισμικού. Οι λανθασμένες εκτιμήσεις, είτε όσο αφορά στο χρόνο είτε στο κόστος, μπορεί να αποβούν μοιραίες για το μέλλον μιας επιχείρησης αφού επηρεάζουν την φήμη, την πελατεία, την αξιοπιστία της και κατά συνέπεια την πορεία της στον ραγδαία αναπτυσσόμενο κλάδο της πληροφορικής. Στο παρελθόν αλλά και στις μέρες μας έχουν παρατηρηθεί πολλαπλές περιπτώσεις αποτυχίας στον τομέα της ανάπτυξης λογισμικού. Αυτές έχουν να 7

9 κάνουν είτε με την ανάπτυξη διαφορετικού συστήματος από αυτό που αρχικά ζητήθηκε, είτε με την υπέρβαση του αρχικού κόστους αλλά και της ημερομηνίας παράδοσης, είτε ακόμα και με την αποτυχία δημιουργίας τελικού προϊόντος. Χαρακτηριστικά, μια μελέτη που πραγματοποιήθηκε στις Ηνωμένες Πολιτείες το χρονικό διάστημα για έργα λογισμικού αξίας 140 εκατομμυρίων δολαρίων που αφορούσαν στους ελέγχους των πτήσεων, διαπιστώθηκε πως το 90% των έργων δεν παραδόθηκαν ποτέ ή δε λειτούργησαν ποτέ [1]. Η εκτίμηση του κόστους λογισμικού (Software Cost Estimation) είναι μια ιδιαίτερα κρίσιμη δραστηριότητα που πρέπει να ολοκληρωθεί στα πρώτα στάδια της διαδικασίας παραγωγής λογισμικού, καθώς σε αυτήν βασίζεται η ανάθεση των πόρων για το συγκεκριμένο έργο. Το αντικείμενό της είναι η πρόβλεψη είτε της ανθρώπινης προσπάθειας που καταβάλλεται είτε του χρηματικού κόστους που απαιτείται για την ολοκλήρωση του έργου. Πολλές φορές αναφερόμαστε και στην πρόβλεψη της παραγωγικότητας, δηλαδή του λόγου του μεγέθους του παραγόμενου κώδικα προς την προσπάθεια που καταβάλλεται (size/effort). Κατά τη διάρκεια του έργου είναι απαραίτητο να πραγματοποιούνται επαναλαμβανόμενες εκτιμήσεις και να επανεξετάζονται οι διάφοροι παράγοντες που επηρεάζουν το έργο. Ειδικά, όταν η διάρκεια και το μέγεθος του έργου είναι αρκετά μεγάλα, πολλές από τις αρχικές προδιαγραφές αλλάζουν, επομένως είναι αναγκαία η επανεκτίμηση ώστε να ληφθούν υπόψη τα νέα δεδομένα που προέκυψαν και το κατά πόσο επηρεάζουν την εξέλιξη του έργου. Ωστόσο, η πρόβλεψη του κόστους, από τις προδιαγραφές του λογισμικού που πρόκειται να αναπτυχθεί, είναι ιδιαίτερα δύσκολη διαδικασία κυρίως λόγω της αβεβαιότητας των διαθέσιμων δεδομένων κατά την έναρξη του έργου, του σημαντικού ρόλου που παίζει ο ανθρώπινος παράγοντας αλλά και της ακρίβειας της μεθόδου που χρησιμοποιείται. Οι δυσκολίες έχουν να κάνουν επίσης με τη μεγάλη ποικιλία των πρακτικών μέτρησης και των σχετικών με την μοντελοποίηση θεμάτων. Για παράδειγμα, η διαθεσιμότητα της εμπειρικής γνώσης και εξειδίκευσης, οι αλλαγές στις απαιτήσεις του συστήματος, η δυσκολία στον προσδιορισμό του μεγέθους του έργου και στην μέτρηση συγκεκριμένων παραγόντων, η συλλογή στοιχείων από παλαιότερα έργα λογισμικού ή η εγκυρότητα των διαφορετικών μοντέλων εκτίμησης που χρησιμοποιούνται για τα διάφορα έργα. Η διεθνής εμπειρία έχει δείξει ότι τα περισσότερα έργα εφαρμογής πληροφορικής τεχνολογίας, σε επιχειρήσεις και οργανισμούς, που περιλαμβάνουν 8

10 ανάπτυξη λογισμικού πάσχουν από υπερβάσεις στον προϋπολογισμό και στον χρονοπρογραμματισμό [2,3]. Οι ανεπαρκείς αρχικές εκτιμήσεις είναι αυτές που κατά κύριο λόγο οδήγησαν στις υποεκτιμήσεις των έργων, οι οποίες μπορεί να αποβούν καταστροφικές για την επιχείρηση. Μια σωστή πρόβλεψη βοηθά την επιχείρηση που αναλαμβάνει την ανάπτυξη αλλά και τον πελάτη να καταρτίσει ακριβείς προϋπολογισμούς, να παρακολουθεί την πορεία του έργου και να λαμβάνει σωστές διοικητικές αποφάσεις. Για τους λόγους που αναφέρθηκαν παραπάνω, η ανάπτυξη επαρκών μεθόδων εκτίμησης κόστους έχει συγκεντρώσει το ενδιαφέρον της παγκόσμιας επιστημονικής κοινότητας και αποτελεί αντικείμενο μακροχρόνιας έρευνας. Στην διεθνή βιβλιογραφία έχουν προταθεί διάφορες μέθοδοι εκτίμησης κόστους λογισμικού. Από τις πιο γνωστές κατηγοριοποιήσεις των μεθόδων εκτίμησης του κόστους είναι αυτή του Boehm που τις κατατάσσει σε τρεις κυρίως μεγάλες κατηγορίες [4]: Την κρίση των ειδικών (Expert Judgment) Τα αλγοριθμικά μοντέλα (Algorithmic models) Την εκτίμηση με αναλογίες (Estimation by Analogy) 1.1 Πρόβλημα εκτίμησης κόστους λογισμικού Όπως αναφέρει και ο ίδιος ο τίτλος, αυτό που προσπαθούμε να κάνουμε σε μια διαδικασία εκτίμησης είναι να προσεγγίσουμε όσο το δυνατόν καλύτερα την μελλοντική τιμή της μεταβλητής που μας ενδιαφέρει. Επειδή οι εκτιμήσεις γίνονται κατά το ξεκίνημα ενός έργου, τα δεδομένα που έχουμε σε αυτήν την φάση είναι ελάχιστα και δεν είναι επαρκή για μια ακριβή εκτίμηση [5]. Δυστυχώς, όσο νωρίτερα γίνεται η εκτίμηση ενός έργου τόσο λιγότερα τα δεδομένα που έχουμε στη διάθεση μας και άρα τόσο μεγαλύτερη είναι η πιθανότητα να μην είναι ακριβής η πρόβλεψη μας. Επομένως, είναι δύσκολο να βρούμε την ακριβή τιμή μιας μεταβλητής αφού δεν είναι δυνατόν να προβλέψουμε όλους τους παράγοντες που την επηρεάζουν. Ωστόσο, μπορούμε να αναπτύξουμε μεθόδους που λαμβάνουν υπόψη όσο το δυνατόν περισσότερους παράγοντες και μας δίνουν την τιμή της μεταβλητής που έχει την μεγαλύτερη πιθανότητα να προκύψει. 9

11 Υπάρχει η πεποίθηση πως η εκτίμηση ενός έργου εξαρτάται από το μέγεθος της τελικής εφαρμογής που πρόκειται να αναπτυχθεί. Βεβαίως, αυτό είναι κάτι που ισχύει στην πλειονότητα των έργων λογισμικού, αλλά υπάρχουν και αρκετές εξαιρέσεις. Η ανάπτυξη λογισμικού είναι περισσότερο μια διαδικασία απόκτησης γνώσης παρά μια διαδικασία παραγωγής κώδικα, επομένως το μέγεθος του προϊόντος μπορεί να μην επηρεάζει. Όταν έχουμε να αναπτύξουμε ένα τεράστιο πρόγραμμα σε μέγεθος αλλά υπάρχει προηγούμενη εμπειρία σε παρόμοια εφαρμογή, τότε η προσπάθεια (effort) που θα χρειαστεί δεν θα είναι ιδιαίτερα μεγάλη. Αντίθετα, αν η εφαρμογή αφορά στην ανάπτυξη ενός μικρού συστήματος πραγματικού χρόνου (real-time system) το οποίο όμως είναι ιδιαίτερα πολύπλοκο, τότε η προσπάθεια θα είναι σημαντική. Στην διαδικασία της εκτίμησης στην ανάπτυξη λογισμικού χρησιμοποιούμε κατά κόρον ιστορικά δεδομένα. Το πρόβλημα με τα ιστορικά δεδομένα είναι ότι αφορούν έργα που πραγματοποιήθηκαν στο παρελθόν και πολλές φορές διαφέρουν σημαντικά μεταξύ τους. Η τεχνολογία όπως και η γνώση που αποκτάται από την ανάπτυξη λογισμικού βελτιώνεται μέρα με τη μέρα, επομένως οι εφαρμογές που αναπτύσσονται στο παρόν, όση ομοιότητα και να παρουσιάζουν με αντίστοιχες εφαρμογές του παρελθόντος, δεν μπορούν να συγκριθούν με ίσους όρους μαζί τους [6]. Επίσης, τα ιστορικά δεδομένα που συγκεντρώνονται και αφορούν προηγούμενα έργα είναι πολλές φορές ελλιπή ή ανακριβή. Το σίγουρο είναι ότι τα χαρακτηριστικά των υλοποιημένων έργων που συγκεντρώνονται σε βάσεις δεδομένων δεν είναι αρκετά σε ποσότητα και ποιότητα, ώστε να μας βοηθήσουν να καταλήξουμε σε μια απόλυτα ακριβή εκτίμηση. Επομένως, όπως τονίζεται και από πολλούς ερευνητές υπάρχει έντονη η ανάγκη εφαρμογής σωστών μεθόδων συλλογής στοιχείων κατά την ανάπτυξη των έργων λογισμικού, ώστε να αποτελέσουν τα ιστορικά δεδομένα μια πολύτιμη πηγή πληροφορίας που θα βοηθήσει στην πραγματοποίηση καλύτερων εκτιμήσεων στο μέλλον [7]. Άλλες δυσκολίες που συναντάμε στην προσπάθεια πραγματοποίησης μιας σωστής εκτίμησης όσο αφορά στην ανάπτυξη έργων λογισμικού έχουν να κάνουν με την συμπεριφορά κάποιων παραγόντων. Για παράδειγμα η αύξηση της παραγωγικότητας κατά τη διαδικασία της παραγωγής κώδικα ή η αύξηση του αριθμού των ατόμων που δουλεύουν για το έργο δεν είναι πάντα ανάλογοι με τη διάρκεια του έργου. Πολλές φορές μάλιστα η αύξηση του αριθμού των πόρων έχει αντίθετες συνέπειες στην πορεία του έργου, αφού προκαλείται ασυνεννοησία και 10

12 επομένως καθυστερήσεις. Επίσης, τα διαφορετικά μέτρα που χρησιμοποιούνται για την μέτρηση κάποιων παραγόντων όπως είναι το μέγεθος του έργου (LOC, Function Points) δημιουργούν δυσκολίες στις συγκρίσεις μεταξύ των έργων. Δυστυχώς, η εμφάνιση εξωτερικών παραγόντων που επηρεάζουν την πορεία του έργου είναι συχνό φαινόμενο στην διαδικασία ανάπτυξης λογισμικού. Εκεί οφείλεται πολλές φορές και η ύπαρξη των λεγόμενων ακραίων παρατηρήσεων στη συλλογή των δεδομένων. Οι ακραίες αυτές παρατηρήσεις δημιουργούν μεγάλα προβλήματα στην διαδικασία εκτίμησης, ιδιαίτερα όταν χρησιμοποιούνται μέθοδοι οι οποίες δεν έχουν αρκετά μεγάλο βαθμό ευρωστίας σε ακραίες τιμές. 1.2 Υπάρχουσες μέθοδοι Η παράδοση ενός προϊόντος λογισμικού εγκαίρως, μέσα στα πλαίσια του προϋπολογισμού και με το απαιτούμενο επίπεδο ποιότητας είναι ιδιαίτερα κρίσιμη για την επιτυχημένη πορεία των επιχειρήσεων ανάπτυξης λογισμικού. Δεν είναι τυχαίο ότι τα τελευταία τριάντα έτη το ενδιαφέρον των ερευνητών έχει στραφεί στην ανάπτυξη και τον έλεγχο ποικίλων τεχνικών για την επίτευξη ακριβέστερων εκτιμήσεων. Κατά καιρούς έχουν προταθεί διάφορες μέθοδοι εκτίμησης που προέρχονται κυρίως από την στατιστική (statistics), την μηχανική μάθηση (machine learning), ή την απόκτηση γνώσης (knowledge acquisition) και μάλιστα έχουν συγκριθεί και ελεγχθεί σε διαφορετικά σύνολα δεδομένων [8,9,10]. Πρόσφατη μελέτη των Jørgensen και Shepperd ερευνά το συγγραφικό ενδιαφέρον των επιστημόνων όσο αφορά στις διαφορετικές μεθόδους εκτίμησης κατά περιόδους αλλά και συνολικά [11]. Όπως φαίνεται και από τον Πίνακα 1.1 η μέθοδος της παλινδρόμησης είναι αυτή που κυριαρχεί και έχει τραβήξει το ενδιαφέρον των ερευνητών στο παρελθόν αλλά και στις μέρες μας. Οι μελέτες που αφορούν στις Αναλογίες (Analogy) και στην Κρίση των Ειδικών (Expert Judgment) αυξάνονται κατά την περίοδο ενώ αυτές που αφορούν τους βαθμούς λειτουργίας μειώνονται αισθητά. Παρόλο που οι μελέτες για την μέθοδο της Κρίσης των Ειδικών αυξήθηκαν στο 15% παραμένουν σε χαμηλό ποσοστό αν αναλογιστεί κανείς ότι είναι η μέθοδος που χρησιμοποιείται κατά κόρον στον κλάδο του λογισμικού και δεν μειονεκτεί σε απόδοση από τις άλλες συνήθως καλύτερα τεκμηριωμένες μεθόδους. 11

13 Ένα άλλο σημαντικό στοιχείο που πρέπει να επισημάνουμε είναι η αύξηση των μελετών που αφορούν άλλες από αυτές τις μεθόδους που αναφέρονται στον Πίνακα 1.1 (Ot=16%). Δηλαδή, τα τελευταία χρόνια παρατηρείται αύξηση της χρήσης νέων μεθόδων εκτίμησης όπως είναι ο γραμμικός προγραμματισμός (linear programming), οικονομικός προγραμματισμός (economic programming), bootstrap-based analogy και ο γενετικός προγραμματισμός (genetic programming). Μέθοδοι Εκτίμησης * Ένα άρθρο μπορεί να μελετά πάνω από μια μέθοδο εκτίμησης. Πίνακας 1.1 [11] Ωστόσο, δεν υπάρχει κάποια μέθοδος που να αναγνωρίζεται ομόφωνα από τους ερευνητές ως η πιο αποτελεσματική για την πραγματοποίηση κάποιας πρόβλεψης [13,15,16,18]. Κάποιες μελέτες, όπως των Shepperd και Schofield [9], συμπεραίνουν πως η μέθοδος εκτίμησης με αναλογίες (EBA-Estimation by Analogy) υπερτερεί της μεθόδου Παλινδρόμησης (Regression), ενώ άλλες μελέτες καταλήγουν σε εντελώς αντίθετο συμπέρασμα, όπως αυτή των Myrtveit και Stensrud [17]. Άλλες πάλι μελέτες εκτιμούν πως η μέθοδος CART είναι καλύτερη από τα μοντέλα παλινδρόμησης [12] και άλλες όχι [6]. Τέλος, οι Srinivasan και Fisher [19], υποστήριξαν ότι τα Νευρωνικά Δίκτυα (Artificial Neural Network-ANN) αποτελούν 12

14 αποδοτικότερη μέθοδο εκτίμησης ενώ ο Jørgensen [14] καταλήγει σε αντίθετα συμπεράσματα. Τα αντικρουόμενα συμπεράσματα που παρατηρούνται στις μελέτες για την επίδοση και την αξιοπιστία των διαφόρων μεθόδων εκτίμησης του κόστους του λογισμικού είναι συχνό φαινόμενο. Όμως η αιτία των διαφοροποιήσεων δεν έχει ακόμη εντοπιστεί από τους ερευνητές. Οι λόγοι που κάτι τέτοιο συμβαίνει μπορεί να είναι πολλοί, όπως για παράδειγμα το ότι η απόδοση μιας μεθόδου εξαρτάται άμεσα από το είδος των δεδομένων στα οποία την εφαρμόζουμε για να πραγματοποιήσουμε μια πρόβλεψη. Ακόμα όμως και αν το σύνολο δεδομένων παραμένει το ίδιο, συχνά καταλήγουμε σε διαφορετικά αποτελέσματα για την απόδοση κάποιας μεθόδου, λόγω της διαφορετικής σχεδίασης των πειραμάτων που γίνονται από τους ερευνητές. Επομένως, λαμβάνοντας υπόψη την ποικιλομορφία των μεθόδων και των τεχνικών εκτίμησης προκύπτει η δυσκολία καθορισμού της τεχνικής που θα ήταν καλύτερη στις δεδομένες περιστάσεις. Όπως προαναφέραμε υπάρχουν πολλές προσεγγίσεις για την εκτίμηση κόστους αλλά και πολλοί τρόποι κατηγοριοποίησης τους. Μια από αυτές είναι και των Stensrud και Myrtveit [18], οι οποίοι διαχωρίζουν τις διάφορες προσεγγίσεις σε μεθόδους με αραιά δεδομένα (sparse-data methods) και σε μεθόδους με πολλά δεδομένα (many-data methods). Στην πρώτη κατηγορία ανήκουν οι τεχνικές που χρησιμοποιούν ελάχιστα ιστορικά δεδομένα ή και καθόλου όπως είναι η Κρίση των Ειδικών (Expert Judgment), η Analytic Hierarchy Process (AHP) και η αυτοματοποιημένη Case-Based Reasoning (CBR). Στην δεύτερη κατηγορία μεθόδων έχουμε μια διαφοροποίηση ανάμεσα σε αυτές που χρησιμοποιούν συγκεκριμένες συναρτήσεις (Functions), όπως είναι η γραμμική παλινδρόμηση (Regression Analysis) και σε αυτές που δεν χρησιμοποιούν (Αrbitrary Function Approximators - AFA s) όπως είναι η εκτίμηση με Αναλογίες (Estimation by Analogy-EBA), τα δέντρα απόφασης και παλινδρόμησης (CART) και τα Νευρωνικά Δίκτυα (Αrtificial Νeural Νetworks-ΑΝΝ). Η κατηγοριοποίηση αυτή παριστάνεται γραφικά και στο Σχήμα 1.1 που ακολουθεί. 13

15 Σχήμα 1.1 [18] Μια άλλη κατηγοριοποίηση είναι αυτή που προτείνεται από τον Boehm και άλλους [20], οι οποίοι διαχωρίζουν τις μεθόδους εκτίμησης σε έξι κύριες κατηγορίες, όπως απεικονίζονται και στο παρακάτω Σχήμα 1.2. Σχήμα 1.2 [20] Στη συνέχεια της εργασίας μας θα αναφερθούμε αναλυτικότερα στις εξής τέσσερις κατηγορίες μεθόδων: Αναλογίες Κρίση των Ειδικών Μηχανική Μάθηση Παλινδρόμηση 14

16 ΚΕΦΑΛΑΙΟ 2 ο ΑΝΑΛΟΓΙΕΣ Σήμερα οι περισσότερες έρευνες έχουν επικεντρωθεί στη δημιουργία αλγοριθμικών μοντέλων του υπολογισμού της προσπάθειας και του κόστους στην ανάπτυξη λογισμικού, τα οποία όμως μπορούν να βαθμονομηθούν σε τοπικά περιβάλλοντα. Σε αυτό το σημείο θα περιγράψουμε μια προσέγγιση για την εκτίμηση που βασίζεται στις αναλογίες και θεωρείται μια «ενδιάμεση» τεχνική στην κρίση των ειδικών και στα αλγοριθμικά μοντέλα. Πολλοί θεωρούν μάλιστα ότι είναι μια πιο συστηματική «κρίση των ειδικών», καθώς οι ειδικοί συνήθως ψάχνουν για ανάλογες περιπτώσεις πριν σχηματίσουν προσωπική άποψη για το εκάστοτε έργο. Αποτελεί μια από τις πλέον συνήθεις μεθόδους εκτίμησης κόστους με ολοκληρωμένη μεθοδολογία και διαθέσιμα εργαλεία αυτοματοποίησής της (ANGEL, ACE, CBR-Works). Μάλιστα, έχει εφαρμοστεί και αξιολογηθεί σε γνωστά σύνολα δεδομένων με πολύ καλά αποτελέσματα [16]. Η τεχνική της εκτίμησης με αναλογίες περιλαμβάνει αρχικά την περιγραφή των έργων με όρους χαρακτηριστικών παρόμοιων με αυτά των ολοκληρωμένων έργων (για παράδειγμα, οι μετρικές κώδικα, η γλώσσα προγραμματισμού, η εμπειρία των προγραμματιστών, το πεδίο εφαρμογής, ο αριθμός των διεπαφών χρήστη, το μέγεθος του εγγράφου των λειτουργικών απαιτήσεων). Αυτός ο χαρακτηρισμός θα αποτελέσει στη συνέχεια τον γνώμονα πάνω στον οποίο θα γίνει η επιλογή παρόμοιων ή ανάλογων έργων από μια βάση δεδομένων με ολοκληρωμένα έργα για τα οποία είναι γνωστό το κόστος τους. Οι τιμές αυτές χρησιμοποιούνται στη συνέχεια, με κάποιες τροποποιήσεις ενδεχομένως, για να υπολογιστεί η τιμή για το έργο που μας ενδιαφέρει. Το πρόβλημα που προκύπτει στην φάση αυτή είναι το πώς θα εντοπίσουμε τις αναλογίες και τον βαθμό ομοιότητας μεταξύ των έργων, αλλά και το πώς θα χρησιμοποιήσουμε τις γνωστές τιμές από τα έργα που επιλέξαμε για να καταλήξουμε στην πρόβλεψη μας. Η ομοιότητα συνήθως ορίζεται ως η Ευκλείδεια απόσταση σε έναν n-διάστατο χώρο, όπου κάθε διάσταση αντιστοιχεί σε μια μεταβλητή, δηλαδή σε ένα χαρακτηριστικό του έργου. Κάθε διάσταση κανονικοποιείται, έτσι ώστε όλες οι 15

17 διαστάσεις να έχουν το ίδιο βάρος στην διαδικασία εύρεσης των αναλογιών. Το πρόβλημα που παρουσιάζεται σε αυτήν την περίπτωση αφορά τα κατηγορικά δεδομένα τα οποία δεν είναι εύκολο να τα επεξεργαστούμε. Παρόλα αυτά, αποδεικνύονται εξαιρετικά χρήσιμα καθώς μας βοηθούν στο διαχωρισμό των δεδομένων σε περισσότερο ομογενή σύνολα από όπου μπορούμε να εντοπίσουμε καλύτερα τις ομοιότητες των έργων [21]. 2.1 Συλλογιστική Βασισμένη σε Περιπτώσεις (Case-Based Reasoning) Ουσιαστικά, η εκτίμηση με αναλογίες αποτελεί μια μορφή Case-Based Reasoning (C.B.R.). H C.B.R. τυποποιήθηκε για πρώτη φορά τη δεκαετία 80 και βασίζεται στη θεμελιώδη αρχή ότι παρόμοια προβλήματα επιλύονται καλύτερα με την εφαρμογή παρόμοιων λύσεων [22]. Σημαντικές πτυχές της μεθόδου είναι η εκμάθηση από την εμπειρία και η έννοια του όρου «παρόμοια». Οι τεχνικές C.B.R. δεν απαιτούν να έχει λυθεί ένα ακριβώς ίδιο πρόβλημα στο παρελθόν. Η διαφορά της από τις άλλες μεθόδους τεχνητής νοημοσύνης είναι ότι δε βασίζεται στη δημιουργία κάποιου συγκεκριμένου μοντέλου. Σε αντίθεση λοιπόν με τις άλλες προσεγγίσεις που βασίζονται στη γνώση και χρησιμοποιούν κανόνες, στην C.B.R. δεν είναι αναγκαίο να ορίσουμε σαφείς σχέσεις αιτίου-αποτελέσματος ή άλλες σχέσεις που να αφορούν στο συγκεκριμένο πεδίο. Αυτό αποτελεί και ένα ισχυρό πλεονέκτημα της μεθόδου, ειδικά όταν αναφερόμαστε σε πεδία όπου η γνώση την οποία έχουμε στη διάθεση μας δεν είναι επαρκής. Τα κύρια χαρακτηριστικά της μεθόδου είναι: Η χρήση βάσης δεδομένων που αποτελείται από ολοκληρωμένα έργα με γνωστό κόστος. Η περιγραφή του νέου έργου με χαρακτηριστικά παρόμοια των ολοκληρωμένων έργων (π.χ. μετρικές κώδικα, γλώσσα προγραμματισμού, εμπειρία των προγραμματιστών, πεδίο εφαρμογής). Ο ορισμός της έννοιας της απόστασης ανάμεσα σε δύο έργα και η χρήση μέτρων απόστασης και ανομοιότητας που υπολογίζονται από τα χαρακτηριστικά των έργων. 16

18 Ο υπολογισμός της απόστασης του νέου έργου από κάθε έργο της βάσης. Ο εντοπισμός των κοντινότερων έργων (γειτονικά ή ανάλογα). Η πρόβλεψη του κόστους συνδυάζοντας τα κόστη των γειτονικών έργων. Η C.B.R. αποτελεί μια τεχνική για τη διαχείριση και χρησιμοποίησης της γνώσης η οποία μπορεί να οργανωθεί ως διακριτές αφαιρέσεις γεγονότων ή οντοτήτων που περιορίζονται σε χρόνο και χώρο. Κάθε τέτοια αφαίρεση χαρακτηρίζεται ως μια περίπτωση. Στην Τεχνολογία Λογισμικού τέτοια παραδείγματα είναι τα έργα, τα πρότυπα σχεδίασης και τα συστατικά του λογισμικού. Οι περιπτώσεις χαρακτηρίζονται από διανύσματα χαρακτηριστικών, όπως το μέγεθος του αρχείου, ο αριθμός των διεπαφών χρήστη ή η μέθοδος ανάπτυξης. Η μέθοδος C.B.R. λειτουργεί επιλύοντας το νέο πρόβλημα (πρόβλημα-στόχος), μέσω της ανάκτησης και έπειτα της προσαρμογής παρόμοιων περιπτώσεων από μια αποθήκη παλιότερων λυμένων περιπτώσεων. 2.2 Ο Κύκλος της μεθόδου των αναλογιών Οι Aamodt και Plaza [23] αναγνωρίζουν τέσσερα επίπεδα στην εκτίμηση με αναλογίες τα οποία συνδυάζονται μεταξύ τους και δημιουργούν μια κυκλική διαδικασία (γνωστό και σαν μοντέλο R 4 ). Τα στάδια του κύκλου αυτού απεικονίζονται διαγραμματικά στα Σχήματα 2.1 και 2.2 που ακολουθούν και είναι τα εξής: 1. Ανάκτηση παρόμοιων περιπτώσεων με αυτή που καλούμαστε να επιλύσουμε (Retrieve). 2. Επαναχρησιμοποίηση της γνώσης που προήρθε από παλιότερες λυμένες περιπτώσεις (Reuse). 3. Διόρθωση ή προσαρμογή των προτεινόμενων λύσεων ώστε να προσαρμοστούν καλύτερα στην περίπτωση-στόχο (Revise). 4. Επέκταση της βάσης δεδομένων με την εισαγωγή της νέας λύσης της περίπτωσης-στόχου (Retain). 17

19 Σχήμα 2.1 [24] Σχήμα 2.2 [25] 18

20 Κύριο χαρακτηριστικό της C.B.R. είναι η βάση των περιπτώσεων (case-based) όπου αποθηκεύονται τα δεδομένα των έργων που έχουν ολοκληρωθεί, δηλαδή αποτελεί τη μνήμη της μεθόδου. Όταν ένα νέο πρόβλημα προκύψει, πρέπει να κωδικοποιηθεί ως διάνυσμα χαρακτηριστικών για να γίνει στη συνέχεια η βάση για την ανάκτηση παρόμοιων περιπτώσεων. Όσο μεγαλύτερη είναι η ομοιότητα σε χαρακτηριστικά των περιπτώσεων, που ανακτώνται από τη βάση περιπτώσεων, με το πρόβλημα-στόχο τόσο αποτελεσματικότερη θα είναι και η μέθοδος. Οι περιπτώσεις αυτές επανεξετάζονται και προσαρμόζονται για την εξαγωγή λύσης. Στη συνέχεια αφού γίνει επικύρωση του αποτελέσματος, η περίπτωση αυτή προστίθεται στη βάση των περιπτώσεων, ώστε να χρησιμοποιηθεί μελλοντικά στην ανεύρεση λύσης για κάποιο καινούριο πρόβλημα. Με αυτόν τον τρόπο, η βάση περιπτώσεων εμπλουτίζεται συνεχώς ακολουθώντας τις αλλαγές και τις νέες τάσεις στο εκάστοτε πεδίο, όπως είναι η εισαγωγή νέων τεχνολογιών και γλωσσών προγραμματισμού. Για αυτόν τον λόγο και κάποια μέτρα ομοιότητας που θα δούμε αναλυτικότερα παρακάτω, λαμβάνουν υπόψη την νεότητα των έργων έτσι ώστε να προτιμώνται τα πιο πρόσφατα από αυτά. 2.3 Ανάκτηση παρόμοιων περιπτώσεων (Retrieve) Το πρώτο σημαντικό βήμα στον κύκλο C.B.R. είναι η ανάκτηση προηγούμενων παρόμοιων περιπτώσεων που μπορούν να χρησιμοποιηθούν για να λυθεί το πρόβλημα-στόχος. Στο Σχήμα 2.3, η απόσταση ανάκτησης R αυξάνεται όσο η ομοιότητα μεταξύ της περιγραφής του προβλήματος στόχου και της περιγραφής ενός αποθηκευμένου προβλήματος μειώνονται (δηλ., μικρότερη ομοιότητα σημαίνει μεγαλύτερη απόσταση). Μια βασική υπόθεση στην C.B.R. είναι ότι η απόσταση ανάκτησης R είναι ανάλογη με το Α, την απόσταση προσαρμογής (ή προσπάθειας). 19

21 Σχήμα 2.3 [26] Η βελτίωση της απόδοσης της διαδικασίας ανάκτησης, μέσω αποτελεσματικότερων προσεγγίσεων στην αξιολόγηση της ομοιότητας έχει συγκεντρώσει το ενδιαφέρον πολλών ερευνών. Εντούτοις, διάφοροι επιστήμονες αμφισβητούν τη βασική υπόθεση στην οποία στηρίζεται η βασισμένη στην ομοιότητα ανάκτηση παρόμοιων περιπτώσεων (similarity-based retrieval), δηλαδή ότι οι περισσότερο όμοιες περιπτώσεις είναι και οι πιο χρήσιμες για τη λύση του προβλήματος-στόχου και επομένως προσαρμόζονται ευκολότερα. Στη συνέχεια θα παρουσιάσουμε κάποια μέτρα ομοιότητας αλλά και εναλλακτικές προσεγγίσεις στη διαδικασία της ανάκτησης που σκοπεύουν να ξεπεράσουν τους περιορισμούς των μέτρων ομοιότητας [27]. Σε μερικές εφαρμογές της C.B.R., μπορεί να είναι επαρκές να αξιολογηθεί η ομοιότητα των αποθηκευμένων περιπτώσεων σε επίπεδο μοναχά επιφανειακών χαρακτηριστικών (surface similarity). Τα επιφανειακά χαρακτηριστικά γνωρίσματα μιας περίπτωσης είναι εκείνα που παρέχονται συνήθως ως μέρος της περιγραφής της και αντιπροσωπεύονται τυπικά χρησιμοποιώντας ζευγάρια χαρακτηριστικού-τιμής. Σε άλλες εφαρμογές, μπορεί να είναι απαραίτητο να χρησιμοποιηθούν παραγόμενα χαρακτηριστικά. Αυτά τα εξάγουμε από την περιγραφή της περίπτωσης, βασιζόμενοι σε γνώση του πεδίου στο οποίο ανήκει η συγκεκριμένη περίπτωση. Αξίζει, εν τούτοις, να σημειώσουμε ότι εάν ένα χαρακτηριστικό είναι ή όχι εξαρχής διαθέσιμο, δεν έχει 20

22 καμία σχέση με το πόσο δραστικό ρόλο παίζει στην απόφαση της συνάφειας μιας περίπτωσης [28]. Σε άλλες πάλι εφαρμογές, οι περιπτώσεις αναπαρίστανται από σύνθετες δομές (όπως γραφήματα) και έτσι η ανάκτηση απαιτεί αξιολόγηση της δομικής ομοιότητάς τους (structural similarity). Όπως είναι αναμενόμενο, η επεξεργασία των παραγόμενων χαρακτηριστικών ή η χρήση της δομικής ομοιότητας είναι απαιτητική υπολογιστικά. Ωστόσο, με αυτόν τον τρόπο έχουμε το πλεονέκτημα ότι ανακτώνται περισσότερο συναφείς περιπτώσεις με αυτήν που μας ενδιαφέρει. Ένας τρόπος να ανακτώνται οι χρήσιμες περιπτώσεις χωρίς τη χρήση εκτενών υπολογισμών, είναι η ανάπτυξη επεξεργασμένων με προσοχή λεξιλογίων ευρετηρίασης που να περιγράφουν τις περιπτώσεις, έτσι ώστε η ρητή περιγραφή μιας περίπτωσης να συλλαμβάνει τα χαρακτηριστικά που καθορίζουν τη σχετικότητά της. Μέτρηση ομοιότητας των περιπτώσεων Η προσέγγιση που χρησιμοποιείται περισσότερο για την μέτρηση της ομοιότητας και στηρίζεται στα επιφανειακά χαρακτηριστικά των περιπτώσεων είναι οι αλγόριθμοι κοντινότερων γειτόνων. Βασίζονται σε μετρικές απόστασης ή στο άθροισμα των τετραγώνων των διαφορών για κάθε χαρακτηριστικό-μεταβλητή. Κάθε μεταβλητή πρέπει να κανονικοποιηθεί πρώτα, ώστε να έχει τον ίδιο βαθμό επιρροής. Ορισμένες παραλλαγές των αλγόριθμων αυτών επιτρέπουν και την στάθμιση των διαφόρων χαρακτηριστικών, αν και κάτι τέτοιο μπορεί να αποβεί προβληματικό όταν αναφερόμαστε σε πεδίο για το οποίο δεν έχουμε επαρκή γνώση. Ένας συχνά χρησιμοποιούμενος αλγόριθμος δίνεται από τον Aha [25]: όπου Ρ είναι το σύνολο των n χαρακτηριστικών, C 1 και C 2 είναι οι περιπτώσεις και 21

23 όπου i) όταν τα χαρακτηριστικά είναι αριθμητικές μεταβλητές, ii) όταν τα χαρακτηριστικά είναι κατηγορικές μεταβλητές και C 1j = C 2j, iii) όταν τα χαρακτηριστικά είναι κατηγορικές μεταβλητές και C 1j C 2j αντίστοιχα. Άλλες προσεγγίσεις είναι: Κατευθυνόμενη Επαγωγή Εδώ έχουμε τη συμμετοχή ενός ειδικού, ο οποίος με βάση την εμπειρία του καθορίζει τα χαρακτηριστικά-κλειδιά του κάθε έργου. Αυτό βέβαια αναιρεί το πλεονέκτημα της C.B.R. μεθόδου αφού πλέον γίνεται απαραίτητη η ύπαρξη ενός ειδικού. Περίγραμμα ανάκτησης Αυτή η τεχνική θυμίζει τα ερωτήματα που θέτουμε σε μια βάση δεδομένων (π.χ. SQL), αφού ο χρήστης τροφοδοτεί με τιμές ή διαστήματα τιμών τα διάφορα πεδία και λαμβάνει ως απάντηση στο ερώτημα του τα έργα εκείνα που ταιριάζουν περισσότερο με το έργο που τον ενδιαφέρει. Προτίμηση ιδιαιτερότητας Επιλέγονται οι περιπτώσεις που ταιριάζουν πλήρως στα χαρακτηριστικά με την περίπτωση-στόχο. Προτίμηση συχνότητας Προτιμώνται τα έργα που έχουν ανακτηθεί συχνότερα στο παρελθόν. Προτίμηση της πιο πρόσφατης κατάστασης Αυτοί οι αλγόριθμοι ευνοούν τις περιπτώσεις που ταιριάζουν στην παρούσα περίπτωση και έχουν ανακτηθεί πιο πρόσφατα από αυτές που έχουν μεγάλο χρονικό διάστημα να επιλεγούν. 22

24 Ασαφής ομοιότητα Σε αυτήν την περίπτωση χρησιμοποιούνται έννοιες όπως το τουλάχιστον τόσο όμοιος όσο ή οι οφθαλμοφανείς διαφορές παρά ξεκάθαρες τιμές για να εντοπιστούν οι ομοιότητες στα έργα. Αντικειμενοστραφής ομοιότητα Για προβλήματα που προέρχονται από πολύπλοκο πεδίο, όπως είναι τα έργα λογισμικού, ίσως χρειαστεί να γίνουν συγκρίσεις ομοιότητας ανάμεσα σε έργα με εντελώς διαφορετική δομή. Στην προσέγγιση της Αντικειμενοστραφούς ομοιότητας οι περιπτώσεις αναπαρίστανται σαν συλλογές από αντικείμενα (το καθένα έχει τα δικά του χαρακτηριστικά και τιμές για κάθε ένα από αυτά), που οργανώνονται σε μια ιεραρχία σχέσεων. Οι διάφοροι αλγόριθμοι χρησιμοποιούν κάποια μετρική απόστασης με την οποία υπολογίζουν το βαθμό ομοιότητας των έργων. Οι γνωστότερες μετρικές ομοιότητας και πιο συχνά χρησιμοποιούμενες είναι: Η μη σταθμισμένη Ευκλείδεια απόσταση όπου d, η Ευκλείδεια απόσταση μεταξύ των σημείων (x o, y o ) και (x 1, y 1 ) Η σταθμισμένη Ευκλείδεια απόσταση Σε αυτήν την περίπτωση δίνονται συγκεκριμένα βάρη στα χαρακτηριστικά του διανύσματος. όπου d, η Ευκλείδεια απόσταση μεταξύ των σημείων (x o, y o ) και (x 1, y 1 ), και w x, w y τα βάρη των x και y αντίστοιχα. 23

25 Το κριτήριο του μέγιστου (maximum measure) Το χαρακτηριστικό που παρουσιάζει τη μεγαλύτερη ομοιότητα καθορίζει και την ομοιότητα της περίπτωσης. Αυτό έχει σαν αποτέλεσμα η επιλογή να στηρίζεται σε ένα μόνο χαρακτηριστικό αν και αυτό μπορεί να είναι διαφορετικό για καθεμιά ανάκτηση που γίνεται από τη βάση περιπτώσεων. Αδύνατα σημεία των Μετρικών Ομοιότητας Οι μετρικές ομοιότητας που περιγράψαμε παραπάνω πάσχουν σε διάφορα σημεία. Πρώτα από όλα, αδυνατούν να διαχειριστούν ικανοποιητικά κατηγορικά ή συμβολικά δεδομένα. Αν και έχουν προταθεί αρκετοί αλγόριθμοι που προσαρμόζουν τα κατηγορικά χαρακτηριστικά, δεν καταφέρνουν να είναι αρκετά αποτελεσματικοί δεδομένου ότι τείνουν να υιοθετούν μια Boolean προσέγγιση. Δηλαδή τα χαρακτηριστικά ταιριάζουν ή δεν ταιριάζουν με την περίπτωση-στόχο, χωρίς να υπάρχει κάποια ενδιάμεση κατάσταση. Βέβαια, η περίπτωση της Ασαφούς ομοιότητας αποτελεί εξαίρεση αφού οι εκφράσεις που χρησιμοποιούνται σε αυτήν την μετρική όπως αρκετά όμοιος απευθύνονται και σε κατηγορικά δεδομένα. Επίσης, αυτές οι μετρικές ομοιότητας αποτυγχάνουν να λάβουν υπόψη τους πληροφορίες που ενδεχομένως εξάγονται από τη δομή των δεδομένων. Η εξαίρεση σε αυτήν την περίπτωση είναι η προσέγγιση της Αντικειμενοστραφούς ομοιότητας που μπορεί να εφαρμοστεί σε περιπτώσεις οι οποίες διαφέρουν στην δομή τους και να εντοπίσει με επιτυχία την ομοιότητα ανάμεσα τους. Άλλο μειονέκτημα των μετρικών ομοιότητας αποτελεί ο αποπροσανατολισμός από παραπλανητικά χαρακτηριστικά που δεν σχετίζονται με την ομοιότητα των περιπτώσεων. Η λύση σε αυτό το πρόβλημα είναι η δυνατότητα μάθησης σε ένα σύστημα C.B.R., ώστε να αναγνωρίζονται τα χαρακτηριστικά εκείνα που πραγματικά είναι χρήσιμα και μάλιστα σε ποιο βαθμό είναι χρήσιμο το καθένα [25]. 24

26 2.4 Προσαρμογή των προτεινόμενων λύσεων (Revise- Adaptation) Μια άλλη σημαντική πτυχή της εκτίμησης με αναλογίες είναι η προσαρμογή της λύσης, ιδιαίτερα όταν οι παρόμοιες περιπτώσεις έργων που ανακτήθηκαν διαφέρουν σημαντικά από την περίπτωση-στόχο. Αυτό συνήθως προκύπτει όταν η βάση των περιπτώσεων είναι μικρή ή ετερογενής. Η απλούστερη προσέγγιση, αυτή των συστημάτων k-nn, είναι να χρησιμοποιηθεί η λύση του κοντινότερου γείτονα, ή η μέση τιμή (πιθανώς απόσταση που σταθμίζεται έτσι ώστε οι κοντινότερες λύσεις να είναι αυτές που επηρεάζουν περισσότερο) των διάφορων γειτόνων. Οι Hanney και Keane προτείνουν μια ενδιαφέρουσα εναλλακτική λύση, η οποία μαθαίνει πώς να προσαρμόζεται συγκρίνοντας τις διαφορές των χαρακτηριστικών και τις διαφορές των λύσεων [29]. Δυστυχώς, αυτή η δομική προσέγγιση περιορίζεται σε γραμμικά κυρίως προβλήματα. Μια άλλη ευρέως χρησιμοποιημένη στρατηγική προσαρμογής είναι η χρήση κανόνων για να τροποποιηθούν οι προτεινόμενες λύσεις. Το μειονέκτημα εδώ είναι ότι το αρχικό κίνητρο για τη χρησιμοποίηση C.B.R. που είναι η πρόκληση της εξαγωγής και απόκτησης γνώσης, καταστρέφεται από τους κανόνες. 2.5 Πλεονεκτήματα της μεθόδου των Αναλογιών Η μέθοδος των Αναλογιών πλεονεκτεί σε αρκετά σημεία εν συγκρίσει με άλλες τεχνικές εκτίμησης, δεδομένου ότι: Αντιμετωπίζει πολλά προβλήματα που σχετίζονται με την εξαγωγή της γνώσης και την κωδικοποίηση της. Εξετάζει μόνο εκείνα τα προβλήματα που πραγματικά προκύπτουν και όχι όλα τα πιθανά προβλήματα, όπως εξετάζουν τα παραγωγικά συστήματα (π.χ. αλγοριθμικά μοντέλα). Διαχειρίζεται αποτυχημένες περιπτώσεις, δηλαδή περιπτώσεις στις οποίες δεν είχε δοθεί ακριβή εκτίμηση και έτσι επιτρέπει στους χρήστες να προσδιορίσουν ενδεχόμενες καταστάσεις υψηλού κινδύνου. 25

27 Αντιμετωπίζει επιτυχώς πεδία για τα οποία η γνώση που έχουμε στη διάθεση μας είναι περιορισμένη (παραδείγματος χάριν, εξειδικευμένους τομείς της Τεχνολογίας Λογισμικού), αφού οι λύσεις βασίζονται σε ιστορικά δεδομένα αντίθετα με τα μοντέλα που στηρίζονται σε υποθέσεις. Υποστηρίζει την καλύτερη συνεργασία με τους χρήστες, οι οποίοι είναι συχνά προθυμότεροι να δεχτούν λύσεις από συστήματα που βασίζονται στην αναλογία, δεδομένου ότι αυτές προέρχονται από μια μορφή συλλογιστικής συγγενή με την ανθρώπινη συλλογιστική επίλυσης προβλήματος. Αυτό το πλεονέκτημα είναι ιδιαίτερα σημαντικό εάν σκοπός των συστημάτων δεν είναι μόνο να επεκταθούν, αλλά και να αυξηθεί η εμπιστοσύνη των χρηστών σε αυτά. Δίνει τη δυνατότητα συμμετοχής ειδικού, ο οποίος με βάση την εμπειρία του μπορεί να προσαρμόσει την εξαχθείσα λύση, κάτι που δεν μπορεί να γίνει στη περίπτωση των μεθόδων που χρησιμοποιούν πολύπλοκα μοντέλα πρόβλεψης. Τέλος, ακολουθεί την εξέλιξη της τεχνολογίας και των γλωσσών προγραμματισμού, αφού η βάση περιπτώσεων στην οποία στηρίζεται η μέθοδος, αναπτύσσεται και ενημερώνεται συνεχώς με την προσθήκη νέων και πιο εξελιγμένων έργων, κάτι που είναι ιδιαίτερα χρήσιμο και αναγκαίο στον τομέα της Τεχνολογίας Λογισμικού. 2.6 Μειονεκτήματα της μεθόδου των Αναλογιών Έκτος από τα πλεονεκτήματα που αναφέραμε, η μέθοδος των Αναλογιών παρουσιάζει και ορισμένους περιορισμούς. Το κυριότερο αδύνατο σημείο της μεθόδου είναι η περιγραφή των χαρακτηριστικών κάθε έργου. Τα έργα που βρίσκονται σε μια βάση περιπτώσεων πρέπει να περιγράφονται κατά έναν ενιαίο τρόπο. Κάθε καινούριο έργο που θα εισάγεται στη βάση θα πρέπει να είναι συνεπές με αυτήν την περιγραφή και την απόδοση των χαρακτηριστικών-μεταβλητών. Στον τομέα όμως του λογισμικού υπάρχει μεγάλη ετερογένεια μεταξύ των εφαρμογών που αναπτύσσονται και μια ταχύτατη ανάπτυξη των νέων τεχνολογιών. Σαν αποτέλεσμα 26

28 υπάρχει μια μεγάλη δυσκολία στη συνέπεια της περιγραφής των χαρακτηριστικών κάθε έργου, πράγμα που δυσχεραίνει την αποτελεσματικότητα της μεθόδου. Άλλη σημαντική δυσκολία που αντιμετωπίζει η μέθοδος έχει να κάνει με τη χρήση των ιστορικών δεδομένων. Τα δεδομένα δεν είναι επαρκή για την πραγματοποίηση μιας ικανοποιητικής εκτίμησης. Η συστηματική αποθήκευση των έργων λογισμικού δεν ξεκίνησε αρκετά νωρίς ώστε να έχουμε στη διάθεση μας μια πλήρης βάση περιπτώσεων που να καλύπτει όλες τις διαφορετικές περιπτώσεις έργων. Πολλές φορές ακόμα και αν έχουμε στη διάθεση μας πλήθος έργων, προκύπτει το πρόβλημα των λανθασμένων ή ελλιπών δεδομένων (missing data) που περιορίζει και πάλι τον αριθμό των έργων που μπορούν να χρησιμοποιηθούν για την εκτίμηση. Αυτό που συμπεραίνουμε από τα παραπάνω είναι πως η βάση περιπτώσεων έχει ζωτική σημασία για την αποτελεσματικότητα της μεθόδου των Αναλογιών. Είναι αναγκαίο λοιπόν μελλοντικά να δοθεί μεγάλη προσοχή στη συλλογή των δεδομένων καθώς σε αυτά στηρίζεται η επιτυχία πολλών μεθόδων εκτίμησης του κόστους λογισμικού. 2.7 Ερευνητικά θέματα της μεθόδου των Αναλογιών Σε αυτό το κεφάλαιο αναφερθήκαμε στην C.B.R., μια σχετικά πρόσφατη τεχνολογία που έχει προκύψει από τη γνωστική επιστήμη και την επιστήμη της τεχνητής νοημοσύνης και βασίζεται κυρίως στην μνήμη και όχι σε συγκεκριμένα μοντέλα. Πλησιάζει πολύ τον τρόπο με τον οποίο οι ίδιοι οι άνθρωποι επιλύουν τα προβλήματα, δηλαδή μέσω της αναλογίας. Αυτό είναι ιδιαίτερα σημαντικό, δεδομένου ότι μπορεί να βοηθήσει τους χρήστες να εμπιστευθούν τα συστήματα C.B.R. και ενδεχομένως να αλληλεπιδράσουν καλύτερα με αυτά. Στην προσπάθεια μας να καταλήξουμε σε μια καλή εκτίμηση έχουμε να αντιμετωπίσουμε μια δημιουργική διαδικασία που χαρακτηρίζεται από πολυπλοκότητα, συνεχεία αλλαγές και αβεβαιότητα. Η C.B.R. αποδεικνύεται ιδιαίτερα αποτελεσματική τεχνική ειδικά όταν πρόκειται για προβλήματα Τεχνολογίας Λογισμικού, αφού δεν απαιτεί την πλήρη γνώση του πεδίου στο οποίο ανήκει το πρόβλημα-στόχος. 27

29 Αν και υπάρχουν αναμφισβήτητα σημαντικές ευκαιρίες για την επέκταση της μεθόδου, ωστόσο υπάρχουν ακόμη πολλές προκλήσεις. Αρχικά, υπάρχει η πρόκληση της προσαρμογής. Όπως προαναφέρθηκε, υπάρχουν δύο κύριες προσεγγίσεις για την προσαρμογή. Η μια είναι η προσαρμογή βασισμένη σε κανόνες (rule-based), που μπορεί να ενσωματώσει την ουσιαστική γνώση του κάθε πεδίου, αλλά πάσχει στο χειρισμό ιδιόμορφων περιπτώσεων και στη διαδικασία εξαγωγής και απόκτησης της γνώσης. Βέβαια, το τελευταίο πρόβλημα μπορεί να λυθεί με τη βοήθεια των τεχνικών επαγωγής κανόνων. Η άλλη προσέγγιση είναι να χρησιμοποιηθούν απλές αριθμητικές τεχνικές που στηρίζονται περισσότερο σε επιλογή χαρακτηριστικών και υποσύνολων περιπτώσεων. Αυτή η προσέγγιση μπορεί να είναι ιδιαίτερα τρωτή σε νέα προβλήματα. Δεύτερον, είναι η πρόκληση της κατασκευής περιπτώσεων από πλουσιότερες πηγές στοιχείων. Πολλές από τις εφαρμογές τεχνολογίας λογισμικού περιορίζονται σε απλές αριθμητικές πληροφορίες αφού τα κατηγορικά χαρακτηριστικά μπορεί να αποτελέσουν πρόβλημα. Ωστόσο, γίνεται μια σειρά ερευνών που εξετάζει την αναπαράσταση των περιγραφικών μεταβλητών στην C.B.R. και την κωδικοποίηση της πληροφορίας που βρίσκεται σε μορφή κειμένου [30]. Η επεξεργασία αυτού του είδους πληροφορίας δημιουργεί προβλήματα στην υπολογιστική διαδικασία και η προσπάθεια που έχει γίνει για τη δημιουργία δομών-αναφορών που να διαχειρίζονται τέτοια πληροφορία, δεν έχει εξετάσει κεντρικά ζητήματα όπως την ανάκτηση και επαναχρησιμοποίηση κάποιου συστατικού από μια περίπτωση. Οι γλώσσες σήμανσης, όπως η XML μπορεί να αποτελέσουν ένα τρόπο διαχείρισης ημιδομημένων δεδομένων. Οποιαδήποτε προσέγγιση, που θα καταφέρνει να κάνει χρήση των πλούσιων πηγών πληροφορίας κειμένου, θα είναι εξαιρετικά χρήσιμη αν λάβουμε υπόψη μας το εύρος των δεδομένων που είναι διαθέσιμα στην επιστήμη της Τεχνολογίας Λογισμικού και το ιδιαίτερο ερευνητικό ενδιαφέρον που υπάρχει στον τομέα αυτό. Τρίτον, η πρόκληση που καλούμαστε να αντιμετωπίσουμε είναι αυτή της εύρεσης των κατάλληλων μεθόδων ώστε να υποστηριχθεί η συνεργασία μεταξύ του ειδικού και της μεθόδου των Αναλογιών. Στο παρελθόν, υπήρξε η τάση να αντικαθίσταται ο ανθρώπινος παράγοντας πλήρως από τέτοιου είδους συστήματα. Εντούτοις, όταν έχουμε να κάνουμε με ζητήματα που επηρεάζονται και από εξωτερικού παράγοντες (για παράδειγμα σημαντικές διοικητικές αποφάσεις), τότε κρίνεται απαραίτητη και η κρίση ενός ειδικού για την λήψη της πιο κατάλληλης 28

30 απόφασης για το πρόβλημα που προέκυψε. Επομένως η εύρεση αποτελεσματικότερων μορφών αλληλεπίδρασης μεταξύ του ανθρώπου και ενός συστήματος C.B.R. κρίνεται μεγάλης σημασίας, ώστε να εκμεταλλευτούμε πλήρως τα πλεονεκτήματα αυτής της τεχνικής. Τέλος, εκτός από το σχεδιασμό και την ενημέρωση της βάσης των περιπτώσεων τα τελευταία χρόνια προέκυψε και το ζήτημα της συντήρησης (Σχήμα 2.4). Έμφαση πρέπει να δοθεί στην ανάπτυξη κατάλληλων εργαλείων για την σωστή και έγκαιρη ενημέρωση της βάσης περιπτώσεων, ώστε να αυξηθεί η απόδοση των συστημάτων C.B.R. και η αποτελεσματικότητα τους όσο αφορά τους εκάστοτε στόχους. Η κατανόηση των ζητημάτων που αφορούν στο πρόβλημα της συντήρησης και η χρησιμοποίηση της γνώσης αυτής για την ανάπτυξη αποτελεσματικών στρατηγικών συντήρησης, θεωρείται κρίσιμη για την υποστήριξη και τη βελτίωση της ποιότητας των λύσεων της μεθόδου των Αναλογιών. Σχήμα 2.4 [26] Σήμερα υπάρχει μια γενική αναγνώριση της αξίας και της συνεισφοράς της συντήρησης στην επιτυχία των πρακτικών των συστημάτων C.B.R., αφού με αυτόν τον τρόπο επιτυγχάνεται η επέκταση της βάσης περιπτώσεων ώστε να συμβαδίζει με τις συνεχείς αλλαγές της τεχνολογίας. 29

31 ΚΕΦΑΛΑΙΟ 3 ο ΚΡΙΣΗ ΤΩΝ ΕΙΔΙΚΩΝ Η κρίση των ειδικών αποτελεί την πλέον συνηθισμένη προσέγγιση για την εκτίμηση κόστους λογισμικού και βασίζεται στην εμπειρία ομάδας εμπειρογνωμόνων οι οποίοι γνωμοδοτούν σχετικά με το κόστος του έργου. Πολλές μέθοδοι εκτίμησης της προσπάθειας στηρίζονται στην κρίση των ειδικών, αφού αποτελεί τη μόνη λύση σε περιπτώσεις όπου έχουμε εφαρμογή νέων τεχνολογιών ή σε περιπτώσεις όπου δεν υπάρχουν καθόλου ιστορικά δεδομένα από μετρήσεις ολοκληρωμένων έργων. Η εκτίμηση πραγματοποιείται από ένα ή περισσότερα άτομα τα οποία θεωρούνται ειδικοί είτε γιατί έχουν γνώσεις πάνω στο εκάστοτε πεδίο είτε γιατί έχουν αναπτύξει παρόμοια συστήματα στο παρελθόν. Οι εκτιμητές προχωρούν στην πρόβλεψη τους χρησιμοποιώντας μονάχα την εμπειρία τους και το ένστικτο τους ή βοηθιούνται από δομημένες προσεγγίσεις με καθορισμένες διαδικασίες και υποστήριξη από ιστορικά στοιχεία. Ένα πλεονέκτημα της μεθόδου είναι ότι μπορεί να εφαρμοστεί πολύ νωρίς, στα πρώτα στάδια της ανάπτυξης, όπου οι απαιτήσεις του συστήματος δεν είναι ακόμα καθορισμένες. Επίσης, είναι ευέλικτη όσο αφορά τα δεδομένα εισόδου που απαιτεί και το χρόνο που χρειάζεται για την πραγματοποίηση μιας εκτίμησης. Ωστόσο, κάποιες δυσκολίες που επηρεάζουν την ποιότητα της πρόβλεψης έχουν να κάνουν με τη διαφορά ανάμεσα στην πραγματική εμπειρία και την υποκειμενική άποψη ενός ειδικού, όπως και την ικανότητα του ειδικού να θυμάται όλα τα στοιχεία που αφορούν τα προηγούμενα έργα με τα οποία ασχολήθηκε. Ένα ακόμα μειονέκτημα είναι ότι η διαδικασία αυτή δεν είναι επαναληπτική ώστε να προσαρμόζεται σε ενδεχόμενες αλλαγές. Η μέθοδος της κρίσης των ειδικών είναι υποκειμενική, αλλά αν λάβουμε υπόψη μας ότι εμείς επιλέγουμε τα δεδομένα που αποτελούν την είσοδο σε άλλες δομημένες διαδικασίες, τότε κατανοούμε πως η υποκειμενικότητα υπάρχει ακόμα και εκεί. Επίσης, οι μεθοδικές προσεγγίσεις είναι αρκετά πολύπλοκες, ελάχιστα ευέλικτες και πρέπει να προσαρμόζονται συχνά ώστε να συμβαδίζουν με τις περιστάσεις, δεδομένου ότι εξαρτώνται συνήθως από ιστορικά δεδομένα. Άλλωστε οι ερευνητές 30

32 δεν έχουν καταλήξει στο συμπέρασμα ότι οι πιο αντικειμενικές προσεγγίσεις υπερτερούν της κρίσης των ειδικών [31]. Τις εκτιμήσεις των ειδικών τις διακρίνουμε σε δύο υποκατηγορίες, τις μάκροεκτιμήσεις (macro judgments) και τις μίκρο-εκτιμήσεις (micro judgments). Στην πρώτη περίπτωση ο ειδικός καλείται να εκτιμήσει την προσπάθεια που χρειάζεται για το σύνολο του έργου, ενώ στην δεύτερη περίπτωση ο ειδικός εκτιμάει ένα μέρος του έργου, για παράδειγμα μια συγκεκριμένη εργασία. Στη συνέχεια οι εκτιμήσεις αυτές προστίθενται για να υπολογιστεί η συνολική προσπάθεια [32]. Είναι σημαντικό πριν την πραγματοποίηση οποιασδήποτε πρόβλεψης από κάποιον ειδικό, να γίνει κατανοητό πλήρως το περιεχόμενο και ο σκοπός του έργου. Η εκτίμηση ξεκινάει με την περιγραφή του έργου και την αποσύνθεση του σε μικρότερα πακέτα εργασίας (work breakdown structure-wbs). Στη συνέχεια ένας ή περισσότεροι ειδικοί υπολογίζουν το χρόνο ανάπτυξης που απαιτεί καθένα από αυτά τα πακέτα με βάση την εμπειρία τους. Ο Jorgensen [33], επισημαίνει πως η πρόβλεψη πρέπει να γίνεται όσο το δυνατόν αργότερα στην πορεία ενός έργου, ώστε ο ειδικός να έχει στη διάθεση του περισσότερη πληροφορία που θα τον βοηθήσει να καταλήξει σε ακριβέστερη πρόβλεψη. Επιπλέον, οι πρόωρες και βιαστικές προβλέψεις μπορεί να έχουν αρνητική επιρροή σε επόμενες κρίσεις, καθώς είναι πιθανόν να εμποδίσουν τους ειδικούς να κάνουν σωστή εκτίμηση, όταν θα έχουν πλέον στη διάθεση τους περισσότερες πληροφορίες για το έργο [34]. Η διαδικασία εκτίμησης ακολουθεί γενικά δύο προσεγγίσεις: α) την «από κάτω προς τα επάνω» (bottom-up), όπου εκτιμώνται οι δραστηριότητες από τις οποίες αποτελείται ένα έργο (WBS) και στη συνέχεια συνοψίζονται σε μια ολοκληρωμένη εκτίμηση και β) την «από επάνω προς τα κάτω» (top-down), όπου το έργο συγκρίνεται με παρόμοια έργα και εκτιμάται σαν σύνολο. Συνήθως, συστήνεται η χρήση και των δύο προσεγγίσεων αλλά χωριστά η μία από την άλλη, ώστε να αποφευχθούν οι μεταξύ τους επιρροές. Επίσης, σε περίπτωση που οι ειδικοί δε διαθέτουν μεγάλη εμπειρία πάνω στο συγκεκριμένο αντικείμενο ή δεν έχουν πρόσβαση σε παρόμοια έργα είναι καλό να προτιμάται η bottom-up προσέγγιση [35]. 31

33 3.1 Χαρακτηριστικά της μεθόδου Η εκτίμηση μπορεί να πραγματοποιηθεί χωριστά είτε από έναν είτε από περισσότερους εμπειρογνώμονες είτε ακόμα και από ομάδες εκτίμησης με διάφορους τρόπους. Για να αυξηθεί η ακρίβεια, οι εκτιμήσεις που προέρχονται από ειδικούς με διαφορετική γνώση και υπόβαθρο πρέπει να συνδυαστούν μεταξύ τους. Υπάρχουν πολλές δυνατότητες για τον συνδυασμό αυτόν: 1. Οι ειδικοί συναντιούνται και καταλήγουν σε μια κοινή εκτίμηση. 2. Ο διευθυντής του έργου (project manager) συνδυάζει τις εκτιμήσεις των ειδικών λαμβάνοντας τον μέσο όρο αυτών. 3. O project manager και πάλι συνδυάζει τις εκτιμήσεις των ειδικών, αλλά αυτή τη φορά τις σταθμίζει σύμφωνα με το επίπεδο ικανότητας και εμπειρίας του κάθε ειδικού. Στην τελευταία περίπτωση υπάρχει η δυσκολία αξιολόγησης της αξίας του κάθε ειδικού. Για τον λόγο αυτό, συνήθως προτιμάται ο μέσος όρος των εκτιμήσεων ο οποίος αυξάνει την ακρίβεια της τελικής πρόβλεψης. Κάποια θέματα που πρέπει να λαμβάνονται υπόψη σε μια διαδικασία εκτίμησης είναι τα εξής [36]: Όσο μεγαλύτερη είναι η εμπειρία ανάπτυξης των ειδικών, τόσο πιο ακριβείς θα είναι και οι προβλέψεις που θα παραχθούν. Επίσης, ο ειδικός ή οι ειδικοί που θα συμμετέχουν στη διαδικασία θα πρέπει να είναι εξοικειωμένοι με ανάλογες εφαρμογές και να διαθέτουν διαφορετικό υπόβαθρο ο καθένας. Η γνώση για το πώς αναπτύσσεται ένα σύστημα δεν πρέπει να ταυτίζεται με την γνώση του κόστους ή της προσπάθειας που απαιτείται για την ανάπτυξη του. Το πρώτο δεν συνεπάγεται το δεύτερο, αλλά ούτε και το αντίστροφο. Η εμπειρία και η εξειδίκευση ενός ειδικού πρέπει να αξιολογείται λαμβάνοντας υπόψη τη γνώση του πάνω σε παρόμοιες εφαρμογές και όχι 32

34 στο γενικό πεδίο γνώσης που εντάσσεται το κάθε έργο, για παράδειγμα Τεχνολογία Λογισμικού. Οι ειδικοί που κάνουν την εκτίμηση μπορεί να συμμετέχουν και στην ομάδα ανάπτυξης του έργου ή απλά να είναι μια ξεχωριστή και ανεξάρτητη ομάδα ατόμων που απλά εκτιμούν τα έργα και δεν συμμετέχουν στην ανάπτυξη τους. Το πλεονέκτημα στην πρώτη περίπτωση είναι η καλύτερη ανάλυση του έργου και το έντονο αίσθημα δέσμευσης που δημιουργείται στους ειδικούς, ενώ το μειονέκτημα είναι οι μη ρεαλιστικές εκτιμήσεις ορισμένων project manager που αποσκοπούν στην έγκριση του έργου τους από τη διοίκηση. Στην περίπτωση της δημιουργίας ανεξάρτητης ομάδας εκτιμητών υπάρχει μικρότερη πιθανότητα επιρροής από προσωπικά συμφέροντα ή θέματα πολιτικής, αλλά όταν ο δημιουργός του έργου δε συμμετέχει στην εκτίμηση έχουμε αύξηση της αβεβαιότητας και των υπεραισιόδοξων εκτιμήσεων. 3.2 Εκτίμηση σε ομάδες Οι Molokken, Ostvold και Jorgensen [36], υποστηρίζουν πως η χρήση ανθρώπων για την πραγματοποίηση μιας εκτίμησης, καθιστά την εκτίμηση αυτή υποκειμενική αφού επηρεάζεται από τις προσωπικές προκαταλήψεις του καθενός. Σε γενικές γραμμές, οι άνθρωποι έχουν μια τάση στην πραγματοποίηση υπεραισιόδοξων εκτιμήσεων. Για να μειωθεί αυτή η τάση, οι ερευνητές προτείνουν την πραγματοποίηση εκτιμήσεων κατά ομάδες, οι οποίες σύμφωνα με μελέτες παράγουν λιγότερο αισιόδοξες εκτιμήσεις από ότι οι ανεξάρτητοι εκτιμητές. Ένα σημαντικό πρόβλημα κατά την εκτίμηση με τη μέθοδο των ειδικών είναι οι ξεχασμένες δραστηριότητες του έργου, δηλαδή δραστηριότητες που δεν λαμβάνονται υπόψη στην πραγματοποίηση της πρόβλεψης. Θεωρείται ότι η εκτίμηση σε ομάδες μπορεί να αμβλύνει αυτό το πρόβλημα, δεδομένου ότι περισσότερα άτομα θυμούνται περισσότερα πράγματα και εντοπίζουν επίσης αποτελεσματικότερα ομοιότητες με τα προηγούμενα έργα. Επίσης, υπάρχει μεγαλύτερη εμπιστοσύνη και αποδοχή σε 33

35 εκτιμήσεις που προέρχονται από ομάδες εκτιμητών. Μάλιστα μέσα από την ομαδική συνεργασία παράγεται νέα γνώση που έχει σαν αποτέλεσμα την βελτίωση των εκτιμήσεων. Άλλες πολύτιμες πτυχές της εκτίμησης σε ομάδες είναι η παρακίνηση των μελών και η διακίνηση πληροφοριών μεταξύ τους. Η τεχνική των Δελφών Υπάρχουν πολλές διαφορετικές προσεγγίσεις για την εργασία σε ομάδες, από ομάδες χωρίς καμιά δομή ως και πολύ αυστηρά δομημένες ομάδες. Η τεχνική των Δελφών είναι μια δομημένη προσέγγιση για να καταστήσει τις ομάδες συζήτησης αποτελεσματικότερες. Αναπτύχθηκε το 1940 στην Rand Corporation σαν ένας τρόπος δημιουργίας προβλέψεων για μελλοντικά γεγονότα - για τον λόγο αυτό και το όνομα της παραπέμπει στο μουσείο των Δελφών στην αρχαία Ελλάδα [20]. Πρόσφατα, η τεχνική χρησιμοποιήθηκε για την καθοδήγηση ενός συνόλου ενημερωμένων ατόμων στην λήψη μιας από κοινού απόφασης για ένα θέμα. Σε πρώτη φάση, οι συμμετέχοντες στην διαδικασία καλούνται να κάνουν κάποια αξιολόγηση σχετικά με ένα ζήτημα, χωριστά ο καθένας, χωρίς να συμβουλευτούν τις απόψεις των άλλων συμμετεχόντων στην άσκηση. Τα πρώτα αποτελέσματα συλλέγονται, ταξινομούνται σε πίνακες, και έπειτα επιστρέφονται σε κάθε συμμετέχοντα για την διενέργεια μιας δεύτερης φάσης, όπου οι συμμετέχοντες καλούνται να κάνουν πάλι μια αξιολόγηση σχετικά με το ίδιο ζήτημα, αλλά αυτή τη φορά έχοντας γνώση των απόψεων των άλλων συμμετεχόντων. Η δεύτερη φάση έχει σαν συνέπεια την μείωση της διακύμανσης των αξιολογήσεων, υποδεικνύοντας κατά αυτόν τον τρόπο μια μέση τιμή γύρω από την οποία συγκεντρώνονται οι πεποιθήσεις των ειδικών. Αντίθετα με την γνήσια τεχνική των Δελφών που απέφευγε τη χρήση διαλόγου, η Διευρυμένη τεχνική των Δελφών (Wideband Delphi technique) εισήγαγε τον διάλογο ανάμεσα στους συμμετέχοντες μεταξύ των φάσεων της εκτίμησης. Αποτελεί μια μίξη της γνήσιας τεχνικής των Δελφών και των μη δομημένων προσεγγίσεων εκτίμησης σε ομάδες. Τα βήματα που ακολουθούνται είναι τα παρακάτω: 1. Οι ειδικοί ενημερώνονται από τον συντονιστή για τις προδιαγραφές και τη μορφή της εκτίμησης. 34

36 2. Ακολουθεί συνεδρίαση της ομάδας για να συζητήσει για το προϊόν και τα ζητήματα εκτίμησης. 3. Οι ειδικοί παράγουν μια ανεξάρτητη εκτίμηση. 4. Οι εκτιμήσεις επιστρέφονται υποδεικνύοντας τη μέση εκτίμηση και την προσωπική εκτίμηση του κάθε ειδικού. 5. Ακολουθεί και άλλη συνεδρίαση της ομάδας για να συζητηθούν τα αποτελέσματα. 6. Οι ειδικοί προετοιμάζουν μια νέα αναθεωρημένη ανεξάρτητη εκτίμηση. 7. Τα βήματα 3-6 επαναλαμβάνονται ωσότου επιτευχθεί μια κοινή συναίνεση από την ομάδα των ειδικών. Το μειονέκτημα της μεθόδου είναι ότι απαιτεί τη συμμετοχή πολύ έμπειρων ειδικών και μπορεί να αποβεί αρκετά χρονοβόρα. Ωστόσο, καταλήγει σε μια εκτίμηση απαλλαγμένη από προκαταλήψεις και πολιτικές επιρροής. Άλλωστε, όταν οι συμμετέχοντες λαμβάνουν κάποιου είδους ανατροφοδότηση, όπως στατιστικά στοιχεία ή κάποιας μορφής παρακίνηση, τότε έχουμε σαν αποτέλεσμα εκτιμήσεις με μεγαλύτερη ακρίβεια [37]. Οι ερευνητές χρησιμοποίησαν μάλιστα την τεχνική των Δελφών για την εκτίμηση λογικών αρχικών τιμών για παράγοντες που εμφανίζονται σε μοντέλα εκτίμησης λογισμικού όπως είναι το COCOTS, το COQUALMO και το COCOMO II [38,39,40,41]. 3.3 Μέθοδος top-down ή work breakdown structure (WBS) Σε μια διαδικασία εκτίμησης του κόστους ενός συστήματος με τη μέθοδο topdown, η εκτίμηση προκύπτει από τη συνολικά χαρακτηριστικά του έργου, χωρίς να γίνεται αποσύνθεση του σε μικρότερα μέρη. Μια συνήθης στρατηγική top-down είναι η σύγκριση του παρόντος έργου με παρόμοια ολοκληρωμένα έργα του παρελθόντος. Η WBS βασίζεται στην αρχή ότι το κόστος ενός συστήματος ισούται με το άθροισμα ορισμένων όρων που ο καθένας αντιπροσωπεύει το κόστος ενός επιμέρους κομματιού του αντίστοιχου συστήματος. Τα επιμέρους κομμάτια του συστήματος είναι αποτέλεσμα κατακερματισμού του σε μικρότερα μέρη και αυτών σε άλλα επιμέρους κ.ο.κ. Με αυτόν τον τρόπο δημιουργείται μια ιεραρχική δομή του 35

37 συστήματος η οποία παριστάνεται με ένα ιεραρχικό διάγραμμα που καλείται «διάγραμμα δομής κατακερματισμού του συστήματος». Σε αυτό το σημείο συμμετέχουν και οι ειδικοί, οι οποίοι κρίνουν ποια είναι τα σημαντικότερα μέρη του εκάστοτε λογισμικού και εκτιμούν τις πιθανότητες που αφορούν το κόστος του καθενός. Η τεχνική αυτή χρησιμοποιεί δύο διαφορετικές δομές κατακερματισμού, μια που αναφέρεται στο ίδιο το προϊόν-έργο και μια που αναφέρεται στις δραστηριότητες που απαιτούνται για να δημιουργηθεί το συγκεκριμένο έργο [4]. Η πρώτη ιεραρχία περιγράφει τη θεμελιώδη δομή του λογισμικού, δείχνοντας πώς τα διάφορα τμήματα λογισμικού αποτελούν το γενικό σύστημα, ενώ η δεύτερη δείχνει τις δραστηριότητες που μπορεί να συνδέονται με ένα δεδομένο τμήμα λογισμικού (Σχήματα 3.1 και 3.2 αντίστοιχα). A Product Work Breakdown Structure Σχήμα 3.1 [20] 36

38 An Activity Work Breakdown Structure Σχήμα 3.2 [20] Η top-down τεχνική προτιμάται στην πραγματοποίηση πρώιμων εκτιμήσεων που βασίζονται σε ασαφή ανάλυση των απαιτήσεων, όπου δεν μπορεί να γίνει λεπτομερής αποσύνθεση της διεργασίας ανάπτυξης. 3.4 Μέθοδος bottom-up Στην μέθοδο bottom-up το έργο διαιρείται σε μικρότερη κομμάτια (modules) και πραγματοποιείται εκτίμηση για κάθε ένα από αυτά. Το άθροισμα όλων αυτών των εκτιμήσεων αποτελεί την εκτίμηση για το σύνολο του έργου. Συνήθως, οι εκτιμήσεις του κάθε μέρους του έργου διευρύνονται ώστε να καλύπτουν απρόβλεπτα γεγονότα ή δραστηριότητες που ίσως προκύψουν. Η στρατηγική bottom-up οδηγεί στην πλήρη αντίληψη του σχεδιασμού και της εκτέλεσης του έργου και προτιμάται ιδιαίτερα όταν έχουμε να επανεκτιμήσουμε εναπομένουσες δραστηριότητες ενός έργου. 3.5 Διαφορές των μεθόδων bottom-up και top-down Ερευνητές έχουν ασχοληθεί, μελετήσει και συγκρίνει τις δύο αυτές μεθόδους καταλήγοντας κάποιες φορές σε διαφορετικά αποτελέσματα για την ακρίβεια 37

39 καθεμίας από αυτές. Αν και σε πειράματα που πραγματοποιήθηκαν διαπιστώθηκε διαφορά στην ακρίβεια μεταξύ των μεθόδων, ωστόσο δεν αποδείχθηκε σημαντική. Επομένως τα αποτελέσματα αυτά δεν μπορούν να γενικευτούν ώστε να αποτελέσουν βάση για την επιλογή μιας από τις δύο μεθόδους. Μέσα από τις μελέτες των ερευνητών για την ακρίβεια των διάφορων τεχνικών προέκυψαν κάποιες αξιοσημείωτες διαφορές ανάμεσα στην bottom-up και top-down προσέγγιση [35,42,43]: Η κρίση των ειδικών με βάση την τεχνική top-down στηρίζεται στην ανάκληση παρόμοιων παλαιότερων ολοκληρωμένων έργων ενώ με βάση των bottom-up στην ανάκληση παρόμοιων παλαιότερων ολοκληρωμένων τμημάτων έργων. Οι ειδικοί που διαθέτουν τεχνικό υπόβαθρο τείνουν να επιλέγουν κυρίως την μέθοδο bottom-up για τις εκτιμήσεις τους. Αντίθετα, οι ειδικοί με θεωρητικό υπόβαθρο επιλέγουν κυρίως την top-down προσέγγιση. Για την εφαρμογή μιας τυπικής δομής κατακερματισμού του έργου σαν βάση για την bottom-up τεχνική και την επίτευξη εκτιμήσεων με ικανοποιητική ακρίβεια, θα πρέπει οι ειδικοί να έχουν επαρκή γνώση των διεργασιών από τα οποία αποτελείται το έργο. Αυτό, έχει σαν αποτέλεσμα η τεχνική αυτή να περιορίζεται σε περιπτώσεις όπου υπάρχουν τεχνικοί με το κατάλληλο υπόβαθρο για το συγκεκριμένο λογισμικό. Σύνηθες φαινόμενο κατά την εφαρμογή της bottom-up τεχνικής είναι η παράληψη είτε από απροσεξία, είτε από άγνοια, κάποιων διεργασιών ή τμημάτων του έργου. Επίσης, πολλές φορές οι τεχνικοί ξεχνούν να λάβουν υπόψη τα απρόσμενα γεγονότα που ενδεχομένως να προκύψουν στην πορεία ανάπτυξης του λογισμικού. Όλα τα παραπάνω έχουν σαν συνέπεια την παραγωγή χαμηλότερων εκτιμήσεων. Ωστόσο, σε περιπτώσεις όπου υπάρχει τάση για υπερεκτιμήσεις, η τεχνική bottom-up μπορεί να οδηγήσει σε ακριβέστερες προβλέψεις από την top-down. Κατά την εφαρμογή μιας top-down τεχνικής, γίνεται μια εκτεταμένη και βαθύτερη μελέτη σε παρόμοια ολοκληρωμένα έργα από ότι στην bottom-up. Επομένως, η εκτίμηση στην οποία καταλήγουμε είναι λιγότερο αισιόδοξη. 38

40 Οι ειδικοί που χρησιμοποιούν την top-down τεχνική μπορούν να παράγουν σχετικά ακριβείς εκτιμήσεις με ελάχιστο κόστος και όχι ιδιαίτερη εξειδίκευση πάνω στο αντικείμενο, χρησιμοποιώντας απλά υψηλού επιπέδου πληροφορία από παλαιότερα ολοκληρωμένα έργα. Αντίθετα μια bottom-up προσέγγιση απαιτεί εξειδικευμένες γνώσεις και αρκετό υπολογιστικό χρόνο. Επομένως, η bottom-up είναι προτιμότερη όταν επιθυμούμε οι ειδικοί να αφιερώσουν κάποιο χρόνο ώστε να κατανοήσουν τις απαιτήσεις του συστήματος, ενώ η top-down όταν θέλουμε μια εκτίμηση με μικρό κόστος και σπατάλη του πολύτιμου χρόνου των ειδικών. Η εφαρμογή μιας bottom-up τεχνικής απαιτεί την χρήση μεγάλης ποσότητας και ποικιλίας γνώσης. Σαν αποτέλεσμα του γεγονότος αυτού, έχουμε τη συσσώρευση γνώσης η οποία δεν σχετίζεται με το αντικείμενο που μας απασχολεί και έτσι επιδρά αρνητικά στην διαδικασία της εκτίμησης, κάνοντας την χρονοβόρα και επίπονη. Συνιστάται λοιπόν η χρήση της μεθόδου αυτής κυρίως σε σύνθετα έργα όπου υπάρχει μεγάλη αβεβαιότητα στις εκτιμήσεις. 3.6 Πρακτικές βελτίωσης της εκτίμησης από ειδικούς Η βελτίωση της εκτίμησης της προσπάθειας και του κόστους ανάπτυξης λογισμικού δεν απαιτεί απαραίτητα τη χρήση περίπλοκων τυποποιημένων μοντέλων ή ακριβές βάσεις δεδομένων προηγούμενων ολοκληρωμένων έργων. Αν δοθεί η απαραίτητη προσοχή για την σωστή και μεθοδική χρήση της κρίσης των ειδικών, τότε σίγουρα θα οδηγηθούμε σε πιο ρεαλιστικές προβλέψεις. Ακολουθούν μερικές από τις πρακτικές που έχουν σαν αποτέλεσμα την καλύτερη κατανόηση του περιεχομένου και των χαρακτηριστικών του έργου και τελικά την πραγματοποίηση αποτελεσματικότερων εκτιμήσεων. Εκτίμηση-Σχεδιασμός-Δέσμευση Όταν ζητούμε από έναν ειδικό να εκτιμήσει το κόστος ή την προσπάθεια που απαιτείται για την ανάπτυξη λογισμικού, μπορεί να αναφερόμαστε στην εκτίμηση της πιο πιθανής προσπάθειας, της προσχεδιασμένης προσπάθειας ή της προσπάθειας για 39

41 την επίτευξη μιας καλής προσφοράς σε πελάτη. Συνήθως, ο όρος εκτίμηση χρησιμοποιείται και στις τρεις προαναφερθείσες περιπτώσεις ακόμα και μέσα στα πλαίσια του ίδιου οργανισμού ή έργου. Οι στόχοι όμως της εκτίμησης της πραγματικής προσπάθειας, της προσχεδιασμένης και της προσπάθειας στην οποία δεσμευόμαστε στην διοίκηση ή στον πελάτη, διαφέρουν. Όταν θέλουμε να εκτιμήσουμε το πιο πιθανό κόστος ανάπτυξης του λογισμικού, ο σκοπός μας πρέπει να είναι η ακρίβεια και μόνο. Ο σχεδιασμός σχετίζεται περισσότερο με την απόδοση της εργασίας και την υπέρβαση του προϋπολογισμού, ενώ η δέσμευση με την επίτευξη της αποδοχής του έργου και το χρηματικό κέρδος. Οι περισσότερες εταιρίες ανάπτυξης λογισμικού δεν διαθέτουν χωριστές διαδικασίες για την εκτίμηση της πραγματικής προσπάθειας, της προσχεδιασμένης προσπάθειας και της δημιουργίας προσφοράς. Η σύγχυση όμως ανάμεσα σε αυτές τις περιπτώσεις έχει αρνητικό αποτέλεσμα στην διαμόρφωση ρεαλιστικής πρόβλεψης. Έτσι για παράδειγμα, οι υπερβολικές προσδοκίες των πελατών μπορεί να επηρεάσουν την εκτίμηση των ειδικών για το κόστος ενός έργου λογισμικού. Αυτό μπορεί να αποφευχθεί με δύο τρόπους: 1. Να μην παρέχεται στον ειδικό που πρόκειται να εκτιμήσει ένα έργο λογισμικού, καμία πληροφορία που να σχετίζεται με την τιμολόγηση του προϊόντος. 2. Να αντιμετωπίζεται ο σχεδιασμός και η προσφορά για το έργο ως δύο ξεχωριστές από την εκτίμηση διαδικασίες. Μια άλλη τεχνική που προτείνεται από τον Jorgensen [33], είναι η εκτίμηση px που καθορίζει το επίπεδο της προσπάθειας που ο ειδικός πιστεύει ότι έχει ένα ποσοστό Χ να μην υπερβεί την εκτιμώμενη προσπάθεια. Η εκτίμηση της πιο πιθανής προσπάθειας θα πρέπει να αντιπροσωπεύει την πιο ρεαλιστική χρήση της προσπάθειας. Η προσχεδιασμένη προσπάθεια θα πρέπει να δίνει τη δυνατότητα για πετυχημένη ολοκλήρωση του έργου και το κίνητρο για αποδοτική εργασία, ενώ η τιμή στην οποία δεσμευόμαστε θα πρέπει να είναι τόσο χαμηλή ώστε να αναλάβουμε το έργο και τόσο υψηλή ώστε να μεγιστοποιήσουμε το κέρδος μας. Να επισημάνουμε σε αυτό το σημείο, ότι κατά τη διάρκεια μιας εκτίμησης δεν θα πρέπει να ασκείται καμία μορφή πίεσης στον ειδικό. Οι πολύ υψηλές αμοιβές για την πραγματοποίηση κάποιας πρόβλεψης από έναν ειδικό και η επιβολή τιμωριών σε 40

42 ενδεχόμενη αποτυχία των προβλέψεων, έχει αρνητικές συνέπειες στην ακρίβεια της εκτίμησης [44]. Συνδυασμός μεθόδων εκτίμησης Ένα από τα πιο ισχυρά ευρήματα στις μελέτες που αφορούν στους τομείς της πρόβλεψης, της ανθρώπινης κρίσης και της εκτίμησης λογισμικού είναι ότι ο συνδυασμός έχει πολύ θετικά αποτελέσματα. Μάλιστα, ανεξάρτητα αν ο συνδυασμός αναφέρεται σε έναν απλό μέσον όρο των εκτιμήσεων ή εφαρμόζεται ένας πολύπλοκος αλγόριθμος στάθμισης. Οι τεχνικές ικανότητες και γνώσεις ενός ειδικού δεν αποτελούν ισχυρή ένδειξη για την ευστάθεια και την ακρίβεια μιας εκτίμησης, πόσο μάλλον όταν είναι αρκετά δύσκολο να αξιολογήσει κανείς το επίπεδο των γνώσεων ενός ανθρώπου. Αυτός είναι ένας από τους λόγους που ακόμα και η χρήση ενός απλού μέσου όρου των απόψεων διαφορετικών ειδικών και μοντέλων συχνά αποτελεί την πιο ισχυρή και ακριβή μέθοδο συνδυασμού. Κατά τον συνδυασμό εκτιμήσεων, είναι ιδιαίτερα σημαντικό οι ειδικοί ή οι μέθοδοι που χρησιμοποιούνται να αντιπροσωπεύουν διαφορετικό υπόβαθρο γνώσης και να στηρίζονται σε διαφορετικές αρχές. Είναι προφανές, πως αν συνδυάσουμε εκτιμήσεις με τις ίδιες αδυναμίες ή δυνατά σημεία θα συνδυάσουμε και τον ίδιο τύπο μεροληψίας, επομένως δε θα έχουμε αύξηση της ακρίβειας της τελικής πρόβλεψης. Από την άλλη πλευρά, η εμπιστοσύνη σε μια εκτίμηση αυξάνεται από τον αριθμό των πηγών ανεξάρτητα από βασικές αρχές στις οποίες στηρίχθηκαν. Σαν αποτέλεσμα αυτού του συνδυασμού οδηγούμαστε στην υπερβολική εμπιστοσύνη πάνω σε μια πρόβλεψη. Η χρήση αυτής της πρακτικής σε μια εταιρία ανάπτυξης εφαρμογών διαδικτύου έδειξε πως το σφάλμα της εκτίμησης μειώθηκε από 54% σε 35%, όταν οι ομάδες εκτίμησης περιέλαβαν άτομα με διαφορετικούς ρόλους ο καθένας μέσα στην οργάνωση της εταιρίας [45]. Αιτιολόγηση των εκτιμήσεων και χρήση εγγράφων τεκμηρίωσης Οι υπεύθυνοι για την επιτήρηση έργων λογισμικού μέσα από την εμπειρία τους από μεγάλα προγράμματα σε διάφορες βιομηχανίες ανάπτυξης λογισμικού, έχουν δύο βασικές αρχές όσο αφορά στην συμμετοχή ειδικών κατά τη διαδικασία πρόβλεψης του κόστους: 41

43 1. Να μην αποδέχονται ποτέ εκτιμήσεις κόστους που στηρίζονται μονάχα στο καλό ένστικτο ενός ειδικού. 2. Να απαιτούν πάντα αιτιολόγηση των εκτιμήσεων ώστε να είναι δυνατός ο έλεγχος τους. Αυτές οι βασικές αρχές υποστηρίζονται από διάφορες εμπειρικές μελέτες. Μάλιστα σε μια από αυτές διαπιστώθηκε ότι ο μόνος παράγοντας που συσχετίζεται με την ακρίβεια εκτίμησης των εταιριών λογισμικού ήταν η υπευθυνότητα του εκτιμητή, με άλλα λόγια η εμπιστοσύνη που υπάρχει στις ικανότητες του [46]. Η απαίτηση από τους εκτιμητές να αιτιολογούν τα αποτελέσματά τους είναι ένας καλός τρόπος να βελτιώσουν την υπευθυνότητά και την εμπιστοσύνη στο πρόσωπο τους. Άλλωστε, πολλές φορές η εμπιστοσύνη στους εκτιμητές για τις προβλέψεις τους εξαρτάται περισσότερο από το μέγεθος της προσπάθειας που καταβάλλουν, παρά από την πραγματική ακρίβεια των εκτιμήσεων τους. Εκτός από τα παραπάνω, η αιτιολόγηση των προσωπικών εκτιμήσεων έχει και άλλα σημαντικά πλεονεκτήματα [47, 48, 49, 50]: Αυξάνει την ακρίβεια της εκτίμησης, ειδικά σε περιπτώσεις με μεγάλη αβεβαιότητα Οδηγεί σε μια περισσότερο αναλυτική διαδικασία εκτίμησης και μειώνει τον κίνδυνο χρήσης μιας πολύ απλοποιημένης στρατηγικής εκτίμησης Βελτιώνει το επίπεδο εμπιστοσύνης της εκτίμησης Βελτιώνει την αντιστάθμιση της ελλιπούς πληροφορίας Έχει χαμηλό κόστος για μια επιχείρηση Επίσης, η χρήση εγγράφων τεκμηρίωσης βοηθάει τους εκτιμητές να εφαρμόσουν μια περισσότερο αναλυτική στρατηγική και συνεπώς να είναι λιγότερο επιρρεπείς στην ανθρώπινη μεροληψία. Τέτοια έγγραφα είναι και οι λίστες ελέγχου (checklists), που υπενθυμίζουν στον ειδικό τις πιο σημαντικές δραστηριότητες και πτυχές που πρέπει να έχει υπόψη του κατά την εκτίμηση. Αποτελούν σημαντική βοήθεια για τους ειδικούς που συχνά ξεχνούν κάποιες δραστηριότητες των έργων ή 42

44 δεν λαμβάνουν υπόψη την εμφάνιση απροσδόκητων γεγονότων, και έτσι οδηγούνται σε υποτίμηση της απαιτούμενης προσπάθειας Οι λίστες ελέγχου είναι δυνατόν να ανεβάσουν το επίπεδο εκτίμησης ενός αρχάριου εκτιμητή σε αυτό ενός ειδικού. Οι άνθρωποι είναι συχνά απρόβλεπτοι, αφού παίρνοντας σαν είσοδο τα ίδια δεδομένα, καταλήγουν σε διαφορετικά συμπεράσματα. Με τις λίστες ελέγχου μπορούμε να αυξήσουμε την συνέπεια των εκτιμήσεων, να συγκεντρώσουμε εμπειρία και να την χρησιμοποιήσουμε σε μελλοντικές εκτιμήσεις [31]. Επιλογή ειδικών με εμπειρία πάνω σε παρόμοια έργα Η εμπειρία είναι σε στενότερα πλαίσια εφαρμόσιμη από ότι οι περισσότεροι άνθρωπο πιστεύουν και η εξειδίκευση στη γνώση του πώς διαφέρει από τη γνώση του πόσο θα κοστίσει και τη γνώση της αβεβαιότητας της εκτίμησης της προσπάθειας. Πολλές φορές η γενική εμπειρία ενός ειδικού δεν είναι τόσο σημαντικός παράγοντας για την ακρίβεια μιας εκτίμησης, όσο είναι η ικανότητά του να ανακαλεί στη μνήμη του παρόμοια έργα. Έχει παρατηρηθεί σε μελέτες, πως οι εκτιμήσεις ειδικών με εμπειρία σε συναφή έργα, είχαν πολύ μικρότερο σφάλμα εκτίμησης από αυτές των ειδικών με γενική εμπειρία (12% και 39% αντίστοιχα) [35]. Επομένως, τα εμπειρικά συμπεράσματα τονίζουν την ανάγκη για μια πιο στενή ερμηνεία του όρου εμπειρία και την σπουδαιότητα του προσδιορισμού πραγματικών ειδικών. Συγκεκριμένα θα πρέπει: η εξειδίκευση στις εκτιμήσεις να ερμηνεύεται ως εμπειρία σε πολύ παρόμοια προγράμματα και όχι ως εξειδίκευση γενικά στην ανάπτυξη λογισμικού. η γνώση για το πώς αναπτύσσεται ένα έργο λογισμικού είναι διαφορετική από τη γνώση της προσπάθειας που απαιτείται για την ολοκλήρωση του. Μάλιστα, οι τεχνικά καταρτισμένοι ειδικοί είναι ορισμένες φορές πιο αισιόδοξοι και συνεπώς λιγότερο ικανοί, από το μη τεχνικά ειδικευμένο προσωπικό, να εκτιμήσουν την προσπάθεια που απαιτείται [42]. 43

45 η επιλογή των εκτιμητών να γίνει με προσοχή. Αν δεν υπάρχει ειδικός μέσα στην εταιρία ανάπτυξης με προηγούμενη εμπειρία σε παρόμοια έργα, τότε η εταιρία θα πρέπει να απευθυνθεί σε ειδικό εκτός του προσωπικού της. Αποδοχή και αποτίμηση της αβεβαιότητας της εκτίμησης Τα έργα λογισμικού πάσχουν συχνά από υπερβάσεις στο κόστος ανάπτυξης τους. Αναμφίβολα, αυτό το πρόβλημα μπορεί να αποφευχθεί ή να αντιμετωπιστεί ως ένα βαθμό μέσω καλύτερων διαδικασιών εκτίμησης και καλύτερη διοίκηση του έργου. Όμως πολλά έργα λογισμικού έχουν από τη φύση τους υψηλά ποσοστά αβεβαιότητας, με αποτέλεσμα η οποιαδήποτε ακριβής εκτίμηση της προσπάθειας να καθίσταται αδύνατη. Σε τέτοιες περιπτώσεις, καλό είναι να αποδεχόμαστε και να αποτιμούμε την μεγάλη αβεβαιότητα, παρά να πιστεύουμε ότι μπορούμε να την ελαττώσουμε. Φυσικά, γνωρίζοντας το επίπεδο αβεβαιότητας της προσπάθειας μπορούμε να προετοιμαστούμε κατάλληλα για ενδεχόμενα απρόοπτα κατά την διαδικασία ανάπτυξης. Δυστυχώς, ελάχιστη καθοδήγηση υπάρχει για την διαχείριση της αβεβαιότητας σε μια πρόβλεψη της προσπάθειας. Για να βελτιώσουμε την αποτίμηση της αβεβαιότητας, είναι ανάγκη να απομακρυνθούμε από τις παραδοσιακές προσεγγίσεις που βασίζονται στην αξιολόγηση του προγράμματος και την τεχνική της αναθεώρησης. Οι PERT προσεγγίσεις υπολογίζουν πρώτα την πλέον πιθανή προσπάθεια, έπειτα την ελάχιστη και τη μέγιστη προσπάθεια για να εξασφαλίσουν ότι, παραδείγματος χάριν, είναι 90 τοις εκατό σίγουρο πως η πραγματική προσπάθεια θα πέσει μεταξύ της ελάχιστης και μέγιστης προσπάθειας. Αυτή η προσέγγιση μπορεί να οδηγήσει σε υπερβολικά σίγουρη εκτίμηση, με πολύ στενά διαστήματα ελάχιστου-μέγιστου. Μια εναλλακτική προσέγγιση είναι η ακόλουθη: 1. Υπολογίζουμε την πιο πιθανή εκτίμηση προσπάθειας. 2. Μηχανικά ορίζουμε την ελάχιστη και τη μέγιστη τιμή (οι τιμές αυτές μπορεί να καθοριστούν από κάποιο πρόσωπο εκτός του εκτιμητή, με βάση τον προγραμματισμό, τη σύνταξη προϋπολογισμού, ή άλλων πληροφοριών). 3. Υπολογίζουμε την πιθανότητα η τιμή της πραγματικής προσπάθειας να πέσει μέσα στα όρια του ελάχιστου-μέγιστου διαστήματος (Σχήμα 3.3). 44

46 Σχήμα 3.3[51] Παροχή ευκαιριών εκπαίδευσης και ανατροφοδότησης Οι μελέτες πάνω στις υπερβάσεις κόστους λογισμικού και πώς η εμπειρία επηρεάζει τις εκτιμήσεις λογισμικού, αποδεικνύουν ελάχιστη μάθηση από την εμπειρία και μόνο. Αυτό δεν πρέπει να μας εκπλήσσει, λαμβάνοντας υπόψη τις λίγες ευκαιρίες μάθησης για την εκτίμηση της προσπάθειας στην ανάπτυξη έργων λογισμικού. Τυπικά, μια ομάδα έργου υπολογίζει την πλέον πιθανή προσπάθεια ενός έργου, κατόπιν το εκτελεί και τέλος, μετρά την πραγματική προσπάθεια που προέκυψε. Η πραγματική προσπάθεια υπερβαίνει συχνά την κατ' εκτίμηση πιο πιθανή προσπάθεια. Αλλά τι μπορεί να μάθει κανείς από μια τέτοια ανατροφοδότηση, εκτός από το ότι η εκτίμηση ήταν και πάλι υπεραισιόδοξη; Μελέτες πάνω στη διαδικασία εκμάθησης δείχνουν ότι η μάθηση εξαρτάται από την κατανόηση των αιτίων και των αιτιατών, την επαγγελματική καθοδήγηση, και την άμεση ανατροφοδότηση. Η απόδοση και το επίπεδο εξειδίκευσης, φαίνεται να σχετίζονται πολύ περισσότερο με το μέγεθος της εκπαίδευσης από ότι με τη διάρκεια της εμπειρίας. Η τυπική διαδικασία εκτίμησης και εκτέλεσης έργου λογισμικού περιλαμβάνει ελάχιστα στοιχεία που απαιτούνται για την εκμάθηση εκτίμησης [52,53]. Μια μέθοδος εκπαίδευσης που προτείνεται είναι η λεγόμενη Deliberate Training, η οποία εξασφαλίζει αποτελεσματική μάθηση στηριζόμενη σε βάσεις δεδομένων με ολοκληρωμένα έργα λογισμικού. Αποτελείται από τρία στάδια [33]: 45

47 1. Φάση προετοιμασίας: συλλέγονται όλα τα στοιχεία που αφορούν στα έργα που πρόκειται να εκτιμηθούν από τους εκπαιδευόμενους (περιγραφή, απαιτήσεις, πραγματικά προσπάθεια κ.τ.λ.) 2. Φάση εκτίμησης: οι εκπαιδευόμενοι αφού λάβουν όλα τα απαραίτητα στοιχεία για το έργο, προχωρούν στην εκτίμηση της πιο πιθανής προσπάθειας, τεκμηριώνοντας κάθε βήμα τους. Στις αρχικές εκτιμήσεις είναι καλό να υπάρχει και κάποια μορφή καθοδήγησης. 3. Φάση ανατροφοδότησης: αφού γίνει η εκτίμηση, παρέχεται άμεση ανατροφοδότηση στον εκπαιδευόμενο, η οποία περιλαμβάνει στοιχεία όπως αιτίες ανακρίβειας της εκτίμησης (για παράδειγμα ξεχασμένες διεργασίες, λανθασμένες υποθέσεις κ.τ.λ.) και τρόπους βελτίωσης της διαδικασία εκτίμησης. Αν και ο τρόπος αυτός εκπαίδευσης δεν έχει αξιολογηθεί επιστημονικά σε εφαρμογές εκτίμησης λογισμικού, ωστόσο παρουσιάζει αρκετά πλεονεκτήματα: Οι εκτιμητές μπορούν να αξιολογήσουν το επίπεδο της εμπειρίας τους σε διαφορετικούς τύπους προγραμμάτων, όπως πολύ μεγαλύτερα έργα από αυτά που εκτίμησαν στο παρελθόν. Οι εκτιμητές μπορούν να αναλύσουν τις αιτίες για τις ξεχασμένες δραστηριότητες ή τους υποτιμημένους κινδύνους αμέσως, παρά να επαληθεύουν την μεροληψία με βάση την ύστερη γνώση. Είναι ευκολότερο να γίνει κατανοητή η τάση για υπερβολική αισιοδοξία, με κατάλληλη παρακολούθηση και έργα εκπαίδευσης. Οι εκτιμητές μπορούν συστηματικά να μελετήσουν τις συνέπειες αλλαγών στην διαδικασία εκτίμησης, όπως τη χρήση μιας νέας μεθόδου εκτίμησης, χωρίς τον κίνδυνο της αποτυχημένης εκτίμησης για τα τρέχοντα έργα. Η ανατροφοδότηση λοιπόν, παίζει πολύ βασικό ρόλο για την διαδικασία μάθησης από την εμπειρία. Σύμφωνα με τους Moløkken και Jørgensen [42], μια αρνητική συνέπεια της έλλειψης ανατροφοδότησης είναι ότι στόχοι διαφορετικοί από την ακρίβεια της εκτίμησης γίνονται περισσότερο σημαντικοί. Για παράδειγμα, όταν 46

48 οι τεχνικοί λογισμικού γνωρίζουν ότι δεν θα λάβουν κάποιας μορφής ανατροφοδότηση ή αξιολόγηση της εκτίμησης προσπάθειας, τότε πιθανόν να δώσουν περισσότερο έμφαση στον βραχυπρόθεσμο στόχο του να φανούν περισσότερο εξειδικευμένοι. Μελέτη αναβολής ή αποφυγής της εκτίμησης Ορισμένες μελέτες υποστηρίζουν πως και μόνο η ύπαρξη εκτιμήσεων είναι δυνατόν να μειώσει την αποδοτικότητα και πως οι μη ρεαλιστικές εκτιμήσεις μπορεί να έχουν επιπτώσεις στην πορεία του έργου [54,55]. H παραγωγή εκτιμήσεων βασισμένων σε περιορισμένες πληροφορίες, αυξάνει τον κίνδυνο και οι εκτιμήσεις και το πλάνο του έργου να είναι υπεραισιόδοξα. Έχει παρατηρηθεί πως η προσπάθεια να εμείνει κανείς σε μια υπεραισιόδοξη εκτίμηση οδηγεί σε αφιέρωση ανεπαρκούς προσπάθειας για την ανάλυση, τον σχεδιασμό, και την εξασφάλιση ποιότητας. Η πρόχειρη ανάλυση και οι επαναλήψεις στο σχεδιασμό, έχουν σαν συνέπεια την επικράτηση χάους στο έργο και την υπέρβαση των ορίων κατά τη διάρκεια των ελέγχων και της ενσωμάτωσης. Επίσης, μια πρόωρη υπεραισιόδοξη εκτίμηση της προσπάθειας μπορεί να αποτελέσει κακή επιρροή για τις επόμενες εκτιμήσεις και να έχει αρνητικές επιπτώσεις στη δυνατότητα των εκτιμητών να είναι ρεαλιστικοί όταν περισσότερες πληροφορίες γίνονται διαθέσιμες. Με λίγα λόγια, μερικές φορές υπάρχουν σοβαροί λόγοι για την αναβολή της εκτίμησης της προσπάθειας για όσο το δυνατόν μεγαλύτερο χρονικό διάστημα, ή ακόμη και την αποφυγή εκτίμησης όταν οι κίνδυνοι μιας μη ακριβούς εκτίμησης αντισταθμίζουν τα οφέλη της ύπαρξης της. Φυσικά, το να δουλεύει κανείς χωρίς εκτιμήσεις της προσπάθειας, δεν σημαίνει ότι ο προγραμματισμός είναι ασήμαντος. Ο σωστός καθορισμός των στόχων του έργου, των βασικών σημείων του, και των παραδοτέων είναι σημαντικοί παράγοντες επιτυχίας για τα έργα λογισμικού, ανεξάρτητα από το εάν υπάρχουν εκτιμήσεις προσπάθειας. 47

49 ΚΕΦΑΛΑΙΟ 4 ο ΜΗΧΑΝΙΚΗ ΜΑΘΗΣΗ Στο παρελθόν, οι περισσότερες τεχνικές μοντελοποίησης του κόστους στηρίζονταν σε αλγοριθμικές μεθόδους. Αυτό, προϋποθέτει πως οι ερευνητές έχουν εξετάσει δεδομένα από ολοκληρωμένα έργα του παρελθόντος και έχουν δημιουργήσει εξισώσεις από αυτά, οι οποίες χρησιμοποιούνται για να προβλέπουν το κόστος και την προσπάθεια σε μελλοντικά έργα. Ωστόσο, υπάρχουν και ερευνητές που εξετάζουν τις δυνατότητες εκπαίδευσης μηχανών με σκοπό την παραγωγή καλών εκτιμήσεων, δηλαδή την χρήση μεθόδων μηχανικής μάθησης. Η έννοια της μάθησης σε ένα γνωστικό σύστημα όπως γίνεται αντιληπτή στην καθημερινή ζωή, μπορεί να συνδεθεί με δύο βασικές ιδιότητες [56]: την ικανότητά του στην πρόσκτηση γνώσης κατά την αλληλεπίδρασή του με το περιβάλλον, μέσα στο οποίο δραστηριοποιείται, και την ικανότητά του να βελτιώνει τον τρόπο με τον οποίο εκτελεί μία ενέργεια και συνεπώς και την απόδοσή του, μέσω της επανάληψης. Μηχανική μάθηση (machine learning), ονομάζεται η δημιουργία μοντέλων ή προτύπων από ένα σύνολο δεδομένων, από ένα υπολογιστικό σύστημα. Έχουν προταθεί διάφοροι ορισμοί για τη μηχανική μάθηση όπως αυτός των Witten & Frank [57], σύμφωνα με τον οποίο: Κάτι μαθαίνει όταν αλλάζει τη συμπεριφορά του κατά τέτοιο τρόπο ώστε να αποδίδει καλύτερα στο μέλλον. Στη γενικότερη περίπτωση, η μάθηση προσδιορίζεται ως απόκτηση επιπλέον γνώσης σε μία κατάλληλη αναπαράσταση. Ένα σύστημα με δυνατότητα μάθησης μεταβάλλεται διαρκώς προς το καλύτερο, όπως και αν αυτό ορίζεται, αναφορικά με τις λειτουργίες που είναι σε θέση να εκτελέσει. Είναι ικανό να δομεί ή να μετασχηματίζει, σε μια αυστηρά καθορισμένη γλώσσα αναπαράστασης, προτάσεις τις οποίες και αποθηκεύει για μελλοντική χρήση. Δηλαδή, το βασικό σημείο είναι ότι η λειτουργία του συστήματος επιφέρει μεταβολές στη βάση γνώσης του. Βέβαια, εκτός του ότι πρέπει να προσδιοριστούν με ακρίβεια οι παράμετροι που περιγράφουν αυτή 48

50 τη μεταβολή, μεγάλη προσοχή απαιτεί η επίδραση της μεταβολής αυτής στις υπόλοιπες ενέργειες που μπορεί να εκτελέσει το σύστημα. Η πρόοδος στις μεθόδους συλλογής δεδομένων, στην αποθήκευση τους και στην τεχνολογία επεξεργασίας τους, παρέχουν μια μοναδική πρόκληση και ευκαιρία για τις αυτοματοποιημένες τεχνικές εξερεύνησης στοιχείων. Τεράστιες ποσότητες δεδομένων συλλέγονται καθημερινά από σημαντικά επιστημονικά έργα (προγράμματα ανθρώπινου γονιδιώματος, γεωγραφικά πληροφοριακά συστήματα κ.τ.λ.), πληροφοριακά συστήματα νοσοκομείων, αυτοματοποιημένα αρχεία πωλήσεων και άλλες πηγές. Επιπλέον, ερευνητές και τεχνολόγοι από διαφορετικές ειδικότητες προσπαθούν, όσο ποτέ άλλοτε, να χρησιμοποιήσουν τις αυτοματοποιημένες μεθόδους για να αναλύσουν τα διαθέσιμα στοιχεία τους. Έτσι και στην Τεχνολογία Λογισμικού, όσο αυξάνεται η ποσότητα των δεδομένων από παλαιότερα ολοκληρωμένα έργα, τόσο πιο έντονη γίνεται η ανάγκη για εύρωστες, αποτελεσματικές και ευπροσάρμοστες μεθόδους επεξεργασίας των στοιχείων, ώστε να πραγματοποιούνται ακριβέστερες εκτιμήσεις του κόστους λογισμικού. 4.1 Νευρωνικά Δίκτυα Ο νευρώνας είναι ένα κύτταρο στον ανθρώπινο εγκέφαλο, με κύρια λειτουργία του τη συγκέντρωση, επεξεργασία και διάδοση ηλεκτρικών σημάτων. Η δυνατότητα επεξεργασίας πληροφοριών του εγκεφάλου θεωρείται ότι απορρέει κυρίως από δίκτυα τέτοιων νευρώνων. Για τον λόγο αυτόν, τμήμα των πρώτων εργασιών στη Τεχνητή Νοημοσύνη είχε στόχο τη δημιουργία τεχνητών νευρωνικών δικτύων (neural networks). Στο Σχήμα 4.1 που ακολουθεί, παριστάνεται ένα απλό μαθηματικό μοντέλο του νευρώνα που επινοήθηκε από τους McCulloch και Pitts (1943). 49

51 Ένα απλό μαθηματικό μοντέλο νευρώνα Σχήμα 4.1 [58] Τα νευρωνικά δίκτυα αποτελούνται από κόμβους ή μονάδες που συνδέονται από κατευθυνόμενους συνδέσμους. Ο σύνδεσμος από μια μονάδα j στη μονάδα i εξυπηρετεί στη διάδοση της ενεργοποίησης α j από το j στο i. Με κάθε σύνδεσμο συσχετίζεται επίσης και ένα αριθμητικό βάρος W j,i, το οποίο προσδιορίζει την ισχύ και το πρόσημο της σύνδεσης. Κάθε μονάδα i υπολογίζει πρώτα ένα σταθμισμένο άθροισμα των εισόδων της: Στη συνέχεια εφαρμόζει μια συνάρτηση ενεργοποίησης g σε αυτό το άθροισμα για να παραγάγει την έξοδο: Η συνάρτηση g είναι έτσι σχεδιασμένη ώστε να καλύπτει δύο επιθυμητές απαιτήσεις. Πρώτον, θέλουμε η μονάδα να είναι ενεργή (κοντά στο +1) όταν δίδονται οι σωστές είσοδοι και ανενεργή (κοντά στο 0) όταν δίδονται λανθασμένες είσοδοι. Δεύτερον, η ενεργοποίηση θα πρέπει να είναι μη γραμμική, αλλιώς θα εκφυλίζεται ολόκληρο το νευρωνικό δίκτυο σε μια απλή γραμμική συνάρτηση. Στο Σχήμα 4.2 που ακολουθεί παρουσιάζονται δύο επιλογές για την συνάρτηση g: (a) η συνάρτηση κατωφλίου και (b) η σιγμοειδής συνάρτηση. 50

52 (a) η συνάρτηση κατωφλίου και (b) η σιγμοειδής συνάρτηση. Σχήμα 4.2 [58] Νευρωνικά Δίκτυα και εκτίμηση κόστους Τα Νευρωνικά Δίκτυα είναι συστήματα επεξεργασίας δεδομένων που αποτελούνται από ένα πλήθος τεχνητών νευρώνων οργανωμένων σε δομές παρόμοιες με αυτές του ανθρωπίνου εγκεφάλου. Η δομή ενός Νευρωνικού Δικτύου είναι παρόμοια με αυτήν του ανθρώπινου εγκεφάλου. Το δίκτυο είναι οργανωμένο σε επίπεδα, κάθε ένα από τα οποία αποτελείται από ένα σύνολο από νευρώνες. Οι νευρώνες συνδέονται μεταξύ τους με συνάψεις, κάθε μια από τις οποίες έχει ένα βάρος. Υπάρχει πάντα ένα επίπεδο εισόδου που επικοινωνεί με το περιβάλλον και ένα επίπεδο εξόδου που παρέχει την απόκριση του δικτύου στην διέγερση από το περιβάλλον. Τα υπόλοιπα επίπεδα συνήθως είναι κρυφά, δηλαδή δεν επικοινωνούν με το περιβάλλον. Σύμφωνα με τους Gray and McDonell [59], τα Νευρωνικά Δίκτυα αποτελούν την πιο διαδεδομένη τεχνική για την ανάπτυξη μοντέλων εκτίμησης λογισμικού που χρησιμοποιείται εναλλακτικά με την παλινδρόμηση ελαχίστων τετραγώνων (OLS). Αυτά τα μοντέλα εκτίμησης μπορούν να εκπαιδευτούν χρησιμοποιώντας ιστορικά δεδομένα για να παράγουν καλύτερα αποτελέσματα, με την αυτόματη ρύθμιση των τιμών στις αλγοριθμικές παραμέτρους τους, μειώνοντας έτσι το σφάλμα ανάμεσα στην πραγματική τιμή που προκύπτει και στην εκτίμηση του μοντέλου. Η ανάπτυξη ενός τέτοιου νευρωνικού μοντέλου ξεκινάει με την δημιουργία αρχικά, μιας κατάλληλης διάταξης νευρώνων ή συνδέσεων μεταξύ δικτυακών κόμβων. Κάτι τέτοιο, περιλαμβάνει τον καθορισμό του αριθμού των επιπέδων των νευρώνων, του αριθμού των νευρώνων σε κάθε επίπεδο και τον τρόπο με τον οποίο όλα αυτά συνδέονται, δηλαδή την αρχιτεκτονική του. Επίσης, πρέπει να καθοριστούν οι σταθμισμένες συναρτήσεις εκτίμησης μεταξύ των κόμβων και ο αλγόριθμος 51

53 μάθησης. Μόλις κατασκευαστεί το δίκτυο, το μοντέλο πρέπει να εκπαιδευτεί με την παροχή ιστορικών δεδομένων από έργα σαν είσοδο και τις σχετικές πραγματικές τιμές που αφορούν στο σχεδιασμό του έργου και στο κόστος του. Το μοντέλο στη συνέχεια επαναλαμβάνεται με τον αλγόριθμο μάθησης, προσαρμόζοντας αυτόματα τις παραμέτρους των συναρτήσεων εκτίμησης, μέχρι το σφάλμα μεταξύ τη εκτίμησης του μοντέλου και των πραγματικών τιμών, να φτάσει σε προκαθορισμένα αποδεκτά πλαίσια. Ο καθορισμός των ορών κάτω από τα οποία είναι αποδεκτό το σφάλμα εκτίμησης είναι πολύ σημαντικός. Χωρίς αυτό, ένα μοντέλο θα μπορούσε θεωρητικά να εκπαιδευτεί υπερβολικά στα ήδη γνωστά ιστορικά δεδομένα, ρυθμίζοντας τους αλγόριθμους εκτίμησης του, ωσότου να είναι πολύ καλό στην πρόβλεψη αποτελεσμάτων για το σύνολο των δεδομένων που εκπαιδεύτηκε. Με αυτόν τον τρόπο όμως, αποδυναμώνεται η δυνατότητα εφαρμογής αυτών των αλγορίθμων εκτίμησης σε ένα ευρύτερο σύνολο που αποτελείται από πιο γενικά δεδομένα [20]. Εναλλακτικά, ως συνθήκη τερματισμού μπορεί να θεωρηθεί η πραγματοποίηση ενός συγκεκριμένου αριθμού επαναλήψεων του αλγόριθμου ή η πάροδος ενός συγκεκριμένου χρονικού διαστήματος. Σε αυτό το σημείο είναι σημαντικό να καθορίσουμε την έννοια της μάθησης στα νευρωνικά δίκτυα. Μάθηση λοιπόν, είναι η διαδικασία της τροποποίησης των βαρών του δικτύου, ώστε δοθέντος συγκεκριμένου διανύσματος εισόδου να παραχθεί συγκεκριμένο διάνυσμα εξόδου. Ο τομέας της μηχανικής μάθησης διακρίνει συνήθως τρεις περιπτώσεις [58]: 1. Επιβλεπόμενη Μάθηση (supervised learning): Στην περίπτωση αυτή, η γνώση αναπαρίσταται με ένα σύνολο από παραδείγματα εισόδων-εξόδων. Τα βάρη του δικτύου προσαρμόζονται με τρόπο ώστε να ελαχιστοποιείται το σφάλμα μεταξύ της επιθυμητής απόκρισης και της απόκρισης του δικτύου. Όταν «μεταφερθεί» η γνώση αυτή στο δίκτυο, κάτι που θα επιτευχθεί με την ελαχιστοποίηση του σφάλματος, τότε η εκπαίδευση του δικτύου σταματά. 2. Μη Επιβλεπόμενη Μάθηση (unsupervised learning): Στην περίπτωση αυτή παρέχονται μόνο κάποιες είσοδοι στο σύστημα. Δεν δίνεται εκ των προτέρων ο τρόπος κατηγοριοποίησης των εισόδων αλλά αυτό το αναλαμβάνει μόνο του το σύστημα, το οποίο μαθαίνει από τις διάφορες στατιστικές κανονικότητες του 52

54 συνόλου των δεδομένων. Ένας τρόπος μη επιβλεπόμενης μάθησης είναι με την χρήση ανταγωνιστικής μάθησης. 3. Ενισχυτική Μάθηση (reinforced learning): Εδώ υπάρχει συνεχής αλληλεπίδραση του δικτύου με το περιβάλλον προκειμένου το δίκτυο να «μάθει» μια απεικόνιση εισόδου/εξόδου. Στην μάθηση αυτή δεν δίνεται στο δίκτυο η επιθυμητή απόκριση, αλλά μόνο το αν η απόκρισή του είναι σωστή ή λάθος. Τα νευρωνικά δίκτυα χαρακτηρίζονται ως : Πλήρως συνδεδεμένα (fully connected), όταν κάθε νευρώνας συνδέεται με όλους τους νευρώνες του επόμενου επιπέδου, μερικώς συνδεδεμένα (partially connected), όταν υπάρχουν νευρώνες που δεν συνδέονται με όλους τους νευρώνες του επόμενου επιπέδου, Δίκτυα με πρόσθια τροφοδότηση (feedforward), όταν δεν υπάρχουν συνδέσεις μεταξύ νευρώνων ενός επιπέδου και νευρώνων προηγούμενου επιπέδου και Δίκτυα με ανατροφοδότηση (feedback ή recurrent), όταν υπάρχουν συνδέσεις μεταξύ νευρώνων ενός επιπέδου και νευρώνων προηγούμενου επιπέδου. Η πιο συχνή μορφή νευρωνικού δικτύου που χρησιμοποιείται στα πλαίσια της εκτίμησης λογισμικού, είναι το δίκτυο "ανάστροφης μετάδοσης λάθους με πρόσθια τροφοδότηση" (Σχήμα 4.3). Δίκτυο "ανάστροφης μετάδοσης λάθους με πρόσθια τροφοδότηση" Σχήμα 4.3 [20] 53

55 4.1.2 Πλεονεκτήματα Νευρωνικών Δικτύων Τα Νευρωνικά Δίκτυα, όπως ήδη αναφέραμε, εκπαιδεύονται συνήθως με την χρήση ενός συνόλου δεδομένων (σύνολο εκμάθησης) και με βάση αυτό μπορούν να μάθουν τις βασικές αρχές της λύσης του προβλήματος. Δηλαδή αποκτούν εμπειρία μέσω παραδειγμάτων, ακριβώς όπως και ο ανθρώπινος εγκέφαλος. Από την ιδιαιτερότητα τους αυτή απορρέουν πολλά πλεονεκτήματα, τα βασικότερα εκ των οποίων είναι τα εξής [60,61]: Μη-Γραμμικότητα: Οι Τεχνητοί Νευρώνες μπορούν να είναι και μη γραμμικοί. Η μη-γραμμικότητα είναι ξεχωριστή αφού είναι κατανεμημένη σε όλο το δίκτυο και είναι σημαντική μιας και συνήθως ο φυσικός μηχανισμός που είναι υπεύθυνος για την δημιουργία των εισόδων του δικτύου είναι μη γραμμικός. Προσαρμογή: Έχουν την ικανότητα να προσαρμόζουν τα βάρη τους σε αλλαγές στο περιβάλλον. Η προσαρμογή και η μάθηση από παλαιότερες περιπτώσεις είναι ιδιαίτερα σημαντική για την εκτίμηση του κόστους αφού η τεχνολογία ανάπτυξης λογισμικού αποτελεί ένα ιδιαίτερο μεταβαλλόμενο τομέα. Αυτό-Οργάνωση: Ένα Νευρωνικό Δίκτυο μπορεί να δημιουργήσει την δική του οργάνωση κατά την διαδικασία της εκπαίδευσης. Ανοχή Σφαλμάτων: Ένα Νευρωνικό Δίκτυο μπορεί να συνεχίσει να λειτουργεί ακόμη και αν καταστραφούν κάποιοι από τους Νευρώνες του λόγω της κατανεμημένης γνώσης που υπάρχει στο δίκτυο. Ευελιξία: Είναι αρκετά ευέλικτα ώστε μπορούν να γενικευτούν και να αντιμετωπίσουν την πολυπλοκότητα πολλών και ευρύτερων πεδίων εφαρμογής. Ειδικότερα, όσο αφορά την εκτίμηση λογισμικού μπορούν να μοντελοποιήσουν ένα περίπλοκο σύνολο σχέσεων και αλληλεπιδράσεων μεταξύ των διαφόρων παραγόντων κόστους. Τέλος, η δυνατότητα θεώρησης τους ως κατανεμημένη μνήμη ή ως μνήμη συσχέτισης και η εξαιρετική ικανότητα τους για την αναγνώριση προτύπων 54

56 4.1.3 Μειονεκτήματα Νευρωνικών Δικτύων Εκτός όμως από τα παραπάνω πλεονεκτήματα των Νευρωνικών δικτύων, υπάρχουν και κάποια χαρακτηριστικά τους, που αποτρέπουν τους ερευνητές και τους τεχνολόγους στην χρήση και την καθιέρωση τους στην εκτίμηση κόστους λογισμικού. Κάποια από αυτά τα μειονεκτήματα των Νευρωνικών Δικτύων είναι τα εξής [20]: Η ελαχιστοποίηση της υπέρ-προσαρμογής του μοντέλου, δηλαδή πότε θα πρέπει να σταματήσει η μάθηση του μοντέλου ώστε να είναι ικανό να πραγματοποιεί αποτελεσματικές και ακριβείς προβλέψεις, απαιτεί μεγάλη υπολογιστική προσπάθεια. Οι σχέσεις μεταξύ των μεταβλητών εισόδου και των μεταβλητών εξόδου δεν αναπτύσσονται με βάση την εφαρμογή κάποιων αρχών ή κάποιας ανθρώπινης κρίσης, με αποτέλεσμα το μοντέλο που προκύπτει τείνει να είναι ένα μαύρο κουτί ή ένας πίνακας εισόδου/εξόδου χωρίς αναλυτική βάση. Για την διαδικασία της μάθησης του δικτύου απαιτούνται μεγάλες βάσεις δεδομένων με παλαιότερα έργα λογισμικού. Ένα άλλο μειονέκτημα είναι ότι τα Νευρωνικά Δίκτυα δεν δίνουν ρητή αναπαράσταση γνώσης υπό μορφή κανόνων, ή κάποιας άλλης εύκολα ερμηνεύσιμης μορφής. Το μοντέλο είναι υπονοούμενο, κρυμμένο στη δομή του δικτύου και στα βελτιστοποιημένα βάρη, μεταξύ των κόμβων. Έτσι δε δίνεται η ευκαιρία εντοπισμού των χαρακτηριστικών που είναι σημαντικά και άρα χρήσιμα για την πραγματοποίηση μιας εκτίμησης. Όλα αυτά τα μειονεκτήματα αποτελούν ανασταλτικό παράγοντα για την ευρύτερη χρήση και εδραίωση των Νευρωνικών Δικτύων στην εκτίμηση κόστους λογισμικού. Για την γενική αποδοχή της αξιοπιστίας αυτής της μεθόδου εκτίμησης από τους ερευνητές και τους τεχνολόγους, είναι απαραίτητη η κατανόηση και η ερμηνεία της γνώσης που κρύβεται πίσω από την αρχιτεκτονική των Νευρωνικών Δικτύων. 55

57 4.2 Δέντρα Απόφασης Μια από τις πιο διαδεδομένες μεθόδους αυτόματης εξαγωγής λογικών συμπερασμάτων και κανόνων μέσα από δεδομένα αποτελεί αυτή των δέντρων αποφάσεων. Σε μαθηματικούς όρους ένα δέντρο αποφάσεων είναι μια ιεραρχημένη συλλογή σύνθετων διαζευκτικών προτάσεων, οι οποίες αποτελούνται από ένα σύνολο λογικών συζεύξεων που αναφέρονται σε τιμές χαρακτηριστικών συγκεκριμένων παραδειγμάτων. Η σημαντικότερη πρόταση σε κάθε σύζευξη είναι η πρώτη και ορίζεται ως ρίζα του δέντρου. Κάθε μονοπάτι το οποίο ξεκινάει από τη ρίζα του δέντρου καταλήγει σε ένα κόμβο - φύλλο, το οποίο περιέχει και ένα λογικό συμπέρασμα - πρόβλεψη. Σε κάθε περίπτωση, όποιες και εάν είναι οι τιμές των χαρακτηριστικών των δεδομένων εισόδου, ο δρόμος που ακολουθείται από τη ρίζα του δέντρου μέχρι σε ένα φύλλο είναι μοναδικός (Σχήμα 4.4). Γραφική αναπαράσταση δέντρου απόφασης Σχήμα 4.4 Μια από τις πρώτες εργασίες στον τομέα αποτέλεσε το σύστημα CLS (Concept Learning System) του Hunt [62]. Σήμερα ένα πλήθος αλγορίθμων υλοποιούν τα δέντρα αποφάσεων, οι αντιπροσωπευτικότεροι από τους οποίους είναι οι ID3, C4.5, CART, CHAID, C5.0 και Quest. 56

58 Ο αλγόριθμος ID3 [63] αποτελεί έναν από τους πιο διαδεδομένους αλγόριθμους επαγωγικής μάθησης, με τον οποίο κατασκευάζονται δένδρα απόφασης. Η λογική του βασίζεται στην χρήση των παραγόντων-χαρακτηριστικών, ένα προς ένα, για την διάσπαση του συνόλου των έργων εκπαίδευσης στους κλάδους ενός δένδρου. Σε γενικές γραμμές, εκτελούνται αναδρομικά τα παρακάτω βήματα: 1. Επιλέγεται το χαρακτηριστικό με το μεγαλύτερο πληροφοριακό κέρδος, εκτιμώντας τις πιθανότητες στο σύνολο εκπαίδευσης. 2. Τοποθετείται στη ρίζα του δένδρου ένας έλεγχος για το χαρακτηριστικό με το μεγαλύτερο πληροφοριακό κέρδος και δημιουργείται ένας κλάδος κάτω από τη ρίζα για κάθε μία δυνατή τιμή του χαρακτηριστικού. 3. Τα αντικείμενα του συνόλου εκπαίδευσης κατανέμονται στους κλάδους, ανάλογα με την τιμή του χαρακτηριστικού που χρησιμοποιήθηκε στη ρίζα. 4. Κάθε κλάδος οδηγεί σε ένα υποδέντρο που κατασκευάζεται αναδρομικά, χρησιμοποιώντας ως σύνολο εκπαίδευσης το υποσύνολο που αντιστοιχεί στον κλάδο και ως σύνολο χαρακτηριστικών το αρχικό μείον το χαρακτηριστικό που χρησιμοποιήθηκε στη ρίζα. Τα δέντρα παλινδρόμησης αποτελούν και αυτά μια συχνά χρησιμοποιούμενη μέθοδο που βρίσκει εφαρμογή στην εκτίμηση λογισμικού και στηρίζεται στον αλγόριθμο CART [64]. Ο αλγόριθμος εξετάζει και καθορίζει τα κριτήρια διαχωρισμού των δεδομένων που θα διασπάσουν επιτυχέστερα την εξαρτημένη μεταβλητή. Όλοι οι κόμβοι σε ένα δέντρο εκτός από τους τερματικούς, ορίζουν μια συνθήκη βασισμένη σε μια από τις μεταβλητές που έχει κάποια επιρροή στην προσπάθεια του έργου ή οποιαδήποτε άλλη εξαρτώμενη μεταβλητή. Αφότου παραχθεί ένα δέντρο, μπορεί να χρησιμοποιηθεί για την πρόβλεψη της προσπάθειας ή του κόστους ενός έργου. Για να προβλεφθεί η προσπάθεια ή το κόστος για ένα έργο, θα πρέπει να ακολουθηθεί μια πορεία μέσω του δέντρου σύμφωνα με τις συγκεκριμένες τιμές των χαρακτηριστικών του προγράμματος ωσότου επιτευχθεί ένας τερματικός κόμβος. Η μέση τιμή ή η διάμεσος του τερματικού κόμβου μπορεί έπειτα να χρησιμοποιηθεί ως η εκτιμώμενη αξία [8]. 57

59 4.2.1 Καθορισμός Μεγέθους του Δέντρου Ο Breiman κ.α. επισήμαναν, ότι η ποιότητα των δέντρων εξαρτάται περισσότερο από τις συνθήκες που θα πρέπει να ελεγχθούν ώστε να αποφασιστεί το βάθος στο οποίο επιτρέπεται να αναπτυχθεί, παρά από τις συνθήκες με βάση τις οποίες γίνεται ο διαχωρισμός του δέντρου σε υποσύνολα [64]. Διάφορες τεχνικές έχουν προταθεί για τον καθορισμό του κατάλληλου μεγέθους των δέντρων, η δημοφιλέστερη από τις οποίες είναι το κλάδεμα (pruning). Ακολουθεί μια σύντομη αναφορά σε ορισμένες από αυτές τις τεχνικές. Κλάδεμα (pruning) : κατασκευάζεται ολόκληρο το δέντρο (ένα δέντρο στο οποίο δεν διαχωρίζονται οι κόμβοι-φύλλα περεταίρω θα βελτιώσει την ακρίβεια στα δεδομένα μάθησης) και στη συνέχεια αποκόπτονται τα υπό-δέντρα που δεν συνεισφέρουν σημαντικά στην γενίκευση της ακρίβειας. Υποστηρίζεται ότι αυτή η μέθοδος είναι καλύτερη από τους κανόνες παύσης διαχωρισμού (stop-splitting rules) επειδή μπορεί να αντισταθμίσει, ως ένα βαθμό, την άπληστη επαγωγή των δέντρων. Περιορισμοί ελάχιστου μεγέθους κόμβου: Ένας κόμβος δεν χωρίζεται εάν έχει λιγότερα από k αντικείμενα, όπου k είναι μια παράμετρος του επαγωγικού αλγόριθμου δέντρων [66]. Αναζήτηση δύο επιπέδων: Σε αυτήν την παραλλαγή, η επαγωγή του δέντρου χωρίζεται σε δύο υπό-εργασίες: αρχικά, καθορίζεται μια καλή δομή για το δέντρο και κατόπιν βρίσκονται οι διασπάσεις σε όλους τους κόμβους. Η μέθοδος βελτιστοποίησης που χρησιμοποιείται στο πρώτο στάδιο, δεν είναι απαραίτητο ότι θα χρησιμοποιηθεί και στο δεύτερο στάδιο [67,68]. Κατώτατο ή ανώτατο όριο: Σε αυτήν την μέθοδο, επιβάλλεται κάποιο όριο στην τιμή του κριτηρίου διάσπασης, έτσι ώστε εάν η τιμή του κριτηρίου πέσει κάτω (ή ανέβει πάνω) από το κατώτατο (ανώτατο) όριο, σταματά η ανάπτυξη του δέντρου. Τα όρια μπορούν να επιβληθούν σε τοπικό (δηλ., σε μεμονωμένο κόμβο) ή γενικό (δηλ., σε ολόκληρο δέντρο) επίπεδο. Το πρόβλημα με την μέθοδο αυτή, είναι ότι η τιμή των περισσότερων κριτηρίων διάσπασης ποικίλλει ανάλογα με το μέγεθος του δείγματος 58

60 μάθησης. Για τον λόγο αυτόν, η επιβολή ενός ενιαίου ορίου σε όλους τους κόμβους του δέντρου δεν είναι εύκολη και μπορεί ακόμα να μην είναι καν εφικτή. Ωστόσο έχουν γίνει μελέτες για την εύρεση κριτηρίων των οποίων η κατανομή να μην εξαρτάται από το μέγεθος των δεδομένων μάθησης [69,70]. Δέντρα μετατροπής κανόνων: Ο Quinlan [71], εξηγεί τις απαιτούμενες διαδικασίες για την μετατροπή ενός δέντρου απόφασης σε ένα σύνολο κανόνων παραγωγής. Απλοί ευριστικοί κανόνες για την γενίκευση και τον συνδυασμό των κανόνων που παράγονται από τα δέντρα μπορούν να λειτουργήσουν ως υποκατάστατο του κλαδέματος (pruning) για τα απλά δέντρα (univariate trees). Απλοποίηση δέντρων: Αποτελεί μια μέθοδο όπου ένα αυθαίρετο δυαδικό δέντρο απόφασης περιορίζεται σε μια μορφή η οποία να μην επιδέχεται περεταίρω μείωση του μεγέθους, χρησιμοποιώντας τις αρχές της θεωρίας λήψης απόφασης. Κάθε δέντρο αυτής της μορφής, είναι βέλτιστο αναφορικά με κάποιο κριτήριο δοκιμής, και ο συγκεκριμένος αλγόριθμος απλοποίησης δέντρων, έχει την ίδια πολυπλοκότητα χειρότερης περίπτωσης με τις περισσότερες επαγωγικές μεθόδους δέντρων Πλεονεκτήματα και Μειονεκτήματα των Δέντρων Απόφασης Τα Δέντρα Απόφασης που κατασκευάζονται αυτόματα από σύνολα δεδομένων έχουν χρησιμοποιηθεί επιτυχώς σε πολλές πραγματικές καταστάσεις και η αποτελεσματικότητα τους έχει συγκριθεί με πολλές αυτόματες μεθόδους διαχείρισης δεδομένων όπως επίσης και με την κρίση των ειδικών. Παρουσιάζει, λοιπόν, κάποια πλεονεκτήματα συγκριτικά με άλλες μεθόδους, όπως για παράδειγμα το γεγονός ότι η απόκτηση γνώσης από προηγούμενα ολοκληρωμένα έργα παρακάμπτει τη δυσχέρεια της απόκτησης γνώσης από έναν ειδικό στον συγκεκριμένο τομέα. Χαρακτηριστικό των Δέντρων Απόφασης είναι 1) ότι αποτελούν διερευνητικές και όχι επαγωγικές μεθόδους, και 2) ότι είναι μη παραμετρικές μέθοδοι. Δεδομένου ότι γίνονται μόνο μερικές υποθέσεις για το μοντέλο και την κατανομή των δεδομένων, τα δέντρα μπορούν να μοντελοποιήσουν ένα ευρύ φάσμα δεδομένων. Η ιεραρχική αποσύνθεση οδηγεί στην καλύτερη χρήση των διαθέσιμων χαρακτηριστικών και την υπολογιστική ικανότητα στην ταξινόμηση. Τα δέντρα 59

61 μπορούν να χρησιμοποιηθούν με την ίδια ευκολία σε ντετερμινιστικά καθώς επίσης και σε ελλιπή προβλήματα, όπως αυτό της εκτίμησης του κόστους λογισμικού, όπου η εξαρτώμενη μεταβλητή (κόστος ή προσπάθεια λογισμικού) δεν είναι δυνατόν να καθοριστεί με ακρίβεια από τις ανεξάρτητες μεταβλητές (χαρακτηριστικά του έργου λογισμικού) [65]. Τέλος, τα δέντρα απόφασης πραγματοποιούν την εκάστοτε ταξινόμηση και καταλήγουν στην πρόβλεψη του κόστους χρησιμοποιώντας ξεκάθαρους κανόνες, οι οποίοι γίνονται απόλυτα κατανοητοί από τους ειδικούς στον συγκεκριμένο τομέα. Σε αυτό το σημείο υπερτερούν σε σύγκριση με τα Νευρωνικά δίκτυα, όπου η διαδικασία πρόβλεψης αποτελεί ουσιαστικά ένα μαύρο κουτί για τους ειδικούς. Βέβαια, τα Δέντρα Απόφασης, όπως και άλλες μέθοδοι μηχανικής μάθησης πολλές φορές υποφέρουν από υπερβολική προσαρμογή στα δεδομένα (overfitting), η οποία οδηγεί σε μεγάλα δέντρα τα οποία δεν ανταποκρίνονται αποτελεσματικά στην πραγματικότητα. Γενικότερα για τα δέντρα απόφασης θα πρέπει να επισημάνουμε ότι ενώ σαν αυτόματες μέθοδοι μάθησης βρίσκουν επιτυχή εφαρμογή σε μια πλειάδα περιπτώσεων και παράγουν δομές κατανοητές από τον άνθρωπο, ωστόσο αποτελούν ιεραρχικές δομές γνώσης στις οποίες, για παράδειγμα, ένα συγκεκριμένο χαρακτηριστικό μπορεί να παίξει καθοριστικό ρόλο στην εξαγωγή ενός λογικού συμπεράσματος. 4.3 Δίκτυα Bayes Τα Δίκτυα Bayes (Bayesian Networks-ΒΝ) αποτελούν ένα σημαντικό εργαλείο αναπαράστασης γνώσης και εξαγωγής συμπερασμάτων, υπό συνθήκες αβεβαιότητας. Τυπικά, ένα BN είναι ένα κατευθυνόμενο ακυκλικό γράφημα που αναπαριστά μία συνδυασμένη πιθανοτική κατανομή. Δεδομένου ενός συνόλου μεταβλητών D = <X 1, X 2 X N >, όπου κάθε μεταβλητή X i παίρνει τιμές από ένα σύνολο T(Xi), ένα BN περιγράφει την κατανομή πιθανότητας στο σύνολο αυτό. Με κεφαλαία γράμματα, όπως X, Y συμβολίζουμε μεταβλητές και πεζά γράμματα όπως x, y συμβολίζουμε τις τιμές των μεταβλητών αυτών. Ένα Bayesian δίκτυο συμβολίζεται σαν ένα ζεύγος Β = <G, Θ>, όπου G ένα κατευθυνόμενο ακυκλικό γράφημα του οποίου οι κόμβοι αντιστοιχούν στις μεταβλητές του D, και Θ το σύνολο των παραμέτρων που 60

62 ποσοτικοποιούν το δίκτυο [72]. Το κατευθυνόμενο ακυκλικό γράφημα G ενσωματώνει την ακόλουθη υπόθεση για την ανεξαρτησία των παραμέτρων: Κάθε μεταβλητή X i είναι ανεξάρτητη από τις μή-απογόνους της, δεδομένου του συνόλου των πατρικών της μεταβλητών. Η παράμετρος Θ περιλαμβάνει πληροφορίες για την κατανομή πιθανότητας μιας τιμής x i μιας μεταβλητής Χ i, δεδομένων των τιμών των αμέσως προηγουμένων μεταβλητών. Η μοναδική συνδυασμένη πιθανοτική κατανομή για το σύνολο <X 1, X 2 X N > που περιγράφει ένα Bayesian δίκτυο υπολογίζεται από τον τύπο: Εκπαίδευση Bayesian δικτύου από δεδομένα. Για τη διαδικασία εξαγωγής πρόβλεψης από το Bayesian δίκτυο για την προσπάθεια ή το κόστος λογισμικού, χρειάζεται να εκπαιδευτεί το δίκτυο από ήδη διαθέσιμα ολοκληρωμένα έργα. Η επιλογή των παραμέτρων χρήζει ιδιαίτερης προσοχής, καθότι ο αριθμός των πιθανών δικτύων που μπορούν να τις περιγράψουν, ισούται με 2 Ν*(Ν-1)/2 όπου Ν ο αριθμός των μεταβλητών. Η εκπαίδευση ενός Bayesian δικτύου περιλαμβάνει δύο διαδικασίες, την εκπαίδευση της δομής και την εκπαίδευση των παραμέτρων Θ της δομής αυτής. Για τη δεύτερη διαδικασία, χρησιμοποιούμε τις συχνότητες εμφάνισης των τιμών του σώματος εκπαίδευσης [73]. Όσον αφορά τη δομή του δικτύου, χρησιμοποιούμε την παρακάτω εξίσωση μαζί με το θεώρημα του Bayes για να εξακριβώσουμε τη σχέση r μεταξύ δύο υποψηφίων δικτύων Β1 και Β2 αντίστοιχα: όπου: i) P(B D) η πιθανότητα το δίκτυο B να είναι το επιθυμητό δεδομένου του συνόλου D. ii) P(D B) η πιθανότητα που δίνει το δίκτυο Β στα δεδομένα D. iii) P(D) η «γενική» πιθανότητα των δεδομένων. iv) P(B) η πιθανότητα του δικτύου Β προτού να δοθούν τα δεδομένα. 61

63 Θεωρώντας ότι τα υποψήφια δίκτυα είναι ισοπίθανα (P(B1)=P(B2)) (λαμβάνοντας υπόψη ότι δεν έχουμε πρότερη γνώση για την πιθανότητα ενός δικτύου πριν δούμε τα δεδομένα) η σχέση που εκφράζει το r γίνεται [74]: Naive Bayes Σε αντίθεση με τα Bayesian δίκτυα, o αλγόριθμος ταξινόμησης Naive Bayes βασίζεται στην υπόθεση ότι οι τιμές των μεταβλητών <X 1, X 2 X N > είναι πιθανοτικά ανεξάρτητες, δεδομένης μιας τιμής ταξινόμησης v. Έχοντας παράγει ένα σώμα εκπαίδευσης, όταν εισάγουμε ένα νέο διάνυσμα, το οποίο περιγράφεται από ένα σύνολο τιμών <x 1, x 2 x N >, ο αλγόριθμος Naive Bayes το ταξινομεί προβλέποντας την τιμή ταξινόμησης V NB χρησιμοποιώντας την εξίσωση: Όπου v j είναι μία πιθανή τιμή ταξινόμησης που ανήκει σε ένα πεπερασμένο σύνολο V. Οι όροι P(v j ) και P(x i v j ) εκτιμώνται υπολογίζοντας τη συχνότητα εμφάνισης στα δεδομένα μάθησης. Ο όρος P(v j ) υπολογίζεται μετρώντας πόσες φορές εμφανίζεται το εκάστοτε χαρακτηριστικό του έργου στο σώμα εκπαίδευσης και διαιρώντας με το συνολικό αριθμό των διανυσμάτων του σώματος εκπαίδευσης. Αντίστοιχα, ο όρος P(x i v j ) είναι ο αριθμός των περιπτώσεων που η τιμή x i εμφανίστηκε μαζί με τη τιμή ταξινόμησης v j. Για τον λόγο αυτόν, ο χρόνος εκπαίδευσης είναι σημαντικά λιγότερος σε σχέση με αυτόν ενός Bayesian δικτύου. Εφόσον η εκπαίδευση έχει λάβει χώρα, ο χρόνος απόκρισης για τη διαδικασία εξαγωγής συμπεράσματος για την κλάση ενός νέου διανύσματος είναι ισότιμος. Ολοκληρώνοντας την ενότητα της μηχανικής μάθησης να αναφέρουμε πως αν και η μέθοδος έχει αναπτυχθεί αρκετά χρόνια νωρίτερα, ωστόσο τα τελευταία έτη κυρίως έχει συγκεντρώσει το αυξανόμενο ενδιαφέρον των ερευνητών. Η πολυπλοκότητα της όμως είναι αυτή που εμποδίζει την γρήγορη εξάπλωση της και τη χρήση της στην εκτίμηση προγραμμάτων στην Τεχνολογία Λογισμικού. 62

64 ΚΕΦΑΛΑΙΟ 5 ο ΠΑΛΙΝΔΡΟΜΗΣΗ Η παλινδρόμηση αποτελεί μια ευρέως χρησιμοποιούμενη τεχνική για την εκτίμηση προγραμμάτων στην τεχνολογία λογισμικού. Είναι μια στατιστική τεχνική όπου η εξαρτώμενη μεταβλητή σχετίζεται λειτουργικά με μία ή περισσότερες ανεξάρτητες μεταβλητές. Για την δημιουργία της σχέσης μεταξύ αυτών των δύο τύπων μεταβλητών θα πρέπει να έχουμε στη διάθεση μας έναν ικανοποιητικό αριθμό δεδομένων. Αναλύοντας τα δεδομένα αυτά, παράγεται η ευθεία παλινδρόμησης που αποτελεί την καλύτερη προσέγγιση της σχέσης ανάμεσα στην εξαρτημένη μεταβλητή και στις ανεξάρτητες μεταβλητές (Χ 1, Χ 2,,Χ n ). Αυτή η ευθεία εκφράζεται με την παρακάτω συνάρτηση: Υ = β 0 + β 1 Χ 1 + β 2 Χ β n Χ n + ε Όπου, με Y συμβολίζεται η εξαρτημένη μεταβλητή με n ο αριθμός των ανεξάρτητων μεταβλητών που σχετίζονται με την εξαρτημένη με Χ 1, Χ 2,, Χ n οι ανεξάρτητες μεταβλητές που σχετίζονται με την εξαρτημένη με β 0, β 1,, β n οι συντελεστές της παλινδρόμησης με ε το τυχαίο σφάλμα που αντιπροσωπεύει το σφάλμα μέτρησης και τις επιδράσεις άλλων μεταβλητών που δε συμμετέχουν στο μοντέλο Η ανάλυση παλινδρόμησης μπορεί να έχει διάφορους στόχους όπως είναι: 1. Πρόβλεψη μελλοντικών παρατηρήσεων 2. Αποτίμηση της επίδρασης ή της σχέσης ανάμεσα στην εξαρτημένη και στις ανεξάρτητες μεταβλητές 3. Γενική περιγραφή της δομής των δεδομένων 63

65 Όταν χρησιμοποιείται το μοντέλο παλινδρόμησης, είναι σημαντικό να επιλέγονται οι μεταβλητές πολύ προσεκτικά. Στην περίπτωση προσδιορισμού της εξαρτώμενης μεταβλητής αυτό είναι εύκολο, δεδομένου ότι είναι αυτό που θέλουμε να εκτιμήσουμε δηλαδή το κόστος ή η προσπάθεια του έργου. Οι ανεξάρτητες μεταβλητές είναι οι παράγοντες του κόστους ή της προσπάθειας (cost/effort drivers). Μια απλοϊκή συνάρτηση παλινδρόμησης, με έναν μόνο παράγοντα να επηρεάζει την εξαρτημένη μεταβλητή και συγκεκριμένα το μέγεθος του λογισμικού (size), είναι η ακόλουθη: effort = β 0 + β 1 (size) Όταν ένα μοντέλο παλινδρόμησης δημιουργείται με δεδομένα από παλαιότερα έργα λογισμικού, η εκτίμηση της προσπάθειας υπολογίζεται με ένα γνωστό μέγεθος έργου. 5.1 Παλινδρόμηση Ελαχίστων Τετραγώνων Η παλινδρόμηση ελαχίστων τετραγώνων (Ordinary Least Square OLS) αποτελεί μια από τις πιο συνηθισμένες, ίσως την πιο συνηθισμένη μέθοδο που χρησιμοποιείται στην εκτίμηση του κόστους λογισμικού. Έχοντας στη διάθεση μας στοιχεία από μια βάση δεδομένων η ερώτηση που συνήθως απευθύνουμε είναι Πώς θα τα χρησιμοποιήσουμε για να επιτύχουμε την καλύτερη προσαρμογή;. Λέγοντας βέβαια προσαρμογή εννοούμε την εκτίμηση των συντελεστών (β 0, β 1,, β n ) της συνάρτησης παλινδρόμησης, ώστε να έχουμε το μικρότερο δυνατόν συνολικό σφάλμα. Το σφάλμα δίνεται από την σχέση: όπου n n e i 2 = (Ŷ i -Υ i ) 2 i=1 i=1 Ŷ i η εκτιμώμενη τιμή από το μοντέλο και Υ i η πραγματική τιμή. Στην παλινδρόμηση ελαχίστων τετραγώνων θα πρέπει αρχικά να καθορίσουμε μια συναρτησιακή σχέση μεταξύ της εξαρτημένης μεταβλητής (π.χ. της προσπάθειας- 64

66 effort) και των ανεξάρτητων μεταβλητών (παράγοντες κόστους-cost drivers). Η μέθοδος στη συνέχεια προσαρμόζει τα δεδομένα στο συγκεκριμένο μοντέλο, προσπαθώντας να ελαχιστοποιήσει το συνολικό άθροισμα των τετραγώνων των σφαλμάτων. Σε αυτό το σημείο η παλινδρόμηση ελαχίστων τετραγώνων διαφέρει από τις άλλες μεθόδους, όπως οι τεχνικές μηχανικής μάθησης όπου δεν χρειάζεται να καθοριστεί εκ των προτέρων κάποιο μοντέλο [75]. Τέσσερις μορφές συναρτησιακής σχέσης έχουν μελετηθεί στην βιβλιογραφία για τη διαμόρφωση της σχέσης μεταξύ του μεγέθους των συστημάτων λογισμικού και της προσπάθειας. Αυτοί συνοψίζονται στον παρακάτω Πίνακα 5.1 [76]: Πίνακας 5.1 [76] Η μέθοδος των ελαχίστων τετραγώνων βασίζεται σε ορισμένες υποθέσεις. Μια από τις σημαντικότερες είναι ότι η μεταβλητότητα του σφάλματος παραμένει κατά μέσο όρο σταθερή. Δηλαδή, η διαφορά μεταξύ της πραγματικής τιμής της προβλεπόμενης δεν μεταβάλλεται για τα έργα. Αυτό ονομάζεται υπόθεση ομοσκεδαστικότητας. Ωστόσο, η μέθοδος αυτή έχει και κάποιες αδυναμίες. Ουσιαστικά αυτό που κάνει είναι να ελαχιστοποιεί το άθροισμα των τετραγώνων του απόλυτου σφάλματος, ενώ τα μοντέλα εκτίμησης λογισμικού αποτιμώνται με βάση το σχετικό σφάλμα. Επομένως, η μέθοδος αποτίμησης των τιμών των παραμέτρων του μοντέλου και τα κριτήρια αξιολόγησης του μοντέλου δεν είναι συνεπή. Επίσης, η μέθοδος των ελαχίστων τετραγώνων δεν μπορεί να διαχειριστεί ποιοτικές μεταβλητές, όπως άλλωστε και κάθε άλλο κλασικό μοντέλο παλινδρόμησης και είναι ευαίσθητη σε ακραίες παρατηρήσεις του συνόλου των δεδομένων εκπαίδευσης. Αυτό μπορεί να έχει ως αποτέλεσμα την κατασκευή παραπλανητικών εξισώσεων πρόβλεψης που δεν απεικονίζουν τις σωστές τάσεις των δεδομένων. Για 65

67 να αντιμετωπιστεί αυτό το πρόβλημα, είναι χρήσιμο να προσδιοριστούν και να απομακρυνθούν ενδεχόμενες ακραίες τιμές από τα δεδομένα, πριν κατασκευαστεί το τελικό μοντέλο ελαχίστων τετραγώνων. Μάλιστα, έχουν αναπτυχθεί τυποποιημένες τεχνικές, όπως η εύρωστη παλινδρόμηση (robust regression) για την ανάλυση των ακραίων τιμών σε μια βάση δεδομένων από παλαιότερα ολοκληρωμένα έργα. Τέλος, για την σωστή χρήση από τους τεχνικούς των μεθόδων αυτών απαιτείται καλή γνώση, εκπαίδευση και προηγούμενη εμπειρία στην εφαρμογή τους. 5.2 Εύρωστη Παλινδρόμηση (Robust Regression) Οι αρχές στις οποίες στηρίζεται η μέθοδος των ελαχίστων τετραγώνων ισχύουν σε γενικές γραμμές και για την εύρωστη παλινδρόμηση. Το νέο στοιχείο που εισάγει η εύρωστη παλινδρόμηση είναι εναλλακτικές μέθοδοι ελαχιστοποίησης. Δηλαδή, αντί να ελαχιστοποιεί το άθροισμα των τετραγώνων του απόλυτου σφάλματος, όπως η μέθοδος των ελαχίστων τετραγώνων, εφαρμόζει άλλες μεθόδους. Για παράδειγμα, η μέθοδος ελάχιστης διαμέσου των τετραγώνων (least median of squares-lms) που ελαχιστοποιεί την διάμεσο των τετραγώνων του απόλυτου σφάλματος [77]. Άλλο παράδειγμα αποτελεί η μέθοδος ελαχίστων τετραγώνων των ισορροπημένων σχετικών σφαλμάτων (least-squares of balanced relative errors -LBRS), η μέθοδος ελαχίστων προσαρμοσμένων τετραγώνων (least trimmed squares -LTS), και η μέθοδος ελαχίστων τετραγώνων των αντίστροφων ισορροπημένων σχετικών σφαλμάτων (least-squares of inverted balanced relative errors - LIRS) [78]. Αν υποθέσουμε ότι Υ i είναι οι πραγματικές τιμές μιας εξαρτημένης μεταβλητής Ν συστημάτων και Ζ i οι εκτιμημένες τιμές τότε το σχετικό σφάλμα δίνεται συνήθως από την σχέση [4]: Στη μέθοδο ελαχίστων τετραγώνων των ισορροπημένων σχετικών σφαλμάτων (LBRS) ο Miyazaki κ.α. ορίζουν το ισορροπημένο σχετικό σφάλμα R i ως εξής: 66

68 Ενώ στην μέθοδο LIRS το αντίστροφο ισορροπημένο σχετικό σφάλμα r i ορίζεται ως ακολούθως: H εύρωστη παλινδρόμηση, στοχεύει στη δημιουργία μοντέλων που δεν επηρεάζονται σε μεγάλο βαθμό από τις ακραίες παρατηρήσεις, οι οποίες αποτελούν ένα μεγάλο πρόβλημα στην διαδικασία εκτίμησης λόγω της φύσης των δεδομένων που χρησιμοποιούνται στην τεχνολογία λογισμικού. Ωστόσο, ακόμα και οι μέθοδοι εύρωστης παλινδρόμησης παρουσιάζουν κάποια αδύνατα σημεία. Συγκεκριμένα, οι μέθοδοι LMS και LTS δίνουν εύρωστες εκτιμήσεις, αλλά όταν εφαρμόζονται σε δεδομένα τα οποία χαρακτηρίζονται από ετεροσκεδαστικότητα, δηλαδή η διακύμανση των σφαλμάτων δεν είναι η ίδια για όλες τις παρατηρήσεις, τότε δεν δίνουν ακριβείς εκτιμήσεις. Ένας τρόπος να λυθεί αυτό το πρόβλημα, είναι να μετασχηματίσουμε τα δεδομένα μας σταθεροποιώντας τη διακύμανση του σφάλματος, που μάλιστα αποτελεί και σύνηθες φαινόμενο στην τεχνολογία λογισμικού, και στη συνέχεια να εφαρμόσουμε αυτές τις μεθόδους για την απόκτηση μιας εύρωστης και ακριβής εκτίμησης [79]. Όπως ήδη αναφέραμε, η μέθοδος των ελαχίστων τετραγώνων παρουσιάζει δύο προβλήματα, 1) ασυνέπεια στις μεθόδους ακρίβειας και επικύρωσης, και 2) μεγάλη επιρροή από ακραίες παρατηρήσεις στα δεδομένα επεξεργασίας. Η μέθοδος LBRS καταφέρνει να επιλύσει το πρώτο πρόβλημα, αλλά δε δίνει επαρκή λύση για το δεύτερο. Όταν υπάρχουν μεγάλα απόλυτα σφάλματα στα δεδομένα τότε αποδίδει καλύτερα από την OLS, όπως είναι όμως αναμενόμενο όταν τα δεδομένα παρουσιάζουν υψηλά ισορροπημένα σχετικά σφάλματα τότε αντιμετωπίζει πρόβλημα ακρίβειας [78]. Τέλος, η μέθοδος LIRS δίνει λύση και στα δύο προβλήματα που προηγήθηκαν καταλήγοντας σε ακριβείς και εύρωστες εκτιμήσεις. Σε γενικές γραμμές όμως όλες αυτές οι τεχνικές έχουν υψηλό υπολογιστικό κόστος. 67

69 5.3 Διαδικασία Εφαρμογής της Παλινδρόμησης Για την δημιουργία ενός μοντέλου εκτίμησης, το οποίο να δίνει όσο το δυνατόν ακριβέστερες εκτιμήσεις για το κόστος ή την προσπάθεια που απαιτεί ένα έργο λογισμικού, παίζει πρωταρχικό ρόλο η χρήση υψηλής ποιότητας δεδομένων καθώς επίσης και η ικανότητα κριτικής σκέψης του αναλυτή. Τα βήματα που ακολουθούνται κατά τη διαδικασία ανάλυσης παλινδρόμησης είναι τα εξής [7]: 1. Έλεγχος αξιοπιστίας των δεδομένων 2. Επιλογή των μεταβλητών και του μοντέλου 3. Εφαρμογή πρωταρχικής ανάλυσης με τη χρήση διαγραμμάτων, πινάκων, ανάλυσης συσχέτισης και stepwise ανάλυση παλινδρόμησης. 4. Δημιουργία του πολύ-μεταβλητού μοντέλου χρησιμοποιώντας ανάλυση διακύμανσης. 5. Έλεγχος του μοντέλου 6. Εξαγωγή της εξίσωσης παλινδρόμησης Έλεγχος Αξιοπιστίας των Δεδομένων Το πιο σημαντικό και χρονοβόρο κομμάτι της ανάλυσης παλινδρόμησης για τη δημιουργία ενός αξιόπιστου και αποτελεσματικού μοντέλου είναι ο έλεγχος των δεδομένων. Συνήθως, τα δεδομένα δεν βρίσκονται οργανωμένα σε πίνακες όπως θα περίμενε κανείς, αλλά είναι διασκορπισμένα σε διάφορα αρχεία ή έγγραφα τα οποία θα πρέπει να συγκεντρώσουμε, να συλλέξουμε αυτά τα δεδομένα που μας ενδιαφέρουν και να τα αξιολογήσουμε. Με τον έλεγχο αξιοπιστίας των δεδομένων, ουσιαστικά στοχεύουμε στο να συλλέξουμε εκείνα τα δεδομένα που μας χρειάζονται για τον εκάστοτε σκοπό μας. Δηλαδή, πρέπει να διαπιστώσουμε αν τα δεδομένα που έχουμε στη διάθεση μας είναι αυτά που μας χρειάζονται, αν τα έχουμε κατανοήσει πλήρως, αν οι τιμές των μεταβλητών μας έχουν νόημα και αν μπορούμε να τα εμπιστευθούμε για την ανάλυση που θα κάνουμε στη συνέχεια. Αρχικά, πρέπει να αναρωτηθούμε τι σημαίνουν οι κενές γραμμές στον πίνακα των δεδομένων, αν είναι χαμένες τιμές, τιμές που δεν γνωρίζουμε ή απλά δεν είναι 68

70 τίποτα. Ειδικά, όπου υπάρχει 0 (μηδέν) θα πρέπει να γνωρίζουμε αν αυτό σημαίνει μηδενική αξία, αξία που στρογγυλοποιήθηκε στο μηδέν ή τρόπος αναπαράστασης χαμένων τιμών. Όταν υπάρχει κατηγορία άλλο, θα πρέπει να ερευνήσουμε τι ακριβώς περιλαμβάνει. Αν περιλαμβάνει πολλές διαφορετικές υποκατηγορίες τότε δεν μπορούμε να την αναλύσουμε σαν ομοιογενή κατηγορία. Επίσης, θα πρέπει να ελέγξουμε τις μεταβλητές μεταξύ τους για να διαπιστώσουμε αν έχουν νόημα. Για παράδειγμα αν έχουμε τις μεταβλητές start date, end date και duration μπορούμε να ελέγξουμε αν duration = end date - start date. Τέλος, καλό είναι να ελέγχουμε και τις ανώτατες και κατώτατες τιμές των μεταβλητών αν είναι έγκυρες Επιλογή των μεταβλητών και του μοντέλου Αφού μελετήσουμε και κατανοήσουμε πλήρως τα δεδομένα που έχουμε στη διάθεση μας, θα πρέπει να αποφασίσουμε πως θα τα αξιοποιήσουμε. Δηλαδή, ποιες πιθανές σχέσεις μπορούμε να μελετήσουμε και ποιες πρέπει να μελετήσουμε στη συνέχεια της ανάλυσης μας, λαμβάνοντας υπόψη τους σκοπούς για τους οποίους γίνεται η ανάλυση. Σε αυτό το σημείο θα πρέπει να αποφασίσουμε τις νέες μεταβλητές που θα δημιουργήσουμε αλλά και τις μεταβλητές που θα απορρίψουμε από την περαιτέρω ανάλυση μας. Οι μεταβλητές που θα απορριφθούν είναι αυτές που δεν σχετίζονται με τους σκοπούς της μελέτης μας και εκείνες για τις οποίες δεν έχουμε τα απαραίτητα στοιχεία ώστε να μπορέσουμε να καταλήξουμε σε βάσιμα συμπεράσματα. Στην περίπτωση όπου έχουμε πολλές κατηγορικές μεταβλητές με χαμένες τιμές μπορούμε να δημιουργήσουμε μια νέα κατηγορία άλλα, η οποία θα περιέχει όλες αυτές τις παρατηρήσεις. Για την πραγματοποίηση ενός αξιόπιστου μοντέλου είναι απαραίτητο να έχουμε στη διάθεση μας όλους τους παράγοντες, δηλαδή όλες τις ανεξάρτητες μεταβλητές που σχετίζονται με την μεταβλητή που θέλουμε να εκτιμήσουμε. Να γνωρίζουμε την αναμενόμενη επίδραση που έχουν στην εξαρτημένη μεταβλητή και είμαστε σε θέση να προβλέπουμε τις τιμές τους με αρκετά μεγάλη ακρίβεια. Ένας κανόνας που καλό είναι να εφαρμόζεται κατά την επιλογή των μεταβλητών είναι η απόρριψη κατηγορικών μεταβλητών από το μοντέλο για τις οποίες έχουμε στη διάθεση μας λιγότερες από τρεις παρατηρήσεις. 69

71 Πρωταρχική ανάλυση Αρχικά, θα πρέπει να εξετάσουμε αν οι μεταβλητές που συλλέξαμε τηρούν κάποιες προϋποθέσεις. Οι περισσότερες στατιστικές τεχνικές υποθέτουν πως οι μεταβλητές ακολουθούν κανονική κατανομή. Στόχος λοιπόν, είναι να ελέγξουμε με τη βοήθεια ιστογραμμάτων αν τα δεδομένα μας είναι κανονικά κατανεμημένα και ποιες από αυτές τις μεταβλητές επηρεάζουν την εξαρτημένη μεταβλητή του μοντέλου. Αν κάποια μεταβλητή δεν ακολουθεί την κανονική κατανομή, τότε μετασχηματίζουμε τα δεδομένα μας χρησιμοποιώντας συνήθως τον φυσικό αλγόριθμο αυτών. Πρέπει να προσέξουμε ότι μερικές μεταβλητές μπορεί να έχουν αριθμητικές τιμές αλλά αυτό δε σημαίνει ότι έχουν ταυτόχρονα αριθμητική έννοια. Αντίστροφα, είναι δυνατόν να υπάρχουν κατηγορικές μεταβλητές που η αριθμητική απεικόνιση τους να έχει νόημα και να μπορούν να ταξινομηθούν ανάλογα με τις τιμές που παίρνουν. Επόμενο βήμα είναι η δημιουργία διαγραμμάτων της εξαρτημένης μεταβλητής με κάθε ανεξάρτητη χωριστά, ώστε να διαπιστώσουμε την φύση της σχέσης κάθε παράγοντα με την μεταβλητή που θέλουμε να εκτιμήσουμε. Είναι σημαντικό να γνωρίζουμε αν η σχέση αυτή είναι γραμμική, καθώς οι περισσότεροι στατιστικοί έλεγχοι στηρίζονται στις γραμμικές σχέσεις. Επίσης, με τα διαγράμματα αυτά μπορούμε να διακρίνουμε τις ακραίες παρατηρήσεις των δεδομένων μας και να τις αποκρίνουμε ώστε να διαπιστώσουμε αν υπάρχουν κρυμμένες σχέσεις μεταξύ των μεταβλητών. Τέλος, δημιουργούμε πίνακες ή ραβδογράμματα για να εξετάσουμε την επίδραση και των κατηγορικών μεταβλητών στην εξαρτημένη. Ανάλυση συσχέτισης Μια ακόμα υπόθεση που κάνουμε κατά την στατιστική διαδικασία δημιουργίας πολύ-μεταβλητού μοντέλου είναι ότι οι ανεξάρτητες μεταβλητές δεν σχετίζονται ισχυρά μεταξύ τους. Για να διαπιστώσουμε αν υπάρχει σχέση μεταξύ των ανεξάρτητων μεταβλητών και τι είδους σχέση είναι αυτή, χρησιμοποιούμε τους συντελεστές συσχέτισης (π.χ. Pearson, Spearman). 70

72 Οι τιμές των συντελεστών κυμαίνονται στο διάστημα [-1,1]. Όταν ο συντελεστής έχει τιμή 0 σημαίνει ότι οι ανεξάρτητες μεταβλητές δεν σχετίζονται μεταξύ τους. Αντίθετα όσο η τιμή του συντελεστή πλησιάζει στο 1 ή -1, τόσο πιο ισχυρά συσχετισμένες είναι οι ανεξάρτητες μεταβλητές. Όταν οι τιμές του συντελεστή συσχέτισης είναι αρνητικές τότε η σχέση των δύο μεταβλητών είναι αρνητική, αντίθετα όταν είναι θετικές η σχέση των ανεξάρτητων μεταβλητών είναι θετική. Συνήθως, στην ανάλυση συσχετίσεων χρησιμοποιούμε τους συντελεστές συσχέτισης του Spearman ή του Pearson. Ο πρώτος συγκρίνει τις διαφορές των δύο μεταβλητών για την ίδια παρατήρηση ενώ ο δεύτερος χρησιμοποιεί τις πραγματικές τιμές των μεταβλητών. Το πλεονέκτημα του συντελεστή του Pearson είναι ότι λαμβάνει υπόψη του όχι μόνο τις διαφορές στις τιμές των μεταβλητών αλλά και το μέγεθος αυτής της διαφοράς, ενώ του Spearman ότι είναι λιγότερο ευαίσθητος σε ακραίες παρατηρήσεις και μπορεί να χρησιμοποιηθεί για ποιοτικές μεταβλητές αφού χρησιμοποιεί τις διατάξεις των μεταβλητών και όχι τις πραγματικές τιμές τους. Όταν διαπιστώνεται ισχυρή, είτε θετική, είτε αρνητική συσχέτιση μεταξύ δυο ανεξάρτητων μεταβλητών, τότε δεν πρέπει να συμπεριληφθούν και οι δύο στο τελικό μοντέλο Δημιουργία του πολύ-μεταβλητού μοντέλου Για την δημιουργία του πολύ-μεταβλητού μοντέλου εκτίμησης της εξαρτημένης μεταβλητής χρησιμοποιούμε κυρίως δύο μεθόδους, την Stepwise Backward Elimination και την Stepwise Forward Selection [80]. Backward Elimination Είναι από τις πιο απλές διαδικασίες επιλογής μεταβλητών και μπορεί εύκολα να εφαρμοστεί χωρίς κάποιο ιδιαίτερο λογισμικό. Σε περιπτώσεις όπου υπάρχει μια σύνθετη ιεραρχία, η Stepwise Backward Elimination μπορεί να εφαρμοστεί με το χέρι λαμβάνοντας υπόψη ποιες μεταβλητές είναι επιλέξιμες για αφαίρεση. Τα βήματα που ακολουθούνται είναι τα εξής: 1. Ξεκινάμε με όλες τις μεταβλητές στο μοντέλο μας. 2. Απομακρύνουμε την μεταβλητή με την μικρότερη σημαντικότητα. 71

73 3. Επανεξετάζουμε το νέο πλέον μοντέλο και επιστρέφουμε στο βήμα Σταματάμε όταν όλες οι μεταβλητές του μοντέλου είναι μέσα στα επίπεδα σημαντικότητας που έχουμε καθορίσει αρχικά. Forward Selection Είναι η ακριβώς αντίστροφη διαδικασία από την Backward Elimination που μόλις περιγράψαμε. Τα βήματα που ακολουθούνται είναι τα εξής: 1. Ξεκινάμε μη έχοντας μεταβλητές στο μοντέλο μας. 2. Για όλες τις μεταβλητές που δεν είναι στο μοντέλο, ελέγχουμε χωριστά την σημαντικότητα τους εάν προστίθεντο στο μοντέλο. Επιλέγουμε εκείνη με την μεγαλύτερη σημαντικότητα, που βρίσκεται μέσα στο διάστημα εμπιστοσύνης που έχουμε αρχικά καθορίσει. 3. Συνεχίζουμε ώσπου να μην είναι δυνατόν να προστεθεί κάποιος άλλος παράγοντας στο μοντέλο μας. Να αναφέρουμε σε αυτό το σημείο, ότι τα αποτελέσματα στα οποία καταλήγουμε με τη χρήση αυτών των δύο μεθόδων δεν ταυτίζονται πάντα ακόμα και για το ίδιο σύνολο δεδομένων. Καλό είναι λοιπόν να εφαρμόζονται και οι δύο μέθοδοι και να συγκρίνονται τα αποτελέσματα τους, ώστε να καταλήξουμε σε όσο το δυνατόν καλύτερο μοντέλο Έλεγχος του μοντέλου Πριν αποδεχτούμε το μοντέλο στο οποίο καταλήξαμε με την προηγούμενη διαδικασία θα πρέπει να κάνουμε κάποιους ελέγχους όσο αφορά τις υποθέσεις στις οποίες στηρίζονται τα στατιστικά tests που εφαρμόσαμε. Συγκεκριμένα, πρέπει να ελέγξουμε ότι: οι ανεξάρτητες ποσοτικές μεταβλητές είναι κατά προσέγγιση κανονικά κατανεμημένες. οι ανεξάρτητες μεταβλητές δεν είναι ισχυρά συσχετισμένες μεταξύ τους. τα σφάλματα στο μοντέλο μας είναι τυχαία και κανονικά κατανεμημένα. 72

74 κανένα έργο ή μικρό σύνολο έργων δεν επηρεάζει σημαντικά τα αποτελέσματα του μοντέλου. Ουσιαστικά, να εντοπίσουμε αν υπάρχουν ακραίες παρατηρήσεις στα δεδομένα μας. Κατά την πρωταρχική ανάλυση υπολογίσαμε τους συντελεστές συσχέτισης των ποσοτικών μεταβλητών. Τώρα πλέον, που έχουμε το τελικό μοντέλο εκτίμησης θα πρέπει να ελέγξουμε εάν όλες οι ανεξάρτητες ποσοτικές μεταβλητές τηρούν την υπόθεση της ανεξαρτησίας. Δηλαδή, ελέγχουμε αν υπάρχει πρόβλημα πολυσυγγραμικότητας. Για να αποφύγουμε τέτοια προβλήματα δεν βάζουμε μαζί στο μοντέλο δύο μεταβλητές με απόλυτη τιμή του συντελεστή του Spearman μεγαλύτερη ή ίση με 0,75. Εκτός από συσχετίσεις μεταξύ των ποσοτικών ανεξάρτητων μεταβλητών πρέπει να εξετάσουμε και αν υπάρχουν συσχετίσεις μεταξύ των κατηγορικών μεταβλητών του μοντέλου. Αυτό γίνεται με τη βοήθεια του στατιστικού τεστ chisquare (x 2 ). Η πληροφορία όμως που αντλούμε αφορά μόνο το γεγονός της ύπαρξης κάποιας σχέσης και όχι του βαθμού συσχέτισης. Αυτό είναι κάτι που πρέπει να διαπιστώσουμε μόνοι μας και να κρίνουμε αν επηρεάσει σημαντικά το μοντέλο. Επιπλέον, σε ένα καλά προσαρμοσμένο μοντέλο παλινδρόμησης τα σφάλματαυπόλοιπα (residuals) θα πρέπει να είναι τυχαία, δηλαδή να μην ακολουθούν κάποιον συγκεκριμένο σχηματισμό. Επίσης θα πρέπει να ακολουθούν την κανονική κατανομή. Αυτό το ελέγχουμε με την βοήθεια διαφόρων διαγραμμάτων και ιστογραμμάτων. Τέλος, πρέπει να ελέγξουμε την επίδραση των έργων πάνω στο μοντέλο μας. Υπάρχουν συγκεκριμένοι δείκτες που μπορούμε να υπολογίσουμε για να διαπιστώσουμε εάν κάποιο έργο ή ομάδα έργων έχει πολύ ισχυρή επίδραση στο μοντέλο, όπως είναι η απόσταση Cook. Σε γενικές γραμμές, η παλινδρόμηση είναι μια μέθοδος διαδεδομένη και συχνά χρησιμοποιούμενη από τους τεχνολόγους και τους ερευνητές. Αυτό οφείλεται στο γεγονός ότι τα αποτελέσματα της μεθόδου γίνονται εύκολα κατανοητά, ακόμα και από ερευνητές που δεν διαθέτουν ιδιαίτερη γνώση πάνω στον τομέα της Τεχνολογίας Λογισμικού. Επίσης, η εφαρμογή της δεν απαιτεί πολύπλοκους υπολογισμούς και εξειδικευμένες γνώσεις. Τέλος, στηρίζεται σε μαθηματικά μοντέλα, κάτι που καθιστά τα αποτελέσματα περισσότερο κατανοητά και τεκμηριωμένα από τις προηγούμενες μεθόδους που αναφέρθηκαν. 73

75 ΚΕΦΑΛΑΙΟ 6 ο ΜΕΤΡΑ ΑΚΡΙΒΕΙΑΣ ΚΑΙ ΕΠΙΚΥΡΩΣΗΣ Οι περισσότερες μελέτες έχουν εστιάσει σε μέτρα αξιολόγησης των μεθόδων εκτίμησης λογισμικού που εξετάζουν κυρίως την προβλεπτική ικανότητα των μοντέλων που αυτά παράγουν. Εντούτοις, πολλά άλλα κριτήρια σχετίζονται με την αξιολόγηση των μεθόδων εκτίμησης, με την ανάπτυξη τους αλλά και το πεδίο εφαρμογής τους. Κάποια από αυτά τα κριτήρια είναι υποκειμενικά αλλά παρόλα αυτά δεν παύουν να είναι σημαντικά. Οι Briand και Wieczorek [75], διακρίνουν τρεις κατηγορίες κριτηρίων αξιολόγησης οι οποίες παρουσιάζονται συνοπτικά και στον Πίνακα 6.1: (Models and Estimate Criteria): Η πρώτη κατηγορία σχετίζεται με κριτήρια για την αποτίμηση των μοντέλων και των εκτιμήσεων τους. Ερωτήματα που έχουν να κάνουν με την κατηγορία αυτή είναι, πόσο ακριβείς είναι οι προβλέψεις που πραγματοποιεί το μοντέλο; Ποιες είναι οι απαιτούμενες είσοδοι; Τι είδους εκτιμήσεις παράγονται; Μπορεί το μοντέλο να βαθμονομηθεί; Γίνεται το μοντέλο εύκολα κατανοητό από αυτούς που το εφαρμόζουν; (Estimation Method Criteria): Η δεύτερη κατηγορία κριτηρίων έχει να κάνει με τη διαδικασία δημιουργίας τελικής εκτίμησης. Δηλαδή με την δημιουργία πρόβλεψης η οποία ενδεχομένως βασίζεται σε συνδυασμό τεχνικών και μεθόδων εκτίμησης. Τα βασικά ερωτήματα που καλύπτονται από αυτήν την κατηγορία είναι τα ακόλουθα. Ποιες είναι οι υποθέσεις που γίνονται από τα μοντέλα εκτίμησης και κατά πόσο είναι ρεαλιστικές; Πόσο πολύπλοκη είναι η εφαρμογή της μεθόδου; Πόσο διαφανής είναι η μέθοδος και κατά πόσο υποστηρίζεται από κάποιο εργαλείο; (Application Criteria): Η τρίτη ομάδα αφορά τις εφαρμογές μιας μεθόδου εκτίμησης. Ερωτήματα που έχουν να κάνουν με αυτήν την ομάδα κριτηρίων είναι τα παρακάτω. Για ποιον σκοπό μπορεί να εφαρμοστεί ένα μοντέλο εκτίμησης; Μέσα σε ποια 74

76 πλαίσια είναι εφαρμόσιμη μια μέθοδος; Σε ποια χρονική στιγμή του κύκλου ζωής ενός έργου μπορεί να εφαρμοστεί ένα μοντέλο; Πίνακας 6.1 [75] Στη συνέχεια της μελέτης μας, θα ασχοληθούμε κυρίως με την πρώτη κατηγορία κριτηρίων αξιολόγησης των μεθόδων εκτίμησης (Models and Estimate Criteria). 6.1 Μέθοδοι Επικύρωσης Οι μέθοδοι επικύρωσης, συνήθως περιλαμβάνουν δύο στοιχεία, τη διαδικασία επικύρωσης και τα κριτήρια επικύρωσης. Η μέθοδος διασταύρωσης (Cross- Validation) είναι μια από τις πιο συχνά χρησιμοποιούμενες μεθόδους επικύρωσης, ενώ το μέσο μέγεθος του σχετικού σφάλματος (mean magnitude of relative error - MMRE) είναι ένα από τα πιο συνηθισμένα κριτήρια αξιολόγησης Μέθοδος Διασταύρωσης (Cross -Validation) Η μέθοδος διασταύρωσης (Leave-one-out cross-validation), αποτελεί έναν τρόπο εξασφάλισης σχεδόν μη μεροληπτικών εκτιμήσεων του σφάλματος πρόβλεψης [18]. Η μέθοδος αποτελείται από: 1. την διαγραφή των παρατηρήσεων από το σύνολο των δεδομένων (μια κάθε φορά). 75

77 2. την βαθμονόμηση του μοντέλου στις εναπομείνασες n-1 παρατηρήσεις. 3. την μέτρηση του πόσο αποτελεσματικά το βαθμονομημένο μοντέλο προβλέπει τις διαγραμμένες παρατηρήσεις. 4. την εύρεση του μέσου όρου αυτών των προβλέψεων για όλες τις n παρατηρήσεις. Στην τεχνολογία λογισμικού τα MRE και MMRE είναι τα κριτήρια που χρησιμοποιούνται σχεδόν κατά αποκλειστικότητα για τα βήματα τρία και τέσσερα. Επίσης, ακόμα μια παραλλαγή της μεθόδου διασταύρωσης, η V-fold cross validation, είναι ευρέως διαδεδομένη στην τεχνολογία λογισμικού [81]. Η παραλλαγή αυτή της μεθόδου, χωρίζει το σύνολο των δεδομένων σε v υποσύνολα, το καθένα με περίπου k παρατηρήσεις, όπου k>1. Δηλαδή, v*k=n. Οπότε, αντί να διαγράφεται μια παρατήρηση κάθε φορά, διαγράφονται k παρατηρήσεις. Στον τομέα της μηχανικής μάθησης όσο αφορά την επιστήμη υπολογιστών τα υποσύνολα αυτά ονομάζονται σύνολα εκπαίδευσης και ελέγχου αντίστοιχα (Σχήμα 6.1). Σύνολο εκπαίδευσης και Σύνολο ελέγχου Σχήμα 6.1 Τέλος, να αναφέρουμε και την μέθοδο παρακράτησης (Holdout method), η οποία είναι και η πιο απλή έκδοση μεθόδου διασταύρωσης. Το σύνολο δεδομένων χωρίζεται σε δύο υποσύνολα, το υποσύνολο εκπαίδευσης (training set) και το υποσύνολο ελέγχου (test set), που αναφέραμε και παραπάνω. Δημιουργείται μια εξίσωση με βάση το υποσύνολο εκπαίδευσης και χρησιμοποιείται για την πραγματοποίηση πρόβλεψης στο υποσύνολο ελέγχου. Τα σφάλματα που γίνονται υπολογίζονται ώστε να δώσουν το μέσο απόλυτο σφάλμα με το οποίο θα αξιολογηθεί το μοντέλο [82]. Το πλεονέκτημα αυτής της μεθόδου είναι ότι προτιμάται συνήθως από τη μέθοδο των υπολοίπων και δεν απαιτεί ιδιαίτερο υπολογιστικό κόπο. Τα μειονεκτήματα της είναι ότι δεν είναι εύκολα εφαρμόσιμη όταν έχουμε αραιά δεδομένα, αφού δεν έχουμε την πολυτέλεια να χωρίσουμε το σύνολο των δεδομένων περαιτέρω, και η απόδοση της εξαρτάται πάρα πολύ από τη διακύμανση των δεδομένων στα δύο υποσύνολα. 76

78 Το τελευταίο μειονέκτημα της μεθόδου παρακράτησης μπορεί να αντιμετωπιστεί με μια παραλλαγή αυτής, την μέθοδο τυχαίων δειγμάτων (Random Subsampling). Σε αυτήν την περίπτωση διενεργούμε πολλαπλά πειράματα παίρνοντας κάθε φορά ένα σταθερό αριθμό έργων από το σύνολο δεδομένων, χωρίς επανατοποθέτηση (Σχήμα 6.2). Σχήμα 6.2 Στη συνέχεια υπολογίζουμε το σφάλμα από το μέσο όρο των πειραμάτων, ως εξής: Bootstrapping Ο Efron το 1983 ήταν αυτός που εισήγαγε για πρώτη φορά την οικογένεια bootstrap [83]. Έστω ότι έχουμε στη διάθεση μας ένα σύνολο δεδομένων μεγέθους n, ένα δείγμα bootstrap δημιουργείται από την ομοιόμορφη δειγματοληψία n παρατηρήσεων από το σύνολο των δεδομένων με επανατοποθέτηση. Αφού το σύνολο δεδομένων δημιουργείται με επανατοποθέτηση, η πιθανότητα μιας συγκεκριμένης παρατήρησης να μην έχει επιλεγεί είναι (1-1/n) n e [83]. Επομένως, ο αναμενόμενος αριθμός των ξεχωριστών παρατηρήσεων από το αρχικό σύνολο δεδομένων που εμφανίζονται στο σύνολο ελέγχου είναι 0.632n. Η ακρίβεια εκτίμησης e 0 εξάγεται από την χρήση των δειγμάτων bootstrap για εκπαίδευση και των υπολοίπων για έλεγχο. Δοθέντος ενός αριθμού δειγμάτων bootstrap b και έστω e 0i η εκτίμηση ακρίβειας για το δείγμα i, τότε η εκτίμηση εκτίμηση bootstrap δίνεται από την σχέση : 77

79 Όπου acc 8, η εκτίμηση ακρίβειας που υποκαθιστά την εκτίμηση ακρίβειας ολόκληρου του συνόλου δεδομένων (π.χ. η ακρίβεια του συνόλου εκπαίδευσης). Η διακύμανση της εκτίμησης καθορίζεται από τον υπολογισμό της διακύμανσης των εκτιμήσεων για τα δείγματα bootstrap. Η μέθοδος bootstrap έχει περισσότερα πλεονεκτήματα από την μέθοδο Cross- Validation καθότι παρουσιάζει μικρότερη διακύμανση και δίνει ακριβέστερα αποτελέσματα για το σφάλμα πρόβλεψης [84]. 6.2 Κριτήρια Επικύρωσης Η μέτρηση του σφάλματος εκτίμησης είναι ένα από τα βασικά θέματα που συγκεντρώνουν το ενδιαφέρον των ερευνητών όσο αφορά στην εκτίμηση λογισμικού. Αποτελεί την βάση πολλών δραστηριοτήτων, όπως την ανάλυση της ύπαρξης ή όχι προβλήματος εκτίμησης σε έναν οργανισμό, την αξιολόγηση μεθόδων εκτίμησης και τον προσδιορισμό των αιτίων του σφάλματος εκτίμησης. Τα έργα λογισμικού διαφέρουν σε μέγεθος, και για τον λόγο αυτόν, τα περισσότερα μέτρα εκτίμησης του σφάλματος βασίζονται στο σχετικό σφάλμα εκτίμησης. Τα πιο συχνά χρησιμοποιούμενο μέτρο εκτίμησης είναι το μέγεθος του σχετικού σφάλματος MRE (Magnitude of Relative Error) που δίνεται από την εξίσωση: Το MRE υπολογίζεται για κάθε παρατήρηση i της οποίας η τιμή έχει προβλεφθεί. Το μέσο MRE (mean magnitude of relative error-mmre), χρησιμοποιείται συχνά για τον μέσο όρο των σφαλμάτων εκτίμησης για πολλαπλές παρατηρήσεις. Έστω ότι έχουμε N παρατηρήσεις, τότε το μέσο μέγεθος του σχετικού σφάλματος MMRE υπολογίζεται ως εξής: 78

80 Oι Conte κ.α. [85], θεωρεί ότι ένα μοντέλο εκτίμησης λογισμικού είναι ικανοποιητικό όταν το MMRE είναι μικρότερο από 0,25. Σε πολλές μελέτες υπολογίζεται και το επίπεδο πρόβλεψης Pred(l), δηλαδή το ποσοστό των παρατηρήσεων για τις οποίες το MRE είναι μικρότερο ή ίσο του l. Μια αποδεκτή τιμή για το κριτήριο αυτό θεωρείται η Pred(0,25) 0,75, αν και αυτό είναι περισσότερο υποκειμενικό και εξαρτάται από τη φύση της κάθε μελέτης και την κρίση του ερευνητή. Όπου k ο αριθμός των παρατηρήσεων με MRE μικρότερο του l, και Ν το σύνολο όλων των παρατηρήσεων του συνόλου δεδομένων. Το MMRE μετράει το σφάλμα εκτίμησης σε σχέση με την πραγματική προσπάθεια. Σε μερικές περιπτώσεις, είναι περισσότερο ενδιαφέρον και ίσως πιο αποτελεσματικό, να υπολογίζουμε το σφάλμα εκτίμησης σε σχέση με την προβλεπόμενη προσπάθεια, όπως γίνεται από το μέγεθος του σχετικού με την εκτίμηση σφάλματος MER (the magnitude of error relative to the estimate) [86]: Σαν μέτρο ακρίβειας χρησιμοποιείται επίσης και το μέσο τετραγωνικό σφάλμα (Mean Squared Error-MSE) : MSE = (actual effort- estimated effort) 2 Το MMRE θεωρείται ένα αξιόπιστο και ευρέως χρησιμοποιούμενο μέτρο επικύρωσης. Τα αναφερόμενα στη βιβλιογραφία πλεονεκτήματα του είναι τα παρακάτω [18]: Μπορούν να γίνουν συγκρίσεις μεταξύ διαφορετικών συνόλων δεδομένων. Είναι ανεξάρτητο από μονάδες μέτρησης δηλαδή δεν επηρεάζεται από τον εάν η προσπάθεια είναι εκφρασμένη σε εργατοώρες ή σε εργατομήνες. 79

81 Μπορούν να γίνουν συγκρίσεις μεταξύ διαφορετικών μεθόδων εκτίμησης, ακόμα και σε μεθόδους που δεν στηρίζονται σε μαθηματικά μοντέλα. Είναι ανεξάρτητο κλίμακας, δηλαδή οι αναμενόμενες τιμές του ΜRE δεν μεταβάλλονται ανάλογα με το μέγεθος. Το πρόβλημα όμως με τα μέτρα MER και MRE είναι ότι δίνουν άνισο βάρος σε υποεκτιμήσεις και υπερεκτιμήσεις έργων. Μάλιστα, επειδή είναι ανεξάρτητα από το μέγεθος ενός έργου, είναι πιθανόν να επηρεαστούν σε μεγάλο βαθμό από έργα πολύ μικρού μεγέθους. Ένα εναλλακτικό και πιο ισορροπημένο μέτρο εκτίμησης είναι το BRE (Balanced Relative Error) [78, 87]: Εναλλακτικά, λιγότερο χρησιμοποιούμενα μέτρα της ακρίβειας του μοντέλου είναι η τυπική απόκλιση SD (Standard Deviation), η οποία είναι καταλληλότερη για την αξιολόγηση γραμμικών, προσθετικών μοντέλων, όπου τα δεδομένα είναι ομοσκεδαστικά [88]:, η λογαριθμική τυπική απόκλιση LSD (Logarithmic Standard Deviation) που είναι κατάλληλη για την αξιολόγηση πολλαπλασιαστικών μοντέλων, και η σχετική τυπική απόκλιση RSD (Relative Standard Deviation), η οποία προτιμάται για την αξιολόγηση μοντέλων με δεδομένα που είναι σχεδόν γραμμικά και ετεροσκεδαστικά. Ωστόσο, δεν πρέπει να χρησιμοποιείται σε δεδομένα με μια απλή μεταβλητή πρόβλεψης: Όπου s 2 είναι η εκτίμηση της διακύμανσης των υπολοίπων e i που υπολογίζονται από την σχέση: e i =lny i - lnỹ i. 80

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

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι Συστήματα Υποστήριξης Αποφάσεων Τα Συστήματα Υποστήριξης Αποφάσεων (Σ.Υ.Α. - Decision Support Systems, D.S.S.) ορίζονται ως συστήματα

Διαβάστε περισσότερα

Ιεραρχική αναλυση αποφασεων Analytic hierarchy process (AHP)

Ιεραρχική αναλυση αποφασεων Analytic hierarchy process (AHP) Ιεραρχική αναλυση αποφασεων Analytic hierarchy process (AHP) Εισαγωγή Παρουσιάστηκε από τον Thomas L. Saaty τη δεκαετία του 70 Μεθοδολογία που εφαρμόζεται στην περιοχή των Multicriteria Problems Δίνει

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Μεθοδική Ανάπτυξη Δικτυακής Υποδομής. Παρουσίαση στην ημερίδα για Σύγχρονες τάσεις στις Τηλεπικοινωνίες και Τεχνολογίες Αιχμής

Μεθοδική Ανάπτυξη Δικτυακής Υποδομής. Παρουσίαση στην ημερίδα για Σύγχρονες τάσεις στις Τηλεπικοινωνίες και Τεχνολογίες Αιχμής Μεθοδική Ανάπτυξη Δικτυακής Υποδομής Παρουσίαση στην ημερίδα για Σύγχρονες τάσεις στις Τηλεπικοινωνίες και Τεχνολογίες Αιχμής 14-01-2006 1 Περιεχόμενα Η ανάγκη για μεθοδικό σχεδιασμό δικτύων Μία δομημένη

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΔΙΑΔΙΚΑΣΙΕΣ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ Διδάσκων: Γ. Χαραλαμπίδης,

Διαβάστε περισσότερα

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

Διαχείριση έργων. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαχείριση έργων Στόχοι Ερμηνεία των κύριων εργασιών ενός διευθυντή έργου λογισμικού Παρουσίαση της διαχείρισης έργων λογισμικού και περιγραφή των χαρακτηριστικών που τη διακρίνουν Εξέταση του σχεδιασμού

Διαβάστε περισσότερα

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Βασισμένης σε Περιπτώσεις (Case Based Reasoning): Το σύστημα PAS (Property Appraisal System) ΣΤΑΥΡΟΥΛΑ ΠΡΑΝΤΣΟΥΔΗ

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Βασισμένης σε Περιπτώσεις (Case Based Reasoning): Το σύστημα PAS (Property Appraisal System) ΣΤΑΥΡΟΥΛΑ ΠΡΑΝΤΣΟΥΔΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Εκτίμηση αξίας ακινήτων με χρήση Συλλογιστικής Βασισμένης σε Περιπτώσεις (Case Based

Διαβάστε περισσότερα

Εκπαιδευτική Μονάδα 1.1: Τεχνικές δεξιότητες και προσόντα

Εκπαιδευτική Μονάδα 1.1: Τεχνικές δεξιότητες και προσόντα Εκπαιδευτική Μονάδα 1.1: Τεχνικές δεξιότητες και προσόντα Πέρα από την τυπολογία της χρηματοδότησης, των εμπλεκόμενων ομάδων-στόχων και την διάρκεια, κάθε project διακρατικής κινητικότητας αποτελεί μια

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση

Διαβάστε περισσότερα

6. Διαχείριση Έργου. Έκδοση των φοιτητών

6. Διαχείριση Έργου. Έκδοση των φοιτητών 6. Διαχείριση Έργου Έκδοση των φοιτητών Εισαγωγή 1. Η διαδικασία της Διαχείρισης Έργου 2. Διαχείριση κινδύνων Επανεξέταση Ερωτήσεις Αυτοαξιολόγησης Διαχείριση του έργου είναι να βάζεις σαφείς στόχους,

Διαβάστε περισσότερα

ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ. ΕΝΟΤΗΤΑ 4η ΠΡΟΒΛΕΨΗ ΖΗΤΗΣΗΣ

ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ. ΕΝΟΤΗΤΑ 4η ΠΡΟΒΛΕΨΗ ΖΗΤΗΣΗΣ ΤΕΙ ΚΡΗΤΗΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ ΕΝΟΤΗΤΑ 4η ΠΡΟΒΛΕΨΗ ΖΗΤΗΣΗΣ ΓΙΑΝΝΗΣ ΦΑΝΟΥΡΓΙΑΚΗΣ ΕΠΙΣΤΗΜΟΝΙΚΟΣ ΣΥΝΕΡΓΑΤΗΣ ΤΕΙ ΚΡΗΤΗΣ ΔΟΜΗ ΠΑΡΟΥΣΙΑΣΗΣ 1. Εισαγωγή

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Εξαγωγή γεωγραφικής πληροφορίας από δεδομένα παρεχόμενα από χρήστες του

Διαβάστε περισσότερα

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

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΓΙΑ ΤΗ ΜΑΘΗΣΗ ΚΑΙ ΤΗ ΔΙΔΑΣΚΑΛΙΑ ΣΤΗΝ ΠΡΟΣΧΟΛΙΚΗ ΕΚΠΑΙΔΕΥΣΗ ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΓΙΑ ΤΗ ΜΑΘΗΣΗ ΚΑΙ ΤΗ ΔΙΔΑΣΚΑΛΙΑ ΣΤΗΝ ΠΡΟΣΧΟΛΙΚΗ ΕΚΠΑΙΔΕΥΣΗ ΑΝΑΓΝΩΡΙΖΟΝΤΑΣ ΤΗ ΔΙΑΦΟΡΕΤΙΚΟΤΗΤΑ & ΑΝΑΠΤΥΣΣΟΝΤΑΣ ΔΙΑΦΟΡΟΠΟΙΗΜΕΝΕΣ ΠΡΟΣΕΓΓΙΣΕΙΣ Διαστάσεις της διαφορετικότητας Τα παιδιά προέρχονται

Διαβάστε περισσότερα

Στόχος της ψυχολογικής έρευνας:

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εισαγωγή Στις Αρχές Της Επιστήμης Των Η/Υ. Η έννοια του Προβλήματος - ΚΕΦΑΛΑΙΟ 2

Εισαγωγή Στις Αρχές Της Επιστήμης Των Η/Υ. Η έννοια του Προβλήματος - ΚΕΦΑΛΑΙΟ 2 Εισαγωγή Στις Αρχές Της Επιστήμης Των Η/Υ Η έννοια του Προβλήματος - ΚΕΦΑΛΑΙΟ 2 2. Η έννοια του προβλήματος 2 2. Η έννοια του προβλήματος 2.1 Το πρόβλημα στην επιστήμη των Η/Υ 2.2 Κατηγορίες προβλημάτων

Διαβάστε περισσότερα

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής Περιεχόµενα Κατηγορίες Π.Σ. ιαχείρισης Πράξεων ιοίκησης Υποστήριξης Αποφάσεων Έµπειρα Συστήµατα Ατόµων και Οµάδων Ο κύκλος ζωής Π.Σ. Ορισµός Φάσεις Χρήστες

Διαβάστε περισσότερα

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Οι παρούσες σημειώσεις αποτελούν βοήθημα στο μάθημα Αριθμητικές Μέθοδοι του 5 ου εξαμήνου του ΤΜΜ ημήτρης Βαλουγεώργης Καθηγητής Εργαστήριο Φυσικών

Διαβάστε περισσότερα

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

Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ & ΕΠΙΧΕΙΡΗΣΕΩΝ Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ & ΕΠΙΧΕΙΡΗΣΕΩΝ Η Έρευνα Μάρκετινγκ ως εργαλείο ανάπτυξης νέων προϊόντων ΕΙΣΗΓΗΤΗΣ: Δρ. Ιωάννης Σ. Τουρτούρας Μηχανικός Παραγωγής & Διοίκησης Δ.Π.Θ.

Διαβάστε περισσότερα

Εισαγωγή στη Στατιστική

Εισαγωγή στη Στατιστική Εισαγωγή στη Στατιστική Μετεκπαιδευτικό Σεμινάριο στην ΨΥΧΟΚΟΙΝΩΝΙΚΗ ΑΠΟΚΑΤΑΣΤΑΣΗ ΨΥΧΟΚΟΙΝΩΝΙΚΕΣ ΘΕΡΑΠΕΥΤΙΚΕΣ ΠΡΟΣΕΓΓΙΣΕΙΣ Δημήτρης Φουσκάκης, Επίκουρος Καθηγητής, Τομέας Μαθηματικών, Σχολή Εφαρμοσμένων

Διαβάστε περισσότερα

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams Αλέκα Σεληνιωτάκη Ηράκλειο, 26/06/12 aseliniotaki@csd.uoc.gr ΑΜ: 703 1. Περίληψη Συνεισφοράς

Διαβάστε περισσότερα

Ευφυής Προγραμματισμός

Ευφυής Προγραμματισμός Ευφυής Προγραμματισμός Ενότητα 10: Δημιουργία Βάσεων Κανόνων Από Δεδομένα-Προετοιμασία συνόλου δεδομένων Ιωάννης Χατζηλυγερούδης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Δημιουργία Βάσεων Κανόνων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Πληροφορική 2. Τεχνολογία Λογισμικού

Πληροφορική 2. Τεχνολογία Λογισμικού Πληροφορική 2 Τεχνολογία Λογισμικού 1 2 Κρίση Λογισμικού (1968) Στην δεκαετία του 1970 παρατηρήθηκαν μαζικά: Μεγάλες καθυστερήσεις στην ολοκλήρωση κατασκευής λογισμικών Μεγαλύτερα κόστη ανάπτυξης λογισμικού

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού Πληροφοριακά Συστήματα Διοίκησης Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού Σημασία μοντέλου Το μοντέλο δημιουργεί μια λογική δομή μέσω της οποίας αποκτούμε μια χρήσιμη άποψη

Διαβάστε περισσότερα

Οικονόμου Παναγιώτης.

Οικονόμου Παναγιώτης. Οικονόμου Παναγιώτης panawths@gmail.com poikonomou@teilam.gr Οικονόμου Παναγιώτης 1 Παπαγεωργίου. 2 Αθήνα-Ελλάδα χρόνου 460 π.χ.? Ένας νεαρός άνδρας σκεπτόμενος το ενδεχόμενο γάμου, ζητά από τον Σωκράτη

Διαβάστε περισσότερα

Βετεράνοι αθλητές. Απόδοση & Ηλικία. Βασικά στοιχεία. Αθλητισμός Επιδόσεων στη 2η και 3η Ηλικία. Γενικευμένη θεωρία για τη

Βετεράνοι αθλητές. Απόδοση & Ηλικία. Βασικά στοιχεία. Αθλητισμός Επιδόσεων στη 2η και 3η Ηλικία. Γενικευμένη θεωρία για τη Αθλητισμός Επιδόσεων στη 2η και 3η Ηλικία. Γενικευμένη θεωρία για τη Διατήρηση η της αθλητικής απόδοσης 710: 8 η Διάλεξη Μιχαλοπούλου Μαρία Ph.D. Περιεχόμενο της διάλεξης αυτής αποτελούν: Αγωνιστικός αθλητισμός

Διαβάστε περισσότερα

Εισαγωγή στη Διαδικασία Ιεραρχικής Ανάλυσης. Ρόκου Έλενα Μεταδιδακτορική Ερευνήτρια ΕΜΠ Κηρυττόπουλος Κωνσταντίνος Επ.

Εισαγωγή στη Διαδικασία Ιεραρχικής Ανάλυσης. Ρόκου Έλενα Μεταδιδακτορική Ερευνήτρια ΕΜΠ Κηρυττόπουλος Κωνσταντίνος Επ. Εισαγωγή στη Διαδικασία Ιεραρχικής Ανάλυσης Ρόκου Έλενα Μεταδιδακτορική Ερευνήτρια ΕΜΠ Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Εκπαίδευση Ενηλίκων: Εμπειρίες και Δράσεις ΑΘΗΝΑ, Δευτέρα 12 Οκτωβρίου 2015

Εκπαίδευση Ενηλίκων: Εμπειρίες και Δράσεις ΑΘΗΝΑ, Δευτέρα 12 Οκτωβρίου 2015 Εκπαίδευση Ενηλίκων: Εμπειρίες και Δράσεις ΑΘΗΝΑ, Δευτέρα 12 Οκτωβρίου 2015 Μάθηση και γνώση: μια συνεχής και καθοριστική αλληλοεπίδραση Αντώνης Λιοναράκης Στην παρουσίαση που θα ακολουθήσει θα μιλήσουμε

Διαβάστε περισσότερα

Γ) Χρήση Λογισμικού για την υλοποίηση πρακτικών εφαρμογών της Ασαφούς Λογικής

Γ) Χρήση Λογισμικού για την υλοποίηση πρακτικών εφαρμογών της Ασαφούς Λογικής Γ) Χρήση Λογισμικού για την υλοποίηση πρακτικών εφαρμογών της Ασαφούς Λογικής Η διαδικασία δόμησης εφαρμογών γίνεται με τη χρήση γλωσσών προγραμματισμού όπως η C, η Pascal, η Basic ή με τη χρήση άλλων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Λογισμικό διδασκαλίας των μαθηματικών της Γ Τάξης Γυμνασίου

Λογισμικό διδασκαλίας των μαθηματικών της Γ Τάξης Γυμνασίου Λογισμικό διδασκαλίας των μαθηματικών της Γ Τάξης Γυμνασίου Δρ. Βασίλειος Σάλτας 1, Αλέξης Ηλιάδης 2, Ιωάννης Μουστακέας 3 1 Διδάκτωρ Διδακτικής Μαθηματικών, Επιστημονικός Συνεργάτης ΑΣΠΑΙΤΕ Σαπών coin_kav@otenet.gr

Διαβάστε περισσότερα

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας Τεχνικές Μείωσης Διαστάσεων Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας 1 Εισαγωγή Το μεγαλύτερο μέρος των δεδομένων που καλούμαστε να επεξεργαστούμε είναι πολυδιάστατα.

Διαβάστε περισσότερα

Ενότητα 1: Εισαγωγή. ΤΕΙ Στερεάς Ελλάδας. Τμήμα Φυσικοθεραπείας. Προπτυχιακό Πρόγραμμα. Μάθημα: Βιοστατιστική-Οικονομία της υγείας Εξάμηνο: Ε (5 ο )

Ενότητα 1: Εισαγωγή. ΤΕΙ Στερεάς Ελλάδας. Τμήμα Φυσικοθεραπείας. Προπτυχιακό Πρόγραμμα. Μάθημα: Βιοστατιστική-Οικονομία της υγείας Εξάμηνο: Ε (5 ο ) ΤΕΙ Στερεάς Ελλάδας Τμήμα Φυσικοθεραπείας Προπτυχιακό Πρόγραμμα Μάθημα: Βιοστατιστική-Οικονομία της υγείας Εξάμηνο: Ε (5 ο ) Ενότητα 1: Εισαγωγή Δρ. Χρήστος Γενιτσαρόπουλος Λαμία, 2017 1.1. Σκοπός και

Διαβάστε περισσότερα

Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R

Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R, Επίκουρος Καθηγητής, Τομέας Μαθηματικών, Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών, Εθνικό Μετσόβιο Πολυτεχνείο. Περιεχόμενα Εισαγωγή στο

Διαβάστε περισσότερα

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

Διαβάστε περισσότερα

Managing Information. Lecturer: N. Kyritsis, MBA, Ph.D. Candidate Athens University of Economics and Business. e-mail: kyritsis@ist.edu.

Managing Information. Lecturer: N. Kyritsis, MBA, Ph.D. Candidate Athens University of Economics and Business. e-mail: kyritsis@ist.edu. Managing Information Lecturer: N. Kyritsis, MBA, Ph.D. Candidate Athens University of Economics and Business e-mail: kyritsis@ist.edu.gr Διαχείριση Γνώσης Knowledge Management Learning Objectives Ποιοί

Διαβάστε περισσότερα

Μάθηση και Γενίκευση. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Μάθηση και Γενίκευση. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων Μάθηση και Γενίκευση Το Πολυεπίπεδο Perceptron (MultiLayer Perceptron (MLP)) Έστω σύνολο εκπαίδευσης D={(x n,t n )}, n=1,,n. x n =(x n1,, x nd ) T, t n =(t n1,, t np ) T Θα πρέπει το MLP να έχει d νευρώνες

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΓΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΓΩΝ 1. Διαχείριση έργων Τις τελευταίες δεκαετίες παρατηρείται σημαντική αξιοποίηση της διαχείρισης έργων σαν ένα εργαλείο με το οποίο οι διάφορες επιχειρήσεις

Διαβάστε περισσότερα

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

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4 Διαδικασίες παραγωγής λογισμικού Στόχοι Παρουσίαση μοντέλων παραγωγής λογισμικού Περιγραφή τριών γενικών μοντέλων παραγωγής λογισμικού και πότε μπορούν να χρησιμοποιούνται Γενική περιγραφή των μοντέλων

Διαβάστε περισσότερα

Μετάφραση και δικαιώματα διανοητικής ιδιοκτησίας (DGT/2013/TIPRs)

Μετάφραση και δικαιώματα διανοητικής ιδιοκτησίας (DGT/2013/TIPRs) Μετάφραση και δικαιώματα διανοητικής ιδιοκτησίας (DGT/2013/TIPRs) Τελική έκθεση Ιούλιος 2014 ΣΥΝΟΨΗ Σκοπός της μελέτης αυτής είναι να παρουσιάσει ορισμένα από τα κυριότερα ζητήματα που αφορούν τα δικαιώματα

Διαβάστε περισσότερα

Ανάλυση των δραστηριοτήτων κατά γνωστική απαίτηση

Ανάλυση των δραστηριοτήτων κατά γνωστική απαίτηση Ανάλυση των δραστηριοτήτων κατά γνωστική απαίτηση Πέρα όµως από την Γνωσιακή/Εννοιολογική ανάλυση της δοµής και του περιεχοµένου των σχολικών εγχειριδίων των Μαθηµατικών του Δηµοτικού ως προς τις έννοιες

Διαβάστε περισσότερα

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

ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Μεθοδολογίες Ανάπτυξης Συστημάτων Πληροφορικής Απαντούν στα εξής ερωτήματα Ποιά βήματα θα ακολουθηθούν? Με ποιά σειρά? Ποιά τα παραδοτέα και πότε? Επομένως,

Διαβάστε περισσότερα

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

ΟΜΑΔΑ Λ. Αναστασίου Κωνσταντίνος Δεληγιάννη Ισαβέλλα Ζωγοπούλου Άννα Κουκάκης Γιώργος Σταθάκη Αρετιάννα

ΟΜΑΔΑ Λ. Αναστασίου Κωνσταντίνος Δεληγιάννη Ισαβέλλα Ζωγοπούλου Άννα Κουκάκης Γιώργος Σταθάκη Αρετιάννα ΟΜΑΔΑ Λ Αναστασίου Κωνσταντίνος Δεληγιάννη Ισαβέλλα Ζωγοπούλου Άννα Κουκάκης Γιώργος Σταθάκη Αρετιάννα ΒΙΟΠΛΗΡΟΦΟΡΙΚΗ Τι είναι η βιοπληροφορική; Αποκαλείται ο επιστημονικός κλάδος ο οποίος προέκυψε από

Διαβάστε περισσότερα

1. Σκοπός της έρευνας

1. Σκοπός της έρευνας Στατιστική ανάλυση και ερμηνεία των αποτελεσμάτων των εξετάσεων πιστοποίησης ελληνομάθειας 1. Σκοπός της έρευνας Ο σκοπός αυτής της έρευνας είναι κυριότατα πρακτικός. Η εξέταση των δεκτικών/αντιληπτικών

Διαβάστε περισσότερα

Σύνθετα μέτρα στην ποσοτική έρευνα: Δείκτες, κλίμακες και διαστάσεις

Σύνθετα μέτρα στην ποσοτική έρευνα: Δείκτες, κλίμακες και διαστάσεις Σύνθετα μέτρα στην ποσοτική έρευνα: Δείκτες, κλίμακες και διαστάσεις Σύνοψη κεφαλαίου Δείκτες, κλίμακες και διαστάσεις Κατασκευή δεικτών Κατασκευή κλιμάκων 5-2 Εισαγωγή Γιατί χρησιμοποιούνται σύνθετα μέτρα

Διαβάστε περισσότερα

Σεμινάριο Τελειοφοίτων. 2 - Επιλογή Επεξεργασία Ερευνητικού Θέματος

Σεμινάριο Τελειοφοίτων. 2 - Επιλογή Επεξεργασία Ερευνητικού Θέματος Σεμινάριο Τελειοφοίτων 2 - Επιλογή Επεξεργασία Ερευνητικού Θέματος 2 o o o o Το πρόβλημα σας θα είναι να επιλέξετε μία από τις πολλές ιδέες που θα έχετε. Από πού προέρχονται αυτές; από τη δουλειά σας από

Διαβάστε περισσότερα

Διδακτική Προγραμματισμού. Χαρίκλεια Τσαλαπάτα 20/2/2012

Διδακτική Προγραμματισμού. Χαρίκλεια Τσαλαπάτα 20/2/2012 Διδακτική Προγραμματισμού Χαρίκλεια Τσαλαπάτα 20/2/2012 Διδακτική προγραμματισμού Παλαιότερα, η διδασκαλία του προγραμματισμού ταυτιζόταν με τη διδακτική της πληροφορικής Πλέον Η διδακτική της πληροφορικής

Διαβάστε περισσότερα

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

ΠΡΟΔΙΑΓΡΑΦΕΣ - ΟΔΗΓΙΕΣ ΔΙΑΜΟΡΦΩΣΗΣ ΘΕΜΑΤΩΝ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΠΡΟΔΙΑΓΡΑΦΕΣ - ΟΔΗΓΙΕΣ ΔΙΑΜΟΡΦΩΣΗΣ ΘΕΜΑΤΩΝ ΓΙΑ ΤΟ ΜΑΘΗΜΑ Μαθηματικά (Άλγεβρα - Γεωμετρία) Α ΤΑΞΗ ΗΜΕΡΗΣΙΟΥ και Α, Β ΤΑΞΕΙΣ ΕΣΠΕΡΙΝΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ Α ΤΑΞΗ ΗΜΕΡΗΣΙΟΥ και Α ΤΑΞΗ ΕΣΠΕΡΙΝΟΥ ΕΠΑΛ ΚΕΝΤΡΙΚΗ

Διαβάστε περισσότερα

ΕΕΟ 11. Η χρήση στατιστικών εργαλείων στην εκτιμητική

ΕΕΟ 11. Η χρήση στατιστικών εργαλείων στην εκτιμητική ΕΕΟ 11 Η χρήση στατιστικών εργαλείων στην εκτιμητική 1. Εισαγωγή 2. Προϋποθέσεις χρήσης των Αυτοματοποιημένων Εκτιμητικών Μοντέλων (ΑΕΜ) 3. Περιορισμοί στη χρήση των ΑΕΜ εφόσον έχουν πληρωθεί οι προϋποθέσεις

Διαβάστε περισσότερα

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

Διαβάστε περισσότερα

Εννοιολογική χαρτογράφηση: Διδακτική αξιοποίηση- Αποτελέσματα για το μαθητή

Εννοιολογική χαρτογράφηση: Διδακτική αξιοποίηση- Αποτελέσματα για το μαθητή Το λογισμικό της εννοιολογικής χαρτογράυησης Inspiration Η τεχνική της εννοιολογικής χαρτογράφησης αναπτύχθηκε από τον καθηγητή Joseph D. Novak, στο πανεπιστήμιο του Cornell. Βασίστηκε στις θεωρίες του

Διαβάστε περισσότερα

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

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

Διαβάστε περισσότερα

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

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

Διαβάστε περισσότερα

Μεθοδολογίες Παραγωγής Λογισµικού

Μεθοδολογίες Παραγωγής Λογισµικού Μεθοδολογίες Παραγωγής Λογισµικού Βασικά Γενικά Μοντέλα Μοντέλο καταρράκτη (waterfall model) Ξεχωριστές φάσεις καθορισµού απαιτήσεων και ανάπτυξης, επικύρωσης, εξέλιξης Εξελικτική ανάπτυξη (evolutionary

Διαβάστε περισσότερα

ΕΠΙΚΟΙΝΩΝΙΑΚΗ ΔΙΑΧΕΙΡΙΣΗ ΚΡΙΣΕΩΝ. Communications Crisis Management

ΕΠΙΚΟΙΝΩΝΙΑΚΗ ΔΙΑΧΕΙΡΙΣΗ ΚΡΙΣΕΩΝ. Communications Crisis Management ΕΠΙΚΟΙΝΩΝΙΑΚΗ ΔΙΑΧΕΙΡΙΣΗ ΚΡΙΣΕΩΝ Communications Crisis Management ΕΠΙΚΟΙΝΩΝΙΑΚΗ ΔΙΑΧΕΙΡΙΣΗ ΚΡΙΣΕΩΝ Καράβια βουλιάζουν. Αεροσκάφη πέφτουν. Προϊόντα ανακαλούνται. Εταιρίες μηνύονται για ληγμένα τρόφιμα ή

Διαβάστε περισσότερα

ΜΕΛΕΤΗ ΣΚΟΠΙΜΟΤΗΤΑΣ ΑΝΑΦΟΡΙΚΑ ΜΕ ΤΗΝ ΤΕΧΝΟΛΟΓΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ. Ατομική Διπλωματική Εργασία ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΜΕΛΕΤΗ ΣΚΟΠΙΜΟΤΗΤΑΣ ΑΝΑΦΟΡΙΚΑ ΜΕ ΤΗΝ ΤΕΧΝΟΛΟΓΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ. Ατομική Διπλωματική Εργασία ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Ατομική Διπλωματική Εργασία ΜΕΛΕΤΗ ΣΚΟΠΙΜΟΤΗΤΑΣ ΑΝΑΦΟΡΙΚΑ ΜΕ ΤΗΝ ΤΕΧΝΟΛΟΓΙΑ ΤΩΝ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΙΖΟΜΕΝΩΝ ΣΕ ΠΕΡΙΠΤΩΣΕΙΣ ΣΤΗΝ ΙΑΤΡΙΚΗ Κωνσταντίνα Κωνσταντίνου ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Μάιος

Διαβάστε περισσότερα

Προσφερόμενα Διπλώματα (Προσφερόμενοι Τίτλοι)

Προσφερόμενα Διπλώματα (Προσφερόμενοι Τίτλοι) Εισαγωγή Το Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών του Πανεπιστημίου Κύπρου προσφέρει ολοκληρωμένα προπτυχιακά και μεταπτυχιακά προγράμματα σπουδών στους κλάδους του Ηλεκτρολόγου Μηχανικού

Διαβάστε περισσότερα

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

Διαβάστε περισσότερα

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων Ι Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων Ι Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων Ι Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

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

ΕΡΩΤΗΣΕΙΣ ΚΛΕΙΣΤΟΥ Ή ΑΝΤΙΚΕΙΜΕΝΙΚΟΥ ΤΥΠΟΥ ΕΡΩΤΗΣΕΙΣ ΚΛΕΙΣΤΟΥ Ή ΑΝΤΙΚΕΙΜΕΝΙΚΟΥ ΤΥΠΟΥ Με τις ερωτήσεις του τύπου αυτού καλείται ο εξεταζόμενος να επιλέξει την ορθή απάντηση από περιορισμένο αριθμό προτεινόμενων απαντήσεων ή να συσχετίσει μεταξύ

Διαβάστε περισσότερα

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ Ενότητα: Αναγνώριση Διεργασίας - Προσαρμοστικός Έλεγχος (Process Identification) Αλαφοδήμος Κωνσταντίνος

Διαβάστε περισσότερα

ΜΕΤΑ-ΑΝΑΛΥΣΗ (Meta-Analysis)

ΜΕΤΑ-ΑΝΑΛΥΣΗ (Meta-Analysis) ΚΕΦΑΛΑΙΟ 23 ΜΕΤΑ-ΑΝΑΛΥΣΗ (Meta-Analysis) ΕΙΣΑΓΩΓΗ Έχοντας παρουσιάσει τις βασικές έννοιες των ελέγχων υποθέσεων, θα ήταν, ίσως, χρήσιμο να αναφερθούμε σε μια άλλη περιοχή στατιστικής συμπερασματολογίας

Διαβάστε περισσότερα

Αναγνώριση Προτύπων Ι

Αναγνώριση Προτύπων Ι Αναγνώριση Προτύπων Ι Ενότητα 1: Μέθοδοι Αναγνώρισης Προτύπων Αν. Καθηγητής Δερματάς Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Διδακτική της Πληροφορικής ΙΙ

Διδακτική της Πληροφορικής ΙΙ Διδακτική της Πληροφορικής ΙΙ Ομάδα Γ Βότσης Ευστάθιος Γιαζιτσής Παντελής Σπαής Αλέξανδρος Τάτσης Γεώργιος Προβλήματα που αντιμετωπίζουν οι αρχάριοι προγραμματιστές Εισαγωγή Προβλήματα Δυσκολίες Διδακτικό

Διαβάστε περισσότερα

Γ ΚΠΣ ΕΠΕΑΕΚ ΙΙ ΜΕΤΡΟ 2.2, ΚΑΤΗΓΟΡΙΑ ΠΡΑΞΗΣ ια. ΕΡΓΟ: «ΠΕΡΙΒΑΛΛΟΝ - ΑΡΧΙΜΗΔΗΣ-Ενίσχυση ερευνητικών ομάδων του ΤΕΙ ΚΡΗΤΗΣ»

Γ ΚΠΣ ΕΠΕΑΕΚ ΙΙ ΜΕΤΡΟ 2.2, ΚΑΤΗΓΟΡΙΑ ΠΡΑΞΗΣ ια. ΕΡΓΟ: «ΠΕΡΙΒΑΛΛΟΝ - ΑΡΧΙΜΗΔΗΣ-Ενίσχυση ερευνητικών ομάδων του ΤΕΙ ΚΡΗΤΗΣ» Γ ΚΠΣ ΕΠΕΑΕΚ ΙΙ ΜΕΤΡΟ 2.2, ΚΑΤΗΓΟΡΙΑ ΠΡΑΞΗΣ 2.6.1.ια ΕΡΓΟ: «ΠΕΡΙΒΑΛΛΟΝ - ΑΡΧΙΜΗΔΗΣ-Ενίσχυση ερευνητικών ομάδων του ΤΕΙ ΚΡΗΤΗΣ» ΥΠΟΕΡΓΟ 1: «Εφαρμογή του Περιβαλλοντικού Συστήματος Στήριξης Αποφάσεων Expert

Διαβάστε περισσότερα

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

ΤΙΤΛΟΣ ΑΝΑΦΟΡΑΣ: ΕΦΑΡΜΟΓΗ ΚΑΙ ΑΠΟΤΕΛΕΣΜΑΤΑ ΣΕ ΕΠΙΛΕΓΜΕΝΕΣ ΠΕΡΙΤΠΩΣΕΙΣ ΤΙΤΛΟΣ ΑΝΑΦΟΡΑΣ: ΕΦΑΡΜΟΓΗ ΚΑΙ ΑΠΟΤΕΛΕΣΜΑΤΑ ΣΕ ΕΠΙΛΕΓΜΕΝΕΣ ΠΕΡΙΤΠΩΣΕΙΣ ΚΩΔΙΚΟΣ ΠΑΡΑΔΟΤΕΟΥ: Π18 ΑΡΙΘΜΟΣ ΠΡΩΤΟΚΟΛΛΟΥ ΈΡΓΟΥ: ΤΠΕ/ΟΡΖΙΟ/0308(ΒΕ)/03 ΤΙΤΛΟΣ ΕΡΓΟΥ: ΓΕΝΙΚΕΥΜΕΝΟ ΣΥΣΤΗΜΑ ΑΣΑΦΟΥΣ ΓΝΩΣΤΙΚΟΥ ΧΑΡΤΗ

Διαβάστε περισσότερα

Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών. Εισαγωγή (ορισμός προβλήματος, αριθμητική ολοκλήρωση ΣΔΕ, αντικατάσταση ΣΔΕ τάξης n με n εξισώσεις ης τάξης). Μέθοδος Euler 3. Μέθοδοι

Διαβάστε περισσότερα

Συστήματα Κοστολόγησης: Κοστολόγηση Συνεχούς Παραγωγής

Συστήματα Κοστολόγησης: Κοστολόγηση Συνεχούς Παραγωγής ΚΕΦΑΛΑΙΟ 3 Συστήματα Κοστολόγησης: Κοστολόγηση Συνεχούς Παραγωγής Τεχνικές Κόστους 12η Needles Powers Crosson human/istockphoto ΑΝΤΙΚΕΙΜΕΝΑ ΜΑΘΗΣΗΣ Περιγραφή του συστήματος κοστολόγησης συνεχούς παραγωγής.

Διαβάστε περισσότερα

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ Tel.: +30 2310998051, Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Σχολή Θετικών Επιστημών Τμήμα Φυσικής 541 24 Θεσσαλονίκη Καθηγητής Γεώργιος Θεοδώρου Ιστοσελίδα: http://users.auth.gr/theodoru ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

Διαβάστε περισσότερα

Σημειώσεις στο μάθημα «Στοιχεία Προγραμματισμού σε Γραφικό Περιβάλλον»

Σημειώσεις στο μάθημα «Στοιχεία Προγραμματισμού σε Γραφικό Περιβάλλον» 1. Κύκλος ζωής λογισμικού Ο κύκλος ζωής λογισμικού είναι οι φάσεις (τα στάδια) από τις οποίες διέρχεται μία εφαρμογή λογισμικού, από την σύλληψη της ιδέας, τη διαδικασία κατασκευής / ανάπτυξης, τη λειτουργία

Διαβάστε περισσότερα

Κύρια σημεία. Η έννοια του μοντέλου. Έρευνα στην εφαρμοσμένη Στατιστική. ΈρευναστηΜαθηματικήΣτατιστική. Αντικείμενο της Μαθηματικής Στατιστικής

Κύρια σημεία. Η έννοια του μοντέλου. Έρευνα στην εφαρμοσμένη Στατιστική. ΈρευναστηΜαθηματικήΣτατιστική. Αντικείμενο της Μαθηματικής Στατιστικής Κύρια σημεία Ερευνητική Μεθοδολογία και Μαθηματική Στατιστική Απόστολος Μπουρνέτας Τμήμα Μαθηματικών ΕΚΠΑ Αναζήτηση ερευνητικού θέματος Εισαγωγή στην έρευνα Ολοκλήρωση ερευνητικής εργασίας Ο ρόλος των

Διαβάστε περισσότερα

ΚΑΙΝΟΤΟΜΕΣ ΛΥΣΕΙΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗΣ ΟΔΗΓΟΣ E-LEARNING

ΚΑΙΝΟΤΟΜΕΣ ΛΥΣΕΙΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗΣ ΟΔΗΓΟΣ E-LEARNING ΚΑΙΝΟΤΟΜΕΣ ΛΥΣΕΙΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗΣ ΑΘΗΝΑ 2014 1 1. Τι είναι το e-learning; Το e-learning, η ηλεκτρονική μάθηση, είναι μια διαδικασία μάθησης και ταυτόχρονα μια μεθοδολογία εξ αποστάσεως εκπαίδευσης

Διαβάστε περισσότερα

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Εναλλακτικές Τεχνικές Εντοπισµού Θέσης Όνοµα: Κατερίνα Σπόντου Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο της διπλωµατικής Ο εντοπισµός

Διαβάστε περισσότερα

Συγγραφή ερευνητικής πρότασης

Συγγραφή ερευνητικής πρότασης Συγγραφή ερευνητικής πρότασης 1 o o o o Η ερευνητική πρόταση είναι ένα ιδιαίτερα σημαντικό τμήμα της έρευνας. Η διατύπωσή της θα πρέπει να είναι ιδιαίτερα προσεγμένη, περιεκτική και βασισμένη στην ανασκόπηση

Διαβάστε περισσότερα

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

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4 Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα 10: Ανάπτυξη ΠΣ Μαρίνος Θεμιστοκλέους Email: mthemist@unipi.gr Ανδρούτσου 150 Γραφείο 206 Τηλ. 210 414 2723 Ώρες Γραφείου: Δευτέρα 11-12 πμ Ενδεικτικά Περιεχόμενα Εργασίας

Διαβάστε περισσότερα

Η οικολογία μάθησης για τους υπολογιστές ΙII: Η δική σας οικολογία μάθησης

Η οικολογία μάθησης για τους υπολογιστές ΙII: Η δική σας οικολογία μάθησης Η οικολογία μάθησης για τους υπολογιστές ΙII: Η δική σας οικολογία μάθησης Παλαιγεωργίου Γιώργος Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πανεπιστήμιο Θεσσαλίας Ιανουάριος 2011 Ψυχομετρία Η κατασκευή

Διαβάστε περισσότερα

ΤΙ ΕIΝΑΙ ΠΡΟΒΛΕΨΕΙΣ; Διαδικασία εκτίμησης μελλοντικών καταστάσεων βασιζόμενη συνήθως σε ιστορικά στοιχεία

ΤΙ ΕIΝΑΙ ΠΡΟΒΛΕΨΕΙΣ; Διαδικασία εκτίμησης μελλοντικών καταστάσεων βασιζόμενη συνήθως σε ιστορικά στοιχεία ΤΙ ΕIΝΑΙ ΠΡΟΒΛΕΨΕΙΣ; Διαδικασία εκτίμησης μελλοντικών καταστάσεων βασιζόμενη συνήθως σε ιστορικά στοιχεία Πρόβλεψη μελλοντικών γεγονότων για: Σχεδιασμό, Οργάνωση και Έλεγχο των πόρων Λήψη επιχειρηματικών

Διαβάστε περισσότερα

Κεφάλαιο 2: Έννοιες και Ορισμοί

Κεφάλαιο 2: Έννοιες και Ορισμοί ΔΙΟΙΚΗΣΗ ΟΛΙΚΗΣ ΠΟΙΟΤΗΤΑΣ Ε.ΜΙΧΑΗΛΙΔΟΥ - 1 Κεφάλαιο 2: Έννοιες και Ορισμοί Η επιτυχία των επιχειρήσεων βασίζεται στην ικανοποίηση των απαιτήσεων των πελατών για: - Ποιοτικά και αξιόπιστα προϊόντα - Ποιοτικές

Διαβάστε περισσότερα

On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο

On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο On line αλγόριθμοι δρομολόγησης για στοχαστικά δίκτυα σε πραγματικό χρόνο Υπ. Διδάκτωρ : Ευαγγελία Χρυσοχόου Επιβλέπων Καθηγητής: Αθανάσιος Ζηλιασκόπουλος Τμήμα Μηχανολόγων Μηχανικών Περιεχόμενα Εισαγωγή

Διαβάστε περισσότερα

Τεχνικές Προβλέψεων. Προβλέψεις

Τεχνικές Προβλέψεων. Προβλέψεις ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Μονάδα Προβλέψεων & Στρατηγικής Forecasting & Strategy Unit Τεχνικές Προβλέψεων Προβλέψεις http://www.fsu.gr - lesson@fsu.gr

Διαβάστε περισσότερα

Τηλεπισκόπηση. Τηλεπισκόπηση. Τηλεπισκόπηση. Τηλεπισκόπηση. Τηλεπισκόπηση 24/6/2013. Τηλεπισκόπηση. Κ. Ποϊραζίδης ΤΑΞΙΝΟΜΗΣΗ ΕΙΚΟΝΑΣ

Τηλεπισκόπηση. Τηλεπισκόπηση. Τηλεπισκόπηση. Τηλεπισκόπηση. Τηλεπισκόπηση 24/6/2013. Τηλεπισκόπηση. Κ. Ποϊραζίδης ΤΑΞΙΝΟΜΗΣΗ ΕΙΚΟΝΑΣ ΤΑΞΙΝΟΜΗΣΗ ΕΙΚΟΝΑΣ Κ. Ποϊραζίδης Η ταξινόμηση εικόνας αναφέρεται στην ερμηνεία με χρήση υπολογιστή των τηλεπισκοπικών εικόνων. Παρόλο που ορισμένες διαδικασίες έχουν τη δυνατότητα να συμπεριλάβουν πληροφορίες

Διαβάστε περισσότερα

Σύστημα. Αντώνης Μαϊργιώτης

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

Διαβάστε περισσότερα

Δειγματοληψία στην Ερευνα. Ετος

Δειγματοληψία στην Ερευνα. Ετος ΓΕΩΠΟΝΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τμήμα Αγροτικής Οικονομίας & Ανάπτυξης Μέθοδοι Γεωργοοικονομικής και Κοινωνιολογικής Ερευνας Δειγματοληψία στην Έρευνα (Μέθοδοι Δειγματοληψίας - Τρόποι Επιλογής Τυχαίου Δείγματος)

Διαβάστε περισσότερα

Λήψη αποφάσεων υπό αβεβαιότητα. Παίγνια Αποφάσεων 9 ο Εξάμηνο

Λήψη αποφάσεων υπό αβεβαιότητα. Παίγνια Αποφάσεων 9 ο Εξάμηνο Λήψη αποφάσεων υπό αβεβαιότητα Παίγνια Αποφάσεων 9 ο Εξάμηνο Επιχειρηματική Αβεβαιότητα Αβεβαιότητα είναι, η περίπτωση η οποία τα ενδεχόμενα μελλοντικά γεγονότα είναι αόριστα και αδύνατον να υπολογιστούν

Διαβάστε περισσότερα

Εκπαιδευτικό Εργαλείο Κανονικοποίησης

Εκπαιδευτικό Εργαλείο Κανονικοποίησης Εκπαιδευτικό Εργαλείο Κανονικοποίησης Σύντομες οδηγίες χρήσης Εισαγωγή Το πρόγραμμα Εκπαιδευτικό Εργαλείο Κανονικοποίησης αυτοματοποιεί τη διαδικασία της κανονικοποίησης πινάκων σε BCNF μορφή. Ο χρήστης

Διαβάστε περισσότερα

Θεωρίες Μάθησης: Πρακτικές εφαρμογές στην εκπαίδευση και ανάπτυξη εργαζομένων. Τι είναι μάθηση;

Θεωρίες Μάθησης: Πρακτικές εφαρμογές στην εκπαίδευση και ανάπτυξη εργαζομένων. Τι είναι μάθηση; Θεωρίες Μάθησης: Πρακτικές εφαρμογές στην εκπαίδευση και ανάπτυξη εργαζομένων Ιωάννης Νικολάου Οικονομικό Πανεπιστήμιο Αθηνών Τι είναι μάθηση; Η μάθηση ορίζεται ως μια σχετικά μόνιμη αλλαγή της συμπεριφοράς

Διαβάστε περισσότερα

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης Μάθημα 4 ο Δρ. Ανέστης Γ. Χατζημιχαηλίδης Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΤΕΙ Ανατολικής Μακεδονίας και Θράκης 2016-2017 Διευρυμένη Υπολογιστική Νοημοσύνη (ΥΝ) Επεκτάσεις της Κλασικής ΥΝ. Μεθοδολογίες

Διαβάστε περισσότερα

Εισαγωγή στην τεχνολογία λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 1

Εισαγωγή στην τεχνολογία λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 1 Εισαγωγή στην τεχνολογία λογισμικού Στόχοι Έννοια της τεχνολογίας λογισμικού (ΤΛ) και ερμηνεία της σημασίας της Απαντήσεις σε θεμελιώδεις ερωτήσεις για την ΤΛ Ανάδειξη ηθικών και επαγγελματικών ζητημάτων

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ. ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (ΠΜΣ) «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΕΣ» ΤΟΥ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΟΥ Α.Π.Θ. ΕΡΩΤΗΜΑΤΟΛΟΓΙΟ ΑΠΟΤΙΜΗΣΗΣ ΣΠΟΥΔΩΝ Ακαδημαϊκό Έτος Εγγραφής

Διαβάστε περισσότερα

ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΙΑΤΑΞΗΣ ΤΩΝ ΑΡΙΘΜΩΝ ΚΑΙ ΧΡΗΣΗ ΤΗΣ ΑΠΟΛΥΤΗΣ ΤΙΜΗΣ ΣΤΟΝ ΑΞΟΝΑ ΤΩΝ ΠΡΑΓΜΑΤΙΚΩΝ ΑΡΙΘΜΩΝ ΠΕΡΙΛΗΨΗ. Εισαγωγή

ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΙΑΤΑΞΗΣ ΤΩΝ ΑΡΙΘΜΩΝ ΚΑΙ ΧΡΗΣΗ ΤΗΣ ΑΠΟΛΥΤΗΣ ΤΙΜΗΣ ΣΤΟΝ ΑΞΟΝΑ ΤΩΝ ΠΡΑΓΜΑΤΙΚΩΝ ΑΡΙΘΜΩΝ ΠΕΡΙΛΗΨΗ. Εισαγωγή ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΙΑΤΑΞΗΣ ΤΩΝ ΑΡΙΘΜΩΝ ΚΑΙ ΧΡΗΣΗ ΤΗΣ ΑΠΟΛΥΤΗΣ ΤΙΜΗΣ ΣΤΟΝ ΑΞΟΝΑ ΤΩΝ ΠΡΑΓΜΑΤΙΚΩΝ ΑΡΙΘΜΩΝ Αθανάσιος Γαγάτσης Τµήµα Επιστηµών της Αγωγής Πανεπιστήµιο Κύπρου Χρήστος Παντσίδης Παναγιώτης Σπύρου Πανεπιστήµιο

Διαβάστε περισσότερα

Διοίκηση Παραγωγής και Συστημάτων Υπηρεσιών

Διοίκηση Παραγωγής και Συστημάτων Υπηρεσιών ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Διοίκηση Παραγωγής και Συστημάτων Υπηρεσιών Αθήνα, Οκτώβριος 2008 Εργαστήριο Συστημάτων Αποφάσεων και Διοίκησης 1. ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ

Διαβάστε περισσότερα

Μεθοδολογία Έρευνας Διάλεξη 1 η : Εισαγωγή στη Μεθοδολογία Έρευνας

Μεθοδολογία Έρευνας Διάλεξη 1 η : Εισαγωγή στη Μεθοδολογία Έρευνας Μεθοδολογία Έρευνας Διάλεξη 1 η : Εισαγωγή στη Μεθοδολογία Έρευνας 1 Δρ. Αλέξανδρος Αποστολάκης Email: aapostolakis@staff.teicrete.gr Τηλ.: 2810379603 E-class μαθήματος: https://eclass.teicrete.gr/courses/pgrad_omm107/

Διαβάστε περισσότερα

Υπολογιστικής Σκέψης

Υπολογιστικής Σκέψης Απόκτηση και καλλιέργεια Υπολογιστικής Σκέψης Διακριτά Μαθηματικά Εισαγωγή στους Αλγόριθμους Αλγοριθμικά Θέματα Ασύρματων Δικτύων Υπολογιστική Επιστήμη και Πολιτισμός Τι είναι η υπολογιστική σκέψη; Οι

Διαβάστε περισσότερα

Ασκήσεις μελέτης της 16 ης διάλεξης

Ασκήσεις μελέτης της 16 ης διάλεξης Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 16 ης διάλεξης 16.1. (α) Έστω ένα αντικείμενο προς κατάταξη το οποίο

Διαβάστε περισσότερα

4.2 Μελέτη Επίδρασης Επεξηγηματικών Μεταβλητών

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

Διαβάστε περισσότερα