Вы находитесь на странице: 1из 9

Modelo de McCall

La calidad de un sistema, aplicacin o producto es tan buena como los


requisitos que describen el problema, el diseo que modela la solucin, el
cdigo que conduce a un programa ejecutable y las pruebas que ejercitan el
software para detectar errores. Un buen Ingeniero del Software utiliza
mediciones que evalan la calidad del anlisis y los modelos de diseo, el
cdigo fuente y los casos de prueba que se han creado al aplicar la Ingeniera
de Software. Para lograr estas evaluaciones de la calidad en tiempo real, el
Ingeniero debe utilizar medidas tcnicas que evalan la calidad con
objetividad, no con subjetividad. Hace 25 aos se definieron factores de calidad
como los primeros pasos hacia el desarrollo de mtricas de calidad del
software.
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 (1) Operacin
del producto, (2) Revisin del producto y (3) Transicin del producto (Figura 21).
Cada punto de vista se descompone en una serie de factores que determinan
la calidad de cada una de ellos. Cada factor determinante de la calidad, se
descompone, a su vez, en una serie de criterios o propiedades que determinan
su calidad. Los criterios pueden ser evaluados mediante un conjunto de
mtricas. Para cada criterio deben fijarse unos valores mximo y mnimo
aceptables para cada criterio.

Figura 21: Factores de Calidad del Modelo McCall


El modelo de McCall se basa en 11 factores de calidad, que se organizan de la
siguiente forma teniendo en cuenta la visin del usuario mencionada
anteriormente (Tabla 16):

Tabla
del usuario respecto de los Factores de Calidad del Modelo de McCall

16: Visin

De acuerdo a la visn del usuario y sus factores de calidad asociados (visin de


la direccin), se puede determinar la visin del desarrollador para factor de
calidad establecido (Figura 22).

Figura 22: Visiones de los Factores de Calidad segn el Modelo de McCall


Caractersticas Operativas
Correccin - Es el grado en que un programa satisface sus especificaciones y
consigue los objetivos pedidos por el cliente 24. La pregunta asociada es:
Hace lo que quiero?
Confiabilidad - Es el grado en que se puede esperar que un programa lleve a
cabo sus funciones esperadas con la precisin requerida25. La pregunta
asociada es: Lo hace de forma fiable todo el tiempo?
Eficiencia Es la cantidad de recursos de computadoras y de cdigo
requeridos por un programa para llevar a cabo sus funciones. La pregunta
asociada es: Se ejecutar en mi hardware lo mejor que pueda?

Integridad Consiste en la capacidad de un sistema para resistir ataques


contra su seguridad. La pregunta asociada es: Es seguro?
Facilidad de Uso Es un intento de cuantificar lo amigable que puede ser
con el usuario. La pregunta asociada es: Es fcil de usar?
Capacidad de Soportar Cambios
Facilidad de Mantenimiento - Es el esfuerzo requerido para localizar y arreglar
un error en un programa. La pregunta asociada es: Puedo corregirlo?
Flexibilidad - Es el esfuerzo requerido para modificar un programa que ya
est en funcionamiento. La pregunta asociada es: Puedo cambiarlo?
Facilidad de Prueba - Es el esfuerzo requerido para probar un programa de
forma que se asegure que realiza su funcin requerida. La pregunta asociada
es: Puedo probarlo?
Adaptabilidad de nuevos entornos
Portabilidad - Es el esfuerzo requerido para transferir el programa desde un
hardware y/o un entorno de sistema de software a otro. La pregunta asociada
es: Podr usarlo en otra mquina?
Reusabilidad - Es el grado en que un programa (o partes de este) se puede
reusar en otras aplicaciones, en relacin al empaquetamiento y alcance de las
funciones que realiza el programa. La pregunta asociada es: Podr reusar
alguna parte del software?
Interoperabilidad - Es el esfuerzo requerido para acoplar un sistema con
otro. La pregunta asociada es: Podr hacerlo interactuar con otro sistema?
En el esquema de puntuacin se usan las siguientes mtricas de calidad del
software:
Facilidad de Auditoria - Es la facilidad con que se puede comprobar la
conformidad con los estndares.
Exactitud - Consiste en la precisin de los clculos y el control.
Estandarizacin de Comunicaciones - Es el grado de empleo de estndares
de interfaces, protocolos y anchos de banda.
Completitud - Es el grado con que se ha logrado la implementacin total de
una funcin.
Concisin - Consiste en lo compacto que es el programa en trminos de lneas
de cdigo.
Consistencia - Es el uso de un diseo uniforme y de tcnicas de
documentacin a lo largo del proyecto de desarrollo de software.
Estandarizacin en los datos - Consiste en el uso de estructuras de datos y
de tipo estndar a lo largo de todo el programa.

Tolerancia de Errores - Es el dao que se produce cuando el programa


encuentra un error.
Eficiencia en la Ejecucin - Es el rendimiento en tiempo de ejecucin de un
programa.
Capacidad de expansin - Es el grado en que se puede ampliar el diseo
arquitectnico de datos o procedural.
Generalidad - Consiste en la amplitud de aplicacin potencial de los
componentes del programa.
Independencia del Hardware - Es el grado en que el software es
independiente del hardware en que opera.
Instrumentacin - Es el grado en que el programa muestra su propio
funcionamiento e identifica errores que aparecen.
Modularidad - Consiste en la independencia funcional de los componentes del
programa.
Facilidad de Operacin - Es la facilidad de operacin de un programa.
Seguridad - Consiste en la disponibilidad de mecanismos que controlen o
protejan los programas o datos.
Auto-Documentacin - Es el grado en que el cdigo fuente proporciona
documentacin significativa.
Simplicidad - Es el grado de facilidad con que se puede entender un
programa.
Independencia del sistema de software - Es el grado de independencia del
programa respecto a las caractersticas del lenguaje de programacin no
estndar, caractersticas del sistema operativo y otras restricciones del
entorno.
Trazabilidad - Consiste en la capacidad de seguir una representacin del
diseo o componente real del programa hasta los requisitos.
Formacin - Es el grado en que ayuda el software a manejar el sistema a los
nuevos usuarios.
La relacin entre los factores de calidad del software y las mtricas se muestra
en la siguiente tabla (Tabla 17). Debera decirse que el peso que se asigna a
cada mtrica depende de los productos y negocios locales.

GRAFICO METRICA CALIDAD DE SOFTWARE

Tabla 17: Relacin entre Factores de Calidad y Mtricas de Calidad del Software
segn McCall
Al comienzo del proyecto habr que especificar los requisitos de calidad del
software, para lo cual se seleccionarn los aspectos inherentes a la calidad
deseada del producto, teniendo en cuenta lo siguiente:

Las caractersticas particulares del propio producto que se est


diseando: por ejemplo, su ciclo de vida, es decir, 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 rpidamente implicar como
requisito su portabilidad
La relacin calidad-precio, que puede evaluarse a travs del coste de
cada factor de calidad frente al beneficio que proporciona. La siguiente
tabla muestra la relacin calidad-precio para cada factor considerado
(Tabla 18):

Factor de Calidad

Beneficio / coste

Correccin

alto

Fiabilidad

alto

Eficiencia
Integridad
Facilidad de uso

bajo
bajo
medio

Facilidad de mantenimiento

alto

Facilidad de prueba

alto

Flexibilidad

medio

Portabilidad

medio

Reusabilidad

medio

Interoperabilidad

bajo

Tabla 18: Beneficio / coste de los Factores de Calidad

La determinacin de las etapas del ciclo de vida, ya que es necesario


evaluar cada factor de calidad para conocer en cuales se dejan sentir
ms 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 prcticamente con todos los dems factores de


calidad.
Tambin habr que establecer valores deseables para los criterios, para lo cual
se emplearn datos histricos, el promedio en la industria, y con ellos se
concretarn los valores finales y otros intermedios o predictivos en cada
perodo de medicin durante el desarrollo, as como unos valores mnimos
aceptables. La explicacin para cualquier seleccin o decisin deber ser
adecuadamente documentada.
En la fase de desarrollo ser necesario implementar las mtricas elegidas,
analizar sus resultados y tomar medidas correctivas cuando los valores
obtenidos estn por debajo de los mnimos 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.

McCall. Fue el primer modelo en ser presentado en 1977, y se origin motivado


por USA Air Force y DoD21. McCall est organizado sobre tres tipos de
caractersticas de calidad:

Factores (especificar)
Criterios (construir)}
Mtricas (controlar)

Este modelo organiza 11 factores en tres ejes o puntos de vista desde los
cuales el usuario puede contemplar la calidad de un producto22. Cada factor
tiene asociado sus respectivos criterios. Ver tabla 7.
Tabla 7. Descripcin de los ejes de McCall