Está en la página 1de 6

El modelo de McCall El modelo de McCall organiza los factores en tres ejes o puntos de vista desde los cuales el usuario

puede contemplar la calidad de un producto: - Operacin del producto - Revisin del producto - Transicin del producto El modelo de McCall se basa en 11 factores de calidad, que se organizan en torno a los tres ejes de la siguiente forma: PUNTO DE VISTA FACTORES

Los factores de McCall se definen como sigue: 1. Correccin: Hasta qu punto un programa cumple sus especificaciones y satisface los objetivos del usuario. Por ejemplo, si un programa debe ser capaz de sumar dos nmeros y en lugar de sumar los multiplica, es un programa incorrecto. Es quizs el factor ms importante, aunque puede no servir de nada sin los dems factores. 2. Fiabilidad: Hasta qu punto se puede confiar en el funcionamiento sin errores del programa. Por ejemplo, si el programa anterior suma dos nmeros, pero en un 25% de los casos el resultado que da no es correcto, es poco fiable.

3. Eficiencia: Cantidad de cdigo y de recursos informticos (CPU, memoria) que precisa un programa para desempear su funcin. Un programa que suma dos nmeros y necesita 2 MB de memoria para funcionar, o que tarda 2 horas en dar una respuesta, es poco eficiente. 4. Integridad: Hasta qu punto se controlan los accesos ilegales a programas o datos. Un programa que permite el acceso de personas no autorizadas a ciertos datos es poco ntegro. 5. Facilidad de uso: El coste y esfuerzo de aprender a manejar un producto, preparar la entrada de datos e interpretar la salida del mismo. 6. Facilidad de mantenimiento: El coste de localizar y corregir defectos en un programa que aparecen durante su funcionamiento. 7. Facilidad de prueba: El coste de probar un programa para comprobar que satisface sus requisitos. Por ejemplo, si un programa requiere desarrollar una simulacin completa de un sistema para poder probar que funciona bien, es un programa difcil de probar. 8. Flexibilidad: El coste de modificacin del producto cuando cambian sus especificaciones. 9. Portabilidad (o Transportabilidad): El coste de transportar o migrar un producto de una configuracin hardware o entorno operativo a otro. 10. Facilidad de Reutilizacin: Hasta qu punto se puede transferir un mdulo o programa del presente sistema a otra aplicacin, y con qu esfuerzo. 11. Interoperabilidad: El coste y esfuerzo necesario para hacer que el software pueda operar conjuntamente con otros sistemas o aplicaciones software externos. Cada uno de estos factores se descompone, a su vez, en criterios. En el modelo de McCall se definen un total de 23 criterios, con el siguiente significado: 1. Facilidad de operacin: Atributos del software que determinan la facilidad de operacin del software. 2. Facilidad de comunicacin: Atributos del software que proporcionan al usuario entradas y salidas fcilmente asimilables. 3. Facilidad de aprendizaje: Atributos del software que facilitan la familiarizacin inicial del usuario con el software y la transicin desde el modo actual de operacin. 4. Control de accesos: Atributos del software que proporcionan control de acceso al software y los datos que maneja. 5. Facilidad de auditora: Atributos del software que facilitan el registro y la auditora de los accesos al software. 6. Eficiencia en ejecucin: Atributos del software que minimizan el tiempo de procesamiento. 7. Eficiencia en almacenamiento: Atributos del software que minimizan el espacio de almacenamiento necesario. 8. Precisin: Atributos del software que proporcionan el grado de precisin requerido en los clculos y los resultados. 9. Consistencia: Atributos del software que proporcionan uniformidad en las tcnicas y notaciones de diseo e implementacin utilizadas.

10. Tolerancia a fallos: Atributos del software que posibilitan la continuidad del funcionamiento bajo condiciones no usuales. 11. Modularidad: Atributos del software que proporcionan una estructura de mdulos altamente independientes. 12. Simplicidad: Atributos del software que posibilitan la implementacin de funciones de la forma ms comprensible posible. 13. Completitud: Atributos del software que proporcionan la implementacin completa de todas las funciones requeridas. 14. Trazabilidad (Rastreabilidad): Atributos del software que proporcionan una traza desde los requisitos a la implementacin con respecto a un entorno operativo concreto. 15. Auto descripcin: Atributos del software que proporcionan explicaciones sobre la implementacin de las funciones. 16. Capacidad de expansin: Atributos del software que posibilitan la expansin del software en cuanto a capacidades funcionales y datos. 17. Generalidad: Atributos del software que proporcionan amplitud a las funciones implementadas. 18. Instrumentacin: Atributos del software que posibilitan la observacin del comportamiento del software durante su ejecucin (para facilitar las mediciones del uso o la identificacin de errores). 19. Independencia entre sistema y software: Atributos del software que determinan su independencia del entorno operativo. 20. Independencia del hardware: Atributos del software que determinan su independencia del hardware. 21. Compatibilidad de comunicaciones: Atributos del software que posibilitan el uso de protocolos de comunicacin e interfaces estndar. 22. Compatibilidad de datos: Atributos del software que posibilitan el uso representaciones de datos estndar. 23. Concisin: Atributos del software que posibilitan la implementacin de una funcin con la menor cantidad de cdigo posible. La relacin Factores - Criterios que establece el modelo queda plasmada en la siguiente tabla: Factor Facilidad de uso Criterios - Facilidad de operacin - Facilidad de Comunicacin - Facilidad de Aprendizaje - Control de Accesos - Facilidad de Auditoria - Completitud - Consistencia - Trazabilidad - Precisin - Consistencia - Tolerancia a fallos - Modularidad

Integridad Correccin

Fiabilidad

Eficiencia Facilidad de mantenimiento

Facilidad de Prueba

Flexibilidad

Reusabilidad

Interoperabilidad

Portabilidad

Simplicidad Eficiencia en ejecucin Eficiencia en almacenamiento Simplicidad Consistencia Concisin Auto descripcin Simplicidad Auto descripcin Instrumentacin Auto descripcin Capacidad de expansin Generalidad Modularidad Generalidad Modularidad Independencia entre Sistema Software Independencia del hardware Modularidad Compatibilidad de comunicaciones Compatibilidad de datos Auto descripcin Independencia entre Sistema Software Independencia del hardware

En cuanto a las mtricas, McCall propuso 41 mtricas, sobre todo mtricas de tipo subjetivo, es decir, mtricas que evaluadas por personas diferentes podran dar como resultado valores diferentes. An hoy en da no hay mtricas formales y objetivas que cubran todos los criterios del modelo de McCall. Vamos a ver como ejemplo las mtricas asociadas al criterio de calidad completitud, dentro del factor de calidad correccin, segn McCall. Para evaluar la completitud es necesario dar respuesta a la siguiente lista de comprobacin: 1. No hay referencias ambiguas [R,D,I] 2. Todas las referencias a datos definidas son calculadas u obtenidas de una fuente externa [R,D,I] 3. Todas las funciones definidas son utilizadas [R,D,I] 4. Todas las referencias a funciones estn definidas [R,D,I] 5. Se han definido todas las condiciones y procesamientos para cada punto de decisin [R,D,I] 6. Concuerdan todos los parmetros de llamada a funciones definidos y referenciados [D,I] 7. Todos los informes de problemas se han resuelto [R,D,I] 8. El diseo concuerda con los requisitos [D] 9. El cdigo concuerda con el diseo [I]

Las letras R, D e I indican si la lista de comprobacin es aplicable a los requisitos (R), el diseo (D) y/o la implementacin (I). Se contesta a estas preguntas con un SI o NO, y luego se aplica la siguiente frmula matemtica que da como resultado el grado o nivel de calidad para dicho atributo:

De esta forma, la medida para la completitud es un nmero entre 0 y 1. En general, el modelo de McCall propone asociar a cada criterio una frmula deregresin del tipo:

Donde los rj son los coeficientes de regresin, y donde los mj representan las distintas mtricas asociadas al criterio. De la misma forma se propagarn a los factores los valores calculados para los criterios. La medida para la correccin, por ejemplo, se calcular aplicando la frmula:

Donde x es la medida para la completitud, y la medida para la trazabilidad y z la medida para la consistencia. Para que todas las mtricas se puedan combinar sin problemas, lo habitual es que se normalicen sus valores dentro del intervalo [0,1]. MODELOS DE EVALUACIN DEL SOFTWARE La revisin y las pruebas del software son procesos orientados a la deteccin de defectos en el producto. Boehm [1978] y McCall [1977] descomponen el concepto de calidad en propiedades ms sencillas de medir y de evaluar. El modelo de McCall se basa en la descomposicin del concepto de calidad en tres usos importantes de un producto de software desde el punto de vista del usuario: - Caractersticas de operacin - Capacidad para soportar cambios (ser modificado). - Adaptabilidad a nuevos entornos Cada capacidad se descompone en una serie de factores a saber: facilidad de uso, integridad, fiabilidad, correccin, flexibilidad, facilidad de prueba, facilidad de mantenimiento, transportabilidad, reusabilidad y interoperabilidad. Cada factor se descompone en criterios o propiedades internas del software que determinan su calidad: facilidad de operacin, facilidad de comunicacin, facilidad de formacin o aprendizaje, control de accesos, facilidad de auditora, eficiencia de ejecucin, eficiencia de almacenamiento, exactitud o precisin, consistencia, tolerancia a fallas, modularidad, simplicidad, completitud, facilidad de traza, auto descripcin, capacidad de expansin, generalidad, instrumentacin independencia entre sistema y software, independencia del hardware, compatibilidad de comunicaciones y compatibilidad de datos. Mc Call define el factor de calidad como FC, segn: FC = c1 x m1 + c2 x m2 +... + cn x mn

Donde los ci son los coeficientes de regresin y los mi son las mtricas que afectan al factor de la calidad. Estos criterios pueden ser evaluados mediante un conjunto de mtricas, las que se pueden calcular observando directamente el software. Para cada criterio McCall propuso una serie de mtricas, aunque, muchas de ellas slo pueden ser medidas en forma subjetiva. Las mtricas pueden estar en forma de listas de comprobaciones, para obtener el grado de los atributos especficos del software. Mc Call propuso un esquema de graduacin mediante una escala que va de cero (bajo) a 10 (alto) y utiliza como mtricas los criterios o propiedades internas del software citado anteriormente. La norma IEEE 1061 propone un modelo de medicin muy parecido al de McCall y la norma ISO 9126 [ISO, 1991] establece un modelo propio, similar al de McCall. En la dcada del ochenta, se comenz a usar modelos particulares de evaluacin para cada empresa o proyecto, implantndose el concepto de calidad relativa. Gilb [1988] propone la creacin de una especificacin de requisitos de calidad a redactar conjuntamente el usuario y los analistas, determinando as la lista de caractersticas que definan la calidad de cada aplicacin. Este enfoque se ha asociado a la filosofa QFD (Quality Function Deployment), o el despliegue de la funcin de la calidad que se aplica al mbito de la gestin de la calidad industrial y en el que se han basado modelos posteriores. Otros modelos son los de Basili y Rombach [1988] proponen el paradigma GQM, (objetivo-pregunta-mtrica ogoal-questionmetric) para evaluar la calidad de cada proyecto. Grady y Caswell [1987] presentan un enfoque de medicin inspirado en el control estadstico de procesos aplicado a la industria convencional de fabricacin, considerando a la calidad como la ausencia de defectos, que en este caso pueden ser fallas, defectos o errores.