2. El modelo de McCall fue el primero en ser presentado en 1977, y se originó motivado por US Air
Force , se focaliza en el producto final, identificando atributos claves desde el punto de vista del
usuario estos atributos se denominan factores de calidad y son normalmente atributos externos
pero también se incluyen algunos atributos posiblemente internos.
Los factores de calidad son demasiados abstractos para ser medidos directamente, por lo que por
cada uno de ellos se introduce atributos de bajo nivel denominados criterios de calidad
McCall, planteo una categorización de factores que afectan la calidad del software
Operación del producto: características de operación.
Revisión del producto: habilidad para ser cambiado. Transición del producto: adaptabilidad al
nuevo ambiente.
Corrección: Hasta donde satisface un programa su especificación y logra los objetivos del
cliente.
Fiabilidad: hasta donde se puede esperar que un programa lleve a cabo sus funciones con la
exactitud requerida.
Eficiencia: La cantidad de recursos informáticos y de código necesarios para que un
programa realice su función.
Integridad: Hasta donde se puede controlar el acceso al software o a los datos por
personas no autorizadas.
Usabilidad: El esfuerzo necesario para aprender a operar los datos de entrada e
interpretar las salidas de un programa.
Facilidad de mantenimiento: El esfuerzo necesario para localizar y arreglar un error de un
programa.
Flexibilidad: El esfuerzo necesario para modificar un programa operativo.Facilidad de prueba: El
esfuerzo necesario para probar un programa para asegurar que realice su función pretendida.
Portabilidad: El esfuerzo necesario para transferir el programa de un entorno de sistema hardware
y/o software a otro entorno diferente.
Reusabilidad: hasta donde se puede volver a emplear un programa (o partes de un programa) en
otras aplicaciones.
3. Interoperabilidad: es el esfuerzo necesario para acoplar un sistema con otro.
Antes de comenzar a utilizar el modelo de McCall hay que seguir las siguientes pautas:
-Se aceptan los factores, criterios y métricas que propone el modelo.
-Se aceptan las relaciones entre factores y criterios, y entre criterios y métricas.
-Se selecciona un subconjunto de factores de calidad sobre los que aplicar los requisitos de calidad
establecidos para el proyecto
Al comienzo del proyecto habrá que especificar los requisitos de calidad del producto software,
para lo cual se seleccionarán los aspectos inherentes a la calidad deseada del producto, teniendo
que considerarse para ello:
Las características particulares del propio producto que se está diseñando: por ejemplo, su
ciclo de vida que si se espera que sea largo implicará un mayor énfasis en la facilidad de
mantenimiento y la flexibilidad, o bien si el sistema en desarrollo está destinado a un
entorno donde el hardware evoluciona rápidamente implicará como requisito su
portabilidad, ...
La relación calidad-precio, que puede evaluarse a través del coste de cada factor de
calidad frente al beneficio que proporcionaLa determinación de las etapas del ciclo de
vida donde es necesario evaluar cada factor de calidad para conocer en cuales se
dejan sentir más los efectos de una calidad pobre con respecto a cada uno de los
factores.
Las propias interrelaciones entre los factores debido a que algunos factores pueden entrar
en conflicto entre sí: por ejemplo, la eficiencia plantea conflictos prácticamente con todos
los demás factores de calidad. La interacción entre los diversos factores a evaluar queda
reflejada en la tabla I que indica la dependencia entre los factores de McCall.
También habrá que establecer valores deseables para los criterios, para lo cual se emplearán
datos históricos, el promedio en la industria y con ellos se concretarán los valores finales y otros
intermedios o predictivos en cada período de medición durante el desarrollo, así como unos
valores mínimos aceptables. La explicación para cualquier selección o decisión deberá ser
adecuadamente documentada.
En la fase de desarrollo será necesario implementar las métricas elegidas, analizar sus resultados
y tomar medidas correctivas cuando los valores obtenidos estén por debajo de los mínimos
aceptables.
Una vez finalizado el proyecto será necesario contrastar las medidas predictivas utilizadas y
comprobar si, en efecto, se pueden tomar como indicadores de los valores finales.
4. Ejemplos
Métrica de complejidad de la forma:.
MHK = longitud (i) x [f¡n(i) + fout(i)]2
MHK=100(1)x [10(1)+ 20(1)]2
100x[10+20]2
100x[30]2
[300]2
MHK=150
Módulos
Tamaño = n +a
Donde n es número de nodos (módulos) y a es el número de arcos (líneas de
control)
tamaño = 17 + 18 = 35
cohesión funcional fuerte: 90
CFF(i) = SU(SA(i))/señales (i)
Madurez del software.
IMS=(fat
IMS=(6-(2+1+2))/4
IMS=(6-(5))/4
IMS=(13)/4 IMS=0.25
Tiempo medio entre fallos:
medida secuencial para determinar la fiabilidad o probabilidad de fallos en el equipo
TMEF=∑
365X24 hrs
8760/12 fallos
Madurez
Mr = número de módulos en la versión actual
Fc = número de módulos en la versión actual que se han cambiado
Fa = número de módulos en la versión actual que se han añadido
Fd = número de módulos de la versión anterior que se han borrado en la
versión actual
IMS = [Mr – (Fa + Fc + Fd)]/ Mr
IMS=[10-(50+ 20+30)]/10
IMS= [10(100)]/10
IMS=1000/10 IMS=100