Está en la página 1de 111

IngenieradelSo/wareII

Tema02.CalidaddelSo/ware

JuanHernndezMarqus
DPTO.DEMATEMTICAS,ESTADSTICAY
COMPUTACIN
juan.hernandez@unican.es

EstetemasepublicabajoLicencia:
CreaOveCommonsBYNCSA3.0
Objetivos del Tema

Comprender el concepto de calidad.

Conocer las caractersticas generales de la calidad del software, segn


normas internacionales.

Conocer los diferentes aspectos relacionados con la calidad de los


procesos y productos software.

Comprender la importancia de la medicin en la bsqueda de la calidad.

Conocer las p principales


p tcnicas y mtodos p
para mejorar
j la calidad,,
incluidas la verificacin y validacin.

Juan Hernndez - IS2 2.2


Contenido
Introduccin Medicin del Software
Historia de la Calidad
Proceso
oceso
Concepto de Calidad
Perspectivas de la Calidad
GQM
Modelo de Calidad Total Mtricas
Calidad de Sistemas de Informacin Gestin de la Calidad del Sw
Factores Calidad del Software Aseguramiento
Calidad de Producto Verificacin y Validacin
ISO 9126 Revisiones
Calidad de Datos Auditorias

Calidad de Proceso
A di A:
Apndice A Conceptos
C ISO
9000:2005
ISO 90003
Evaluacin y Mejora de Procesos
Apndice B: Otras Tcnicas de
CMMI Verificacin y Validacin
ISO 15504 SPICE Apndice C: Lista de Defectos de
PSP Y TSP las Inspecciones

Juan Hernndez - IS2 2.3


Bibliografa

Bsica
SWEBOK - Guide to the Software Engineering Body of Knowledge,
2004 Version.
Cap. 11.
Piattini et al.
al (2006): Calidad de Sistemas Informticos.
Informticos Ra-Ma.
Ra Ma
Caps. 4-5 y 8.
Complementaria
p
Piattini et al. (2006): Calidad de Sistemas Informticos. Ra-Ma.
Caps. 1, 3, 9-10.
Sommerville (2005): Ingeniera del Software.
Software 7 edicin.
edicin Addison-
Addison
Wesley.
Caps. 27 y 28.
Pressman (2005): Ingeniera del Software: Un Enfoque Prctico. 6
Edicin. McGraw-Hill.
Cap. 26.

Juan Hernndez - IS2 2.4


Introduccin

I do not worry whether something is cheap or


expensive I only worry if it is good.
expensive. good If it is good
enough, the public will pay you back for it

Walt Disney

Juan Hernndez - IS2 2.5


Introduccin Historia de la Calidad (1/2)

Etapa Concepto Finalidad


Hacer llas cosas bien
H bi sin
i mirar
i Satisfacer
S i f all Cliente.
Cli
Artesanal coste o esfuerzo necesario para Autosatisfaccin del Artesano.
ello. Crear un producto nico.

Hacer muchas cosas no Satisfacer una gran demanda de


Revolucin bienes.
importando que sean de calidad.
Industrial
(Produccin = Calidad). Obtener beneficios.
Asegurar la eficacia del
armamento con la mayor y ms Garantizar la disponibilidad de
II Guerra Mundial rpida produccin. No importa el armamento eficaz en cantidad y
coste
coste. plazo
plazo.
(Eficacia + Plazo = Calidad)
Minimizar costes mediante la
(JAPN) Hacer las cosas bien a la Calidad
primera Satisfacer al cliente
Postguerra Ser competitivo
(RESTO) Producir cuanto ms Satisfacer la gran demanda de
mejor bienes causada por la guerra

Juan Hernndez - IS2 2.6


Introduccin Historia de la Calidad (2/2)
Etapa Concepto Finalidad
Co t o de
Control Inspeccin
specc ene pproduccin
oducc para
pa a Sat s ace las
Satisfacer as necesidades
eces dades
Calidad evitar bienes defectuosos. tcnicas del producto.

Sistemas y Procedimientos de la Satisfacer al cliente.


Aseguramiento de
organizacin
g para
p evitar que
q se Prevenir errores.
la Calidad
produzcan bienes defectuosos. Reducir costes y ser competitivo.

Administracin empresarial Satisfacer al cliente externo e


centrada en la permanente interno
interno.
Calidad Total
satisfaccin de las expectativas Ser altamente competitivo.
del cliente. Mejora Continua.

En un mercado competitivo no es suficiente con producir y Expectativas del


distribuir masivamente productos o servicios. Cliente

La Calidad se convierte en un objetivo fundamental junto


con los otros dos parmetros clsicos de Coste y Plazo.
Gran Importancia
p y atencin a las Expectativas
p del Cliente C t
Coste Pl
Plazo
(Investigacin de Mercados, Especificaciones, ).
Juan Hernndez - IS2
2.7
Introduccin Concepto de Calidad
DRAE:
Propiedad
p o conjunto
j de p
propiedades
p q
que,, inherentes a una cosa,,
permiten apreciarla como igual, mejor o peor que las restantes de
su especie.
En sentido absoluto,, buena calidad,, superioridad
p o excelencia.
Qu tiene ms calidad?

Juan Hernndez - IS2 2.8


Introduccin Concepto de Calidad

Y cules eran mis requisitos para comprar un


coche?
No voy a hacer trayectos de ms de 10 Km.
La ocupacin mxima ser de tres personas
personas.
Quiero gastarme poco en seguro, consumo y mantenimiento.

Segn esto
esto, el elegido es.
es
La Calidad puede no ser lo que
piensas
piensas

P.B. Crosby

Juan Hernndez - IS2 2.9


Introduccin Concepto de Calidad

Definicin coloquial:
En la Vida Cotidiana la calidad representa las propiedades inherentes
a un objeto que permiten apreciarlo como mejor, igual o peor que
otros objetos
j de su especie.
p
Es sinnimo de bondad, excelencia o superioridad.
Esta idea de calidad es aplicable de manera formal en una empresa?

Definicin Profesional:
Totalidad de las caractersticas y aspectos de un producto o servicio en
los que se basa su aptitud para satisfacer una necesidad dada.
Grado en el que un conjunto de caractersticas inherentes cumple con
los requisitos (ISO 9000:2005).

Juan Hernndez - IS2 2.10


Introduccin Concepto de Calidad
Calidad es un concepto:
Relativo
La calidad est en los ojos del observador y es relativa a las personas,
su edad y circunstancias, al espacio, tiempo, ...
M ltidi
Multidimensional
i l
Referida a varias cualidades: Funcionalidad, Oportunidad, Coste,
Sujeta a restricciones
Presupuesto disponible Funcionalidad

st
Ligado a compromisos aceptables

Co
Oportunidad

Plazos de fabricacin

No es ni totalmente subjetiva (porque ciertos aspectos pueden


medirse) ni totalmente objetiva (ya que existen cualidades cuya
evaluacin slo puede ser subjetiva).

Juan Hernndez - IS2 2.11


Introduccin Concepto de Calidad

El objetivo no es necesariamente alcanzar una calidad


perfecta, sino la necesaria y suficiente para cada contexto de
uso a la hora de la entrega y del uso por parte de los
usuarios.
usuarios
Es necesario comprender las necesidades reales de los
usuarios con tanto detalle como sea posible (requisitos).
(requisitos)

Calidad
Calidad significa hacer lo correcto
cuando nadie est mirando

Henry Ford

Juan Hernndez - IS2 2.12


Introduccin Concepto de Calidad
Al hablar de Calidad a nivel de una Organizacin se manejan
varios trminos y conceptos
p ((AENOR,, 2000):
)

GESTIN DE LA CALIDAD Poltica


Estructura la
Organizativa

Aspectos c cas y
Tcnicas
relativos al Actividades
CONTROL DE Funcionales
Confianza CALIDAD
para la Aspectos
Direccin relativos al
ASEGURAMIENTO Confianza
INTERNO DE LA para el
p
CALIDAD Cliente

ASEGURAMIENTO
EXTERNO DE LA
CALIDAD
Juan Hernndez - IS2 2.13
Introduccin Concepto de Calidad

Gestin de la Calidad (Quality Management):


Actividades coordinadas para dirigir y controlar una organizacin
en lo relativo a la calidad, aplicando la poltica de calidad (objetivos
y directrices generales de calidad de una empresa).
Normalmente se aplica a nivel de empresa => planificacin estratgica,
asignacin de recursos, etc., aunque tambin puede haber una gestin
de calidad dentro de la g
gestin de cada p
proyecto.
y

Aseguramiento de la Calidad (Quality Assurance):


Parte de la gestin de la calidad orientada a proporcionar confianza
en que se cumplirn los requisitos de la calidad.
Se debe evitar el trmino "garanta
g de calidad",, ya
y que
q puede
p llevar a
confusin con el concepto tradicional de garanta de los productos ("si
falla, cubrimos los gastos o le devolvemos su dinero").
Pretende dar confianza en que el producto tiene calidad porque se ha
seguido un proceso de confeccin auditado.
Juan Hernndez - IS2 2.14
Introduccin Concepto de Calidad

Control de la Calidad (Quality Control):


Parte de la gestin de la calidad orientada al cumplimiento de los
requisitos de la calidad.
Suele
S l incluir
i l i tcnicas
t i y actividades
ti id d d carcter
de t operativo
ti utilizadas
tili d
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 de
un p
producto o servicio.
En general, son las actividades para evaluar la calidad de los productos
desarrollados.

Juan Hernndez - IS2 2.15


Introduccin Perspectivas de la Calidad
La Calidad se puede considerar desde varios puntos de vista
diferentes:
TRASCENDENTAL (calidad = excelencia innata)
BASADA EN USUARIO (adecuacin al propsito)
BASADA EN FABRICANTE (capacidad y madurez de proceso)
BASADA EN PRODUCTO (conformidad con requisitos)
BASADA EN VALOR (precio asequible)
Y con diferentes niveles: La que se ha pretendido obtener

La que es capaz de CALIDAD


obtener la persona que PROGRAMADA
realiza el trabajo,
gracias a su habilidad
en la ejecucin de una La que el cliente exige con
tarea CALIDAD CALIDAD mayor o menor grado de
REALIZADA NECESARIA concrecin
i o, all menos, la
l
que le gustara recibir
Juan Hernndez - IS2 2.16
Introduccin Perspectivas de la Calidad

La gestin de la calidad busca conseguir que estos tres


crculos coincidan entre s.
s
Todo lo que est fuera de dicha coincidencia ser motivo de derroche,
de g
gasto superfluo
p o de insatisfaccin.
CALIDAD
PROGRAMADA

CALIDAD
ESPERADA
CALIDAD
REALIZADA CALIDAD
NECESARIA

Juan Hernndez - IS2 2.17


Introduccin Perspectivas de la Calidad

LOS DOS NIVELES DE LA CALIDAD


Y LAS RELACIONES ENTRE AMBOS
Organizacin
Documentacin del PROCEDIMIENTOS
DE CALIDAD
Sistema de Calidad +
MANUAL DE CALIDAD

PROYECTO 3
PROYECTO 1
Plan de Calidad
Plan de Calidad del proyecto
adaptado
PROYECTO 2
Proyecto
Normas propias y Plan de
exigencias del cliente Calidad Condiciones espe-
adaptado ciales del proyecto

Juan Hernndez - IS2 2.18


Introduccin Modelo de Calidad Total

La norma ISO 9001:2008 es la principal referencial


internacional sobre conceptos de calidad.
calidad
UNE
UNE--EN ISO 9000:2005 Sistemas de Gestin de la Calidad. Fundamentos y Vocabulario.

EFQM modelo de Gestin Empresarial basado en la Mejora


Continua.

ULTADOS CLAVE
LIDERAZGO 9%

PROCESOS
14%

15%
RESU
to
uc
od
Pr
Juan Hernndez - IS2 2.19
Introduccin - Calidad de Sistemas de Informacin

QUALIT. C. Wilkin y T. Castleman (2003)

Calidad Calidad de Calidad del


del sistema la informacin servicio

cmo evaluamos?

Calidad del sistema como funcin de las percepciones


p p
de los Stakeholders

y adems,

Impacto individual y organizacional

Juan Hernndez - IS2 2.20


Introduccin - Calidad de Sistemas de Informacin

Visin holstica de la
calidad.
lid d St
Stylianou
li y
Kumar (2000). Calidad de la
infraestructura

Calidad de la Calidad
C lid d
Calidad del
gestin
de la
software

Calidad
C lid d empresa
de SI Calidad del
servicio Calidad de los
Calidad de la
informacin procesos
de negocio
Calidad del soportados por
personal SI

Juan Hernndez - IS2 2.21


Introduccin Factores Calidad del Software
Crisis en la Ingeniera del Software:
Hombre con 103 aos requerido a llevar a sus padres (2002).
Mars Climate Orbiter (1999).
Ariane 5 (1996).
USS Yorktown (1998).
Sistema de Manejo Automtico de Equipaje - Denver (1994).
Therac-25 (1985-1987).
(1985-1987)

Informe CHAOS del Standish Group sobre xito de los


proyectos de software.
software
CHAOS Summary 2009

xito en Proyectos (CHAOS)


Juan Hernndez - IS2 2.22
Introduccin Factores Calidad del Software
El Software tiene caractersticas muy peculiares:
Se desarrolla, no se fabrica en el sentido clsico del trmino
Se trata de un producto lgico (ideas), sin existencia fsica
No se degrada con el uso
Suele ser complejo y muy flexible.
flexible

No olvidemos que el software no es slo cdigo:


La calidad se obtiene a medida q
que se construye
y el producto
p
No hay que esperar a aadirla al final

Calidad es el grado con el que un sistema,


sistema componente o proceso cumple los
requisitos especificados y/o las necesidades o expectativas del cliente o
usuario [ IEEE Std.610-1991]

Si McDonnalds funcionara como una compaa de software, uno de cada


cien Big Macs te envenenaran, y la respuesta sera lo sentimos, aqu
tiene un cupn para dos ms
ms.
Mark Minasi
Juan Hernndez - IS2 2.23
Introduccin Factores Calidad del Software

Proceso Producto Efecto del producto

Influye Influye Influye


Calidad de Calidad Calidad Calidad
proceso interna externa en uso Contextos
de uso
Depende de Depende de Depende de

proveedor
p usuario

C lid d Interna
Calidad C lid d Externa
Calidad C lid d en Uso
Calidad

medible a partir de las medible en el comportamiento durante la utilizacin efectiva


caractersticas intrnsecas del producto por parte del usuario

Cdigo fuente Resultados de una prueba Encuesta de satisfaccin

Juan Hernndez - IS2 2.24


Calidad del Software Factores Calidad del Software

Calidad del proceso


ISO
ISO 90003
90003
Evaluacin y Mejora
Evaluacin de de
y Mejora Procesos
(CMMi, ISO(CMMi,
Procesos 15504 ISO
SPICE, PSP, TSP)
15504
SPICE, TSP, PSP)

N:M Nombre_i
(1,n) (0,n)
Nombre_a AUTOR
AUTOR Trabaja INSTITUCION
INSTITUCION

(0,n)

Escribe N:M
Identificativo Nombre_t
1:1 (1,n) N:M

BD
(1,n) (1,1) (0,n) (1,n)

Calidad del producto


EJEMPLAR
EJEMPLAR Tiene
Tiene LIBRO
LIBRO Trata
Trata TEMA
TEMA
((0,n)
, )
(0,n) (0,n) Cod _libro
Fecha_p (0,n)
Presta
Presta N:M Edita Consta
Consta
Edita 1:N
(0,n) Fecha_s (1,1) N:M

SOCIO
SOCIO Num _s EDITORIAL
EDITORIAL Nombre_e

Software ISO 9126 Datos

Juan Hernndez - IS2 2.25


Calidad de Producto ISO 9126

ISO/IEC 9126: Tecnologas de la Informacin Calidad de los


Productos Software.
ISO/IEC 9126-1: Modelo de Calidad
ISO/IEC
SO/ C 9126-2:
9 26 2 Mtricas
i Externas
ISO/IEC 9126-3: Mtricas Internas
ISO/IEC 9126
9126-4:
4: Mtricas de Calidad en Uso
Utilidades:
Validar la completitud de una definicin de requisitos.
Identificar requisitos software.
Identificar objetivos para el diseo software.
Identificar requisitos para las pruebas del software
software.
Identificar requisitos para el aseguramiento de la calidad.
Identificar criterios de aceptacin
p para
p un producto
p software terminado.

Juan Hernndez - IS2 2.26


Calidad de Producto ISO 9126

Identificacin de Caractersticas, subcaractersticas y


atributos de calidad
calidad

x x x
x x x x
x x x x x
x x
x x x x x
x x x
x x x x
x x
x x
atributo
subcaracterstica
atributos internos caracterstica atributos externos

para definir
d fi i modelos
d l ded calidad
lid d

Modelo de Calidad Modelo de Calidad


Interna y Externa En Uso

Juan Hernndez - IS2 2.27


Calidad de Producto ISO 9126
Modelo de Calidad
Interna y Externa
calidad externa
e interna

Caractersticas

funcionalidad fiabilidad usabilidad eficiencia mantenibilidad portabilidad

Subcaractersticas
capacidad para
capacidad para
ser entendido
adecuacin madurez ser analizado adaptabilidad
capacidad para comportamiento
exactitud tolerancia a capacidad para instalabilidad
ser aprendido temporal
interoperabilidad fallos ser cambiado coexistencia
p
capacidad para
p utilizacin de
seguridad
id d de
d capacidad
id d de
d estabilidad
t bilid d capacidad
id d para
ser operado recursos
acceso recuperacin capacidad para ser reemplazado
capacidad de
ser probado
atraccin cumplimiento de
cumplimiento de cumplimiento de cumplimiento de
la eficiencia
la funcionalidad la fiabilidad cumplimiento de la portabilidad
cumplimiento de
la mantenibilidad
la usabilidad

Juan Hernndez - IS2 2.28


Calidad de Producto ISO 9126 Caractersticas
Capacidad del producto software para bajo condiciones especificadas..

proporcionar funciones que satisfacen necesidades


FUNCIONALIDAD
declaradas e implcitas cuando se usa
mantener
mantener un nivel especificado de prestaciones cuando se
FIABILIDAD
usa
ser entendido, aprendido, usado y ser atractivo para el
USABILIDAD
usuario cuando se usa
proporcionar prestaciones apropiadas, relativas a la
EFICIENCIA
cantidad de recursos usados
ser modificado.
ser modificado Las modificaciones pueden incluir
MANTENIBILIDAD correcciones, mejoras o adaptacin a cambios en el
entorno, requisitos o especificaciones funcionales
PORTABILIDAD ser
ser transferido de un entorno a otro
otro

Juan Hernndez - IS2 2.29


Calidad de Producto ISO 9126 Funcionalidad

Capacidad del producto software para bajo condiciones especificadas..

proporcionar un conjunto apropiado de funciones para


Adecuacin
tareas y objetivos de usuario especificados
proporcionar los resultados o efectos correctos o
Exactitud
acordados, con el grado necesario de precisin
Interoperabilidad interactuar
interactuar con uno o ms sistemas especificados
especificados
proteger informacin y datos de manera que las personas
o sistemas no autorizados no puedan leerlos o modificarlos,
Seguridad de acceso
al tiempo que no se deniega el acceso a las personas o
sistemas autorizados
Cumplimiento adherirse a normas, convenciones o regulaciones en leyes
funcional y prescripciones similares relacionadas con funcionalidad
funcionalidad

Juan Hernndez - IS2 2.30


Calidad de Producto ISO 9126 Fiabilidad

Capacidad del producto software para bajo condiciones especificadas..

Madurez evitar
evitar fallar como resultado de fallos en el software
software

mantener un nivel especificado de prestaciones en caso


Tolerancia a fallos de fallos software o de infringir sus interfaces
especificados
reestablecer un nivel de prestaciones especificado y de
Capacidad de
recuperar los datos directamente afectados en caso de
recuperacin
f ll
fallo
Cumplimiento de la adherirse a normas, convenciones o regulaciones
fiabilidad relacionadas con la fiabilidad

Juan Hernndez - IS2 2.31


Calidad de Producto ISO 9126 Usabilidad

Capacidad del producto software para bajo condiciones especificadas..

permitir al usuario entender si el software es adecuado y


Entendibilidad cmo puede ser usado para unas tareas o condiciones de
uso particulares

Aprendibilidad permitir al usuario aprender sobre su aplicacin

Operatividad permitir al usuario operarlo y controlarlo

Atraccin ser
ser atractivo al usuario
usuario

Cumplimiento de la adherirse a normas, convenciones, guas de estilo o


usabilidad regulaciones relacionadas con la usabilidad

Juan Hernndez - IS2 2.32


Calidad de Producto ISO 9126 Eficiencia

Capacidad del producto software para bajo condiciones especificadas..

Comportamiento proporcionar tiempos de respuesta, tiempos de proceso y


temporal potencia apropiados
apropiados
Utilizacin de usar las cantidades y tipos de recursos adecuados cuando
recursos el software lleva a cabo su funcin
Cumplimiento
C mplimiento de la adherirse
adhe i se a normas
no mas o convenciones
con enciones relacionadas
elacionadas con la
eficiencia eficiencia

Juan Hernndez - IS2 2.33


Calidad de Producto ISO 9126 Mantenibilidad

Capacidad del producto software para bajo condiciones especificadas..

ser diagnosticadas deficiencias o causas de los fallos en el


Analizabilidad software o para identificar las partes que han de ser
software,
modificadas
permitir que una determinada modificacin sea
Cambiabilidad
implementada
implementada
evitar efectos inesperados debidos a modificaciones del
Estabilidad
software

Facilidad de prueba permitir que el software modificado sea validado

Cumplimiento de la adherirse a normas o convenciones relacionadas con la


mantenibilidad mantenibilidad

Juan Hernndez - IS2 2.34


Calidad de Producto ISO 9126 Portabilidad

Capacidad del producto software para bajo condiciones especificadas..

Ser adaptado a diferentes entornos especificados, sin


aplicar acciones o mecanismos distintos de aquellos
Adaptabilidad
proporcionados para este propsito
por el propio software
considerado

Instalabilidad p
ser instalado en un entorno especificado

coexistir con otro software independiente, en un entorno


Coexistencia
comn, compartiendo recursos comunes
ser usado
d en lugar
l d otro
de t producto
d t software,
ft para ell
Reemplazabilidad
mismo propsito, en el mismo entorno
Cumplimiento de la adherirse a normas o convenciones relacionadas con la
portabilidad
t bilid d portabilidad
t bilid d

Juan Hernndez - IS2 2.35


Calidad de Producto ISO 9126
Modelo de Calidad en
Calidad en Uso
Uso

Eficacia Productividad Seguridad Satisfaccin

Capacidad del producto software para bajo condiciones especificadas..


para permitir a los usuarios alcanzar objetivos especficos con precisin y
Eficacia
completamente
completamente
para permitir a los usuarios emplear recursos apropiados con relacin a la
Productividad
eficacia alcanzada
para alcanzar niveles aceptables de riesgo hacia la gente, negocio,
Seguridad
software, propiedad o medio ambiente

Satisfaccin para
para satisfacer al usuario
usuario

Juan Hernndez - IS2 2.36


Calidad de Producto - Datos
Los datos son uno de los activos ms importantes de las
organizaciones, ya que son clave en la toma de decisiones
estratgicas u operativas. Por eso se recopilan datos para ser ms
competitivos.
Los datos se convierten en fuentes de problemas:
Datos no usados, intiles e innecesarios y redundantes,
Barreras en la accesibilidad de los datos,
Dificultades en la utilizacin de los datos y de la informacin y gran
cantidad de datos histricos caducados.
Estos p
problemas afectan negativamente
g al rendimiento de los
procesos de negocio de una organizacin a varios niveles:

ORGANIZACIONAL
TCNICO - Prdida de clientes al estar insatisfechos. LEGAL
Errores en la - Prdidas financieras debido a desperdicios de Dependiendo de ciertas
implementacin de recursos en trminos de tiempo y de dinero y a leyes, como la LOPD
almacenes
l de
d datos
d t una baja
b j o escasa productividad.
d i id d
- Trabajadores descontentos y desmotivados.
Juan Hernndez - IS2 2.37
Calidad de Producto - Datos

Calidad de Datos.
Caractersticas que deben tener los datos como materias primas
para que, utilizando un proceso de produccin adecuado, se pueda
generar un p
g producto de informacin.
Calidad de Informacin.
Aquellas
q caractersticas q
que debera tener un Producto de
Informacin para que su utilizacin sea adecuada, es decir, cumpla
con los requisitos de usuario.
Dimensiones de Calidad de Datos.
Datos
Son criterios que permiten juzgar la calidad de los datos desde un
determinado punto de vista. Se definen en la norma ISO 25012
(similar a la 9126 para el Software).

Juan Hernndez - IS2 2.38


Calidad de Producto - Datos

La Calidad de los Datos depende de:


Los propios datos (extensin)
Influyen en la efectividad de los procesos de negocio (dependencia de la
semntica de los negocios).
El esquema de los datos (intensin)
Ejemplo: Tablas no normalizadas convenientemente.
Influye en el ciclo de vida de los datos.
Puede
P d no dard ell soportet para los
l aspectos
t de
d calidad
lid d requerida
id por ell
usuario.
Procesos tcnicos sobre los datos (SGBD):
Pueden no implementar mecanismos que aseguren que no se producen
errores en los datos, o que los datos satisfagan los requisitos de los
usuarios.
Pueden
P d d depender
d ded la
l calidad
lid d de
d los
l procesos o ded la
l utilizacin
tili i ded
ciertos recursos de la organizacin.
Estn normalmente implementados sobre el SGBD y dependen del
soporte que de a esos procesos
procesos.

Juan Hernndez - IS2 2.39


Calidad de Producto - Datos

Ejemplos de falta de calidad

No existe esta Curtiz es el director de Un remake no puede


pelcula, sino El Casablanca y Weir el haberse hecho antes
Club de los de El club de los que la primera versin
Poetas Muertos
Muertos Poetas Muertos
Muertos d lla pelcula
de l l

Id Ttulo Director Ao Nro_ AoUltimo


Remakes Remake
1 Casablanca Weir 1942 3 1940

2 El Club de los Poetas Curtiz 1989 0 NULL

3 Vacaciones en Roma Wylder 1953 0 NULL


4 Sabrina NULL 1964 0 1985

Si el nmero de remakes es 0, no tiene


Falta el nombre del sentido que haya una fecha para el ltimo
Director o no existe remake: o realmente se han hecho
(hecho imposible o no remakes o no debera aparecer una fecha
se saba)

Juan Hernndez - IS2 2.40


Calidad de Proceso ISO 90003
La norma ISO 90003 proporciona, a las organizaciones, una gua para la
adaptacin de la ISO 9001:2008 para la adquisicin, suministro, desarrollo,
instalacin y mantenimiento de SOFTWARE y servicios de soporte. soporte Identifica
todos los aspectos que deberan ser tratados y es independiente de la tecnologa,
modelos de ciclo de vida, procesos de desarrollo y estructuras organizacionales.
La organizacin debe establecer, documentar, implementar y mantener un
sistema de gestin de la calidad software y mejorar continuamente su
eficacia, de acuerdo con los siguientes requisitos generales:
Identificar los procesos necesarios para el sistema de gestin de la calidad y su
aplicacin a travs de la organizacin. (Identificar tambin los procesos de desarrollo,
operacin y mantenimiento de software).
Determinar la secuencia e interaccin de estos procesos.
La organizacin debera tambin definir la secuencia e interaccin de los procesos en los
modelos de ciclos de vida del software, la planificacin de la calidad y el desarrollo.
Determinar los criterios y mtodos necesarios para asegurarse de que tanto la
operacin como el control de estos procesos sean eficaces.
A
Asegurarse d la
de l disponibilidad
di ibilid d de
d recursos e informacin
i f i necesarios
i para apoyar
la operacin y el seguimiento de estos procesos.
Realizar el seguimiento, la medicin y anlisis de estos procesos.
Implementar las acciones necesarias para alcanzar los resultados planificados y la
mejora continua de estos procesos.

Juan Hernndez - IS2 2.41


Calidad de Proceso Ejemplo Mapa Procesos
SEMICROL

Juan Hernndez - IS2 2.42


Calidad de Proceso - Evaluacin y Mejora de Procesos

Existen multitud de normas sobre procesos de ingeniera


del software,, su calidad y su mejora.
j

Juan Hernndez - IS2 2.43


Evaluacin y Mejora de Procesos - CMMI
CMMI (Capability Maturity Model Integrated) proporciona a las organizaciones de
software el modelo de referencia necesario como soporte para el control de
sus procesos de d desarrollo
d ll y mantenimiento
t i i t y para facilitar
f ilit su evolucin
l i
hacia una cultura de la Ingeniera del Software y de excelencia en la gestin.
Desarrollado por el SEI (Software Engineering Institute) de la Universidad de Carnegie
M ll
Mellon, USA.
USA Es
E la
l evolucin
l i del
d l anterior
t i CMM.
CMM
Sirve para dos cosas principales:
Evaluar la madurez de los procesos de desarrollo de software dentro de una organizacin.
Proponer
P un plan
l de
d mejora
j d los
de l procesos de
d desarrollo
d ll de
d software
ft de
d acuerdo
d a una
serie de niveles.
Existen, en la v1.2, tres modelos,

Modelo Descripcin Extensin


CMMI-DEV SW
CMMI for Development CMMI-DEV IPPD
Ago-06
CMMI-ACQ
CMMI ACQ
CMMI for Acquisition
Nov-07
CMMI-SEV
CMMI for Services
Feb-09

Juan Hernndez - IS2 2.44


Evaluacin y Mejora de Procesos - CMMI
reas de Proceso Claves (KPAs)
GESTIN DE PROCESO

Foco en Procesos Organizativos (OPF)


Definicin de Procesos Organizativos (OPD)
Formacin Organizativa (OT)
Rendimiento de Procesos Organizativos (OPP)
Innovacin y Despliegue Organizativo (OID)

Gestin de la Configuracin (CM)


APOYO

Aseguramiento de la Calidad de Producto y Proceso (PPQA)


Medicin y Anlisis (MA)
Anlisis de Decisiones y Soluciones (DAR)
Anlisis Causal (CAR)
DE

NGENIERA
Planificacin de Proyecto
y (PP)
( ) Gestin de Requisitos
q ((REQM)
Q )
PROYECTO
O
D

Seguimiento & Control de Proyecto (PMC) Desarrollo de Requisitos (RD)


GESTIN

Gestin de Acuerdos con Proveedores (SAM) Solucin Tcnica (TS)


Gestin Integrada de Proyecto (IPM) Integracin de Producto (PI)
Gestin del Riesgo (RSKM) Verificacin (VER)
IN
Gestin Cuantitativa de Proyecto (QPM) Validacin (VAL)
P
G

Juan Hernndez - IS2 2.45


Evaluacin y Mejora de Procesos CMMI
Hay dos representaciones de CMMI-DEV SW,

Escalonada C ti
Continua

so (KPA)
ML5 5

Capacidad del
4
ML4

a de Proces
3
ML3 2
ML2 1

rea
0
ML 1 KPA KPA KPA
rea de Proceso
Organizacin
Establece 5 Niveles de Madurez (Maturity Level) para Muestra la representacin del nivel de
clasificar a las organizaciones, en funcin de qu reas capacidad de la organizacin para cada
de procesos consiguen sus objetivos y se gestionan con una de las reas de proceso.
principios de ingeniera.
ingeniera
Centrada en la madurez de la organizacin.
La seleccin de las reas de proceso clave (KPA) est
prefijada,
p j , habiendo 7 KPA para
p el nivel de madurez 2
(ML2), 11 para el ML3, 2 para el ML4 y 2 ms para el
ML5.
Juan Hernndez - IS2 2.46
Evaluacin y Mejora de Procesos - CMMI

Niveles de Madurez.
Mejora Continua del Proceso
Es el tpico proyecto en el que se da la (2 reas de Proceso) O i i d
Optimizado - Innovacin y Distribucin Organizacional (OID)
- Anlisis Causal y Resolucin (CAR)
siguiente situacin: (5)
- Cmo va el proyecto?
- Bien, bien.
Dos semanas despus
- Rendimiento del Proceso Organizacional (OPP)
- Cmo
C va ell proyecto?
t ?
- Bien, bien. Gestin Cuantitativa
Gestionado - Gestin Cuantitativa de Proyectos (QPM )

Tres semanas despus (2 reas de Proceso) Cuantitativamente - Gestin Cuantitativa del Suministrador (QSM)

- El lunes hay que entregar el proyecto.


(4)
- El lunes !!?. Todava falta mucho!!
- Cmo? Me dijistej que
q el proyecto
p y iba bien!!
- Desarrollo de Requisitos (RD)
Arrglatelas como quieras, pero el proyecto - Entorno Organizacional
- Solucin Tcnica (TS)
tiene que estar terminado para el lunes. - Integracin del Producto (PI) para la Integracin (OEI)
Estandarizacin del Proceso - Equipo Integrado (OIT)
Si no sabes el tamao del proyecto y no sabes (11 reas de Proceso) Definido - Verificacin (VER)
- Validacin (VAL)
cuanto llevas hecho, nunca sabrs cuando vas (3) - Enfoque Proceso Organizacional (OPF) - Gestin Integrada del
a terminar.
terminar - Definicin del Proceso Organizacional (OPD) Suministrador ((ISM))
- Formacin de la Organizacin (OT)
- Gestin Integrada de Proyectos (IPM)
- Gestin de Riesgos (RSKM)
- Anlisis de Decisin y Resolucin (DAR)
Gestin Bsica de Proyectos - Gestin de Requisitos (REQM)
((7 reas de Proceso)) Gestionado - Planificacin del Proyecto (PP)
- Seleccin y Monitorizacin
- Monitorizacin y Control del Proyecto (PMC)
(2) - Gestin del Acuerdo con el Suministrador (SAM)
del Suministrador (SSM)

- Medicin y Anlisis (M & A)


- Aseguramiento de la Calidad del Proceso y Producto (PPQA)
- Gestin de la Configuracin (CM)

Ejecutado CMMI-ACQ
CMMI-DEV+IPPD
(1) - Procesos Caticos (Ad Hoc)
Juan Hernndez - IS2 2.47
Evaluacin y Mejora de Procesos - CMMI

Estructura del modelo


Nivel de
Madurez rea de rea de
Proceso Proceso
rea de rea de rea de rea de
Proceso Proceso Proceso Proceso

Obligatorio
Metas Metas Metas Metas
Genricas Especficas Genricas Especficas

Nivel de
Capacidad

Esperado
Prcticas Prcticas Prcticas Prcticas
Genricas Especficas Genricas Especficas

Escalonada Continua
Juan Hernndez - IS2 2.48
Evaluacin y Mejora de Procesos - CMMI

Ejemplo de KPA, Project Planning (PP)

SG1: Establish Estimates SG3: Obtain Commitment to the


SP1.1 Estimate the Scope of the Project
SP1 2 Establish Estimates of Work Product
SP1.2 Plan
and Task Attributes SP3.1 Review Plans That Affect the Project
SP1.3 Define Project Lifecycle SP3.2 Reconcile Work and Resource Levels
SP1.4 Determine Estimates of Effort and SP3.3 Obtain Plan Commitment
Cost

SG2: Develop a Project Plan


SP2.1 Establish the Budget and Schedule
SP2.2 Identify Project Risks
SP2.3 Plan for Data Management
SP2.4 Plan for Project Resources
SP2.5 Plan for Needed Knowledge and
Skills
SP2.6 Plan Stakeholder Involvement
SP2.7 Establish the Project Plan

Juan Hernndez - IS2 2.49


Evaluacin y Mejora de Procesos - CMMI

Metas y Prcticas Genricas


GG1 C
GG1: Conseguir
i llas metas
t especficas
fi GG3: Institucionalizar un Proceso Definido
GP1: Realizar las prcticas especficas GP3.1: Establecer un proceso definido
GG2: Institucionalizar un Proceso Gestionado GP3.2: Recopilar informacin sobre la
GP2.1: Establecer una poltica mejora del proceso
organizativa GG4: Institucionalizar un Proceso Gestionado
GP2.2: Planificar el proceso Cuantitativamente
GP2.3: Suministrar recursos para la GP4.1: Establecer objetivos cuantitativos
realizacin del proceso para el proceso
GP2.4:
GP2 4 Asignar
A i responsabilidades
bilid d para GP4.2: Estabilizar el rendimiento de los
realizar el proceso subprocesos
GP2.5: Entrenar a las personas que GG5: Institucionalizar Proceso Optimizado
realizan el proceso
GP2.6:
GP2 6: Gestionar la configuracin de los
GP5.1: Asegurar
g la mejora
j continua del
proceso
elementos del proceso
GP2.7: Identificar e involucrar a los GP5.2: Corregir la causa de los problemas
agentes relevantes del proceso
GP2.8: Seguir y controlar la realizacin
del proceso
GP2.9: Evaluar objetivamente el
cumplimiento del proceso
GP2.10: Revisar el estado con la
Direccin

Juan Hernndez - IS2 2.50


Evaluacin y Mejora de Procesos - CMMI

Evaluacin (Appraisal)
LLas organizaciones
i i pueden
d querer evaluar
l su nivel
i l de
d madurez
d
(organizacional) o su nivel de capacidad (de procesos determinados)
por varias razones:
Comparar con las mejores prcticas CMMI y determinar qu mejoras se
pueden hacer.
Informar a los clientes externos y p
proveedores acerca de cmo funciona la
organizacin y lleva a cabo sus procesos.
Para cumplir los requisitos contractuales de uno o ms clientes.

SCAMPI (Standard CMMI Appraisal Method for Process


Improvement) es el mtodo propuesto por el SEI para realizar
evaluaciones
l CMMI, con ell fin
f de:
d
Identificar fortalezas y debilidades de los procesos,
Revelar riesgos del proceso de desarrollo, y
Determinar niveles de capacidad y madurez.
Juan Hernndez - IS2 2.51
Evaluacin y Mejora de Procesos - CMMI

Evaluacin (Appraisal)
0. Preparacin y 1. Presentacin
Consolidacin Inicial 4. Presentacin del
de Evidencias PIIDB Informe de
Resultados

2. Revisin
Documentacin

5. Elaboracin de
3. Recomendaciones
Entrevistas
E i de mejora
Entrevistas
reas de proceso
Entrevistas
reas de las
de proceso
reas de proceso

Consolidacin de
evidencias y puntuacin 6. Planificacin
de las practicas del Plan de Mejora

Juan Hernndez - IS2 2.52


Evaluacin y Mejora de Procesos - CMMI

Evaluacin (Appraisal). Ejemplo Resultados PP.


Metas
SG1: Realizar estimaciones
SG2: Desarrollar un plan de proyecto
SG3: Obtener el compromiso con el plan
GG2: Institucionalizar un Proceso Gestionado
PA Goals Practices
SP1.1 SP1.2 SP1.3 SP1.4
SG1
R R G R
SP2.1 SP2.2 SP2.3 SP2.4 SP2.5 SP2.6 SP2.7
SG2
R R G R R R R PP Level of Implementation and
PP
SP3.1 SP3.2 SP3.3 Institutionalization
SG3
R R R
GP2.1 GP2.2 GP2.3 GP2.4 GP2.5 GP2.6 GP2.7 GP2.8 GP2.9 GP2.10
GG2
R Y R R R G R R R R

100%
PP Practice Characterization 90%
0%
80%
0% 70%
13% 60%
4% 50%
40%
30%
20%
10%
0%
83%
Implementation Institutionalization
Juan Hernndez - IS2 2.53
Evaluacin y Mejora de Procesos - CMMI

Evaluacin (Appraisal). Ejemplo Resultados Nivel 2.

reas de Proceso Perfiles de Metas

rea de Proceso SG1 SG2 SG3 GG2

Gestin de Requisitos
Planificacin del Proyecto
Seg imiento y Control del Pro
Seguimiento Proyecto
ecto
Gestin de Acuerdos con Proveedores
Medicin y Anlisis
A
Aseguramiento
i t de
d lla C
Calidad
lid d
Gestin de la Configuracin

5 de 22 23 %
7 de 22 32 %
10 de 22 45 %

Juan Hernndez - IS2 2.54


Evaluacin y Mejora de Procesos - CMMI

Mejora (Improvement)
IDEAL define
d f un marco d
de ciclo
l de
d vida
d para la
l mejora de
d
procesos.

Juan Hernndez - IS2 2.55


Evaluacin y Mejora de Procesos ISO 15504 SPICE

El estndar ISO/IEC 15504 proporciona:


Proporciona un marco de trabajo para la evaluacin de
procesos software, y
Establece los requisitos mnimos para realizar una evaluacin
que asegure la repetibilidad y consistencia de las valoraciones
obtenidas
El objetivo de la evaluacin del proceso es conocer la capacidad de los
procesos de una organizacin.
Frente a CMMI:
Ventajas:
Es estndar internacional oficial (alineado con los dems estndares ISO).
Es ms
completo y verstil.

Desventajas:
Est menos implantado a nivel industrial (lleva menos aos).
aos)

Juan Hernndez - IS2 2.56


Evaluacin y Mejora de Procesos ISO 15504 SPICE
Modelo de Referencia Marco de Trabajo
de Procesos para la Medicin
- Dominio y Alcance - Niveles de Capacidad
- Propsito del Proceso - Atributos
At ib t del
d l Proceso
P
- Resultados del Proceso - Escala de Valoracin

Modelo de Evaluacin de Procesos


- Alcance
- Indicadores
- Correspondencia
- Interpretacin

Entrada Inicial Salida


- Propsito - Fecha
- Alcance
Proceso de Evaluacin - Entrada de la Evaluacin
- Restricciones - Planificacin - Identificacin de la Evidencia
- Identidades - Recogida de Datos - Proceso de Evaluacin utilizado
- Enfoque - Validacin de Datos - Perfiles de Proceso
- Criterios de Competencia - Valoracin de los Atributos del Proceso - Informacin Adicional
del Evaluador - Generacin de Informes
- Informacin Adicional

Roles y Responsabilidades
- Patrocinador
- Evaluador Competente
p
- Evaluador(es)

Juan Hernndez - IS2 2.57


Evaluacin y Mejora de Procesos ISO 15504 SPICE

2 Dimensiones: Proceso y Capacidad

Juan Hernndez - IS2 2.58


Evaluacin y Mejora de Procesos ISO 15504 SPICE

Modelo de Referencia de Procesos segn ISO 12207

Juan Hernndez - IS2 2.59


Evaluacin y Mejora de Procesos ISO 15504 SPICE

Modelo de Referencia de Capacidad

Juan Hernndez - IS2 2.60


Evaluacin y Mejora de Procesos ISO 15504 SPICE

Contextos de Mejora
y Capacidad

Juan Hernndez - IS2 2.61


Evaluacin y Mejora de Procesos ISO 15504 SPICE

Modelo de Evaluacin

Juan Hernndez - IS2 2.62


Evaluacin y Mejora de Procesos ISO 15504 SPICE

Resultados de la Evaluacin (Assessed Capability)

Juan Hernndez - IS2 2.63


Evaluacin y Mejora de Procesos ISO 15504 SPICE

Etapas en la Mejora Continua de Procesos

Juan Hernndez - IS2 2.64


Evaluacin y Mejora de Procesos PSP Y TSP

Tanto CMMI como ISO 15504 son marcos ideados para


evaluar y mejorar a nivel de una organizacin.
organizacin
Pero existen otros dos niveles de mejora inferiores,
enmarcados en el contexto de una organizacin que aplica
CMMI,

Juan Hernndez - IS2 2.65


Evaluacin y Mejora de Procesos PSP Y TSP

PSP (Personal Software Process)


Humprey,
p y, W.S. (2001):
( ) Introduccin al Proceso Software Personal (PSP).
( ) Addison-Wesley.
y
Proporciona una serie de principios al ingeniero para llevar a cabo un
proceso personal disciplinado.
Incluye 7 procesos a realizar por el ingeniero software.
software

PSP 3 El Proceso Personal


Cclico
Desarrollo Cclico

PSP 2
PSP 2.1
Revisin Diseo
Revisin Cdigo Plantillas de Diseo

Gestin Personal de la Calidad


PSP 1
PSP 1.1
Estimacin Tamao
Informe Pruebas Planificacin de Tareas
Ta eas
Planificacin de Calendario

Gestin Personal del Proyecto


PSP 0
Medidas Base del
PSP 0.1
Estndar
st da de Codificacin
Cod cac
P
Proceso Actual
A t l
Mejora del Proceso
Tamao
Medicin Lnea Base del
Proceso Personal
Juan Hernndez - IS2 2.66
Evaluacin y Mejora de Procesos PSP Y TSP

PSP utiliza tres medidas base:


Tiempo de
d desarrollo,
d ll defectos
d f y tamao.

Todas las dems medidas son derivadas de las anteriores.

Ejemplo de formulario: registro de tiempos

Juan Hernndez - IS2 2.67


Evaluacin y Mejora de Procesos PSP Y TSP

Team Software Process (TSP)


Humprey W.S.
Humprey, W S (2000): Introduction to the Team Software Process (TSP)
(TSP). Addison
Addison-Wesley.
Wesley

Juan Hernndez - IS2 2.68


Medicin del Software - Introduccin

Cuando puedas medir lo que ests


diciendo y expresarlo
p en nmeros,, Lo
Lo que no sea medible,
sabrs algo acerca de eso; pero hazlo medible.
cuando no puedes medirlo, cuando no Galileo Galilei
puedes expresarlo en nmeros, tus
conocimientos sern escasos y no
satisfactorios.
Lord Kelvin
No se puede controlar lo que
no se puede medir.
No
No se puede predecir lo que Tom De Marco
no se puede medir.
Norman Fenton

No todo lo que importa puede


medirse fcilmente. No todo lo que
puede medirse importa realmente.
realmente
Albert Einstein
Juan Hernndez - IS2 2.69
Medicin del Software - Introduccin
Las medidas (o mtricas) son un buen medio para entender,
supervisar, controlar, predecir y probar durante los proyectos de
desarrollo y mantenimiento de software.
En general, la medicin de software persigue tres objetivos
fundamentales (Fenton y Pfleeger,
Pfleeger 1997):
1. Entender qu ocurre durante el desarrollo y el mantenimiento.
2. Controlar qu es lo que ocurre en los proyectos.
3. Mejorar los procesos y los productos.
Qu medimos?
Medicin Resultado
R lt d de
d
Conjunto de operaciones que la Medicin
Entidad permite obtener el valor del Categora o nmero
ej: Sw, Proyecto, Atributo resultado de la medicin para
un atributo de una entidad,
asignado a un atributo de
una entidad como resultado
Programador usando una forma de medir. de una medicin.
ej: Accin de usar la forma de medir ej: 35.000 lneas de cdigo, 200
contar el nmero de lneas de pginas, 50 clases, 5 meses
cdigo para obtener el resultado de desde el comienzo al fin del
la medicin del atributo tamao de proyecto, 0.5 fallos por cada
la entidad mdulo nominas.c 1000 lneas de cdigo

Juan Hernndez - IS2 2.70


Medicin del Software Tipos y Formas de Medir
Medida 1..*
(from Medidas Software)

Necesidad de Informacin
(from Caracterizacin y Objetivos)

0..*

satisface

1..* usa
Medida Base Medida Derivada Indicador
(from Medidas Software) (from Medidas Software) (from Medidas Software)

1 *
1..* 0 *
0.. 1 *
1..* 1 *
1..*
0..*
usa usa calculada con calculado con
usa
1 0..* 0..* 1 1
Mtodo de Medicin Funcin de Clculo Modelo de Anlisis 0..*

1..*
usa

1..*
Forma de Medir
(from Accin de Medir)
Criterio de Decisin

Juan Hernndez - IS2 2.71


Medicin del Software Definiciones [SW MEASUREMENT ONTOLOGY]

Concepto Definicin Ejemplo


Una propiedad mensurable, fsica o abstracta,
Atributo que comparten todas las entidades de una Tamao de cdigo fuente.
cierta categora de entidad.
LLa medida
did lneas
l d cdigo
de di pueded
Medida Una forma de medir y una escala de medicin. ser definida para realizar mediciones
(Mtrica) del tamao de un mdulo en C.

LCF (lneas de cdigo fuente escritas).


escritas)
Una medida de un atributo que no depende de
HPD (horas-programador diarias).
Medida Base ninguna otra medida, y cuya forma de medir es
CHP (coste por hora-programador, en
un mtodo de medicin
unidades monetarias).

Una medida que es derivada de otra medida HPT (horas-programador totales, que
Medida base o derivada, utilizando una funcin de es la sumatoria de las HPD de cada
Derivada clculo como forma de medir. da).

Indicador Una medida que es derivada de otras medidas PROD (productividad de los
utilizando un modelo de anlisis como forma programadores).
de medir. CAR (caresta del proyecto)

Juan Hernndez - IS2 2.72


Medicin del Software Definiciones [SW MEASUREMENT ONTOLOGY]

Concepto Definicin Ejemplo


Una forma de medir puede ser un
Secuencia de operaciones cuyo objeto es
Forma de mtodo de medicin, una funcin
determinar el valor del resultado de la
Medir medicin.
de clculo o un modelo de
anlisis.
La forma de medir una medida base. Contar lneas de cdigo.
Secuencia lgica de operaciones, descritas de
Mtodo de forma genrica, usadas para realizar Anotar cada da las horas
Medicin p
mediciones de un atributo respecto de una dedicadas por los programadores
escala especfica. al proyecto.

La forma de medir una medida derivada.


Funcin de para combinar C
Algoritmo
g o clculo realizado p CTP = C
CHP * HPT.
Clculo dos o ms medidas base y/o derivadas

La forma de medir un indicador. Algoritmo o


Modelo
ode o de clculo realizado p
para combinar una o ms
Anlisis medidas (base, derivadas o indicadores) con
criterios de decisin asociados.

Juan Hernndez - IS2 2.73


Medicin del Software Proceso de Medicin ISO/IEC 15939

Practical Software Measurement (PSM)

emplean

ISO/IEC 15939, Proceso de Medicin Software

CMMI
GQM
(Goal Question
Estndares ISO/IEC SC7
Medicin y Anlisis
12207 (revisin- procesos de soporte)
Metric)
15288 (C
(Conceptos
t d de medicin)
di i )

9126 (terminologa coordinada)

Estndares y 14598 (terminologa coordinada)


Metodologas
ISO 90003:2004 (objetivos)

Juan Hernndez - IS2 2.74


Medicin del Software Proceso de Medicin ISO/IEC 15939

Requerimientos de Medicin

PROCESOS TCNICOS Y DE GESTIN

Necesidades Realimentacin
d
de Productos
P d t de los usuarios
Informacin Informativos

Ncleo del Proceso de medicin


Establecer y
Mantener el Planificar el Realizar las
Evaluacin
compromiso de proceso mediciones Productos
medicin Informacin de
Compromiso Informativos
planificacin
y
Resultados de
Medidas

Base de experiencias de Medicin


Productos Informativos
y Resultados de evaluacin
acciones de mejora
mbito de ISO/IEC
15939

Juan Hernndez - IS2 2.75


Medicin del Software - GQM
Principio bsico: la medicin debe ser realizada, siempre, orientada a
un objetivo.
GQM define un objetivo, refina este objetivo en preguntas y define
medidas/mtricas que intentan dar informacin para responder a estas
preguntas.
preguntas

C
Conceptual
t l Objetivo
Definicin

Modelos
Implcitos
p Preguntas
g

Operacional
P1 P2 P3 P4

Cuantitativo M1 M2 M3 M4 M5 M6 M7
Interpretacin Mtricas
Juan Hernndez - IS2 2.76
Medicin del Software - GQM

Fases GQM:

Logro
g de
Objetivo
Objetivo

Pregunta Respuesta

Plan del
Proyecto Mtrica Medicin
Definicin Interpretacin

Datos Recogidos

Planificacin Recogida de Datos

Juan Hernndez - IS2 2.77


Medicin del Software - GQM

Ejemplo - Medida para BBDD Relacionales:


Objetivo GQM
Analizar BBDD Relacionales
Con el propsito de Asegurar
Con respecto a la Mantenibilidad
Desde el punto de vista de los Diseadores de BBDD
En el contexto de Desarrollo y Mantenimiento de
BBDD
Preguntas:
Pregunta
g 1. Cmo influye
y la complejidad
p j de las tablas en la
mantenibilidad de las bases de datos relacionales?
Pregunta 2. Cmo influye la complejidad entre tablas en la
mantenibilidad de las bases de datos relacionales?

Juan Hernndez - IS2 2.78


Medicin del Software - GQM

Ejemplo - Medida para BBDD Relacionales:

Medidas:
Pregunta 1
NA(T) - NMERO DE ATRIBUTOS DE UNA TABLA
NFK(T) - NMERO DE CLAVES AJENAS
RFK(T) - RATIO DE CLAVES AJENAS DE UNA TABLA
NFK ( T )
RFK (T )
Pregunta 2 NA ( T )
NT - NMERO DE TABLAS
NA - NMERO DE ATRIBUTOS
NFK - NMERO DE CLAVES AJENAS (NFK)

Juan Hernndez - IS2 2.79


Medicin del Software - Medidas

Tipos de Entidades y Medidas Software

- Objetivo: Proporcionar Indicadores para la


Mejora
j de Procesos
Medidas de - Basada en Anlisis Global de Medidas de
Proceso Proyecto a lo largo de un periodo de tiempo

- Objetivo: Control de Proyectos


Reducir costes y tiempos
- Aplicado fundamentalmente en la fase de
Medidas Medidas Estimacin
P
Proyecto
t Proyecto -Estimacin Tamao Puntos Funcin
(Albretch,
Albretch, 1979)

- Objetivo: Evaluacin de los


Medidas Medidas Medidas Medidas Artefactos obtenidos
Producto Producto Producto Producto - Gran Cantidad y Diversidad
de Medidas

Juan Hernndez - IS2 2.80


Medicin del Software - Medidas

Ejemplos de Medidas Clsicas de Producto:


LOC ((Lneas de Cdigo
g Fuente)) [[TAMAO]]
Complejidad Ciclomtica de McCabe [COMPLEJIDAD]
V(G) = A N + 2, siendo A el nmero de arcos del grafo y N el nmero de nodos.

Ejemplos de Medidas para Sistemas OO:


i 1 n Ci
n
Mtodos Ponderados por Clase (WMC) WMC i

Profundidad del rbol de Herencia de una Clase (DIT)


Nmero de Hijos (NOC)

WMC(Persona) = 8

DIT(Persona) = 0
DIT(Empleado Fijo)= 2

NOC(Persona) = 2
NOC (Empleado) =2

Juan Hernndez - IS2 2.81


Medicin del Software - Medidas
Ejemplos de Medidas para Sistemas OO:
Acoplamiento entre Objetos (CBO)
Cuenta
numerocuenta : string tiene Cliente
saldo : integer numerocliente : string
Fechacreacioncuenta : date * 1
1
CBO(Cuenta) = 0
asociada a CBO(Cliente) = 2
*
Tarjetacredito AutorizacionTarjeta
tiene
numerotarjeta : string contrasea : string
nombrebanco : string limite : integer

Respuesta para una Clase (RFC)


RFC(A)=10
Clase A con cuatro mtodos:
A::f1( ) invoca B::f1( ), B::f2( ) y C::f3( )
A::f2( ) invoca B::f1( )
A::f3( ) invoca A::f4( ), B::f 3( ), C::f1( ) y C::f 2( )
A::f4( ) No llama a otros mtodos
Entonces
RS= { A::f1, A::f2, A::f3, A::f4 } U {B::f1, B::f2, C::f3 } U (B::f1} U {A::f4,
B::f3 C::f1,
B::f3, C::f1 C::f2 } = = {A::f1,
{A::f1 A::f2,
A::f2 A::f3,
A::f3 A::F4,
A::F4 B::f1,
B::f1 B::f2
B::f2, B::f3,
B::f3
C::f1, C::f2, C::f3}

Juan Hernndez - IS2 2.82


Medicin del Software Diagramas de Kiviat
A travs de mapas de valores de distintas mtricas del producto y sus tolerancias
obtenemos una foto del ndice de calidad del mismo.

Juan Hernndez - IS2 2.83


Gestin de la Calidad Sw Quality Management (SQM)
Es aplicable a los productos, procesos y recursos implicados en el
desarrollo de Sw, pudiendo emplearse tanto para productos intermedios
como para el producto final. Los procesos SQM tienen como objetivos:
Satisfacer los requisitos de clientes y dems stakeholders, buscando su
satisfaccin y alcanzar la la calidad del software necesaria .
Instaurar una cultura de calidad en la organizacin basada en la
responsabilidad de los distintos participantes en el proceso de desarrollo.

Los principales procesos SQM son:


Aseguramiento de Calidad (Quality Assurance)
Verificacin (Verification) (Quality Control)
Validacin (Validation)

Juan Hernndez - IS2 2.84


Gestin de la Calidad - Sw Quality Assurance (SQA)
El Plan SQA define los medios que se usarn para asegurar que el
software desarrollado satisface los requisitos de usuario y es de la calidad
ms alta posible dentro de las restricciones del proyecto.
Debe ser consistente con la gestin de la configuracin del software.
Identifica documentos,
documentos estndares,
estndares prcticas y convenciones aplicables en el
proyecto y cmo ste ser controlado y supervisado.
Tambin establece medidas, estadsticas, procedimientos para informar de
problemas,
bl acciones
i correctivas,
ti recursos (herramientas),
(h i t ) ..

SQM SQA SQC PROCEDIMIENTOS


DE CALIDAD
+
MANUAL DE CALIDAD

PROYECTO 3
PROYECTO 1
Plan SQA
Plan SQA adaptado
adaptado
PROYECTO 2
Normas propias y Pl
Plan SQA
exigencias del cliente adaptado Condiciones especiales
del proyecto
Juan Hernndez - IS2 2.85
Verificacin y Validacin - Sw Quality Control (SQC)
Verificacin y Validacin (VV) es un conjunto de procedimientos,
actividades, tcnicas y herramientas que se utilizan, paralelamente al
desarrollo de software, para asegurar que un producto software resuelve
el problema inicialmente planteado.
Actividades Verificacin:
Estamos construyendo correctamente el producto?
El software debe ser conforme a su especificacin.
Objetivo: Demostrar la consistencia, complecin
y correccin
de los
artefactos software entre las fases del ciclo de desarrollo de un
proyecto.
Tcnica ms utilizada: Revisiones SW
Actividades Validacin:
Estamos construyendo el producto correcto?
El software debe hacer lo que el usuario realmente quiere
Objetivo: Determinar la correccin del producto final respecto a las
necesidades del usuario.
Tcnica ms utilizada: Pruebas SW
Juan Hernndez - IS2 2.86
Verificacin y Validacin Tipos Revisiones
Revisiones informales:
No hayy pprocedimientos definidos,, ppor lo qque la revisin se realiza de la forma ms
flexible posible.
Ventajas menor coste y esfuerzo, preparacin corta, etc.
Desventajas
j Detectan menos defectos
Revisiones semi-formales: Se definen unos procedimientos mnimos a
seguir walkthroughs.
R i i
Revisiones f l : Se
formales S d fi
define completamente
l t t ell proceso, los
l
participantes y sus funciones, los documentos, etc. inspecciones.

En cualquier caso pueden ser Tcnicas o de Gestin

Gestin Tcnicas
Estudiar el progreso del proyecto y la realizacin de El producto se ajusta a sus especificaciones.
actividades segn el plan El desarrollo (o mantenimiento) del producto intermedio
Adecuacin del enfoque de gestin del proyecto para se est realizando de acuerdo a los planes, estndares y
lograr sus objetivos. guas aplicables al proyecto.
Ayudar a las decisiones de cambios de gestin en el Los cambios en el producto se realizan adecuadamente y
proyecto afectan slo a aquellas reas identificadas por la
Confirmar los requisitos y su asignacin en el sistema especificacin de cambios

Juan Hernndez - IS2 2.87
Verificacin y Validacin - Inspecciones

Inspecciones, qu son?
Orientadas a la deteccin de defectos de un producto
intermedio.
Consisten en,
Verificar si el producto satisface sus especificaciones o atributos de
calidad
Verificar si el producto se ajusta a los estndares utilizados en la
empresa.
Sealar las desviaciones sobre los estndares y las especificaciones.
Recopilar datos que realimenten inspecciones posteriores (defectos
recogidos, esfuerzo empleado, etc.) y ayudar a su utilizacin prctica.
No pretende examinar alternativas o aspectos de estilo.

Juan Hernndez - IS2 2.88


Verificacin y Validacin - Inspecciones
Inspecciones. Flujo de Trabajo y Roles.
Producto
P d a
revisar
PLANIFICACIN VISIN GENERAL
(Opcional)
Criterios de entrada
y salida

Documentos de soporte
(estndares, guas y procedimientos)

Notificacin de la PREPARACIN
inspeccin
Lista de defectos
Roles Funcin Lista de comprobacin
Jefe del Responsable de las actividades
Proyecto administrativas

Elegido por el jefe de proyecto para el A d


Agenda
Coordinador REUNIN CORRECCIN
aseguramiento de la calidad

Comprueba que se siguen los


Moderador
procedimientos de la inspeccin Resumen Informe de
inspeccin
Responsable de corregir los errores
de defectos
Autor
que se detecten

Lector Gua al resto del equipo


SEGUIMIENTO
Inspector Detecta defectos

Anota y clasifica los defectos


Secretario
encontrados Producto
aceptado

Juan Hernndez - IS2 2.89


Verificacin y Validacin - Inspecciones

Inspecciones. Informes.
Proporcionan informacin del progreso o resultados de la inspeccin
Estructura:
Notificacin de la reunin de inspeccin
p Anuncio formal
Lista de Defectos Registro detallado de cada defecto descubierto
Localizacin
Descripcin Problema
Clasificacin
Informe Resumen de Defectos
Informe de Inspeccin

Juan Hernndez - IS2 2.90


Verificacin y Validacin - Inspecciones

Inspecciones. Checklist de Comprobacin.


LISTA DE COMPROBACIN
PARA LA REVISIN
DE
UNA ERS
LISTA DE COMPROBACIN PARA LA REVISIN DE
Organizacin y complecin
Son correctas las referencias cruzadas a otros requisitos?
UN MODELO DE CASOS DE USO
Estn
E t todos
t d losl requisitos
i it escritos
it de
d una manera consistente
i t t y a un nivel
i l
Descomposicin en paquetes
apropiado de detalle?
Est definido un nombre nico por cada paquete y existe una descripcin

breve?
Correccin
El nombre del paquete es claro y fcilmente entendible?
Hay algn requisito que entre en conflicto o duplique a otro requisito?

Est cada requisito escrito de una' forma clara,
clara concisa y no ambigua?
Actores
Se puede verificar cada requisito?
Estn definidos todos los actores del sistema?

Es correcta la definicin de cada actor (cada actor define un nico rol)?


Atributos de Calidad

Estn especificados correctamente todos los requisitos de rendimiento?
Casos de Uso
Estn correctamente especificadas todas las consideraciones de
Estn definidos todos los casos de uso del sistema?
seguridad?
Hay casos de uso repetidos o de funcionalidad muy parecida?
Trazabilidad
El nombre del caso de uso es claro y fcilmente comprensible?
Est cada requisito identificado de una manera nica y correcta?
Diagramas de Casos de Uso
Es trazable cada requisito funcional a otros requisitos de ms alto nivel?
Por cada paquete existe al menos un diagrama de casos de uso?
Otros aspectos
Los diagrama de casos de uso tienen definida una descripcin clara?
No se incluyen como requisitos funcionales soluciones de diseo o
Son correctas las relaciones entre casos de uso (uses, extends)?
implementacin?
Son correctas las relaciones de los actores con los casos de uso?
Estn identificadas las funciones crticas en tiempo y especificados los
criterios de tiempo de las mismas?

Juan Hernndez - IS2 2.91


Verificacin y Validacin - Walkthroughs
Buscar defectos, omisiones y contradicciones.
Mejorar el producto.
Evaluar conformidad con estndares o normas.
Considerar posibles soluciones y alternativas a los problemas encontrados.
INSPECCIN WALKTHROUGH

Deteccin de defectos.
Comentarios sobre el estilo.
Objetivo Deteccin de defectos.
Bsqueda de soluciones.
Intercambio de conocimientos.
conocimientos
Formalidad Formal. Informal o Semiformal.
Personas de distinto nivel
Personas del mismo nivel del equipo de
Composicin del equipo jerrquico, que pueden pertenecer
desarrollo
desarrollo.
adems a otros proyectos.
Papeles definidos de los
S. No.
participantes
Utilizacin de listas de
Si
Siempre. A veces.
comprobacin

Clasificacin de defectos S. No.

Anlisis de resultados para


S
S. No
No.
realimentar nuevas revisiones

Juan Hernndez - IS2 2.92


Verificacin y Validacin - Auditoras

Auditoras:
Auditora funcional (AFU):
Es un examen sobre el software justo antes de su entrega Verificar
que cumple todos los requisitos definidos en la ERS.
Auditora fsica (AFI):
Es un examen que se realiza para verificar que el software y su
documentacin son consistentes y estn preparados para su entrega.
Auditora durante el proceso de desarrollo (AP):
Se realiza para verificar la consistencia del diseo, que incluye el anlisis
de:
Cdigo frente a la documentacin de diseo.
Especificaciones de interfaz (software y hardware).
Implementaciones de diseo frente a los requisitos funcionales.
Requisitos funcionales frente a las descripciones de pruebas.

Juan Hernndez - IS2 2.93


Verificacin y Validacin - Auditoras

Auditoras vs Revisiones:
ATRIBUTO REVISIONES AUDITORAS
MECANISMO Las reuniones. Mezcla de reuniones,, observaciones
y exmenes.
RESPONSABILIDAD Generalmente Realizada por un grupo personas
compartida entre un que no suelen pertenecer a la
grupo de personas organizacin, en el que sobresale la
pertenecientes a la figura central del "auditor".
organizacin.
DURACIN
Corta: unas pocas horas. De media a larga: de das a meses.

ANIDAMIENTO Las reuniones pueden Puede incluir otras auditoras,


tener mltiples sesiones
sesiones. revisiones e incluso
revisiones, incluso, algunas
pruebas peridicas.

FRECUENCIA Depende de la fase del Peridica.


ciclo
i l dde vida.
id

Juan Hernndez - IS2 2.94


APNDICE A Conceptos ISO 9000:2005
Trminos relativos a la Calidad

Juan Hernndez - IS2 2.95


APNDICE A Conceptos ISO 9000:2005
Trminos relativos a la Gestin (i)

Juan Hernndez - IS2 2.96


APNDICE A Conceptos ISO 9000:2005

Trminos relativos a la Gestin (ii)

Juan Hernndez - IS2 2.97


APNDICE A Conceptos ISO 9000:2005

Trminos relativos a la Organizacin

Juan Hernndez - IS2 2.98


APNDICE A Conceptos ISO 9000:2005

Trminos relativos al Proceso y al Producto

Juan Hernndez - IS2 2.99


APNDICE A Conceptos ISO 9000:2005

Trminos relativos a las Caractersticas

Juan Hernndez - IS2 2.100


APNDICE A Conceptos ISO 9000:2005
Trminos relativos a la Conformidad (i)

Juan Hernndez - IS2 2.101


APNDICE A Conceptos ISO 9000:2005

Trminos relativos a la Conformidad (ii)

Juan Hernndez - IS2 2.102


APNDICE A Conceptos ISO 9000:2005

Trminos relativos a la Documentacin

Juan Hernndez - IS2 2.103


APNDICE A Conceptos ISO 9000:2005
Trminos relativos al Examen

Juan Hernndez - IS2 2.104


APNDICE A Conceptos ISO 9000:2005
Trminos relativos a la Auditora

Juan Hernndez - IS2 2.105


APNDICE A Conceptos ISO 9000:2005
Trminos relativos al Aseguramiento de la Calidad para los
Procesos de Medicin

Juan Hernndez - IS2 2.106


APNDICE B Otras Tcnicas de Verificacin y Validacin
Anlisis de algoritmos
Verificar la funcionalidad de los algoritmos
g y recoger
g estadsticas sobre el
consumo de recursos en tiempo de ejecucin.

A li i de
Anlisis d simulacin
i l i
Proporcionar una evaluacin del rendimiento y la informacin necesaria
para planificar la capacidad de un sistema durante su diseo.

Auditores de cdigo
Examinar el cdigo fuente y determinar automticamente si se siguen los
estndares y prcticas de programacin descritos previamente.

Juan Hernndez - IS2 2.107


APNDICE B Otras Tcnicas de Verificacin y Validacin
Generadores de referencias cruzadas
Producir listas de nombres de variables, procedimientos, etiquetas, etc.
determinando su ubicacin dentro de un programa.
programa

Analizadores de flujo de control


D
Determinar
i la
l presencia
i o ausenciai de
d errores del
d l flujo
fl j de
d control,
l es decir,
d i
secuencias incorrectas en la ejecucin de un programa.

A li d
Analizadores y estimadores
ti d de
d tiempos
ti de
d ejecucin
j i
Proporcionar informacin sobre la ejecucin de un programa (tiempo de
ejecucin, consumo de CPU, etc.)

Comprobacin de interfaces
Analizar la consistencia y la complecin de los flujos de informacin y de control
entre los mdulos de un sistema
sistema.

Juan Hernndez - IS2 2.108


APNDICE B Otras Tcnicas de Verificacin y Validacin
Anlisis de requisitos
Buscar errores sintcticos,, inconsistencias lgicas
g o ambigedades
g
entre las entradas del sistema, sus salidas, procesos y datos.

A li i de
Anlisis d trazabilidad
t bilid d de
d requisitos
i it
Verificar que cada requisito del sistema est incluido en algn
elemento software.
Garantizar que las pruebas que se realizan sobre dicho software
permiten comprobar que se satisfacen los requisitos.

Monitores de software
Supervisar la ejecucin de un programa para localizar posibles reas
ineficientes. Al finalizar la ejecucin, el monitor genera informes que
describen la utilizacin de los recursos del programa.

Juan Hernndez - IS2 2.109


APNDICE C Lista de Defectos de Inspecciones

Clasificacin: Factor de Calidad, Tipo, Clase, Gravedad.

TIPO DE DESCRIPCIN
DEFECTO
Cumplimiento de Desviacin sobre los estndares que debe seguir el producto.
estndares
Factores humanos Procedimientos operativos incorrectos.
Documentacin Descripciones inadecuadas de algn componente (por ejemplo,
comentarios incorrectos).
Funcionalidad Defectos en la especificacin de las funciones de un
componente.
Interfaz Defectos en la comunicacin entre componentes del software
(por ejemplo, llamadas incorrectas de los mdulos, paso de
datos incorrectos entre mdulos).
Datos Defectos en la especificacin de los datos (por ejemplo,
declaraciones, inicializaciones o descripciones de datos
i
incorrectas).
)

Juan Hernndez - IS2 2.110


APNDICE C Lista de Defectos de Inspecciones

Clasificacin: Factor de Calidad, Tipo, Clase, Gravedad.

TIPO DE DEFECTO DESCRIPCIN


Lgico Defectos en la lgica de control de un mdulo (por ejemplo, lmites
d los
de l bucles
b l incorrectos).
i t )
Entrada/Salida Defectos en la comunicacin con dispositivos.

Sintaxis Defectos
e ectos ggramaticales.
a at ca es.

Casos de prueba Especificaciones incompletas de una condicin de prueba o una


desviacin del plan de pruebas.
Entorno de pruebas Defectos
D f en la
l definicin
d fi i i o especificacin
ifi i software
f o hardware
h d d
de
pruebas, nivel de seguridad, etc.
Plan de pruebas Defectos en la definicin o especificacin del alcance de las pruebas.

Ejecucin Falta de la eficiencia de ejecucin prevista.

Juan Hernndez - IS2 2.111

También podría gustarte