Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LA CALIDAD
DEL SOFTWARE
Y SU MEDIDA
Reservados todos los derechos
Ni la totalidad ni parte de ese libro puede reproducirse o transmitirse por
ningn procedimiento electrnico o mecnico, incluyendo fotocopia, grabacin
magntica o cualquier almacenamiento de informacin y sistema de recupera-
cin, sin permiso escrito de Editorial Centro de Estudios Ramn Areces, S. A.
ISBN: 84-8004-611-2
Deposito legal: M. 44.635-2003
Impresin por:
LAVEL, S.A.
Humanes (Madrid)
La ingeniera del software como disciplina nacida hace casi cuarenta aos como
respuesta a la llamada "crisis de la programacin" asume las estrategias de las
ingenieras tradicionales y trata de utilizarlas adaptndolas a la fabricacin de
programas para ordenador. Esta misma ingeniera que busca en modelos de calidad
tradicional su ms fiel aliado debe proseguir en la mejora continua de sus procesos.
Dentro de esta mejora se encuentra, sin duda, la obtencin de medidas adecuadas a
las entidades y atributos que le son propios. Medir implica conocer y conocer
permite manipular aquellos factores de inters en la bsqueda de la excelencia.
Medir la calidad es, por tanto, un requisito imprescindible en las nuevas
metodologas del software y un factor estratgico en el sector de la nueva
economa.
Julio 2003
Los autores
Captulo 1
La industria del software, como tal industria, tiene muchas de las caractersticas
de la industria tradicional, entre ellas la necesidad de que sus productos sean de
calidad. En este captulo se tratar del concepto de calidad, de sus caractersticas y
de sus diferentes estados a travs de los tiempos, para terminar con un breve
estudio sobre los costes y beneficios que conlleva la implantacin de un sistema de
calidad.
' Lpez Cachero, M. 11 Jornadas de Calidad del Software, organizadas por la Asociacin de Tcnicos de
Informtica. Madnd 2 y 3 de julio de 1998.
24 LA CALIDAD DEL SOFTWARE
'Yourdon, Edward. Investigador ampliamente conocido por idear el mtodo estructurado de anlisis y diseo, as
como ser coautor del mtodo denominado CoadIYourdon para programacin orientada a objeto en los aos
noventa. Autor de ms de quinientos artculos y veinticinco libros es licenciado en matemticas por el MIT y el
Instituto Politcnico de Nueva York. Consultar el sitio http://www.vourdon.com.
'Yourdon Edward, "Lo bueno..es lo mejor?", Byte, no 22, octubre 1996. pg. 154.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 25
Lpez Cachero, M. 11 Jornadas de Calidad del Software, organizadas por la Asociacin de Tcnicos de
Informtica. Madrid 2 y 3 de julio de 1998. Registro en audio realizado por nosotros.
Lpez Cachero, M. 11 Jornadas de Calidad del Software, organizadas por la Asociacin de Tcnicos de
informtica. Madrid 2 y 3 de julio de 1998. Registro en audio realizado por nosotros. Lpez Cachero, Manuel.
Rector de la Universidad Alfonso X el Sabio y presidente de la Asociacin Espaola de Normalizacin y
Certificacin, AENOR.
26 LA CALIDAD DEL SOFTWARE
2. CONCEPTO DE CALIDAD
Calidad (del lat. Qualitas, -atis y este calco del griego poiothz) .f. Propiedad o
conjunto de propiedades inherentes a algo, que permiten juzgar su valor. 2. Buena
calidad, superioridad o excelencia. 3. Carcter, genio, ndole. 4. Condicin o
requisito que se pone en un contrato. 5. Estado de una persona, naturaleza, edad y
dems circunstancias y condiciones que se requieren para un cargo o dignidad. 6.
Nobleza del linaje. 7. Importancia o gravedad de algo. 8. pl. Prendas personales 9.
Condiciones que se ponen en algunos juegos de naipes.
Como se puede observar las acepciones del trmino son muy variopintas,
aunque aadiremos aquellas que se encuentran en los textos que tratan de la
calidad, tal como se entiende en los mbitos empresariales, tales como:
'Real Academia Espaola. Diccionario de la lengua espaola. 22" Edicin. Madrid, 2001. Pg. 401.
' Mara Moliner. Diccionario de uso del Espaol. Editorial Gredos S.A. Madrid, 2000. Pg. 224.
UNE-EN ISO 9000. Sistemas de gestin de la calidad. Fundamentos y vocabulario. AENOR. Madrid, 2000. Pg.
16.
Sebastin Prez, Miguel ngel; Bargueo Farias, Vicente; Novo Sanjurjo, Vicente. Gestin y Control de
calidad. Cuadernos de la V E D . Madrid. UNED. 1994. Pg. 15.
' O Sebastin Prez, Miguel Angel; Bargueo Farias, Vicente; Novo Sanjurjo, Vicente. Op. Cit. Pg. 15.
"JOC Sanders y Eugene Curran. Software Quality. A Framework for Success in Software Development and
Support, Centre for Software Engineering, Dublin, Addison-Wesley Publishing Company, 1994. Pg. 3. La
traduccin es nuestra.
28 LA CALIDAD DEL SOFTWARE
''Arthur Andersen. La Calidad en Espaa. Cinco Das. Madrid, 1995. Pg. 28.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 29
/
n CALIDAD
REALIZADA \
\ CALIDAD
PROGRAMADA
y CALIDAD /
Podemos representar estas calidades como tres crculos que se cortan. Lo que la
gestin de la calidad pretende conseguir es que el rea comn sea la mayor posible,
incluso que lleguen a coincidir para evitar insatisfacciones y gastos superfluos.
A veces se habla de calidad percibida, que no tiene que coincidir con la
realizada, ya que depende de la subjetividad de algunas de las caractersticas, por
ejemplo la esttica, y es debido a que los usuarios no disponen de la informacin
completa. En estos casos los productos o servicios se evalan ms por su nombre
de marca o la publicidad que por sus caractersticas objetivas. La calidad percibida
es el grado de calidad que el cliente cree que tiene el producto o servicio. Al ser
subjetiva del cliente, el sistema de gestin poco puede hacer para que la calidad
percibida sea igual a la realizada, salvo incrementar la comunicacin a fin de
conseguir la convergencia.
Prestaciones
" Sebastin, Miguel Angel; Bargueo, Vicente; Novo, Vicente. Gestin y Control de calidad. Madrid. UNED.
1994.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 31
Diferenciacin
Fiabilidad
Conformidad
Duracin
Asistencia tcnica
Esttica
Es muy subjetiva y est muy ligada a la personalidad del usuario, que no tiene
por qu aceptar los cnones establecidos. La forma de un producto, su color, sabor,
tacto o sonido o grficos afectan de forma diferente a los diferentes usuarios. En un
programa de videojuegos la calidad que percibe el usuario est muy ligada a la
esttica (parte grfica, msica de fondo, diseo de los personajes, etc.).
se puedan ejecutar las funcionalidades de una forma fcil (facilidad de uso), que lo
hagas lo ms rpido posible y con el mnimo consumo de recursos (eficiencia), que
cuando las circunstancias lo pidan pueda modificarse fcilmente (mantenimiento)
y, por ltimo, que pueda transferirse de un entorno a otro (movilidad o
portabilidad).
Quizs, de las dimensiones manejadas, la del nivel ms bajo asumido es la
fiabilidad, ya que el software debe funcionar siempre que se requiera. Qu mayor
fmstracin que cuando se est de viaje con un porttil, no pueda utilizarse por un
incidente del sistema operativo.
El siguiente nivel exigido, el intermedio, es la funcionalidad. No slo el
software debe de tener las funcionalidades que dice tener, sino que debe
comunicarlas. Es decir, el usuario debe disponer de la informacin suficiente para
poner usar de forma eficaz todas las tareas. El manual de usuario de la aplicacin
es un componente ms del software.
En un nivel superior se encuentra la facilidad de uso (usabilidad). Adems de
hacer lo que debe hacer el software, debe de hacerlo de una forma fcil, natural y
amigable, de ah la importancia del diseo de las interfaces.
El resto de las caractersticas son complementarias de las anteriores, ya que lo
fundamental es que el software, en primer lugar, debe de funcionar, hacer lo que
dice que hace y de una manera fcil. La economa de recursos, la facilidad de
modificacin y el transporte del software aaden la miel a la hojuela de las tres
caractersticas fundamentales.
En los actuales mercados competitivos son los clientes los que determinan sus
necesidades y si los productos y servicios que se le ofrecen les satisfacen. De ah
que las empresas deban entender y conocer las necesidades, preferencias,
percepciones y valores de los potenciales clientes y, en base a ellos, y con el fin de
14
Arthur Andersen. La calidad en Espaa. Madrid. Cinco Das. 1995.
34 LA CALIDAD DEL SOFTWARE
De poco sirve que exista una poltica de calidad y que los directivos la lideren si
el resto del personal no se encuentra involucrado. Un factor fundamental para ello
se encuentra en la seleccin de personal, ya que la imagen que de la empresa se'
forman los clientes viene condicionada por el entusiasmo, motivacin y conviccin
que transmiten los empleados; por lo tanto, los candidatos seleccionados deben
tener unas actitudes y caractersticas acordes con la orientacin de la empresa. Las
empresas que consiguen implantar con xito este tipo de estrategia son las que han
dado prioridad a la inversin en formacin de sus empleados, convirtiendo esta
formacin en un mecanismo fundamental en el proceso de motivacin, ayudando a
establecer el espritu de equipo y cooperacin necesarios para que la gestin diaria
de la calidad alcance el xito.
7" La calidad debe ser el criterio que configure todos los sistemas y procesos de
la empresa
Para que la'calidad sea percibida hay que dar a conocer las ventajas
diferenciadoras que pueden ser cumplidos por la empresa para generar expectativas
en los clientes. Nunca deben anunciarse aspectos que sean falsos, ya que
defraudan, causan frustracin y suponen la prdida del cliente. Las estrategias
comunicacionales tienen como objetivo:
Aseguramiento de la calidad
3.1. Inspeccin
Hacia 1924 se establecen las bases del Control Estadstico de la Calidad, que
recibe su confirmacin durante la Segunda Guerra Mundial, contribuyendo a la
produccin de guerra que facilitara el triunfo a los Aliados. Las caractersticas son:
l5 Banks, Jeny. Profesor de la Escuela Industrial y de Sistemas Ingenieriles perteneciente al Instituto Tecnolgico
"La direccin debe definir la tarea de cada uno de los operarios especificando el
mtodo que deben de usar y cuantificando el tiempo que deben emplear en
realizarla."
La dcada de los sesenta est caracterizada por una nueva fase en la disciplina
del control de calidad. Era el principio de la denominada por Feigenbaum, en 1956,
Calidad Total. Antes de 1960 el control de calidad estaba esencialmente asociado a
la planta de fabricacin. Las estructuras de toma de decisin en el negocio no
utilizaban adecuadamente los resultados y recomendaciones emanadas de las
tcnicas estadsticas aplicadas. El concepto de calidad total presentaba la idea de
48 LA CALIDAD DEL SOFTWARE
Calidad dirigida Calidad total dirigida hacia el cuidado Pocas Aos noventa
al cliente del cliente y del servicio evidencia
de uso
Calidad dirigida Calidad total dirigida hacia el cliente Pocas Algunas
al mercado existente as como a clientes en evidencias evidencias
l9 Robert H. Dunn. "Quality Assurance", Encyclopedia of Software Engineenng, John Wiley & Sons, 1994. Pg.
20
Robert H. Dunn. "Quality Assurance", Encyclopedia of Software Engineering, John Wiley & Sons, 1994. Pg.
945. La traduccin es nuestra.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 53
''Robert H. Dunn. "Quality Assurance", Encyclopedia of Software Engineering, John Wiley & Sons, 1994. Pg.
945. La traduccin es nuestra.
54 LA CALIDAD DEL SOFTWARE
4.12. El futuro
6. COSTES DE LA CALIDAD
Los costes de la calidad son suma de otros tres costes: Los costes de las
acciones no previstas (costes de no-calidad), los costes de prevencin y los costes
de la inspeccin o costes de evaluacin.
Como puede deducirse de la figura para aumentar el beneficio es necesario
reducir principalmente los costes de la no calidad.
Mantenimiento
Planes de formacin
\ / Trabajo \ /
Operario: 20%
Son todos los costes relacionados con los errores de produccin. Antes o
despus de su entrega al cliente, incluyendo las acciones correctiva, la garanta o la
prdida de confianza del cliente.
Segn estudios de Arthur Andersen, la falta de calidad provoca las siguientes
consecuencias negativas para la empresa:
o Cuesta cinco veces ms obtener un cliente nuevo que retener a uno antiguo.
o Slo el diez por ciento de los clientes que han tenido una mala experiencia
vuelve a repetir la compra.
o Slo el cuatro por cientos de los clientes defraudados se lo comunica al
proveedor.
o Un cliente insatisfecho comenta su caso con, al mnimo, diez personas.
Costes
1 Costes no calidad
Calidad (%)
COSTE f BENEFllrSIO
' Roberts, Fred S. Measurement Theory with Applications to Decisionmaking, Utility, and the Social Sciences.
Encyclopedia of Mathematics and its Applications. Addison Wesley Publishing Cornpany, 1979.
Roberts, Fred S. Director del Centro de Matemticas Discretas y Teora de la Ciencia Computacional, consorcio
formado por las universidades de Rutgers y Princenton junto a diversas empresas tecnolgicas (AT&T, Lucent
Technologies, NEC, entre otras). Consultar la direccin de intemet http:// dimacs.mtgers.edu/index.html.
64 LA MEDIDA DE LA CALIDAD DEL SOFTWARE
"... por cada seis nuevos sistemas de programacin de gran tamao que
James E. Tomayco. "Milestones in Software Engineering", Encyclopedia of Software Engineering, John Wiley
& Sons, 1994. pp. 687-697. La traduccin es nuestra.
Fenton, Norman E. Sojiware Metrics. A Rigorous Approach. London, Chapman & Hall, 1992. Pg 5 . La
traduccin es nuestra.
Gibbs, W. Wayt. Licenciado en Fsica e Ingls por la universidad de Comell, afamado articulista de Scientijc
American, ha publidado numerosos artculos sobre el software y ciencias afines. Ha desarrollado labores de
investigacin en nanotecnologia y biotecnologia en el MIT. Consultar http:l/web.mit.edu/knight-sciencel
Gibbs, W. Wayt. "La crisis crnica de la programacin", Investigacin y Ciencia, Tendencias en Informtica.
Pg. 73.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 65
Medir es conocer, y este conocimiento nos permite avanzar sobre bases slidas.
Pero medir nos proporciona algo ms, nos posibilita aplicar las poderosas
herramientas que las matemticas nos ofrecen, facilitando la manipulacin de datos
con objeto de alcanzar una visin de la entidad estudiada que de otra forma hubiera
sido imposible obtener.
" Software Engineering Laboratory. Collected Software Engineering Papers. Vol.: X, SEL-92-003, November,
1992. Pg. 164. La traduccin es nuestra.
" Existen numerosos ejemplos que ratifican esta afirmacin. Muchos de ellos representaron el comienzo de una
nueva era para la investigacin o un avance sustancial en campos cientficos de muy diversa orientacin. Galileo
Galilei (1546-1642) invent el termmetro, paso fundamental para el desarrollo de la termodinmica. Evangelista
Torricelli (1608-1647) en 1643, realiz el experimento que permiti la invencin del barmetro. Henry Cavendish
(173 1 -181O), inventor de la balanza que lleva su nombre, permite el clculo de la masa de un cuerpo basndose en
la fuerza de atraccin ejercidas por ambas debido a la interaccin gravitacional. Willian Crookes (1832-1919)
invent el radimetro en 1875. Aparato diseado para la medida de la energa de una radiacin. O los modernos
sistemas del clculo de distancias basados en el haz lser, son ejemplos que nos permiten afirmar la importancia
que los cientficos de todas las pocas han dado a la obtencin de medidas fiables. Consultar enciclopedia Salvat
Universal. Barcelona. 1996.
l 3 Kelvin, Willian Thomson, referencia en: Alan L. Mackay. Diccionario de citas cientficas. Ediciones de la
Torre. 1992.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 67
l 4 Black, Joseph. Qumico y fisico escocs del siglo XVIII. Entre otras aportaciones descubri el calor latente y el
calor especifico. Consultar enciclopedia Salvat Universal. Barcelona. 1996.
l 5 Joule, James Prescott. Fsico britnico del siglo XIX. Estableci la teora mecnica del calor. Consultar
enciclopedia Salvat Universal. Barcelona. 1996.
68 LA MEDIDA DE LA CALIDAD DEL SOFTWARE
Este mtodo tiene como desventaja evidente el alto coste en tiempo y recursos
humanos necesarios para su implantacin, as como la subordinacin al nivel de
experiencia y conocimientos en el entorno que puedan aportar los tcnicos.
Como ventajas se podran indicar que las estimaciones parciales son
neutralizadas y se presenta una estimacin global. Por otro lado las estimaciones
suministradas por este grupo de expertos difcilmente pueden ser obviadas gracias
a la trascendencia que la organizacin otorga a este proceso al proporcionar
costosos recursos a esta tarea.
70 LA MEDIDA DE LA CALIDAD DEL SOFTWARE
La analoga
La ley de Parkinson
La mejor oferta
Se procura conocer hasta cunto el cliente est dispuesto a pagar y cules son
las ofertas de la competencia. El valor que permite lograr el proyecto se toma como
estimacin del esfuerzo.
1. Estimar no es repetir.
2. Estimar no es negociar.
3. Las estimaciones no admiten regateo.
4. Estimar no es dividir en partes una duracin fija.
5 . Un retraso en una fase de un proyecto implica un retraso proporcional en
todas las fases siguiente.
6. Si desea que se le proporcione una estimacin significativa, no sugiera la
respuesta.
7. Una estimacin til es una proyeccin en la que la probabilidad no es
optimista ni pesimista.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 71
Hay que tener en cuenta que los errores pueden ser de infravaloracin o de
sobrestimacin, cuya importancia sigue la ley de Brooke, en el primer caso, y la de
Parkinson, en el segundo. Los dos tipos de errores no se anulan uno al otro cuando
se hace la media de numerosos errores.
4.3. COCOMO
T = C E ~ Ecuacin 2.2
E = a ( K L D C )m(x)
~ Ecuacin 2.3
15
El valor m(x) en el caso del modelo bsico tiene como valor fijo la unidad.
Boehm consider quince factores de coste diferentes, agrupados segn el
siguiente esquema.
2.4. Tiempo.
2.4.1. Planificacin temporal del desarrollo requerida.
Cada factor es valorado por separado en una escala ordinal de seis puntos (muy
bajo/bajo/nominal/alta/rnuy altalextra alta). A partir de las tablas hechas pblicas
por Boehm se asigna un valor numrico a cada factor y se aplica la ecuacin 2.4, el
resultado es el factor de ajuste del esfuerzo.
4.4. SLIM
D , = K I ~ ~ ~ Ecuacin 2.7
LA CALIDAD DEL SOFTWARE Y S U MEDIDA 77
Q 1 2 3 4 5
5. MEDIDA
5.1. Definiciones
Se puede clasificar las medidas realizadas en dos tipos bien definidos, medidas
directas y medidas indirectas. Se definen de la siguiente manera:
l 6 Fenton, Norman. Profesor de la Universidad de Queen Mary (Universidad de Londres). Ha sido investigador
principal de en numerosos proyectos relacionados con la medida del software, mtodos formales y aspectos
tericos de la ingeniera del software. Consultar Encyclopedia of Software Engineering, John Wiley & Sons, 1994.
l7 Fenton, Norman E. Sojiware Metrics. A Rigorous Approach. London, Chapman & Hall, 1992. Pg. 3. La
traduccin es nuestra.
'' Fenton, Norman E., op. cit. pg. 17. La traduccin es nuestra.
l9Fenton, Norman E., op. cit. pg. 19. La traduccin es nuestra.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 79
c (C, R)
siendo:
20
Fenton, Norman E., op. cit. pg. 21. La traduccin es nuestra.
80 LA MEDIDA DE LA CALIDAD DEL SOFTWARE
Matemticamente:
N CN, P)
siendo:
5.3. Escalas
Maurice ~ a l s t e a d fue
~ ' el primer investigador que de forma consistente propuso
un proceso de medida para el software. Para ello se apoy en diferentes fuentes
tericas, que van desde la sicologa del conocimiento, teora de la informacin o la
termodinmica, hasta concretar un proceso de medida determinado. La filosofa
bsica en la que asent su teora fue que la comprensin del software era similar al
proceso mental de manipulacin de seales. Halstead defini un conjunto de
medidas que pueden ser extradas del cdigo fuente del programa. Su influencia en
'' Halstead, Maurice H. Graduado en meteorologa por la universidad de Berkeley en 1940, doctor por la
universidad de Jonhs Hopkins de Baltimore, es considerado uno de los pioneros en el software para computadoras.
Realiz importantes aportaciones en la mtricas del software a las que inicialmente las denomin "Termodinmica
del Software". Consultar el sitio www.itee.uq.eduau.
84 LA MEDIDA DE LA CALIDAD DEL SOFTWARE
Estas deficiencias han llevado a que las medidas propuestas por Halstead hayan
sido prcticamente eliminadas del contexto industrial, a excepcin de algunos
experimentos aislados. A pesar de esta afirmacin hemos encontrado investigadores
22 Baker, A.L. Matemtico britnico condecorado con la Medalla Fields en 1970 por su trabajo en el campo de la
teora de los nmeros. Consultar el sitio hnp:l/www.britannica.com.
23
Zweben, Stuart. Profesor de la universidad del Estado de Ohio y responsable del Departamento de Ciencia de la
Informacin y la Computacin. Estudioso de la ingeniera del software, ha centrado sus estudios en la medida de la
calidad del software. Consultar Encyclopedia of Software Engineering, John Wiley & Sons, 1994.
24
Curtis, Bill. Conocido internacionalmente por sus investigaciones sobre la medida del software, diseo de
interfaces o factores humanos y de organizacin que afectan al proceso software. Doctor por la universidad
Cristiana de Tejas, entre otros ttulos, ha publicado casi un centenar de artculos y desarrollado su carrera en
prestigiosos centros de estudio. Consultar Encyclopedia of Software Engineering, John Wiley & Sons, 1994.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 85
que no han perdido toda la esperanza en los procesos propuestos por Halstead.
Alguno de ellos incluso lamenta la muerte de este investigador pues consideran que
su talento hubiera podido superar las crticas que ahora recaen sobre su teora.
A mediados de la dcada de los setenta surgi un gran inters por la medida del
software basado en el control de flujo de un programa o mdulo. Este hecho
coincidi con el auge de la programacin estructurada como aproximacin sensible
al desarrollo detallado del diseo de mdulos. En este contexto terico un sistema
un programa fcil de leer, desarrollar, mantener y corregir es aquel que se
encuentra diseado bajo un limitado nmero de estructuras de control.
La medida clsica del control de flujo es la denominada "complejidad
ciclomtica". Esta medida fue desarrollada por el cientfico norteamericano
internacionalmente conocido en el mbito de la medida del software por sus
aportaciones en este campo, Thomas ~ c ~ a bEsta e . es~ una
~ medida basada en una
teora grfica, relacionada directamente con el nmero de "caminos" asociados a
un programa o mdulo. McCabe postul que un valor elevado de la complejidad
ciclomtica de un grafo que representa un mdulo o programa de forma directa,
implicara un grado elevado de dificultad en las propiedades de comprensibilidad y
facilidad de prueba. La razn de este discernimiento es que un valor elevado en la
complejidad ciclomtica implicara una densidad elevada de instrucciones tipo "IF,
WHILE" o "REPEAT". La incidencia de estas construcciones es un mayor grado
de dificultad a la hora de leer esos programas o probarlos, ya que implicaran un
mayor nmero de caminos a explorar al realizar pruebas de datos.
El trabajo de McCabe de 1976, es de obligada referencia en cualquier texto de
ingeniera del software al ser uno de los modelos ms originales y copiados de la
historia de la medida del software.
A pesar de este hecho han aparecido estudios crticos sobre la medida propuesta
por McCabe. Se demostr que muchos de los experimentos eran estadsticamente
sospechosos y que la complejidad ciclomtica no proporciona mejores predicciones
que aquellas que nos ofrece el modelo de las lneas de cdigo. Esta afirmacin se
soporta sobre numerosas experiencias empricas [Fenton, 19921.
Existen, adems, otras crticas realizadas hacia esta teora grfica. Por un lado la
falta de trascendencia dada por este modelo a las condiciones de un mdulo o
programa. As, por ejemplo, dos mdulos con igual complejidad ciclomtica son
enormemente distintos debido al uso de mltiples operadores booleanos,
expresiones aritmticas complejas o abuso de los "flags" en el programa. Otros de
25
MacCabe Thomas, J. Licenciado en matemticas por las universidades de Privilence y Connecticut. Prestigioso
consultor y autoridad en las reas de la calidad del software, tcnicas de validacin y pruebas del software.
Consultar Encyclopedia of Software Engineering, John Wiley & Sons, 1994.
86 LA MEDIDA DE LA CALIDAD DEL SOFTWARE
los problemas se encuentra -en el tratamiento de los datos. Dos programas pueden
tener igual complejidad ciclomtica, pero uno de ellos puede ser mucho ms difcil
de entender que el otro debido al nmero y extensin de las variables utilizadas por
cada uno de stos. A finales de los setenta y principio de los ochenta han aparecido
algunas variantes del modelo de McCabe que intentaban superar estas crticas.
Aparecen modelos que consideran el nivel de anidamiento o complejidad booleana
o tienen en cuenta factores asociados a los datos tratados y de qu forma, por parte
del programa.
Las medidas basadas en el control de flujo impulsaron un rea de aplicacin de
las medidas del software de enorme potencial. Si un programador utiliza un
detallado diseo, de forma que sea isomrfico con el cdigo final generado,
medidas tales como la complejidad ciclomtica pueden ser utilizadas durante la
fase de diseo detallado del programa.
Una de las mayores crticas vertidas sobre el modelo de McCabe es que haya
sido utilizado para medir ms factores de calidad que aquellos para los que fue
ideado. Muchos trabajadores, escondidos tras el paraguas del trmino complejidad,
han errneamente extendido ste hacia reas donde McCabe nunca intent ir.
26
Pamas, David Lorge. Profesor de Ingeniera Computacional y Electricidad de la universidad de McMaster,
Ontario. Miembro de Laboratorio de Investigacin de Comunicaciones del Instituto de Telecomunicaciones de
Ontario. Autor de ms de 150 publicaciones orientadas al estudio de la estructura del software, diseo de
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 87
En paralelo con el trabajo sobre la medida de los sistemas de diseo, los ltimos
aos de la dcada de los setenta y los primeros aos de la dcada de los ochenta
vieron algunos trabajos derivados de las medidas de las especificaciones. Las
medidas extradas de las especificaciones funcionales del sistema se idearon pare
estimar el coste y esfuerzo o para asegurar la productividad. Allan ~ l b r e t c es
h ~el~
investigador por excelencia en esta rea de estudio.
La medida propuesta por Albretch, "punto de funcionalidad, tiene en su nimo
medir el tamao funcional del software. Originalmente se intent en el
procesamiento comercial de datos.
~ ~ m o n desarroll
s~' un producto industrial basado en la idea original de
Albretch. Este modelo es utilizado, sobre todo, para administradores de grandes
bases de datos, en cuyos sistemas esta medida es de las ms populares.
Un problema achacado al punto de funcionalidad es que asume un limitado
nmero de aplicaciones tipo, principalmente sistemas basados en ficheros de gran
volumen, muy propios de entidades financieras, pero no puede considerarse en
sistemas hbridos tales como aquellos de control de stocks con un gran componente
de comunicaciones. En los primeros aos de los ochenta DeMarco present una
medida llamada " BANG que intentaba superar este hecho apoyado en factores de
ajuste que dependan del grado de fortaleza de datos y de funciones.
lenguajes, software de seguridad, entre otros campos de estudio. Consultar . Encyclopedia of Software
Engineering, John Wiley & Sons, 1994.
27
Kafura, Dennis G . Licenciado en matemticas por la universidad de San Francisco y doctor por la universidad
de Purdue, actualmente es responsable del Departamento de Ciencia de la Computacin del Instituto Politcnico
de la universidad de Virginia. Su labor investigadora ha alcanzado la programacin orientada a objeto,
computacin paralela, seguridad informtica, mtricas, entre otros campos. Consultar Encyclopedia of Software
Engineering, John Wiley & Sons, 1994.
28
Henry, Sallie. Doctora en Ciencia de la Computacin por la universidad del Estado de Iowa, ha trabajado en los
campos de la medida del software, metodologias de diseo y programacin orientada a objeto. Consultar el sitio
http://www.cs.vt.edu/
29
Albrech, Allan J. Internacionalmente conocido como inventor de la medida denominada anlisis del punto
funcin. Graduado por la universidad de Bucknell en 1949 como ingeniero elctrico y electrnico, trabaj en IBM
donde desarroll gran parte de su carrera. Se retir en 1998 desarrollando ahora una labor de consultor
independiente. Consultar Encyclopedia of Software Engineering, John Wiley & Sons, 1994.
30
Symons, Charles. Cientfico con ms de cuarenta aos de experiencia, fue pionero en la medida del software
desarrollando la tcnica denominada puntos funcin MKII. Comenz su carrera en el uso de ordenadores aplicados
a la energa atmica. Consultar Encyclopedia of Software Engineering, John Wiley & Sons, 1994.
88 LA MEDIDA DE LA CALIDAD DEL SOFTWARE
"un ejemplo de este tipo de organizaciones es la denominada en ingls Intemational Function Point Users Group
(IFPUG). Entidad orientada al desarrollo y mejora de la tcnica de medida del punto funcin y de su extensin
alrededor del mundo.
32 Boehm, Bany. Profesor de Ingeniera del Software y Director del Departamento de Ciencia Computacional en el
Centro de Ingeniera del Software. Doctor ingeniero por la universidad de UCLA en 1961, ha realizado numerosas
aportaciones a la ingeniera del software, tales como el modelo COCOMO, el Modelo Espiral o aproximaciones
tericas a la administracin del software, entre otras. Consultar Encyclopedia of Software Engineering, John Wiley
& Sons, 1994.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 89
33
Fenton, Norman E. Sofmare Metrics. A Rigorous Approach. London, Chapman & Hall, 1992. La traduccin es
nuestra.
34
Fenton, Norman E. Sofhoare Metrics. A Rigorous Approach. London, Chapman & Hall, 1992. Pg. 42. La
traduccin es nuestra.
90 LA MEDIDA DE LA CALIDAD DEL SOFTWARE
35
Fenton, Norman E., op. cit. pg. 43. La traduccin es nuestra.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 91
ser tan abundante como la combinacin de atributos internos sea posible. La tabla
2.6 muestra algunos atributos y su entidad asociada. segn la visin "METKIT".
Dos ltimas definiciones nos permitirn finalizar este repaso terico a la medida
del software.
El fin ltimo del proceso de medida es el clculo de alguna magnitud conocida
o predecir un atributo an inexistente. Este hecho nos lleva a dos definiciones
importantes.
36
Fenton, Norman E. SofhYare Metrics. A Rigorous Approach. London, Chaprnan & Hall, 1992. Pg. 48. La
traduccin es nuestra.
92 LA MEDIDA DE LA CALIDAD DEL SOFTWARE
en cualquier proyecto.
37
Fenton, Norman E. Op. Cit. pg. 48. La traduccin es nuestra.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 93
8. LA NORMA ISOlIEC9126
No podemos acabar este captulo sin hacer referencia a la norma ISOIIEC 9126.
Esta norma es trascendente por diversos motivos. Es un intento por normalizar la
medida de la calidad del software por parte de un organismo tan importante como
es el caso de ISO. Asume la medida del software a travs de una metodologa de
amplia utilizacin en las ciencias empricas como es la descomposicin jerrquica
en rbol. Considera la medida de la calidad a travs de la medida de atributos
directos, indirectos y medida de la calidad de uso, siguiendo la propuesta de Fenton
en su texto sobre la medida del software. La norma ISOIIEC 9126 tambin propone
un procedimiento de medida con objeto de ser una referencia de carcter
internacional.
Estudiaremos en detalle esta norma en el captulo VII.
Uso de recursos
fallos aprendizaje para cambios instalacin
Capacidad de Adherencia
Interoperatividad Operatividad Estabilidad Coexistencia
recuperacin a normas
Adherencia Software Facilidad Facilidad de
Seguridad
a normas atractivo para pmebas reemplazo
Adherencia Adherencia Adherencia Adherencia
a normas a normas a normas a normas
NORMALIZACI~NY CERTIFICACI~N:
NORMA ISO 9001:2000
El aseguramiento de la calidad es un modelo
planificado y sistemtico para proporcionar una adecuada
confianza en que un producto es conforme con los
requerimientos tcnicos establecidos'
1
Standards Coordinating Comminee of the IEEE Computer Society. Standars Glossary of Software Engineering
Tenninologv. IEEE. Nueva York, 1991. Pg. 60. La traduccin es nuestra.
Las normas son reglas metodolgicas y modelos adoptados por organizaciones
nacionales o internacionales que se dedican al establecimiento de estndares. Estas
organizaciones se apoyan en foros de expertos que se suelen constituir en comits
muy cualificados.
La Organizacin Internacional para la Estandarizacin, ms conocida por sus
siglas en ingls, ISO, propone gran cantidad de normativa en numerosos campos
tecnolgicos, y es un claro ejemplo de este tipo de instituciones. Su homlogo
nacional es AENOR, Asociacin Espaola de Normalizacin. Las normas
propuestas por la ISO, o por cualquier otra organizacin de caractersticas
similares, son recomendaciones, no disposiciones legales, es decir no poseen el
rango de Ley.
El Departamento de Defensa norteamericano (DoD), la Agencia Espacial
Europea (ESA), el Instituto de Ingenieros de Elctrica y de Electrnica
Norteamericano (IEEE), la Agencia 9Espacial Norteamericana (NASA) son
instituciones, entre otras muchas, especialmente activas en la publicacin de
normativas de gran impacto mundial.
Las empresas que siguen una determinada norma suelen querer demostrarlo
mediante el correspondiente certificado de la organizacin generadora del estndar,
y as evitarse gastos en demostrar que cumple las normativas en cada concurso al
que se presente o en cada propuesta a un posible nuevo cliente.
La certificacin, inicialmente, slo se haca sobre el grado de cumplimiento de
un determinado producto industrial sobre una determinada norma tcnica, y que,
por consiguiente, no era necesario comprobarlo a cada momento. La certificacin
alcanz tal difusin y prestigio que las empresas de servicio tambin quisieron
tener sus certificados, sobre todo el de calidad, ya que la sociedad actual demanda
fundamentalmente calidad. Pero en los servicios el producto es nico e irrepetible,
ello es particularmente aplicable a la fabricacin del software; un programa es
diferente a otro y una aplicacin no tiene nada que ver con otra aplicacin. Por lo
tanto lo que se certifica en estos casos no es el cumplimiento de la normativa por
parte del producto, sino que la empresa est organizada y sigue una metodologa
que, con una alta probabilidad, dar lugar a un servicio (software) de calidad. Se
certifica, en definitiva, el mtodo con el que la empresa desarrolla el producto final,
en este caso la aplicacin informtica.
La certificacin ms conocida es la asociada a la norma de calidad ISO 9001,
aunque existen otras certificaciones como la militar PECAL, para empresas que
desarrollan software para la OTAN, o la asociada al modelo CMM, que expide
Carnegie Mellon.
En Espaa, la certificacin ms extendida es la asociada a la norma de calidad
ISO 9001 :2000.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 97
4.1. Definicin
comprendido por todo el personal, ofrezca confianza a los clientes, sea eficaz y se
centre ms en prevenir que en detectar y corregir errores.
O. ndice.
l . Presentacin de la empresa.
1.1 Objeto y campo de aplicacin.
1.2 Necesidades del cliente.
1.3 Desarrollo del producto.
1.4 Objetivos de la calidad.
2. Normas para consulta.
3. Definiciones.
7
A. Senll y G. A. Stoll. Calidad total. ISO 9000. Las normaspara la calidad en lapractica. Ed. Gestin 2000.
Barcelona, 1994.
4. Poltica de calidad.
4.1 Responsabilidades delegadas.
4.1.1 Director de calidad.
4.1.2 Responsable de calidad de diseo.
4.1.3 Responsable de calidad de produccin.
4.1.4. Responsable de calidad de servicios.
4.2 Canales de comunicacin.
4.3 Amplitud de aplicacin.
4.4 Documentacin del sistema de calidad.
4.4.1 Registros de la calidad.
4.4.2 Explicacin de los registros.
4.5 Procedimientos operativos.
4.6 Planes de calidad.
4.6.1 Planes de formacin.
4.6.2 Plan de evaluacin de proveedores.
4.6.3 Plan de evaluacin del personal.
4.6.4 Plan de adquisicin de recursos.
4.7 Auditorias del sistema de calidad.
4.7.1 Programa de auditorias.
4.7.2 Contenido e informe de las auditorias.
4.8 Revisin y evaluacin del sistema.
4.9 Mejora de la calidad.
5. El desarrollo del producto.
5.1 Fase de recepcin y estudio del pedido.
5.2 Fase de diseo.
5.3 Fase de produccin.
5.4 Fase de pruebas.
5.5 Fase de instalacin.
5.6 Garantas.
6. Consideraciones financieras.
6.1 Recursos humanos.
6.2 Recursos materiales.
6.3 Otros recursos.
8
IEEE. Estandarfor developing soffware lyfe cycleproceses. Std 1074. IEEE computer society. New York, 1991.
- Definir los aspectos relacionados con la financiacin y viabilidad del
proyecto.
- Definir las metodologas, tcnicas y herramientas s utilizar.
- Planificar la gestin del proyecto software.
Este plan es especfico para cada proyecto, siguiendo las directrices del Manual
de Calidad y de sus Procedimientos y las normas requeridas por los clientes.
Siguiendo el estndar 7309 de la IEEE sobre planes de aseguramiento de la calidad
del software, el plan debe incluir:
9
IEEE. Std 730/1984. Standardfor software quality assuranceplans. IEEE. New York, 1984.
LA CALIDAD DEL SOFTWARE Y SU MEDlDA 103
p p p p p
lo IEEE. Std. 1074/1991. Standardfov developing sofhvare l f e cycleprocesses. IEEE Computer Society. New
York, 1991.
- Acomodacin de la norma a las necesidades de las partes contratantes.
- Revisin del contrato para valorar la capacidad de satisfacer los requisitos
de calidad exigidos y sus implicaciones econmicas.
- Requisitos tcnicos claramente definidos en las especificaciones del
contrato.
I
exigencias de la certificacin
No
A
1 Informacin
al solicitante
Manual de la calidad
procedimientos, otros
documentos aplicables
procedimientos, otros
documentos aplicables Informacin al solicitante
de la calidad
E3 Informe auditoria
8. LA FAMILIA DE NORMAS I S 0 9000
8.1. Antecedentes
Adems de que el protocolo inicial obliga a realizar una revisin de las normas
cada cinco aos, existen diversas razones provenientes del enfoque del Sistema de
Gestin de la Calidad definido por las normas ISO para realizar un cambio en las
normas.
A raz de un conjunto de encuestas a distintas organizaciones se determinaron
las siguientes razones:
Liderazgo.
Enfoque a procesos.
Mejora continua.
En este punto es significativo apuntar que la norma que sustituir a ISO 9000-
3:1997 an no se ha liberado por lo que la aplicacin a entornos propios del
desarrollo software se encuentra pendiente de adaptacin, por lo que se centrar la
atencin en la norma ISO 9000-3 al considerarse en esta norma y de forma expresa
aquellos conceptos estudiados en otras normas propias del desarrollo software. Se
introducirn, igualmente, conceptos propios de la norma publicada en el ao 2000
con objeto de apreciar el concepto general de la misma.
Planificar
Ejecutar
Medir
Actuar
- El compromiso de la direccin.
- El enfoque al cliente.
- La poltica de calidad.
- La planificacin.
- La administracin.
- La revisin por la direccin.
- Suministro de recursos.
- Recursos humanos.
- Instalaciones.
- Entorno de trabajo.
- Planificacin.
- Medicin y seguimiento.
- Control de las no conformidades.
- Anlisis de datos.
- Mejora.
Esta norma expone las recomendaciones para llevar a cabo la mejora del
sistema de gestin de la calidad y explicaciones adicionales con relacin a los
requisitos de la norma ISO 9001:2000. No es una directriz para cumplir con la
9001, sino recomendaciones a la direccin de la organizacin para obtener mejoras.
Consta tambin de 8 partes.
- Responsabilidades generales.
- Necesidades y expectativas.
- Poltica de calidad.
- Planificacin de la calidad.
- Administracin.
- Comunicacin.
- Documentacin y registro.
- Revisin.
- Recursos de personal.
- Entornos de trabajo, tanto squicos como fsicos, adecuados.
- Recursos de informacin.
- Recursos financieros.
- Infraestructuras y recursos naturales.
- Suministradores.
- Relativa al cliente.
- Satisfaccin del cliente.
- Auditoria interna.
- Financiera.
- Auto evaluacin.
- Procesos.
- Productos.
- Partes interesadas.
- Propietarios.
- Suministradores.
- Sociedad.
- Medio ambiente.
- Introduccin.
- Objeto y campo de actuacin.
- Normas para la consulta.
- Trminos y definiciones.
- Sistemas de gestin de la calidad.
- Responsabilidad de la direccin.
- Gestin de los recursos.
- Realizacin del producto.
- Medicin, mejora y anlisis.
"Se deben realizar verificaciones del diseo durante las fases apropiadas
del mismo (...). Se deben registrar las medidas de verificacin del
diseo""
Para procesos:
Para productos:
" UNE-EN ISO 9000-3. Gestin de la Calidad y Aseguramiento de la Calidad. Parte 3: Directrices para la
aplicacin de la Norma ISO 9001: 1994 al desarrollo, suministro, instalacin y mantenimiento de soporte lgico.
AENOR. Madrid, 1998. Pg. 20
''Op cit pg. 34
l 3 UNE-EN ISO 9000-3 indica de forma expresa el concepto mantenibilidad. En traducciones realizadas por
nosotros se ha preferido hacer uso del texto "facilidad de mantenimiento".
Como en el estudio de otras normas, UNE-EN ISO 9000-3 aporta ejemplos sin
detallar el procedimiento de medida a utilizar apuntando al uso de tcnicas
estadsticas.
El modelo propugna la medida de la calidad explicando este concepto desde el
punto de vista de la satisfaccin del cliente.
Captulo 4
1.1. Definiciones
'Robert H. Dunn. "Quality Assurance", Encyclopedia of Software Engineering, John Wiley & Sons, 1994. Pg.
945. La traduccin es nuestra.
122 MODELOS, METODOLOGIAS Y ESTNDARES
Aportamos el concepto de industria clsica frente al de industria del software de igual manera que existen
evidentes diferencias y, al mismo tiempo, claros intentos de aproximacin entre la ingenieria del software y las
ingenieras ms tradicionales como la ingeniera del motor, aeronutica, de componentes mecnicos, electrnicos
etc.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 123
Los cinco niveles de madurez del proceso software definen una escala ordinal
permitiendo la medida de la madurez de una organizacin. Los niveles de madurez
son:
Inicial
Repetible
Han sido establecidos procesos bsicos de gestin del proyecto que permiten el
seguimiento de costes, planificacin y funcionalidad. La necesaria disciplina del
proceso consiste en la experiencia acumulada en xitos anteriores de proyectos con
similares caractersticas. Estas experiencias se convierten en la verdadera gua del
proyecto software. Desarrollos anteriores han podido ser documentados, medidos e
incluso mejorados, y el equipo de desarrollo ha sido entrenado en las mismas.
En este nivel se establecen polticas para la administracin del proyecto
software y se implementan procedimientos que permitan aplicar dichas polticas.
De nuevo la planificacin y administracin de los nuevos desarrollos se basan en la
experiencia de proyectos anteriores.
Debido a que el xito del desarrollo de aplicaciones se basa en gran medida en
experiencias anteriores, nuevos proyectos con requisitos muy diferentes de los ya
abordados implican un evidente riesgo para la organizacin.
El proceso software de Nivel 2 puede resumirse en un entorno disciplinado y
se encuentra bajo el control efectivo de un sistema de administracin guiado por
planes realistas basados en el rendimiento de proyectos anteriores. En este segundo
Nivel la direccin enrgica para el cumplimiento de las pautas de desarrollo
establecidas sigue siendo un factor fundamental de xito.
El proceso software para las actividades de direccin e ingeniera est
documentado, estandarizado e integrado en el proceso global de creacin,
mantenimiento y administracin del software de la organizacin. Se hacen uso de
prcticas propias de la ingeniera del software, los proyectos se adaptan a los
estndares establecidos y permiten un conocimiento de la situacin y progreso del
mismo, las versiones de programas y aplicaciones son controladas y su puesta en
explotacin es verificada y aprobada adecuadamente.
La existencia de mecanismos de verificacin, estndares, as como entradas y
salidas, permite establecer un proceso definido, apoyo bsico de administradores y
gua del personal a su cargo. Debido a la existencia de procesos bien delimitados es
posible controlar el progreso de los proyectos y actuar en consecuencia
permitiendo variaciones en los mismos si fuera necesario frente a la constatacin
de desviaciones que pudieran dar origen a retrasos en la entrega del producto o
falta de calidad en los mismos.
El proceso software de Nivel 3 puede ser resumido como estndar y consistente.
El trabajo de administradores, ingenieros de software se rigen por procedimiento
establecidos y modelos determinados que permiten que stos sean repetibles y
estables. Dentro de lneas de producto establecidas, coste, funcionalidad y agendas
estn bajo control y la calidad del software es seguida.
Gestionado
Optimizado
1 Nivel 5 1
Procesos de mejora
continua
I Organizacin
madura
estandarizados
Organizacin
Nivel 2
Objetivo: Clarificar requisitos.
rea Clave: Gestin de requisitos (RM).
Objetivo: Documentar los planes.
rea Clave: Gestin de proyectos (SPP).
Objetivo: Recoger medidas de progreso.
rea Clave: Seguimiento y control de proyectos (PTO).
rea Clave: Aseguramiento de la calidad (SQA).
Objetivo: Control de productos.
rea Clave: Gestin de configuracin (SCM).
rea Clave: Gestin de subcontratacin (SSM).
Nivel 3
Objetivo: Identificar el proceso.
Arrea Clave: Establecimiento del proceso de la organizacin
(OPF).
rea Clave: Definicin del proceso de la organizacin (OPD).
rea Clave: Gestin integrada del software (ISM).
rea Clave: Ingeniera del producto software (SPE).
Objetivo: Fomentar el trabajo en equipo.
rea Clave: Coordinacin entre grupos (IC).
rea Clave: Programa de formacin (TP).
Objetivo: Reducir defectos.
rea Clave: Revisin entre iguales (PR).
Nivel 4
Objetivo: Definir metas.
rea Clave: Gestin de la calidad del software (SQM).
Objetivo: Gestionar el progreso.
rea Clave: Gestin cuantitativa del proceso (QPM).
Nivel 5
Objetivo: Optimizar el rendimiento.
rea Clave: Prevencin de defectos (DP).
rea Clave: Gestin del cambio de procesos (PCM).
Objetivo: Adoptar nuevas tecnologas.
rea Clave: Gestin del cambio tecnologa aplicada (TCM).
Actividades
Compromiso
Describe las acciones que la organizacin debe lleva a cabo para asegurar que
se ha consolidado un proceso y es duradero. Suele afectar a las polticas de la
organizacin y al patrocinio de la alta direccin.
Capacidad
Medidas y anlisis
Describe los pasos a seguir para asegurar que las actividades se llevan a cabo de
acuerdo con el proceso establecido. Implica al grupo de aseguramiento de la
calidad.
Observando las reas clave de cada nivel es evidente que existen algunas
directamente relacionadas con el objeto de este libro. En concreto las reas claves
identificadas como "garanta de calidad del software" y en especial las reas clave
del Nivel 4, "gestin de calidad y medidas" y "anlisis del proceso" son las reas
en las que centraremos nuestro estudio.
En las "caractersticas comunes", antes comentadas, son destacables las
denominadas "medicin y anlisis". En stas, de forma expresa, se indica la
necesidad de medir el proceso software y utilizar dichos datos cuantitativos en los
correspondientes anlisis.
El propsito del "aseguramiento de la calidad del software", propio del Nivel 2,
es proporcionar a la direccin la adecuada visibilidad del proceso utilizado en el
proyecto software y de los productos que se estn construyendo. Los objetivos se
centran en planificacin de las actividades propias del aseguramiento del software,
la verificacin de la adhesin de los productos y actividades a estndares,
procedimientos y requisitos aplicables y la informacin al equipo de trabajo. De
forma expresa no se define la calidad del software y en cuanto a la prctica propia
de la medida y anlisis, sta se centra en la medicin de costes y calendario de
ejecucin del proyecto. Las medidas que se proponen en este modelo son las
siguientes:
132 MODELOS. METODOLOGIAS Y ESTNDARES
3
SEI. Capability Maturity Model for Software, Versin 1.l, TR. Software Engineering. Institute-Camegie Mellon
Universitiy. 1993. Pg. 5. La traduccin es nuestra.
SEI. Op. Cit. Pg. 36. La traduccin es nuestra.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 133
o Funcionalidad.
o Fiabilidad.
o Facilidad de uso.
o Facilidad de mantenimiento.
5
SEI. Op. Cit. Pg. 36. La traduccin es nuestra.
3. MODELO BOOTSTRAP
"El proyecto BOOTSTRAP deba fertilizar los campos para introducir moderna
tecnologa del software en las empresas. sta se hara a travs de un anlisis del
estado actual de la industria de la ingeniera del software identificando los cambios
potenciales y motivaciones que permitieran aceptar nuevos contextos para la
ingeniera del software"
Madurez BOOTSTRAP
Tecnologa
Innovacin tecnolgica
Sistema de Calidad Funciones para el ciclo de vida
Administracin de los Funciones independientes del
recursos ciclo de vida
Metodologa
--
Funciones de Procesos
Descripcin de procesos Funciones de Desarrollo
Funciones de Administracin Medida de los procesos Modelo de desarrollo
Administracin de configuracin Control de los procesos Requisitos, anlisis y definicin
y cambio Diseo de la arquitectura
Administracin de riesgos Implementacin y diseo
Administracin de proyectos detallado
Administracin de la calidad Prueba
Administracin de subcontratistas Operatoria y mantenimiento
Sistemas de propsitos especiales
Desde el nacimiento del proyecto SPICE hasta nuestros das una serie de hitos
se han sucedido en el proceso de creacin de la nueva norma. El largo camino
recorrido por sta nos da cuenta del cuidadoso estudio que requiere la creacin de
un modelo de estas caractersticas.
En el bienio 1993-1995 el borrador del producto fue desarrollado y se realizaron
las primeras pruebas de campo. En el verano de 1996 se reflejaron diferentes
cambios en la norma para ajustarla a los datos recogidos en las pruebas efectuadas.
En octubre de ese mismo ao se celebr un encuentro en Mjico del grupo de
trabajo nmero 10 (WG10) en el que la comunidad internacional, por primera vez,
pudo conocer las partes que definen el modelo. A mitad de noviembre de 1996 se
entreg a la secretara del comit SC7 las nueve partes de documento comenzando
el perodo de votaciones. En la actualidad el proyecto ha alcanzado el llamado
estado 90.92, es decir se encuentra en fase de revisin. La norma ISO/IEC 15504
ha rebasado, por tanto, el estado del borrador DTR (Draft Technical Report) y
tambin la votacin de los miembros del comit JTC1. En los aos sucesivos a la
publicacin de informe tcnico ste se encuentra sujeto a estas revisiones por parte
del ya nombrado comit JTC1. El objeto de este perodo es reexaminar la situacin
del informe tcnico publicado y, si es posible, alcanzar el acuerdo internacional
necesario para la publicacin de un estndar internacional que reemplace al
mismo.
y gua indicadora
Soporte
SUP. 1 Documentacin
MAN. 2 Admir SUP.2 Administracin de la
configuracin
SUP. 3 Aseguramiento de la
calidad
SUP. 4 Verificacin
SUP. 5 Validacin
SUP. 6 Revisin
SUP. 7 auditoria
RG. i Orien SUP. 8 Resolucin de
-..,.""'- problemas
1 delprocesc
el proceso
nrnrern
Incompleto
Realizado
Gestionado
Establecido
Predecible
Optimizado
Niveles y atributos
Nivel O Proceso Incompleto
Nivel 1 Proceso Realizado
Procesos propios del Ciclo de Vida Rendimiento del uroceso
Cliente K I \ F I2 P r o c e s c ~ . ~ \ d r n ~ n ~ ~ ~ r ' d d ~ ~
Adquisicion. Suministro, Operdcion Admini\iraiii>n del Kcndimitnto
Requisitos Administracin del Trabajo del
Inoenieria Producto
Deiarrollo,Mantenimiento Nivel 3. Proceso establecido
Sum~nistrador Definicin del Proceso
Documentacion, Adminstracion de Recursos del Proceso
~ o n f i g u r d ~ i oaseguramiento
n, de la calidad, Nivel 4 Proceso Predecible
vrrificdcion, validacion, revision, auditoria, Medida del Proceso
resoluc~onde problemas Control del Proceso
Administracion Nivel S Proceso Optimizado
Administracion, proyecto, cali+d y riesgos Cambio del Proceso
Organizac~m Mejora Continua
Oricntac~on,mejora, recursos humanos.
infraestmctura, medida y reuso
,
1 Nivel 1
Atri. Proc.: Rendimiento del Proceso (51%-100%)
Nivel 2
'ISO/IEC TR 15504-2. Information technology -Software process assessment - Parti2 A reference modelfor
processes andprocess capability. ISOIIEC. Suiza, 1998. Pg. 19.
' ISO/IEC TR 15504-2. Information technology -Software process assessment - Part:2 A reference model for
processes andprocess capability. ISOIIEC. Suiza, 1998. Pg. 20.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 147
ISO/IEC TR 15504-2. Information technology -Sofhoare process assessment - Part:2 A reference model for
processes andprocess capability. ISOIIEC. Suiza, 1998. Pg. 23.
enero de 2001 y la consideracin de las aportaciones recopiladas en esos siete
meses.
Para la elaboracin de MTRICA V.3 se han considerado mtodos
(EUROMETODO, SSADM V4, MAGERIT, Information Engineering), normativa
intet-nacional (ISO 12.207, ISOIIEC TR 15504/SPICE, UNE-EN ISO 9001 :2000,
IEEE 610.12- 1.990) y se han tenido en cuenta diferentes tecnologas propias de la
informtica y las comunicaciones (clientelservidor, orientado a objeto, reutilizacin
y bases de datos, entre otras).
La elaboracin de MTRICA se basa en la participacin de diferentes actores
relevantes en la ejecucin de proyectos informticos. En concreto los intervinientes
en la ltima versin han sido:
conviviendo y los aspectos de gestin que aseguran que un proyecto cumple sus
objetivos en trminos de calidad y coste."
EVS 1,
EVS 2, Situacin actual
EVS 3, Catlogo de Anlisis del
EVS 4, Requisitos Sistema de
EVS 5, y Objetivos Informacin
EVS 6. Alternativas
de Solucin
Solucinn Pronuesta
1. MODELOS CONCEPTUALES
1.1. Definiciones
Oliv define el modelo conceptual como "la bsqueda y definicin formal del
conocimiento general sobre un dominio que un sistema de informacin (SI)
necesita conocer para llevar a cabo las funciones requeridas."2
Como siempre que se habla de calidad, hay que distinguir entre la calidad del
producto y la calidad del proceso realizado para conseguirlo. En este caso, la
calidad del producto se relaciona con las caractersticas del modelo conceptual y la
calidad del proceso con la manera en que se desarrollan los modelos conceptuales.
Algunos autores, como Batni y Gregori entre otros, identifican la calidad de
los modelos con una lista de las propiedades ideales que deben tener los modelos
de datos (tabla 5.1). Estas listas pueden servir para mejorar la calidad de los
modelos, pero, en general, no son estructuradas, las definiciones no son precisas,
solapndose entre s, presentan objetivos no realistas, presuponen la existencia de
diseo/implementacin y otros defectos.
1 Boman et a1 (1997)
Facilidad de compresin, correccin
semntica, estabilidad, complecin
conceptual.
Por ello, otros autores, como Moody, Kesh, Piattini, etc., estudian la calidad
definiendo marcos de referencia para estructurar y organizar los conceptos claves y
las caractersticas en el modelado conceptual de los datos. En general, estos
marcos, al definir slo propiedades deseables y carecer de medidas cuantitativas,
no permiten medir eficazmente la calidad del producto obtenido.
Para evitar los sesgos en el proceso de evaluacin de la calidad, ~ o o d ~ ~
propuso en 1998 que era necesario contar con medidas objetivas y cuantitativas
para evaluar la calidad de los modelos conceptuales.
En los siguientes apartados se presentan algunas de las propuestas que sobre
mtricas de calidad de los modelos conceptuales han aparecido en los ltimos aos.
1" Clculo del valor de cada uno de los componentes ontolgicos. Se calcula
individualmente el valor de los componentes estructurales (las relaciones entre los
elementos que forman el modelo: adecuacin al problema: 01, validez, 02,
consistencia, 03, y concisin, 04) y de los componentes de contenido (los atributos
de las entidades: completitud, os, cohesin, 06, y validez, 07).
2" Clculo de los valores de los componentes de comportamiento. Este clculo
se hace a partir de los valores de los componentes ontolgicos relevantes para cada
uno de los componentes de comportamiento. Los componentes de comportamiento
a tener en cuenta son: facilidad de uso desde el punto de vista del usuario, S I ,
usabilidad desde el punto de vista del diseador, s2, facilidad de mantenimiento, s3,
precisin, s4 y rendimiento, SS.
3" Clculo de la calidad del modelo Esta clculo se hace a partir de los valores
de los componentes de comportamiento de acuerdo con la frmula:
' D. Moody, G. Shanks y P. Darke. Improving the Quality ofEntiQ Relatioship Models-Experience in Research
and Practice. Proceeding of 17'~.Intemational Conference on Conceptual Modelling. Singapur, 1998.
S. Kesh. Evaluating the quality ofentity relationship models. Information and Software Technology,vol. 37 no
12. 1995.
156 MTRICAS PARA MODELOS CONCEPTUALES
Los valores de los factores ontolgicos son, en algunos casos, estimados por
los usuarios y, en otros, calculados mediante frmulas ad hoc. Los procedimientos
son los siguientes:
Complecin
Integridad
5
D. Moody. Metrics for evaluating the quality of entity relationship models. Proceedings of
the 1 7 ' ~International Conference on Conceptual Modelling. Singapur, 1998.
158 MTRICAS PARA MODELOS CONCEPTUALES
Flexibilidad
Correccin
Simplicidad
- Nmero de entidades.
- Nmero de entidades y relaciones.
- Nmero de constructores.
Integracin
Implementabilidad
Comprensibilidad
De ellas, son mtricas de tamao las NE, NA, NCA, NDA y NMVA, y de
complejidad el resto.
Estas mtricas del modelo ER son objetivas y han sido validadas tericamente
por Genero, siguiendo la teora de Zuse, y empricamente mediante un caso de
estudio y dos experimentos controlados.
Brito y Carapuqa presentaron las mtricas MOOD para medir algunos de los
principales mecanismos de los modelos orientados a objetos (encapsulamiento,
F. Brito e Abreu y W. Melo. Evaluating the impact ofobject-oriented design on Sofrware Quality. Proceedings of
3rdlntemational Metric Symposium, 1996.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 161
Esta mtrica presenta medidas objetivas para la complejidad de las clases y han
sido validadas tericamente por los autores al corroborar que satisfacen los
axiomas de weyuker9. La validacin emprica fue realizada por Basil y sus
colaborado re^'^, que encontraron que la posibilidad de encontrar un fallo es
directamente proporcional al valor de DIT e inversamente al del NOC.
9.
Chindamber y C. Kemerer A metric suite for object oriented Desing. IEEE Transactions on Software
Engineering ,20 (6), 1994.
E. Weyuker. Evaluating software c o m p l e x i ~measures. IEEE Transaction Software Engineering, vol. 14, nm. 9,
1988.
l o V. Basili, L. Briand y W. Melo. A validation of Object-Oriented Desing Metrics as Quality Indicators. IEEE
Mtricas de tamao
Mtricas de herencia
enero'^ y otros
propusieron en el ao 2000 un conjunto de mtricas para la
medida de la complejidad estructural de los modelos de clase debido al uso de
relaciones UML. Se clasifican en: mtricas a nivel de modelo de clases y mtricas
a nivel de clase.
l 2 M- Genero, M. Piattini y C. Calero. An approach to evaluate the complexifv ofconceprual database models. 2"d
European Software Measurement Conference. Madrid. 2000.
M. Genero. Defining and validating metrics for conceptual models. Tesis doctoral. Universidad de Castilla-La
Mancha, 2002.
NaggH La mtrica Nmero de Jerarquas de Agregacin es el nmero total
de jerarquas de agregacin dentro de un modelo de clases.
MmDIT La mtrica Mximo DZT se define como el mximo de los valores
DIT obtenidos de cada clase del modelo de clases. El valor DIT es
la longitud de la ruta ms larga desde la clase a la clase raz de la
jerarqua de generalizacin.
MaxHAgg La mtrica Mximo HAgg es el mximo de los valores Hagg de
cada clase del modelo de clases. El valor HAgg, dentro de la
jerarqua de agregacin, es la longitud de la ruta ms larga desde la
clase hasta las hojas.
La tcnica del anlisis del Punto Funcin fue ideada por Allan Albrecht,
especialista de la firma IBM, a finales de los aos setenta. Dise este proceso de
I
Cliff Jones. Actas de las conferencias auspiciadas por la OTAN, Conference-London to analyze the Furure
Direcrion ofSofhyare. Abril 1993. Disponible en http:l/www.comlab.ox.ac.uWarchive. La traduccin es nuestra.
Cliff Jones es profesor de la universidad de Manchester experto en metodologias y procesos de desarrollo del
software.
166 EL ANLISIS DEL PUNTO FUNCIN
Nuestra experiencia con el uso del APF nos indica que la medida alcanzada al
utilizar este mtodo depende de forma dramtica de la experiencia del tcnico que
evala la aplicacin, ms an, la medida de una aplicacin, realizada por un mismo
tcnico vara sustancialmente si sta es ejecutada cuando la aplicacin posee un
nivel de detalle distinto en su documentacin. Una aplicacin correctamente
documentada implica una mejor y ms fcil medida que otra aplicacin con
deficiencias en su documentacin. El anlisis del Punto Funcin requiere un nivel
de disciplina elevado e incluso procesos de retroalimentacin que disminuyen
considerablemente la dispersin de los datos obtenidos. Conocer los problemas
asociados a esta herramienta de medida nos permite minimizar los errores.
Proponemos el uso del APF combinadas con estrategias de revisiones peer to peer.
Uno de los resultados inmediatos de adoptar este tipo de revisiones es la obtencin
de'datos ms objetivos. Generalmente la informacin acumulada por una empresa
u organizacin en la medida de Puntos Funcin alimenta bases de datos de carcter
corporativo que son utilizadas como repositorios de informacin que permiten
mejorar los niveles de exactitud en las previsiones de nuevos proyectos. Es muy
habitual el uso de este tipo de estrategias para cuantificar el esfuerzo a realizar para
la ejecucin de un nuevo proyecto. Los datos tienen difcil utilidad en otras
empresas pero son sumamente tiles si la organizacin que acomete este trabajo
insiste en el uso de esta medida y acumula datos histricos.
El anlisis del Punto Funcin es muy utilizado en ecuaciones, como la densidad
de defectos, al sustituir las lneas de cdigo por el nmero de Puntos Funcin en la
cuantificacin del tamao de la aplicacin informtica.
2.2. Identificar los lmites en los que se aplicar el conteo de los Puntos
Funcin
Identificar los lmites en los que se aplicar el conteo de los Puntos Funcin
significa determinar el borde entre el proyecto o aplicacin que est siendo medido
y aplicaciones externas o el dominio del usuario.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 169
Este paso requiere la colaboracin del usuario final. Consideramos muy til
para la ejecucin de este segundo punto la realizacin de reuniones con el
responsable funcional o usuario responsable de la aplicacin a medir. El punto de
vista por l aportado, unido a la informacin recabada del equipo de desarrollo,
sistemas e incluso gestor de la base de datos nos permite obtener el conocimiento
necesario para determinar adecuadamente los lmites de la aplicacin.
El anlisis del Punto Funcin propone una serie de conceptos asociados a los
datos y a las transacciones. Los Tipos de Funcin de Datos representan la
funcionalidad proporcionada al usuario final que permite dar respuesta a los
requisitos asociados a los datos tanto internos como externos. Los Tipos de
Funcin de Datos son los Ficheros Lgicos Internos y los Ficheros de Interfaz
Externos. Cuantifiquemos cada uno de ellos.
Afirmativo/Negativo.
o Fichero de Interfaz Externo
Regla 1.
Contabilizar un TED por cada campo no recurrente, nico y reconocible para el
usuario en un FLI o FIE.
Regla 2.
Contar un TED por cada campo en un FLI o FIE que existe porque el usuario
requiere que se mantenga una relacin con otro FLI. Es lo que se denomina como
clave externa.
Regla 3.
Considerar las siguientes tcnicas de implementacin como un simple TED,
para el grupo de campos considerado.
- Campos que aparecen ms de una vez en un FLI o FIE por razones
tecnolgicas o tcnicas de implementacin.
- Campos repetidos que son idnticos en su formato y existen para permitir
mltiples ocurrencias de un dato.
...
Este proceso permite medir la complejidad segn una escala ordinal de tres
puntos.
174 EL ANALISIS DEL PUNTO FUNCIN
- Para el sistema el
proceso lgico es nico
en relacin a otras
Entradas Externas.
- Para el sistema los
elementos de datos
identificados son
diferentes en relacin a
otras Entradas Externas.
* El concepto autocontenido proviene del entorno en el que se ide el mtodo APF y es equivalente al de
transaccin, entendida sta como interaccin con el sistema que permite asegurar la coherencia del sistema
despus de la finalizacin correcta o no de dicha transaccin.
Afirmativo/Negativo
recibida desde fuera de la aplicacin.
- Para el sistema, el
procesamiento lgico es
nico en relacin con otras
Entradas Externas.
- Para el sistema, los
elementos de datos
identificados son diferentes
en relacin con otras
Una salida externa (SE) se define como un proceso elemental que genera datos
o informacin de control y son enviados fuera de los lmites de la aplicacin.
Para identificar las Salidas Externas se han de buscar procesos elementales que
se encuentren dentro de la definicin propuesta. Las transacciones aspirantes se
someten, entonces, a un cuestionario. Slo cuando todas las preguntas tienen
respuesta afirmativa podemos resolver que las transacciones estudiadas son SE.
Desde un punto de vista prctico la identificacin de SE ha resumido en una
tabla dividida en tres columnas: procesos propuestos, preguntas tipo, respuestas y
un breve comentario (ver tabla 6.9).
178 EL ANALISIS DEL PUNTO FUNCION
AfirmativoMegativo
l
Regla 8 Para identificar el proceso una de
estas dos reglas debe ser aplicada:
- Para el sistema el
procesamiento lgico en la
entrada o salida es nico
desde el punto de vista de
otras Cuestiones Externas.
- Para el sistema los
elementos de datos en la
entrada o salida son
diferentes a otras Cuestiones
?
Externas en la aplicacin.
'LI.
ei usuaric
recurren1
Regla 1. Contar un TFR por cada FLI o FIE ledo durante el procesamiento de
una salida externa.
coi
S
pro
Fichero "A"
Fichero "B"
iReco
el usu
gas Externia
recuri
Para la Entrada.
Regla 1. Considerar un TFR por cada FLI o FIE ledo durante el procesamiento
de la Cuestin Externa.
Para la Salida.
rternas
Para la entrada
Una vez identificados para cada transaccin los tipos de ficheros referidos y
tipos de elementos de datos podemos establecer el nivel de complejidad. Para ello
se hace uso de las siguientes tablas.
Complejidad baja
Complejidad media
15
UFC = (Nmero de items de var iedad i) x ( p e s q) Ecuacin 6.7
i=I
Desde un punto de vista prctico el clculo de los Puntos Funcin sin ajustar se
determina obteniendo tablas tales como 6.21 y 6.22. Los datos incluidos en las
tablas son a ttulo de ejemplo.
186 EL ANALISIS DEL PUNTO FWCIN
po de
ncin incin
Tabla 6.21. Clculo de los Puntos Funcin sin ajustar para Ficheros Lgicos.
. --- .
Funcin idos
X3 = o
Medio X4= O
X6= 36
Medio X5= O
X7= 42
X3= 27
1 Medio X4= 4
X6= O
Tabla 6.22.Ejemplo del clculo de los Puntos Funcin sin ajustar para
transacciones.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 187
En este caso los Puntos Funcin sin ajustar se determinaran sumando los
factores indicados en la ltima columna de las tablas asociadas a transacciones y
ficheros:
a. Evaluar las 14 Caractersticas Generales del Sistema sobre una escala de valor
mnimo "0" y valor mximo "5". Esta estimacin se ha de basar en la
influencia de cada una de las 14 caractersticas sobre el sisterra medido.
b. Determinar el grado de influencia total (TID), sumando el grado de influencia
de cada una de las caractersticas evaluadas.
c. Aplicar la ecuacin :
1. Comunicaciones.
2. Procesamiento distribuido de datos.
3. Rendimiento.
4. Uso elevado de la configuracin.
5. ndice de transacciones.
6. Entrada de datos en-lnea.
7. Eficiencia y usuario final.
8. Actualizacin en-lnea.
9. Procesamiento complejo.
10. Reutilizacin.
1 1. Fcil instalacin.
12. Fcil operacin.
13. Mltiples sitios.
14. Facilidad de cambio.
El clculo del factor de ajuste es criticado por ser uno de los componentes ms
subjetivos del Anlisis del Punto Funcin.
Donde:
donde:
En este punto se establecen las frmulas para el clculo de los Puntos Funcin
para aplicaciones. Existen dos variantes a esta frmula.
Frmula para establecer los Puntos Funcin iniciales de la aplicacin.
Frmula para restablecer los Puntos Funcin para una aplicacin tras una
mejora que implica un cambio en la funcionalidad de sta.
La frmula que establece el valor inicial de los Puntos Funcin para una
aplicacin es:
donde:
Donde:
Identificar FIE
Leyenda
Se aconseja participacin del responsable
funcional.
'Juan Izquierdo. "La calidad del software asignatura pendiente en Espaa". Computenvorld, 7-13 septiembre de
2001.
194 LA NORMA ISOIIEC 9126
Factores de calidad
Criterios de calidad
la experiencia del responsable de la calidad del software y la relacin que debe establecer
entre medidas a realizar y criterios de calidad.
Modelo de McCall
Correccin
Hace el programa lo que quiero?
Fiabilidad
Lo hace de forma exacta todo el tiempo?
Eficiencia
Se ejecutar sobre el soporte fsico de forma
ptima?
Facilidad de uso
i,Puedo utilizarlo?
Figura 7.2. Modelo clsico de calidad del software propuesto por McCall.
Respuesta: S N o
Preguntas
R D I
1 Hay referencias ambiguas?
2 Todas las funciones definidas son utilizadas?
(-1
Figura 7.3. Pregunta tipo de una lista de comprobacin para criterios de calidad.
Las medidas propuestas pueden ser modificadas segn el criterio del tcnico. Es
muy habitual el uso de la medida de la fiabilidad considerando el nmero de
errores por el tamao de la aplicacin contabilizados segn el nmero de puntos
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 199
Modelo de Boehm
Independencia
Como nota es interesante destacar la dificultad de traduccin de algunos trminos ingleses al espaol. En
muchos casos asistimos a traducciones casi literales de los trminos anglosajones. En nuestro caso entendemos
ms adecuado el realizar traducciones ms libres pero con un significado que entendemos ms til y descriptivo
del vocablo ingls.
IS0.9126 Information technology - Software product evaluation - Quality characteristics and guidelines for
their use. Suiza, 1991. Pg. iv. La traduccin es nuestra.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 20 1
Medida de la
Calidad de uso -b calidad de uso
La calidad de uso es definida por la norma como "la capacidad del software que
posibilita la obtencin de objetivos especficos con efectividad, productividad,
satisfaccin y seguridad".
Es interesante observar como la norma ISOIIEC 9126 aborda el conocimiento
de la calidad dividindolo en calidad interna o externa de forma similar a como se
propone por Fenton y que ya explicamos en el captulo 2. En este caso los
conceptos de atributos internos y externos son menos definidos en la norma que en
la aproximacin de Fenton y no coinciden en su totalidad con esta teora, sin
embargo se observa una aproximacin similar al problema considerando diferentes
"niveles" en la calidad que se influyen entre s.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 203
Calidad
de uso
Eficacia. Capacidad del software para permitir a los usuarios alcanzar objetivos
especficos con precisin y completamente en un contexto especfico de uso.
Productividad. Capacidad del producto software para permitir a los usuarios
emplear recursos apropiados con relacin a la eficacia alcanzada en un contexto
especfico de uso.
Seguridad. La capacidad del producto software para alcanzar niveles aceptables
de riesgo hacia la gente, negocio, software, propiedad o medio ambiente, en un
contexto especfico de uso.
Satisfaccin. La capacidad del producto software para satisfacer al usuario en
un contexto especfico de uso.
La norma ISOIIEC define las mtricas internas como aquellas medidas que se
realizan sobre un producto software no ejecutable, tal como la norma indica "un
producto software intermedio debera ser evaluado usando mtricas internas".
Las mtricas externas son medidas del producto software obtenidas del
comportamiento del sistema en la fase de ejecucin del mismo. Finalmente las
mtricas de la calidad de uso, como tercer gran concepto propuesto por la norma,
mide la extensin en la que un producto alcanza las necesidades expuestas por el
usuario de forma especfica en relacin a los objetivos de efectividad, seguridad,
productividad y satisfaccin.
Subcaracterstica
Caracterstica
Se han de definir en esta fase las escalas propias de las medidas a realizar. Las
escalas han de ser divididas en rangos de acuerdo a niveles de satisfaccin de los
requisitos. Se suele elegir una escala 1-10 con objeto de adecuar la evaluacin a la
medida utilizada en la prctica comn de mtodos de evaluacin habituales.
METRICA Versin .3
Se apoya en
Definicin de requisitos
Seleccin de mtricas
ISO 9126
Mtricas
J Obtiene
m Medida
METRICA V 3.0
EVS-CAL 1.3
1 de Calidad
Tabla 7.2. Tareas asociadas a la actividad EVS-CAL1.
Es fcil identificar la tarea EVS-CAL 1.3 como aquella que nos permitir
completar el primer punto del procedimiento de medida. La tarea EVS-CAL 1.3
ser el resultado de las reuniones de trabajo realizadas por el jefe del proyecto y el
equipo de aseguramiento de la calidad, y como producto de esta tarea se
identificarn las propiedades de calidad del software. En este caso se ha
considerado la fiabilidad como la propiedad a evaluar. Es evidente que pueden
identificarse cuantas propiedades se consideren y que el equipo de trabajo detecte.
Cada una de las propiedades deber sufrir un proceso similar al que seguiremos
con el propuesto para el de fiabilidad con objeto de obtener su cuantificacin, su
medida. Es muy importante que los resultados de los equipos de trabajo sean
recogidos por escrito en un acta de reunin o cualquier otro medio que permita
identificar claramente el asenso conseguido y la responsabilidad asumida en la
misma por todos los componentes del equipo. Es demasiado habitual las
modificaciones de requisitos de todo tipo a lo largo del desarrollo de un programa
informtico, este hecho es sumamente importante ya que implica la modificacin
de todo el proceso de creacin del software y afecta a todo el proyecto. La
concrecin de criterios de calidad debe ser una exigencia para el equipo de
desarrollo y deben ser capturados con mximo rigor al inicio del proyecto evitando
posibles modificaciones futuras que se convierten en una seria amenaza a la
planificacin establecida. Es imprescindible involucrar al usuario y considerar su
"punto de vista" ya que no debemos olvidar que el producto software, como
cualquier otro producto comercial, debe tener como fin dar respuesta a los
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 213
o Seleccin de mtricas.
O Tasar.
o Valoracin del criterio.
METRICA V 3.0
Se apoya en
Selecciona
m Mtricas
4.2.2. Tasar
.. . . . . . . . . . . . . . . . . . .. .. .. .
. . . . . . . . . . . . .
4 . .. . .. . .. . .. . ... ... ....................
. . . . . . . . . . . . . . . . . . . .. .. .. .
. . . .. .. .. .. .. .. .. .. .. . . . .
....... . . . . . . . .....
. . ..~atiSfactorio.. . .
. ... ... ... ... ... ... ... ... ... ... ... ... ..
. . . . . . . . . . . . . . . . . . .. .. .. ..
Muy . . . . . . . . . . . . .
Insatisfactorio . ... ... ... ... ... ... .. . .. . .. . .. . .. . .. . ..
. . . . . .. .. .. .. .. .. .. .. .. .. . Insatisfactorio
. .. .. .. .. .. .. .. .. .. .. .. .. .
. . . . . . . . . . . . . . . . . . . .. .. .. .
. . . . .. .. .. .. .. .. .. .. .. .. ..
. . . . . . . . . . . . . .. .. .. .. .. .. .
. . . . . . . . . .
b
0,5 1,o
Densidad de defectos
1190,984 = 0,011
10190,984 = 0,110
Con las siguientes unidades:
' Marta D'Amore Benito. Ingeniero de Telecomunicaciones por la UPM, especiiista en Calidad del Software.
Para qu las mtrica? Boletn Interno Tecnolgico de Indra. Madrid.
222 MTRICAS DEL SOFTWARE
Tamao
Productividad = Ecuacin 8.1
Esfuerzo
Lneas de cdigo
Productividad = Ecuacin 8.2
Personas - mes
Por otro lado, las medidas ms habituales utilizadas para cuantificar el tamao
de una aplicacin informtica son:
Lneas de cdigo
La productividad es un atributo externo de los recursos, en concreto del recurso personal [Fenton y
Pfleeger, 19971.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 223
Hacer uso de esta medida requiere la definicin de lo que entendemos por lnea
de cdigo. De esta forma superaremos algunas ambigedades respondiendo a
varias preguntas anteriores. Una Inea de cdigo se define como: Cualquier lnea
de texto del programa excluyendo comentarios y lneas en blanco.
En muchos casos es interesante considerar tambin el nmero de lneas de
comentarios que posee un programa ya que, aunque no son comandos necesarios
para la ejecucin del mismo, s son una fuente de informacin muy til que pueden
influir en las posteriores modificaciones o en el mantenimiento de dicho programa.
As las lneas de cdigo sin considerar los comentarios se especificarn como
NLOC, y aquellas que consideren los comentarios se definen como CLOC. El
nmero de lneas totales sera:
node cavcteres
LOC = Ecuacin 8.5
a
Tokens
Funcionalidad
Reusabilidad
Es muy habitual que los programadores hagan uso ms de una vez de programas
o parte de stos, modificndolos o simplemente reutilizndolos sin llegar a
modificarlos. Esta prctica ha de influir en la medida del tamao del cdigo, es
considerado por algunos modelos.
La reusabilidad posee dos acepciones que convienen diferenciar. Por un lado
encontramos el cdigo desarrollado de forma externa al programa que se est
implementando y que Fenton defini como reuso pblico. Es evidente que para la
medida del programa en su conjunto se podra elegir alguna de las opciones
comentadas en este apartado tal y como se hubiera realizado con otros programas
ntegramente desarrollados por el equipo habitual de programadores. Por otro lado
se definira el reuso privado entendido como mdulos reutilizados dentro del
mismo producto. Es en este ltimo caso donde se puede aplicar ciertas tcnicas y
ecuaciones que permitan una mejor aproximacin al tamao real de nuestro
programa ya que no puede medirse de forma similar un cdigo desarrollado desde
cero que otro adaptado o simplemente utilizado ms de una vez.
El modelo de Boehm, COCOMO tiene en cuenta el hecho de la reusabilidad,
segn la ecuacin:
a
S , = S , +-S, Ecuacin 8.6
1 O0
S, = S, + S ,k Ecuacin 8.8
Hombre-Mes
Tamao de salida
Ecuacin 8.9
Personas - mes
Haciendo la sustitucin del numerador por cualquiera de las medidas del
tamao del software propuestas en el apartado anterior se obtendra la
productividad de un programador o del equipo de desarrollo. La productividad es
la medida de un atributo externo propio de un recurso. Se habla de la productividad
(atributo externo) del equipo de desarrolladores (recurso) al realizar el desarrollo
de cierto programa (producto). Se valora al equipo de profesionales no al proceso
de desarrollo.
Pero la medida hombre-mes tiene muchos problemas. Segn Brooks, "El
Hombre-Mes, como unidad para medir la magnitud de un trabajo, es un mito
peligroso y equivoco. Implica que los hombres y los meses son intercambiables.
Los hombres y los meses son bienes intercambiables slo cuando una tarea puede
repartirse entre varios empleados sin que sea necesaria una comunicacin entre
ellos. El coste vara, de hecho, como el producto del nmero de personas y el
nmero de meses. El avance, no".
En las tareas que pueden repartirse y que adems requieren una comunicacin
entre subreas, debe aadirse al total del trabajo a realizar el esfuerzo de
comunicacin.
La frontera de comunicacin que se ha aadido, se compone de dos partes: la
formacin y la intercomunicacin.
La formacin de los trabajadores incluye la tecnologa, los objetivos del trabajo,
la estrategia general y el plan de trabajo. Este esfuerzo varia linealmente con el
nmero de trabajadores.
El esfuerzo de intercomunicacin incluye la coordinacin de tareas, las
reuniones de resolucin de problemas, etc..
Puntos Funcin
Errores
nmero de errores
Calidad = Ecuacin 8.1 1
IUOC
Documentacin
nmero de paginas
Ecuacin 8.12
KLOC
Nivel de lenguaje
Como resumen de este apartado hay que indicar que la productividad no puede
determinarse exclusivamente como una expresin que envuelva el tamao de la
salida y el nmero de personas involucrada en dicha tarea. Debe considerarse la
calidad del producto resultante. Se han de realizar una batera de medidas en las
que se han de incluir datos relacionados con el tamao del programa resultante,
personal implicado en el proceso, coste del mismo y la calidad resultante.
Densidad de defectos
Tasas
Ecuacin 8.15
Con las ecuaciones 8.14J.15, 8.16 se pueden realizar una poltica de pruebas y
captura de medidas muy valiosas para el desarrollo de aplicaciones y su control de
calidad.
Las revisiones tcnicas basan su eficacia en la realizacin de verificaciones
manuales del diseo o cdigo. La principal preocupacin en estos casos en evitar
juicios personales o subjetivos, por lo que se articulan procesos tendentes a evitar
estas actitudes. No nos extendemos en este punto pues se escapa del objetivo de
este apartado
3. Fiabilidad
d,
R(n)= 1 - - Ecuacin 8.18
n
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 233
d
h(t) = f ( t ) =--(ln(l-~(t)))=- ln R(t) Ecuacin 8.21
1-F(t) dt dt
R(t) = e,
Ih(x)h
Ecuacin 8.23
Se define el tiempo medido entre fallos MTTF, acrnimo del ingls Mean Time
to Faillure como:
1
MTTF = - Cfl ti
i=1
Ecuacin 8.24
Este valor cambia segn el lenguaje utilizado. Para cada algoritmo particular ha
de existir un volumen mnimo. Halstead define la razn de volumen "L" como la
razn entre el volumen de la forma ms compacta de un programa y el volumen
del programa real. L debe ser siempre menor que uno.
Halstead teorizo que cada lenguaje poda ser clasificado por un nivel de
lenguaje, "1". Este valor parece estar relacionado con el nivel de abstraccin en
especificacin de procedimientos. A mayor nivel de lenguaje mayor nivel de
abstraccin.
Las crticas al modelo de Halstead se fundamentan en considerar errneas las
hiptesis de la psicologa cognitiva, base terica del mismo. Por otro lado se han
determinado errores estadsticos cometidos en la validacin de pruebas de medidas
obtenidas haciendo uso de las ecuaciones de Halstead [Fenton 19911. Otro hecho
fundamental es que las medidas propuestas en esta teora obvian el diseo
centrando su informacin en el cdigo.
Para conocer esta medida es necesario, por tanto, obtener la representacin del
programa haciendo uso del grafo de flujo. Los elementos bsico que conforman
dicho diagrama se consideran a continuacin:
Sentencia "until"
Sentencia "if'.
Sentencia "while".
Uno de los usos ms habituales del nmero ciclomtico est asociado con la
ejecucin de pruebas. El nmero ciclomtico nos informa del nmero de caminos
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 237
Henry y ~ a f u r midieron
a~ la complejidad basndose en el flujo de informacin
entre mdulos.
Se define un mdulo como "una secuencia identificable de instrucciones
contiguas", que no tienen que ser necesariamente de cdigo fuente (texto de
especificacin, de diseo, etc.). Se distinguen los atributos intra-mdzdos (atributos
de un mdulo vistos como independiente de los otros mdulos) y los atributos
inter-mdulos (atributos del sistema visto como un conjunto de mdulos ms o
menos dependientes unos de otros.
El anlisis del diseo puede hacerse como si se tratar de grafos, tales como
grafo de llamadas entre mdulos, grafos de control, grafos de dependencia de
datos, etc. En los grafos se pueden hacer diversas medidas:
S. Henry y D. Kafura. Software Sfructure metric base on information flow. IEEE Transaction on software
Engineering. Vol 7, no 5, 1981.
4
N. Fenton. Software Metrics. A rigourous Approach. Chapman & Hall. 1992.
238 MTRICAS DEL SOFTWARE
~ o o c defini
h~ la cohesin como una "medida del grado de conectividad entre
los elementos de un mdulo nico, en el caso general, o como el grado de
conectividad entre los elementos de una clase o un objeto nico, en el caso del
diseo orientado a objetos".
a) A llama a B.
b) B llama a A, y A devuelve un valor a B, y B lo utiliza inmediatamente.
c) C llama a la vez a A y a B, pasando un valor de A hacia B.
C. Calero, M. Piattini, C. Pascua1 y M:A. Serrano, Towards data warehouse quality rnetrics.Proceedinds of 31d
Workshop on desing and management of data warehouse, 2001.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 241
RSA(S) = NADT(S)/NAFT(FT).
RFK(S) Ratio de claves ajenas.
RT(Sc) Ratio de tablas. Cantidad de tablas dimensionales por cada tabla de hechos.
7
L. Oman, V. Storey y R. Wang. Systems Approaches to Improving Data Quality.
1994.
http://web.mit.edu/tdqm/www/papers/94/94-0S.html,
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 243
- - - --
8
D. Wixon y C. Wilson. The usability engineering framework for product design and evaluation. Handbook of
human-computer interaction. Elsevier Science, 1997.
6.2. Algunos mtodos de evaluacin
Usabilitv Inspection
Medidas de ~ielsenl'
7. MEDIDAS DE SEGURIDAD
12
L. Constantine y L. Lockwood. Software for use. A practical guide to the models and methods o j
usage.centered design. Addison-Wesley, 1999.
..
;
;;
f ALGORITMO j/ CLAVES
;!
j 1
........................................i i..................................i
i
CCESIBILIDAD
7.2. SSE-CMM
- Organizacin.
- Proyecto.
- Ingeniera de seguridad.
Longitud de la clave
Es una medida subjetiva. Esta mtrica propone una serie de niveles asociados a
las caractersticas de vulnerabilidad de un determinado algoritmo, como si se
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 249
ccs
Un algoritmo tiene nivel CCS (Conditionally Computational Secure) si se
puede decodificar utilizando claves que no son lo suficientemente largas para
lcanzar el nivel CS.
Mtricas bsicas
Mtricas de proceso