50

Programación Orientada a los Aspectos: una mejora en … CIBERTEC... · Estándar de calidad del Software • Los estándares de calidad de software, ayudan a la puesta en ... Evalúa

Embed Size (px)

Citation preview

En la actualidad, el software se encuentra en muchos campos de la actividad humana: la industria, el comercio, las finanzas, gobierno, salud, educación, etc.

Introducción

Por lo que existe una creciente preocupación por lograr que los productos software cumplan con ciertos criterios de calidad.

El presente Webinar tiene como objetivo la

importancia de las métricas en el

proceso de la calidad del producto

software.

Introducción

Agenda

• Calidad de Software • Métricas

¿Qué entiendes por calidad de

software?

Definición

• Para la IEEE.Std.610-1990, la calidad de software se define como el grado con el que un sistema, componente o proceso cumple con los requisitos especificados y las necesidades o expectativas del cliente o usuario.

Definición

• Es la concordancia con los requerimientos funcionales y de rendimiento explícitamente establecidos, con los estándares de desarrollo explícitamente documentados y con las características implícitas que se esperan de todo software desarrollado profesionalmente. (Pressman, 1998)

Definición

• Es el grado en el que un cliente percibe que el producto software cumpla con sus expectativas.

• Aseguramiento de la calidad es

la parte de la gestión de la calidad (procesos) orientada a proporcionar confianza en que se cumplirá los requisitos de calidad, ISO 9000:2000

¿Qué sucedería si no hay calidad de

software?

Calidad de Software

• Los productos software no hacen exactamente lo que se espera.

• Los productos software serán difíciles de operar por los usuarios.

• Sobrecostos en los proyectos. • Incumplimiento de los

cronogramas de actividades.

¿Qué es un Estándar de calidad de software?

Estándar de calidad del Software

• Los estándares de calidad de software, ayudan a la puesta en marcha de la calidad en un concepto más operacional.

• Los estándares del proceso definen cómo debería llevarse a cabo el proceso del desarrollo del software.

• Los estándares del producto definen las características que deben exhibir los componentes.

Estándares de Referencia

Modelos de Referencia

Producto

ISO/IEC 9126, 14598, 25000

Procesos

CMMI, ISO/IEC 15504

Modelos y Estándares de Calidad de Software

Nivel de Calidad

Modelo de calidad de SW

Estándar de calidad de SW

Proceso CMMI TickIT

Bootstrap Personal SW Process

Practical SW Measurement (PSM)

ISO 90003 ISO 12207

ISO 15504 (SPICE) IEEE/EIA 12207

ITIL Cobit 4.0

Producto Gilb GQM Furps

Boehm SATC

Dromey C-QM

WebEQM

ISO 9126-I ISO 25000 (SQUARE)

Estándares de calidad de SW

• ISO/IEC 9126-1: define un marco conceptual de calidad que considera: calidad del proceso, la calidad de producto y la calidad de uso.

• Este estándar describe 6 características: funcionalidad, confiabilidad, usabilidad, eficiencia, mantenibilidad y portabilidad.

ISO/IEC 9126-1

ISO/IEC 9126

Funcionalidad Confiabilidad Usabilidad Eficiencia Capacidad de

Mantenimiento Portabilidad

Modelo ISO/IEC 9126-1

Calidad del proceso

Calidad interna

Calidad externa

Calidad de uso

Influye Influye Influye

Depende de Depende de Depende de

Proceso Producto Uso

Modelo ISO/IEC 9126-1

• Calidad Interna: permite medir a partir de características intrínsecas como el código fuente

• Calidad Externa: mide el comportamiento del productos, como las pruebas.

• Calidad de uso: durante la utilización por parte del usuario.

Estándares de calidad de SW

• ISO/IEC 14598: es un estándar que permite evaluar la calidad de un producto software.

• Proporciona métricas y requisitos para los procesos de evaluación, a través de 6 etapas: visión general, planificación y gestión, proceso de desarrolladores, proceso de compradores, proceso evaluadores y módulo de evaluación.

ISO/IEC 14598

ISO

Visión General Planificación y

gestión Proceso de

desarrolladores

Proceso de compradores

Proceso evaluadores

Módulo evaluación

Relación ISO/IEC 9126 y 14598

Recursos y medio ambiente

Proceso de evaluación Producto de software Efecto de los

productos de software

14598: 1

14598: 2

14598: 6

14598: 3

14598: 4

14598: 5

9126: 1

9126 : 3 9126 : 2 9126 : 4

¿Cómo controlar la calidad de software?

Calidad de software

• Para controlar la calidad del software es necesario definir los parámetros, indicadores o criterios de medición, ya que, como bien plantea Tom DeMarco: "usted no puede controlar lo que no se puede medir".

Agenda

• Calidad de Software

• Métricas

¿Qué entiendes por métrica?

Definición

Es la aplicación de mediciones durante el proceso del desarrollo del software, para suministrar información relevante a tiempo

Para mejorar tanto los procesos como los productos

Definición

• Son escalas de unidades sobre las cuales podemos medir un atributo cuantificable.

• Los atributos son características observables del producto o proceso de software, que proporciona alguna información útil sobre el estado del producto o progreso del proyecto.

Características de las métricas

• Simples y fáciles de calcular. • Empíricas • Consistentes y objetivas • Independientes del lenguaje de

programación • Permite retroalimentar la

calidad de medición.

¿Sabes sus ventajas y

desventajas de las métricas?

Ventajas y desventajas

Mejoras en la calidad Futuras predicciones x Medidas no uniformes, difícil

de estimar. x Depende del lenguaje de

programación. x Depende de la metodología x Medidas de naturaleza técnica.

Según el contexto en que se aplican

Métricas

De Proyecto De Proceso De Producto

Métricas de Proyecto: Indicadores

Indicadores Sigue las pistas de

riesgos potenciales.

Evalúa el estado del proyecto

Detecta áreas problemas antes de

ser críticas

Ajusta el flujo de tareas.

Evalúa la habilidad del equipo en el

control de calidad SW

Métricas de Procesos: Indicadores

Indicadores

Control y ejecución de proyectos

Mide tiempos: análisis, diseño,

implementación e implantación

Mide las pruebas Mide la evaluación

del producto

Métricas de Producto: Controla

Indicadores

Tamaño: líneas, operador, operando

Complejidad: tamaño y estructura

Estructuras

Control de documentación

Escalable: cambios -> # fallas cambios -> definir

requerimientos Calidad completa, entendible y aumentada

¿Sabes qué métricas de

producto tenemos?

Métricas de Producto

Métricas

Orientadas al Análisis

Orientadas al Diseño

Orientada a Objetos

Orientadas al código fuente

Orientadas al mantenimiento

Orientada a Pruebas

Métricas orientada al análisis

Métricas

Función Calidad Especificación

Métricas orientada al diseño

Métricas

Arquitectura Componentes interfaces

Métricas orientada al código fuente

Métricas

Matemático Longitud Programa Costos

Métricas orientada al mantenimiento

Métricas

Métricas orientada a pruebas

Métricas

Requerimientos vs Desarrollo

Costos Categorizar

Métricas orientada a Objetos

Métricas

Modelo de diseño OO Orientado a clases Pruebas OO

Conclusiones

• Las métricas proveen mediciones para el progreso y retroalimentación necesaria en el proceso de desarrollo SW.

• La visión de las métricas en el futuro es ayudar a medir la administración del cambio así como la complejidad del software.

Conclusiones

Las métricas son utilizadas en: • Estimar los proyectos y

monitorear su progreso • Evaluación del trabajo del

producto SW. • A través del análisis de defectos

implementamos el proceso de mejoramiento

• Mejores prácticas: prototipos, incrementar la cohesión, limitar la complejidad, etc.

Conclusiones

En el futuro las métricas serían: • Herramientas que midan el

tamaño y complejidad de los productos en forma automática

• Los datos obtenidos serán almacenados en una base de datos

• Estos datos serán empleados en otros proyectos en forma automática a nivel organizacional.