tema5_1ige

Upload: ramon-cespedes-paz

Post on 13-Oct-2015

24 views

Category:

Documents


0 download

DESCRIPTION

qa

TRANSCRIPT

  • Gestin de la calidad 1

    Administracin de Proyectos Informticos

    Tema 5 (I)GESTIN DE LA CALIDADGESTIN DE LA CALIDAD

    1. Concepto de calidad2. Definicin de calidad del software3. Aspectos de la gestin de calidad4. mbitos de la gestin de calidad

    4.1. Calidad a nivel de la organizacin4.2. Calidad a nivel del proyecto

    5. Marco normativo5.1. Estndares ISO 90005.2. Estndares ISO 9000:20005.3. Estndares IEEE

    6. Actividades de aseguramiento de la calidad7. Evaluacin de la calidad

    7.1. Modelos de calidad del software7.2. Fiabilidad del software7.3. Revisiones

    8. Mtricas de calidad

  • Gestin de la calidad 2

    Administracin de Proyectos Informticos

    1. Concepto de calidad1. Concepto de calidad

    z 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 (Diccionario de la Real Academia Espaola).

    Totalidad de las caractersticas de un producto o servicio que le confieren su aptitud para satisfacer unas necesidades expresadas o implcitas (Norma UNE 66-001-92 traduccin de ISO 8402) [AENOR, 1992].

    z La consecucin de la calidad puede tener tres orgenes: Calidad realizada: la que es capaz de obtener la persona que

    realiza el trabajo. Calidad programada: La calidad que se ha pretendido

    obtener. Calidad necesaria: La calidad que el cliente exige con

    mayor o menor grado de concrecin

    CALIDADPROGRAMADA

    CALIDADNECESARIA

    CALIDAD REALIZADA

    Figura 1. Los orgenes de la calidad

  • Gestin de la calidad 3

    Administracin de Proyectos Informticos

    2. Definicin de calidad del software2. Definicin de calidad del software

    z Definiciones de calidad del software:Grado con el que un sistema, componente o proceso cumple:

    Los requisitos especificados Las necesidades o expectativas del cliente o usuario.(IEEE Std. 610-1990) [IEEE, 1993].

    Concordancia del software producido con los requisitos funcionales y de rendimiento explcitamente establecidos, con los estndares de desarrollo explcitamente documentados y con las caractersticas implcitas que se espera de todo software desarrollado profesionalmente [Pressman, 1998].

    z Los requisitos establecidos explcitamente se reflejan en el documento de especificacin de requisitos del sistema (ERS):

    Requisitos funcionales: funciones a realizar por el software. Requisitos no funcionales o extendidos: requisitos de

    seguridad, rendimiento, interfaz...

    z Los estndares y las normas de desarrollo permiten que se consiga una calidad tcnica.

    z Los requisitos implcitos no aparecen en la ERS. Si se cumplen los requisitos explcitos, pero no se alcanzan los implcitos, la calidad del software queda en entredicho.

  • Gestin de la calidad 4

    Administracin de Proyectos Informticos

    3. Aspectos de la gestin de calidad3. Aspectos de la gestin de calidad

    z Gestin de la calidad del software: Aspecto de la funcin general de la gestin que determina y aplica la poltica de calidad [AENOR, 1992].

    z Aseguramiento (garanta) de calidad del software:Conjunto de actividades planificadas y sistemticas necesarias para aportar la confianza en que el producto satisfar los requisitos dados de calidad [AENOR, 1992].Conjunto de actividades para evaluar el proceso mediante el cual se desarrolla el producto. [IEEE, 1990].

    z Control de calidad del software:Tcnicas y actividades de carcter operativo utilizadas para satisfacer los requisitos relativos a la calidad, centradas en dos objetivos fundamentales: mantener bajo control un proceso y eliminar las causas de defectos en las diferentes fases del ciclo de vida [AENOR, 1992].Proceso de verificar el propio trabajo o el de un compaero. [IEEE, 1990].

    z Verificacin y validacin: Verificacin. Comprobar si los productos construidos en

    una fase del ciclo de vida satisfacen los requisitos establecidos en la fase anterior.

    Validacin: Comprobar si el software construido satisface los requisitos de usuario.

  • Gestin de la calidad 5

    Administracin de Proyectos Informticos

    4. mbitos de la gestin de calidad 4. mbitos de la gestin de calidad

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

    z La gestin de la calidad a nivel de empresa u organizacin consiste en la creacin de una estructura organizativa apropiada para fomentar el trabajo por la calidad de todas las personas y departamentos de la empresa.

    z En cada proyecto de desarrollo se deben aplicar las directrices de calidad fijadas a nivel de la organizacin. Para ello es imprescindible la adaptacin de las mismas a las condiciones de cada proyecto.

    Figura 2. Relaciones entre los dos mbitos de la calidad

    PgPg.229 Dolado.229 DoladoPlan de calidad adaptado

    Plan de calidad del proyecto

    Plan de calidad adaptado

  • Gestin de la calidad 6

    Administracin de Proyectos Informticos

    mbitos de la gestin de calidadmbitos de la gestin de calidad4.1. Calidad a nivel de la organizacin4.1. Calidad a nivel de la organizacin

    z Para la implantacin de una infraestructura de calidad es necesario el apoyo de un sistema de calidad: Estructura de organizacin, de responsabilidades, de actividades, de recursos y de procedimientos que se establecen para llevar a cabo la gestin de calidad (ISO-9000/UNE 66-900) [AENOR, 1992].

    z El sistema de calidad se debe adecuar a los objetivos de calidad de la empresa.

    z Un sistema de calidad consta de dos partes:

    Documentacin en la que se describe el sistema, procedimientos, etc. ajustndose a una norma:

    Manual de calidad. Descripcin del sistema que sirve de referencia permanente en la aplicacin del sistema.

    Procedimientos de calidad. Instrucciones especficas para ciertas actividades o procesos.

    Registros de datos sobre calidad. Almacenamiento de informacin sobre actividades relacionadas con la calidad.

    Parte prctica, que tiene dos vertientes: Aspectos fsicos Aspectos humanos.

  • Gestin de la calidad 7

    Administracin de Proyectos Informticos

    mbitos de la gestin de calidadmbitos de la gestin de calidad4.2. Calidad a nivel del proyecto4.2. Calidad a nivel del proyecto

    z Para adaptar las directrices marcadas por los sistemas de calidad a cada proyecto particular hay que generar un plan especfico de calidad: Plan de aseguramiento de la calidad.

    z El plan de aseguramiento 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 prcticas que hay que cumplir Actividades de revisin y auditoras Gestin de la configuracin del software Informes de problemas Herramientas, tcnicas y mtodos de apoyo. Control del cdigo, de los equipos y de los suministradores. Recogida, mantenimiento y almacenamiento de datos sobre

    la documentacin de las actividades de aseguramiento de la calidad realizadas.

  • Gestin de la calidad 8

    Administracin de Proyectos Informticos

    5. Marco normativo5. Marco normativo5.1. Estndares ISO 90005.1. Estndares ISO 9000

    z La organizacin internacional de estndares, ISO, ha producido una serie de estndares para la gestin y aseguramiento de la calidad conocidos colectivamente como ISO 9000.

    z Se pueden dividir en dos grupos: Normas para el aseguramiento externo de la calidad.

    ISO 9001: Aseguramiento de la calidad en organizaciones cuyo proceso abarca desde el diseo hasta el servicio posventa.

    ISO 9002: Aseguramiento de la calidad en organizaciones cuya actividad se basa en las fases de produccin y de instalacin.

    ISO 9003: Aseguramiento de la calidad en organizaciones cuya actividad consiste en inspecciones y ensayos finales.

    Normas para la gestin interna de la calidad. ISO 9004: Elementos de un sistema de calidad

    z Gua ISO 9000-3: gua para aplicar ISO 9001 al desarrollo, suministro y mantenimiento de software. Marco de trabajo de la empresa Actividades del ciclo de vida Actividades de apoyo

  • Gestin de la calidad 9

    Administracin de Proyectos Informticos

    Marco normativoMarco normativoEstndares ISO 9000Estndares ISO 9000

    z Las normas de la serie ISO 9000 han sido adoptadas sin modificacin como normas europeas (serie EN 29000) y como normas espaolas (serie UNE 66-900).

    z La norma UNE 66-907-91 (gua para manuales de calidad) se ha inspirado en la normativa nuclear (norma NFX 50-160:1988.

    ISO 9000CONCEPTOS Y DIRECTRICES GENERALES

    ISO 9004

    GESTIN INTERNA DE LA CALIDAD

    ISO 9001DISEO, PRODUCCIN, INSTALACIN Y POSVENTA

    ISO 9002PRODUCCIN, INSTALACIN

    ISO 9003INSPECCIN Y ENSAYOS

    FINALES

    ASEGURAMIENTO EXTERNO DE LA CALIDAD

    UNE 66-907-91

    GUA PARA MANUALES DE CALIDAD

    Figura 3. Normativa ISO 9000

  • Gestin de la calidad 10

    Administracin de Proyectos Informticos

    Marco normativoMarco normativo5.2. Estndares ISO 9000:20005.2. Estndares ISO 9000:2000

    z ISO 9000:2000. Sistemas de gestin de la calidad. Fundamentos y vocabulario) Define los trminos fundamentales y definiciones usadas en

    la familia ISO 9000

    z ISO 9001:2000. Sistemas de gestin de la calidad. Requisitos Define la auditora de sistemas de calidad: permite realizar

    certificaciones externas de la calidad Se organiza en las siguientes secciones:

    Responsabilidad de gestin Gestin de recursos Realizacin de productos y/o servicios Medicin, anlisis y mejora

    z ISO 9004:2000. Sistemas de gestin de la calidad. Guas para la mejora del desempeo (performance) Describe un sistema de calidad que cumple los requisitos

    bsicos especificados en la norma 9001 Es una gua para las organizaciones que quieren mejorar la

    calidad de sus sistemas despus de aplicar ISO 9001

  • Gestin de la calidad 11

    Administracin de Proyectos Informticos

    Marco normativoMarco normativoEstndares ISO 9000:2000Estndares ISO 9000:2000

    z ISO/IEC 90003:2004 Gua para la aplicacin de ISO 9001:2000 a la adquisicin,

    suministro, desarrollo, operacin y mantenimiento de software servicios de soporte relacionados

    Las directrices recogidas en ISO/IEC 90003:2004 no tienen por objeto su uso como criterio de valoracin en la certificacin de sistemas de gestin de la calidad, sino que su aplicacin es apropiada para software que es parte de un contrato comercial con otra organizacin:

    Un producto disponible para un sector del mercado Usado para apoyar los procesos de la organizacin Empotrado en un producto hardware Relacionado con servicios software

    ISO/IEC 90003:2004 identifica todas los aspectos que hay que considerar en los sistema de gestin de calidad de las organizaciones, relacionados o no con el software, siendo independiente de la tecnologa, de los modelos de ciclo de vida, de los procesos de desarrollo, de la secuencia de actividades y de la estructura organizativa de la empresa

    Contiene adems directrices adicionales y se complementa con estndares de ingeniera del software como ISO/IEC 12207, ISO/IEC TR 9126, ISO/IEC 14598, ISO/IEC 15939 e ISO/IEC TR 15504.

  • Gestin de la calidad 12

    Administracin de Proyectos Informticos

    Marco normativoMarco normativo5.3. Estndares IEEE5.3. Estndares IEEE

    z Los estndares IEEE estn orientados al aseguramiento de la calidad a nivel del proyecto: Std. 730: proporciona la estructura de la documentacin del

    plan de aseguramiento de la calidad. Std.1061: definicin de mtricas para productos y para

    procesos, as como procedimientos para la recogida de valores de mtricas.

    Existen tambin estndares para otras actividades relacionadas con la calidad como pruebas, verificacin y validacin, revisiones, etc. Los principales se recogen en la siguiente tabla.

    IEEE 730-2002 Planes de aseguramiento de la calidad del software

    IEEE 829-1998 Documentacin de pruebas del software

    IEEE 982.1, 982.2

    Diccionario estndar de medidas para producir software fiable

    IEEE 1008-1987 Pruebas de unidad del software

    IEEE 1012-1998 Verificacin y validacin del software

    IEEE 1028-1997 Revisiones del software

    IEEE 1044-1993 Clasificacin estndar para anomalas del software

    IEEE 1061-1998 Estndar para una metodologa de mtricas de calidad del software

    IEEE 1228-1994 Planes de seguridad del software

  • Gestin de la calidad 13

    Administracin de Proyectos Informticos

    6. Actividades de aseguramiento de la calidad6. Actividades de aseguramiento de la calidad

    z Establecimiento de un plan para el aseguramiento de la calidad del proyecto: Se desarrolla durante la planificacin del proyecto Se revisa por todas las partes involucradas

    z Revisin de la descripcin del proceso para asegurar: Ajuste a la poltica de la empresa Cumplimiento de estndares internos y externos

    z Revisin de las actividades de IS y de los productos: Seguimiento de las desviaciones Verificacin de la realizacin de las correcciones

    z Asegurar la documentacin de las desviacionesz Registrar lo que no se ajuste a los requisitosz Control y gestin de cambios:

    Establecimiento de configuraciones de referencia que permitan controlar y gestionar los cambios del software de una manera formal.

    z Recopilacin y anlisis de mtricas: identificacin y seleccin de las mtricas de calidad ms adecuadas para evaluar tanto la calidad del producto como la calidad del proceso.

  • Gestin de la calidad 14

    Administracin de Proyectos Informticos

    7. Evaluacin de la calidad7. Evaluacin de la calidad7.1. Modelos de calidad del software7.1. Modelos de calidad del software

    z La resolucin del problema de la evaluacin se basa en la descomposicin del concepto genrico de calidad en propiedades ms sencillas de medir y evaluar. Este tipo de descomposicin recibe el nombre de modelo de calidad.

    z Los modelos de mayor difusin son los siguientes: Modelo de Boehm [Boehm et al., 1978]: modelo de

    descomposicin de caractersticas de calidad del software en tres niveles (usos principales, componentes intermedios y componentes primitivos) previos a la aplicacin de mtricas.

    Modelo factores/criterios/mtricas [McCall et al., 1977]: modelo similar al de Boehm en el cual se ha introducido mayor grado de descomposicin en cada nivel.

    Marco ISO 9126: este estndar denominado Evaluacin de Productos Software: Caractersticas de calidad y guas para su uso, la calidad se descompone en seis factores.

    Paradigma GQM (Goal-Question-Metric) Objetivo-pregunta-mtrica [Basili y Rombach, 1988]: enfoque de medicin para evaluar la calidad del software basado en la identificacin de objetivos a lograr.

    Modelo de Gilb [Gilb, 1988]: creacin de una especificacin de requisitos de calidad para cada proyecto que deben escribir conjuntamente el usuario y el analista.

    Modelo CMM (Capability Maturity Model) : modelo de capacidad de madurez del SEI.

    Modelo SPICE (Software Process Improvement andCapability dEtermination) : modelo de valoracin de la arquitectura que define los procesos y prcticas aconsejables.

  • Gestin de la calidad 15

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidadModelos de calidad del softwareModelos de calidad del software

    Modelo de Modelo de BoehmBoehmz Los componentes o constructores del modelo se centran

    en el producto finalz Se identifican caractersticas de calidad desde el punto de

    vista del usuario.

    Ingenierahumana

    Fiabilidad

    eficiencia

    Chequeabilidad

    Comprensibilidad

    Portabilidad

    Modificabilidad

    Como es suutilidad

    Mantenibilidad

    Independencia dispositivo

    Completitud

    exactitud

    Consistencia

    Eficiencia Dispositivo

    Accesibilidad

    Comunicatividad

    Estructuracin

    Autodescriptividad

    Concisin

    Legibilidad

    Expansivilidad

    MMTTRRIICCAASS

    Usos Usos PrimariosPrimarios

    Utilidadgeneral

    CConstructores onstructores intermediosintermedios

    CConstructores onstructores primitivosprimitivos

  • Gestin de la calidad 16

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidadModelos de calidad del softwareModelos de calidad del software

    ModeloModelo factores/criterios/mtricasfactores/criterios/mtricas (McCall) z Descompone el concepto de calidad en tres usos o

    capacidades importantes para un producto de software Operacin Revisin Transicin

    z Cada capacidad se descompone en una serie de factoresque determinan la calidad en cada una de ellas.

    Operacin: Facilidad de uso Integridad Eficiencia Correccin o exactitud Fiabilidad

    Revisin: Facilidad de prueba Facilidad de mantenimiento Flexibilidad

    Transicin Reusabilidad Portabilidad Interoperabilidad

  • Gestin de la calidad 17

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidadModelos de calidad del softwareModelos de calidad del software

    ModeloModelo factores/criterios/mtricasfactores/criterios/mtricas (McCall) z Cada factor determinante de la calidad se descompone, a

    su vez, en una serie de criterios o propiedades que determinan su calidad.

    z Los criterios pueden ser evaluados mediante un conjunto de mtricas. Para cada criterio deben fijarse unos valores mximo y mnimo aceptables para cada criterio.

  • Gestin de la calidad 18

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidadModelos de calidad del softwareModelos de calidad del software

    Marco ISO 9126z La calidad se descompone en seis factores:

    Funcionalidad Fiabilidad Usabilidad Eficiencia Mantenibilidad Portabilidad

  • Gestin de la calidad 19

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidadModelos de calidad del softwareModelos de calidad del software

    Paradigma GQM (Objetivo-pregunta-mtrica)

    z El enfoque GQM basa la mejora en la definicin clara de procesos y productos.

    z Proporciona la estructura para obtener los objetivos cruciales del proyecto. Consta de tres etapas: Lista de los objetivos principales del desarrollo y

    mantenimiento del proyecto. Para cada objetivo obtener las preguntas que deben

    contestarse para saber si se estn cumpliendo los objetivos. Decidir qu medir para poder contestar las preguntas de

    forma adecuada.z La medidas individuales obtenidas se relacionan para

    poder ser utilizadas en el contexto del proyecto completo.

    OBJETIVO: Evaluar la efectividad del estndar de codificacin

    PREGUNTAS: Quien est usando el estndar?

    Cual es la productividad del

    codificador?

    Cual es la calidad del cdigo?

    Proporcin de codi-ficadores usando:

    el estndarel lenguaje

    Cantidad de cdigo

    Errores...Experiencia de codificadores en:

    el estndarel lenguajeel entorno...

  • Gestin de la calidad 20

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidadModelos de calidad del softwareModelos de calidad del software

    Modelo de Gilbz Determinar una lista de caractersticas que definen la

    calidad de la aplicacin. Pueden ser de dos tipos Originales De los modelos tradicionales

    z Las caractersticas se pueden medir mediante varias subcaractersticas o mtricas detalladas. Para cada una de ellas se debe especificar los siguientes conceptos: Nombre y definicin de la caracterstica Escala o unidades de medicin Recogida de datos o prueba El valor previsto El valor ptimo El valor en el sistema actual Comentarios

    z Este modelo se ha asociado con la filosofa QFD (QualityFunction Deployment) para la gestin de la calidad industrial.

    z El proyecto COQUAMO (Constructive Quality Model) se apoya en el enfoque de Gilb.

  • Gestin de la calidad 21

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidadModelos de calidad del softwareModelos de calidad del software

    Modelo CMMz SW-CMM describe los principios y prcticas que

    conducen a mejores productos de software.z Se agrupan en cinco niveles que proporcionan el camino

    para mejorar la visibilidad y el control:

    Nivel 1 (Inicial): se definen pocos procesos Nivel 2 (Repetible): se establecen los procesos de gestin

    del proyecto para hacer un seguimiento del coste, de la planificacin y de la funcionalidad.

    Nivel 3 (Definido): El proceso del software de las actividades de gestin y de ingeniera se documenta, se estandariza y se integra dentro de un proceso de software de toda una organizacin.

    Nivel 4 (Gestionado): Se recopilan medidas detalladas del proceso de software y de la calidad del producto.

    Nivel 5 (Optimizado): Mediante un resultado cuantitativo del proceso y de las ideas y tecnologas innovadoras se posibilita una mejora del proceso.

    z El modelo se puede usar de dos formas: Por los clientes Internamente, por los desarrolladores

  • Gestin de la calidad 22

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidadModelos de calidad del softwareModelos de calidad del software

    Modelo CMMz Cada nivel se asocia con un conjunto de reas clave de

    proceso sobre las que la organizacin tiene que mejorar sus actividades.

    Niveles de madurez reas claves

    Nivel 1Inicial

    Ninguna

    Nivel 2Repetible

    Gestin de configuracionesGaranta de calidadGestin de subcontratacin del softwareSeguimiento y supervisin del proyectoPlanificacin del proyectoGestin de requisitos

    Nivel 3Definido

    Revisiones peridicasCoordinacin entre gruposIngeniera de productos de softwareGestin de integracin del softwarePrograma de formacinDefinicin del proceso de la organizacinEnfoque del proceso de la organizacin

    Nivel 4Gestionado

    Gestin de calidad del softwareGestin cuantitativa del proceso

    Nivel 5Optimizado

    Gestin de cambios del procesoGestin de cambios de tecnologaPrevencin de defectos

  • Gestin de la calidad 23

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidadModelos de calidad del softwareModelos de calidad del software

    Modelo CMMz Cada rea de proceso se descompone en un conjunto de

    prcticas clave que proporcionan la evidencia de que el rea de proceso es efectiva.

    z Las prcticas clave se organizan en caractersticas comunes:

    Compromiso de realizacin: acciones que aseguran que el proceso se ha establecido y ser usado.

    Capacidad de realizacin: precondiciones que aseguran que la organizacin es capaz de implementar el proceso.

    Actividades realizadas: roles y procedimientos necesarios para implementar el rea clave.

    Medicin y anlisis: procedimientos y anlisis de las medidas.

    Verificacin de la implementacin: asegura que las actividades cumplen con los procesos establecidos.

    z Una organizacin satisface un rea clave de proceso slo cuando el rea de proceso est implementada e institucionalizada.

  • Gestin de la calidad 24

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidadModelos de calidad del softwareModelos de calidad del software

    Modelos CMMIz El modelo SW-CMM se ha ampliado con los modelos

    CMMI (Capability Maturity Model Integration) que permiten la expansin y el crecimiento de los conceptos CMM a mltiples disciplinas (SW-CMM, EIA/IS 731 IPD-CMM, SA-CMM) y a otros modelos de mejora de procesos

    z Algunos modelos: CMMI for Systems Engineering/Software Engineering/

    Integrated Product and Process Development/Supplier Sourcing, V 1.1 (CMMI-SE/SW/IPPD/SS)

    Continuous Representation (CMU/SEI-2002-TR-011) Staged Representation (CMU/SEI-2002-TR-012)

    CMMI for Software Engineering, V 1.1: medicin del proceso de mejora usando los niveles de capacidad.

    Continuous Representation (CMU/SEI-2002-TR-028)Los niveles de madurez se aplican a la mejora de procesos dentro de reas individuales de proceso.

    Staged Representation (CMU/SEI-2002-TR-029)Los niveles de madurez se aplican a la mejora de procesos a nivel de la unidad de la organizacin.

  • Gestin de la calidad 25

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidadModelos de calidad del softwareModelos de calidad del software

    Modelo SPICE (ISO/IEC 15504)z Modelo similar al CMM que tambin se utiliza para la

    mejora de procesos y determinacin de la capacidad.z Hay dos tipos de prcticas:

    Prcticas base Prcticas genricas

    Arquitectura de mejores prcticas Nivel de

    capacidad

    Caractersticas comunes

    Prctica genrica

    ndice actual

    Vector de ndices

    Categora de procesos

    Prctica base

    ndice actual

    Procesos

    Perfil de proceso

  • Gestin de la calidad 26

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidadModelos de calidad del softwareModelos de calidad del software

    Modelo SPICEz Vista funcional (parte izquierda del diagrama):

    suministro al cliente: procesos que afectan al cliente directamente.

    Ingeniera: Procesos que especifican, implementan o mantienen el sistema y su documentacin.

    Proyecto: procesos que establece el proyecto. Soporte: procesos de apoyo a la realizacin de otros

    procesos. Organizacin: procesos relacionados con los objetivos de

    negocio.

    z Vista de gestin (parte derecha del diagrama). Las prcticas genricas se sitan en seis niveles: 0: no realizada: no hay productos de trabajo identificables. 1: realizada informalmente: planificacin y seguimiento

    dependientes del conocimiento individual. Productos de trabajo identificables.

    2: planificada: verificada de acuerdo a los procedimientos especificados.

    3: bien definida: procesos bien definidos y documentados 4: controlada cuantitativamente : medidas detalladas de

    realizacin, prediccin, etc. Productos de trabajo evaluados cuantitativamente.

    5: mejorada continuamente : objetivos cuantitativos de eficiencia basados en los objetivos de negocio.

  • Gestin de la calidad 27

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidadModelos de calidad del softwareModelos de calidad del software

    Modelo SPICEz Cada informe de evaluacin es un perfil: cada proceso se

    evala y se documentaz La principal diferencia entre CMM y SPICE radica en que

    CMM est orientado a organizaciones, mientras que el modelo SPICE est dirigido a los procesos.

    Totalmenteadecuado

    Parcialmenteadecuado

    Muy adecuado

    No adecuado

    Proceso Nivel de capacidad

    Identificacin de necesidades

    Soporte de operacin

    Diseo de software

    Implementacin del diseo

    Integracin y prueba

  • Gestin de la calidad 28

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidadModelos de calidad del softwareModelos de calidad del software

    Modelo SPICEEjemplo de mejora de procesos: perfil de valoracin SPICE y perfil ISO 9001 (diagrama de kiviat)

  • Gestin de la calidad 29

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidadModelos de calidad del softwareModelos de calidad del software

  • Gestin de la calidad 30

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidad7.2. Fiabilidad del software7.2. Fiabilidad del software

    z La fiabilidad es la caracterstica dinmica ms importante de casi todos los sistemas de software.

    z Definicin de fiabilidad:Probabilidad de operacin libre de fallos de un programa de computadora en un entorno determinado y durante un tiempo especfico.Entendindose por fallo cualquier falta de concordancia con los requisitos del software. Un fallo tiene lugar cuando el softwarese est ejecutando.

    z La ejecucin del software trabaja sobre un conjunto de entradas y produce un conjunto de salidas. La fiabilidad del software est relacionada con la probabilidad de que en una ejecucin particular del programa la entrada del sistema sea miembro de un conjunto de entradas que causan una salida errnea.

    Conjunto de

    entradasEe

    Conjunto de salidas Se

    SistemaSistema

  • Gestin de la calidad 31

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidadFiabilidad del softwareFiabilidad del software

    z Los fallos se pueden producir por defectos en el cdigo, en el diseo o en el anlisis. Tambin se pueden producir durante el mantenimiento.

    z Las pruebas contribuyen a mejorar la fiabilidad, pero no la garantizan totalmente debido varios factores: La especificacin puede no reflejar los requisitos de los

    usuarios. Las pruebas pueden contener errores Las pruebas pueden suponer patrones de uso que son

    incorrectos.z El aumento de la fiabilidad del sistema supone un

    aumento exponencial del coste y una disminucin de la eficiencia.

    z Existen muchas razones para considerar que hay que dar ms importancia a la fiabilidad que a la eficiencia: los ordenadores son cada vez ms rpidos y baratos, los fallos pueden ser muy costosos, los sistemas no fiables son difciles de mejorar y pueden causar prdida de informacin, etc.).

    z La fiabilidad del producto software est influenciada por el proceso de desarrollo, sin embargo no hay una relacin simple entre la fiabilidad del producto y la fiabilidad del proceso.

  • Gestin de la calidad 32

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidadFiabilidad del softwareFiabilidad del software

    z Especificacin de la fiabilidad: La fiabilidad requerida del sistema debe aparecer en la

    especificacin de requisitos. Puede expresarse de varias maneras:

    Cualitativamente Cuantitativamente Cuasi-cuantitativamente

    El plan de pruebas del software debe incluir un perfil operacional del software para medir su fiabilidad.

    Las consecuencias del fallo de un sistema dependen de la naturaleza del fallo. Deben especificarse los tipos de fallos que pueden ocurrir.

    Tipo de fallo DescripcinTransitorio Ocurre slo con ciertas entradas

    Permanente Ocurre con todas las entradas

    Recuperable El sistema se recupera sin intervencin del operador

    Irrecuperable Se requiere la intervencin del operador pararecuperar el sistemaNo corruptor No corrompe el estado del sistema o los datos

    Corruptor Corrompe el estado del sistema o los datos

  • Gestin de la calidad 33

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidad7.3. Revisiones del software7.3. Revisiones del software

    z Las revisiones son tcnicas estticas que se aplican en varios momentos del desarrollo del software y sirven para detectar defectos que puedan as ser eliminados.

    z En cualquier revisin se pretende: Sealar la necesidad de mejora en el producto Confirmar las partes de un producto que no es necesario

    mejorar Conseguir un trabajo tcnico de una calidad ms uniforme

    z Tipos de revisiones (IEEE Std. 1028):

    Revisiones de gestin: sirven para controlar el progreso y detectar inconsistencias de los planes con la programacin y los requisitos.

    Revisiones tcnicas: revisan la documentacin producida a lo largo del proyecto.

    Inspecciones: revisiones que involucran al autor de un producto.

    Walkthrough: inspecciones conducidas nicamente por miembros del grupo de desarrollo que examinan una parte especfica del producto.

    Auditoras: evaluaciones independientes sobre el cumplimiento de estndares, planes, procedimientos ...

  • Gestin de la calidad 34

    Administracin de Proyectos Informticos

    Evaluacin de la calidadEvaluacin de la calidadRevisiones del softwareRevisiones del software

    z Auditoras Revisiones dirigidas a evitar el fraude o mal uso, an

    involuntario, de las aplicaciones informticas. La misin de un auditor ser disear y promover la

    inclusin de los controles que el nuevo sistema ha de llevar incorporados, para que su integridad quede garantizada.

    Medidas de control: Medidas sobre datos: precisin en el procesamiento. Medidas de operatividad: economa, efectividad y

    eficiencia de las operaciones. Medidas relativas al plan: cumplimiento de los

    objetivos establecidos. Las medidas de control se aplican en diferentes aspectos

    (controles detectores) a lo largo del ciclo de vida (fig. 3).

    AUDITORA

    PREVIA

    POSTERIOR

    NORMAS

    CONTROLES

    ACCESOS AUTORIZ. USUARIOS

    Figura 3. Tipos de auditora

  • Gestin de la calidad 35

    Administracin de Proyectos Informticos

    8. Mtricas de calidad8. Mtricas de calidad

    z Mtricas basadas en atributos internos del producto: Medidas de estructuracin de un programa Mtricas de complejidad Mtricas de cobertura de pruebas Mtricas de calidad del diseo

    z Mtricas basadas en atributos externos del producto: Mtricas de portabilidad Mtricas de defectos Mtricas de usabilidad Mtricas de mantenibilidad Mtricas de fiabilidad

    z Mtricas para sistemas orientados a objetos: Mtricas orientadas a clases: proporcionan un conjunto de

    medidas para valorar la complejidad y la calidad del diseo. Mtricas orientadas a operaciones: se utilizan para medir

    la complejidad de los mtodos, comprobar la asignacin correcta de responsabilidades o la complejidad de la colaboracin entre objetos.

    Mtricas para pruebas orientadas a objetos: orientadas a medidas de encapsulamiento y complejidad de la jerarqua de la herencia.

  • Gestin de la calidad 36

    Administracin de Proyectos Informticos

    Mtricas de calidadMtricas de calidad

    Mtricas de cobertura de pruebas (I)z Su objetivo es comprobar el esfuerzo y rigor en la

    realizacin de las pruebas.z Si P es un programa producido por una especificacin S,

    Se define caso de prueba como el par (i,S(i)) siendo i una entrada al programa.

    z Las estrategias de prueba se agrupan en dos categoras: Pruebas de caja negra: los casos de prueba se derivan de la

    especificacin de los requisitos sin considerar el cdigo ni su estructura.

    Pruebas de caja blanca: los casos de prueba se seleccionan basndose en el conocimiento de la estructura interna del programa. Los objetivos pueden ser:

    que cada sentencia del programa se ejecute al menos una vez (cobertura de sentencias)

    que cada rama del programa se ejecute una sola vez (cobertura de ramas)

    casos de prueba que permitan ejecutar todos los posibles caminos del programa al menos una vez (cobertura de caminos)

    que se ejecuten los caminos simples (prueba del camino simple)

    que se ejecuten los caminos linealmente independientes (prueba estructurada)

  • Gestin de la calidad 37

    Administracin de Proyectos Informticos

    Mtricas de calidadMtricas de calidad

    A

    B

    DC

    E

    GF

    A input (puntos)B if puntos < 45C then mostrar pierdeD else mostrar pasaE if puntos > 80F then mostrar con distincinG fin

    Los caminos y cubren todas las sentencias pero no cubren el arco EG

    El camino no se ejecuta nunca

    z La estrategia de cobertura de caminos es imposible realizarla en muchas ocasiones debido a la existencia de caminos inviables: caminos que no pueden ejecutarse para ninguna entrada.

    z Las estrategias de prueba deberan cumplir: Ser ms completas que la cobertura de sentencias o ramas. El nmero de casos de prueba que requieren sea finito.

    Mtricas de cobertura de pruebas (II)

  • Gestin de la calidad 38

    Administracin de Proyectos Informticos

    Mtricas de calidadMtricas de calidad

    Mtricas de cobertura de pruebas (III)z Existen dos mtricas importantes asociadas con las

    estrategias de prueba Nmero mnimo de casos de prueba

    Ayuda a planificar las pruebas proporcionando el nmero mnimo de casos que hay que generar para un programa determinado y una estrategia de prueba dada.

    ndice de efectividad de las pruebas Proporciona una medida del grado en que los casos de

    prueba satisfacen una estrategia particular para un programa dado y un conjunto determinado de casos de prueba.

    z Para calcular el nmero mnimo de casos de prueba se puede hacer uso del teorema de descomposicin bsica:

    Un caso de prueba corresponde a un camino del grafo de flujo F.

    Para calcular el nmero mnimo de casos de prueba se calcular el nmero mnimo de caminos, m(F), que se requieren para satisfacer una estrategia.

    El clculo de m(F) a partir del rbol de descomposicin definiendo medidas para las primitivas, concatenacin y anidamiento.

  • Gestin de la calidad 39

    Administracin de Proyectos Informticos

    Mtricas de calidadMtricas de calidad

    z Ejemplo: cobertura de sentencias

    Primitivas: m(D1) = 2, m(Cn) = n y m(F) = 1 si F D1 y F Cn

    Secuencia: m(F1; ......; Fn) = max (m(F1 ), ......, m(Fn))

    Anidamiento:m(D1(F1, F2)) = m(F1 ) + m(F2))m(Cn(F1, ......, Fn)) = m(Fi)m(D0(F)) = m(F)m(D2(F)) = 1

    FD1

    P3 D0

    D0 P1 D2 D3

    RBOL(F)

    F = D1 ((D0 ; P1 ; D2), D0 (D3))

    Mtricas de cobertura de pruebas (IV)

  • Gestin de la calidad 40

    Administracin de Proyectos Informticos

    Mtricas de calidadMtricas de calidad

    z ndice de efectividad de las pruebas Grado de cobertura de los casos de prueba para una

    estrategia particular y un programa dado.

    Si T es una estrategia que requiere cubrir una clase de objetos, podemos expresar formalmente el ndice de efectividad TERT (Test Effectiveness Ratio):

    Mtricas de cobertura de pruebas (V)

    nmero de objetos T probados alguna vezTERT =

    nmero total de objetos

    En algunos casos, el denominador de la expresin anterior es el nmero mnimo de casos de prueba que se requieren para satisfacer la estrategia de prueba.

  • Gestin de la calidad 41

    Administracin de Proyectos Informticos

    BIBLIOGRAFABIBLIOGRAFA

    AENOR. Normas para la gestin y el aseguramiento de la calidad, Madrid, AENOR, 1992.

    Basili, V.R. y Rombach, H.D., The TAME project: Towards improvement-orientedsoftware environments, IEEE Transaction on Software Engineering,14(6), 758-73 1988.

    Boehm, B.W., Kaspar, J.R. y otros Characteristics of Software Quality, TRW Series of Software Technology, 1978.

    Dolado, J.J. y Fernndez, L. (coordinadores). Medicin para la Gestin en la Ingeniera del Software. Ra-ma, 2000.

    Fenton, N.E. y Pfleeger, S.L., Software Metrics. A Rigorous & Practical Approach, PWS, 1997.

    Fernndez, L. Una Revisin Breve de la Medicin del Software". Novtica, 137, pp 20-24, 1999.

    Gilb, T. Principles of Software Engineering Management, Addison-Wesley, 1988.McCall, J.A., Richards, P.K. and Walters, G.F. Factors in Software Quality, RADC

    TR-77-369, US Rome Air Development Center Reports NTIS AD/A-049 014, 015, 055, 1977.

    Paulk, M. et al., Capability Maturity Model for Software, Software EngineeringInstitute, Carnie Mellon University, Pittsburgh, P.A., 1993.

    Pressman, R.S., Ingeniera del Software, un enfoque prctico, 4 ed., Mc Graw Hill, 1998.

    Piattini, M.G., Calvo-Manzano, J.A., Cervera, J. y Fernndez, L. Anlisis y Diseo Detallado de Aplicaciones Informticas de Gestin. Ra-ma. 1996.

    Rout, T.P. Software Process Improvement and Practice, 1(1), pp 57-66, 1995.

    SPICE, SPICE Document Suite, Software Process Improvement and Capability determination, http://www.sqi.gu.edu.au/spice/, 1999.

  • Gestin de la calidad 42

    Administracin de Proyectos Informticos

    ESTNDARESESTNDARES

    CMMI for Systems Engineering/Software Engineering/ Integrated Product and Process Development/Supplier Sourcing, V 1.1 (CMMI-SE/SW/IPPD/SS)

    Continuous Representation (CMU/SEI-2002-TR-011) Staged Representation (CMU/SEI-2002-TR-012)

    CMMI for Software Engineering, V 1.1 Continuous Representation (CMU/SEI-2002-TR-028) Staged Representation (CMU/SEI-2002-TR-029)

    IEEE Sdt. 12207, IEEE Standard for developing Software Life Cycle Processes, 1998.

    IEEE Sdt. 610.12, IEEE Standard Glossary of Software Engineering Terminology, 1990.

    IEEE Std. 1008 Software Unit Test, 1998.IEEE Std. 1012, Software Verification and Validation, 1998.IEEE Std. 1028, Software Reviews, 1997.IEEE Std. 1044, Standard Classification for Software Anomalies,

    1993.

    IEEE Std. 1061, Standard for a Software Quality Metrics Methodology, 1998.

    IEEE Std. 1228, Software Safety Plans, 1994.IEEE Std. 730, Software Quality Assurance Plans, 2002.IEEE Std. 829, Software Test Documentation, 1998.

  • Gestin de la calidad 43

    Administracin de Proyectos Informticos

    ESTNDARESESTNDARES

    ISO/IEC 12207, Information Technology-Software Life Cycle Processes, 1995ISO/IEC 8402, Quality - Vocabulary, 1986.ISO 9000, Quality Management and Quality Assurance Standards, 1994.ISO 9000:2000, Quality management systems -- Fundamentals and vocabulary,

    2004.ISO 9001:2000, Quality management systems -- Requirements, 2000.ISO 9004:2000, Quality management systems -- Guidelines for performance

    improvements, 2000.ISO/IEC 90003:2004, Software engineering -- Guidelines for the application of ISO

    9001:2000 to computer software, 2004ISO 9001, Quality Systems, 1994.ISO/IEC 9126-1:2001, Software engineering -- Product quality -- Part 1: Quality

    model, 2001. ISO/IEC TR 9126-2:2003, Software engineering -- Product quality -- Part 2: External

    metrics, 2003 . ISO/IEC TR 9126-3:2003, Software engineering -- Product quality -- Part 3: Internal

    metrics, 2003. ISO/IEC TR 9126-4:2004, Software engineering -- Product quality -- Part 4: Quality

    in use metrics, 2004.ISO/IEC TR 15504, Software Process Assessment, 1998.ISO/IEC TR 15504-1:1998, Information technology -- Software process assessment --

    Part 1: Concepts and introductory guide, 1998. ISO/IEC 15504-2:2003, Information technology -- Process assessment -- Part 2:

    Performing an assessment, 2003 . ISO/IEC 15504-3:2004, Information technology -- Process assessment -- Part 3:

    Guidance on performing an assessment, 2004. ISO/IEC TR 15504-5:1999, Information technology -- Software Process Assessment --

    Part 5: An assessment model and indicator guidance, 1999 . ISO/IEC TR 15504-7:1998, Information technology -- Software process assessment --

    Part 7: Guide for use in process improvement, 1998 . ISO/IEC TR 15504-8:1998, Information technology -- Software process assessment --

    Part 8: Guide for use in determining supplier process capability, 1998 . ISO/IEC TR 15504-9:1998, Information technology -- Software process assessment --

    Part 9: Vocabulary, 1998 .