Anda di halaman 1dari 45

PROYECTO DE TESIS DOCTORAL Doctorado en Informcion, Documentacin y Conocimiento

Departamento de Ciencias de la Computacin Escuela Politcnica, Universidad de lcala 27 de Octubre de 2003

Ttulo: Un Modelo Paramtrico Matemtico Difuso para la Estimacin del Esfuerzo de Desarrolo del Software

Doctorando: D. Francisco Javier Crespo Yez .

Directores: Dr. D. Miguel ngel Sicilia Urbn

2 Abstract Eort estimating techniques of product development constitute an imperative for any industry area. Financial sta require estimation activities in the context of feasibility analysis of projects. Mathematical parametric estimation models are nowadays the most frequently used estimation technique, since they provide a sound empirical basis to predictions. Nonetheless, existing software estimation parametric models lack an explicit support for information imperfections like imprecision and uncertainty, that are inherent to the linguistic formulation of cost drivers. Existing research on the introduction of imperfection handling techniques in such models do not provide comprehensive model formulations, and areas like cost driver aggregation are neglected. The research eort described in this document aims at providing an extended parametric software estimation model that provides support for imperfection in all the elements that conform such models, applying for that purpose concepts in Fuzzy Set Theory and related imperfection representation frameworks. Keywords Cost estimation, mathematic parametric models, Software Engineering, uncertainty, imprecision, Fuzzy Logic, Fuzzy Set Theory, software development eort. Resumen La estimacin del esfuerzo de produccin es una necesidad en todos los campos de la industria. Los departamentos econmico-nancieros consideran imprescindible esa actividad para el estudio de viabilidad de proyectos. Los mtodos de estimacin paramtricos matemticos son actualmente los ms utilizados, y proporcionan una base emprica slida para sus predicciones. Sin embargo, los modelos paramtricos tradicionales de estimacin del esfuerzo del desarrollo del software no dan un soporte explcito al uso de informacin con imperfecciones tales como la imprecisin o incertidumbre, que son inherentes a la formulacin lingstica de los factores de ajuste. A pesar de que existen algunos trabajos sobre la incorporacin de tcnicas de tratamiento de la imperfeccin en dichos modelos, ninguno de ellos proporciona un tratamiento completo y reas como la agregacin de factores quedan sin considerar. La investigacin propuesta en este documento pretende proporcionar un modelo extendido de

3 estimacin paramtrico del software que tenga en cuenta la imperfeccin en todos sus elementos, utilizando para ello, la Teora de los Conjuntos Borrosos y otros marcos de representacin de la imperfeccin relacionados. Palabras clave Estimacin de costes, modelos paramtricos matemticos , Ingeniera del Software, incertidumbre, imprecisin, Lgica Difusa, Teora de los Conjuntos Borrosos, esfuerzo de desarrollo del software.

NDICE

ndice
1. Introduccin 6

Estado de la Cuestin

2. Mtodos para la Estimacin del Esfuerzo en el desarrollo del Software 2.1. Clasicacin de los mtodos de Estimacin del Esfuerzo en el Desarrollo del Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Los Modelos Matemticos Paramtricos en Estimacin del Esfuerzo en el desarrollo del Software . . . . . . . . . . . . . . . . . . . . . . . . . 2.3. Los Mtodos de Inteligencia Articial en la Estimacin del Esfuerzo en el Desarrollo del Software . . . . . . . . . . . . . . . . . . . . . . . . 16 18 18 20 20 22 14 9 9

3. Imprecisin e incertidumbre en la informacin 3.1. La imperfeccin en la informacin. Sus Tipos . . . . . . . . . . . . . . 3.2. La teora de la informacin basada en incertidumbre . . . . . . . . . . 3.3. La teora de los conjuntos borrosos y el razonamiento borroso . . . . 3.4. La teora de la medida borrosa . . . . . . . . . . . . . . . . . . . . . . 4. Aplicaciones de la Lgica Borrosa en estimacin de Esfuerzo del Desarrollo del Sotfware

23

II

Investigacin propuesta

27
27 31

5. Planteamiento del Problema 6. Objetivos

NDICE 7. Metodologa 8. Mtodo de Evaluacin 9. Bibliografa

5 33 35 36

1 INTRODUCCIN

1. Introduccin
La estimacin del esfuerzo de produccin es una necesidad en todas las reas de la industria [GBM03]. Los departamentos econmico-nancieros consideran imprescindible esa actividad para el estudio de viabilidad de proyectos en los modernos procedimientos de gestin empresarial [GCoPCET02][Vid02] . Desde el momento en que las empresas, cuyo objetivo fundamental son los benecios, comenzaron a considerar las aplicaciones informticas como productos industriales, se comenz un proceso de mejora de la produccin y el rendimiento. Este proceso de produccin tiene, entre otros, como problemas fundamentales que resolver, el cumplimiento de unos plazos de entrega dentro de unos costes establecidos, manteniendo unos niveles de calidad; as como el de poder realizar un seguimiento y control de la evolucin de los proyectos(Design for aordability o produccin dentro de tiempo, costes y calidad) [OB02]. Por lo tanto, el establecimiento de unos mtodos que permitiesen determinar y, posteriormente, alcanzar estos objetivos de una forma lo ms realista y exacta posible ha sido un factor cada vez ms importante para la Ingeniera Informtica en su conjunto. Dichos mtodos se han fundamentado en conocimientos adquiridos por distintas disciplinas de esta ciencia, desde la Ingeniera del Software (que naci como una consecuencia directa de estos cambios hacia la industrializacin en la produccin y la universalizacin en la utilizacin del software) hasta la Inteligencia Articial. Adems de producir cada vez mejores resultados en los objetivos anteriormente citados, la continua evolucin que los mtodos de estimacin han experimentado [ARG97], [WJ97], ha permitido tambin obtener otros benecios como el perfeccionamiento de los anlisis de riesgos de los proyectos o la posibilidad de realizar anlisis cuantitativos sobre la ecacia de distintas propuestas de cambio de los procesos de construccin de software [Boe81], [Ass96], [Kin00],[PS97],[PM92], [Res97]. Los mtodos para determinar a priori los costes de produccin de la industria informtica dependen principalmente de la mano de obra. En consecuencia, casi todas las estimaciones se basan en el denominado esfuerzo de produccin que, habitualmente, se mide en unidades tiempo/hombre. Para el clculo o estimacin del esfuerzo, en general, se utilizan formulaciones matemticas con parmetros cuantitativos. Pero, la obtencin de estas cantidades numricas se hace en funcin de conceptos cualitativos que se asocian a juicios de valor inherentemente humanos. As, por ejemplo, en el modelo COCOMO II el factor de ajuste conocimiento del entorno de los progra-

1 INTRODUCCIN

madores (PREC) obtiene su valor numrico, entre 6.20 y 0.00, dependiendo de la apreciacin de si ste es profundamente desconocido a profundamente conocido [BAB+ 00]. La teora de los conjuntos borrosos y el razonamiento borroso se ha mostrado como una herramienta ecaz en la modelizacin de problemas con variable lingsticas y en condiciones de incertidumbre [KF88]. Incertidumbre fruto de la tolerancia a la imperfeccin que el ser humano admite tanto en la transmisin de ideas o informacin como en la emisin de juicios de valor [Sme97]. En este trabajo, se propone el uso de la imprecisin del lenguaje natural y sus correlaciones mentales [Ros88] para una caracterizacin ms adecuada lingsticamente de las variable usadas en los modelos paramtricos matemticos de estimacin del esfuerzo del desarrollo del Software. Seguidamente, se establecer la correlacin entre estimadores que se identiquen como componentes propios de los estimadores actuales del modelo usado. Posteriormente, la generalizacin de las frmulas y la utilizacin de tcnicas propias de Lgica Difusa para la calibracin del modelo. Y por ltimo, la utilizacin de procesos de clustering borroso [KB97] para identicar nuevos clasicadores de proyectos.

Este documento est organizado como sigue: En su primera parte se expone el estado de la cuestin. Dentro de sta, en la seccin segunda se muestra el estado de la cuestin de los mtodos de estimacin del esfuerzo del desarrollo del software. En principio, se exponen unas taxonomas y se propone otra. Seguidamente, se hace un anlisis de los modelos parmetricos matemticos. Se concluye esta seccin con una presentacin de otras tcnicas, en especial de Inteligencia Articial, usadas para al estimacin del esfuerzo. En la siguiente seccin se hace una resea de la incertidumbre y la imprecisin en la informacin y las tcnicas adecuadas para su modelizacin. Posteriormente, se hace una referencia completa de los trabajos realizados con lgica difusa en el terreno de la estimacin del esfuerzo de desarrollo del sotfware. En la segunda parte se hace la propuesta de investigacin para la obtencin de las aportaciones de la tesis. En primer lugar se describe el planteamiento del problema, sealando los elementos de los modelos de estimacin paramtrica matemtica de desarrollo del sotfware en la cuales aparece la imprecisin ligada al lenguaje natural.

1 INTRODUCCIN

En segundo lugar se plantean los objetivos cuyo n primordial es el de generalizar la estimacin parmetrica matemtica del esfuerzo de desarrollo del Software mediante la inclusin de soporte explcito de imprecisin. Por ltimo se exponen la metodologa y el mtodo de evaluacin a seguir.

2 MTODOS PARA LA ESTIMACIN DEL ESFUERZO EN EL DESARROLLO DEL SOFTWARE 9

Parte I

Estado de la Cuestin
2. Mtodos para la Estimacin del Esfuerzo en el desarrollo del Software
Dentro de cualquier tipo de organizacin, el disponer con rapidez de una informacin completa y able de los proyectos que se pretenden acometer, constituye un elemento esencial para garantizar la gestin ecaz de los recursos de la misma, mejorar la calidad de los servicios que presta y adecuarse constantemente al entorno que la rodea. El objetivo primordial de los responsables de toda organizacin es el de garantizar la calidad de esa informacin. A medida que crece el volumen de recursos necesarios para gestionar el desarrollo de aplicaciones Software crece el riesgo de supervivencia de la propia organizacin. La Ingeniera del Software ha tratado con estos problemas. Dentro de estos, en este trabajo, nos centramos en la estimacin del esfuerzo para el desarrollo del Software. En esta seccin se exponen distintas clasicaciones de los mtodos usados para dicha estimacin y se hace un nfasis en los mtodos basados en modelos paramtricos matemticos . Por ltimo, se exponen los modelos basados en tcnicas de Inteligencia Articial.

2.1. Clasicacin de los mtodos de Estimacin del Esfuerzo en el Desarrollo del Software
Desde los aos sesenta hasta hoy en da se han publicado un gran nmero de modelos de estimacin en Ingeniera del Software. Tambin se han propuesto distintas clasicaciones de los mismos sobre la base de distintos criterios. Asi, por ejemplo, en 1998 T. Capers Jones en su libro Estimating Software Cost [Jon98] propone seis mtodos agrupados en dos grandes grupos: A. Mtodos Manuales . Estos mtodos no utilizan herramientas de calculo automtico, y su fundamento

2 MTODOS PARA LA ESTIMACIN DEL ESFUERZO EN EL DESARROLLO DEL SOFTWARE 10 conceptual son las reglas de oro (rules of thumb). No suelen ser muy ables pero son ampliamente utilizadas por su fcil aplicacin. B. Mtodos Automticos . Estos mtodos han sido implementados en herramientas automticas que les permiten proporcionar capacidades que no pueden dar los mtodos manuales. Como base de sus clculos suelen emplear bases de datos de proyectos histricos que le sirven para ajustar las ecuaciones de estimacin. Esto les permite obtener una respuesta ms anada en la estimacin de nuevos proyectos. Jones distingue tres niveles de aplicacin para cada uno de los mtodos anteriormente sealados: 1. Nivel de proyecto (Project level ). Los clculos se efectan para el proceso global de construccin del software. 2. Nivel de Fase (Phase level ). Las estimaciones se realizan por cada fase del proyecto. Los clculos se efectan sobre cada fase utilizando porcentajes que se aplicarn a los clculos realizados para la totalidad del proyecto. 3. Nivel de actividad o tarea (Activities or tasks level ). Las estimaciones se hacen para cada actividad o tarea del trayecto, las cuales han sido determinadas al principio del mismo utilizando tcnicas como Work Breakdown Structure (WBS). Es el nivel de estimacin de mayor precisin. Como hemos visto, al hacer esta clasicacin Jones no tiene en cuenta el fundamento conceptual de cada uno de los modelos.

En [BAC00] Boehm et al. proponen seis posibilidades para clasicar cualquier modelo de estimacin. Esta clasicacin si se hace, a diferencia de la vista anteriormente, sobre los principios conceptuales de los modelos. Estos se dividen en: 1. Modelo esttico (Static Model ). Se determina la forma funcional, segn los autores de estos modelos, de manera

2 MTODOS PARA LA ESTIMACIN DEL ESFUERZO EN EL DESARROLLO DEL SOFTWARE 11 hipottica (parten de una hiptesis de trabajo) o de manera experimental (como resultado de un conjunto de experimentos aleatorios) [BAB+ 00], [Ass96], [PS97], [PM92], [Res97]. 2. Conocimiento de Expertos (Experience of Experts/Expertise). Las tcnicas basadas en la experiencia son muy tiles en ausencia de datos empricos cuanticados [SS97a], [ARG97]. Estas tcnicas permiten interpretar y acumular el conocimiento y la experiencia de los profesionales, con prctica en la materia y conocimientos de campo, para conformar estimaciones desde el punto de vista de una sntesis de los conocimientos prcticos adquiridos en anteriores proyectos, a los que el experto ha tenido acceso o en los que ha participado en alguna forma. La desventaja ms obvia de este mtodo es que la estimacin solamente es buena en opinin del experto que la emite, y no hay una manera universalmente aceptada de comprobar que sta es correcta hasta que empricamente se comprueba que los resultados no la avalan. El descubremiento en ese momento es demasiado tardo para corregir los daos producidos por la incorrecta opinin concebida. Dos tcnicas se han desarrollado con el n de decantar los juicios de los expertos por lo expuesto anteriormente, tambin, estas tcnicas contienen medidas para mitigar la posibilidad de que los juicios de un experto no sean acordes con lo esperable. Estas tcnicas son: Delphi technique y Work Breakdown Structure. 3. Aprenzaje automtico. (Machine learning). Aplicacin de mtodos desarrollados en el campo de la Inteligencia Articial tales como Redes Neuronales, Lgica Difusa, Razonamiento Basado en Casos, etc. 4. Modelos dinmicos (Dynamic Models). Las tcnicas basadas en metodologas dinmicas denotan expliitamente que el esfuerzo de produccin de los proyectos de sotfware y los factores de coste cambian en el tiempo de desarrollo del propio sistema, es decir, se produce un proceso dinmico y no esttico en el tiempo. Esto representa una diferencia signicativa en el punto de partida con respecto a otras tcnicas destacadas en este anteproyecto, que se basan en instantneas de la situacin en un determinado momento. Sin embargo, estos modelos reejan factores como plazos, nivel del personal, requerimientos de diseo, necesidades de formacin, presupuestos,

2 MTODOS PARA LA ESTIMACIN DEL ESFUERZO EN EL DESARROLLO DEL SOFTWARE 12 etc, que sufren constantes uctuaciones en el curso del desarrollo del proyecto, lo que implica la necesidad de retroalimentar el sistema de medicin con cada variacion importante que pueda producir un cambio en la productividad del personal. Esto produce consecuencias en la probabilidad de que un proyecto se realize segn lo especicado en los planes, afectando, normalmente, de forma negativa a los presupuestos. Las tcnicas ms apreciadas estn basadas en las metodologas de sistemas dinmicos que modelio Jay Forrester [For61] hace ms de cuarenta aos. 5. Statistical Models (Modelos estadisticos) Las tcnicas basadas en regresin son las ms populares a la hora de contruir modelos. Estas tcnicas se basan en la creacin de metamodelos e incluyen tcnicas estadsticas como las regresiones ms usuales, hasta especcas para estos modelos como seala Judge et al. en [GW93] con ejemplos como Standard regression, Robust regression, etc.. 6. Compound Models (Modelos Compuestos). Las tcnicas de composicin combinan dos o ms tcnicas de las descritas anteriormente dentro del sistema como publican Boehm et al en [BAB+ 00] , Galorath Associates en [Ass96] , Price Systems en [Kin00], Putnam & Myers en [PM92] y Software Productivity Research en [Res97]. Se propondr, en esta tesis, una nueva clasicacin de los mtodos de estimacin, que aunque toma algunas ideas de las propuestas anteriormente [CCS03], presenta un nuevo enfoque segn el cual dichos mtodos pueden ser estructurados en cuatro grupos: 1. Modelos Matemticos Paramtricos (Parametric Mathematical Models

(P)). Se incluiran en este grupo todos aquellos modelos que utilicen ecuaciones matemticas para realizar las estimaciones. No se introduce la diferencia de si han sido generadas por expertos porque se supone que la intervencin de expertos es imprescindible en el desarrollo de la ecuacin. Tampoco se diferencia entre modelos tabulares, multiplicativos, lineales y no lineales. Los motivos son que, por una parte, las ecuaciones multiplicativas y lineales se consideran un caso particular de las no lineales y, por otra, los modelos tabulares o los que utilizaban ecuaciones lineales estn ya en desuso y todos los nuevos modelos publicados utilizan ecuaciones no lineales [BAC00].

2 MTODOS PARA LA ESTIMACIN DEL ESFUERZO EN EL DESARROLLO DEL SOFTWARE 13 2. Estimacin basada en analogas (Comparative Models(C)). Esta tcnica se basa en la comparacin de los resultados reales de diferentes proyectos, siempre entregados a cliente, y en los que se ha aplicado la experiencia de los expertos como fuente de conocimento esencial. Estas tcnicas son muy utiles cuando no hay datos de proyectos anteriores.[SS97b], [ARG97]. Los modelos clasicados dentro de este apartado son aquellos que proporcionan una manera de extraer de la forma ms objetiva posible los conocimientos de expertos para realizar las estimaciones. Normalmente lo hacen a travs de un conjunto de pasos o mediante la utilizacin de cuestionarios.

3. Modelos dinmicos (Dynamic Models (D)). Basados en la variabilidad de los factores de coste y duracin de un proyecto de software durante su desarrollo. Estos modelos consideran a priori que la variabilidad que se produce es sucientemente grande como para afectar de forma considerabale a los resultados estimados del proceso. Como publican AbdelHamid et al. en [AHM91] o Madachy en su tesis [Mad94]). Por este motivo no se realizan en fases y los modelos experimental y operacional necesitan una compleja base de fundamentacin y las estimaciones requieren de dos o ms tcnicas para su realizacin. Estos modelos asumen que los factores de costes de un proyecto software cambian a lo largo del tiempo y realizan estimaciones y simulaciones de dichas variaciones. Por lo tanto el fundamento de este mtodo es muy diferente al de los otros tres, los cuales tienen una visin esttica del sistema.

4. Modelos basados en tcnicas de inteligencia articial . (Articial Intelligence Experimental Models (AIEM)). Estos mtodos se basan en el uso de datos recogidos en proyectos anteriores en los que se realizaron estimaciones y usando diferentes tcnicas de extracin de conocimiento, entre las que destacan las tcnicas de inteligencia articial, pretenden realizar las estimaciones que se estan realizando con los modelos paramtricos con estas metodologas de manera mas eciente, ecaz y, si fuera posible, con mayor precisin.

2 MTODOS PARA LA ESTIMACIN DEL ESFUERZO EN EL DESARROLLO DEL SOFTWARE 14

2.2. Los Modelos Matemticos Paramtricos en Estimacin del Esfuerzo en el desarrollo del Software
La estimacin del esfuerzo en proyectos software utilizando modelos matemticos paramtricos es el mtodo mas extensamente desarrollado y utilizado en el campo de la estimacin de costes software [CDS86],[RJ00],[Jon97]. Como ya se ha expuesto anteriormente, el fundamento de los modelos matemticos paramtricos de estimacin est en la utilizacin de ecuaciones matemticas mediante las cuales se obtiene el valor de un conjunto de variables dependientes, como son, por ejemplo, el esfuerzo y el tiempo de desarrollo. Dichos valores de salida se obtienen a partir de los valores de entrada dados a otro conjunto de variables independientes como son, por ejemplo, el tamao de la aplicacin en lneas de cdigo, la abilidad requerida de la misma o su complejidad. En el caso de los modelos de estimacin de esfuerzo, es decir, aquellos cuya variable dependiente principal es el esfuerzo, debido a la relacin directa entre ste y el coste de desarrollo, las variables independientes utilizadas se suelen denominar Cost Drivers [Boe81], que en la bibliografa existente en espaol [CdAS98] se ha traducido como factores correctores. En este trabajo se va a tomar la traduccin de factores de ajuste, ya que segn el diccionario de la Real Academia Espaola [dlLE02], ajuste es la accin o efecto de ajustar y ajustar tiene el signicado de hacer y poner alguna cosa de modo que case y venga justo con otra. Como el propsito de estas variables es hacer coincidir el valor real con el estimado esta traduccin reeja con suciente exactitud su signicado. La mayor parte de estos modelos suelen operar mediante un procedimiento consistente en realizar una primera aproximacin o clculo en funcin del valor de un conjunto reducido de variables independientes cuyo peso en el resultado nal de los clculos se considera mayor que el del resto y que, normalmente, no estn relacionadas con el entorno especco de construccin de la aplicacin. Puede ser que incluso se utilice una sola variable que suele ser el tamao de la aplicacin, normalmente estimado en lneas de cdigo fuente a partir de las medidas realizadas sobre el diseo de la aplicacin. En otras versiones el tamao se calcula en puntos de funcin [Abr99], [Gro90], [NES97], [Ass98]. Una vez realizada dicha estimacin, se precisa el resultado mediante la utilizacin de otro conjunto de variables que permite renar los clculos introduciendo en ellos las caractersticas propias del entorno de desarrollo. Generalmente los valores de entra-

2 MTODOS PARA LA ESTIMACIN DEL ESFUERZO EN EL DESARROLLO DEL SOFTWARE 15 da del resto de las variables independientes que permiten realizar los clculos a los distintos modelos de estimacin, y que deben ser tambin previamente calculadas o seleccionadas por los encargados de realizar la planicacin del proyecto, en funcin de las caractersticas propias del mismo, no suelen tener un sistema de estimacin preciso. De tal forma que el valor cuantitativo de entrada de cada cost driver tiene un origen cualitativo en funcin de una serie de caractersticas de cada proyecto que afectan a dicho cost driver y que harn escoger para el mismo un valor real dentro de un rango de posibles valores. La obtencin de buenos resultados mediante la utilizacin de este mtodo se fundamenta bsicamente en cuatro puntos: 1. Una correcta denicin de las ecuaciones que van a ser utilizadas. As, por ejemplo, como ya se ha expresado anteriormente, las ecuaciones no lineales han sustituido a las lineales en todos los modelos matemticos paramtricos ms utilizados. Son ecuaciones ms complejas y en consecuencia ms difciles de manejar pero los resultados que han proporcionado han sido mucho mejores, de tal forma que, por ejemplo para el modelo COCOMO se ha pasado de una exactitud en las predicciones con un margen de error dentro del 30 % un 68 % de las veces [Boe81] a un margen de error dentro del 30 % un 80 % de las veces [BAB+ 00]. 2. Una continua revisin de los estimadores de costes utilizados. Esta revisin no slo implica aadir o eliminar estimadores para reejar los cambios producidos en la tecnologa sino tambin profundizar en el conocimiento de los elegidos. Dicha conclusin tambin ha sido probada en los modelos matemticos paramtricos ms utilizados, as por ejemplo mientras COCOMO II ha eliminado algunos de los estimadores de costes utilizados en COCOMO 81, otros han sido introducidos, como es, por ejemplo, la documentacin utilizada durante el ciclo de vida del software. Dicho factor de ajuste se denomina DOCU en el modelo COCOMO II. 3. Un correcto calibrado para el entorno de desarrollo en el que se va a aplicar, de los parmetros utilizados por el modelo. 4. Una correcta seleccin del rango para las variables de entrada que el modelo necesita para realizar las estimaciones del proyecto que se est estudiando.

2 MTODOS PARA LA ESTIMACIN DEL ESFUERZO EN EL DESARROLLO DEL SOFTWARE 16

2.3. Los Mtodos de Inteligencia Articial en la Estimacin del Esfuerzo en el Desarrollo del Software
Dentro de este apartado de puede subdividir por las diferentes tecnicas que se utilizan en : 1. Redes Neuronales (Neural networks). Esta es la tcnica AIEM ms usada como alternatica a los mtodos NL (No lineales). Su fundamento es la variacin de una serie de neuronas con un valor inicial, denominda semilla previa. Esta variacin se efecta por retropropagacin en base a la informacin de entrenamiento que se le sumnistra y que se valida posteriormente. Existe innumerables ejemplos en la literatura como Lee et al. en [LCHB99] y , Dohi et al. en [DYNO00]. 2. Tecnicas orientadas al aprendizaje (Oriented Learning). Estos mtodos se basan en el uso de datos recogidos en proyectos anteriores en los que se realizaron estimaciones y usando diferentes tcnicas de extracin de conocimiento entre las que destacan las tcnicas de inteligencia articial. Pretenden realizar las estimaciones que se estan realizando con los modelos paramtricos con estas metodologas de manera mas eciente, ecaz y , si fuera posible, con mayor precisin. Vase Hasenjager en [HR98] 3. Razonamiento basado en casos (Case based Reasoning ). El CBR es una metodologa que usa la informaciones almacenadas sobre datos de caractersticas de proyectos histricos y del esfuerzo dedicado en su desarrollo. Esta informacin se usa cruzndola con las nuevas observaciones para obtener los valores a priori del esfuerzo y dems datos de interes de la nueva aplicacin. Vase Mukhopadhyay et al. en [MK92]. 4. rboles de regresin (Regression trees). Los rboles de regresin trabajan tomando un conjunto de datos conocidos y obteniendo reglas de clasicacin por aprendizaje. Estas permiten predecir los valores de salida en virtud de los intervalos de dominio de las reglas de clasicacin obtenidas. Vease Srinivasan et al. en [SK95]. Con el n de crear estos rboles los algoritmos al uso necesitan una serie de

2 MTODOS PARA LA ESTIMACIN DEL ESFUERZO EN EL DESARROLLO DEL SOFTWARE 17 atributos que clasiquen sucientemente los datos y construyan de forma iterativa un rbol por divisin dependiendo de los citado atributos. 5. Lgica difusa (Fuzzy logic). No existen muchos trabhajos publicados al respecto, si bien muchos autores sealan esta tcnica como posible solucin al problema. Hay diferentes tipos de sistemas en lgica difusa y el desarrollo del modelo se realiza en base a las diferentes elecciones disponibles. Kumar et al. hicieron en [KKS94] un primer esbozo de la utilidad del uso de estas tcnicas, pero como otros muchos autores ([AS97], [RL98], etc.) sin detallar las tcnicas concretas. 6. Agentes Dinmicos (proactivos y reactivos) (Dynamical agents). Los sistemas Multi-agente (MAS) constituye una alternativa outstanding para el manejo de problemas complejos. As, Smith et al. en [RBKM00] proponen los agentes como procesos capaces de adaptarse y evolucionar como respuesta al entorno y las condiciones ambientales en las que reside, los dems agentes con los que debe interactuar y por las metas que debe negociar. El proceso se inicia mediante la adaptacin del agente (MAS) de forma individual por medio de su modelo estructura dinmica (MDS), que consiste en una estructura interna de agente dinmica (ADIS) y en otra estructura externa del agente dinmico (ADES). Los MAS pueden utilizar la estimacin de software y sus ecuaciones paramtricas. 7. Programacin gentica (Genetic programming). El proceso bsico de la programacin gentica es: a) Generacin aleatoria de una familia de soluciones (a family of chromosomes). b) Creacin de una nueva familia de soluciones partiendo de la previa y una vez aplicados los operadores para anar los cromosomas y acercarlos a la solucin. c) Se repite el paso b) hasta un anamientos que obtenga la mejor solucin o cuando se hayan producido un nmero de iteraciones anteriormente especicado. Amplia informacin sobre el tema se encuentra en las publicaciones de Dolado [Dol99], [Dol00] y [Dol01].

3 IMPRECISIN E INCERTIDUMBRE EN LA INFORMACIN

18

La manera usual de aplicacin de los algoritmos genticos a la estimacin de esfuerzo para el desarrollo del software es la de encontrar la mejor formulacin de las ecuaciones a utilizar por el modelo.

3. Imprecisin e incertidumbre en la informacin


La informacin cotidiana con la que se trabaja est afectada de ciertas imperfecciones. El ser humano funciona habitual y sorprendentemente bien con ellas. Sin embargo, estas imperfecciones plantean dicultades de uso computacional. De la imperfeccin, sus tipos y teoras actuales sobre su uso en la modelizacin se trata en esta seccin.

3.1. La imperfeccin en la informacin. Sus Tipos


Se dice que la informacin perfecta es aquella que no contiene imperfecciones tales como la imprecisin, la vaguedad, la ambigedad, la aleatoriedad o la incertidumbre. Sin embargo, en la realidad se trabaja con diferentes tipos de imperfeccin en la informacin, que provienen de distintos orgenes. Por ejemplo, la aleatoriedad es una fuente de imperfeccin en la informacin que se ha estudiado extensamente en el campo de la Teora de la Probabilidad. Por otro lado, nuestro propio lenguaje natural utiliza la vaguedad en la comunicacin como una de sus caractersticas ms habituales.

En el contexto de los sistemas de informacin, en muchas ocasiones se utiliza el trmino incertidumbre (uncertainty) para hacer referencia a varios de esos tipos de imperfeccin en la informacin o en los datos. Por ejemplo, en la introduccin de [KW98] la palabra se utiliza como trmino general que hace referencia a diferentes deciencias en la informacin: La informacin (perteneciente al modelo dentro del cual se est conceptualizando la situacin) puede ser incompleta, imprecisa, fragmentada, no completamente able, vaga, contradictoria o deciente de alguna otra forma. En general, estas diversas deciencias en la informacin pueden derivar en diferentes tipos de incertidumbre.

3 IMPRECISIN E INCERTIDUMBRE EN LA INFORMACIN

19

Por otro lado, segn el Diccionario de la Real Academia de la Lengua Espaola (DRAE), el trmino incertidumbre se dene como la falta de certidumbre o certeza, remitindonos al trmino certeza, que cuenta con dos acepciones: conocimiento seguro y claro de algo y rme adhesin de la mente a algo, sin temor de errar. Los trminos seguridad y claridad hacen referencia a dos tipos fundamentales de imperfeccin en la informacin, no necesariamente excluyentes (los que se tratan, por ejemplo, en [Che98]): La incertidumbre es la imperfeccin resultante de la duda o inseguridad de la adecuacin a la realidad de una determinada proposicin o informacin. Por ejemplo, si no se est seguro de la edad de un usuario, pero se sabe que es joven, y se arma que "el usuario U tiene 21 aos", la proposicin es precisa pero incierta. Este tipo de imperfeccin se encuentra en la persona (o el agente o sistema) que duda sobre la realidad. La imprecisin es la imperfeccin sobre el contenido mismo de la proposicin. En la situacin anterior, si se arma "el usuario U es joven", la proposicin es imprecisa pero no incierta. Este tipo de imperfeccin est contenido en la propia informacin. Para evitar una confusin terminolgica, se utiliza el trmino imperfeccin en sentido general, y para discutir aspectos especcos, que afecten slo a un tipo determinado, se har referencia explcita a la clasicacin de Smets en [Sme97], segn la cual, los diferentes modelos de informacin imperfecta se pueden categorizar en tres grupos, dependiendo de la fuente de la imperfeccin: Imprecisin. En este caso existe falta de exactitud en la informacin, que puede o no contener un error, de modo que tenemos dos subgrupos: Imprecisin con error. Si hay un error con respecto a la realidad, se tiene imprecisin combinada con error, que puede variar desde una pequea inexactitud (por ejemplo, un pequeo error en una medida), hasta informacin completamente incorrecta e incluso carente de sentido. Imprecisin sin error. Hay casos en los cuales la informacin es vaga, pero no errnea. Por ejemplo, cuando se dice que una persona es alta, el propio trmino lingstico implica cierta vaguedad respecto a la informacin

3 IMPRECISIN E INCERTIDUMBRE EN LA INFORMACIN

20

concreta sobre la altura del individuo. En otros casos, la informacin es incompleta, aunque no errnea. Inconsistencia. Cuando se combinan varias informaciones, se puede dar el caso de informacin inconsistente, cuando las armaciones entran en conicto o son incoherentes. Incertidumbre. La incertidumbre hace referencia al estado de conocimiento del individuo (o, en general, del agente) sobre la relacin entre una informacin y la realidad.

3.2. La teora de la informacin basada en incertidumbre


Aunque hasta hace algunas dcadas, la imprecisin en la informacin se consideraba solamente en trminos de Teora de la Probabilidad, actualmente las tcnicas y aplicaciones cubren un espectro mucho ms amplio. Las diferentes teoras matemticas que han formalizado alguno de los aspectos de la incertidumbre pueden denominarse colectivamente informacin basada en incertidumbre, segn Klir [KW98].

Las teoras matemticas sobre la incertidumbre que se consideran rmemente establecidas son la Teora de los Conjuntos Borrosos, la Teora de la Evidencia y la Teora de la Posibilidad (dejando aparte la bien conocida Teora de la Probabilidad). Estas teoras estn relacionadas, directa o indirectamente [KW98]. La Teora de Conjuntos clsica se considera un subconjunto de la Teora de los Conjuntos Borrosos. La Teora de la Probabilidad y la Teora de la Posibilidad son ramas de la Teora de la Evidencia, y la Teora de la Evidencia es a su vez una rama de un marco ms general, abarcado por la Teora de la Medida Borrosa. Finalmente, la Teora de los Conjuntos Borrosos est tambin relacionada con la Teora de la Posibilidad.

3.3. La teora de los conjuntos borrosos y el razonamiento borroso


La Teora de los Conjuntos Borrosos se desarrolla a partir de la Teora Clsica de Conjuntos, en la cual, un conjunto se dene como una coleccin de objetos (de cualquier

3 IMPRECISIN E INCERTIDUMBRE EN LA INFORMACIN

21

tipo) denominados elementos o miembros del conjunto. Se denominar universo del discurso o dominio al tipo de los objetos contenidos en el conjunto. Un conjunto se puede denotar bien listando todos los elementos, bien deniendo las propiedades de los mismos, o bien mediante una funcin caracterstica.

Un conjunto borroso extiende la denicin de un conjunto convencional (que por contraposicin, suelen llamarse conjuntos ntidos) permitiendo que sus elementos tomen valores diferentes de la pertenencia total o la no pertenencia. Estos valores suelen presentarse normalizados en el intervalo [0..1], de manera que la denicin de un conjunto borroso A cuyo universo del discurso es X puede realizarse mediante una funcin de pertenencia de la forma: A : X [0 . . . 1] A partir de esta idea bsica, se desarrolla una teora de la imprecisin que abarca reas que salen de lo que estrictamente se puede considerar teora de conjuntos. En [RBP98] se ofrece un compendio de todas esas reas relacionadas.

Debido a que los conjuntos borrosos son tiles en la denicin de categoras vagas del lenguaje humano, se utiliza con frecuencia en la literatura del rea el trmino etiqueta lingstica, que se dene como una palabra o frase en lenguaje natural que expresa un conjunto difuso, que puede estar formalmente denido o no. De esta manera, se pueden representar conceptos difusos como joven o viejo, y tambin conjuntos relacionados de valoraciones o gradaciones difusas como {muy alto, alto, medio, bajo, muy bajo}.

Es importante resaltar que los sistemas difusos no son meras construcciones formales, sino que tienen una interpretacin concreta en la realidad de las percepciones humanas, como se seala en [VLn91]. Por ello, son una construccin considerada natural o intuitiva en el modelado de informacin, que es objeto esencial de esta tesis.

Por ltimo, cabe ubicar esta tesis en el reciente marco de reestructuracin propuesto por Zadeh [Zad01], que comprende las siguientes facetas dentro de la etiqueta general de lgica borrosa:

3 IMPRECISIN E INCERTIDUMBRE EN LA INFORMACIN

22

Faceta lgica (logical facet, L), es decir, un sistema lgico que incluye como casos concretos las lgicas multivaluadas. Faceta de conjuntos (set-theoretical facet, S), que trata de la denicin de clases o conjuntos cuyas fronteras no estn denidas de manera totalmente ntida. Faceta relacional (relational facet, R), que trata la representacin y manipulacin de funciones que estn denidas de manera imprecisa, incluyendo las reglas de tipo "si-entonces". Faceta epistmica (epistemic facet, E), que se centra en las aplicaciones en la representacin del conocimiento, bases de datos borrosas y las teoras de la posibilidad y de la probabilidad. Por tanto, este trabajo puede encuadrarse en las facetas epistmica y de conjuntos de la lgica borrosa, ya que en ltimo trmino trata con representaciones de informacin, y clases de entidades que no estn denidas de manera precisa. Secundariamente, se puede encuadrar en la faceta relacional, dado que se trata el paradigma de adaptacin basado en reglas como un modelo de adaptacin concreto.

3.4. La teora de la medida borrosa


Los conjuntos borrosos proporcionan una manera de representar la imprecisin que surge de la vaguedad en las descripciones. Las medidas borrosas, en cambio, representan la incertidumbre sobre la pertenencia de un determinado elemento a uno o varios conjuntos ntidos. Por ejemplo, en un juicio, los abogados tienen una cierta evidencia (y por tanto, un cierto grado de incertidumbre) sobre si el acusado es culpable o inocente, pero los conjuntos que denen la culpabilidad o la inocencia son ntidos.

Una medida borrosa asigna un valor a cada subconjunto ntido del conjunto universal, representando el grado de evidencia o creencia sobre la pertenencia de un determinado elemento a los mismos. En general se dene como:

g : P (X) [0 . . . 1]

4 APLICACIONES DE LA LGICA BORROSA EN ESTIMACIN DE ESFUERZO DEL DESARROLLO DEL SOTFWARE

23

Donde X es el conjunto universal, y P (X) su conjunto potencia. Toda medida borrosa debe cumplir varios axiomas (condiciones de frontera, monotonicidad y continuidad) como se describe, por ejemplo, en [KF88].

Dos tipos especiales de medidas borrosas son las medidas de plausibilidad y las de creencia. Las medidas de probabilidad, de posibilidad y de necesidad son tipos especiales de las mismas.

4. Aplicaciones de la Lgica Borrosa en estimacin de Esfuerzo del Desarrollo del Sotfware


Dentro de los trabajos de mejora de la estimacin del esfuerzo del desarrollo del Software destacan los de calibrado del modelo Post-Arquitectura desarrollados en la Universidad del Sur de California por Chulani et al. en [CCBS98] (tratado con mayor profundidad en [CBS99] y en la tesis [DC99] vase Cuadro 1 y Cuadro 2 a continuacin) que segn estos autores queda limitada por el pequeo nmero de observaciones (83) sobre el que realiz la regresin multiple. Si bien, concluyen que segn la base de proyectos crezca es posible que la estimacin sea ms anada.

Factores de escala Drivers PREC FLEX RESL TEAM PMAT XL VL 6,20 5,07 7,07 5,48 7,80 L 4,96 4,05 5,65 4,38 6,24 N 3,72 3,04 4,24 3,29 4,68 H 2,48 2,03 2,83 2,19 3,12 VH 1,24 1,01 1,41 1,10 1,56 XH 0,00 0,00 0,00 0,00 0,00

Cuadro 1: Factores de escala COCOMO II

Multiplicadores de esfuerzo (Post-arquitectura) RELY DATA CPLX RUSE DOCU TIME STRO PVOL ACAP 1,42 0,87 1,19 0,81 0,73 0,82 0,92 0,90 0,87 0,95 0,91 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,10 1,14 1,17 1,07 1,11 1,11 1,05 1,15 0,85 1,26 1,28 1,34 1,15 1,23 1,29 1,17 1,30 0,71 1,63 1,46 1,74 1,24

4 APLICACIONES DE LA LGICA BORROSA EN ESTIMACIN DE ESFUERZO DEL DESARROLLO DEL SOTFWARE

24

PCAP PCON APEX PLEX LTEX TOOL SITE SCED

1,34 1,29 1,22 1,19 1,20 1,17 1,22 1,43

1,15 1,12 1,10 1,09 1,09 1,09 1,09 1,14

1,00 1,00 1,00 1,00 1,00 1,00 1,00 1,00

0,88 0,90 0,88 0,91 0,91 0,90 0,93 1,00

0,76 0,81 0,81 0,85 0,84 0,78 0,86 1,00 0,80

Cuadro 2: Multiplicadores de esfuerzo de COCOMO II - Post-arquitectura

Por otra parte, Musilek et al. en [MPSS02], al igual que Chulani et al., exponen que la variable ms crtica en el proceso de estimacin es el tamao del producto SLOC. Stendrud et al. en [SFKM02] arman que se deberan considerar otros criterios de evaluacin de los estimadores de KSLOC, distintos de MRE, MMRE, MdRE o Pred(k) dado que no son independientes del tamao del proyecto. En el citado artculo de Musilek et al. utilizan tcnicas de Lgica Difusa para el clculo de SLOC e indican que, en cuanto a crticas en la estimacin del esfuerzo, le siguen los M Aj factores multiplicadores de ajuste y por ltimo, los F Ei factores de escala de ajuste. No considera ninguno de los autores antes mencionados las desventajas de usar datos de mltiples compaias, con diferentes culturas y modos de produccin, frente a datos de una o de un mismo tipo como indican Ruhe et al. en [RW02]. Tampoco tienen en cuenta que los tipos de escala (Stevens [Ste46] [Nominal, Ordinal, Intervalos, Ratios, Absolutos] utilizados, Nominales y Ordinales sobre intervalos clsicos, no son aplicaciones de tipo natural. Todo ello, lleva a Musilek et al. en [MPSR00] a indicar que la estimacin del esfuerzo/coste del desarrollo de Software lleva inherentemente asociado la incertidumbre y, consiguientemente, proponer la incorporacin a los modelos de estimacin de conceptos de Lgica Difusa .

Numerosos autores en sus publicaciones sobre sistemas de desarrollo de modelos de prediccin del esfuerzo de produccin del Software, entre los que cabe destacar a Gray y MacDonell en [ARG97], indican que las tcnicas de Lgica Difusa, en especial aquellas que utilizan variables lingsticas, como uno de los enfoques especialmente tiles para resolver estos problemas,y lamentan, no obstante, " las pocas publicaciones que en rea de la Ingeniera del Software, en particular, en los modelos de estimacin de costes, en contraste con lo sorprendentemente rpida que ha sido su adopcin en las dems reas".

4 APLICACIONES DE LA LGICA BORROSA EN ESTIMACIN DE ESFUERZO DEL DESARROLLO DEL SOTFWARE Entre las publicaciones sobre el tema cabe destacar:

25

Idri et al. en [IKA00] que estudia el posible uso de variables lingsticas de Lgica Difusa en algunos factores de ajuste como son experiencia de los programadores (PLEX) y la complejidad de los mdulos (CPLX) que se miden, ambos, en una escala ordinal el primero en meses, y el segundo desde Bajo (L) hasta muy alto (VL) dentro del submodelo "intermediate"de modelo COCOMO81. Seguidamente, en posteriores publicaciones realiza un estudio de similitudes entre proyectos usando los cuanticadores lingsticos y operadores de agregacin con el n de obtener una distancia [d(Pi , Pj ) < x] que clasique los proyectos. [IA01c], [IA01b], [IA01a]. Posteriormente, ha propuesto un mtodo basado en el razonamiento por analoga, Lgica Difusa y cuanticadores lingsticos para estimar el esfuerzo [IAK01b]. Pero dene como un problema NP-Duro la seleccin de los atributos mediante tcnicas Case-Based Reasoning. Por ello, considera la heurstica como un mtodo razonable y utiliza como atributos los factores de ajuste del Modelo COCOMO81 [IAK01a], [IAK02]. Como conclusiones de su trabajo, hasta el da de hoy, expresa que el principio de analoga de Shepperd en [She97] similar project have similar cost no siempre es ntido, ni determinista. Y que con las observaciones utilizadas y la sistemtica de observacin actual podemos encontrar aplicaciones que son similares pero sus salidas son completamente diferentes.[IAK02].

Musilek et al. en el ya citado artculo [MPSS02] exponen la necesidad de utilizar el tamao del Software como un conjunto borroso dado que su estimacin se hace en base a juicios de valor humanos. El anlisis lo lleva a cabo haciendo uso de conjuntos difusos triangulares y parablicos. Llevando a cabo su incursin sobre un submodelo embebido del modelo COCOMO 81 simplicado. Tambin present en la Conferencia sobre la Educacin en Ingeniera de Phoenix (Arizona), el modelo anterior con un tratamiento de la incertidumbre inherente a las variables inspeccionadas para un uso ms didctico que real.

Carb propone en [Car03] la necesidad de dar un papel central en la estimacin a la Lgica Difusa puesto que numerosos de los factores usados son inherentemente

4 APLICACIONES DE LA LGICA BORROSA EN ESTIMACIN DE ESFUERZO DEL DESARROLLO DEL SOTFWARE

26

borrosos comentando que la contribucin de esta, la Lgica Difusa, "mejorar notablemente sus resultados con el uso de adaptive fuzzy reputation of experts y fuzzy measure of the accuracy .

Fei et al. en [FL92] presenta, lo que el mismo dene como, el resultado de una tentativa de aplicacin de un modelo de estimacin de Ingeniera del Sotfware que empleando la Teora de los Conjuntos Borrosos mejore el modelo COCOMO 81 y concluye expresando que el uso de la Teora de los Conjuntos Borrosos es alentador. Si bien, su uso no es viable para la toma de decisiones, puesto que muchos factores no se han tratado con la importancia y profundidad que el problema requiere.

5 PLANTEAMIENTO DEL PROBLEMA

27

Parte II

Investigacin propuesta
5. Planteamiento del Problema
La experiencia nos demuestra que no existe ninguna tcnica de estimacin que d mejores resultados en todas la situaciones. As, Shepperd et al., Niessink y Van Vliet han concluido que la estimacin por analoga proporciona los mejores resultados [SS97b], [She97], [NV97]. Por el contrario, Briand et al., Stensrund y Myrtveit han publicado resultados totalmente opuestos [BLW00], [MS99]. Sin embargo, las metodologas ms usadas en la actualidad, como ya se indic en el punto 2.2, son las basadas en modelos matemticos paramtricos. El ms relevante de estos modelos es COCOMO II 1 , que nos servir como marco de trabajo por sus especiales caractersticas de libre distribucin y publicacin de su conguracin y denicin de variables. Este modelo para el clculo del esfuerzo y tiempo de desarrollo usa ecuaciones no lineales (ver ecuacin 1 y ecuacin 2 a continuacin).

Esfuerzo: e(M M ) = a (s)b+c


m i=1

F Ei

j=1

M Aj

(1)

donde e es el Esfuerzo medido en hombre - mes (Man - Month, MM), s el Tamao en miles de lneas de cdigo fuente (Source Lines Of Code, SLOC), a, b y c son constantes, y M Aj el valor del factor multiplicador de ajuste j, n vale 7 en el submodelo diseo preliminar y 17 en post- arquitectura y F Ei es el factor de escala de ajuste i, en le que m vale 5 en el submodelo post- arquitectura. Tiempo de desarrollo: t = 3(e)0,33+0,2(b1,01)
1

SCED % 100

(2)

La informacin sobre este modelo se puede encontrar en:[ http://sunser.usc.edu/research/COCOMOII/expert_c.html]

5 PLANTEAMIENTO DEL PROBLEMA

28

donde t representa el Tiempo en meses, e es representa el esfuerzo medido en MM, b es una constante y SCED es el multiplicador de esfuerzo Tiempo necesario para el desarrollo, estimado en porcentaje. Ecuaciones no lineales del submodelo post- arquitectura del modelo COCOMO II

En las ecuaciones de estimacin se usa el parmetro del tamao esperado del producto s, ya expresado en lneas de cdigo fuente, ya en puntos de funcin [FP97], como una entrada (variable independiente de la ecuacin) para el correcto clculo del esfuerzo no dependiente del entorno de desarrollo. Del mismo modo, dentro de la ecuacin se utilizan un conjunto de factores de escala de ajuste F Ej y otro de factores multiplicadores de ajuste M Aj . Estos ltimos se agrupan, a su vez, en cuatro categoras: Producto, Personal, Proyecto y Plataforma (en el submodelo post-arquitectura del modelo COCOMO II son 5 y 17 respectivamente [BAC00]). Todos estos factores de ajuste ("cost drivers") se asocian bajo el mismo trmino dado que su utilidad comn es reejar las caractersticas propias del entorno de desarrollo y su inuencia en el esfuerzo estimado, as, por ejemplo, PMAT (Madurez de Procesos), TEAM (Cohesin del equipo), ACAP (Aptitud de los analistas), etc. Cada factor de ajuste se establece dentro de una medidas discretas cualitativas que, usualmente, se denen mediante un nmero de niveles dentro de un rango [BAC00], como por ejemplo: Muy bajo ("VL") Bajo ("L") Nominal ("N") Alto ("H") Muy alto ("VH") Extra alto ("EH")

Cada uno de los niveles tiene asignado un valor, un nmero real, para su insercin en la ecuacin una vez elegido el mismo. (Vase cuadro 1 y cuadro 2 en la seccin 4 y cuadro 3 a continuacin).

Cost Drivers RELY

Muy bajo Ligera inconveniencia

Bajo Prdidas perables bajas

Nominal Prdidas eradas ables modfcil-

Alto Prdidas vadas ele-

Muy alto Riesgos para la vida humana

Extra alto

fcilmente recu-

mente recuper-

5 PLANTEAMIENTO DEL PROBLEMA


Cost Drivers DATA CPLX RUSE DOCU Muchas necesidades del ciclo de vida no cubiertas TIME Ninguna Algunas necesidades del ciclo de vida no cubiertas DB bytes / Pgm SLOC < 10 En el programa Correctamente dimensionada para el ciclo de vida del STOR 50 % uso 70 % uso 85 % uso 95 % uso tiempo 70 % uso 85 % uso 95 % uso 10 D/P < 100 100 D/P < 1000 Tiene una tabla explicativa propia: CPLX En el proyecto Excesiva En la lnea de producto Muy excesiva D/P 1000 Muy bajo Bajo Nominal Alto Muy alto Extra alto

29

Mltiples lneas de producto

disponible 50 % uso del almacenamiento disponible PVOL Cambios importantes cada 12 meses; cambios menores mes ACAP PCAP PCON APEX PLEX LTEX TOOL Percentil 15 Percentil 15 48 % ao 2 meses 2 meses 2 meses Edicin, codicacin, debug Percentil 35 Percentil 35 24 % ao 6 meses 6 meses 6 meses CASE, poca integracin Percentil 55 Percentil 55 12 % ao 1 ao 1 ao 1 ao Herramientas bsicas para el ciclo de vida, integracin moderada Percentil 75 Percentil 75 6 % ao 3 aos 3 aos 3 aos Herramientas maduras integracin moderada para el ciclo de vida, Percentil 90 Percentil 90 3 % ao 6 aos 6 aos 6 aos Herramientas maduras proactivas ciclo para de el vida, cada Importantes: 2 semanas 6 Importantes: 1 semana 2 Importantes: 2 semanas; menores: 1 da meses; menores: meses; menores:

bien integradas con procesos y mtodos

SITE: cacin

Ubi-

Internacional Telfono, correo postal

Multiciudad Telfono vidual, fax

Multiciudad multicompaia

Misma ciudad E-mail de banda ancha

Mismo edicio Comunicacin electrnica banda de ancha,

Misma situacin Multimedia interactiva

multicompaia indi-

SITE: Comunicaciones

E-mail de banda estrecha

video conferencia ocasional SCED PREC FLEX RESL TEAM %75 del nominal Profundamente desconocido Riguroso Poco (20 %) Interacciones muy difciles PMAT Nivel CCM 1 Bajo En gran parte desconocido Relajacin ocasional Alguna (40 %) Algunas teracciones difciles Nivel CCM Cuadro 4: Descripcin de los factores de ajuste( cost drivers) de COCOMO II 1 Alto inAlgo desconocido Alguna jacin A (60 %) Interacciones bsicamente cooperativas Nivel 2 CCM Nivel 3 CCM Nivel 4 CCM Nivel 5 CCM menudo relaGeneralmente desconocido Conformidad general Generalmente (75 %) En gran parte cooperativas En gran parte conocido Alguna formidad En su mayor Totalmente (100 %) Iteracciones sin suras parte (90 %) Altamente cooperativas conProfundamente conocido Metas generales 85 % 100 % 130 % 160 %

Muchos de los factores de ajuste habitualmente utilizados son difcilmentes aprehensibles (por ejemplo RELY abilidad) o estimables (por ejemplo APEX experiencia de los analistas) a partir de datos objetivos. El procedimiento para obtener los factores de ajuste (como atributos en categoras cualicadas a las que se les hace corresponder un nmero, para introducirlo dentro de una ecuacin obtenida de una

5 PLANTEAMIENTO DEL PROBLEMA regresin no lineal ) al menos presenta las siguientes limitaciones:

30

i Los niveles descritos se toman como categoras ntidas, obviando el hecho de que el uso lingstico que los seres humanos hacen de los mismos es inherentemente vago. Es decir, las categoras que forman los niveles tienen un cierto grado de solapamiento. ii Se realiza una asignacion arbitraria de una expresion ligstica a un rango numrico de valores, sin tener en cuenta el uso de dichas expresiones cuando son formuladas por los ingenieros (practitioners). Un modelo mas realista de dichos rangos requerira el estudio de uso real de dichos conceptos en el contexto de la Ingeniera del Software mediante tcnicas experimentales. iii Los modelos paramtricos matemticos existentes no tratan en profundidad el hecho de que ciertos factores de ajuste pueden venir determinados por criterios subordinados, que posiblemente, tengan una expresion vaga. iv El proceso de seleccin de los factores de ajuste en los modelos existentes se ha basado en tcnicas de consecucin de consenso de expertos, como el mtodo Delphi, que no tienen en cuenta la relaciones imprecisas entre los factores que inuyen en el esfuerzo de desarrollo. v Las frmulas matemticas que utilizan estos modelos para obtener las estimaciones trabajan en el dominio de los enteros, obviando, por ello, la vaguedad tanto en las entradas por las salidas. Todos los puntos que se acaban de describir son manifestaciones del hecho de que la imperfeccin en la informacin es una caracterstica inherente al proceso de estimacin del software por el uso de trminos lingsticos ms propios o cercanos a la manera de pensar del ser humano que a su utilizacin en formulas matemticas.

Ninguna de las investigaciones existentes para resolver la problemtica descrita cubre la globalidad de las limitaciones descritas. Los trabajos actuales se centran en el punto (iii) [IA01b], [MPSS02], [Car03], [FL92] y slo Musilek en [MPSS02] aborda el punto (v) desde el punto de vista de la introduccin de nmeros borrosos en la frmula.

6 OBJETIVOS

31

6. Objetivos
La Teora de los Conjuntos Borrosos iniciada por Zadeh [Zad75] ha demostrado su utilidad en la prctica al usar trminos y expresiones lingsticas frente a las variables y funciones ntidas de la matemtica y lgica tradicionales [DHR97]. Su uso, como herramienta en el campo de control [Pra99], se ha extendido a multitud de campos, no solo en la ingeniera, sino en otras tal como psicologa [Z economa [ZPB01], 88], etc. El uso de la lgica difusa como tecnologa base de los sistemas de informacin hace nfasis en representar el lenguaje natural tal como lo usan los humanos. Esta es bsicamente una lgica multivaluada que permite valores intermedios para poder denir ms evaluaciones que las convencionales S/No,True/False, etc. Permite un manera ms suave (menos ntida (crisp) ) de establecer los limites de pertenencia de manera mas exible.

Por ello, se propone la extensin de los modelos de estimacin del esfuerzo de desarrollo del sotfware mediante estas tcnicas. Como se ha expuesto anteriormente, ninguna de las aproximaciones existentes abarca todos los elementos de los modelos de estimacin paramtrica y adems, se han dejado reas sin un apropiado tratamiento. El objetivo de esta tesis doctoral es el de generalizar la estimacin paramtrica matemtica del desarrollo del software mediante la inclusin de un soporte explcito de imprecisin, de acuerdo a la Teora de los Conjuntos Borrosos y marcos matemticos de tratamiento de la incertidumbre relacionados con ella [KF88].

Para ello, se parte de una formulacin genrica de los elementos que aparecen en todo modelo de estimacin paramtrica del software [CAV01], y se generalizan sus elementos esenciales, que podemos sintetizar en los siguientes:

i Las variables de entrada y la estimacin de sus valores. ii La composicin e interaccin de factores de ajuste secundarios que puedan identicarse como estimadores de las variables o factores de ajuste que aparecen de manera directa en las frmulas de estimacin. iii Las propias frmulas del modelo.

6 OBJETIVOS

32

iv El proceso de obtencin de las frmulas y reglas que conforman un proceso de estimacin paramtrica del software. La imprecisin en las variables de entrada [i] viene determinada por el lenguaje natural, y sus correlatos mentales imprecisos, segn los han caracterizado investigaciones precedentes en el campo de la psicologa cognitiva como el de E. Rosch en [Ros88]. Por ello, los mtodos de elicitacin de funciones de pertenencia (ver [BT99]) se presentan como posibles herramientas para una caracterizacin ms adecuada lingsticamente de esas variables.

Por otro lado, las variables utilizadas en los mtodos de estimacin actuales pueden analizarse con ms profundidad y modelarse como dependientes de otras variables y estimadores indirectos o secundarios [ii] [Gal01] . La adecuada consecucin de los valores para las variables principales puede conseguirse mediante el diseo de operadores de agregacin [CKKM02] exibles e interpretables [Gra97] que tengan en cuenta interacciones entre las variables secundarias, como la correlacin o la sustitutibilidad [Mar00].

Las propias frmulas de la estimacin pueden generalizarse [iii] mediante el uso de nmeros borrosos como se ha hecho en [MPSS02] para el modelo original de COCOMO. Sin embargo, queda por explorar esa extensin para modelos ms ricos como COCOMO II.

Por ltimo, puede estudiarse el uso de las tcnicas de regresin borrosas [IKW01] [CA01] como alternativas para la regresin o calibracin de las frmulas que proporcionan los modelos de estimacin, as como procesos de clustering borroso [KB97] para la identicacin de grupos de proyectos con caractersticas especiales para la estimacin que pudiesen tenerse en cuenta en dichos modelos.

El resultado de la investigacin pretende ser, por tanto, un modelo extendido de estimacin paramtrica del software que tenga en cuenta la imprecisin en la informacin de manera explcita.

7 METODOLOGA

33

Las aportaciones signicativas detalladas que se espera obtener como resultado del proceso de investigacin son las siguientes:

Un modelo genrico difuso de estimacin del esfuerzo de desarrollo del Software. Un mtodo de estimacin de entradas lingsticas imprecisas en el contexto de la estimacin paramtrica matemtica del esfuerzo de desarrollo de sotfware, aplicado a factores de ajuste concretos. Un estudio del uso de agregadores exibles para la composicin de entradas imprecisas en el contexto de la estimacin paramtrica matemtica del esfuerzo de desarrollo de sotfware. Un estudio de la aplicabilidad de la regresin y el clustering a los modelos de estimacin paramtrica matemtica , as como casos de estudio concretos al respecto. Un estudio de la aplicabilidad de las tcnicas de regresin borrosa y clustering borroso a la estimacin paramtrica matemtica del esfuerzo de desarrollo de sotfware.

Otras aportaciones relacionadas que se espera surjan del proceso de investigacin incluyen las siguientes:

Una taxonoma de los mtodos de estimacin del esfuerzo de desarrollo del Software. Consideraciones relativas a la inuencia del uso de imprecisin en la auditora de sistemas de estimacin paramtrica.

7. Metodologa
La metodologa seguida en esta investigacin comprende las siguientes fases:

7 METODOLOGA

34

1. Estudio del estado de la cuestin. Se estudian, por un lado, los modelos y tcnicas de estimacin del esfuerzo en el desarrollo del Software, y por otro, los diferentes modelos matemticos de representacin de informacin imperfecta. Finalmente, se estudian los sistemas y tcnicas que aplican estos ltimos a los primeros.

2. Descripcin del contexto del problema. El problema que se plantea es el de la Ingeniera del Software sobre la estimacin del esfuerzo en el desarrollo del Software con informacin imperfecta, y se presenta la necesidad de que los modelos de esas aplicaciones tengan un soporte explcito de imprecisin e incertidumbre. El enfoque de este planteamiento parte de la consideracin de los diferentes tipos de informacin imperfecta (segn la taxonoma descrita por Smets en [Sme97] ) y el examen de las fuentes de estos tipos de informacin en cada uno de los componentes que suelen considerarse en la estimacin del esfuerzo en el desarrollo del Software con modelos matemticos paramtricos. Se analizarn los requisitos necesarios para que un modelo matemtico paramtrico tenga en cuenta la informacin imperfecta.

3. Denicin del modelo. Se dene de manera rigurosa el modelo matemtico paramtrico de estimacin del esfuerzo en el desarrollo del Software extendido. La solucin al problema planteado se centrar en la extensin de los modelos matemticos paramtricos actuales para soportar informacion imperfecta. Ms concretamente, se utiliza la Teora de Conjuntos Borrosos y algunos modelos relacionados para denir nuevos elementos de modelado que se adecen a ese tipo de informacin.

4. Validacin del modelo. La validacin del modelo propuesto consta de dos partes claramente diferenciadas. Por un lado, se debe comprobar que la aplicacin de variables lingsticas conserva la semntica del modelo pre-existente en el que se basa. Por otro lado, se identicarn aspectos concretos de la estimacin, que queden cubiertos por el modelo extendido y no por sus predecesores.

5. Formulacin de conclusiones. Se concluir con un anlisis del mbito y grado de cobertura alcanzado con el modelo.

8 MTODO DE EVALUACIN

35

8. Mtodo de Evaluacin
En esta seccin describimos los bloques fundamentales que conforman la evaluacin de la consecucin de los objetivos planteados para la investigacin.

Esta evaluacin consta de dos partes diferenciadas: a) En primer lugar, se proceder a una validacin del modelo extendido de estimacin paramtrica del software propuesto, en cuanto a su estatus de modelo generalizado. b) En segundo lugar, se realizar una evaluacin analtica que identique aspectos signicativos concretos de estimacin que quedan abarcados por el modelo extendido y no por los modelos no extendidos precedentes. De esta manera, las generalizaciones planteadas quedarn justicadas en una base emprica concreta. La parte [a] de la evaluacin est orientada a la comprobacin de la correccin realizada en el proceso de extensin de los modelos paramtricos existentes. Las actividades que se realizarn para esta parte de la validacin incluyen las siguientes: Reduccin del modelo general propuesto a su contrapartida no extendida, para comprobar que la generalizacin es efectiva. Ejemplicacin de la generalizacin propuesta en un modelo de estimacin paramtrica concreto, como puede ser COCOMO. Comprobacin de los modelos y mtodos propuestos en casos de estudio concretos de aplicabilidad directa, incluyendo casos concretos de agregacin y borrosicacin de las variables de estimacin. La parte [b] tiene como objetivo demostrar que el modelo de estimacin extendido posee una capacidad explicativa ms amplia que los modelos no extendidos. De esta manera, se validar el hecho de que el nuevo modelo, en su calidad de teora predictiva abarca un dominio de hechos ms amplio que el de sus predecesores, es decir, tiene un excedente de contenido emprico segn Popper y Lakatos [Lak70].

REFERENCIAS

36

9. Bibliografa Referencias
[Abr99] A. Abran. FFP release 2.0: An implementation of COSMIC functional size measurement concepts. In FESMA 99, Amsterdam, 1999. [AHM91] T. Abdel-Hamid and S. Madnick. Prentice-Hall, 1991. [ARG97] S. G. MacDonell A. R. Gray. A comparision of techniques for developing predictive models of software metrics. In Information and Software Technology 6, pages 425437, 1997. [AS97] Gray A. and MadDonell S. Applications of fuzzy logic to software metric models for development eort estimation. In Annual Meeting of the North American Fuzzy Information Proccessing Society, pages 394399, Syracuse, NY, USA, 1997. [Ass96] Galorath Associates. SEER-SEM Users Manual Versin 4.5. Galorath Associates Technologies, El Segundo, 1996. [Ass98] UK Software Metrics Association. UKSMA, Mk II Function Point Analysis Counting Practices Manual Version 1.3.1. UK Software Metrics Association, 1998. [BAB+ 00] B. W. Boehm, C. Abts, A. W. Brown, S. Chulani, B. K. Clark, E. Horowitz, R. Madachy, D. Reifer, and B. Steece. Software Cost Estimation with COCOMO II. Prentice Hall, 2000. [BAC00] B.W. Boehm, C. Abts, and S. Chulani. Software development cost approaches - a survey. Annals of Software Engineering, 10:77205, 2000. [BLW00] L. Briand, T. Langley, and I. Wieczorek. A replicated assessment and comparison of common software cost modeling techniques. In International Conference on Software Engineering-ACM Press, pages 377386, New York, NY, USA, 2000. Software Project Dynamics.

REFERENCIAS [Boe81] [BT99] B. Boehm. Software Engineering Economics. Prentice Hall, 1981.

37

T. Bilgi and I. Burhan Trken. Measurement of membership functions: Theoretical and experimental work. In D. Dubois and H. Prade, editors, Handbook of Fuzzy Sets and Systems, Vol. 1 Fundamentals of Fuzzy Sets, chapter 3, pages 195202. Kluwer Academic Publishers, 1999.

[CA01]

Y.O. Chang and B.M. Ayyub. Fuzzy regression methods a comparative assessment. Fuzzy Sets and Systems, 119:187203, 2001.

[Car03]

J. Carb. Fuzzy logic in estimation of eort in software projects. In 10th ISPE INTERNATIONAL CONFERENCE ON CONCURRENT ENGINEERING: RESEARCH AND APPLICATIONS. ISPE/CE, pages 4550, 2003.

[CAV01]

J. Cuadrado, A. Amescua, and M. Velasco. The problem of wise selection of the input variables rating levels in parametric models. In Proceedings of the 3rd Join Annual ISPA/SCEA Conference, 2001.

[CBS99]

Sunita Chulani, Barry Boehm, and Bert Steece. Bayesian analysis of empirical software engineering cost models. IEEE Transactions on Software Engineering, 25(4):573583, July/August 1999. Special Section: Empirical Software Engineering.

[CCBS98]

S. Chulani, B. Clark, B. Boehm, and B. Steece. Calibration approach and results of the COCOMO II post-architecture model. In 20th Annual Conference If the International Society of Parametric Analysts (ISPA) and the 8th Annual Conference of the Society of Cost Estimating and Analysis (SCEA), 1998.

[CCS03]

J. Crespo, J.J. Cuadrado, and M.A. Sicilia. A survey of articial intelligence methods on software development eort estimation. In 10th ISPE INTERNATIONAL CONFERENCE ON CONCURRENT ENGINEERING: RESEARCH AND APPLICATIONS. ISPE/CE, pages 2936, 2003.

REFERENCIAS [CdAS98]

38

R. Lpez Cortijo and A. de Amescua Seco. Ingeniera del Software: Aspectos de Gestin. Instituto Ibrico de la Industria del Software, 1998.

[CDS86]

S. Conte, H. Dunsmore, and V. Shen. Software Engineering Metrics and Models. Benjamin Cummins Publishing company, 1986.

[Che98]

G. Chen. Fuzzy Logic in Data Modelling : Semantics, Constraints, and Database Design. The Kluwer International Series on Advances in Database Systems, 1998.

[CKKM02]

T. Calvo, A. Kolesarova, M Komornikova, and R. Mesiar. Aggregation operators: New trends and application. studies in fuzzines and soft computing. In G. Mayor T. Calvo and R. Mesier, editors, In Evolutionary Computation, volume 97, pages 3106, 2002.

[DC99]

Sunita Devnani-Chulani. Bayesian Analysis of Software Cost and Quality Models. PhD thesis, Faculty of the Graduate School. University of Southern California, May 1999.

[DHR97]

D.Dubois, H.Prade, and R.R.Yager, editors. Fuzzy Information Engineering. John Wiley and Sons, 1997.

[dlLE02]

Real Academia de la Lengua Espaola. Diccionario de la Lengua Espaola, Vigsimo Primera Edicin. Espasa Calpe, Madrid,SP, 2002.

[Dol99]

J. J. Dolado. Limits to the methods in software cost estimation. In Conor Ryan and Jim Buckley, editors, Proceedings of the 1st International Workshop on Soft Computing Applied to Software Engineering, pages 6368, University of Limerick, Ireland, 12-14 April 1999. Limerick University Press.

[Dol00]

J. J. Dolado. A validation of the component-based method for software size estimation. IEEE Transactions on Software Engineering, 26(10):10061021, October 2000.

[Dol01]

J. J. Dolado. On the problem of the software cost function. Information and Software Technology, 43(1):6172, 1 January 2001.

REFERENCIAS [DYNO00]

39

T. Dohi, Y. Yatsunami, Y. Nishio, and S. Osaki. The eective smoothing technique to estimate the optimal software release schedule based on articial neural network. Transctions on Fundamentals of Electronics, Comunications and Computer Sciences, E83-A(5):796803, 2000.

[FL92]

Z. Fei and X. Liu. f-cocomo: fuzzy constructive cost model in software engineering. Fuzzy Systems, 1992., IEEE International Conference on , 8-12 Mar, pages 331337, 1992.

[For61]

J. Forrester, editor. Industrial Dynamics. Editorial MIT Press, Cambridge (EE.UU.), 1961.

[FP97]

N. Fenton and S. Peeger. Software Metrics: A Rigorous and Practical Approach. International Thomson Computer Press, 1997.

[Gal01]

Juan Jos Cuadrado Gallego. Mtodo Matemtico de seleccin de Rango de las Variables de Entrada en los Modelos Paramtricos Matemticos de Estimacin Sotfware. PhD thesis, Universidad Carlos III de Madrid, 2001.

[GBM03]

F. Gomez-Bezares and A. Madariaga. Inversin y nanciacin empresarial: seleccin temtica de lecturas. SPRI, Coop., Avda Deusto, Bilbao, Enero 2003.

[GCoPCET02] United States of America: Government/Industry Committee of Parametric Cost Estimating Techniques. Parametric Cost Estimating Handbook. National Aeronautics and Space Administration, 2002. [Gra97] M. Grabisch. Fuzzy integral as a exible an interpetraple tool of aggregation. In B. Bouchon-Meunier, editor, Studies in Fuzziness and Soft Computing, pages 7093. Physica Verlag, France, 1997. [Gro90] International Function Point Users Group. IFPUG, Function Point Counting Practices Manual Release 3.0. International function point users group, 1990. [GW93] Judge G. Griths W., Hill R. Learning and Practicing Econometrics. John Wiley and Sons, New York., 1993.

REFERENCIAS [HR98]

40

M. Hasenjager and H. Ritter. Active learning with local models. Neural Processing Letters, 7(2):107 117, 1998.

[IA01a]

A. Idri and A. Abran. Evaluating software project similarity by using linguistic quantier guided aggregation. In IFSA World Congress and 20th NAFIPS International Conference, volume 1, pages 4704756, Ottawa, Ontario,Canad, August 2001.

[IA01b]

A. Idri and A. Abran. A fuzzy logic based set of measures for software project similarity: validation and possible improvements. In Seventh International Software Metrics Symposium, 2001. METRICS 2001, pages 8596, London, England, July 2001.

[IA01c]

A. Idri and A. Abran. Towards a fuzzy logic based measures for software projects similarity. In 6th MCSEAI2000 - Maghrebian Conference on Computer Sciences, pages 1218, Fez, Maroc, April 2001.

[IAK01a]

A. Idri, A. Abran, and T.M. Khoshgoftaar.

Evaluating software

project eort by analogy based on linguistic values. In IFSA World Congress and 20th NAFIPS International Conference, volume 1, pages 470475, Vancouver, British Columbia,Canad, August 2001. [IAK01b] A. Idri, A. Abran, and T.M. Khoshgoftaar. Fuzzy analogy: A new approach for software cost estimation. In International Workshop on Software Measurement (IWSM01), pages 93101, Montreal,Quebec, Canad, September 2001. [IAK02] A. Idri, A. Abran, and T.M. Khoshgoftaar. Estimating software

project eort by analogy based on linguistic values. In Eighth IEEE Symposium onSoftware Metrics, volume 1, pages 2130, Ottawa, Ontario, Canad, August 2002. [IKA00] A. Idri, L. Kjiri, and A. Abran. Cocomo cost model using fuzzy logic. In 7th International Conference on Fuzzy Theory & Technology, Atlantic City, New Jersey, Feb 2000. [IKW01] B. Izyumov, E. Kalinina, and M. Wagenknecht. Software tools for regression analysis of fuzzy data. In 9th Zittau Fuzzy Colloquium, pages 221229, Zittau, Germany, 2001.

REFERENCIAS [Jon97] [Jon98]

41

T. Capers Jones. Applied Software Measurement. Mc Graw-Hill, 1997. T. Capers Jones. Estimating Software Cost. Mc Graw-Hill, out of printer edition, 1998.

[KB97]

N. Karayiannis and J.C. Bezdek. An integrated approach to fuzzy learning vector quantication and fuzzy c-means clustering. Transactions on Fuzzy Systems, 5(4):622628, 1997.

[KF88]

G. Klir and T. A. Folger. Fuzzy Sets, Uncertainty, and Information. Prentice Hall, 1988.

[Kin00]

E. W. King. Audintg PRICE s using enterprise. In Presentation at PRICE Systems 20th European Symposium 2000, pages 425 437, Roma, 2000.

[KKS94]

S. Kumar, B. A. Krishna, and P. S. Satsangi. Fuzzy systems and neural networks in software engineering project management. Applied Intelligence, 4:3152, 1994.

[KW98]

G. Klir and M. Wierman. Uncertainty-Based Information. Elements of Generalized Information Theory. Springer-Verlag, 1998.

[Lak70]

Imre Lakatos. Criticism and the Growth of Knowledge, pages 91195. Cambridge University Press, New York, 1970.

[LCHB99]

A. Lee, Ch. Chun-Hung, and J. Balakrishnan. Software development cost estimation: Integrating neural network with cluster analysis. Information and Management, 34(1):19, 1999.

[Mad94]

R. Madachy. A Software Project Dynamics Model for Process Cost, Schedule and Risk Assessment. PhD thesis, University of Southern California, 1994.

[Mar00]

J.L. Marichal. An axiomatic approach of the discrete choquet integral as a tool to aggregate interacting criteria. IEEE Transactions onFuzzy Systems, 8:800 807, Dec 2000.

[MK92]

T. Mukhopadhyay and S. Kekre. Software eort models for early estimation of process control applications. Transaction on Sotfware Engineering, 18(10):915924, October 1992.

REFERENCIAS [MPSR00]

42

P. Musilek, W. Pedrycz, G. Succi, and M. Reformat. Software cost estimation with fuzzy models. Applied Computing Review, 8, 2000.

[MPSS02]

P. Musilek, W. Pedrycz, Nan Sun, and G. Succi. On the sensitivity of cocomo ii software cost estimation model. Eighth IEEE Symposium on Software Metric, 2002.

[MS99]

I. Myrtveit and E. Stensrud. A controlled experiment to assess the benets of estimating with analogy and regression models. IEEE Trans. Software Eng., 4(25):510525., Jul/Aug 1999.

[NES97]

Nederlandse Software Metriken Gebruikers Associatie NESMA. NESMA Function Point Counting Practices Version 2.0. Nederlandse Software Metriken Gebruikers Associatie, 1997.

[NV97]

F. Niessink and H. Van Vliet. Predicting maintenance eort with function points. In International Conference on Software Maintenance, pages 32 39, Oct 1997.

[OB02]

O.Mavris and O. Bandte. Comparison of two probabilistics techniques for the assesment of economic uncertainty. In 19th Conference of International Society of Parametric Analists, pages 2032, 2002.

[PM92]

L. Putnam and W. Myers. Measures for Excellence. Reliable Software on Time, Within Budget. Yourdon Press Computing Series, Englewood Clis, N.J., 1992.

[Pra99]

Nadipuram R. Prasad, editor. Fuzzy Modeling and Control: Selected Works of Sugeno. CRC Press, 1999.

[PS97]

LLC PRICE Systems. PRICE S Reference Manual (Version 3.0). Lockheed- Martin, Mt Laurel, NJ, 1997.

[RBKM00]

R.Smith, C. Bonacina, P. Kearney, and W. Merlat. Embodiment of evolutionary computation in general agents. In In Evolutionary Computation, volume 8(4), pages 475493, 2000.

[RBP98]

E. Ruspini, P. Bonissone, and W. Pedrycz, editors. Handbook of Fuzzy Computation. IOS Press, 1998.

REFERENCIAS [Res97]

43

Software Productivity Research. Knowledge PLAN. Users Guide Version 2.0. Software Productivity Research, Burlington, MA, 1997.

[RJ00]

I. Wieczoreck R. Jeery, M. Ruhe. A comparative study of two software development cost modeling techniques using multiorganizational and company specic data. In Information and Software Technology, pages 10091016. IST, 2000.

[RL98]

Juan F. Ramil and M. M. Lehman. Fuzzy dynamics in software project simulation and support. In European Workshop on Software Process Technology, pages 122126, 1998.

[Ros88]

E. Rosch. Principles of categorization. Readings in Cognitive Science, a Perspective from Psychology and Articial Intelligenc, pages 312 322, 1988.

[RW02]

M. Ruhe and I. Wieczorek. How valuable is company-specic data compared to multi-company data for software cost estimation? In Eighth IEEE Symposium on Software Metric, pages 237 246, 2002.

[SFKM02]

E. Stensrud, T. Foss, B. Kitchenham, and I. Myrtveit. An empirical validation of the relationship between the magnitude of relative error and project size. In Eighth IEEE Symposium on Software Metric, 2002.

[She97]

M. Shepperd.

Estimating software project eort using analogies.

IEEE Transactions on Software Engineering, 23(11), November 1997. [SK95] Fisher D. Srinivasan K. Machine learning approaches to estimating software development eort. Transaction on Sotfware Engineering, 21(2):126137, February 1995. [Sme97] P. Smets. Imperfect information: Imprecision-uncertainty. In Uncertainty Management in Information Systems. From Needs to Solutions, pages 225254. Kluwer Academic Publishers, 1997. [SS97a] C. Schoeld and M. J. Shepper. New techniques for estimating from function point. In Annu IFPUG Conference, Scottsdale, Arizona, USA, 1997.

REFERENCIAS [SS97b]

44

M. J. Shepperd and C. Schoeld. Estimating software project eort using analogies. In IEEE Transactions on Software Engineering, 1997.

[Ste46]

S.S. Stevens. On the theory of scales of measurement. Science, 103, 1946.

[Vid02]

S. Vidarte. Reexiones para la gestin empresarial. Boletn de Estudios Econmicos, 2002.

[VLn91]

J. Velarde-Lombraa. Gnoseologa de los conjuntos borrosos. Servicio de Publicaciones de la Universidad de Oviedo, 1991.

[WJ97]

F. Walkerden and D.Ross Jeery. Software cost estimation: A review of models, process and practices. In Advances in Computers, pages 279290, 1997.

[Z 88]

T. Ztnyi, editor. Fuzzy Ssets in Psychology. Elsevier Science Publishers B.V., 1988.

[Zad75]

L A. Zadeh. The concept of a linguistic variable and its application to approximate reasoning. Information Sciences, 1(8):199249, 1975.

[Zad01]

L. A. Zadeh. Evolution of fuzzy logic. from past to future. In Proceedings of the Joint 9th IFSA World Congress and 20th NAFIPS International Conference, 2001.

[ZPB01]

C. Zopounidis, P.M. Pardalos, and G. Baourakis, editors. Fuzzy Sets in Management, Economics and Marketing. World Scientic, 2001.

Avalo el contenido del presente proyecto de tesis doctoral as como su interes y viabilidad. El/los director/es del trabajo:

Fecha: 27 de Octubre de 2003

Fdo.: Dr. D. Miguel ngel Sicilia Urbn

El doctorando:

Fecha: 27 de Octubre de 2003

Fdo.: D. Francisco Javier Crespo Yez .

Anda mungkin juga menyukai