Περίληψη
Η παράδοση λογισμικού υψηλής ποιότητας, στα αναμενόμενα χρονικά περιθώρια και σε αποδεκτό κόστος είναι ένα σημαντικό ζήτημα για τη βιομηχανία λογισμικού. Οι εταιρείες λογισμικού για να εξασφαλίσουν την βιωσιμότητά τους αναγνωρίζουν την ανάγκη υιοθέτησης αποτελεσματικών μεθόδων εκτίμησης παραμέτρων ανάπτυξης λογισμικού, που σχετίζονται με το κόστος και την ποιότητά του. Ωστόσο στην πράξη η αξιοποίηση των μοντέλων εκτίμησης λογισμικού δεν είναι εύκολη υπόθεση καθώς συχνά παρουσιάζονται προβλήματα που σχετίζονται με την εφαρμογή και την ερμηνεία τους. Οι κλασσικές στατιστικές μέθοδοι εκτίμησης παρουσιάζουν περιορισμένες δυνατότητες μοντελοποίησης δεδομένων της Τεχνολογίας Λογισμικού καθώς δεν επιτρέπουν την ερμηνεία των αποτελεσμάτων και τον συνυπολογισμό της αβεβαιότητας εκτίμησης. Οι τυπικές μέθοδοι εκτίμησης, στην αποτελεσματική εφαρμογή των οποίων εστιάζει η παρούσα διατριβή, μπορούν να επιλύσουν σε μεγάλο βαθμό τα παραπάνω προβλήματα. Πιο συγκεκριμένα η διατριβή αυτή χωρίζεται σε τρί ...
Η παράδοση λογισμικού υψηλής ποιότητας, στα αναμενόμενα χρονικά περιθώρια και σε αποδεκτό κόστος είναι ένα σημαντικό ζήτημα για τη βιομηχανία λογισμικού. Οι εταιρείες λογισμικού για να εξασφαλίσουν την βιωσιμότητά τους αναγνωρίζουν την ανάγκη υιοθέτησης αποτελεσματικών μεθόδων εκτίμησης παραμέτρων ανάπτυξης λογισμικού, που σχετίζονται με το κόστος και την ποιότητά του. Ωστόσο στην πράξη η αξιοποίηση των μοντέλων εκτίμησης λογισμικού δεν είναι εύκολη υπόθεση καθώς συχνά παρουσιάζονται προβλήματα που σχετίζονται με την εφαρμογή και την ερμηνεία τους. Οι κλασσικές στατιστικές μέθοδοι εκτίμησης παρουσιάζουν περιορισμένες δυνατότητες μοντελοποίησης δεδομένων της Τεχνολογίας Λογισμικού καθώς δεν επιτρέπουν την ερμηνεία των αποτελεσμάτων και τον συνυπολογισμό της αβεβαιότητας εκτίμησης. Οι τυπικές μέθοδοι εκτίμησης, στην αποτελεσματική εφαρμογή των οποίων εστιάζει η παρούσα διατριβή, μπορούν να επιλύσουν σε μεγάλο βαθμό τα παραπάνω προβλήματα. Πιο συγκεκριμένα η διατριβή αυτή χωρίζεται σε τρία μέρη: 1) Σύγκριση μεθόδων Αρχικά πραγματοποιείται μια σειρά από συγκρίσεις των τυπικών μεθόδων εκτίμησης, σε διάφορα ζητήματα που σχετίζονται με το κόστος ανάπτυξης λογισμικού και την ποιότητά του. Οι μέθοδοι που εφαρμόζονται είναι οι Κανόνες Συσχέτισης (ΚΣ), οι οποίοι εφαρμόζονται για πρώτη φορά σε αυτό το επιστημονικό πεδίο, τα Δέντρα Απόφασης (ΔΑ), τα Δίκτυα Bayes (ΔΒ) και η εκτίμηση βασισμένη στις Αναλογίες (ΕβΑ). Οι συγκρίσεις που πραγματοποιήθηκαν ανέδειξαν τα πλεονεκτήματα και τα μειονεκτήματα των μεθόδων βάσει των οποίων προτείνεται η επιλογή της καταλληλότερης μεθόδου ανάλογα με το καθεστώς εκτίμησης. 2) Προτάσεις βελτίωσης Στη συνέχεια με βάση τα αποτελέσματα των συγκρίσεων που πραγματοποιήθηκαν προτείνονται τρόποι για την βελτίωση της απόδοσης των τυπικών μεθόδων εκτίμησης παραμέτρων ανάπτυξης λογισμικού. Προτείνεται α) ο συνδυασμός ΚΣ και ΔΑ για τη δημιουργία μοντέλων εκτίμησης με δυνατότητες περιγραφής και πρόβλεψης β) η Παλινδρόμηση μέσω Κατηγοριοποίησης για την αυτοματοποιημένη εφαρμογή τυπικών μεθόδων γ) η παραμετροποίηση ΕβΑ με Κανόνες Απόφασης για την αύξηση της ακρίβειας της μεθόδου, επίσης προτείνεται δ) η αναπαράσταση διαφόρων προβλημάτων ανάπτυξης λογισμικού με τη χρήση ΔΒ με στόχο την δημιουργία μοντέλων τα οποία διαχειρίζονται την αβεβαιότητα και συνυπολογίζουν την υποκειμενική κρίση του τελικού εκτιμητή. 3) Πρακτική εφαρμογή Τέλος προτείνεται ένα σύνολο από εξειδικευμένα μοντέλα εκτίμησης που αφορούν την πρόβλεψη παραμέτρων ανάπτυξης Συστημάτων Στήριξης Απόφασης και Συστημάτων Βάσης Γνώσης, Τηλεπικοινωνιακών Εφαρμογών και εφαρμογών Ελεύθερου Λογισμικού/ Λογισμικού Ανοιχτού Κώδικα. Η δημιουργία εξειδικευμένων μοντέλων έχει ως στόχο τον συνυπολογισμό των ιδιαιτεροτήτων ανάπτυξης του εκάστοτε τύπου εφαρμογής αλλά και την αύξηση της ακρίβειας πρόβλεψης λόγω ομοιογένειας των ιστορικών δεδομένων.
περισσότερα
Περίληψη σε άλλη γλώσσα
An important issue for software development industry is the delivery of high quality software on time and within budget constraints. Software organizations recognize the need for adapting effective estimation methods regarding software development aspects, such as cost and quality in order to stay competitive. In practice, exploiting software development models is not an easy issue as problems regarding the adoption and interpretation of them may arise. Classical statistical methods present limited capabilities for modeling Software Engineering data, as they do not allow the extraction of interpretable models that can deal with the inherent uncertainty of the domain. In order to solve the above problems the current thesis explores the application of improved formal estimation methods. In particular this thesis consists of three parts: 1) Comparison of methods In this dissertation a series of comparisons regarding the suitability of formal methods in estimating software cost and quality ...
An important issue for software development industry is the delivery of high quality software on time and within budget constraints. Software organizations recognize the need for adapting effective estimation methods regarding software development aspects, such as cost and quality in order to stay competitive. In practice, exploiting software development models is not an easy issue as problems regarding the adoption and interpretation of them may arise. Classical statistical methods present limited capabilities for modeling Software Engineering data, as they do not allow the extraction of interpretable models that can deal with the inherent uncertainty of the domain. In order to solve the above problems the current thesis explores the application of improved formal estimation methods. In particular this thesis consists of three parts: 1) Comparison of methods In this dissertation a series of comparisons regarding the suitability of formal methods in estimating software cost and quality issues are performed. The methods employed are Association Rules (AR), which are applied for the first time in the software estimation domain, Decision Trees (DT), Bayesian Belief Networks (BBN), Analogy based Cost Estimation (AbE). The comparisons performed pointed out the main advantages and disadvantages of the methods. Based on the conclusions drawn by the above comparisons this thesis suggests a framework for the selection of the most suitable formal estimation method according to the estimation context. 2) Suggestions for improvement Additionally based on the results of the comparisons performed, this thesis proposes certain improvement actions regarding the application of formal methods. The combination of AR and DT is suggested for creating conceptual, explanatory estimation models. Regression via Classification framework is presented in order to automatically apply formal methods. Also the selection of parameters of AbE method is suggested using Decision Rules. Finally the application of BBNs is explored in representing various estimation problems regarding software development, as the method is able to model the uncertainty of the domain and the subjective judgment of the human estimator. 3) Practical application Finally specialized estimation models regarding the predictions of development aspects of Decision Support Systems / Knowledge Based Systems, Telecommunication applications and Open Source Software are presented. Specialized estimation models are able to consider the unique attributes of the application domain and produce estimation models that present improved accuracy.
περισσότερα