Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Capitulo 5 Calidad de Productos Software
Capitulo 5 Calidad de Productos Software
"Lo que ahoga a algllien no es caerse al rio, sino mantenerse sllmergido ell el"
Palilo Coelho
1. MODElOS CLAslCOS
Historicamente se han desarrollado para evaluar la calidad de los productos
software diferentes modelos que pretenden seguir las directrices de cali dad de otros tipos
de productos: descomponer la calidad en una categoria de caracteristicas mas sencillas que
facilita su estudio (Galin, 2004).
Uno de los modelos clasicos mas utilizados desde su creacion, incluso con vigencia
en nuestros dias, es el desarrollado por McCall (McCall et al., 1977), en el que la calidad
de un producto software se descompone en once caracteristicas 0 factores de calidad
agrupados en tres categorias (vease figura 5.1): Operacion de producto, Revision de
producto y transicion de producto.
A finales de los afios ochenta, fueron propuestos dos modelos altemativos a los de
McCall basados igualmente en la identificacion de factores: el modelo de factores de
Evans y Marciniak (1987) y el modelo de factores de Deutsch y Willis (1988).
En la tabla 5.1 puede encontrarse una comparativa entre los distintos modelos
donde se muestran los factores observados por cada uno de los autores en sus
correspondientes trabajos.
Vision de la direc!<.!c~i=o~n~~~~~====='V~i~s~io~n~de~l~d~e:s~a!.!.r!..!ro""I...,la",d",o,...r
Vision de usuario
Facilidad de uso- ~cr:;m~~I~~~1on
Comunicatividad
Seguridad (integrida Volumen y tasa de ElS
Operacion d Datos comunes
producto Eficiencia Control y audit. de acceso
Integridad de datos
Eficiencia de almacenam.
Eficiencia de ejecucion
Fiabilidad
Complecion
Trazabilidad
Revision de~ Facilidad de Consistencia
producto mantenimiento Precision
Facilidad de Tolerancia a errores
~~:~~~~i~li!!
P Concision
Flexibilida
rueba Autodescriptividad
Simplicidad
Modularidad
Transicion d~ Capacidad de Instrumentacion
producto reutilizacion Capacidad de ampliacion
Transportabilidat!7'"::::7C:::::::::=::~~~~ Generalidad
I Indep. maquina
Interoperabilida'lf'----------- ~~;!;jn~g:c.~eo~~t;~a
EVA'1SY ..
FACIOR CALIDAD SOFT\VARE MCCALL (1916) l\:h:RCINIAl( I. DHJISCHyWILLrs(1988)
.. . . (1981) I .
Correccion ./ ./ ./
Fiabilidad ./ ./ ./
Eficiencia ./ ./ ./
Integridad ./ ./ ./
Usabilidad I ./ ./ ./
Mantenibilidad ./ ./ ./
Flexibilidad ./ . ./ ./
Testeabilidad ./
Portabilidad ./ I ./ ./
Reusabilidad ./ ./ ./
Interoperabilidad ./ ./ ./
Verificabilidad I ./ I ./
Expandibilidad ./ I ./
Seguridad de Uso ./
Manejabilidad ./
Capacidad de supervivencia I ./
Tabla 5.1. Comparacion entre modelos de calidad de producto software (Galin, 2004)
f:RA-MA. CAPiTULO 5: C.ALIDAD DE PRODUCTO SOFTWARE 83
En cualquier caso, todos estos modelos requieren identificar metric as para esas
caracteristicas de cali dad que penni tan medir cuantitativamente como de bueno es un
software atendiendo a esos criterios. El capitulo 9 de este libro pretende cubrir este
aspecto.
i i
:
Requisitos de
I Evaluaci6n de
Calidad I Gesti6n de Calidad 2500n Calidad
2503n 2504n
j
Medici6n de Calidad
2502n
En el momento de redactar este libro, las diferentes nonnas de la familia ISO 25000
alin no se han tenninado de elaborar, por 10 que a continuaci6n se explican las nonnas
ISO 9126 e ISO 14598, ya que probablemente los conceptos basicos se mantengan con
pocos cambios significativos en las nuevas nonnas.
Necesidades
de calidad +---------- ~ Cali dad en uso
del usuario
Uso y
retroalimentaci6n
I t
Indica
Contribuye a especificar
~ I
Requisitos de Calidad
+-----------~
caUdad externa extern a
Validaci6n
I
Contribuye a especificar
i
Indica
~ I
Requisitos de
. CaUdad
+-----------~
caUdad interna interna
Verificaci6n
Calidad externa e
interna
. :
Capacidad de ser
entendldo Capacidad de ser
Adecuaci6n Adaptabilidad
rv1adurez Capacidad de ser Comportamiento analizado
Exactitud Instalabilidact
Tolerancla a rallos aprendldo temporal Capacidad de ser
Interoperabilidad Coexistencia
Capacidad de Capacidad de ser Utilizacion de cambiado
Seguridad de Capacidad de ser
recuperac16n operado recursos Capacidad de ser
aeceSD reemplazado
Capecidad de probado
Cump!imiento de atraccion Cumplimiento de
Cumphmiento de Cumplimiento de
la fiabiHdad la eficiencia Cump!imiento de
la funclonalidad Ja portabilidad
Cumplimiento de la mantenibi!idad
la usabilidad
2.2.1. FUNCIONALIDAD
iii Exactitud. Capacidad del producto software para proporcionar los resultados 0
efectos correctos 0 acordados, con el grado necesario de precision.
iii Interoperabilidad. Capacidad del producto software para interactuar con uno
o mas sistemas especificados.
iii Seguridad de acceso. Capacidad del producto software para proteger
informacion y datos de manera que las personas 0 sistemas no autorizados no
puedan leerlos 0 modificarlos, al tiempo que no se deniega el acceso a las
personas 0 sistemas autorizados.
iii Cumplimiento funcional. Capacidad del producto software para adherirse a
normas, convenciones 0 regulaciones en leyes y prescripciones sirnilares
relacionadas con funcionalidad.
2.2.2. FIABILIDAD
2.2.3. USABILIDAD
Capacidad del producto software para ser entendido, aprendido, usado y ser
atractivo para el usuario, cuando se usa bajo condiciones especificadas. Esta caracteristica
se subdivide a su vez en:
• Capacidad para ser entendido. Capacidad del producto software que permite
al usuario entender si el software es adecuado y como puede ser usado para
unas tareas 0 condiciones de uso particulares.
• Capacidad para ser aprendido. Capacidad del producto software que perrnite
al usuario aprender sobre su aplicacion.
£lRA-MA CAPiTULO 5: CAUDAD DE PRODUCTO SOFTWARE 87
• Capacidad para ser operado. Capacidad del producto software que pennite
al usuario operarlo y controlarlo.
• Capacidad de atracci6n. Capacidad del producto software para ser atractivo
al usuario.
• Cumplimiento de la usabilidad. Capacidad del producto software para
adherirse a nonnas, convenciones, guias de estilo 0 regulaciones relacionadas
con la usabilidad.
2.2.4. EFICIENCIA
2.2.5. MANTENmILIDAD
Capacidad del producto software para ser modificado. Las modificaciones podrian
incluir correcciones, mejoras 0 adaptaci6n del software a cambios en el entomo, y
requisitos y especificaciones funcionales. Esta caracteristica se subdivide a su vez en:
• Capacidad para ser analizado. Es la capacidad del producto software para
serle diagnostic ad as deficiencias 0 causas de los fallos en el software, 0 para
identificar las partes que han de ser modificadas.
• Capacidad para ser cambiado. Capacidad del producto software que pennite
que una detenninada modificaci6n sea implementada.
• Estabilidad. Capacidad del producto software para evitar efectos inesperados
debidos a modificaciones del software.
• Capacidad para ser probado. Capacidad del producto software que pennite
que el software modificado sea validado.
• Cumplimiento de la mantenibilidad. Capacidad del producto software para
adherirse a nonnas 0 convenciones relacionadas con la mantenibilidad.
88 CAUDAD DE SISTE?vLA.S fNrO~'vL'\TICOS © RA-?viA.
2.2.6. PORTABILIDAD
Capacidad del producto software para ser transferido de un entomo a otro. Esta
caracteristica se subdivide a su vez en:
G Adaptabilidad. Capacidad del producto software para ser adaptado a
diferentes entomos especificados, sin aplicar acciones 0 mecanismos distintos
de aquellos proporcionados para este proposito por el propio software
considerado.
G Instalabilidad. Capacidad del producto software para ser instalado en un
entomo especificado.
G Coexistencia. Capacidad del producto software para coexlstlr con otro
software independiente, en un entomo comun, compartiendo recursos
comunes.
G Capacidad para ser reemplazado. Capacidad del producto software para ser
usado en lugar de otro producto software, para el nusmo prop6sito, en el
mismo entomo.
• Cumplimiento de la portabilidad. Capacidad del producto software para
adhelirse a nonnas 0 convenciones relacionadas con la portabilidad.
2.3.1. EFECTIVIDAD
Capacidad del producto software para pennitir a los usuarios alcanzar objetivos
especificados con exactitud y compleci6n, en un contexto de uso especificado.
2.3.2. PRODUCTIVIDAD
Capacidad del producto software para pennitir a los usuarios gastar una cantidad
adecuada de recursos con relaci6n a la efectividad alcanzada, en un contexto de uso
especificado.
~ RA-ivLA CAPiTIJLO 5: CAUDAD DE PRODUCTO SOFTWARE 89
Calidad de Uso
Capacidad del producto software para alcanzar niveles aceptables del riesgo de
hacer dana a personas, al negocio, al software, a las propiedades 0 al medio ambiente en
un contexto de uso especificado.
2.3.4. SATISFACCION
Esta nonna se apoya en la ISO 9126 ya que los aspectos cuantificables pueden
medirse cuantitativamente usando metricas de calidad, cuyo valor medido se sima en una
escala. La escala ha de dividirse en rangos que cOlTesponden a diferentes niveles de
satisfaccion de los requisitos. Por ejemplo:
G La division de la escala en dos categorias: satisfactOlio e insatisfactOlio.
G La division de la esc ala en cuatro categorias lirnitadas por el nivel actual de un
producto existente 0 altemativo, el peor caso y el nivel proyectado. El nivel
actual se declar·a con el fin de controlar que el nuevo sistema no suponga un
deterioro en relacion a la situacion actual. EI nivel proyectado es 10 que se
considera alcanzable con los recursos disponibles. El peor caso es la frontera
90 CAUDAD DE SISTEtvL">.S INFOR.,\V\ TICOS ©RA-MA
Tomar medidas
Valorar Resultados
niyel PlaneadO~
-
Excede los requisitos
val~~ satistbctorio
medido -=- Rango objetiyo
-
-
-
-
-
.
-
niyel actua~
-
-
- Minimanii!nte aceptabt~
-
-
el casu peo,--
insatistbctorio
-
-
-
- lnaceptabt~
-
-
-
escala de nii!dicion niveles de puntuaciOn
O. Definir el dominio
1. Detenninar subcaracteristicas de calidad
2. Definir unajerarquia de subcaracteristicas
3. Descomponer subcaracteristicas en atIibutos
4. Descomponer atIibutos derivados (aquellos que no sean medibles
directamente) en atIibutos basicos
5. Establecer relaciones entI'e entidades de calidad (por ejemplo, aumentar
la subcaracteristica de seguridad lleva consigo que aumente la madurez
de un producto)
6. Detenninar metIicas para los atIibutos.
Paso 1
Paso 3
Paso 4
Establecer Relaciones
Paso 5
entre entidades de calidad
4. LECTURAS RECOMENDADAS
• Cechich, A., Piattini, M. y Vallecillo, A. (eds.) (2003). Component-Based
Sofnvare Quality: jvfethods and Techniques. Splinger Verlag LNCS 2693. En
esta recopilacion se abordan diversos aspectos de la calidad relativa a los
sistemas sofuvare basados en componentes.
6. EJERCICIOS
1. Compare las caracteIisticas y subcaracteIisticas de calidad del modelo de McCall
y de1l110delo propuesto en la nonna ISO 9126, (,cmille parece m1s completo?, (,a
que elementos de la calidad Ie concede 111<1S importancia McCall? y (,a cmiles la
non11a ISO 9126?, (,encuentra gran sil11ilitud entre ambos?
2. Como sefiala Kan (2003), los panimetros de satisfaccion del c1iente que
monitol1za IBM son: capacidad, funcionalidad, usabilidad, desel11pei'io, fiabilidad,
instalabilidad, l11antenibilidad, documentacion!infOlmacion, y servicio), mientras
GRA-?vLA,. CAPiTULO 5: CAUDAD DE PRODUCTO SOmVARE 93
3. Tomando como base el proceso de selecci6n propuesto por la nonna ISO 14598,
defina un proceso de selecci6n para henamientas de amllisis y diseiio Olientado a
objetos, adaptando si fuera necesario el modelo de calidad de la ISO 9126.
Compare elmodelo definido con la nonna ISO 14102 (ISO, 1995).
7. Analice. utilizando una matriz, las diferentes interacciones que pueden darse entre
las subcaracteristicas del modelo de calidad de la ISO 9126. Por ejemplo, una
mayor funcionalidad podria influir en una men or facilidad de prueba.