ESTIMACION PARA PROYECTOS DE SOFTWARE (TIPOS, MODELO, TECNICAS) Y MODELO COCOMO Sandy C. Polvo Loaiza Universidad Autónoma de Tlaxcala Facultad de Ciencias Básicas, Ingeniería y Tecnología Resumen Antes de que el proyecto comience, el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos y tiempo. Dentro del conjunto de tareas para la planificación del proyecto se debe de estimar costo y esfuerzo con técnicas como la descomposición basada en el problema y en los procesos , además de modelos empíricos de estimación, sin embargo uno de los modelos mas populares es el COCOMO desde los años 80. Palabras clave: Estimación, técnicas, modelos, modelo COCOMO. ESTIMACION Estimar: cuanto dinero, esfuerzo, recursos y tiempo supondrá construir un sistema o producto específico de SW. Antes de que el proyecto comience el gestor del proyecto y el equipo de software deben estimar el trabajo que habrá de realizarse, los recursos que se requieran y el tiempo que transcurrirá desde el principio hasta el final. ESTIMACION DE RECURSOS Necesarios para completar el esfuerzo de desarrollo del software. En la figura 1 muestra las tres grandes categorías de los recursos de IS. Fig.1 Tres categorías de los recursos Cada recurso especifica cuatro características: Descripción del recurso, Un informe de disponibilidad, cuando se requerirá el recurso, y tiempo durante el cual el recurso se aplicará. Recursos Humanos El número de persona que requiere un proyecto de software solo se determina después de que se ha hecho una estimación del esfuerzo de desarrollo ejemplo (persona-mes). Recurso de Software Reutilizable La creación y reutilización de bloques de construcción, tales bloques, llamados componentes. Bennatan sugiere cuatro categorías de recursos de software que deben considerarse: Componentes ya desarrollados Componentes experimentados Componentes de experiencia parcial Componentes nuevos RECURSOS DEL ENTORNO Entorno de ingeniería del software (EIS) incorpora hardware y software. Técnicas de Estimación de costos Modelado algorítmico del costo: Se desarrolla un modelo usando información histórica relacionada a alguna métrica de software. Juicio Experto: Se consultan varios expertos en el dominio de la aplicación y en la técnica de desarrollo de software escogida. Estimación por analogía: Esta técnica es útil si se han realizado otros proyectos en el mismo dominio de la aplicación. La Ley de Parkinson: estable que el trabajo se expande hasta llenar el tiempo disponible. Precio a ganar: El costo se estima de acuerdo a lo que el consumidor esta dispuesto a gastar. Se calcula un valor de tres puntos o uno esperado. El valor esperador para la variable de estimación. (tamaño), S, se calcula como un promedio ponderado de las estimaciones optimista. • S=(S opt+ 4Sm+ Spes)/6 Por ejemplo, el rango de las estimaciones LDC para la función de análisis geométrico 3D es: optimista Mas probable pesimista Valor esperado 4600 ldc 6900 ldc 8600 ldc 6800 Ejemplo de estimación basado en el problema: Técnicas de Descomposición Tamaño de Software: se refiere a un resultado cuantificable del proyecto de software. Enfoque directo: El tamaño se puede medir en líneas de código (LDC). Enfoque indirecto: el tamaño se representa como puntos de función (PF). La descomposición basada en el problema implica el uso de KLOC y PF. La descomposición basada en el proceso incluye división basada en las tareas involucradas, en casos de uso. Estimación basada en el problema El planificador del proyecto comienza con un enfoque acotado del ámbito del software y a partir de ahí intenta descomponer el software en funciones problema que puedan estimarse individualmente. Entonces se estima las LDC o PF (las variables de estimación) para cada función. Ejemplo de estimación basado en PF Se centra en los valores de dominio de información más que en las funciones de software. El planificador del proyecto estima entradas externas, salidas externas, consultas externas, archivos lógicos internos y archivos de interfaz externos para el software CAD. Finalmente se deriva el número estimado de PF. Modelos Empíricos de Estimación Estimación Basada en el Proceso Técnica más común es basar la estimación en el proceso que se empleara. Este se descompone en tareas y estima el esfuerzo para lograr cada tarea. Basados en datos estadísticos La mayoría tiene una estructura con la forma: Donde A,B y C son constantes derivadas empíricamente, E es el esfuerzo en meses persona y ev es la variable de estimación (LOC o PF). E A B * ( ev ) C Estimación con casos de Uso Hay varios de estos modelos, uno de los mas populares ha sido el creado por Bohem, COCOMO (Constructive Cost Model). Apareció en los años 80, y desde entonces ha sido muy popular. Tipos de Modelos Básico Intermedio Avanzado Tipos de Proyectos en COCOMO Ejemplo de estimación basado en casos de uso Dentro de cada modelo COCOMO los proyectos se pueden clasificar de 3 tipos,. Los tipos son: Orgánico (Fácil): Proyectos desarrollados con grupos de trabajo pequeños, en un ambiente familiar y construyendo aplicaciones que les son familiares. Semi-independiente (Intermedio): Etapa intermedia entre proyectos orgánicos y de modo incorporado. De modo incorporado (Avanzado): Proyectos que deben operar dentro de limitaciones estrictas. Dependiendo del tipo de proyecto, serán los valores de las constantes que utilizará la fórmula de COCOMO involucrada. MODELO BASICO COCOMO El modelo calcula 3 valores para estimar el costo del proyecto, esto utilizando como entrada las líneas de código estimadas. Los valores estimados son: MP: Meses-persona TDES: Tiempo de desarrollo N: Número de personas necesarias Las fórmulas utilizadas para realizar esta estimación, dependerán del tipo de proyecto en cuestión. PROYECTOS TIPO ORGÁNICO: 1.05 MP= [2.4 (KLOC) ] KLOC = Miles de líneas de código 0.38 TDES= 2.5 (MP) N= MP/TDES PROYECTOS TIPO SEMI-INDEPENDIENTE: MP= 3.0 (KLOC) 1.12 0.35 TDES= 2.5 (PM) N= MP/TDES PROYECTOS TIPO INCORPORADO 1.20 PM= 3.6 (KLOC) 0.32 TDES= 2.5 (PM) N= MP / TDES de costo en cada fase (análisis, diseño, etc.) del transcurso de ingeniería del software. Referencias EL MODELO COCOMO INTERMEDIO Modifica las ecuaciones de estimación añadiendo un parámetro multiplicador, el cual será calculado en base a una tabla que evalúa la complejidad añadida debido a otros atributos asociados al proyecto. Las formulas entonces quedan de la forma: E FAE * B * ( ev ) C Donde FAE = producto de multiplicadores y es la multiplicación de los valores de la tabla escogidos para cada atributo. Modelo Intermedio de COCOMO EL MODELO COCOMO AVANZADO Incorpora todas las características de la versión intermedia y lleva a cabo una evaluación del impacto de los conductores http://www.mitecnologico.com/M ain/TiposEstimacionesYCaracteristi cas Roger S. Pressman, Ingeniera de Software, 6th. Edicion, McGrawHill. http://www.slideshare.net/ammac as1/procesos-de-ingenieria-desoftware http://www.fi.unju.edu.ar/materia s/materia/SI2/document/Clase_17jun-2009/SIII2009__Estimaci%F3n_para_Proyectos_So ftware.pdf?cidReq=SI2 Bennatan, E. M., Software Proyect Management: A practitioner´s Approach, McGraw-Hill,1992. http://catarina.udlap.mx/u_dl_a/ta les/documentos/lis/gonzalez_d_h/ capitulo5.pdf