Sie sind auf Seite 1von 19

Modelos iniciales

Calidad en el Desarrollo de Software


Modelos de calidad de software
Pablo R. Fillottrani
Depto. Ciencias e Ingeniera de la Computacin
Universidad Nacional del Sur
Segundo Cuatrimestre 2007
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Medicin de calidad de software
la calidad, al igual que la belleza, est en el ojo de quien lo mira
sin embargo, desde el punto de vista de medicin, se debe tener
una denicin precisa en trminos de atributos del software que
sean de inters al usuario
en general, stos son atributos externos
sin embargo, muchas propuestas miden y analizan atributos
internos porque los consideran predictores de aquellos externos
los atributos internos tienen dos ventajas:
estn disponibles para medicin ms temprano
son ms fciles de medir
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Modelos iniciales de calidad
desde el principio de la ingeniera de software, se observ que la
calidad est compuesta por una composicin de muchas
caractersticas
un modelo de calidad describe entonces estas caractersticas y
sus relaciones
muchos modelos hacen difusa la distincin entre atributos
internos y externos, lo que diculta la comprensin del concepto
de calidad
los modelos que se presentarn a continuacin son los que han
ganado mayor popularidad en la comunidad, pero no tienen
sustento cientco
extrayendo los factores comunes a todos ellos, es posible derivar
modelos propios adaptados a usos especcos
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Modelo de McCall
el modelo de McCall fue el primero en ser presentado en 1977, y
se origin motivado por US Air Force y DoD
se focaliza en el producto nal, identicando atributos claves
desde el punto de vista del usuario
estos atributos se denominan factores de calidad y son
normalmentes atributos externos
pero tambin se incluyen algunos atributos posiblementes
internos
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Modelo de McCall
los factores de calidad son demasiados abstractos para ser
medidos directamente, por lo que por cada uno de ellos se
introduce atributos de bajo nivel denominados criterios de calidad
algunos criterios de calidad son atributos internos, reejando la
creencia de McCall que el atributo interno tiene un efecto directo
en el atributo externo correspondiente
un nivel ms de descomposicin es necesario, mapeando cada
criterio de calidad en un conjunto de mtricas de calidad que son
atributos (tanto del producto como del proceso) de muy bajo
nivel, medibles directamente
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Factores de calidad
McCall propone tres perspectivas para agrupar los factores de
calidad
revisin del producto habilidad para ser cambiado
transicin del producto adaptabilidad al nuevo ambiente
operacin del producto caractersticas de operacin
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Factores de calidad de revisin
la revisin del producto incluye los siguientes factores de calidad:
mantenibilidad esfuerzo requerido para localizar y corregir fallas
exibilidad facilidad de realizar cambios
testeabilidad facilidad para realizar el testing, para asegurarse
que el producto no tiene errores y cumple con la especicacin
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Factores de calidad de transicin
la transicin del producto incluye los siguientes factores de
calidad:
portabilidad esfuerzo requerido para transferir entre distintos
ambientes de operacin
reusabilidad facilidad de reusar el software en diferentes contextos
interoperabilidad esfuerzo requerido para acoplar el producto con
otros sistemas
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Factores de calidad de operacin
la operacin del producto incluye los siguientes factores de
calidad:
correctitud el grado en el que el producto cumple con su
especicacin
conabilidad la habilidad del producto de responder ante
situaciones no esperadas
eciencia el uso de los recursos tales como tiempo de ejecucin y
memoria de ejecucin
integridad proteccin del programa y sus datos de accesos no
autorizados
usabilidad facilidad de operacin del producto por parte de los
usuarios
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor mantenibilidad
segn McCall el factor mantenibilidad incluye los siguientes
criterios:
consistencia
simplicidad
concisidad
auto-descripcin
modularidad
pero la mantenibilidad ha cambiado bastante desde 1977;
encontrar y corregir errores es slo un aspecto ms
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor mantenibilidad
Ghezzi la divide en tres categoras:
correctiva concerniente a remover pequeas fallas remanentes
despus del testeo
adaptativa concerniente al cambio del producto necesario por el
cambio de sus requerimientos
perfectiva busca solo mejorar los algoritmos usados para hacerlos
ms ecientes
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor mantenibilidad
mantenibilidad est muy inuenciado por el uso de buenas
prcticas a lo largo de todo el ciclo de desarrollo
algunas de estas buenas prcticas son:
seguir una metodologa bien denida
usar buenas tcnicas de diseo, tanto de procedimientos como
de datos, para aumentar cohesin y reducir acoplamiento
observar la documentacin interna
usar buenas prcticas de programacin: nombres signicativos,
cdigo legible, etc
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor exibilidad
segn McCall el factor exibilidad incluye los siguientes criterios:
expandibilidad
generalidad
auto-descripcin
modularidad
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor exibilidad
con el correr de los aos este criterio se ha fusionado con
mantenibilidad
de hecho, en la denicin original, dos de los criterios de
exibilidad estaban compartidos con mantenibilidad
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor testeabilidad
segn McCall el factor testeabilidad incluye los siguientes
criterios:
simplicidad
instrumentacin
dado su ubicacin en tradicionales modelos de ciclo de vida de
software, la facilidad de testing se dene claramente como un
criterio de calidad
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor testeabilidad
ISO 9000-3 divide el testeo en cuatro etapas
testeo de unidad se testea los componentes individuales,
generalmente realizado por los programadores
testeo de integracin se testean los mdulos compuestos por
diversos componentes
testeo de sistema se testea el sistema completo tal como lo
usara un usuario normal, pero sin su presencia
testeo de aceptacin el usuario ejecuta el sistema completo para
asegurarse que cumpla con los requerimientos. Tambin llamado
alpha testing
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor testeabilidad
el testeo interactua con otros criterios de calidad, por ejemplo
correctitud y eciencia
debe ser llevado a cabo siguiendo planes pre-denidos, con
datos conocidos y cuyos resultados sean predeterminados
la testeabilidad puede ser maximizada usando herramientas
automticas, buenas estrategias de cohesin y de diseo, y
buenas prcticas de programacin
McCall deni originalmente mtricas para testeabilidad
consistentes en una matriz de com plejidad que involucra nmero
y tamao de mdulos, tamao de procedimientos, profundidad
de anidamiento, nmero de errores por unidad de tiempo, etc.
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor portabilidad
segn McCall el factor testeabilidad incluye los siguientes
criterios:
auto-descripcin
modularidad
independencia de la mquina
independencia del sistema operativo
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor portabilidad
algunos autores (Sommerville) lo consideran parte de la
reusabilidad
se favorece mediante el seguimiento de estndares, tanto de
procedimientos (X Windows) como de datos (XML)
la existencia de compiladores cruzados favorece la portabilidad
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor reusabilidad
segn McCall el factor reusabilidad incluye los siguientes
criterios:
generalidad
modularidad
auto-descripcin
independencia de la mquina
independencia del sistema operativo
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor reusabilidad
se puede favorecer la reusabilidad usando libreras de software,
y tcnicas de programacin orientada a objetos
hay que tener en cuenta que el desarrollo de cdigo reusable
cuesta ms tiempo y dinero
existe un factor econmico difcil de medir: el costo de cdigo
reusable y la ganancia por reusar cdigo ya desarrollado
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor interoperabilidad
segn McCall el factor interoperabilidad incluye los siguientes
criterios:
modularidad
interoperabilidad en comunicacin
interoperabilidad en datos
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor interoperabilidad
la interoperabilidad est relacionada con la reusabilidad
en la actualidad su importancia ha crecido debido al creciente
inters de conectarse con sistemas legacy
se favorece mediante la adopcin de estndares
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor correctitud
segn McCall el factor correctitud incluye los siguientes criterios:
trazabilidad
completitud
consistencia
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor correctitud
correctitud es un factor muy difcil de identicar debido a la falta
de terminologa estndar
se lo pueden confundir con otros factores, tales como
conabilidad e integridad
para medirlo es necesario tener disponible una especicacin
formal de los requerimientos, cosa muy rara salvo en proyecto de
alto presupuesto y sistemas crticos
las tcnicas para vericarlo pueden ser: inspecciones de cdigo,
vericacin matemtica y analizadores estticos de programas
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor conabilidad
segn McCall el factor conabilidad incluye los siguientes
criterios:
tolerancia a errores
consistencia
simplicidad
exactitud
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor conabilidad
combina la tolerancia tanto a errores de hardware como de
software
tcnica de programacin tales como tolerancia a las fallas,
manejo de excepciones y programacin defensiva ayudan
puede ser medido con medidas como
tiempo medio entre fallas
tiempo medio antes de mantenimiento
tiempo medio antes de recuperacin
probabilidad de falla
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor eciencia
segn McCall el factor eciencia incluye los siguientes criterios:
eciencia en tiempo
eciencia en espacio
muchas tcnicas favorecen este factor: el lenguaje de
programacin, el sistema operativo, optimizacin de algoritmos,
normalizacin de datos
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor integridad
segn McCall el factor integridad incluye los siguientes criterios:
control de acceso
auditora de acceso
involucra tanto evitar el acceso malintencionado, asi como los
daos causados por errores involuntarios de usuarios
autorizados
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor usabilidad
segn McCall el factor usabilidad incluye los siguientes criterios:
operabilidad
entrenamiento
comunicacin
volumen de E/S
tasa de E/S
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Criterios de calidad: factor usabilidad
la usabilidad ha cambiado mucho desde la poca de McCall
incluye aspectos tales como adaptabilidad, aprendizaje,
adecuacin al contexto
algunos autores consideran por ejemplo que facilidad de
aprendizaje es un factor de calidad independiente
se puede subdividir en
ergonoma general el equipo es adecuado para el uso previsto
ergonoma de software estilos de dilogoes, metforas, diseo de
pantallas, etc
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Mtricas de calidad
la medicin de cualquiera de estos factores est denida en este
modelo en base a 41 mtricas
para cada criterio existe una lista de condiciones que se deben
cumplir en distintas etapas: requerimientos (R), diseo (D),
implementacin (I)
se cuentan las condiciones que se satisfacen en cada una de las
etapas, sobre el total posible
eso da una medida del criterio, que se pondera en partes iguales
para medir el factor con los otros criterios asociados al factor
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Mtricas de calidad: ejemplo
para medir el criterio completitud del factor correctitud McCall
sugiere las siguientes condiciones:
1
referencias no ambiguas [R,D,I]
2
referencias a datos bien denidas, o externas [R,D,I]
3
todas las funciones denidas son usadas [R,D,I]
4
todas las condiciones y procesamientos estn denidos para
cada punto de decisin [R,D,I]
5
todos los parmetros formales y actuales coinciden [D,I]
6
todos los reportes de problemas han sido resueltos [R,D,I]
7
el diseo concuerda con los requerimientos [D]
8
el cdigo concuerda con el diseo [I]
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Mtricas de calidad: ejemplo
entonces se cuentan la cantidad de s en cada etapa, resultando
en la mtrica de completitud:
(
s en R
6
+
s en D
8
+
s en I
8
)/3
luego la correctitud se mide como la media entre las medidas de
sus criterios
(completitud +trazabilidad +consistencia)
3
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Modelo de Boehm
el segundo modelo de calidad ms conocido es el presentado
por Barry Boehm en 1978
este modelo introduce caractersticas de alto nivel,
caractersticas de nivel intermedio y caractersticas primitivas,
cada una de las cuales contribuye al nivel general de calidad
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Caractersticas de alto nivel
las caractersticas de alto nivel representan requerimientos
generales de uso
pueden ser:
utilidad per-se cuan (usable, conable, eciente) es el producto en
s mismo
mantenibilidad cuan fcil es modicarlo, entenderlos y retestearlo
utilidad general si puede seguir usndose si se cambia el
ambiente
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Caractersticas de nivel intermedio
las caractersticas de nivel intermedio representan los factores de
calidad de Boehm:
portabilidad (utilidad general)
conabilidad (utilidad per-se)
eciencia (utilidad per-se)
usabilidad (utilidad per-se)
testeabilidad (mantenibilidad)
facilidad de entendimiento (mantenibilidad)
modicabilidad o exibilidad (mantenibilidad)
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Caractersticas primitivas
el nivel ms bajo corresponde a caractersticas directamente
asociadas a una o dos mtricas de calidad
de portabilidad
independencia de dispositivos
auto-contencin
de conabilidad:
auto-contencin
exactitud
completitud
consistencia
robustez/integridad
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Caractersticas primitivas
de eciencia
accesibilidad
eciencia de uso de dispositivos
de usabilidad
robustez/integridad
accesibilidad
comunicacin
de testeabilidad
comunicacin
auto descripcin
estructuracin
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Caractersticas primitivas
de entendibilidad
consistencia
estructuracin
concisidad
legibilidad
de modicabilidad
estructuracin
aumentabilidad
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Comparacin de modelos McCall-Boehm
aunque parezcan similares, la diferencia est en que McCall
focaliza en medidas precisas de alto nivel, mientras que Boehm
presenta un rango ms amplio de caractersticas primarias
la mantenibilidad est ms desarrollada en Boehm
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Comparacin de modelos McCall-Boehm
Criterio McCall Boehm Criterio McCall Boehm
correctitud + + conabilidad + +
integridad + + usabilidad + +
eciencia + + mantenim. + +
testeabilidad + interoperab. +
exibilidad + + reusabilidad + +
portabilidad + + claridad +
modicab. + document. +
entendib. + validez +
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Evaluacin de los modelos de McCall y Boehm
estos modelos tienen sus lmites:
es difcil que las caractersticas y subcaractersticas sean siempre
perfectamente independientes
falta una asociacin explcita entre los modelos y el proceso de
software, ie cmo realizar software de calidad
las caractersticas son en general propiedades abstractas medible
mediante mtricas. No siempre existe una relacin perfectamente
lineal entre los valores de las mtricas y las caractersticas que
deben estimar
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Modelos ad-hoc
para monitorear la calidad de software, se pueden tomar dos
caminos:
adoptar un modelo jo se supone que todos los factores de
calidad importantes son un subconjunto de los de un modelo
publicado; se acepta el conjunto de criterios y mtricas asociados
al modelo
desarrollar un modelo propio de calidad se acepta que la calidad
est compuesta por varios atributos, pero no se adopta lo
impuesto por modelos existentes
en este ltimo caso, se debe consensuar el modelo con los
clientes antes de empezar el proyecto
se deciden cules atributos son importantes para el producto, y
cules medidas especcas los componen
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Modelos ad-hoc
Gilb y Kitchenham-Walker fueron los pioneros en la losofa de
calidad evolutiva
Gilb propone la identicacin de medidas objetivas de calidad, en
complemento con su losofa de desarrollo evolutivo
el producto es entregado incrementalmente al cliente, basado en
la importancia de las diferentes funcionalidades
la propuesta COQUAMO de Kitchenham y Walker extiende las
ideas de Gilb con el soporte de herramientas automticas
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Normas ISO para el software
la ISO ha emitido algunas normas que denen un modelo de
calidad del software, en varios contextos de uso
ISO 9126-1 - dene 6 caractersticas de calidad principales, y 27
subcaractersticas. Incluye 3 reportes tcnicos (ISO/IEC 9126-2, 3
e 4)
ISO/IEC 9241 - dene las caractersticas de un software usable
ISO 12119 - dene las caractersticas de calidad para un software
COTS (Commercial off the shelf)
la ISO tambin ha publicado la norma 14598 que gua en el
proceso de valoracin de la calidad del software segn los
criterios de la 9126
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Introduccin al modelo ISO 9126
durante muchos aos se busc en la Ingeniera de Software un
modelo nico para expresar calidad
la ventaja era obvia: poder comparar productos entre s
en 1992, una variante del modelo de McCall fue propuesta como
estndar internacional para medicin de calidad de software
ISO 9126 Software Product Evaluation: Quality Characteristics
and Guidelines for their Use es el nombre formal
la ltima revisin ha sido realizada en el 2004; est en proceso
de una nueva revisin
no se preveen certicados de calidad por esta norma
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
La calidad en el ciclo de vida del software
el foco en la calidad cambia durante el ciclo de vida:
al principio, durante la recopilacin de requerimientos y anlisis, la
calidad es especicada por los requisitos del usuarios, sobre todo
desde el punto de vista externo
en la fase de diseo e implementacin, la calidad externa se
traduce en un diso tcnico, confrontndose con el punto de vista
de los desarrolladores sobre la calidad interna y
complementandose con los requisitos implcitos que el software
debe cumplir
la calidad nal (la del uso) debe ser apropiada para los usuarios y
el contexto de uso
no existe una calidad perfecta o absoluta. Existe solamente una
calidad necesaria y suciente para un dado contexto
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Caractersticas de calidad internas y externas
en ISO 9126 se reconocen seis factores de calidad que se
pueden considerar tanto internos como externos
funcionalidad
conabilidad
eciencia
usabilidad
mantenibilidad
portabilidad
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Caractersticas de calidad y puntos de vista
Usuario Desarrollador Administr. Comisionista
funcion. alta baja baja media
conab. media media alta media
usabil. alta baja media media
eciencia media media alta media
mantenib. baja alta media media
portab. media alta alta media
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Caractersticas de calidad de uso
en ISO 9126 se reconocen cuatro factores de calidad de uso:
ecacia
productividad
seguridad
satisfaccin
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Subcaractersticas de calidad
se pretende que estas caractersticas sean comprensivas, es
decir cualquier componente de la calidad de software se puede
describir como combinacin de aspectos de estos factores
a su vez estas caractersticas incluyen un conjunto de
subcaractersticas que pueden ser renado mediante mltiples
niveles
ISO 9126 tambin dene un proceso para evaluar la calidad del
software
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Subcaractersticas de funcionalidad
funcionalidad conjunto de atributos que relacionan la existencia
de un conjunto de funciones con sus propiedades especicadas.
Las funciones satisfacen necesidades especicadas o implcitas
adecuacin atributos que determinan si el conjunto de funciones
son apropiadas para las tareas especicadas
exactitud atributos atributos que determinan que los efectos sean
los correctos o los esperados
seguridad atributos que miden la habilidad para prevenir accesos
no autorizados, ya sea accidentales o deliberados, tanto a
programas como a datos
interoperabilidad atributos que miden la habilidad de interactuar
con sistemas especicados
cumplimiento atributos que hacen que el software adhiera a
estndares relacionados con la aplicacin, y convenciones o
regulaciones legales
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Subcaractersticas de conabilidad
conabilidad conjunto de atributos que se relacionan con la
capacidad del software de mantener su nivel de performance
bajo las condiciones establecidas por un perodo de tiempo
madurez atributos que se relacionan con la frecuencia de fallas
por defectos en el software
tolerancia a las fallas atributos que miden la habilidad de
mantener el nivel especicado de performance en caso de fallas
del software
recuperacin atributos que miden la capacidad de reestablecer el
nivel de performance y recuperar datos en caso de falla, y el
tiempo y esfuerzo necesario para ello
cumplimiento idem en funcionalidad
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Subcaractersticas de usabilidad
usabilidad conjunto de atributos que se relacionan con el
esfuerzo necesario para usar, y en la evaluacin individual de tal
uso, por parte de un conjunto especicado o implcito de
usuarios
entendimiento atributos que miden el esfuerzo del usuario en
reconocer el concepto lgico del software y su aplicabilidad
aprendizaje atributos que miden el esfuerzo del usuario en
aprender la aplicacin (control, operacin, entrada, salida)
operabilidad atributos que miden el esfuerzo del usuario en
operarar y controlar el sistema
atractivo
cumplimiento idem funcionalidad
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Subcaractersticas de eciencia
eciencia conjunto de atributos que se relacionan con el nivel de
performance del software y la cantidad de recursos usados, bajo
las condiciones establecidas
en tiempo atributos que miden la respuesta y tiempos de
procesamiento de las funciones
en recursos atributos que miden la cantidad de recursos usados y
la duracin de tal uso en la ejecucin de las funciones
cumplimiento idem funcionalidad
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Subcaractersticas de mantenibilidad
mantenibilidad conjunto de atributos que se relacionan con el
esfuerzo en realizar modicaciones
analizabilidad atributos que miden el esfuerzo necesario para el
diagnstico de deciencias o causas de fallas, o para
identicacin de las partes que deben ser modicadas
facilidad para el cambio atributos que miden el esfuerzo necesario
para realizar modicaciones, remocin de fallas o cambios en el
contexto
estabilidad atributos que se relacionan con el riesgo de efectos no
esperados en las modicaciones
testeabilidad atributos que miden el esfuerzo necesario para
validar el software modcado
cumplimiento idem funcionalidad
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Subcaractersticas de portabilidad
portabilidad conjunto de atributos que se relacionan con la
habilidad del software para ser transferido de un ambiente a otro
adaptabilidad atributos que miden la oportunidad de adaptacin a
diferentes ambientes sin aplicar otras acciones que no sean las
provistas para el propsito del software
instalabilidad atributos que miden el esfuerzo necesario para
instalar el software en el ambiente especicado
conformidad atributos que miden si el software se adhiere a
estndares o convenciones relacionados con portabilidad
reemplazo atributos que se relacionan con la oportunidad y
esfuerzo de usar el software en lugar de otro software en su
ambiente
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Caractersticas de calidad de uso
ecacia capacidad de ayudar al usuario a realizar sus objetivos
con exactitud y completitud, en un dado contexto
productividad capacidad de ayudar al usuario en emplear una
apropiada cantidad de recursos en obtener sus resultados
satisfaccin capacidad de satisfacer un usuario en un dado
contexto de uso
seguridad capacidad de lograr aceptables niveles de riesgo para
las personas, el ambiente de trabajo, y la actividad, en un dado
contexto de uso
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Mtricas de calidad en ISO 9126
ISO 9126 provee 3 conjuntos de mtricas, para medir
respectivamente las caractersticas externas (en ISO 9126-2), las
internas (en ISO 9126-3), y las de uso (en ISO 9126-4)
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Mtricas de calidad en ISO 9126
todas las mtricas estn caracterizadas por los siguientes
elementos:
nombre de la mtrica
objetivo de su uso
mtodo con el cual se usa
frmula y elementos de clculo
interpretacin de la mtrica
escala
tipo de mtrica
fuente de los datos de entrada
beneciarios de la mtrica
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Mtricas de calidad en ISO 9126
ejemplo de una mtrica de funcionalidad
Frmula y elementos
de clculo
X = 1(A/B)
A = no. funcionalidad faltante desc. en eval.
B = no. funcionalidad descripta en los requisitos
Objetivo de uso medir la completitud de la funcionalidad ofrecida
Mtodo de medida uso de un test de tipo caja negra
Interpretacin 0 X 1 el mejor valor es 1
Escala absoluta
Tipo de medida A = nmero
B = nmero
X = nmero
Fuentes especicacin de requerimientos
reporte de evaluacin
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Objetivos del uso de mtricas para medir caractersticas
externas
representar la calidad de un producto de software respecto a las
caractersticas y subcaratersticas del modelo 9126, durante el
testeo
validar el cumpliemto del software respecto a los requisitos de
calidad externa
predecir el nivel de calidad de uso del producto
describir el grado de respuesta del producto respecto a los
requisito explcitos e implcitos de su uso
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Objetivos del uso de mtricas para medir caractersticas
internas
representar la calidad de un producto de software, en los estados
de evolucin intermedios y nales no ejecutables, respecto a las
caractersticas y subcaractersticas del modelo 9126
predecir el nivel de calidad externo del producto
prevenir problemas en el uso del producto, descubriendo
anticipadamente potenciales defectos
las mtricas internas son en general combinacin de mtricas
elementales aplicadas a cdigo fuente, diagramas UML o DFD,
grcos, etc (medidas mediante anlisis esttico o con
inspeccin de cdigo)
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Objetivos del uso de mtricas para medir caractersticas de
uso
vericar la capacidad de un producto de satisfacer las exigencias
de los usuarios en un dado escenario de uso, en relacin con los
objetivos previstos
estas mtricas son en general combinacin de mtricas
elementales aplicadas a la interaccin entre usuario y sistema
(medidas mediate eld tests, inspecciones, walkthrough, etc)
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Uso integrado de las mtricas
existen diversas relaciones e interdependencias entre las tres
clases de mtricas
muchas de las caractersticas del modelo 9126 pueden ser
medidas contemporneamente por mtricas internas y externas
por ejemplo, la conabilidad puede ser medida externamente
relevando el nmero de errores durante la ejecucin del producto
en un perodo de tiempo, e internamente inspeccionando el
cdigo fuente para vericar el nivel de tolerancia a los errores
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Uso integrado de las mtricas
un problema detectado en el uso del producto (ejemplo la
imposibilidad de un usuario de completar correctamente una
operacin) puede ser referido tanto como una caracterstica de
calidad externa (conabilidad o usabilidad) como una interna
(error en la estructura de decisin de un cdigo)
la calidad debe entonces ser medida como una combinacin de
las mtricas de los tres aspectos, de modo de cubrir los distinto
puntos de vista
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Proceso de evaluacin de la calidad
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Uso de las mtricas en el ciclo de vida
un comisionista puede valorar la conveniencia de elegir un
determinado producto usando mtricas para la conabilidad
un desarrollador deber disponer de mtricas de funcionalidad
para vericar la correcta implementacin de productos
semielaborados
en el mantenimiento se podr evaluar el esfuerzo y el riesgo de
modicar un programa usando mtrica de mantenibilidad
se deberan considerar mtricas de portabilidad antes de decidir
la migracin de un producto a otros ambientes
los usuarios debern poder medir la usabilidad y la ecacio del
producto que se les entrega
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Futuro de la norma ISO 9126
la norma ISO 9126 est en proceso de revisin
el modelo de calidad del software conuir en el sistema de
normas ISO 25000 en la norma ISO 25010, sin modicaciones
las mtricas sern denidas por normas en las secciones 2502X,
compuestas de ms documentos que soportaran la medicin del
software segn distintos puntos de vista (calidad interna, calidad
externa, calidad de uso) in corso di revisione
el modelo proveer
un modelo de referencia para relevamiento de mtricas
denicin matemtica de varias mtricas, primitivas de medicin y
mtricas derivadas
una gua prctica para el proceso de revisin
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
ISO 9126 vs. otras normas ISO
ISO ha emitido una batera de normas bajo el nombre ISO 9000
referidas a la gestin de calidad en todo tipo de organizacin
permite controlar los procesos haciendales dirigindolos a la
satisfaccin del cliente
las ISO 9000 actualmente (desde el ao 2000 en adelante) se
dividen en
ISO 9000 que describe la terminologa y los principios esenciales
del sistema de gestin de calidad y su organizacin
ISO 9001 para la denicin de los requisitos de calidad
ISO 9004 que es una gua para el mejoramiento de la prestacin
en una organizacin
la nica certicacin posible es por adherir a la norma ISO 9001;
las otras son guas tentativas para favorecer la correcta
aplicacin e interpretacin del sistema de calidad
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
ISO 9126 vs. otras normas ISO
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
ISO 9126 vs. otras normas ISO
las normas ISO 9000 son universales, y su aplicacin prescinde
de las dimensiones o del sector de la empresa
denen principios genricos que la empresa debe seguir pero no
el modo en la cual debe producir. Por lo tanto no slo son
aplicables a los productos sino la organizacin productora
la ISO 9001 garantiza el control del proceso productivo y su
ecacia, pero no su eciencia
actualmente las ISO 9000 son usadas en la industria como
modelo de referencia para la calicacin y seleccin de
proveedores y clientes
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
ISO9126 vs. otras normas ISO
ISO 9001 propone un manejo de la calidad orientado al proceso
es decir, disear, documentar, implementar, soportar, monitorear,
controlar y mejorar las siguientes actividades:
proceso de administracin de calidad
proceso de administracin de recursos
proceso de investigacin sobre regulaciones
proceso de investigacin de mercado
proceso de diseo de productos
proceso de compras
proceso de produccin
proceso de provisin de servicios
proceso de proteccin del producto
proceso de evaluacin de las necesidades del cliente
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
ISO9126 vs. otras normas ISO
es decir, disear, documentar, implementar, soportar, monitorear,
controlar y mejorar las siguientes actividades (cont.):
proceso de comunicaciones con el cliente
proceso de comunicaciones interno
proceso de control de documentacin
proceso de registro de actividades
proceso de planicacin
proceso de entrenamiento
proceso de auditora interna
proceso de monitoreo y medicin
proceso de mejora contnua
Pablo R. Fillottrani Calidad en el Desarrollo de Software
Modelos iniciales
Modelo de McCall
Modelo de Boehm
Modelos ad-hoc
Modelo ISO 9126
Mtricas de calidad
Otros modelos de calidad
Otros modelos de calidad
FURPS (Robert Grady, 1992, extendido por Rational Software en
FURPS+) incluye funcionalidad, usabilidad, conanza,
performance, soportabilidad
Dromey (Robert Dromey, 1996) describe la idea de relacionar
atributos del producto con atributos de calidad para su evaluacin
Pablo R. Fillottrani Calidad en el Desarrollo de Software