Proceso de Software y Métricas de Proyectos Ing. Miguel E. Torres MSc Ing. Luis Carlos Díaz MSC Ingeniería de Software Departamento de Sistemas Facultad.

Slides:



Advertisements
Presentaciones similares
Metrica de Estimación COCOMO
Advertisements

MODELOS EMPÍRICOS DE ESTIMACIÓN
Complejidad Computacional
MÉTODOS DE ESTIMACIÓN Y GESTIÓN DEL RIESGO
Arquitectura de Sistema de E/S
MEDICIONES DE SOFTWARE
ESTIMACIÓN DEL ESFUERZO EN EL DESARROLLO DE SOFTWARE
ADMINISTRACIÓN DE PROYECTOS INFORMÁTICOS
Ing. Francisco Rodríguez Novoa
CALIDAD DE PRODUCTO PORTADA CALIDAD DE PRODUCTO.
CALIDAD EN DESARROLLO DE SOFTWARE
PLANIFICACIÓN DE PROYECTOS DE SOFTWARE
SYSMOTORFLOW PRESENTACIÓN DEL PROCESO Proyecto de Ingeniería de Software 2010.
ESTIMACION: TIPOS, TECNICAS Y METODOS MODELO COCOMO
INGENIERIA DE SOFTWARE
Herramientas Automáticas de Estimación
METRICAS DE PROCESO Y PROYECTO
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Puntos de función Integrantes de X Soft: - Carlos Retana
10º2 Sergio Posso. Jonatán Agualimpia. Julia Blandón. Docente:
Fundamentos de la Gestión de Proyectos
Tipos de Métricas.
Métricas de Software Medimos para mejorar cuando recogemos la información cuantitativa que nos ayuda a identificar obstáculos, problemas de raíz, ineficiencias.
Métricas de Software Medimos para mejorar cuando recogemos la información cuantitativa que nos ayuda a identificar obstáculos, problemas de raíz, ineficiencias.
Guia Diseño Robert Echeverria
MÉTRICAS DE PROCESO Y PROYECTO 2008
Ingeniería del Software
ESTIMACION DE COSTE DEL SOFTWARE
Métricas de productividad y calidad
TEMA 4. ESTIMACIÓN DEL ESFUERZO EN EL DESARROLLO DE SOFTWARE
PROCESO DE DESARROLLO. Introducción Mediante esta presentación se pretende describir el proceso de desarrollo del TALLER I.
ESTIMACIÓN DEL PROYECTO
DISEÑO DE SOFTWARE 1ª. Parte
M.C. Juan Carlos Olivares Rojas
Métricas de calidad de software
Medición y Métricas del Software
Puntos de Función Proceso General Msc. Luis Carlos Díaz
Problemática de la estimación.
Métricas en la gestión de proyectos de software
Administración Proyectos Jorge Baracaldo Robin Ochoa.
Conceptos de Gestión y Planificación de Proyectos Software
Estimaciones de Proyecto ISF5501 Ingeniería de Software Semana 8.
Modelos Empíricos de Estimación
Ingeniería de Software
Construcción de Software
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
Planificación de Proyectos de Software
Técnicas de Estimación de Esfuerzo
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
Ámbito y Estimaciones de Proyecto ISF5501 Ingeniería de Software Semana 7/1.
Ámbito y Estimaciones de Proyecto
1 ESTIMACIÓN DEL ESFUERZO EN EL DESARROLLO DE SOFTWARE Victoria Coronado Karen Zorro Alejandra Rayo Diana Leiva Seminario de Grado 3.
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
Medición y Métricas del Software
SRS "Software Requirements Specification" LCD:
Métricas de calidad de software
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Ingeniería de Software
Estimación de proyectos de software
Estimación de Puntos de Función
UNIVERSIDAD TECNOLÓGICA DE NEZAHUALCOYOTL TECNOLOGÍAS DE LA COMUNICACIÓN E INFORMACION ADMINISTRACIÓN DE PROYECTOS DE TI I.
Proceso de desarrollo de Software
El proceso del Software y Métricas del proyecto
REPUBLICA BOLIVARIANA DE VENEZUELA. MINISTERIO DEL PODER POPULAR PARA LA EDUCACION UNIVERSITARIA. UNIVERSIDAD POLITECNICA TERRITORIAL DEL NORTE DE MONAGAS.
1 ESTIMACIÓN basada en PUNTOS de FUNCIÓN. 2 Agenda de la presentación 4 Técnicas de estimación. 4 Puntos de Función. (En general) 4 Puntos de Función.
Modelo de procesos de software
Entregables del Proyecto
HERNANDO GONZALEZ VALENCIANO Neiva, Septiembre de 2007Profesor: HECTOR RODRIGUEZ1 Informática Empresarial Gestión de Proyectos Informáticos.
MEDIO AMBIENTE. Integrantes Martínez Lorenzo Sandra Cecilia Rangel Barrón Irving Asai Grupo:601.
Transcripción de la presentación:

Proceso de Software y Métricas de Proyectos Ing. Miguel E. Torres MSc Ing. Luis Carlos Díaz MSC Ingeniería de Software Departamento de Sistemas Facultad de Ingeniería Pontificia Universidad Javeriana 2007

Outline Planificación de Proyectos Planificación de Proyectos Factores Factores Actividades Actividades Estimación Estimación

Para comenzar … Ejercicio: Ejercicio: Estime el tiempo empleado para calcular la siguiente suma: Estime el tiempo empleado para calcular la siguiente suma: ∑ (n) n=1 Tiempo estimado? _____ segundos Tiempo estimado? _____ segundos Hora inicio: ____ segundos, Hora final: ____ segundos Hora inicio: ____ segundos, Hora final: ____ segundos Tiempo real empleado: _____segundos! Tiempo real empleado: _____segundos! Resultado de la Operación Resultado de la Operación

Planificación de Proyectos Estimación de trabajo, recursos y tiempo para un proceso de desarrollo de software Estimación de trabajo, recursos y tiempo para un proceso de desarrollo de software Métricas Proporcionan perspectiva

Factores Complejidad del proyecto Complejidad del proyecto Tamaño del Proyecto: Interdependencia Tamaño del Proyecto: Interdependencia Grado de incertidumbre estructural: división de los requerimientos Grado de incertidumbre estructural: división de los requerimientos Riesgo Riesgo

Productividad del Software Medida de la tasa en la cual un individuo produce SW y su documentación Medida de la tasa en la cual un individuo produce SW y su documentación No esta orientado a la calidad – aunque el aseguramiento de la calidad es un factor en la medida de productividad No esta orientado a la calidad – aunque el aseguramiento de la calidad es un factor en la medida de productividad Funcionalidad útil producida por unidad de tiempo Funcionalidad útil producida por unidad de tiempo

Pasos Ámbito del Producto Ámbito del Producto Delimitación del Proyecto Delimitación del Proyecto División del Problema División del Problema Estimación Estimación Análisis de Riesgos Análisis de Riesgos

Resultados Tareas a desarrollar Tareas a desarrollar Funcionalidades a implementar Funcionalidades a implementar Costo, esfuerzo y tiempo Costo, esfuerzo y tiempo Recursos Recursos

Ámbito del Producto Delimitar Delimitar Descripción inicial: Descripción inicial: Control y datos a procesar Control y datos a procesar Funcionalidad – Necesidades, Metas, Objetivos Funcionalidad – Necesidades, Metas, Objetivos Rendimiento Rendimiento Restricciones Restricciones Interfaces con otros sistemas Interfaces con otros sistemas Fiabilidad – Probabilidad de buen funcionamiento Fiabilidad – Probabilidad de buen funcionamiento Viabilidad – tecnológica, financiera, temporal, recursos Viabilidad – tecnológica, financiera, temporal, recursos

Estimación de Recursos PersonasReutilizables Herramientas HW/ SW Descripción del Recurso Descripción del Recurso Disponibilidad Disponibilidad Fecha en la que se requiere Fecha en la que se requiere Tiempo de Uso Tiempo de Uso

Estimación de Recursos (cont.) Recursos humanos Recursos humanos Posición en la organización Posición en la organización Especialidad Especialidad Recursos Reutilizables Recursos Reutilizables Establecer catálogos Establecer catálogos Componentes ya desarrollados (COTS) Componentes ya desarrollados (COTS) Componentes ya implementados Componentes ya implementados Componentes con experiencia parcial Componentes con experiencia parcial Componentes nuevos Componentes nuevos

Estimación del Proyecto Estimar al final (lo ideal!) Estimar al final (lo ideal!) Basarse en proyectos anteriores Basarse en proyectos anteriores Técnicas de descomposición Técnicas de descomposición Modelos empíricos Modelos empíricos

Preguntas Fundamentales Que tanto esfuerzo requiero para una actividad? Que tanto esfuerzo requiero para una actividad? Que tanto tiempo necesitare para desarrollarla? Que tanto tiempo necesitare para desarrollarla? Cuál es el costo total de la actividad? Cuál es el costo total de la actividad?

Componentes del Costo Hardware y software Hardware y software Entrenamiento y desplazamiento Entrenamiento y desplazamiento Costos de Esfuerzo (factor predominante) Costos de Esfuerzo (factor predominante) Salarios Salarios Costos Sociales y de Seguros Costos Sociales y de Seguros Costos colaterales Costos colaterales Electricidad, arriendo, etc. Electricidad, arriendo, etc. Redes y telecomunicaciones Redes y telecomunicaciones Lugares (e.g librería, cafetería, etc.) Lugares (e.g librería, cafetería, etc.)

Métricas de Productividad Relativo al Tamaño: basado en el resultado del proceso - KLOC, Clases, componentes, documentos Relativo al Tamaño: basado en el resultado del proceso - KLOC, Clases, componentes, documentos Relativo a la Funcionalidad: basado en estimacion de la funcionalidad prestada por el SW entregado. Relativo a la Funcionalidad: basado en estimacion de la funcionalidad prestada por el SW entregado.

Técnicas de Descomposición Orientadas al Tamaño Lógica Difusa: Comparación con proyectos anteriores Lógica Difusa: Comparación con proyectos anteriores Puntos funcionales (puede convertirse a KLOC) Puntos funcionales (puede convertirse a KLOC) Componentes, subsistemas, módulos, pantallas … Componentes, subsistemas, módulos, pantallas … Orientada al Problema División de funcionalidades División de funcionalidades

System development times

Ejemplo de Estimación (1) “Desarrollo de una aplicación CAD para ingeniería mecánica que acepte datos geométricos de dos y tres dimensiones. El usuario interactuará y controlará el sistema CAD a través de una interfaz de usuario bien diseñada. Los datos se conservarán en BD. Se desarrollarán módulos de análisis de diseño para producir salidas a dispositivos gráficos; el software deberá controlar varios tipos de dispositivos como ratón, teclado, plotter y tabla digitalizadora”

EJEMPLO Estimación en LDC (2) S = (S opt +4*S pro +S pes )/6 S = (S opt +4*S pro +S pes )/6 FUNCIÓN LDC Est Interfaz de usuario y control 2300 Análisis geométrico bidimensional 5300 Análisis geométrico tridimensional 6800 Gestión de bases de datos 3350 Facilidades de presentación gráfica de computador 4950 Función de control periférico 2100 Módulos de análisis de diseño 8400 Líneas De Código estimadas 33200

Ejemplo LDC (3) Costo y Esfuerzo Costo y Esfuerzo Uso de datos históricos: Uso de datos históricos: Productividad 620 LDC/pm Productividad 620 LDC/pm U$8000/pm U$8000/pm Luego el costo por línea de código: U$ 13/LDC Luego el costo por línea de código: U$ 13/LDCEntonces: Costo total del proyecto… U$ Costo total del proyecto… U$ Esfuerzo… 53pm Esfuerzo… 53pm

Puntos de Función (FP) Basado en la combinacion de características del SW: Basado en la combinacion de características del SW: Entradas y salidas externas Entradas y salidas externas Interacciones con el usuario Interacciones con el usuario Interfaces externas Interfaces externas Archivos usados por el sistema Archivos usados por el sistema Un peso es asociado a cada uno de ellos Un peso es asociado a cada uno de ellos Se suman para producir el total de FP del SW Se suman para producir el total de FP del SW

Puntos de Funcion (FP) (cont.) FPs pueden usarse para estimar LOC dependiendo del promedio de LOC por FP para un lenguaje dado FPs pueden usarse para estimar LOC dependiendo del promedio de LOC por FP para un lenguaje dado LOC = AVC * FP LOC = AVC * FP FPs son subjetivos FPs son subjetivos

EJEMPLO Estimación de FP (4) Valores de dominio de la información: Valores de dominio de la información: DominioOptProPesEstPesoPF Entradas externas Salidas externas Consultas Externas Archivos lógicos internos Interfase externa

EJEMPLO FP (5) Factores Factores FACTORVALOR 1. Respaldo y recuperación 4 2. Comunicaciones de datos 2 3. Procesamiento distribuido 0 4. Desempeño crítico 4 5. Entorno operativo existente 3 6. Entrada de datos en línea 4 7. Transacciones de entrada sobre pantallas múltiples 5 8. ILF actualizado en línea 3 9. Complejidad de valores de dominio de información Complejidad de procesamiento interno Código diseñado para reutilización Conversión/Instalación de diseño Instalaciones múltiples Aplicación diseñada para cambio 5 FACTOR DE AJUSTE PARA EL EJEMPLO… 1.17

EJEMPLO FP (6) Se tiene en cuenta la complejidad Se tiene en cuenta la complejidad Factor de ajuste de valor: 1.17 Factor de ajuste de valor: 1.17 Fa = ConteoTotal*(0, *Factor i ) Fa = ConteoTotal*(0, *Factor i ) Para el ejemplo: Fa = 375 Para el ejemplo: Fa = 375 Datos Históricos Datos Históricos 6,5 FP/pm 6,5 FP/pm Costo x FP = U$1230/PF Costo x FP = U$1230/PFEntonces Costo Proyecto… U$ Costo Proyecto… U$ Esfuerzo… 58pm Esfuerzo… 58pm

The COCOMO model An empirical model based on project experience. An empirical model based on project experience. Well-documented, ‘independent’ model which is not tied to a specific software vendor. Well-documented, ‘independent’ model which is not tied to a specific software vendor. Long history from initial version published in 1981 (COCOMO-81) through various instantiations to COCOMO 2. Long history from initial version published in 1981 (COCOMO-81) through various instantiations to COCOMO 2. COCOMO 2 takes into account different approaches to software development, reuse, etc. COCOMO 2 takes into account different approaches to software development, reuse, etc.

Medición y Métricas Adaptado de Pressman Cap. 4

El Proceso y las Métricas El Proceso requiere de medidas cuantitativas para: El Proceso requiere de medidas cuantitativas para: Estimar Estimar Control de Calidad Control de Calidad Evaluación y control de Proyectos Evaluación y control de Proyectos Toma de Decisiones Toma de Decisiones

El Proceso y las Métricas (Cont.) Las medidas son importantes para juzgar basados en hechos concretos. Las medidas son importantes para juzgar basados en hechos concretos. Razones para medir el proceso: Razones para medir el proceso: Caracterizar Caracterizar Evaluar Evaluar Predecir Predecir Mejorar Mejorar

Definiciones Medida:indicación cuantitativa (característica individual) Medida:indicación cuantitativa (característica individual) Medición: acto de determinar la medida (capturar medida) Medición: acto de determinar la medida (capturar medida) Métrica: Explicación de las medidas en comparación (relacionar mediciones) Métrica: Explicación de las medidas en comparación (relacionar mediciones) Ej: Ej: Errores Encontrados X Persona Hora Indicador: Conjunto de métricas Indicador: Conjunto de métricas

En la Ingeniería de Software Métricas del Proceso Métricas del Proceso Visión de eficacia Visión de eficacia Evaluación Evaluación Se recopilan de varios proyectos Se recopilan de varios proyectos Métricas del Proyecto Métricas del Proyecto Evaluación Evaluación Riesgos Riesgos Flujo de Trabajo Flujo de Trabajo

Métricas del Proceso Mejoramiento del Proceso: CMM, SPICE; ISO-9000, PSP Mejoramiento del Proceso: CMM, SPICE; ISO-9000, PSP Privadas o Públicas Privadas o Públicas Eficacia: Eficacia: Errores Errores Productos de trabajo Productos de trabajo Esfuerzo humano y tiempo consumido Esfuerzo humano y tiempo consumido

Métricas del Proyecto Fines estratégicos Fines estratégicos Planificación vs. Producto Planificación vs. Producto Entradas – Salidas – Resultados Entradas – Salidas – Resultados Adaptar el trabajo y las actividades Adaptar el trabajo y las actividades Ejemplos: Ejemplos: Páginas de documentación Páginas de documentación KLOC KLOC Errores y Defectos Errores y Defectos

Mediciones Directas KLOC KLOC Velocidad Velocidad Memoria Memoria Errores-Defectos Errores-Defectos PM PM Páginas Páginas Indirectas Funcionalidad Calidad Complejidad

Mediciones (Cont.) ProcesoProyectoProducto Individuo Agrupar Consolidar

Tipos de Métricas de Software Orientadas a la Función: Funcionalidad prestada Funcionalidad prestada Puntos de función Puntos de función Orientadas al Tamaño: Errores X KLOC Defectos X KLOC $ X KLOC Pag. Doc. X KLOC Errores X PM KLOC X PM

Métricas de Calidad de SW Corrección: Defectos X KLOC Corrección: Defectos X KLOC Mantenimiento: TMC (Tiempo Medio de Cambio) Mantenimiento: TMC (Tiempo Medio de Cambio) Integridad: de la Información Integridad: de la Información Facilidad de Uso Facilidad de Uso Eficacia de la eliminación de defectos Eficacia de la eliminación de defectos E: Errores antes de la entrega D: Número de defectos Objetivo: EED = 1

Integración de las Métricas Ayudan a medir el progreso organizacional Ayudan a medir el progreso organizacional Se toman como base métricas de proyectos pasados para ser efectivos: Se toman como base métricas de proyectos pasados para ser efectivos: 1. Datos Exactos: Evitar conjeturas de el pasado 2. Deben reunirse del a mayor cantidad de proyectos 3. Métricas deben ser consistentes: KLOC C++ vs. KLOC COBOL 4. Aplicaciones similares