Molo Neuronal Estimación para el Esfuerzo Desarrollo en Proyectos Software (MONEPS) Mario G. Almache C. Jenny A. Ruiz R. Geovanny Raura Rodrigo E. Fonseca C. Julio 4 y 5 2015
AGENDA 1. Antecentes 2. Trabajos relacionados 3. Molo neuronal propuesto 4. Resultados obtenidos 5. Conclusiones y trabajo futuro
Necesidad Necesidad mejorar mejorar la la precisión precisión en en la la estimación estimación l l esfuerzo esfuerzo Los errores en la estimación esfuerzo son todavía masiado grans. Se hace una mínima consiración los aspectos no funcionales l software. No hay un claro entendimiento sobre las relaciones causales entre factores y los resultados finales la estimación esfuerzo en software.
Algunos Algunos enfoques enfoques para para estimar estimar el el esfuerzo esfuerzo Existen tres categorías fundamentales: Molos Algorítmicos, Juicio l Experto, Machine Learning. Dentro los molos algorítmicos tenemos: Puntos Función (PF): énfasis en las características l dominio información. Líneas código (LDC): se centra en las funciones l software. Puntos Caso Uso: técnica promisoria pero aún controversial bido a la falta estandarización los casos uso.
Molos Molos algorítmicos algorítmicos Vs. Vs. Juicio Juicio l l experto experto Enfoque Ventajas Inconvenientes Aplicación idónea Molos algorítmicos Entradas y parámetros concretos. Objetividad. Eficiencia en cálculos. No prestan atención a circunstancias excepcionales. Rechazan opiniones subjetivas. Proyectos con escasas alteraciones accintales, con equipos sarrollo estables y productos sencillos. Juicio l experto Gran cantidad opiniones subjetivas. Consiración circunstancias excepcionales. Depenncia los expertos. Posturas expertos difíciles adoptar. Primeras fases sarrollo l producto.
Dos Dos molos molos algorítmicos: algorítmicos: Cocomo Cocomo 81 81 y y Cocomo Cocomo II II Figura No. 1: Cocomo 81 Calculator Figura No. 2: USC Cocomo II
Machine Machine Learning Learning (Aprendizaje (Aprendizaje Automático) Automático) Lógica difusa Minería datos Algoritmos genéticos Res neuronales artificiales Sistemas neuro-difusos
Res Res Neuronales Neuronales Artificiales Artificiales en en Backpropagation Backpropagation Características importantes: Aprenn manera supervisada e inductiva. Son suficientes 3 capas para las tareas aprendizaje e intificación patrones. Poca complejidad estructural y algorítmica. Buena disponibilidad herramientas automatizadas, tanto libres como propietarias, para el diseño y funcionamiento estas res. Campos aplicación más frecuentes: reconocimiento imágenes, clasificación patrones, codificación/codificación información, entre los más relevantes. Figura No. 3: Ejemplo RNA con cuatro capas
Aplicaciones Aplicaciones las las RNA RNA Figura No. 4: Reconocimiento Facial Figura No. 5: Procesamiento imágenes Figura No. 6: Reconocimiento voz
Molo Molo Neuronal Neuronal Propuesto: Propuesto: Molo Molo Calidad Calidad ISO ISO 25000 25000
Codificación Codificación Atributos Atributos en en MONEPS MONEPS Atributo Código Valores Descripción Nivel seguridad A2 Alto, Medio, Bajo Indica el nivel seguridad requerido para la aplicación. Número programadores Experiencia l equipo sarrollo Lenguaje Programación Número servidores M3 1, 2, 3,... Número integrantes l equipo sarrollo asignados. M1 Alta, Media, Baja Indica la experiencia l equipo sarrollo en aplicaciones similares. F1 Tabla No. 1: Algunos atributos tomados la norma ISO 25000 Imperativo, Declarativo, Orientado a Objetos, Orientado al Problema Tipo lenguaje programación utilizado. E3 1, 2, 3,... Número servidores requeridos para la aplicación.
Molo Molo Neuronal Neuronal Propuesto Propuesto Figura No. 7: RNA simplificada y utilizada en Moneps
Resultados Resultados obtenidos: obtenidos: herramienta herramienta JustNN JustNN Figura No. 8: Carga datos en JustNN Figura No. 9: Red neuronal artificial en JustNN
Entrenamiento Entrenamiento la la RNA RNA usada usada por por MONEPS MONEPS Figura No. 10: Resumen entrenamiento para la RNA Figura No. 11: Error la RNA durante la fase entrenamiento
Estimación Estimación para para 3 3 casos casos prueba prueba y y contrastación contrastación con con Cocomo Cocomo 81 81 Caso Tabla No. 2: Tiempo y costo estimados por Moneps para 3 proyectos SW Tiempo real duración (meses) Tiempo estimado (MONEPS) Costo referencial (USD) Costo estimado (MONEPS) 1 3.00 3.65 7558.80 8139.45 2 5.00 3.97 8810.00 7273.05 3* 4.00 3.96 7244.00 7797.52 Caso Tabla No. 3: Cocomo 81 Vs. Moneps Real Tiempo (meses) Estimado por Cocomo 81 1 3.0 6.85 3.65 2 5.0 7.75 3.97 Estimado por Moneps 1. CODESOFT: Simulador para la evaluación aptitus aspirantes para el sarrollo software. 2. SIFFAAR: Sistema para automatizar el proceso control inventario y facturación en la empresa FAAR. 3. SICFO: Sistema para gestión fichas odontológicas (parte l conjunto entrenamiento)
Contrastación Contrastación con con Cocomo Cocomo II II Caso Nombre l proyecto Real Tiempo (meses) Estimado por Cocomo-II Estimado por Moneps Referen. Costo (USD) Estimado por Cocomo-II Estimado por Moneps 1 CODESOFT 3.0 12.20 3.65 7558.80 10371.01 8139.45 2 SIFFAAR 5.0 10.20 3.97 8810.00 12376.34 7273.05 Tabla No. 4: Cocomo II Vs. Moneps Caso Nombre l proyecto Error relativo para el tiempo Error relativo para el costo Cocomo-II Moneps Cocomo-II Moneps 1 CODESOFT 306.67% 21.67% 37.20% 7.68% 2 SIFFAAR 104.00% 20.60% 40.48% 17.45% Tabla No. 5: Error relativo en Cocomo II y Moneps
Conclusiones Conclusiones y y trabajo trabajo futuro futuro El criterio diseño para MONEPS posibilitó la convergencia aspectos funcionales y no funcionales. MONEPS es fácil uso y escalable. El molo permite activar/sactivar atributos entrada manera sencilla. Datos nuevas aplicaciones puen alimentar la RNA para mejorar su sempeño. Intificación nuevos atributos críticos y métricas especializadas para los aspectos no funcionales. Añadir un componente fuzzy (difuso) para realizar interpretaciones lingüísticas las entradas y respuestas obtenidas (sistemas neuro-difusos).
En 1899, Max Planck preguntó lo siguiente: cómo sería posible crear un sistema unidas objetivo y universal? La ia Planck es extensible al Software?