Documente Academic
Documente Profesional
Documente Cultură
' Roberts, Fred S. Meosuremenr Theory wirh Applicorionr 10 Deririonmukinb: Urilify. ond rhr Social Scirnces.
Encyclopedio ?fMorhemarics and i ü Applicarions. Addison Wesley Publishing Company, 1979.
Roberts, Fred S. Director del Centro de Matemáticas Discretas y Teoría de la Ciencia Computaeianal, consorcio
formado por las universidades de Rutgers y Prinienton junto a diversas empresas tecnol6gicas (AT&T, Lucent
Technologies, NEC, entre otras). Consultar la dirección de intemet http:/l dimacs.mtgen.edulindexhtml.
M LA MEDIDA DE LA CALIDAD DEL SOFTWARE
Más de veinte años después Norma E. Fenton se cuestiona "¿Algo ha ido mal o
esperamos demasiado, demasiado pronto?"3. Esta pregunta se justifica, cuatro
lustros después de la conferencia de Garmish, en la situación en la que el desarrollo
de programas para ordenador se encuentra sumido y que ~ i b b ilustras ~ de forma
contundente:
" ... por cada seis nuevos sistemas de programación de gran tamaño que
entran en servicio, otros dos quedan cancelados. Los proyectos de
desarrollo de programas de tamaño medio suelen consumir vez y media el
tiempo previsto, situación que empeora en los grandes. Y alrededor de tres
cuartas partes de todos los sistemas de gran tamaño son "fracasos
operativos", lo que significa que o no funcionan como se quería o no se
utilizan para nada."'
' Jamcs E. Tomayco. "Milestones in Software Engineering", Encyclopedia af Software Engineering, John Wiley
& Sons, 1994 pp. 687-697. La traducción es nuestra.
' Fenlun. Noman E. S<flwure Mrirics. A Higorous Approach. London, Chapman & Hall, 1992. Pág 5 . La
traducción es nuestra.
' Gibbs, W. Wayt. Licenciado en Fisica E InglEs por la universidad de Cornell, afamado articulista de Scienrific
Ameriron. ha oublidado numerosos articulas sobre el software v cicncias afincs. Ha desarrollado labores de
investigación en nanotecnologia y biotecnologia en el MIT. Consultar http:/lweb.mit.eduknight-sciencel
' Gibbs, W. Wayt. "La crisis crónica de la programación", Inve.~tigaci6ny Ciencia, Tendencias en Informática.
Pág. 73.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 65
Medir es conocer, y este conocimiento nos permite avanzar sobre bases sólidas.
Pero medir nos proporciona algo más, nos posibilita aplicar las poderosas
herramientas que las matemáticas nos ofrecen, facilitando la manipulación de datos
con objeto de alcanzar una visión de la entidad estudiada que de otra forma hubiera
sido imposible obtener.
' Software Enginccring Laboratoiy. Collected Software Engineering Papers. Vol.: X, SEL-92-003, November,
1992. P=g. 164. La traduccion es nuestra.
" Existen numerosos 4emplos que ratitican esta afimación. Muchos de ellos representaron el comienzo de una
nueva era para la investigación o un avance sustancial en campos cientificos de muy diversa orientación. Galileo
Galilei (1546-1642) inventó el termómetro, paso fundamental para el desarrollo de la termodinámica. Evangelista
Tomcelli (1608-1647) en 1643, realizó el experimento que permitió la invención del barómetro. Henry Cavendish
(1731-1810). inventor de la balanza que lleva su nombre, permite el cálculo de la masa de un cuerpo basándose en
la fuerza de atracción ejercidas por ambas debido a la interacción gravitacional. Willian Crookes (1832-1919)
inventó el radiómetro en 1875. Aparato diseñado para la medida de la energía de una radiación. O los modernos
sistemas del cálculo de distancias basados en el haz láser, son ejemplos que nos permiten afirmar la importancia
que los cicntificos de todas las épocas han dado a la obtención de medidas fiables. Consultar enciclopedia Salvat
Universal. Barcelona. 1996.
'' Kclvin. Willian Thomson, referencia en: Alan L. Mackay. Diccionario de citas cientificas. Ediciones de la
Torre. 1992.
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 67
" Black, Joseph. Quimico y fisico escocés del siglo XVIII. Entre otras aportaciones descubrió el calor latente y el
calor especifico. Consultar enciclopedia Salvat Universal. Barcelona. 1996.
" Joule, James Prescott. Física brithnico del siglo XIX. Estableció la teoria mecanica del calor. Consultar
enciclopedia Salval Universal. Barcelona. 1996.
68 LA MEDIDA DE LA CALIDAD DEL SOFTWARE
Este método tiene como desventaja evidente el alto coste en tiempo y recursos
humanos necesarios para su implantación, así como la subordinación al nivel de
experiencia y conocimientos en el entorno que puedan aportar los técnicos.
Como ventajas se podrían indicar que las estimaciones parciales son
neutralizadas y se presenta una estimación global. Por otro lado las estimaciones
suministradas por este gmpo de expertos dificilmente pueden ser obviadas gracias
a la trascendencia que la organización otorga a este proceso al proporcionar
costosos recursos a esta tarea.
70 LA MEDIDA DE LA CALIDAD DEL SOFTWARE
La analogía
La lev de Parkinson
La mejor oferta
Se procura conocer hasta cuánto el cliente está dispuesto a pagar y cuáles son
las ofertas de la competencia. El valor que permite lograr el proyecto se toma como
estimación 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 duración 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 estimación significativa, no sugiera la
respuesta.
7 . Una estimación útil es una proyección 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 infravaloración o de
sobrestimación, 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 ~ Ecuación 2.2
=n 15
,=I
m@,) Ecuación 2.4
El valor m(x) en el caso del modelo básico tiene como valor fijo la unidad.
Boehm consideró quince factores de coste diferentes, agrupados según el
siguiente esquema.
2.4. Tiempo.
2.4.1. Planificación temporal del desarrollo requerida
Cada factor es valorado por separado en una escala ordinal de seis puntos (muy
bajoibajolnominallaltaimuy altalextra alta). A partir de las tablas hechas públicas
por Boehm se asigna un valor numérico a cada factor y se aplica la ecuación 2.4, el
resultado es el factor de ajuste del esfuerzo.
4.4. SLIM
K =L ~(ck3
/ td4) Ecuación 2.6
técnicas automatizadas
D , = K I ~ ~ ~ Ecuación 2.7
LA CALIDAD DEL SOFTWARE Y SU MEDIDA 77
O 1 2 3 1 E
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:
"' Fenton, N o m a n . Profesor de la Universidad de Queen Mary (Universidad de Londres). Ha sido investigador
principal de cn numerosos proyectos relacionados con la medida del software, métodos formales y aspectos
teóricos de la ingenieria del software. Consultar Encyclopedia of Software Engineering, John Wiley & Sons, 1994.
Fenton. Norman E. Soflware Merrics. A Rl,qorous Approach. London, Chapman & Hall, 1992. Pig. 3 . La
traducclón es nuestra.
I X Fenton, Noman E., op. cit. pág. 17. La traducción es nuestra.
c (C, R)
siendo:
20
Fenton, N o m a n E., op. cit. pág. 21. La traducción es nuestra
80 LA MEDIDA DE LA CALIDAD DEL SOFTWARE
Matemáticamente:
N (N, P)
siendo:
5.3. Escalas
" Halstead, Maurice H. Graduado en meteorologia 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 computadaras.
Realizó imponantes aportaciones en la rnetncas del software a las que inicialmente las denominó "Termodinámica
del Software". Consultar el sitio *?vw.itee.uq.edulau.
84 LA MEDIDA DE LA CALIDAD DEL SOFTWARE
Estas deficiencias han llevado a que las medidas propuestas por Halstead hayan
sido prácticamente eliminadas del contexto industrial, a excepción de algunos
experimentos aislados. A pesar de esta afirmación hemos encontrado investigadores
" Baker, A.L. Matemático británico condecorado con la Medalla Fields en 1970 por su trabajo en el campo de la
teoria de los numeros. Consultar el sitio http:l/www.britamica.com.
" Zweben, Stuan. Profesor de la universidad del Estado de Ohio y responsable del Depanamento de Ciencia de la
Información y la Computación. Estudioso de la ingeniería del software, ha centrado sus estudios en la medida de la
calidad del software. Consultar Encyclopedia of Software Engineenng, John Wiley & Sons, 1994.
24
Cuctis, Bill. Conocido internacionalmente por sus investigaciones sobre la medida del software, diseño de
interfaces o factores humanos y de organización que afectan al proceso soítware. Doctor por la universidad
Cristiana de Tejas, entre otros titulos, ha publicado casi un centenar de articulas 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 críticas que ahora recaen sobre su teoría.
A mediados de la década de los setenta surgió un gran interés por la medida del
software basado en el control de flujo de un programa o módulo. Este hecho
coincidió con el auge de la programación estructurada como aproximación sensible
al desarrollo detallado del diseño de módulos. En este contexto teórico un sistema
un programa fácil de leer, desarrollar, mantener y corregir es aquel que se
encuentra diseñado bajo un limitado número de estructuras de control.
La medida clásica del control de flujo es la denominada "complejidad
ciclomática". Esta medida fue desarrollada por el cientifico norteamericano
internacionalmente conocido en el ámbito de la medida del software por sus
aportaciones en este campo, Thomas ~ c c a b e . ~ Esta
' es una medida basada en una
teoria gráfica, relacionada directamente con el número de "caminos" asociados a
un programa o módulo. McCabe postuló que un valor elevado de la complejidad
ciclomática de un grafo que representa un módulo o programa de forma directa,
implicaria un grado elevado de dificultad en las propiedades de comprensibilidad y
facilidad de prueba. La razón de este discernimiento es que un valor elevado en la
complejidad ciclomática implicaria una densidad elevada de instmcciones tipo "IF,
WHILE" o "REPEAT". La incidencia de estas constmcciones es un mayor grado
de dificultad a la hora de leer esos programas o probarlos, ya que implicarían un
mayor número de caminos a explorar al realizar pruebas de datos.
El trabajo de McCabe de 1976, es de obligada referencia en cualquier texto de
ingeniería del software al ser uno de los modelos más originales y copiados de la
historia de la medida del software.
A pesar de este hecho han aparecido estudios críticos sobre la medida propuesta
por McCabe. Se demostró que muchos de los experimentos eran estadísticamente
sospechosos y que la complejidad ciclomática no proporciona mejores predicciones
que aquellas que nos ofrece el modelo de las líneas de código. Esta afirmación se
soporta sobre numerosas experiencias empíricas [Fenton, 19921.
Existen, además, otras criticas realizadas hacia esta teoría gráfica. Por un lado la
falta de trascendencia dada por este modelo a las condiciones de un módulo o
programa. Así, por ejemplo, dos módulos con igual complejidad ciclomática son
enormemente distintos debido al uso de múltiples operadores booleanos,
expresiones aritméticas complejas o abuso de los "flags" en el programa. Otros de
" MacCabe Thomas,J. Licenciado en matemáticas por las universidades de Privilence y Cannecticut. Prestigioso
consultor y autoridad en las áreas de la calidad del software, técnicas de validacicin y pruebas del software.
Consultar Encyclopedia of S o h a r e Engineering, John Wiley & Sons, 1994.
86 LA MEDIDA DE LA CALIDAD DEL SOFTWARE
26
Parnas, David Lorge. Profesor de lngenieria Computacional y Electricidad de la universidad de McMaster,
Ontario. Miembro de Laboratorio de Invedigaci6n de Comunicaciones del Instituto de Telecomunicaciones de
Ontario. Autor de m i s de 150 publicaciones orientadas al estudio de la estructura del software, diseao de
LACALIDAD DEL SOFTWARE Y SU MEDIDA 87
En paralelo con el trabajo sobre la medida de los sistemas de diseño, los últimos
años de la década de los setenta y los primeros años de la década de los ochenta
vieron algunos trabajos derivados de las medidas de las especificaciones. Las
medidas extraídas 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 hes~el~
investigador por excelencia en esta área de estudio.
La medida propuesta por Alhretch, "punto de funcionalidad", tiene en su ánimo
medir el tamaño funcional del software. Originalmente se intentó en el
procesamiento comercial de datos.
~ ~ m o n sdesarrolló
~' 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 más populares.
Un problema achacado al punto de funcionalidad es que asume un limitado
número de aplicaciones tipo, principalmente sistemas basados en ficheros de gran
volumen, muy propios de entidades financieras, pero no puede considerarse en
sistemas híbridos tales como aquellos de control de stocks con un gran componente
de comunicaciones. En los primeros años de los ochenta DeMarco presentó una
medida llamada " B A N G que intentaba superar este hecho apoyado en factores de
ajuste que dependían del grado de fortaleza de datos y de funciones.
lenguajes, software de seguridad, entre otros campos de estudio. Consultar . Encyclopedia of Software
Engineexing, John Wiley & Sons, 1994.
'' Kafura, Dennis F. Licenciado en matemáticas por la universidad de San Francisco y doctor por la universidad
de Purdue, actualmente es responsable del Depanamento de Ciencia de la Computación del Instituto Politécnico
de la universidad de Virginia. Su labor investigadora ha alcanzado la programación orientada a objeto.
computación paralela, seguridad informitica, mktricas, entre otros campos. Consultar Encyclopedia of Software
Engineering, John Wiley & Sons, 1994.
'%enry, Sallie. DoEtora en Ciencia de la Computación por la universidad del Estado de lowa, ha trabajado en los
campos de la medida del software, metodologias de diseao y programación orientada a objeto. Consultar el sitio
http://ww.cs.vt.edul
'' Albrech, Allan J. Internacionalmente conocido como inventor de la medida denominada anAlisis del punto
función. Graduado por la universidad de Bucknell en 1949 como ingeniero eléctrico y elecn6nico. 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 Engineexing, John Wiley & Sons, 1994.
'O Symons, Charles. Cientifico con más de cuarenta años de experiencia, fue pionero en la medida del software
desarrollando la técnica denominada puntos función MKII. Comenzó su carrera en el uso de ordenadores aplicados
a la energía atómica. Consultar Encyclopedia of SoRware Engineeing, John Wiley & Sons, 1994.
88 LA MEDIDA DE LA CALIDAD DEL SOFTWARE
" Fenton, Noman E . Sofmare Melricr. A Rigoruus Approoch. London. Chapman & tlall, 1992. La traducci6~es
nuestra.
II
Fenton, N o m a n E . So&orr Metrics. A Rigorous Approoch. London, Chapman & Hall, 1992. Pig. 42. La
traducción es nuestra.
90 LA MEDIDA DE LA CALIDAD DEL SOFTWARE
3s
Fenton, Noman E., op. cit. pág. 43. La traducción es nuestra
LACALIDAD DEL SOFTWARE Y SU MEDIDA Y1
ser tan abundante como la combinación de atributos internos sea posible. La tabla
2.6 muestra algunos atributos y su entidad asociada. según la visión "METKIT".
l;
-
especificaciones...)
Esfuerzo
-
1 Proceso (diseño, pruebas, captura de
1 especificaciones...)
Reuso - 1 Producto (especificaciones, diseño, código.. .)
Productividad 1 1 1 Recurso (equipo de trabajo, programador,
Calidad
, lhardwar;;) ) );
Producto rueba con datos, diseño, códi o .. .
)
Dos últimas definiciones nos permitirán finalizar este repaso teórico a la medida
del software.
El fin último del proceso de medida es el cálculo de alguna magnitud conocida
o predecir un atributo aún inexistente. Este hecho nos lleva a dos definiciones
importantes.
36
Fenton, Noman E. Soflware Melrici. A R i p r u u s Approach. London. Chapman & Hall, 1992. PAg. 48. La
traducción es nuestra.
92 LA MEDIDA DE LA CALIDAD DEL SOFTWARE
en cualquier proyecto.
Reutilización etc.
8. LA NORMA ISOllEC9126
No podemos acabar este capitulo 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 través de una metodología de
amplia utilización en las ciencias empíricas como es la descomposición jerárquica
en árbol. Considera la medida de la calidad a través 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 también propone
un procedimiento de medida con objeto de ser una referencia de carácter
internacional.
Estudiaremos en detalle esta norma en el capitulo VII.
a nomas
Adherencia SoRware Facilidad Facilidad de
Seguridad
a nomas atractivo para pniebas reemplazo
Adherencia Adherencia Adherencia Adherencia
a nomas a nonnas a nomas a nomas