Show simple item record

dc.contributor.advisorAndreou, Andreas S.en
dc.contributor.authorPapatheocharous, Efien
dc.coverage.spatialΚύπροςel
dc.coverage.spatialCyprusen
dc.creatorPapatheocharous, Efien
dc.date.accessioned2012-02-22T12:22:51Z
dc.date.accessioned2017-08-03T10:45:42Z
dc.date.available2012-02-22T12:22:51Z
dc.date.available2017-08-03T10:45:42Z
dc.date.issued2012-01
dc.date.submitted2012-01-09
dc.identifier.urihttps://gnosis.library.ucy.ac.cy/handle/7/39588en
dc.descriptionIncludes bibliographical references (p. 251-280).en
dc.descriptionNumber of sources in the bibliography: 272en
dc.descriptionThesis (Ph. D.) -- University of Cyprus, Faculty of Pure and Applied Sciences, Department of Computer Science, 2012.en
dc.descriptionThe University of Cyprus Library holds the printed form of the thesis.en
dc.description.abstractΗ εκτίμηση του κόστους ανάπτυξης λογισμικού αφορά τη διαδικασία εξισορρόπησης του χρονο-προγραμματισμού και της διάθεσης των πόρων, και ιδιαίτερα των ανθρώπινων πόρων, που απαιτούνται για την ανάπτυξη ενός έργου λογισμικού. Η όσο το δυνατόν ακριβής εκτίμηση του εν λόγω κόστους στα αρχικά στάδια του έργου (ή σε ένα σχετικά πρώιμο στάδιο του κύκλου ανάπτυξης λογισμικού που να θεωρείται αποδεκτό) είναι μια απαραίτητη προϋπόθεση για να γίνει δεκτή η εκτίμηση από τους διαχειριστές των έργων (project managers). Τα τυπικά μοντέλα εκτίμησης των ανθρωπο-μηνών που χρειάζονται για να αναπτυχθεί ένα σύστημα λογισμικού και που προτάθηκαν έως σήμερα αποτελούν ένα σύνολο από μαθηματικούς αλγορίθμους ή παραμετρικές συσχετίσεις. Η διαδικασία της εκτίμησης του κόστους ανάπτυξης λογισμικού θεωρείται μια από τις βασικότερες διαδικασίες που πραγματοποιούνται κατά τη διαχείριση των έργων λογισμικού. Η έρευνα που πραγματοποιήθηκε έως σήμερα έχει συμβάλει στη δημιουργία μιας πληθώρας μοντέλων και τεχνικών για την εκτίμηση του κόστους ανάπτυξης λογισμικού. Παρά το γεγονός αυτό, σύμφωνα με πρόσφατες μελέτες, ποσοστό της τάξης του 60-80% των έργων λογισμικού έδειξε ότι το κόστος ανάπτυξης υποεκτιμήθηκε κατά 30-40% (Moløkken and Jørgensen, 2003). Αυτού του είδους οι λανθασμένες εκτιμήσεις οφείλονται σε διάφορους λόγους, όπως για παράδειγμα στο γεγονός ότι διάφοροι παράγοντες επηρεάζουν την εκτίμηση, την παραγωγικότητα αλλά και το πραγματικό κόστος ανάπτυξης, ενώ το λογισμικό που πρόκειται να αναπτυχθεί είναι συχνά ιδιαίτερα πολύπλοκο, μοναδικό και θεωρείται μη απτό (intangible) και ως εκ τούτου δύσκολο να ποσοτικοποιηθεί. Επιπλέον, η διαδικασία ανάπτυξης του έργου λογισμικού επηρεάζεται από παράγοντες που δεν είναι μόνο ποσοτικοί αλλά ποιοτικοί (Boehm et al., 2000b), δεν υπάρχει ρητή διεθνής ορολογία, όπως επίσης και κανόνες μέτρησης και συλλογής δεδομένων για αυτούς, και ως εκ τούτου δεν είναι αντικειμενικά μετρήσιμοι. Ως αποτέλεσμα, η εκτίμηση του κόστους ανάπτυξης λογισμικού επηρεάζεται από έναν φαύλο σημασιολογικό κύκλο: Τι συνιστά ένα «επιτυχημένο» έργο δεν είναι καθόλου σαφώς καθορισμένο, ενώ τα έργα που θεωρούνται «μη επιτυχημένα» είναι αυτά που είτε ακυρώνονται, είτε παραδίδονται με λιγότερη λειτουργικότητα ή/και με χαμηλότερη από τη συμφωνημένη ποιότητα, είτε υπερβαίνουν τον προϋπολογισμό, την εκτίμηση των πόρων, ή/και τα χρονοδιαγράμματα. Οι πραγματικοί λόγοι όμως για τις υποεκτιμήσεις του κόστους που συμβαίνουν είναι δύσκολο να μελετηθούν, καθώς πιθανόν να αποδίδονται στη «μη επιτυχία» του έργου ή στις λάθος εκτιμήσεις του προϋπολογισμού που έγιναν εξαρχής. Η διδακτορική αυτή διατριβή στοχεύει στην ελαχιστοποίηση τέτοιων ανακριβειών. Τα μοντέλα που προτείνονται σε αυτή τη διατριβή χρησιμοποιούν παράγοντες που συσχετίζονται με τα άτομα που λαμβάνουν μέρος στη διαδικασία, τη διαδικασία ανάπτυξης αλλά και το προϊόν (λογισμικό) που αναπτύσσεται. Επιπλέον, οι βασικοί ποσοτικοί και ποιοτικοί παράγοντες που επηρεάζουν την παραγωγικότητα της ομάδας ανάπτυξης προσδιορίζονται και μελετιούνται. Συγκεκριμένα, η διατριβή αυτή υιοθετεί δύο προσεγγίσεις: Την Ποσοτική και την Ποιοτική. Η ποσοτική προσέγγιση, στοχεύει στη βελτίωση της ακρίβειας, της αξιοπιστίας και της γενικότερης εφαρμογής της διαδικασίας εκτίμησης του κόστους ανάπτυξης λογισμικού, με τη χρήση τεχνικών Υπολογιστικής Νοημοσύνης (Computational Intelligence), όπως Τεχνητά Νευρωνικά Δίκτυα (ΤΝΔ), Εξελικτικούς Αλγορίθμους (ΕΑ), Ασαφή Λογική (ΑΛ), και υβριδικά μοντέλα των τεχνικών αυτών. Επιπλέον, ο κύριος στόχος είναι η ανάπτυξη πρακτικών μοντέλων εκτίμησης του κόστους ανάπτυξης λογισμικού, δηλαδή, μοντέλων που να αντιμετωπίζουν την εγγενή αβεβαιότητα των δεδομένων των έργων λογισμικού και να παράγουν σχετικά «νωρίς» (δηλαδή μετά τις προδιαγραφές) ακριβείς εκτιμήσεις. Η ποιοτική προσέγγιση, αποτελεί μια επέκταση των πιο πάνω εμπειρικών διερευνήσεων, μέσω Ασαφών Γνωστικών Χαρτών (ΑΓΧ) και Διαγραμμάτων Επιρροής (ΔΕ). Οι δύο αυτές τεχνικές διευκολύνουν ιδιαίτερα την εξερεύνηση των συσχετίσεων μεταξύ των ποιοτικών παραγόντων του κόστους και της προσπάθειας, αποκαλύπτοντας τη συνολική συμβολή τους στην εκτίμηση. Τα αποτελέσματα και τα συμπεράσματα της διατριβής αυτής αποκαλύπτουν ότι σημαντικά οφέλη μπορούν να εξασφαλιστούν μέσω της εφαρμογής τεχνικών Υπολογιστικής Νοημοσύνης όσον αφορά τη βελτίωση της πρόβλεψης του κόστους ανάπτυξης λογισμικού αλλά και την κατανόηση των κυριότερων παραγόντων στη διαδικασία αυτή. Επίσης, οι ευφυείς τεχνικές εξόρυξης του υποσυνόλου των «σημαντικότερων» παραγόντων που εφαρμόστηκαν στα πλαίσια της διατριβής αυτής, συνέβαλαν στον εντοπισμό των πιο κατάλληλων παραγόντων κόστους στα διάφορα μοντέλα που προτάθηκαν. Η εξόρυξη αυτή των σημαντικότερων παραγόντων με τη σειρά της, μείωσε την πολυπλοκότητα των μοντέλων καθώς και το συνολικό χρόνο και την προσπάθεια που απαιτείται για τη μέτρηση και την ποσοτικοποίηση του καθενός από αυτούς. Τα μοντέλα της εκτίμησης του κόστους ανάπτυξης λογισμικού που προτάθηκαν στην παρούσα διατριβή αποτελούν αποδεδειγμένα βιώσιμες, πρακτικές εναλλακτικές λύσεις μέσα από τον εκτενή πειραματισμό, την εμπειρική μελέτη και τη συγκριτική αξιολόγηση ευρέως γνωστών και χρησιμοποιούμενων συνόλων δεδομένων (benchmarks) της σχετικής βιβλιογραφίας.el
dc.description.abstractSoftware cost estimation (SCE) is the art of balancing time and resources to optimally budget a project. An essential requirement is to estimate the schedule, cost and human effort required to complete the project with adequate accuracy and before the project commences, or during its life-cycle, at an acceptable point in time when such an estimation may be considered useful to project managers (i.e., at the ‘early’ project phases). SCE models consist of mathematical algorithms or parametric relations used to approximate the most dominant cost, the human effort, in terms of person-months for developing a software. It is considered one of the basic project management processes to support efficiently the activity of resource allocation. Although numerous SCE models and techniques have been proposed by researchers, many problems still exist. Recent research reports 60-80% of projects overrun software cost estimates by 30-40% (Moløkken and Jørgensen, 2003). The aforementioned problem stems from the complex, intangible and unique nature of software and the inconsistent selection of the factors that affect productivity by cost estimators. Moreover, many cost factors are qualitative rather than quantitative (Boehm et al., 2000b) and hence subjective in nature. Finally, there is also lack of explicit terminology, data gathering principals, measurement rules and formal definitions of these factors. As a result, SCE is affected by a semantic vicious cycle: What constitutes a ‘successful’ project is hardly clearly defined; whereas, ‘non-successful’ projects are those that are either cancelled, delivered with less functionality and/or with lower than the agreed quality, or exceeded resources, budget and/or schedule estimates. The real reason for the underestimations occurring is hard to contemplate. Over and under estimations may be attributed to the project going ‘wrong’ or to the budget estimates that were inaccurate in the first place. This dissertation aims at minimising such imprecisions in SCE. Novel models and techniques are employed, based on the factors of People – Process – Product, for improving SCE accuracy and comprehending the risks occurring. Moreover, the essential quantitative and qualitative factors that affect productivity are identified and explored. Thus, this thesis adopts two approaches: A quantitative and a qualitative. The quantitative approach, aims at improving SCE accuracy, reliability and generalisability, by exploring Computational Intelligent (CI) models and techniques, such as Artificial Neural Networks (ANN), Evolutionary Algorithms (EA), Fuzzy Logic (FL), and hybrid forms of the aforementioned techniques. Moreover, the main target is to develop SCE models of a practical value, i.e., dealing with the inherent uncertainty of the software engineering data and producing relatively ‘early’ (i.e., post specifications) estimations. The qualitative approach extends the numerical and empirical CI investigations, by employing Fuzzy Cognitive Maps (FCM) and Influence Diagrams (ID), which facilitate exploring the relationships between qualitative cost factors and effort. It also visually reveals the contribution of attributes in SCE and enhances the understanding of their cause-and-effect dependencies. The results and observations of this diatribe reveal that considerable benefits may be gained by CI-based methods employed in cost prediction improvement and in understanding which factors are considered ‘significant’ in the process of SCE. The various Feature Subset Selection (FSS) methods applied assisted in identifying and excluding the less ‘influential’ cost factors from the models, which, in turn, lowers the model’s complexity and the overall time and effort required to measure and quantify each and every one of them. The SCE models proposed in this thesis are proven viable, practical alternatives through extensive experimentation with widely known and used benchmark data of the relevant literature.en
dc.format.extentxx, 302 p. : ill., tables ; 30 cm.en
dc.language.isoengen
dc.publisherΠανεπιστήμιο Κύπρου, Σχολή Θετικών και Εφαρμοσμένων Επιστημών / University of Cyprus, Faculty of Pure and Applied Sciences
dc.rightsinfo:eu-repo/semantics/openAccessen
dc.rightsOpen Accessen
dc.subject.lcshSoftware engineeringen
dc.subject.lcshComputer software Costsen
dc.subject.lcshArtificial intelligenceen
dc.subject.lcshProject managementen
dc.subject.lcshNeural networks (Computer science)en
dc.subject.lcshGenetic algorithmsen
dc.subject.lcshFuzzy logicen
dc.subject.lcshProbabilitiesen
dc.titleExploring software cost modelling and estimation with computational intelligenceen
dc.title.alternativeΜοντελοποίηση και εκτίμηση του κόστους ανάπτυξης λογισμικού με τεχνικές υπολογιστικής νοημοσύνηςel
dc.typeinfo:eu-repo/semantics/doctoralThesisen
dc.contributor.committeememberΠαπαδόπουλος, Γιώργος Α.el
dc.contributor.committeememberΠαλλής, Γιώργοςel
dc.contributor.committeememberΚαπιτσάκη, Γεωργίαel
dc.contributor.committeememberΣτάμελος, Ιωάννηςel
dc.contributor.committeememberΑνδρέου, Ανδρέας Σ.el
dc.contributor.committeememberPapadopoulos, George A.en
dc.contributor.committeememberPallis, Georgeen
dc.contributor.committeememberKapitsaki, Georgiaen
dc.contributor.committeememberStamelos, Ioannisen
dc.contributor.committeememberMacDonell, Stephen G.en
dc.contributor.committeememberAndreou, Andreas S.en
dc.contributor.departmentΠανεπιστήμιο Κύπρου, Σχολή Θετικών και Εφαρμοσμένων Επιστημών, Τμήμα Πληροφορικήςel
dc.contributor.departmentUniversity of Cyprus, Faculty of Pure and Applied Sciences, Department of Computer Scienceen
dc.subject.uncontrolledtermΘΕΩΡΙΑ ΠΙΘΑΝΟΤΗΤΩΝel
dc.subject.uncontrolledtermΕΚΤΙΜΗΣΗ ΚΟΣΤΟΥΣ ΑΝΑΠΤΥΞΗΣ ΛΟΓΙΣΜΙΚΟΥel
dc.subject.uncontrolledtermΥΠΟΛΟΓΙΣΤΙΚΗ ΝΟΗΜΟΣΥΝΗel
dc.subject.uncontrolledtermΔΙΑΧΕΙΡΙΣΗ ΕΡΓΟΥ ΛΟΓΙΣΜΙΚΟΥel
dc.subject.uncontrolledtermΤΕΧΝΗΤΑ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑel
dc.subject.uncontrolledtermΓΕΝΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙel
dc.subject.uncontrolledtermΑΣΑΦΗΣ ΛΟΓΙΚΗel
dc.subject.uncontrolledtermΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥel
dc.subject.uncontrolledtermPROBABILISTIC THEORYen
dc.subject.uncontrolledtermSOFTWARE COST ESTIMATIONen
dc.subject.uncontrolledtermCOMPUTATIONAL INTELLIGENCEen
dc.subject.uncontrolledtermSOFTWARE PROJECT MANAGEMENTen
dc.subject.uncontrolledtermARTIFICIAL NEURAL NETWORKSen
dc.subject.uncontrolledtermGENETIC ALGORITHMSen
dc.subject.uncontrolledtermFUZZY LOGICen
dc.subject.uncontrolledtermSOFTWARE ENGINEERINGen
dc.identifier.lcQA76.76.C73P37 2011en
dc.author.facultyΣχολή Θετικών και Εφαρμοσμένων Επιστημών / Faculty of Pure and Applied Sciences
dc.author.departmentΤμήμα Πληροφορικής / Department of Computer Science
dc.type.uhtypeDoctoral Thesisen
dc.rights.embargodate2012-01-09
dc.contributor.orcidAndreou, Andreas S. [0000-0001-7104-2097]


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record