Περίληψη
Η Εκτίμηση Κόστους Λογισμικού (Software Cost Estimation-SCE) αποτελεί μία από τις σπουδαιότερες δραστηριότητες για την παράδοση έργων λογισμικού εντός των προκαθορισμένων χρονοδιαγραμμάτων και προϋπολογισμών με την απαιτούμενη υψηλή ποιότητα. Στα πρώτα στάδια του κύκλου ζωής, η εκτίμηση του κόστους σχετίζεται άμεσα με τις δραστηριότητες της σχεδίασης ενός έργου ενώ στα επόμενα στάδια, υποστηρίζει τις διοικητικές δραστηριότητες ενός οργανισμού για το σχεδιασμό, χρονοπρογραμματισμό και την ανάλυση κινδύνου. Λόγω της αυξανόμενης ζήτησης για έργα λογισμικού με υψηλές προδιαγραφές, οι οργανισμοί αναζητούν τεχνικές εκτίμησης του κόστους με τις οποίες θα διασφαλίζουν ότι τα έργα που παράγουν ακολουθούν τις επιτακτικές ανάγκες της σημερινής εποχής. Η ερευνητική προσπάθεια στα πλαίσια της παρούσας διατριβής επικεντρώνεται στην εισαγωγή και μελέτη στατιστικών και υπολογιστικών μεθόδων με σκοπό τη στατιστική σύγκριση των εναλλακτικών μεθόδων εκτίμησης, τη βελτίωση μίας γνωστής τεχνικής εκτίμησης ...
Η Εκτίμηση Κόστους Λογισμικού (Software Cost Estimation-SCE) αποτελεί μία από τις σπουδαιότερες δραστηριότητες για την παράδοση έργων λογισμικού εντός των προκαθορισμένων χρονοδιαγραμμάτων και προϋπολογισμών με την απαιτούμενη υψηλή ποιότητα. Στα πρώτα στάδια του κύκλου ζωής, η εκτίμηση του κόστους σχετίζεται άμεσα με τις δραστηριότητες της σχεδίασης ενός έργου ενώ στα επόμενα στάδια, υποστηρίζει τις διοικητικές δραστηριότητες ενός οργανισμού για το σχεδιασμό, χρονοπρογραμματισμό και την ανάλυση κινδύνου. Λόγω της αυξανόμενης ζήτησης για έργα λογισμικού με υψηλές προδιαγραφές, οι οργανισμοί αναζητούν τεχνικές εκτίμησης του κόστους με τις οποίες θα διασφαλίζουν ότι τα έργα που παράγουν ακολουθούν τις επιτακτικές ανάγκες της σημερινής εποχής. Η ερευνητική προσπάθεια στα πλαίσια της παρούσας διατριβής επικεντρώνεται στην εισαγωγή και μελέτη στατιστικών και υπολογιστικών μεθόδων με σκοπό τη στατιστική σύγκριση των εναλλακτικών μεθόδων εκτίμησης, τη βελτίωση μίας γνωστής τεχνικής εκτίμησης και τέλος, την ανάπτυξη μίας νέας μεθοδολογίας μοντελοποίησης του κόστους που καταφέρνει να συνδυάσει δύο από τα πιο γνωστά μοντέλα του συγκεκριμένου ερευνητικού πεδίου. Αρχικά, γίνεται προσπάθεια να αντιμετωπιστεί το διοικητικό πρόβλημα των οργανισμών, οι οποίοι καλούνται να επιλέξουν ανάμεσα από ένα πλήθος τεχνικών εκτίμησης, το βέλτιστο μοντέλο που θα χρησιμοποιηθεί για τη δύσκολη δραστηριότητα της πρόβλεψης ενός νέου έργου λογισμικού. Λόγω των προβλημάτων των υπαρχουσών στρατηγικών επιλογής, στην παρούσα διατριβή προτείνονται ανθεκτικές στατιστικές τεχνικές προσομοίωσης, όπως η κατασκευή διαστημάτων εμπιστοσύνης με τη χρήση της bootstrap αναδειγματοληψίας (resampling) και οι έλεγχοι μεταθέσεων (permutation tests). Οι παραπάνω τεχνικές καλούνται να αντιμετωπίσουν προβλήματα των κλασικών προσεγγίσεων, όπως ο μικρός αριθμός των έργων, η μη-κανονικότητα και η μεγάλη λοξότητα των σφαλμάτων πρόβλεψης. Παράλληλα, προτείνεται ένα τυπικό γραφικό πλαίσιο εργασίας, η ανάλυση με Χαρακτηριστικές Καμπύλες Σφάλματος Παλινδρόμησης (Regression Error Characteristic-REC Curves) με ενδιαφέρουσες γεωμετρικές ιδιότητες, η οποία έχει στόχο τη βελτίωση της διαδικασίας αξιολόγησης (validation) των μοντέλων και της σύγκρισης (comparison) εναλλακτικών μεθόδων εκτίμησης μέσω της απλής γραφικής απεικόνισης των σφαλμάτων πρόβλεψης. Η αξιοποίηση των πολλαπλών δυνατοτήτων του προτεινόμενου γραφικού εργαλείου είναι ικανή να διευκολύνει τους διοικητές έργου να αποκτήσουν σημαντική πληροφορία τόσο για την αξιολόγηση μίας τεχνικής εκτίμησης, όσο και για τη διαδικασία σύγκρισης εναλλακτικών μοντέλων. Βάσει των παραπάνω, η προτεινόμενη μεθοδολογία συντελεί στην ορθή καθοδήγηση των διεργασιών κατά τη διάρκεια της ανάπτυξης των έργων και την τελική επιλογή του αποτελεσματικότερου μοντέλου πρόβλεψης του κόστους. Το κομμάτι που αναφέρεται στη σύγκριση των μοντέλων εκτίμησης ολοκληρώνεται με την εξέταση ενός σημαντικού ερευνητικού ζητήματος που αφορά τη σύγκριση μοντέλων που βασίζονται σε δεδομένα ενός ή πολλών οργανισμών για την πρόβλεψη του κόστους ενός νέου έργου. Το παραπάνω πρακτικό πρόβλημα έχει απασχολήσει ιδιαίτερα, την ερευνητική κοινότητα αλλά οι ως τώρα προσπάθειες έχουν επικεντρωθεί στη σύγκριση τεχνικών που βασίζονται σε σημειακές εκτιμήσεις (point estimates). Η παρούσα διατριβή επεκτείνει την υπάρχουσα κατάσταση σε συγκρίσεις μεθόδων που βασίζονται σε εκτιμήσεις διαστήματος (interval estimates) λαμβάνοντας υπόψη την αβεβαιότητα και το ρίσκο. Στην προσπάθεια αυτήν, συγκρίνονται οι προβλέψεις που προέρχονται από δύο διαφορετικούς τύπους τεχνικών: (α) τεχνικές που παράγουν εκτιμήσεις σε σημείο και συνοδεύονται από ένα διάστημα και (β) τεχνικές που παράγουν προκαθορισμένα διαστήματα, από τα οποία υπολογίζεται η σημειακή εκτίμηση. Τέλος, αναπτύσσεται μία νέα μεθοδολογία για τη σύγκριση των εκτιμήσεων σε διάστημα, η οποία λαμβάνει υπόψη την ικανότητα μίας τεχνικής να προβλέπει στο σωστό διάστημα το κόστος ενός έργου αλλά παράλληλα ενσωματώνει σημαντική πληροφορία που σχετίζεται με το εύρος και την αλληλοεπικάλυψη των υπό σύγκριση διαστημάτων. Ακολούθως, εξετάζεται το πρόβλημα της βελτίωσης της μεθόδου Εκτίμησης με Αναλογίες, η οποία έχει προσελκύσει το ενδιαφέρον πολλών ερευνητών του χώρου αλλά από την άλλη μεριά, παρουσιάζει αρκετά μειονεκτήματα λόγω της εμπειρικής της φύσης. Στην παρούσα διατριβή, αρχικά γίνεται προσπάθεια για τη μοντελοποίηση ολόκληρης της διαδικασίας, αξιοποιώντας την άμεση σχέση της τεχνικής με τη μη-παραμετρική παλινδρόμηση (non-parametric regression). Παράλληλα, βάσει της παραπάνω σχέσης προτείνεται η μεθοδολογία αναδειγματοληψίας iterated bagging με στόχο τη μείωση του σφάλματος πρόβλεψης...
περισσότερα
Περίληψη σε άλλη γλώσσα
The plethora of Software Cost Estimation models proposed in the literature reveals that the prediction of the cost for a new software project is a vital task affecting the well-balanced management of the development process. The overestimation of a project may lead to the canceling and loss of a contract, whereas the underestimation may affect the earnings of the development organization. Hence, there is an ongoing research in the SCE area attempting to build prediction models that provide accurate estimates of the cost. The present dissertation deals with the introduction of statistical and computational methods for the comparison, improvement and development of Software Cost Estimation models. More specifically, the contribution of the dissertation focuses on the following subjects. Chapter 3 deals with the comparison procedure of alternative prediction models. Since there are a lot of models that can be fitted to certain data, a crucial issue is the selection of the most efficient p ...
The plethora of Software Cost Estimation models proposed in the literature reveals that the prediction of the cost for a new software project is a vital task affecting the well-balanced management of the development process. The overestimation of a project may lead to the canceling and loss of a contract, whereas the underestimation may affect the earnings of the development organization. Hence, there is an ongoing research in the SCE area attempting to build prediction models that provide accurate estimates of the cost. The present dissertation deals with the introduction of statistical and computational methods for the comparison, improvement and development of Software Cost Estimation models. More specifically, the contribution of the dissertation focuses on the following subjects. Chapter 3 deals with the comparison procedure of alternative prediction models. Since there are a lot of models that can be fitted to certain data, a crucial issue is the selection of the most efficient prediction model. Most often this selection is based on comparisons of various accuracy measures that are functions of the model’s errors. However, the usual practice is to consider as the most accurate prediction model the one providing the best accuracy measure without testing if this superiority is in fact statistically significant. This policy can lead to unstable and erroneous conclusions since a small change in the data is able to turn over the best model selection. On the other hand, the accuracy measures used in practice are statistics with unknown probability distributions, making the testing of any hypothesis, by the traditional parametric methods, problematic. In this Chapter, the use of statistical simulation tools is proposed in order to test the significance of the difference between the accuracy of two prediction methods. The statistical simulation procedures involve permutation tests and bootstrap techniques for the construction of confidence intervals for the difference of measures. These techniques repeat the data analysis a large number of times on replicated datasets, all drawn by resampling from the original observed set of data. The resampling techniques can be used on their own in carrying out a hypothesis test without worrying about the distribution of the variables or they can also be utilized with the traditional procedures in order to reinforce their results. Chapter 4 also deals with the comparison procedure of alternative prediction models, whereas the research interest focuses on the graphical investigation of the performances. More precisely, we introduce the Regression Error Characteristic analysis, a powerful visualization tool with interesting geometrical properties, in order to validate and compare different prediction models easily, by a simple inspection of a graph. The proposed formal framework covers different aspects of the estimation process such as the calibration of the prediction methodology, the assessment of the applicability of the estimation method to a specific dataset, the identification of factors affecting the error, the investigation of errors on certain ranges of the actual cost and the examination of the distribution of the cost for certain errors. The experimentation portrays the benefits and the significant information obtained by this analysis. Chapter 5 studies a well-known question in Software Cost Estimation area that is whether there are differences in the predictive accuracy of various software cost estimation techniques when effort estimates are based on datasets with completed projects from a single company (within-company predictions) or from different companies (cross-company predictions). The question is examined on models that produce either point estimates accompanied by prediction intervals or interval estimates with a derived point estimate. Several known measures of prediction errors were used for the comparison of point estimates while for the comparison of the prediction intervals a new measure was defined - a generalization of the Hit-rate accuracy measure. This new measure was designed to take into account (a) whether the actual cost value fell into an interval, (b) the similarity of intervals under comparison and (c) the width of the intervals. The experimentation reveals that the use of within-company data generally improved the results, especially regarding the intervals. Chapter 6 deals with a well-known technique that is Estimation by Analogy. The popularity of the method is due to its straightforwardness and its intuitively appealing interpretation of the whole procedure which mimics the human instinctive decision-making by comparing with similar cases. However, in spite of the simplicity in application, the theoretical study of the method is quite complicated. In this Chapter, we exploit the relation of the method to the nearest neighbor nonparametric regression in order to suggest a resampling procedure, known as iterated bagging, for reducing the prediction error...
περισσότερα