Modelo Neuronal de Estimación para el Esfuerzo de Desarrollo en Proyectos de Software (MONEPS)

Documentos relacionados
Modelo Neuronal de Estimación para el Esfuerzo de Desarrollo en Proyectos de Software (MONEPS)

ESPE UNIVERSIDAD DE LAS FUERZAS ARMADAS INNOVACIÓN PARA LA EXCELENCIA

Ejemplo Estimación con el método de Cocomo

Estimación para Proyectos Software

2.3 ESTIMACION DE PROYECTOS

TEMA 0 Y SUS APLICACIONES. Redes Neuronales Artificiales y sus Aplicaciones

PROCESAMIENTO DIGITAL DE IMÁGENES

Intensificación en "Lenguajes e Inteligencia Artificial"

MAESTRÍA EN INGENIERÍA DE SOFTWARE TERCERA PROMOCIÓN

Unidad IV: Modelo de Diseño 4.1. Estrategias de diseño

MAESTRÍA EN INGENIERÍA DE SOFTWARE

Control Neuro-Difuso Aplicado a una Grúa Torre. Chahuara Quispe, José Carlos. I. INTRODUCCIÓN

SEMINARIO INTERNACIONAL: DISEÑO O DE UN MODELO DE EVALUACION TECNICO ECONÓMICA Y DE GESTION DE EMPRESAS TECNOLÓGICAS UNIVERSITARIAS

Tema 2.- Caracterización de la informática La informática como disciplina científica Sub-áreas de la disciplina.

Universidad Autónoma del Estado de México Unidad Académica Profesional Tianguistenco Licenciatura en Ingeniería de Software

Especialidades en GII-TI

Lingüística computacional

2021: Odisea del Ciberespacio

ANÁLISIS DE SISTEMAS. Prof. Eliz Mora

Estimación. Ingeniería de software Eduardo Ferreira, Martín Solari

Ingeniería de Software: Y eso qué es?

Planificaciones Inteligencia Artificial. Docente responsable: CABRERA JOSE LUIS. 1 de 5

Perfil Profesional en formato de la SETEC

Sistemas Expertos Unidad 3

Adquisición de TIC - Código Abierto

Ingeniería de Software. Tema 2 ESTIMACION DE PROYECTOS SOFTWARE

E77 - Gestión de Recursos de la Información. Tema 2 - Estimación

Máster en Tecnologías de la Información

El sistema será definido como SACP (Sistema de Administración de Clientes y Proveedores).

6.5 ESTIMAR LA DURACIÓN DE LAS ACTIVIDADES

ADMINISTRACIÓN DE PROYECTOS. Facultad de Estadística e Informática

FACULTAD DE INGENIERÍA

ARQUITECTURAS. Carlos Reveco D. IN73J Arquitectura, Diseño y Construcción de un Negocio con Apoyo TI.

Pruebas de Software. Agenda. Pruebas de Programas Los Niveles de Prueba Diseño de Casos de Prueba

DOBLE GRADO EN INGENIERÍA DEL SOFTWARE Y EN TECNOLOGÍAS PARA LA SOCIEDAD DE LA INFORMACIÓN (Código 61ST)

Figure 13-1: Phase E: Opportunities & Solutions

5. Cuáles son las actividades primarias de la producción de software

Carrera Plan de Estudios Contacto

Tests de examen de CDGSI ACTUALIZADO FEB TEMA 5 DESARROLLO E IMPLANTACIÓN DE SISTEMAS DE INFORMACIÓN

Presentado por: Josué Andino Denis Flores Jorge Luis Pontón Diego Soria. Andino, Flores, Pontón, Soria 1

Diseño de la Arquitectura Lógica con Patrones. mayo de 2008

CARACTERÍSTICAS GENERALES

Instituto Tecnológico Superior De Acatlán de Osorio. Portafolio de evidencias

E77 - Gestión de Recursos de la Información. Tema 1 - Métricas del Proyecto de Software

Tecnología hardware y software

Proceso de Desarrollo de SW

FICHA PÚBLICA DEL PROYECTO

Autor: Amhed Sinue Pérez Valdéz

Cambios en Ingeniería de Software

octubre de 2007 Arquitectura de Software

Términos de Referencia. Servidor Público 7 Especialista de Desarrollo con conocimiento de Sistema de Información Geográfica

Implementación de Componentes

TEMA: DESARROLLO DE UN SISTEMA WEB QUE APOYE LA COORDINACIÓN DE APROBACIÓN, SEGUIMIENTO DE EJECUCIÓN Y CIERRE DE PROYECTOS EN LA JEFATURA DE

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

Aulas Pruebas de Evaluación Grados Ingeniería Informática, Ingeniería Informática + ADE y Matemáticas e Informática

ARQUITECTURA Y DISEÑO DE SISTEMAS CONCEPTOS GENERALES

Programación Orientada a Objetos

GUÍA DE LABORATORIO Nº 19 Implementación de casos de prueba

Procesos de Software

UNIVERSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION ESCUELA DE POSGRADO

Tecnologías de Inteligencia Artificial

Atributos de calidad La Eficiencia

Fábricas de Software y Líneas de Producto: del Estado de la Práctica al Estado del Arte. Jorge A. Villalobos.

ISF-1302 SATCA 1 : Carrera:

Implementación del paquete de recomendaciones para la mejora de procesos de una Fábrica de Software. Accenture 2006 Propietario y Confidencial

PERFIL PROFESIOGRÁFICO PARA IMPARTIR LAS ASIGNATURAS DE LA LICENCIATURA EN INFORMÁTICA (PLAN DE ESTUDIOS 2005)

UNIVERSIDAD DE GUADALAJARA

UNIVERSIDAD DE GUADALAJARA

Cuerpo de Profesores Técnicos de Formación Profesional

Gestión de Recursos para la Información.

Diseño del Servicio Transición del Servicio

Tema 2: Diseño y Construccion de Sistemas de Ayuda a la Decision

Software. Programa Paradigmas de programación Cómo se produce software Modelos de procesos Atributos del buen software

Maestría en Ciencias de la Ingeniería

INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ

INDICE Ciclo de Desarrollo de Sistemas de Información Índice Capítulo I. Desarrollo de Sistemas de Información Capitulo II.

Ingeniero en Informática (BOE: )

PROGRAMA DE TUTORÍAS DRA. LETICIA FLORES PULIDO. Sugerencias y herramientas para tener un buen desempeño académico en la UAT

Estimación de Costos

Biblioteca de recursos. Descargado desde

INFORME TÉCNICO PREVIO DE EVALUACIÓN DE SOFTWARE AVANZADO DE DISEÑO ASISTIDO POR COMPUTADORA

Índice general. Introducción... 23

CONCLUSIONES. La teoría de Redes Neuronales Artificiales, presenta grandes ventajas con

conjunto de elementos que se interrelacionan para producir un resultado. Ejem. Sistema endocrino, óseo, sistema digestivo, sistema nervioso central.

CUESTIONARIO PREE-EXAMEN

Metodología y Tecnología de la Programación. I.T. Informática de Gestión

REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA DEFENSA UNIVERSIDAD NACIONAL EXPERIMENTAL

MAPA DE PUESTO DEPARTAMENTO DE TALENTO HUMANO

LICENCIATURA EN CIENCIAS COMPUTACIONALES. Este programa educativo se ofrece en las siguientes sedes académicas de la UABC:

INFORME TÉCNICO PREVIO DE EVALUACIÓN DE SOFTWARE RENOVACIÓN DE SOPORTE Y MANTENIMIENTO LICENCIAS MATLAB Y SUS MODULOS

Introducción histórica

Reingeniería de Procesos e Infraestructuras. Mayo 2010

RECONOCIMIENTO DE CRÉDITOS

FORMACIÓN EN BUENAS PRÁCTICAS DE PROGRAMACIÓN CON PERSONAL SOFTWARE PROCESS (PSP)

UNIVERSIDAD MAYOR DE SAN ANDRES FACULTAD DE CIENCIAS PURAS Y NATURALES CARRERA DE INFORMATICA

SISTEMAS DE INFORMACIÓN PARA ADMINISTRACIÓN DE OPERACIONES

MAESTRIA EN INGENIERÍA DE SOFTWARE

MANUAL DE TALLERES INGENIERÍA DE SOFTWARE

Transcripción:

VICERRECTORADO DE INVESTIGACIÓN INNOVACIÓN Y TRANSFERENCIA DE TECNOLOGÍA MAESTRÍA EN INGENIERÍA DE SOFTWARE SEGUNDA PROMOCIÓN Modelo Neuronal de Estimación para el Esfuerzo de Desarrollo en Proyectos de Software (MONEPS) ING. MARIO GIOVANNY ALMACHE CUEVA ING. JENNY ALEXANDRA RUIZ ROBALINO Julio 2015

AGENDA 1. Antecedentes 2. Trabajos relacionados 3. Modelo neuronal propuesto 4. Resultados obtenidos 5. Conclusiones y Recomendaciones

1 Necesidad de mejorar la precisión en la estimación del esfuerzo Los errores en la estimación de esfuerzo son todavía demasiado grandes. Se hace una mínima consideración de los aspectos no funcionales del software. No hay un claro entendimiento sobre las relaciones causales entre factores y los resultados finales de la estimación de esfuerzo en software.

2 Algunos enfoques para estimar el esfuerzo Categorías fundamentales: Modelos Algorítmicos Juicio del Experto Machine Learning Algunos modelos algorítmicos: Puntos de Función (PF) Líneas de Código (LDC) Puntos de Caso de Uso (PCU)

3 Modelos algorítmicos Vs. Juicio del experto Enfoque Ventajas Inconvenientes Aplicación idónea Modelos algorítmicos Entradas y parámetros concretos. Objetividad. Eficiencia en cálculos. Juicio del experto Gran cantidad de opiniones subjetivas. Consideración de circunstancias excepcionales. No prestan atención a circunstancias excepcionales. Rechazan opiniones subjetivas. Dependencia de los expertos. Posturas de expertos difíciles de adoptar. Proyectos con escasas alteraciones accidentales, con equipos de desarrollo estables y productos sencillos. Primeras fases de desarrollo del producto.

3 Modelos algorítmicos Vs. Juicio del experto Enfoque Ventajas Inconvenientes Aplicación idónea Modelos algorítmicos Entradas y parámetros concretos. Objetividad. Eficiencia en cálculos. Juicio del experto Gran cantidad de opiniones subjetivas. Consideración de circunstancias excepcionales. No prestan atención a circunstancias excepcionales. Rechazan opiniones subjetivas. Dependencia de los expertos. Posturas de expertos difíciles de adoptar. Proyectos con escasas alteraciones accidentales, con equipos de desarrollo estables y productos sencillos. Primeras fases de desarrollo del producto.

4 Dos modelos algorítmicos: Cocomo 81 y Cocomo II Figura No. 1: Cocomo81 Calculator Figura No. 2: USC Cocomo II

5 Machine Learning (Aprendizaje Automático) Lógica difusa Minería de datos Algoritmos genéticos Redes neuronales artificiales Sistemas neuro-difusos

6 Redes Neuronales Artificiales en Backpropagation Características importantes: Aprenden de manera supervisada e inductiva. Son suficientes 3 capas para las tareas de aprendizaje e identificación de patrones. Poca complejidad estructural y algorítmica. Buena disponibilidad de herramientas automatizadas (libres/propietarias) para su implementación. Figura No. 3: Ejemplo de RNA con cuatro capas

7 Aplicaciones de las RNA Figura No. 4: Reconocimiento Facial Figura No. 5: Procesamiento de imágenes Figura No. 6: Reconocimiento de voz

8 Modelo Neuronal Propuesto: Modelo de Calidad ISO 25000

9 Codificación de Atributos en MONEPS Atributo Código Valores Descripción Nivel de seguridad A2 Alto, Medio, Bajo Indica el nivel de seguridad requerido para la aplicación. Número de M3 1, 2, 3,... Número de integrantes del programadores equipo de desarrollo Experiencia del equipo de desarrollo Lenguaje de Programación Complejidad sistema del asignados. M1 Alta, Media, Baja Indica la experiencia del equipo de desarrollo en aplicaciones similares. F1 Tabla No. 1: Algunos atributos tomados de la norma ISO 25000 Imperativo, Declarativo, Orientado a Objetos, Orientado al Problema Tipo de lenguaje de programación utilizado. I4 Alta, Media, Baja Complejidad prevista para el sistema.

10 Modelo Neuronal Propuesto Figura No. 7: RNA simplificada y utilizada en Moneps

11 Resultados obtenidos: herramienta JustNN Figura No. 8: Carga de datos en JustNN Figura No. 9: Red neuronal artificial en JustNN

12 Entrenamiento de la RNA usada por MONEPS Figura No. 10: Resumen de entrenamiento para la RNA Figura No. 11: Error de la RNA durante la fase de entrenamiento

13 Estimación para 3 casos de prueba y contrastación con Cocomo 81 Caso Tabla No. 2: Tiempo y costo estimados por Moneps para 3 proyectos de SW Tiempo real de 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 Tiempo (meses) Real Estimado por Cocomo 81 Estimado Moneps 1 3.0 6.85 3.65 2 5.0 7.75 3.97 por 1. CODESOFT: Simulador para la evaluación de aptitudes de aspirantes para el desarrollo de software. 2. SIFFAAR: Sistema para automatizar el proceso de control de inventario y facturación en la empresa FAAR. 3. SICFO: Sistema para gestión de fichas odontológicas (parte del conjunto de entrenamiento)

14 Contrastación con Cocomo II Caso Nombre del 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 Tabla No. 4: Cocomo II Vs. Moneps 2 SIFFAAR 5.0 10.20 3.97 8810.00 12376.34 7273.05 Caso Nombre del 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% Tabla No. 5: Error relativo en Cocomo II y Moneps 2 SIFFAAR 104.00% 20.60% 40.48% 17.45%

15 Conclusiones: Se ha logrado construir una red neuronal en backpropagation cuyas entradas se fundamentan en los atributos del estándar para calidad de software ISO 25000, para estimar el costo y tiempo de desarrollo en productos software. La arquitectura de la red neuronal fue identificada en base a las características contemporáneas del software y, considerando el desempeño de las topologías neuronales disponibles. MONEPS ha logrado la convergencia de aspectos funcionales y no funcionales en la estimación de tiempo y costo para productos software.

16 Conclusiones: La identificación de métricas más especializadas para los aspectos no funcionales de un sistema, es un verdadero desafío en la Ingeniería del Software. Al menos, para proyectos académicos, MONEPS muestra estimaciones de tiempo y costo más cercanos a los reales que los modelos COCOMO 81 y COCOMO II. MONEPS es de fácil uso y escalable; permitiendo realizar los ajustes necesarios para mejorar el nivel de adecuación y precisión en la naturaleza dinámica del software.

17 Recomendaciones: Profundizar en el análisis de la familia de estándares ISO-25000 u otras normas orientadas a verificar la calidad del software, para un mejor entendimiento de los aspectos funcionales y no funcionales más críticos que inciden en el desarrollo de software. Para una mejor adaptabilidad de MONEPS, cada empresa/usuario puede configurar los atributos de entrada; así, el modelo neuronal podrá ajustarse a las restricciones de configuración impuestas. Otra mejora posterior de MONEPS se basa en la adición o eliminación de atributos, así como en la depuración de métricas para los aspectos no funcionales.

18 Recomendaciones: Para tener estimaciones de costo y tiempo, acorde a los requerimientos locales de software, es recomendable recopilar más casos de productos desarrollados en la empresa pública y/o privada, que permitan alimentar el modelo neuronal. Las empresas desarrolladoras de software deberían iniciar los proyectos realizando algún tipo de estimación temprana del esfuerzo requerido, lo que permitirá reducir riesgos de incumplimiento o pérdidas importantes de capitales. Se debe incentivar el estudio de métodos y técnicas alternativas para la estimación del esfuerzo en proyectos de software. No hay un modelo universal de estimación, y los disponibles tienen falencias contextuales que no han sido corregidas.

En 1899, Max Planck preguntó lo siguiente: cómo sería posible crear un sistema de unidades objetivo y universal? La idea de Planck es extensible al Software?

GRACIAS POR SU ATENCIÓN