Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Control Calidad Software PDF
Control Calidad Software PDF
CONTROL DE CALIDAD
EN EL SOFTWARE
JOSE HERNANDO BAHAMON L.
El concepto de calidad total aplicado por dos por el hombre. Hoy en da las inves-
los japoneses como estrategia de desa- tigaciones en el rea de la ingeniera
rrollo a partir de la Segunda Guerra de software se centran en el desarrollo
Mundial, con el fin de recuperar su eco- de metodologas que garanticen y con-
noma y tener una presencia a nivel in- trolen la calidad en el software construi-
ternacional, ha empezado a populari- do.
zarse a nivel mundial y es el tema obli-
gado de las naciones, organizaciones, El presente documento busca ilustrar,
entidades e individuos que buscan con- adems del concepto de calidad en el
solidacin y presencia en los mercados software, las actividades necesarias
del mundo. para controlar y garantizar la calidad de
El concepto de calidad total propende los sistemas de informacin que se im-
por la bsqueda de la excelencia en plementen. El problema principal para
lodo lo que el hombre, la sociedad y las garantizar la calidad en el software est
organizaciones realizan. en la concepcin de la gran mayora de
las personas cuando suponen que la
Este concepto puede entonces aplicar- garanta de calidad es algo que se impo-
se al desarrollo de sistemas de informa- ne bajo una medida que se obtiene al
cin basados en equipos de procesa- finalizar un proyecto de software. El con-
miento de datos y en programas disea- trol de calidad en el software se funda-
43
,.,.. ICESI
menta en el principio de que la calidad que un software es de alta calidad cuan-
se construye a travs de un proceso do cumple con los requerimientos del
continuo de desarrollo, verificacin (re- usuario, pero:
visin) y optimizacin en diferentes eta-
- No es eficiente al utilizar los recursos
pas.
de la mquina (programas muy len
El control de calidad en el software, de- tos).
nominado SQA ("Software Quality As-
- O no es confiable; los resultados que
surance"), se basa en las siguientes
entrega varan, no son siempre igua
actividades:
les al procesar los mismos datos.
1) Uso de mtodos y herramientas de
- O no es fcil de utilizar.
anlisis, diseo, codificacin y prue-
ba. - O no es seguro.
2) Revisiones tcnicas formales, que - O no es fcil hacerle mantenimiento.
se aplican durante cada paso de la
Ingeniera de software. La calidad en el software es una mezcla
compleja de ciertos factores que varan
3) Estrategia de prueba multiescalada. de acuerdo con el usuario y con los tipos
de aplicacin.
4) Control de la documentacin del
software y de los cambios realiza- Podemos resumir el concepto de la ca-
dos. lidad en el software en los siguientes
puntos:
5) Procedimientos que aseguren un
ajuste a los estndares de desarro-
1) Los requerimientos del usuario so-
llo.
bre un programa son los fundamen-
6) Mecanismos de medida de la calidad tos desde los que se mide la calidad.
("mtricas"). La falta de concordancia con estos
requerimientos es una falta de cali-
dad.
DEFINICION DE CALIDAD
EN EL SOFTWARE 2) Los estndares especificados defi-
nen un conjunto de criterios de desa-
Se han formulado muchas definiciones rrollo que gu an la forma como se apli-
sobre el concepto de calidad en el soft- ca la ingeniera de software; si no se
ware. Para no transcribir estas definicio- siguen estos estndares, probable-
nes en el presente documento tratemos mente se obtendr software de baja
de responder la pregunta qu es cali- calidad.
dad en el software? Seguramente la pri-
mera respuesta en que pensara la ma- 3) Existe un conjunto de requerimien-
yora de las personas es: tos implcitos que a menudo no se
mencionan (eficiencia, facilidad de
La calidad en el software est en rela- uso, facilidad de mantenimiento). Si
cin directa con el cumplimiento de los el software falla en alcanzar los re-
requerimientos formulados por el usua- querimientos implcitos, la calidad en
rio, de tal forma que si un programa no el software queda en entredicho.
cumple con alguno de estos requeri-
mientos es un software de baja calidad.
FACTORES Y CRITERIOS
Aunque el criterio de cumplimiento de
QUE DETERMINAN LA CALIDAD
los requerimientos es un factor impor-
EN EL SOFTWARE
tante, no es el nico factor, ya que exis-
ten condiciones implcitas que el softwa- Los elementos bsicos empleados para
re debe cumplir como son eficiencia, medir la calidad en el software se deno-
seguridad, integridad, consistencia, minan factores; stos pueden clasificar-
etc.; por lo tanto no podemos afirmar se en dos grandes categoras:
44
/CE5/
a) Factores que pueden ser medidos 3) Los criterios son medibles y verifica-
directamente: bles a travs de mtricas (valor nu-
(N9 de errores/unidad tiempo). mrico de la medida de calidad).
TABLA 1
Aspecto Factor
Operacin del producto Cumplimiento
, Exactitud
Eficiencia
Integridad
Facilidad de uso
Revisin del producto Facilidad de mantenimiento
Facilidad de prueba
Flexibilidad
Transicin del producto Portabilidad
Reusabilidad
Interoperatividad
45
ICESI
,
METRICAS DE CONTROL Si la respuesta a la pregunta es "s",
DE LA CALIDAD EN EL SOFTWARE podemos calificar con 1 en la hoja de
chequeos este subcriterio; si la respues-
Se define como mtrica el valor asocia-
ta es "no" lo calificamos con O.
do con la respuesta a una pregunta for-
mulada en una revisin para evaluar o
establecer un atributo o un requerimien- El valor de la mtrica para el factor de
to de un criterio o subcriterio relacionado calidad que est siendo juzgado ser la
con un factor. Por ejemplo: suma de todos los valores obtenidos por
criterios/subcriterios divididos por el n-
Un criterio del factor de calidad "Eficien- mero de preguntas aplicadas.
cia" es "Ejecucin eficiente" y un atributo
de este subcriterio seria "datos agrupa-
En los estudios realizados por McCall
dos para procesamiento eficiente". En
se establece un conjunto de mtricas
una revisin para evaluar este subcrite-
para los diferentes criterios y subcrite-
rio se podra formular la siguiente pre-
rios. En la grfica 4 se ilustran algunas
gunta: "Estn los datos agrupados
de estas mtricas.
para permitir un procesamiento eficien-
te"?
TABLA 2
46
ICESI
GRAFICA 1
:~~~;1~~r-:c::;~;..ruft~ill~ii1i~~tt1~~lli-.t~mt~~~tffi~~t;' 47
)'~':'(--_;:J;,; ~--~:~~;::f1:~,3~i~~fttt\JP1~kr~~r~~0mt::r.:~t't"~~51L~t1i~~Bii?1~~S~ ICESI
GRAFICA 2
Cll
Mtrica de .o
Cl>
calidad del ::J "O g
software o
O)
a. "O
Cll
:g ::J
Cl> "O Cll ii al
e "O "O
:g -o
~:
,o Cll
'
-o
Cll Cll
"O
Cll
Clle
Cll
:g "O
Cll
:g ii O)~ -o
Cll
Factor u :g '
"O
ii :g ii c. ;g
l!: ii Cll
'5, "00)
::c 'x Cll
Cll
lJl e
de calidad o
Cll
u:::
U
l:U e
Cl> UCll
~E :
Cl> '
Cll
u.
t::
o
a..
::J
Cl>
ex:
2
.E
'
Cll
I.l.
Facilidad de auditora X X
Exactitud X
Normalizacin de
X
las comunicaciones
Completitud X
Complejidad X X X
Concisin X X X
Consistencia X X X X
Estandarizacin
X
en los datos
Tolerancia de errores X
Eficiencia en la ejecucin X
Facilidad de expansin X
Generalidad X X X X
Indep. del hardware X X
Instrumentacin X X X
Modulardad X X X X X X X
Facilidad de operacin X X
Seguridad x
Auto-documentacin X X X X X
Simplicidad X X X X
Indep, del sistema X X
Facilidad de traza X
Formacin X
48
ICESI
Grfica 3
~o
~e,
~~ rlJ-O
Cumplimiento .::> .~~
.~" i;}'"lr
Fiabilidad o x" .e,\:' rlJ-O .e,~o
~cJ i..'~ C:JO ~~
Eficiencia ~e,C8
oe,v ~Qi
Integridad ,\:'
x~
v. ~~
oe, ve,
~'"lr
Fcil. de uso o o o
v
o x'"lr oe,
~<:
o
Fcil. de mantenimiento o o x~
v o~
.;$0 o
Fcil. de prueba o o o o .~
x"e,-t- .~~
'lf
Flexibilidad o o o o o
o
~
~
Portabilidad o o 'lf
-e,>:>""
Rehusabilidad o o o o
Facilidad de Interop. o 1
o
Impacto negativo
Impacto positivo
Blanco no hay relacin
49
ICESI
GRAFICA 4
,---------------------------------_._--
Criterio completitud
atributos: 1) Referencia sin ambigedad (entrada, salida. funcin)
2) Definidas todas las referencias externas, calculadas
u obtenidas por fuentes externas.
3) Definidas todas las funciones usadas
4) Definidas todas las funciones referenciadas.
5) Definidas todas las condiciones para cada punto
de decisin.
6) Definidos todos los parmetros para la secuencia
de llamadas a procesos.
7) Todos los problemas reportados estn resueltos.
8) Diseo est de acuerdo con los requerimientos.
9) La codificacin est de acuerdo con el diseo
9
L valor c/atributo
1
V. mtrica criterio:
9
- Criterio: Consistencia
Subcriterio: Procedimiento consistente
atributos: a) Representacin estndar en el diseo'
b) Secuencia de llamada a mdulo segn lo establecido'
c) Entrada / salida segn lo establecido'
d) Manejo de errores segn el estndar'
Valor mtrica:
Nmero mdulos que violan la regla
Valor mtrica: 1-
Nmero total de mdulos
V* = (n1 + n2*) Log2 (n1 + n2*) Estas mtricas propuestas por Halstead
permiten al grupo de control de garanta
donde
del software obtener valores no subjeti
N1 = Ngtotal de ocurrencias vos de la calidad de un programa.
de los operadores
N2 = Ng total de ocurrencias
de los operandos Existen otras mtricas como la medida
n2* = Ng de parmetros de l/O en el de complejidad ciclomtica propuesta
procedimiento. por Tom McCabe en su artculo A "Soft
ware Complexity Measure", publicado
Usando el volumen y el volumen poten- en la revista IEEE Trans. Software En
cial se puede calcular el esfuerzo como: gineering, vol. 2, diciembre de 1976;
Volumen 2 V2 pero el objetivo de este documento no
esfuerzo = es ilustrar en detalle todas las mtricas
Volumen potencial V* propuestas.
50
ICESI
ACTIVIDADES DEL CONTROL tar las etapas de anlisis y diseo del
DE CALIDAD DEL SOFTWARE . sistema a construir; luego de creada la
especificacin del sistema (o prototipo),
Hasta el momento hemos mencionado se debe garantizar su calidad.
el concepto de calidad en el software y
algunas tcnicas empleadas para esta- La actividad que nos permite garantizar
blecer una medida cuantitativa de la ca- la calidad es la revisin tcnica formal
lidad. realizada por el grupo de control de ca-
lidad.
La historia de la garanta de la calidad
en el desarrollo de programas y siste- . Los objetivos de la revisin tcnica for-
mas arranca en los aos SO y 60, en mal son:
donde la calidad era responsabilidad 1) Descubrir errores en la funcin, la
nicamente del programador. Durante lgica o la implementacin de cual-
los aos 70 se introdujeron estndares quier representacin del software.
de garanta de calidad para el software
en los contratos militares y se incorpora- 2) Verificar que el software bajo revi-
ron las metodologas para el desarrollo sin alcanza los requerimientos.
de sistemas.
3) Garantizar que el software ha segui-
do los estndares predefinidos.
Actualmente la responsabilidad de la
garanta de calidad del software no es 4) Conseguir un software que sea de-
funcin de una persona; en esto estn sarrollado en forma uniforme.
comprometidos los ingenieros de anli-
sis y diseo, los gestores y coordinado- S) Propender por que los proyectos
res del proyecto, los usuarios, los pro- sean manejables.
gramadores y todas las personas invo- La revisin tcnica formal es un proceso
lucradas en el desarrollo del proyecto. que se aplica a cada una de las fases
del desarrollo del sistema en el momen-
La garanta de calidad en el software to en que el grupo de trabajo considera
no es una certificacin impuesta luego terminada su labor en esa fase.
de haber desarrollado un programa. Es
un proceso que involucra las siguientes Como resultado de la revisin tcnica
actividades: formal se obtiene una autorizacin para
que el grupo pueda continuar con la fase
1) Aplicacin de metodologas de inge- siguiente, o una recomendacin de no
niera de software para conseguir continuar hasta realizar las modificacio-
una especificacin y un diseo de nes y ajustes al proceso en 'la fase bajo
alta calidad. revisin (Grfico S).
2) Realizacin de revisones tcnicas Una vez que se ha terminado la imple-
formales. mentacin, se inicia la fase de pruebas
3) Prueba del software. del software. Durante esta fase se dise-
an casos de prueba que ayudan a la
4) Ajuste a los estndares de la organi- deteccin de errores producidos en las
zacin. fases anteriores y no detectados duran-
te la revisin tcnica formal.
5) Control de cambios y modificaciones
(mantenimiento). Para muchos grupos de desarrollo las
6) Mediciones.
pruebas del software son consideradas.
una "red de seguridad" para la garanta
7) Registro e ,informes. de la calidad.
La garanta de calidad en el software Una de las principales amenazas para
comienza realmente con la aplicacin mantener la calidad de un software, es
de una metodologia formal para enfren- el proceso de mantenimiento a travs
51
ICESI
,
GRAFICA 5
REVISION
52
1r~t::1