Sie sind auf Seite 1von 36

Concepto de calidad

Definiciones de calidad:

Propiedad o conjunto de propiedades inherentes a una cosa, que permiten


apreciarla como igual, mejor o peor que las restantes de su especie

Totalidad de las caractersticas de un producto o servicio que le confieren


su aptitud para satisfaces sus necesidades expresadas o implcitas

La consecucin de la calidad puede tener tres orgenes:


Calidad realizada Calidad programada Calidad necesaria

Definicin de la calidad del software


Grado con el que un sistema, componente o proceso cumple:
Los requisitos especificados Las necesidades o expectativas del cliente o usuario

Los requisitos establecidos explcitamente se reflejan en el documento de


especificacin de requisitos del sistema:
Requisitos funcionales Requisitos no funcionales o extendidos

Los estndares y las normas de desarrollo permiten que se consiga una


calidad tcnica

Los requisitos implcitos no aparecen en la ERS

Aspectos de las gestin de calidad


Gestin de la calidad del software Garanta de la calidad del software Control de calidad del software

Verificacin y validacin

mbitos de la gestin de calidad


El trabajo para la mejora de la calidad tiene dos mbitos de actuacin: Nivel de empresa / organizacin Nivel de proyecto

Calidad a nivel de la organizacin


Para la implantacin de una infraestructura de calidad es necesario el apoyo de un sistema de calidad
El sistema de calidad se debe adecuar a los objetivos de calidad de la empresa Dicho sistema consta de dos partes: Documentacin Parte practica

Calidad a nivel de proyecto


Para marcar las directrices marcadas por los sistemas de calida a cada proyecto particular hay que generar un plan especifico de calidad: Plan de aseguramiento de la calidad, y debe contener:
Objetivos de calidad del proyecto y enfoque para su consecucin Documentacin referenciada en el plan Gestin de aseguramiento de la calidad Documentacin de desarrollo y de control o gestin Estndares, normas y practicas que hay que cumplir Actividades de revisin y auditoria Gestin de la configuracin del software Informes de problemas Herramientas, tcnicas y mtodos de apoyo Control del cdigo, de los equipos y de los suministros Recogida, mantenimiento y almacenamiento de datos sobre la documentacin de las actividades de aseguramiento de la calidad realizadas

Estndares ISO 9000


Se pueden dividir en dos grupos:
Normas para el asesoramiento externo de la calidad:

ISO 9001 ISO 9002 ISO 9003


Gestin interna de la calidad:

ISO 9004

Estndares ISO 9000:2000


ISO 9000:2000 : Fundamentos
Define los trminos fundamentales de la familia ISO 9000:2000

ISO 9001:2000 : Requisitos


Permite realizar certificaciones externas de la calidad, mediante cuatro reas fundamentales, que son responsabilidad en la gestin, gestin de recursos, realizacin de productos y servicios y medicin, anlisis y mejora

ISO 9004:2000 : Mejora


Describe como sera un sistema de control de calidad acorde con las normas 9001, y sirve como gua tras la implantacin de 9001

ISO/IEC 90003:2004
Conjunto de directrices para la aplicacin de las normas ISO 9001 a un determinado software, ya sea adquirido o desarrollado internamente

Estndares IEEE
Se trata de una serie de estndares orientados al aseguramiento de
la calidad a nivel de proyecto

Actividades de aseguramiento de calidad


Establecimiento y revisin del mismo por parte de todas las partes involucradas Revisin de la descripcin del proceso (Se ajusta a la poltica de la empresa y al cumplimiento de estndares internos y externos) Revisin de las actividades IS y productos (Se hace un seguimiento de las desviaciones y se verifica la realizacin de correcciones)

Aseguramiento de la documentacin de desviaciones


Registrar aquello que no cumpla los requisitos Control y gestin de cambios (Se establecen una serie de configuraciones de referencia que permiten controlar y gestionar los cambios en el software) Recopilacin y anlisis de mtricas

Modelos de calidad

BOEHM
Divide la calidas en tres caractersticas: usos principales, componentes intermedios y componentes primitivos

Factores / Criterios / Mtricas



Divide la calidad en tres partes: Operacin, Revisin y Transicin Divide cada una de las partes en factores Divide los factores en criterios Se aplican una serie de mtricas a estos criterios

ISO 9126
Descompone la calidad en seis factores: Funcionalidades Fiabilidad Usabilidad Eficiencia Mantenibilidad Portabilidad

GQM
Paradigma Objetivo-pregunta-mtrica
Basa la mejora en la definicin clara de procesos y productos Proporciona la estructura para obtener los objetivos cruciales del proyecto Consta de tres etapas: Determinar los objetivos principales del desarrollo y mantenimiento del proyecto Obtener las preguntas que se deben contestar para saber si se cumplen los objetivos anteriores Decidir qu es lo que se debe medir para contestar las preguntas de forma adecuada

GQM
Ejemplo
OBJETIVO: Evaluar la efectividad del estndar de codificacin

PREGUNTAS:

Quin est usando Cul es la productividad Cul es la calidad el estndar? del codificador? del cdigo?

Proporcin de codificadores usando:


El Estndar El Lenguaje

Experiencia de codificadores en:


El Estndar El Lenguaje El Entorno Cantidad de cdigo

Errores

GILB
Consiste en determinar una lista de caractersticas que definen la calidad de la aplicacin, pudiendo ser de dos tipos:
Originales De los modelos tradicionales Asociado con la filosofa QFD (Quality Function Deployment), para la gestin de la calidad industrial El proyecto COQUAMO (Constructive Quality Model) se apoya en el enfoque de Gilb Cada caracterstica se medir segn mtricas detalladas

CMM
Modelo de Capacidad y Madurez para el desarrollo de Software
Diseado a finales de los ochenta por el SEI (Software Engineering Institute) Surgi a peticin del Departamento de Defensa Norteamericano Evala la calidad de las empresas suministradoras de software a travs de cinco niveles de madurez, en funcin de: Procesos empleados en el desarrollo y mantenimiento del software Grados de capacidad e institucionalizacin de cada uno Posee dos finalidades: Criterio para la evaluacin de la madurez de la organizacin Gua para la mejora de sus procesos Hoy es un modelo obsoleto que SEI relev e integr en el CMMi en 2000

CMM
Niveles de madurez

Nivel 1
Nivel 2 Nivel 3 Nivel 4

Inicial
Repetible Definido Gestionado Incremento de calidad

Nivel 5

Optimizado

CMM
reas Claves de Proceso (KPA)
Desarrollo de requisitos Solucin Tcnica Integracin del producto Verificacin y validacin Desarrollo y mejora de los
N I V E L 2 N I V E L 3

Gestin de requisitos Planificacin de proyectos Seguimiento y control de

proyectos Gestin de proveedores Aseguramiento de la calidad Gestin de la configuracin

procesos de la organizacin Definicin de los procesos de la organizacin Planificacin de la formacin Gestin de riesgos Anlisis y resolucin de toma de decisiones

N. 4

Gestin cuantitativa de proyectos Mejora de los procesos de la


organizacin

Innovacin organizacional Anlisis y resolucin de las


causas

N. 5

CMM
Caractersticas del Nivel 1 (Inicial)
Las organizaciones en este nivel no disponen de un ambiente estable para el desarrollo y mantenimiento de software Aunque se utilicen tcnicas correctas de ingeniera, los esfuerzos se ven minados por falta de planificacin El xito de los proyectos se basa la mayora de las veces en el esfuerzo personal

A menudo se producen fracasos y casi siempre retrasos y sobrecostes


El resultado de los proyectos es impredecible

CMM
Caractersticas del Nivel 2 (Repetible)
Las organizaciones disponen de unas prcticas institucionalizadas de gestin de proyectos Existen unas mtricas bsicas y un razonable seguimiento de la calidad La relacin con subcontratistas y clientes est gestionada sistemticamente

CMM
Caractersticas del Nivel 3 (Definido)
Correctos procedimientos de coordinacin entre grupos Buena formacin del personal Tcnicas de ingeniera ms detalladas Nivel ms avanzado de mtricas en los procesos Se implementan tcnicas de revisin por pares

CMM
Caractersticas del Nivel 4 (Gestionado)
Conjunto de mtricas significativas de calidad y productividad, usados de modo sistemtico para la toma de decisiones y la gestin de riesgos Software resultante de alta calidad

Caractersticas del Nivel 5 (Optimizado)


La organizacin completa est volcada en la mejora continua de los procesos Uso intensivo de las mtricas y gestin del proceso de innovacin

CMM
Evolucin Temporal
1987 -- SEI-87-TR-24 (cuestionario SW-CMM)
1989 ----- Managing the Software Process 1990 --------- SW-CMM v0.2 1991 ------------- SW-CMM v1.0 1993 ----------------- SW-CMM v1.1

1997 --------------------- SW-CMM (Fin de revisiones)


2000 ------------------------- CMMI v1.02 2002 ----------------------------- CMMI v1.1 2006 --------------------------------- CMMI v1.2

CMMi
Modelo para la mejora o evaluacin de los procesos de desarrollo y mantenimiento de sistemas y productos de software
Evolucin natural de varios modelos de calidad desarrollados por el SEI durante los 90, como eran: CMM-SW, SE-CMM y IPD-CMM Es posible implementarlo siguiendo una de las dos posibles representaciones: Continua Escalonada Al estilo del SE-CMM Al estilo del CMM-SW

Fiabilidad del Software


La fiabilidad es la caracterstica dinmica ms importante de casi todos los sistemas software Una mayor fiabilidad aporta un menor nmero de fallos en el programa y arrastra un mayor coste de desarrollo en dicha aplicacin

Conjunto de entradas

Ee

Sistema

Conjunto de salidas

Se

Los fallos
Se pueden producir por defectos en el cdigo, en el diseo, en el anlisis e incluso tambin durante el mantenimiento
Tipos de fallos: Transitorio Permanente Recuperable Irrecuperable No corruptor Corruptor Ocurre slo con ciertas entradas Ocurre con todas las entradas El sistema se recupera sin intervencin del operador Se requiere la intervencin del operador para recuperar el sistema No corrompe el estado del sistema o los datos Corrompe el estado del sistema o los datos

Se corrigen usando tcnicas de pruebas

SPICE
Software Process Improvement
and Capability Determination
Aprobado en 1998, denominndose ISO/IEC TR 15504
Se utiliza para la mejora de procesos y determinacin de la capacidad Establece un marco para mtodos de evaluacin, no es un mtodo o modelo en s Posee equivalencia y compatibilidad con CMMi Comprende: Evaluacin de procesos Mejora de procesos Determinacin de capacidad

Mtricas de calidad
Basadas en atributos internos:
De De De De De De De De De Estructuracin de un programa complejidad cobertura de pruebas calidad del diseo portabilidad defectos usabilidad mantenibilidad fiabilidad

Basadas en atributos externos:


Basadas en sistemas orientados a objetos:


Orientadas a clases Orientadas a operaciones Orientadas a objetos

SPICE
Arquitectura en dos dimensiones
(1) PROCESO
Procesos primarios: CUS: Cliente - Proveedor ENG: Ingeniera

(2) CAPACIDAD DE PROCESO


Nivel Nivel Nivel Nivel Nivel Nivel 0 1 2 3 4 5 Incompleto Realizado Gestionado Establecido Predecible En optimizacin

Procesos de soporte: SUP: Soporte


Procesos organizacionales: MAN: Gestin ORG: Organizacin
Componentes

Identificador Nombre Tipo Propsito Salidas Notas

Revisiones del software


Tcnicas estticas que se aplican en varios momentos del desarrollo y que detectan defectos para as eliminarlos
Sealar la necesidad de mejora

Las revisiones pretenden

Confirmar las partes que no hay que mejorar

Conseguir mejorar la calidad

Tipos de Revisin (IEEE 1028)


De gestin Tcnicas Inspecciones Walkthrough Auditorias

Auditorias
Revisiones dirigidas a evitar el fraude o mal uso de las aplicaciones informticas Misin del auditor -> disear y promover la inclusin de los controles que ha de llevar el nuevo sistema (garantizando su integridad) Medidas de control: Sobre datos Operatividad Relativas al plan

Mtricas de Cobertura de Pruebas


Objetivo -> comprobar el esfuerzo y rigor en la realizacin de las pruebas Caso de prueba se define como el par (i,S(i)) siendo i una entrada del programa y S una especificacin.

Existen dos categoras:


Pruebas de caja negra: Se derivan de la especificacin, sin conocer la estructura interna del programa Pruebas de caja blanca: Se conoce la estructura interna del programa. Tipos: De sentencias (cada sentencia se ejecuta al menos una vez) De ramas (cada rama se ejecuta una vez) De caminos (todos los caminos al menos una vez) Prueba del camino simple (todos los caminos simples) Prueba estructurada (todos los caminos linealmente independientes)

EJEMPLO

Mtricas de Cobertura de Pruebas

Mtricas asociadas con las estrategias de prueba


Numero mnimo de casos de prueba
- Determina el nmero mnimo de casos que hay que generar para un programa - Nmero mnimo de caminos de un grafo de flujo que se requieren para satisfacer una estrategia

ndice de efectividad de las pruebas


- Medida del grado en que los casos de prueba satisfacen una estrategia particular para un programa - Se expresa mediante el TER - TER = nT/nO - Siendo nT el nmero de objetos probados alguna vez y nO el nmero total de objetos