Está en la página 1de 43

Administracin de Proyectos Informticos

Tema 5 (I)

GESTIN DE LA CALIDAD
1. Concepto de calidad
2. Definicin de calidad del software
3. Aspectos de la gestin de calidad
4. mbitos de la gestin de calidad
4.1. Calidad a nivel de la organizacin
4.2. Calidad a nivel del proyecto
5. Marco normativo
5.1. Estndares ISO 9000
5.2. Estndares ISO 9000:2000
5.3. Estndares IEEE
6. Actividades de aseguramiento de la calidad
7. Evaluacin de la calidad
7.1. Modelos de calidad del software
7.2. Fiabilidad del software
7.3. Revisiones
8. Mtricas de calidad

Gestin de la calidad 1

Administracin de Proyectos Informticos

1. 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].

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

CALIDAD
PROGRAMADA

CALIDAD
REALIZADA

CALIDAD
NECESARIA

Figura 1. Los orgenes de la calidad


Gestin de la calidad 2

Administracin de Proyectos Informticos

2. 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...

Los estndares y las normas de desarrollo permiten que se


consiga una calidad tcnica.
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 3

Administracin de Proyectos Informticos

3. 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].

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].

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].

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 4

Administracin de Proyectos Informticos

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

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.
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.

Pg.229 Dolado
Plan de calidad
del proyecto

Plan de calidad
adaptado
Plan de
calidad
adaptado

Figura 2. Relaciones entre los dos mbitos de la calidad


Gestin de la calidad 5

Administracin de Proyectos Informticos

mbitos de la gestin de calidad


4.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 66900) [AENOR, 1992].

El sistema de calidad se debe adecuar a los objetivos de


calidad de la empresa.

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 6

Administracin de Proyectos Informticos

mbitos de la gestin de calidad


4.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.

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 7

Administracin de Proyectos Informticos

5. Marco normativo
5.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.

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

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 8

Administracin de Proyectos Informticos

Marco normativo
Estndares ISO 9000

ISO 9000

CONCEPTOS Y DIRECTRICES
GENERALES

ISO 9001

ISO 9004
GESTIN INTERNA DE LA
CALIDAD

DISEO, PRODUCCIN,
INSTALACIN Y POSVENTA

ISO 9002
PRODUCCIN, INSTALACIN

UNE 66-907-91
GUA PARA MANUALES DE
CALIDAD

ISO 9003
INSPECCIN Y ENSAYOS
FINALES

ASEGURAMIENTO EXTERNO
DE LA CALIDAD

Figura 3. Normativa ISO 9000

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).
La norma UNE 66-907-91 (gua para manuales de
calidad) se ha inspirado en la normativa nuclear (norma
NFX 50-160:1988.
Gestin de la calidad 9

Administracin de Proyectos Informticos

Marco normativo
5.2. Estndares ISO 9000:2000

ISO 9000:2000. Sistemas de gestin de la calidad.


Fundamentos y vocabulario)
Define los trminos fundamentales y definiciones usadas en
la familia ISO 9000

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

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 10

Administracin de Proyectos Informticos

Marco normativo
Estndares 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 11

Administracin de Proyectos Informticos

Marco normativo
5.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 12

Administracin de Proyectos Informticos

6. 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

Revisin de la descripcin del proceso para asegurar:


Ajuste a la poltica de la empresa
Cumplimiento de estndares internos y externos

Revisin de las actividades de IS y de los productos:


Seguimiento de las desviaciones
Verificacin de la realizacin de las correcciones

Asegurar la documentacin de las desviaciones

Registrar lo que no se ajuste a los requisitos

Control y gestin de cambios:


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

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 13

Administracin de Proyectos Informticos

7. Evaluacin de la calidad
7.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.
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) Objetivopregunta-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 and
Capability dEtermination) : modelo de valoracin de la
arquitectura que define los procesos y prcticas
aconsejables.
Gestin de la calidad 14

Administracin de Proyectos Informticos

Evaluacin de la calidad
Modelos de calidad del software
Modelo de Boehm
z

Los componentes o constructores del modelo se centran


en el producto final

Se identifican caractersticas de calidad desde el punto de


vista del usuario.
Usos
Primarios

Constructores

Constructores

intermedios

primitivos

Portabilidad

Independencia dispositivo

Completitud

Fiabilidad
Como es su
utilidad

eficiencia

exactitud
Consistencia
Eficiencia Dispositivo

Utilidad
general

Ingeniera
humana

Accesibilidad
Comunicatividad

Chequeabilidad

Estructuracin
Autodescriptividad

Mantenibilidad

Comprensibilidad

Concisin

T
R
I
C
A
S

Legibilidad

Modificabilidad

Expansivilidad

Gestin de la calidad 15

Administracin de Proyectos Informticos

Evaluacin de la calidad
Modelos de calidad del software
Modelo factores/criterios/mtricas (McCall)
z

Descompone el concepto de calidad en tres usos o


capacidades importantes para un producto de software
Operacin
Revisin
Transicin

Cada capacidad se descompone en una serie de factores


que 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 16

Administracin de Proyectos Informticos

Evaluacin de la calidad
Modelos de calidad del software
Modelo factores/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.

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 17

Administracin de Proyectos Informticos

Evaluacin de la calidad
Modelos de calidad del software
Marco ISO 9126
z

La calidad se descompone en seis factores:

Funcionalidad
Fiabilidad
Usabilidad
Eficiencia
Mantenibilidad
Portabilidad

Gestin de la calidad 18

Administracin de Proyectos Informticos

Evaluacin de la calidad
Modelos de calidad del software
Paradigma GQM (Objetivo-pregunta-mtrica)
z

El enfoque GQM 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:
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.

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?

Proporcin de codificadores usando:


el estndar
el lenguaje

Cual es la
productividad del
codificador?

Experiencia de
codificadores en:
el estndar
el lenguaje
el entorno...

Cual es la calidad
del cdigo?

Cantidad
de cdigo

Errores...

Gestin de la calidad 19

Administracin de Proyectos Informticos

Evaluacin de la calidad
Modelos de calidad del software
Modelo de Gilb
z

Determinar una lista de caractersticas que definen la


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

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

Este modelo se ha 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.

Gestin de la calidad 20

Administracin de Proyectos Informticos

Evaluacin de la calidad
Modelos de calidad del software
Modelo CMM
z

SW-CMM describe los principios y prcticas que


conducen a mejores productos de software.
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.

El modelo se puede usar de dos formas:


Por los clientes
Internamente, por los desarrolladores
Gestin de la calidad 21

Administracin de Proyectos Informticos

Evaluacin de la calidad
Modelos de calidad del software
Modelo CMM
z

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
Nivel 1
Inicial
Nivel 2
Repetible

Nivel 3
Definido

Nivel 4
Gestionado
Nivel 5
Optimizado

reas claves
Ninguna
Gestin de configuraciones
Garanta de calidad
Gestin de subcontratacin del software
Seguimiento y supervisin del proyecto
Planificacin del proyecto
Gestin de requisitos
Revisiones peridicas
Coordinacin entre grupos
Ingeniera de productos de software
Gestin de integracin del software
Programa de formacin
Definicin del proceso de la organizacin
Enfoque del proceso de la organizacin
Gestin de calidad del software
Gestin cuantitativa del proceso
Gestin de cambios del proceso
Gestin de cambios de tecnologa
Prevencin de defectos
Gestin de la calidad 22

Administracin de Proyectos Informticos

Evaluacin de la calidad
Modelos de calidad del software
Modelo CMM
z

Cada rea de proceso se descompone en un conjunto de


prcticas clave que proporcionan la evidencia de que el
rea de proceso es efectiva.
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.

Una organizacin satisface un rea clave de proceso slo


cuando el rea de proceso est implementada e
institucionalizada.

Gestin de la calidad 23

Administracin de Proyectos Informticos

Evaluacin de la calidad
Modelos de calidad del software
Modelos CMMI
z

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

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 24

Administracin de Proyectos Informticos

Evaluacin de la calidad
Modelos 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.

Hay dos tipos de prcticas:


Prcticas base
Prcticas genricas

Categora
de procesos

Arquitectura de
mejores prcticas

Nivel de
capacidad
Vector de ndices

Procesos

Caractersticas
comunes

Perfil de proceso

Prctica base

Prctica
genrica

ndice actual

ndice actual

Gestin de la calidad 25

Administracin de Proyectos Informticos

Evaluacin de la calidad
Modelos de calidad del software
Modelo SPICE
z

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.

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 26

Administracin de Proyectos Informticos

Evaluacin de la calidad
Modelos de calidad del software
Modelo SPICE
z

Cada informe de evaluacin es un perfil: cada proceso se


evala y se documenta

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.

Nivel de capacidad

Proceso
Identificacin de necesidades
Soporte de operacin
Diseo de software
Implementacin del diseo
Integracin y prueba

Totalmente
adecuado
Parcialmente
adecuado

Muy adecuado
No adecuado

Gestin de la calidad 27

Administracin de Proyectos Informticos

Evaluacin de la calidad
Modelos de calidad del software
Modelo SPICE
Ejemplo de mejora de procesos: perfil de valoracin SPICE y
perfil ISO 9001 (diagrama de kiviat)

Gestin de la calidad 28

Administracin de Proyectos Informticos

Evaluacin de la calidad
Modelos de calidad del software

Gestin de la calidad 29

Administracin de Proyectos Informticos

Evaluacin de la calidad
7.2. Fiabilidad del software
z

La fiabilidad es la caracterstica dinmica ms importante


de casi todos los sistemas de software.
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 software
se est ejecutando.

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
entradas

Ee
Sistema
Conjunto
de salidas

Se

Gestin de la calidad 30

Administracin de Proyectos Informticos

Evaluacin de la calidad
Fiabilidad 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.
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.

El aumento de la fiabilidad del sistema supone un


aumento exponencial del coste y una disminucin de la
eficiencia.
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.).
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 31

Administracin de Proyectos Informticos

Evaluacin de la calidad
Fiabilidad 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

Descripcin

Transitorio

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 para


recuperar el sistema

No corruptor

No corrompe el estado del sistema o los datos

Corruptor

Corrompe el estado del sistema o los datos

Gestin de la calidad 32

Administracin de Proyectos Informticos

Evaluacin de la calidad
7.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.
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

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 33

Administracin de Proyectos Informticos

Evaluacin de la calidad
Revisiones 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

NORMAS

ACCESOS

AUTORIZ. USUARIOS

POSTERIOR

CONTROLES

Figura 3. Tipos de auditora


Gestin de la calidad 34

Administracin de Proyectos Informticos

8. 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

Mtricas basadas en atributos externos del producto:


Mtricas de portabilidad
Mtricas de defectos
Mtricas de usabilidad
Mtricas de mantenibilidad
Mtricas de fiabilidad

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 35

Administracin de Proyectos Informticos

Mtricas 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 36

Administracin de Proyectos Informticos

Mtricas de calidad
Mtricas de cobertura de pruebas (II)
A

input (puntos)

if puntos < 45

then mostrar pierde

else mostrar pasa

if puntos > 80

F
G

then mostrar con distincin


fin

D
E

Los caminos <ABCEFG> y <ABDEFG> cubren todas las


sentencias pero no cubren el arco EG
El camino <ABCEFG> 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.
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.

Gestin de la calidad 37

Administracin de Proyectos Informticos

Mtricas 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 38

Administracin de Proyectos Informticos

Mtricas de calidad
Mtricas de cobertura de pruebas (IV)
F

RBOL(F)

D1

P3

D0

P1

D0

D2

D3

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


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
Gestin de la calidad 39

Administracin de Proyectos Informticos

Mtricas de calidad
Mtricas de cobertura de pruebas (V)
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):
nmero de objetos T probados alguna vez

TERT =

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 40

Administracin de Proyectos Informticos

BIBLIOGRAFA
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-oriented
software 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 2024, 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 Engineering
Institute, 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 41

Administracin de Proyectos Informticos

ESTNDARES
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 42

Administracin de Proyectos Informticos

ESTNDARES
ISO/IEC 12207, Information Technology-Software Life Cycle Processes, 1995
ISO/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, 2004
ISO 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 .
Gestin de la calidad 43

También podría gustarte