Está en la página 1de 111

Ingeniería
del
So/ware
II


Tema
02.
Calidad
del
So/ware


Juan
Hernández
Marqués

DPTO.
DE
MATEMÁTICAS,
ESTADÍSTICA
Y

COMPUTACIÓN

juan.hernandez@unican.es


Este
tema
se
publica
bajo
Licencia:

CreaOve
Commons
BY‐NC‐SA
3.0

Objetivos del Tema

• Comprender el concepto de calidad.

• Conocer las características generales de la calidad del software, según


normas internacionales.

• Conocer los diferentes aspectos relacionados con la calidad de los


procesos y productos software.

• Comprender la importancia de la medición en la búsqueda de la calidad.

• Conocer las p principales


p técnicas y métodos p
para mejorar
j la calidad,,
incluidas la verificación y validación.

Juan Hernández - IS2 2.2


Contenido
• Introducción • Medición del Software
 Historia de la Calidad
 Proceso
oceso
 Concepto de Calidad
 Perspectivas de la Calidad
 GQM
 Modelo de Calidad Total  Métricas
 Calidad de Sistemas de Información • Gestión de la Calidad del Sw
 Factores Calidad del Software  Aseguramiento
• Calidad de Producto  Verificación y Validación
 ISO 9126  Revisiones
 Calidad de Datos  Auditorias

• Calidad de Proceso
• A é di A:
Apéndice A Conceptos
C ISO
9000:2005
 ISO 90003
 Evaluación y Mejora de Procesos
• Apéndice B: Otras Técnicas de
 CMMI Verificación y Validación
 ISO 15504 SPICE • Apéndice C: Lista de Defectos de
 PSP Y TSP las Inspecciones

Juan Hernández - IS2 2.3


Bibliografía

• Básica
 SWEBOK - Guide to the Software Engineering Body of Knowledge,
2004 Version.
 Cap. 11.
 Piattini et al.
al (2006): Calidad de Sistemas Informáticos.
Informáticos Ra-Ma.
Ra Ma
 Caps. 4-5 y 8.
• Complementaria
p
 Piattini et al. (2006): Calidad de Sistemas Informáticos. Ra-Ma.
 Caps. 1, 3, 9-10.
 Sommerville (2005): Ingeniería del Software.
Software 7ª edición.
edición Addison-
Addison
Wesley.
 Caps. 27 y 28.
 Pressman (2005): Ingeniería del Software: Un Enfoque Práctico. 6ª
Edición. McGraw-Hill.
 Cap. 26.

Juan Hernández - IS2 2.4


Introducción

“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 Hernández - IS2 2.5


Introducción – 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 • Autosatisfacción del Artesano.
ello. • Crear un producto único.

Hacer muchas cosas no • Satisfacer una gran demanda de


Revolución bienes.
importando que sean de calidad.
Industrial
(Producción = Calidad). • Obtener beneficios.
Asegurar la eficacia del
armamento con la mayor y más • Garantizar la disponibilidad de
II Guerra Mundial rápida producción. No importa el armamento eficaz en cantidad y
coste
coste. plazo
plazo.
(Eficacia + Plazo = Calidad)
• Minimizar costes mediante la
(JAPÓN) Hacer las cosas bien a la Calidad
primera • Satisfacer al cliente
Postguerra • Ser competitivo
(RESTO) Producir cuanto más • Satisfacer la gran demanda de
mejor bienes causada por la guerra

Juan Hernández - IS2 2.6


Introducción – Historia de la Calidad (2/2)
Etapa Concepto Finalidad
Co t o de
Control Inspección
specc ó ene pproducción
oducc ó para
pa a  Sat s ace las
Satisfacer as necesidades
eces dades
Calidad evitar bienes defectuosos. técnicas del producto.

Sistemas y Procedimientos de la  Satisfacer al cliente.


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

Administración empresarial  Satisfacer al cliente externo e


centrada en la permanente interno
interno.
Calidad Total
satisfacción 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 parámetros clásicos de Coste y Plazo.
 Gran Importancia
p y atención a las Expectativas
p del Cliente C t
Coste Pl
Plazo
(Investigación de Mercados, Especificaciones, …).
Juan Hernández - IS2
2.7
Introducción – 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 más calidad?

Juan Hernández - IS2 2.8


Introducción – Concepto de Calidad

• ¿Y cuáles eran mis requisitos para comprar un


coche?
 No voy a hacer trayectos de más de 10 Km.
 La ocupación máxima será de tres personas
personas.
 Quiero gastarme poco en seguro, consumo y mantenimiento.

• Según esto
esto, el elegido es….
es
“La Calidad puede no ser lo que
piensas
piensas”

P.B. Crosby

Juan Hernández - IS2 2.9


Introducción – Concepto de Calidad

• Definición 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 sinónimo de bondad, excelencia o superioridad”.
 ¿Esta idea de calidad es aplicable de manera formal en una empresa?

• Definición Profesional:
 Totalidad de las características 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 características inherentes cumple con
los requisitos (ISO 9000:2005).

Juan Hernández - IS2 2.10


Introducción – 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

e

st
Ligado a compromisos aceptables

Co
Oportunidad

 Plazos de fabricación

 No es ni totalmente subjetiva (porque ciertos aspectos pueden


medirse) ni totalmente objetiva (ya que existen cualidades cuya
evaluación sólo puede ser subjetiva).

Juan Hernández - IS2 2.11


Introducción – 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 Hernández - IS2 2.12


Introducción – Concepto de Calidad
• Al hablar de Calidad a nivel de una Organización se manejan
varios términos y conceptos
p ((AENOR,, 2000):
)

GESTIÓN DE LA CALIDAD Política


Estructura la
Organizativa

Aspectos éc cas y
Técnicas
relativos al Actividades
CONTROL DE Funcionales
Confianza CALIDAD
para la Aspectos
Dirección relativos al
ASEGURAMIENTO Confianza
INTERNO DE LA para el
p
CALIDAD Cliente

ASEGURAMIENTO
EXTERNO DE LA
CALIDAD
Juan Hernández - IS2 2.13
Introducción – Concepto de Calidad

• Gestión de la Calidad (Quality Management):


 Actividades coordinadas para dirigir y controlar una organización
en lo relativo a la calidad, aplicando la política de calidad (objetivos
y directrices generales de calidad de una empresa).
 Normalmente se aplica a nivel de empresa => planificación estratégica,
asignación de recursos, etc., aunque también puede haber una gestión
de calidad dentro de la g
gestión de cada p
proyecto.
y

• Aseguramiento de la Calidad (Quality Assurance):


 Parte de la gestión de la calidad orientada a proporcionar confianza
en que se cumplirán los requisitos de la calidad.
 Se debe evitar el término "garantía
g de calidad",, ya
y que
q puede
p llevar a
confusión con el concepto tradicional de garantía 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 confección auditado.
Juan Hernández - IS2 2.14
Introducción – Concepto de Calidad

• Control de la Calidad (Quality Control):


 Parte de la gestión de la calidad orientada al cumplimiento de los
requisitos de la calidad.
 Suele
S l incluir
i l i técnicas
té i y actividades
ti id d d carácter
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 Hernández - IS2 2.15


Introducción – Perspectivas de la Calidad
• La Calidad se puede considerar desde varios puntos de vista
diferentes:
 TRASCENDENTAL (calidad = excelencia innata)
 BASADA EN USUARIO (adecuación al propósito)
 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 ejecución de una La que el cliente exige con
tarea CALIDAD CALIDAD mayor o menor grado de
REALIZADA NECESARIA concreción
ió o, all menos, la
l
que le gustaría recibir
Juan Hernández - IS2 2.16
Introducción – Perspectivas de la Calidad

• La gestión de la calidad busca conseguir que estos tres


círculos coincidan entre sí.

 Todo lo que esté fuera de dicha coincidencia será motivo de derroche,
de g
gasto superfluo
p o de insatisfacción.
CALIDAD
PROGRAMADA

CALIDAD
ESPERADA
CALIDAD
REALIZADA CALIDAD
NECESARIA

Juan Hernández - IS2 2.17


Introducción – Perspectivas de la Calidad

LOS DOS NIVELES DE LA CALIDAD


Y LAS RELACIONES ENTRE AMBOS
Organización
Documentación 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 Hernández - IS2 2.18


Introducción – 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 Gestión de la Calidad. Fundamentos y Vocabulario.

• EFQM modelo de Gestión Empresarial basado en la Mejora


Continua.

ULTADOS CLAVE
LIDERAZGO 9%

PROCESOS
14%

15%
RESU
to
uc
od
Pr
Juan Hernández - IS2 2.19
Introducción - Calidad de Sistemas de Información

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

Calidad Calidad de Calidad del


del sistema la información servicio

¿cómo evaluamos?

Calidad del sistema como función de las percepciones


p p
de los Stakeholders

…y además,

Impacto individual y organizacional

Juan Hernández - IS2 2.20


Introducción - Calidad de Sistemas de Información

Visión holística de la
calidad.
lid d St
Stylianou
li y
Kumar (2000). Calidad de la
infraestructura

Calidad de la Calidad
C lid d
Calidad del
gestión
de la
software

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

Juan Hernández - IS2 2.21


Introducción – Factores Calidad del Software
• “Crisis” en la Ingeniería del Software:
 Hombre con 103 años requerido a llevar a sus padres (2002).
 Mars Climate Orbiter (1999).
 Ariane 5 (1996).
 USS Yorktown (1998).
 Sistema de Manejo Automático 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 Hernández - IS2 2.22
Introducción – Factores Calidad del Software
 El Software tiene características muy peculiares:
 Se desarrolla, no se fabrica en el sentido clásico del término
 Se trata de un producto lógico (ideas), sin existencia física
 No se degrada con el uso
 Suele ser complejo y muy flexible.
flexible

 No olvidemos que el software no es sólo código:


 La calidad se obtiene a medida q
que se construye
y el producto
p
 No hay que esperar a añadirla 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 compañía de software, uno de cada


cien Big Macs te envenenarían, y la respuesta sería ‘lo sentimos, aquí
tiene un cupón para dos más
más”.
Mark Minasi
Juan Hernández - IS2 2.23
Introducción – 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 utilización efectiva


características intrínsecas del producto por parte del usuario

Código fuente Resultados de una prueba Encuesta de satisfacción

Juan Hernández - IS2 2.24


Calidad del Software – Factores Calidad del Software

Calidad del proceso


ISO
ISO 90003
90003
Evaluación y Mejora
Evaluación 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 Hernández - IS2 2.25


Calidad de Producto – ISO 9126

• ISO/IEC 9126: Tecnologías de la Información – Calidad de los


Productos Software.
 ISO/IEC 9126-1: Modelo de Calidad
 ISO/IEC
SO/ C 9126-2:
9 26 2 Métricas
é i Externas
 ISO/IEC 9126-3: Métricas Internas
 ISO/IEC 9126
9126-4:
4: Métricas de Calidad en Uso
• Utilidades:
 Validar la completitud de una definición de requisitos.
 Identificar requisitos software.
 Identificar objetivos para el diseño software.
 Identificar requisitos para las pruebas del software
software.
 Identificar requisitos para el aseguramiento de la calidad.
 Identificar criterios de aceptación
p para
p un producto
p software terminado.

Juan Hernández - IS2 2.26


Calidad de Producto – ISO 9126

Identificación de Características, subcaracterísticas 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
subcaracterística
atributos internos característica 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 Hernández - IS2 2.27


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

Características

funcionalidad fiabilidad usabilidad eficiencia mantenibilidad portabilidad

Subcaracterísticas
capacidad para
capacidad para
ser entendido
adecuación 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 utilización de
seguridad
id d de
d capacidad
id d de
d estabilidad
t bilid d capacidad
id d para
ser operado recursos
acceso recuperación capacidad para ser reemplazado
capacidad de
ser probado
atracción 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 Hernández - IS2 2.28


Calidad de Producto – ISO 9126 Características
Capacidad del producto software para … bajo condiciones especificadas..

…proporcionar funciones que satisfacen necesidades


FUNCIONALIDAD
declaradas e implícitas 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 adaptación a cambios en el
entorno, requisitos o especificaciones funcionales…
PORTABILIDAD …ser
ser transferido de un entorno a otro…
otro

Juan Hernández - IS2 2.29


Calidad de Producto – ISO 9126 Funcionalidad

Capacidad del producto software para … bajo condiciones especificadas..

…proporcionar un conjunto apropiado de funciones para


Adecuación
tareas y objetivos de usuario especificados…
…proporcionar los resultados o efectos correctos o
Exactitud
acordados, con el grado necesario de precisión…
Interoperabilidad …interactuar
interactuar con uno o más sistemas especificados…
especificados
…proteger información 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 Hernández - 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
recuperación
f ll
fallo…
Cumplimiento de la …adherirse a normas, convenciones o regulaciones
fiabilidad relacionadas con la fiabilidad…

Juan Hernández - 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 cómo puede ser usado para unas tareas o condiciones de
uso particulares…

Aprendibilidad …permitir al usuario aprender sobre su aplicación…

Operatividad …permitir al usuario operarlo y controlarlo…

Atracción …ser
ser atractivo al usuario…
usuario

Cumplimiento de la …adherirse a normas, convenciones, guías de estilo o


usabilidad regulaciones relacionadas con la usabilidad…

Juan Hernández - 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
Utilización de …usar las cantidades y tipos de recursos adecuados cuando
recursos el software lleva a cabo su función…
Cumplimiento
C mplimiento de la …adherirse
adhe i se a normas
no mas o convenciones
con enciones relacionadas
elacionadas con la
eficiencia eficiencia…

Juan Hernández - 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 modificación 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 Hernández - 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 propósito
ó por el propio software
considerado…

Instalabilidad p
…ser instalado en un entorno especificado…

…coexistir con otro software independiente, en un entorno


Coexistencia
común, compartiendo recursos comunes…
…ser usado
d en lugar
l d otro
de t producto
d t software,
ft para ell
Reemplazabilidad
mismo propósito, en el mismo entorno…
Cumplimiento de la …adherirse a normas o convenciones relacionadas con la
portabilidad
t bilid d portabilidad…
t bilid d

Juan Hernández - IS2 2.35


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

Eficacia Productividad Seguridad Satisfacción

Capacidad del producto software para … bajo condiciones especificadas..


…para permitir a los usuarios alcanzar objetivos específicos con precisión y
Eficacia
completamente
completamente…
…para permitir a los usuarios emplear recursos apropiados con relación a la
Productividad
eficacia alcanzada…
…para alcanzar niveles aceptables de riesgo hacia la gente, negocio,
Seguridad
software, propiedad o medio ambiente…

Satisfacción …para
para satisfacer al usuario…
usuario

Juan Hernández - IS2 2.36


Calidad de Producto - Datos
• Los datos son uno de los activos más importantes de las
organizaciones, ya que son clave en la toma de decisiones
estratégicas u operativas. Por eso se recopilan datos para ser más
competitivos.
• Los datos se convierten en fuentes de problemas:
 Datos no usados, inútiles e innecesarios y redundantes,
 Barreras en la accesibilidad de los datos,
 Dificultades en la utilización de los datos y de la información y gran
cantidad de datos históricos caducados.
• Estos p
problemas afectan negativamente
g al rendimiento de los
procesos de negocio de una organización a varios niveles:

ORGANIZACIONAL
TÉCNICO - Pérdida de clientes al estar insatisfechos. LEGAL
Errores en la - Pérdidas financieras debido a desperdicios de Dependiendo de ciertas
implementación de recursos en términos 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 Hernández - IS2 2.37
Calidad de Producto - Datos

• Calidad de Datos.
 Características que deben tener los datos como materias primas
para que, utilizando un proceso de producción adecuado, se pueda
generar un p
g producto de información.
• Calidad de Información.
 Aquellas
q características q
que debería tener un Producto de
Información para que su utilización 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 Hernández - IS2 2.38


Calidad de Producto - Datos

• La Calidad de los Datos depende de:


 Los propios datos (extensión)
 Influyen en la efectividad de los procesos de negocio (dependencia de la
semántica de los negocios).
 El esquema de los datos (intensión)
 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 técnicos 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 utilización
tili ió ded
ciertos recursos de la organización.
 Están normalmente implementados sobre el SGBD y dependen del
soporte que de a esos procesos
procesos.

Juan Hernández - IS2 2.39


Calidad de Producto - Datos

• Ejemplos de falta de calidad

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


película, sino “El Casablanca y Weir el haberse hecho antes
Club de los de “El club de los que la primera versión
Poetas Muertos
Muertos” Poetas Muertos
Muertos” d lla película
de lí l

Id Título Director Año Nro_ AñoUltimo


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 número 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 debería aparecer una fecha
se sabía)

Juan Hernández - IS2 2.40


Calidad de Proceso – ISO 90003
• La norma ISO 90003 proporciona, a las organizaciones, una guía para la
adaptación de la ISO 9001:2008 para la adquisición, suministro, desarrollo,
instalación y mantenimiento de SOFTWARE y servicios de soporte. soporte Identifica
todos los aspectos que deberían ser tratados y es independiente de la tecnología,
modelos de ciclo de vida, procesos de desarrollo y estructuras organizacionales.
• La organización debe establecer, documentar, implementar y mantener un
sistema de gestión de la calidad software y mejorar continuamente su
eficacia, de acuerdo con los siguientes requisitos generales:
 Identificar los procesos necesarios para el sistema de gestión de la calidad y su
aplicación a través de la organización. (Identificar también los procesos de desarrollo,
operación y mantenimiento de software).
 Determinar la secuencia e interacción de estos procesos.
 La organización debería también definir la secuencia e interacción de los procesos en los
modelos de ciclos de vida del software, la planificación de la calidad y el desarrollo.
 Determinar los criterios y métodos necesarios para asegurarse de que tanto la
operación como el control de estos procesos sean eficaces.
 A
Asegurarse d la
de l disponibilidad
di ibilid d de
d recursos e información
i f ió necesarios
i para apoyar
la operación y el seguimiento de estos procesos.
 Realizar el seguimiento, la medición y análisis de estos procesos.
 Implementar las acciones necesarias para alcanzar los resultados planificados y la
mejora continua de estos procesos.

Juan Hernández - IS2 2.41


Calidad de Proceso – Ejemplo Mapa Procesos
© SEMICROL

Juan Hernández - IS2 2.42


Calidad de Proceso - Evaluación y Mejora de Procesos

• Existen multitud de normas sobre procesos de ingeniería


del software,, su calidad y su mejora.
j

Juan Hernández - IS2 2.43


Evaluación 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 evolución
l ió
hacia una cultura de la Ingeniería del Software y de excelencia en la gestión.
 Desarrollado por el SEI (Software Engineering Institute) de la Universidad de Carnegie
M ll
Mellon, USA.
USA Es
E la
l evolución
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 organización.
 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 Descripción Extensión


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 Hernández - IS2 2.44


Evaluación y Mejora de Procesos - CMMI
• Áreas de Proceso Claves (KPAs)
GESTIÓN DE PROCESO

Foco en Procesos Organizativos (OPF)


Definición de Procesos Organizativos (OPD)
Formación Organizativa (OT)
Rendimiento de Procesos Organizativos (OPP)
Innovación y Despliegue Organizativo (OID)

Gestión de la Configuración (CM)


APOYO

Aseguramiento de la Calidad de Producto y Proceso (PPQA)


Medición y Análisis (MA)
Análisis de Decisiones y Soluciones (DAR)
Análisis Causal (CAR)
DE

NGENIERÍÍA
Planificación de Proyecto
y (PP)
( ) Gestión de Requisitos
q ((REQM)
Q )
PROYECTO
O
D

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


GESTIÓN

Gestión de Acuerdos con Proveedores (SAM) Solución Técnica (TS)


Gestión Integrada de Proyecto (IPM) Integración de Producto (PI)
Gestión del Riesgo (RSKM) Verificación (VER)
IN
Gestión Cuantitativa de Proyecto (QPM) Validación (VAL)
P
G

Juan Hernández - IS2 2.45


Evaluación 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
Organización
 Establece 5 Niveles de Madurez (Maturity Level) para  Muestra la representación del nivel de
clasificar a las organizaciones, en función de qué áreas capacidad de la organización para cada
de procesos consiguen sus objetivos y se gestionan con una de las áreas de proceso.
principios de ingeniería.
ingeniería
 Centrada en la madurez de la organización.
 La selección 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 más para el
ML5.
Juan Hernández - IS2 2.46
Evaluación y Mejora de Procesos - CMMI

• Niveles de Madurez.
Mejora Continua del Proceso
Es el típico proyecto en el que se da la (2 Áreas de Proceso) O i i d
Optimizado - Innovación y Distribución Organizacional (OID)
- Análisis Causal y Resolución (CAR)
siguiente situación: (5)
- ¿Cómo va el proyecto?
- Bien, bien.
Dos semanas después…
- Rendimiento del Proceso Organizacional (OPP)
- ¿Cómo
¿Có va ell proyecto?
t ?
- Bien, bien. Gestión Cuantitativa
Gestionado - Gestión Cuantitativa de Proyectos (QPM )

Tres semanas después… (2 Áreas de Proceso) Cuantitativamente - Gestión Cuantitativa del Suministrador (QSM)

- El lunes hay que entregar el proyecto.


(4)
- El lunes !!?. Todavía falta mucho!!
- ¿Cómo? Me dijistej que
q el proyecto
p y iba bien!!
- Desarrollo de Requisitos (RD)
Arréglatelas como quieras, pero el proyecto - Entorno Organizacional
- Solución Técnica (TS)
tiene que estar terminado para el lunes. - Integración del Producto (PI) para la Integración (OEI)
Estandarización del Proceso - Equipo Integrado (OIT)
Si no sabes el tamaño del proyecto y no sabes (11 Áreas de Proceso) Definido - Verificación (VER)
- Validación (VAL)
cuanto llevas hecho, nunca sabrás cuando vas (3) - Enfoque Proceso Organizacional (OPF) - Gestión Integrada del
a terminar.
terminar - Definición del Proceso Organizacional (OPD) Suministrador ((ISM))
- Formación de la Organización (OT)
- Gestión Integrada de Proyectos (IPM)
- Gestión de Riesgos (RSKM)
- Análisis de Decisión y Resolución (DAR)
Gestión Básica de Proyectos - Gestión de Requisitos (REQM)
((7 Áreas de Proceso)) Gestionado - Planificación del Proyecto (PP)
- Selección y Monitorización
- Monitorización y Control del Proyecto (PMC)
(2) - Gestión del Acuerdo con el Suministrador (SAM)
del Suministrador (SSM)

- Medición y Análisis (M & A)


- Aseguramiento de la Calidad del Proceso y Producto (PPQA)
- Gestión de la Configuración (CM)

Ejecutado CMMI-ACQ
CMMI-DEV+IPPD
(1) - Procesos Caóticos (Ad Hoc)
Juan Hernández - IS2 2.47
Evaluación 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
Genéricas Específicas Genéricas Específicas

Nivel de
Capacidad

Esperado
Prácticas Prácticas Prácticas Prácticas
Genéricas Específicas Genéricas Específicas

Escalonada Continua
Juan Hernández - IS2 2.48
Evaluación 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 Hernández - IS2 2.49


Evaluación y Mejora de Procesos - CMMI

• Metas y Prácticas Genéricas


• GG1 C
GG1: Conseguir
i llas metas
t específicas
ífi • GG3: Institucionalizar un Proceso Definido
 GP1: Realizar las prácticas específicas  GP3.1: Establecer un proceso definido
• GG2: Institucionalizar un Proceso Gestionado  GP3.2: Recopilar información sobre la
 GP2.1: Establecer una política 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
realización 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 configuración 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 realización
del proceso
 GP2.9: Evaluar objetivamente el
cumplimiento del proceso
 GP2.10: Revisar el estado con la
Dirección

Juan Hernández - IS2 2.50


Evaluación y Mejora de Procesos - CMMI

• Evaluación (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 prácticas CMMI y determinar qué mejoras se
pueden hacer.
 Informar a los clientes externos y p
proveedores acerca de cómo funciona la
organización y lleva a cabo sus procesos.
 Para cumplir los requisitos contractuales de uno o más clientes.

 SCAMPI (Standard CMMI Appraisal Method for Process


Improvement) es el método 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 Hernández - IS2 2.51
Evaluación y Mejora de Procesos - CMMI

• Evaluación (Appraisal)
0. Preparación y 1. Presentación
Consolidación Inicial 4. Presentación del
de Evidencias PIIDB Informe de
Resultados

2. Revisión
Documentación

5. Elaboración de
3. Recomendaciones
Entrevistas
E i de mejora
Entrevistas
Áreas de proceso
Entrevistas
Áreas de las
de proceso
Áreas de proceso

Consolidación de
evidencias y puntuación 6. Planificación
de las practicas del Plan de Mejora

Juan Hernández - IS2 2.52


Evaluación y Mejora de Procesos - CMMI

• Evaluación (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 Hernández - IS2 2.53
Evaluación y Mejora de Procesos - CMMI

• Evaluación (Appraisal). Ejemplo Resultados Nivel 2.

Áreas de Proceso – Perfiles de Metas

Área de Proceso SG1 SG2 SG3 GG2

Gestión de Requisitos
Planificación del Proyecto
Seg imiento y Control del Pro
Seguimiento Proyecto
ecto
Gestión de Acuerdos con Proveedores
Medición y Análisis
A
Aseguramiento
i t de
d lla C
Calidad
lid d
Gestión de la Configuración

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

Juan Hernández - IS2 2.54


Evaluación 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 Hernández - IS2 2.55


Evaluación y Mejora de Procesos – ISO 15504 SPICE

• El estándar ISO/IEC 15504 proporciona:


 Proporciona un marco de trabajo para la evaluación de
procesos software, y
 Establece los requisitos mínimos para realizar una evaluación
que asegure la repetibilidad y consistencia de las valoraciones
obtenidas
 El objetivo de la evaluación del proceso es conocer la capacidad de los
procesos de una organización.
• Frente a CMMI:
 Ventajas:
 Es estándar internacional oficial (alineado con los demás estándares ISO).
 Es más
á completo y versátil.
á
 Desventajas:
 Está menos implantado a nivel industrial (lleva menos años).
años)

Juan Hernández - IS2 2.56


Evaluación y Mejora de Procesos – ISO 15504 SPICE
Modelo de Referencia Marco de Trabajo
de Procesos para la Medición
- Dominio y Alcance - Niveles de Capacidad
- Propósito del Proceso - Atributos
At ib t del
d l Proceso
P
- Resultados del Proceso - Escala de Valoración

Modelo de Evaluación de Procesos


- Alcance
- Indicadores
- Correspondencia
- Interpretación

Entrada Inicial Salida


- Propósito - Fecha
- Alcance
Proceso de Evaluación - Entrada de la Evaluación
- Restricciones - Planificación - Identificación de la Evidencia
- Identidades - Recogida de Datos - Proceso de Evaluación utilizado
- Enfoque - Validación de Datos - Perfiles de Proceso
- Criterios de Competencia - Valoración de los Atributos del Proceso - Información Adicional
del Evaluador - Generación de Informes
- Información Adicional

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

Juan Hernández - IS2 2.57


Evaluación y Mejora de Procesos – ISO 15504 SPICE

2 Dimensiones: Proceso y Capacidad

Juan Hernández - IS2 2.58


Evaluación y Mejora de Procesos – ISO 15504 SPICE

Modelo de Referencia de Procesos según ISO 12207

Juan Hernández - IS2 2.59


Evaluación y Mejora de Procesos – ISO 15504 SPICE

Modelo de Referencia de Capacidad

Juan Hernández - IS2 2.60


Evaluación y Mejora de Procesos – ISO 15504 SPICE

Contextos de Mejora
y Capacidad

Juan Hernández - IS2 2.61


Evaluación y Mejora de Procesos – ISO 15504 SPICE

Modelo de Evaluación

Juan Hernández - IS2 2.62


Evaluación y Mejora de Procesos – ISO 15504 SPICE

Resultados de la Evaluación (Assessed Capability)

Juan Hernández - IS2 2.63


Evaluación y Mejora de Procesos – ISO 15504 SPICE

Etapas en la Mejora Continua de Procesos

Juan Hernández - IS2 2.64


Evaluación y Mejora de Procesos – PSP Y TSP

• Tanto CMMI como ISO 15504 son marcos ideados para


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

Juan Hernández - IS2 2.65


Evaluación y Mejora de Procesos – PSP Y TSP

• PSP (Personal Software Process)


Humprey,
p y, W.S. (2001):
( ) Introducción 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


Cíclico
Desarrollo Cíclico

PSP 2
PSP 2.1
Revisión Diseño
Revisión Código Plantillas de Diseño

Gestión Personal de la Calidad


PSP 1
PSP 1.1
Estimación Tamaño
Informe Pruebas Planificación de Tareas
Ta eas
Planificación de Calendario

Gestión Personal del Proyecto


PSP 0
Medidas Base del
PSP 0.1
Estándar
stá da de Codificación
Cod cac ó
P
Proceso Actual
A t l
Mejora del Proceso
Tamaño
Medición Línea Base del
Proceso Personal
Juan Hernández - IS2 2.66
Evaluación y Mejora de Procesos – PSP Y TSP

• PSP utiliza tres medidas base:


 Tiempo de
d desarrollo,
d ll defectos
d f y tamaño.
ñ
 Todas las demás medidas son derivadas de las anteriores.

Ejemplo de formulario: registro de tiempos

Juan Hernández - IS2 2.67


Evaluación 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 Hernández - IS2 2.68


Medición del Software - Introducción

“Cuando puedas medir lo que estás


diciendo y expresarlo
p en números,, “Lo
Lo que no sea medible,
sabrás algo acerca de eso; pero hazlo medible.”
cuando no puedes medirlo, cuando no Galileo Galilei
puedes expresarlo en números, tus
conocimientos serán 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 fácilmente. No todo lo que
puede medirse importa realmente.”
realmente ”
Albert Einstein
Juan Hernández - IS2 2.69
Medición del Software - Introducción
• Las medidas (o métricas) son un buen medio para entender,
supervisar, controlar, predecir y probar durante los proyectos de
desarrollo y mantenimiento de software.
• En general, la medición 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?
Medición Resultado
R lt d de
d
Conjunto de operaciones que la Medición
Entidad permite obtener el valor del Categoría o número
ej: Sw, Proyecto, Atributo resultado de la medición para
un atributo de una entidad,
asignado a un atributo de
una entidad como resultado
Programador… usando una forma de medir. de una medición.
ej: Acción de usar la forma de medir ej: 35.000 líneas de código, 200
“contar el número de líneas de páginas, 50 clases, 5 meses
código” para obtener el resultado de desde el comienzo al fin del
la medición del atributo “tamaño” de proyecto, 0.5 fallos por cada
la entidad “módulo nominas.c” 1000 líneas de código

Juan Hernández - IS2 2.70


Medición del Software – Tipos y Formas de Medir
Medida 1..*
(from Medidas Software)

Necesidad de Información
(from Caracterización 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
Método de Medición Función de Cálculo Modelo de Análisis 0..*

1..*
usa

1..*
Forma de Medir
(from Acción de Medir)
Criterio de Decisión

Juan Hernández - IS2 2.71


Medición del Software – Definiciones [SW MEASUREMENT ONTOLOGY]

Concepto Definición Ejemplo


Una propiedad mensurable, física o abstracta,
Atributo que comparten todas las entidades de una Tamaño de código fuente.
cierta categoría de entidad.
LLa medida
did “líneas
“lí d código”
de ódi ” pueded
Medida Una forma de medir y una escala de medición. ser definida para realizar mediciones
(Métrica) del “tamaño” de un módulo en C.

LCF (líneas de código 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 método de medición
unidades monetarias).

Una medida que es derivada de otra medida HPT (horas-programador totales, que
Medida base o derivada, utilizando una función de es la sumatoria de las HPD de cada
Derivada cálculo como forma de medir. día).

Indicador Una medida que es derivada de otras medidas PROD (productividad de los
utilizando un modelo de análisis como forma programadores).
de medir. CAR (carestía del proyecto)

Juan Hernández - IS2 2.72


Medición del Software – Definiciones [SW MEASUREMENT ONTOLOGY]

Concepto Definición Ejemplo


Una forma de medir puede ser un
Secuencia de operaciones cuyo objeto es
Forma de método de medición, una función
determinar el valor del resultado de la
Medir medición.
de cálculo o un modelo de
análisis.
La forma de medir una medida base. Contar líneas de código.
Secuencia lógica de operaciones, descritas de
Método de forma genérica, usadas para realizar Anotar cada día las horas
Medición p
mediciones de un atributo respecto de una dedicadas por los programadores
escala específica. al proyecto.

La forma de medir una medida derivada.


Función de para combinar C
Algoritmo
g o cálculo realizado p CTP = C
CHP * HPT.
Cálculo dos o más medidas base y/o derivadas

La forma de medir un indicador. Algoritmo o


Modelo
ode o de cálculo realizado p
para combinar una o más
Análisis medidas (base, derivadas o indicadores) con
criterios de decisión asociados.

Juan Hernández - IS2 2.73


Medición del Software – Proceso de Medición ISO/IEC 15939

Practical Software Measurement (PSM)

emplean

ISO/IEC 15939, Proceso de Medición Software

CMMI
GQM
(Goal Question
Estándares ISO/IEC SC7
Medición y Análisis
12207 (revisión- procesos de soporte)
Metric)
15288 (C
(Conceptos
t d de medición)
di ió )

9126 (terminología coordinada)

Estándares y 14598 (terminología coordinada)


Metodologías
ISO 90003:2004 (objetivos)

Juan Hernández - IS2 2.74


Medición del Software – Proceso de Medición ISO/IEC 15939

Requerimientos de Medición

PROCESOS TÉCNICOS Y DE GESTIÓN

Necesidades Realimentación
d
de Productos
P d t de los usuarios
Información Informativos

Núcleo del Proceso de medición


Establecer y
Mantener el Planificar el Realizar las
Evaluación
compromiso de proceso mediciones Productos
medición Información de
Compromiso Informativos
planificación
y
Resultados de
Medidas

Base de experiencias de Medición


Productos Informativos
y Resultados de evaluación
acciones de mejora
Ámbito de ISO/IEC
15939

Juan Hernández - IS2 2.75


Medición del Software - GQM
• Principio básico: la medición debe ser realizada, siempre, orientada a
un objetivo.
• GQM define un objetivo, refina este objetivo en preguntas y define
medidas/métricas que intentan dar información para responder a estas
preguntas.
preguntas

C
Conceptual
t l Objetivo
Definición

Modelos
Implícitos
p Preguntas
g

Operacional
P1 P2 P3 P4

Cuantitativo M1 M2 M3 M4 M5 M6 M7
Interpretación Métricas
Juan Hernández - IS2 2.76
Medición del Software - GQM

• Fases GQM:

Logro
g de
Objetivo
Objetivo

Pregunta Respuesta

Plan del
Proyecto Métrica Medición
Definición Interpretación

Datos Recogidos

Planificación Recogida de Datos

Juan Hernández - IS2 2.77


Medición del Software - GQM

• Ejemplo - Medida para BBDD Relacionales:


 Objetivo GQM
 Analizar BBDD Relacionales
 Con el propósito de Asegurar
 Con respecto a la Mantenibilidad
 Desde el punto de vista de los Diseñadores de BBDD
 En el contexto de Desarrollo y Mantenimiento de
BBDD
 Preguntas:
 Pregunta
g 1. ¿Cómo influye
y la complejidad
p j de las tablas en la
mantenibilidad de las bases de datos relacionales?
 Pregunta 2. ¿Cómo influye la complejidad entre tablas en la
mantenibilidad de las bases de datos relacionales?

Juan Hernández - IS2 2.78


Medición del Software - GQM

• Ejemplo - Medida para BBDD Relacionales:

 Medidas:
 Pregunta 1
• NA(T) - NÚMERO DE ATRIBUTOS DE UNA TABLA
• NFK(T) - NÚMERO DE CLAVES AJENAS
• RFK(T) - RATIO DE CLAVES AJENAS DE UNA TABLA
NFK ( T )
RFK (T ) 
 Pregunta 2 NA ( T )
• NT - NÚMERO DE TABLAS
• NA - NÚMERO DE ATRIBUTOS
• NFK - NÚMERO DE CLAVES AJENAS (NFK)

Juan Hernández - IS2 2.79


Medición del Software - Medidas

• Tipos de Entidades y Medidas Software

- Objetivo: Proporcionar Indicadores para la


Mejora
j de Procesos
Medidas de - Basada en Análisis 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 Estimación
P
Proyecto
t Proyecto -Estimación Tamaño  Puntos Función
(Albretch,
Albretch, 1979)

- Objetivo: Evaluación de los


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

Juan Hernández - IS2 2.80


Medición del Software - Medidas

• Ejemplos de Medidas Clásicas de Producto:


 LOC ((Líneas de Código
g Fuente)) [[TAMAÑO]]
 Complejidad Ciclomática de McCabe [COMPLEJIDAD]
 V(G) = A – N + 2, siendo A el número de arcos del grafo y N el número de nodos.

• Ejemplos de Medidas para Sistemas OO:


i 1 n Ci
n
 Métodos Ponderados por Clase (WMC) WMC  i

 Profundidad del Árbol de Herencia de una Clase (DIT)


 Número de Hijos (NOC)

WMC(Persona) = 8

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

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

Juan Hernández - IS2 2.81


Medición 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 contraseña : string
nombrebanco : string limite : integer

 Respuesta para una Clase (RFC)


RFC(A)=10
Clase A con cuatro métodos:
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 métodos
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 Hernández - IS2 2.82


Medición del Software – Diagramas de Kiviat
A través de mapas de valores de distintas métricas del producto y sus tolerancias
obtenemos una “foto” del índice de calidad del mismo.

Juan Hernández - IS2 2.83


Gestión 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 demás stakeholders, buscando su
satisfacción y alcanzar la la calidad del software necesaria .
 Instaurar una cultura de calidad en la organización basada en la
responsabilidad de los distintos participantes en el proceso de desarrollo.

• Los principales procesos SQM son:


 Aseguramiento de Calidad (Quality Assurance)
 Verificación (Verification) (Quality Control)
 Validación (Validation)

Juan Hernández - IS2 2.84


Gestión de la Calidad - Sw Quality Assurance (SQA)
• El Plan SQA define los medios que se usarán para asegurar que el
software desarrollado satisface los requisitos de usuario y es de la calidad
más alta posible dentro de las restricciones del proyecto.
 Debe ser consistente con la gestión de la configuración del software.
 Identifica documentos,
documentos estándares,
estándares prácticas y convenciones aplicables en el
proyecto y cómo éste será controlado y supervisado.
 También establece medidas, estadísticas, 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 Hernández - IS2 2.85
Verificación y Validación - Sw Quality Control (SQC)
• Verificación y Validación (VV) es un conjunto de procedimientos,
actividades, técnicas y herramientas que se utilizan, paralelamente al
desarrollo de software, para asegurar que un producto software resuelve
el problema inicialmente planteado.
 Actividades Verificación:
 ¿Estamos construyendo correctamente el producto?
 El software debe ser conforme a su especificación.
 Objetivo: Demostrar la consistencia, compleción
ó y corrección
ó de los
artefactos software entre las fases del ciclo de desarrollo de un
proyecto.
 Técnica más utilizada: Revisiones SW
 Actividades Validación:
 ¿Estamos construyendo el producto correcto?
 El software debe hacer lo que el usuario realmente quiere
 Objetivo: Determinar la corrección del producto final respecto a las
necesidades del usuario.
 Técnica más utilizada: Pruebas SW
Juan Hernández - IS2 2.86
Verificación y Validación – Tipos Revisiones
• Revisiones informales:
 No hayy pprocedimientos definidos,, ppor lo qque la revisión se realiza de la forma más
flexible posible.
 Ventajas  menor coste y esfuerzo, preparación corta, etc.
 Desventajas
j  Detectan menos defectos
• Revisiones semi-formales: Se definen unos procedimientos mínimos 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 Técnicas o de Gestión

Gestión Técnicas
• Estudiar el progreso del proyecto y la realización de • El producto se ajusta a sus especificaciones.
actividades según el plan • El desarrollo (o mantenimiento) del producto intermedio
• Adecuación del enfoque de gestión del proyecto para se está realizando de acuerdo a los planes, estándares y
lograr sus objetivos. guías aplicables al proyecto.
• Ayudar a las decisiones de cambios de gestión en el • Los cambios en el producto se realizan adecuadamente y
proyecto afectan sólo a aquellas áreas identificadas por la
• Confirmar los requisitos y su asignación en el sistema especificación de cambios
• •
Juan Hernández - IS2 2.87
Verificación y Validación - Inspecciones

• Inspecciones, ¿qué son?


 Orientadas a la detección 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 estándares utilizados en la
empresa.
 Señalar las desviaciones sobre los estándares y las especificaciones.
 Recopilar datos que realimenten inspecciones posteriores (defectos
recogidos, esfuerzo empleado, etc.) y ayudar a su utilización práctica.
 No pretende examinar alternativas o aspectos de estilo.

Juan Hernández - IS2 2.88


Verificación y Validación - Inspecciones
• Inspecciones. Flujo de Trabajo y Roles.
Producto
P d a
revisar
PLANIFICACIÓN VISIÓN GENERAL
(Opcional)
Criterios de entrada
y salida

Documentos de soporte
(estándares, guías y procedimientos)

Notificación de la PREPARACIÓN
inspección
Lista de defectos
Roles Función Lista de comprobación
Jefe del Responsable de las actividades
Proyecto administrativas

Elegido por el jefe de proyecto para el A d


Agenda
Coordinador REUNIÓN CORRECCIÓN
aseguramiento de la calidad

Comprueba que se siguen los


Moderador
procedimientos de la inspección Resumen Informe de
inspección
Responsable de corregir los errores
de defectos
Autor
que se detecten

Lector Guía al resto del equipo


SEGUIMIENTO
Inspector Detecta defectos

Anota y clasifica los defectos


Secretario
encontrados Producto
aceptado

Juan Hernández - IS2 2.89


Verificación y Validación - Inspecciones

• Inspecciones. Informes.
 Proporcionan información del progreso o resultados de la inspección
 Estructura:
 Notificación de la reunión de inspección
p  Anuncio formal
 Lista de Defectos  Registro detallado de cada defecto descubierto
• Localización
• Descripción  Problema
• Clasificación
 Informe Resumen de Defectos
 Informe de Inspección

Juan Hernández - IS2 2.90


Verificación y Validación - Inspecciones

• Inspecciones. Checklist de Comprobación.


LISTA DE COMPROBACIÓN
Ó PARA LA REVISIÓN
Ó DE
UNA ERS
LISTA DE COMPROBACIÓN PARA LA REVISIÓN DE
Organización y compleción
¿Son correctas las referencias cruzadas a otros requisitos?
UN MODELO DE CASOS DE USO
¿Están
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
Descomposición en paquetes
apropiado de detalle?
¿Está definido un nombre único por cada paquete y existe una descripción

breve?
Corrección
El nombre del paquete ¿es claro y fácilmente entendible?
¿Hay algún 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?
¿Están definidos todos los actores del sistema?

¿Es correcta la definición de cada actor (cada actor define un único rol)?
Atributos de Calidad

¿Están especificados correctamente todos los requisitos de rendimiento?
Casos de Uso
¿Están correctamente especificadas todas las consideraciones de
¿Están 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 fácilmente 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 más 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 descripción clara?
¿No se incluyen como requisitos funcionales soluciones de diseño o
¿Son correctas las relaciones entre casos de uso (uses, extends)?
implementación?
¿Son correctas las relaciones de los actores con los casos de uso?
¿Están identificadas las funciones críticas en tiempo y especificados los
criterios de tiempo de las mismas?

Juan Hernández - IS2 2.91


Verificación y Validación - Walkthroughs
 Buscar defectos, omisiones y contradicciones.
 Mejorar el producto.
 Evaluar conformidad con estándares o normas.
 Considerar posibles soluciones y alternativas a los problemas encontrados.
INSPECCIÓN WALKTHROUGH

Detección de defectos.
Comentarios sobre el estilo.
Objetivo Detección de defectos.
Búsqueda de soluciones.
Intercambio de conocimientos.
conocimientos
Formalidad Formal. Informal o Semiformal.
Personas de distinto nivel
Personas del mismo nivel del equipo de
Composición del equipo jerárquico, que pueden pertenecer
desarrollo
desarrollo.
además a otros proyectos.
Papeles definidos de los
Sí. No.
participantes
Utilización de listas de
Si
Siempre. A veces.
comprobación

Clasificación de defectos Sí. No.

Análisis de resultados para



Sí. No
No.
realimentar nuevas revisiones

Juan Hernández - IS2 2.92


Verificación y Validación - Auditorías

• Auditorías:
 Auditoría funcional (AFU):
 Es un examen sobre el software justo antes de su entrega  Verificar
que cumple todos los requisitos definidos en la ERS.
 Auditoría física (AFI):
 Es un examen que se realiza para verificar que el software y su
documentación son consistentes y están preparados para su entrega.
 Auditoría durante el proceso de desarrollo (AP):
 Se realiza para verificar la consistencia del diseño, que incluye el análisis
de:
• Código frente a la documentación de diseño.
• Especificaciones de interfaz (software y hardware).
• Implementaciones de diseño frente a los requisitos funcionales.
• Requisitos funcionales frente a las descripciones de pruebas.

Juan Hernández - IS2 2.93


Verificación y Validación - Auditorías

• Auditorías vs Revisiones:
ATRIBUTO REVISIONES AUDITORÍAS
MECANISMO Las reuniones. Mezcla de reuniones,, observaciones
y exámenes.
RESPONSABILIDAD Generalmente Realizada por un grupo personas
compartida entre un que no suelen pertenecer a la
grupo de personas organización, en el que sobresale la
pertenecientes a la figura central del "auditor".
organización.
DURACIÓN
Ó Corta: unas pocas horas. De media a larga: de días a meses.

ANIDAMIENTO Las reuniones pueden Puede incluir otras auditorías,


tener múltiples sesiones
sesiones. revisiones e incluso
revisiones, incluso, algunas
pruebas periódicas.

FRECUENCIA Depende de la fase del Periódica.


ciclo
i l dde vida.
id

Juan Hernández - IS2 2.94


APÉNDICE A – Conceptos ISO 9000:2005
Términos relativos a la Calidad

Juan Hernández - IS2 2.95


APÉNDICE A – Conceptos ISO 9000:2005
Términos relativos a la Gestión (i)

Juan Hernández - IS2 2.96


APÉNDICE A – Conceptos ISO 9000:2005

Términos relativos a la Gestión (ii)

Juan Hernández - IS2 2.97


APÉNDICE A – Conceptos ISO 9000:2005

Términos relativos a la Organización

Juan Hernández - IS2 2.98


APÉNDICE A – Conceptos ISO 9000:2005

Términos relativos al Proceso y al Producto

Juan Hernández - IS2 2.99


APÉNDICE A – Conceptos ISO 9000:2005

Términos relativos a las Características

Juan Hernández - IS2 2.100


APÉNDICE A – Conceptos ISO 9000:2005
Términos relativos a la Conformidad (i)

Juan Hernández - IS2 2.101


APÉNDICE A – Conceptos ISO 9000:2005

Términos relativos a la Conformidad (ii)

Juan Hernández - IS2 2.102


APÉNDICE A – Conceptos ISO 9000:2005

Términos relativos a la Documentación

Juan Hernández - IS2 2.103


APÉNDICE A – Conceptos ISO 9000:2005
Términos relativos al Examen

Juan Hernández - IS2 2.104


APÉNDICE A – Conceptos ISO 9000:2005
Términos relativos a la Auditoría

Juan Hernández - IS2 2.105


APÉNDICE A – Conceptos ISO 9000:2005
Términos relativos al Aseguramiento de la Calidad para los
Procesos de Medición

Juan Hernández - IS2 2.106


APÉNDICE B Otras Técnicas de Verificación y Validación
 Análisis de algoritmos
 Verificar la funcionalidad de los algoritmos
g y recoger
g estadísticas sobre el
consumo de recursos en tiempo de ejecución.

 A áli i de
Análisis d simulación
i l ió
 Proporcionar una evaluación del rendimiento y la información necesaria
para planificar la capacidad de un sistema durante su diseño.

 Auditores de código
 Examinar el código fuente y determinar automáticamente si se siguen los
estándares y prácticas de programación descritos previamente.

Juan Hernández - IS2 2.107


APÉNDICE B Otras Técnicas de Verificación y Validación
 Generadores de referencias cruzadas
 Producir listas de nombres de variables, procedimientos, etiquetas, etc.
determinando su ubicación 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 ejecución de un programa.

 A li d
Analizadores y estimadores
ti d de
d tiempos
ti de
d ejecución
j ió
 Proporcionar información sobre la ejecución de un programa (tiempo de
ejecución, consumo de CPU, etc.)

 Comprobación de interfaces
 Analizar la consistencia y la compleción de los flujos de información y de control
entre los módulos de un sistema
sistema.

Juan Hernández - IS2 2.108


APÉNDICE B Otras Técnicas de Verificación y Validación
 Análisis de requisitos
 Buscar errores sintácticos,, inconsistencias lógicas
g o ambigüedades
g
entre las entradas del sistema, sus salidas, procesos y datos.

 A áli i de
Análisis d trazabilidad
t bilid d de
d requisitos
i it
 Verificar que cada requisito del sistema está incluido en algún
elemento software.
 Garantizar que las pruebas que se realizan sobre dicho software
permiten comprobar que se satisfacen los requisitos.

 Monitores de software
 Supervisar la ejecución de un programa para localizar posibles áreas
ineficientes. Al finalizar la ejecución, el monitor genera informes que
describen la utilización de los recursos del programa.

Juan Hernández - IS2 2.109


APÉNDICE C Lista de Defectos de Inspecciones

• Clasificación: Factor de Calidad, Tipo, Clase, Gravedad.

TIPO DE DESCRIPCIÓN
DEFECTO
Cumplimiento de Desviación sobre los estándares que debe seguir el producto.
estándares
Factores humanos Procedimientos operativos incorrectos.
Documentación Descripciones inadecuadas de algún componente (por ejemplo,
comentarios incorrectos).
Funcionalidad Defectos en la especificación de las funciones de un
componente.
Interfaz Defectos en la comunicación entre componentes del software
(por ejemplo, llamadas incorrectas de los módulos, paso de
datos incorrectos entre módulos).
Datos Defectos en la especificación de los datos (por ejemplo,
declaraciones, inicializaciones o descripciones de datos
i
incorrectas).
)

Juan Hernández - IS2 2.110


APÉNDICE C Lista de Defectos de Inspecciones

• Clasificación: Factor de Calidad, Tipo, Clase, Gravedad.

TIPO DE DEFECTO DESCRIPCIÓN


Lógico Defectos en la lógica de control de un módulo (por ejemplo, límites
d los
de l bucles
b l incorrectos).
i t )
Entrada/Salida Defectos en la comunicación con dispositivos.

Sintaxis Defectos
e ectos ggramaticales.
a at ca es.

Casos de prueba Especificaciones incompletas de una condición de prueba o una


desviación del plan de pruebas.
Entorno de pruebas Defectos
D f en la
l definición
d fi i ió o especificación
ifi ió software
f o hardware
h d d
de
pruebas, nivel de seguridad, etc.
Plan de pruebas Defectos en la definición o especificación del alcance de las pruebas.

Ejecución Falta de la eficiencia de ejecución prevista.

Juan Hernández - IS2 2.111

También podría gustarte