La vitrine de diffusion des mémoires et thèses de l'ÉTS
RECHERCHER

Design of a fuzzy logic software estimation process

Téléchargements

Téléchargements par mois depuis la dernière année

Plus de statistiques...

Valdés, Francisco (2011). Design of a fuzzy logic software estimation process. Thèse de doctorat électronique, Montréal, École de technologie supérieure.

[thumbnail of VALDÉS_Francisco.pdf]
Prévisualisation
PDF
Télécharger (2MB) | Prévisualisation
[thumbnail of VALDÉS_Francisco-web.pdf]
Prévisualisation
PDF
Télécharger (919kB) | Prévisualisation

Résumé

This thesis describes the design of a fuzzy logic software estimation process.

Studies show that most of the projects finish overbudget or later than the planned end date (Standish Group, 2009) even though the software organizations have attempted to increase the success rate of software projects by making the process more manageable and, consequently, more predictable.

Project estimation is an important issue because it is the basis for the allocation and management of the resources associated to a project. When the estimation process is not performed properly, this leads to higher risks in their software projects, and the organizations may end up with losses instead of the expected profits from their funded projects.

The most important estimates need to be made right in the very early phases of a project when the information is only available at a very high level of abstraction and, often, is based on a number of assumptions.

The approach for estimating software projects in the software industry is the one typically based on the experience of the employees in the organization. There are a number of problems with using experience for estimation purposes: for instance, the way to obtain the estimate is only implicit, i.e. there is no consistent way to derive the estimated value, and the experience is strongly related to the experts, not to the organization.

The research goal of this thesis is to design a software estimation process able to manage the lack of detailed and quantitative information embedded in the early phases of the software development life cycle.

The research approach aims to leverage the advantages of the experience-based approach that can be used in early phases of software estimation while addressing some of the major problems generated by this estimation approach.

The specific research objectives to be met by this improved software estimation process are:
A. The proposed estimation process must use relevant techniques to handle uncertainty and ambiguity in order to consider the way practitioners make their estimates: the proposed estimation process must use the variables that the practitioners use.
B. The proposed estimation process must be useful in early stages of the software development process.
C. The proposed estimation process needs to preserve the experience or knowledge base for the organization: this implies an easy way to define and capture the experience of the experts.
D. The proposed model must be usable by people with skills distinct from those of the people who configure the original context of the proposed model.

In this thesis, an estimation process based on fuzzy logic is proposed, and is referred as the ‘Estimation of Projects in a Context of Uncertainty - EPCU’.

The fuzzy logic approach was adopted for the proposed estimation process because it is a formal way to manage the uncertainty and the linguistic variables observed in the early phases of a project when the estimates need to be obtained: using a fuzzy system allows to capture the experience from the organization’s experts via inference rules and to keep this experience within the organization.

The experimentation phase typically presents a big challenge, in software engineering in particular, and more so since the software projects estimates must be done “a priori”: indeed for verification purposes, there is a typically large elapsed time between the initial estimate and the completion of the projects upon which the ‘true’ values of effort, duration and costs can be known with certainty in order to verify whether or not the estimates were the right ones.

This thesis includes a number of experiments with data from the software industry in Mexico. These experiments are organized into several scenarios, including one with reestimation of real projects completed in industry, but using – for estimation purposes - only the information that was available at the beginning of these projects.

From the experiments results reported in this thesis it can be observed that with the use of the proposed fuzzy-logic based estimation process, estimates for these projects are better than the estimates based on the expert opinion approach.

Finally, to handle the large amount of calculations required by the EPCU estimation model, as well as for the recording and the management of the information generated by the EPCU model, a research prototype tool was designed and developed to perform the necessary calculations.

Résumé traduit

Cette recherche décrit la conception d'un processus avec logique floue pour l'estimation des projets de logiciels.

Il y a des études qui montrent que la plupart des projets de logiciels excèdent leur budget ou dépassent leur calendrier prévu, et ce même si depuis des années les organisations font des efforts pour augmenter le taux de réussite des projets de logiciels en rendant le processus plus facile à gérer et, par conséquent, plus prévisible.

L'estimation du projet est un enjeu important, car c'est la base pour quantifier, allouer et gérer les ressources nécessaires à un projet. Lorsque les estimations de projets logiciels ne sont pas effectuées correctement, les organisations font face un risque élevé dans leurs projets et cela peut mener à des pertes pour l'organisation au lieu des profits prévus et justifiant le démarrage des projets.

Les estimations les plus importants doivent être effectuées au début du cycle de développement (i.e. à la phase de conceptualisation des projets): à ce moment là, l'information est disponible seulement à un niveau très élevé d'abstraction, et souvent elle est fondée sur un certain nombre d'hypothèses non vérifiables.

L'approche généralement utilisée pour estimer les projets dans l'industrie du logiciel est celle basée sur l'expérience des employés dans l'organisation, aussi nommée l’appoche par ‘jugement d'experts’. Bien sûr, il y a un certain nombre de problématiques reliées à l’utilisation de ces jugements d’experts en estimation: par exemple, les hypothèses sont implicites et l'expérience est fortement liée aux experts et non pas à l'organisation.

Le but de recherche de cette thèse était de concevoir un processus d'estimation de projets de logiciels capable de tenir compte du manque d'informations détaillées et quantitatives dans les premières phases du cycle de vie du développement logiciel.

La stratégie choisie pour cette recherche tire partie des avantages de l'approche fondée sur l'expérience qui peut être utilisée dans les phases précoces de l'estimation de projets de logiciels, tout en tenant compte de certains des problèmes majeurs générés par cette méthode d'estimation par jugements d’experts. La logique floue a été proposée comme approche de recherche parce que c'est une façon formelle pour gérer l'incertitude et les variables linguistiques disponibles dans les premières phases d’un projet de développement d’un logiciel: un système à base de logique floue permet d’acquérir l'expérience de l'organisation par l'intermédiaire des experts et de leurs définitions de règles d'inférence.

Les objectifs de recherche spécifiques à atteindre par ce processus d'estimation améliorée sont:
A. Le processus d'estimation proposé doit utiliser des techniques pertinentes pour gérer l'incertitude et l'ambiguïté, comme le font les practiciens lorqu’ils utilisent leur ‘jugement d’experts’ en estimation de projets logiciel: le processus d'estimation proposé doit utiliser les variables utilisées par les praticiens.
B. Le processus d'estimation proposé doit être utile à un stade précoce du processus de développement logiciel.
C. Le processus d'estimation proposée doit préserver l'expérience (ou la base de connaissances) pour l'organisation et inclure un mécanisme facile pour définir l'expérience des experts.
D. Le modèle proposé doit être utilisable par des personnes avec des compétences distinctes de celles des ‘experts’ qui définissent le contexte d'origine du modèle d’estimation proposé.
E. Pour l'estimation dans le contexte des premières phases, un processus d'estimation fondé sur la logique floue a été proposée, soit : ‘Estimation of Projects in a Context of Uncertainty - EPCU’’.

Une caractéristique importante de cette thèse est l’utilisation, pour fin d’expérimentation et de vérification, d’informations provenant de projets provenant de l’industrie au Mexique.

La phase d'expérimentation comprend trois scénarios:
Scénario A. Le processus d’estimation proposé doit utiliser les techniques pertinentes pour une gestion de l’incertitude et de l’ambiguité afin de faciliter la tache aux intéressés de réaliser ses estimations. Ce processus doit prende en compte les variables que les intéressés utilisent.

Scénario B. Ce scénario est similaire au scénario A, sauf qu’il s’agit de projets en démarrage, et pour lesquels les valeurs finales de durée et de coûts ne sont pas disponibles pour fin de comparaison.

Scénario C. Afin de remédier au manque d'informations par rapport au scénario B, le scénario C consiste en une expérience de simulation.

Ces expérimentations ont permis de conclure que compte tenu des projets examinés dans les 3 scénarios, l'utilisation du processus d'estimation défini – EPCU - permet d’obtenir de meilleurs résultats que l'approche par opinions d'experts et peut être utilisée pour l'estimation précoce des projets de logiciels avec de bons résultats.

Afin de gérer la quantité de calculs requis par le modèle d’estimation EPCU et pour l'enregistrement et la gestion des informations générées par ce modèle EPCU, un outil logiciel a été conçu et développé comme prototype de recherche pour effectuer les calculs nécessaires.

Type de document: Mémoire ou thèse (Thèse de doctorat électronique)
Renseignements supplémentaires: "Thesis presented to École de technologie supérieure in partial fulfillment of the requirements for the degree of doctor of philosophy" Bibliogr. : f. [139]-146.
Mots-clés libres: Projets informatiques. Génie logiciel. Évaluation. Systèmes flous. Logique floue. Projets de développement industriel Mexique. EPCU, Expérience, Expert, Jugement
Directeur de mémoire/thèse:
Directeur de mémoire/thèse
Abran, Alain
Programme: Doctorat en génie > Génie
Date de dépôt: 20 mars 2012 17:56
Dernière modification: 02 mars 2017 01:42
URI: https://espace.etsmtl.ca/id/eprint/983

Gestion Actions (Identification requise)

Dernière vérification avant le dépôt Dernière vérification avant le dépôt