You are on page 1of 43

Gestin de la calidad 1

Administracin de Proyectos Informticos


Tema 5 (I)
GESTIN DE LA CALIDAD
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 2
Administracin de Proyectos Informticos
1. Concepto de calidad
1. 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 (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
NECESARIA
CALIDAD
REALIZADA
Figura 1. Los orgenes de la calidad
Gestin de la calidad 3
Administracin de Proyectos Informticos
2. Definicin de calidad del software
2. Definicin de calidad del software
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].
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 4
Administracin de Proyectos Informticos
3. Aspectos de la gestin de calidad
3. Aspectos de la gestin de calidad
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 5
Administracin de Proyectos Informticos
4. mbitos de la gestin de calidad
4. 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
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.
Figura 2. Relaciones entre los dos mbitos de la calidad
Pg
Pg
.229 Dolado
.229 Dolado
Plan 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 calidad
mbitos de la gestin de calidad
4.1. Calidad a nivel de la organizacin
4.1. Calidad a nivel de la organizacin
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].
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 7
Administracin de Proyectos Informticos
mbitos de la gestin de calidad
mbitos de la gestin de calidad
4.2. Calidad a nivel del proyecto
4.2. Calidad a nivel del proyecto
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 8
Administracin de Proyectos Informticos
5. Marco normativo
5. Marco normativo
5.1. Estndares ISO 9000
5.1. Estndares ISO 9000
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 9
Administracin de Proyectos Informticos
Marco normativo
Marco normativo
Estndares ISO 9000
Estndares 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.
ISO 9000
CONCEPTOS Y DIRECTRICES
GENERALES
ISO 9004
GESTIN INTERNA DE LA
CALIDAD
ISO 9001
DISEO, PRODUCCIN,
INSTALACIN Y POSVENTA
ISO 9002
PRODUCCIN, INSTALACIN
ISO 9003
INSPECCIN 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 normativo
Marco normativo
5.2. Estndares ISO 9000:2000
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 11
Administracin de Proyectos Informticos
Marco normativo
Marco normativo
Estndares ISO 9000:2000
Estndares ISO 9000:2000
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 normativo
Marco normativo
5.3. Estndares IEEE
5.3. Estndares IEEE
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 calidad
6. Actividades de aseguramiento de la calidad
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 14
Administracin de Proyectos Informticos
7. Evaluacin de la calidad
7. Evaluacin de la calidad
7.1. Modelos de calidad del software
7.1. Modelos de calidad del software
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) 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 and
Capability 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 calidad
Evaluacin de la calidad
Modelos de calidad del software
Modelos de calidad del software
Modelo de
Modelo de
Boehm
Boehm
Los componentes o constructores del modelo se centran
en el producto final
Se identifican caractersticas de calidad desde el punto de
vista del usuario.
Ingeniera
humana
Fiabilidad
eficiencia
Chequeabilidad
Comprensibilidad
Portabilidad
Modificabilidad
Como es su
utilidad
Mantenibilidad
Independencia dispositivo
Completitud
exactitud
Consistencia
Eficiencia Dispositivo
Accesibilidad
Comunicatividad
Estructuracin
Autodescriptividad
Concisin
Legibilidad
Expansivilidad
M
M

T
T
R
R
I
I
C
C
A
A
S
S
Usos Usos
Primarios Primarios
Utilidad
general
C
Constructores onstructores
intermedios intermedios
C
Constructores onstructores
primitivos primitivos
Gestin de la calidad 16
Administracin de Proyectos Informticos
Evaluacin de la calidad
Evaluacin de la calidad
Modelos de calidad del software
Modelos de calidad del software
Modelo
Modelo
factores/criterios/mtricas
factores/criterios/mtricas (McCall)
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 17
Administracin de Proyectos Informticos
Evaluacin de la calidad
Evaluacin de la calidad
Modelos de calidad del software
Modelos de calidad del software
Modelo
Modelo
factores/criterios/mtricas
factores/criterios/mtricas (McCall)
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 18
Administracin de Proyectos Informticos
Evaluacin de la calidad
Evaluacin de la calidad
Modelos de calidad del software
Modelos de calidad del software
Marco ISO 9126
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 calidad
Evaluacin de la calidad
Modelos de calidad del software
Modelos de calidad del software
Paradigma GQM(Objetivo-pregunta-mtrica)
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?
Cual es la
productividad del
codificador?
Cual es la calidad
del cdigo?
Proporcin de codi-
ficadores usando:
el estndar
el lenguaje
Cantidad
de cdigo
Errores...
Experiencia de
codificadores en:
el estndar
el lenguaje
el entorno...
Gestin de la calidad 20
Administracin de Proyectos Informticos
Evaluacin de la calidad
Evaluacin de la calidad
Modelos de calidad del software
Modelos de calidad del software
Modelo de Gilb
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 21
Administracin de Proyectos Informticos
Evaluacin de la calidad
Evaluacin de la calidad
Modelos de calidad del software
Modelos de calidad del software
Modelo CMM
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 22
Administracin de Proyectos Informticos
Evaluacin de la calidad
Evaluacin de la calidad
Modelos de calidad del software
Modelos de calidad del software
Modelo CMM
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 1
Inicial
Ninguna
Nivel 2
Repetible
Gestin de configuraciones
Garanta de calidad
Gestin de subcontratacin del software
Seguimiento y supervisin del proyecto
Planificacin del proyecto
Gestin de requisitos
Nivel 3
Definido
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
Nivel 4
Gestionado
Gestin de calidad del software
Gestin cuantitativa del proceso
Nivel 5
Optimizado
Gestin de cambios del proceso
Gestin de cambios de tecnologa
Prevencin de defectos
Gestin de la calidad 23
Administracin de Proyectos Informticos
Evaluacin de la calidad
Evaluacin de la calidad
Modelos de calidad del software
Modelos de calidad del software
Modelo CMM
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 24
Administracin de Proyectos Informticos
Evaluacin de la calidad
Evaluacin de la calidad
Modelos de calidad del software
Modelos de calidad del software
Modelos CMMI
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 25
Administracin de Proyectos Informticos
Evaluacin de la calidad
Evaluacin de la calidad
Modelos de calidad del software
Modelos de calidad del software
Modelo SPICE (ISO/IEC 15504)
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
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 calidad
Evaluacin de la calidad
Modelos de calidad del software
Modelos de calidad del software
Modelo SPICE
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 27
Administracin de Proyectos Informticos
Evaluacin de la calidad
Evaluacin de la calidad
Modelos de calidad del software
Modelos de calidad del software
Modelo SPICE
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.
Totalmente
adecuado
Parcialmente
adecuado
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 calidad
Evaluacin de la calidad
Modelos de calidad del software
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 29
Administracin de Proyectos Informticos
Evaluacin de la calidad
Evaluacin de la calidad
Modelos de calidad del software
Modelos de calidad del software
Gestin de la calidad 30
Administracin de Proyectos Informticos
Evaluacin de la calidad
Evaluacin de la calidad
7.2. Fiabilidad del software
7.2. Fiabilidad del software
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
E
e
Conjunto
de salidas
S
e
Sistema Sistema
Gestin de la calidad 31
Administracin de Proyectos Informticos
Evaluacin de la calidad
Evaluacin de la calidad
Fiabilidad del software
Fiabilidad del software
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 32
Administracin de Proyectos Informticos
Evaluacin de la calidad
Evaluacin de la calidad
Fiabilidad del software
Fiabilidad del software
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 33
Administracin de Proyectos Informticos
Evaluacin de la calidad
Evaluacin de la calidad
7.3. Revisiones del software
7.3. Revisiones del software
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 34
Administracin de Proyectos Informticos
Evaluacin de la calidad
Evaluacin de la calidad
Revisiones del software
Revisiones del software
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 calidad
8. Mtricas de calidad
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 36
Administracin de Proyectos Informticos
Mtricas de calidad
Mtricas de calidad
Mtricas de cobertura de pruebas (I)
Su objetivo es comprobar el esfuerzo y rigor en la
realizacin de las pruebas.
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.
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 calidad
Mtricas de calidad
A
B
D C
E
G
F
A input (puntos)
B if puntos < 45
C then mostrar pierde
D else mostrar pasa
E if puntos > 80
F then mostrar con distincin
G fin
Los caminos <ABCEFG> y <ABDEFG> cubren todas las
sentencias pero no cubren el arco EG
El camino <ABCEFG> no se ejecuta nunca
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.
Mtricas de cobertura de pruebas (II)
Gestin de la calidad 38
Administracin de Proyectos Informticos
Mtricas de calidad
Mtricas de calidad
Mtricas de cobertura de pruebas (III)
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.
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 calidad
Mtricas de calidad
Ejemplo: cobertura de sentencias
Primitivas:
m(D
1
) = 2, m(C
n
) = n y m(F) = 1 si F D
1
y F C
n
Secuencia:
m(F
1
; ......; F
n
) = max (m(F
1
), ......, m(F
n
))
Anidamiento:
m(D
1
(F
1
, F
2
)) = m(F
1
) + m(F
2
))
m(C
n
(F
1
, ......, F
n
)) = m(F
i
)
m(D
0
(F)) = m(F)
m(D
2
(F)) = 1
F
D
1
P
3
D
0
D
0
P
1
D
2
D
3
RBOL(F)
F = D
1
((D
0
; P
1
; D
2
), D
0
(D
3
))
Mtricas de cobertura de pruebas (IV)
Gestin de la calidad 40
Administracin de Proyectos Informticos
Mtricas de calidad
Mtricas de calidad
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 TER
T
(Test Effectiveness Ratio):
Mtricas de cobertura de pruebas (V)
nmero de objetos T probados alguna vez
TER
T
=
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
BIBLIOGRAFA
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 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 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 42
Administracin de Proyectos Informticos
ESTNDARES
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 43
Administracin de Proyectos Informticos
ESTNDARES
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 .

You might also like