INGENIERIA DE SISTEMAS MAYO 2010 El modelo de McCall. Se basa en 11 Factores de calidad, que se organizan en torno a los tres ejes de la siguiente forma: Operacin del producto:
Facilidad de uso (Puedo ejecutarlo?)
Integridad (Es seguro?) Correccin (Hace el software lo que yo quiero?) Fiabilidad (Lo hace de forma exacta todo el T?) Eficiencia (Se ejecutar sobre mi HW lo mejor posible?)
Revisin del producto
Facilidad de mantenimiento (Puedo arreglarlo?) Facilidad de prueba (Puedo probarlo?) Flexibilidad (Puedo modificarlo?) Transicin del producto Facilidad de reutilizacin (Podr reutilizar parte del software?) Interoperabilidad (Podr comunicarlo con otros sistemas?) Portabilidad (Podr utilizarlo en otra mquina?)
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 de regresin 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]. Otras mtricas Otros ejemplos de mtricas son los siguientes: Fiabilidad = 1 - (nmero de errores/ nmero de lneas de cdigo) Facilidad de mantenimiento = 1 - 0.1 (nmero medio de das-hombre por correccin) Portabilidad = 1 - (esfuerzo para portar / esfuerzo para implementar) Flexibilidad = 1 - 0.05 (nmero medio de das-hombre por cambio) Otros indicadores que se pueden utilizar para evaluar la fiabilidad de un producto son los siguientes:
Sencillo programa de facturacin y control de existencias
realizado en lenguaje PHP que utiliza como motor de bases de datos MySQL. Galopn est pensado para ser utilizado por una pequea empresa y permite su utilizacin en una red local. Caractersticas principales: -
Gestin de artculos por familias y subfamilias
Gestin de clientes y formas de pago Gestin de proveedores Partes de trabajo Albaranes de clientes y proveedores Facturas de clientes y proveedores Presupuestos Estadsticas de ventas por cliente, producto y/o proveedor Todos los listados generados en PDF Copias de seguridad sencillas
El servidor y el cliente pueden funcionar en el mismo ordenador.
Sin embargo, es posible tener en una red local un ordenador funcionando como servidor y el resto, de menos potencia, ser clientes.
Operacin del producto:
Facilidad de uso (Puedo ejecutarlo?) Claro que si, si contamos con todas las herramientas necesarias podemos ejecutarlo, para nuestro proyecto utilizaremos la herramienta WAMP5, que es un software francs el cual esta compuesto por nuestro servidor WEB es Apache en su versin 2.0, como base de datos; MySQL 5.0 y nuestro lenguaje de programacin es PHP 5.1
Integridad (Es seguro?)
Claro que si es seguro, MySQL es una de las bases de datos mas segura del mercado, utiliza cdigo de encriptacin de hasta 256 bits y con PHP como nuestro lenguaje de programacin dar la seguridad necesaria a nuestros clientes y usuarios del sistema.
Correccin (Hace el software lo que yo quiero?)
Por ser software libre, el cdigo fuente es abierto a cualquier cambio
que le hagamos, pero su licenciamiento GPL, hace que publiquemos estos cambios en la pgina WEB o site de los desarrolladores del programa.
Fiabilidad (Lo hace de forma exacta todo el Tiempo?)
Por ser un sistema tipo cliente servidor, nuestro programa estar siempre listo a cualquier peticin del usuario a cualquier hora, sitio o lugar.
Eficiencia (Se ejecutar sobre mi HW lo mejor posible?)
No hay problemas ni conflictos con el hardware, la ejecucin es libre y transparente para el usuario final, por ser un software tipo cliente servidor, los clientes de la aplicacin no necesitan demasiados recursos de hardware para la ejecucin, simplemente si es local que se maneje una red 10/100 Mbps y a travs de la WEB con un ancho de banda mnimo de 512 Mbps.
Revisin del producto
Facilidad de mantenimiento (Puedo arreglarlo?) Desde que se tengan las herramientas necesarias si se puede, como es el caso de nuestro administrador de base de datos, para nuestro ejemplo ser: PhpMyAdmin
Y como editor de cdigo ser: NVU:
Facilidad de prueba (Puedo probarlo?)
El mismo software tiene la utilidad de instalar una base de datos de
prueba, con el fin de probar las diferentes opciones del men, y la escalabilidad del programa.
Flexibilidad (Puedo modificarlo?)
Claro como se dijo con anterioridad el PhpmyAdmin, me permite hacer modificaciones sobre las tablas y la base da datos y el NVU sobre el cdigo fuente del programa.
Transicin del producto
Facilidad de reutilizacin (Podr reutilizar parte del software?) Por ser cdigo abierto y si se cuenta con la experiencia necesaria para reutilizar parte del cdigo en otra opcin del men o consulta del programa, esta se pude hacer sin ningn problema.
Interoperabilidad (Podr comunicarlo con otros sistemas?)
Por el tipo de herramientas escogidas para nuestro proyecto, como PHP, MySQL y Apache, estas no tienen ningn tipo de restriccin en la comunicacin con otros sistemas operativos como GNU Linux o UNIX, ya que el protocolo TCP/IP ya es un protocolo universal de comunicacin entre diferentes sistemas, adems de ser el protocolo de Internet.
Portabilidad (Podr utilizarlo en otra mquina?)
No hay limitacin, lo puedes usar en n maquinas conectadas en una LAN o desde la Internet siempre y cuando sean Clientes, si las maquinas son servidores, tendrn que ser instaladas las herramientas para que nuestro programa puede ejecutarse sin ningn problema.
Conclusiones
Como se ha visto a lo largo de la presentacin de este trabajo,
hoy da se comienza a imponer la obligacin de normas de calidad del software donde un fallo en la informacin, o en el tratamiento de sta puede llevar a fallos catastrficos y de consecuencias imprevisibles. Por ello las organizaciones estn exigiendo controles de calidad ms rigurosos en la confeccin de su software.
Hoy da el tener implantados sistemas de calidad en la
empresa, debe llevar no solo l tener que instalar la metodologa del sistema de calidad sino tambin sistemas de informacin que controlen y coordinen el sistema, sistemas automticos, sistemas documentales, etc.
La implantacin de sistemas de calidad en cualquier empresa u
organizacin debe implicar que tambin el software que empleen los posea, y ello repercute en la obligacin de que sus proveedores de software los haya empleado en la elaboracin de sus productos.
La implantacin de sistemas de calidad evitaran defectos
provenientes de los sistemas de informacin.
Seguir cada uno de los pasos de aplicar el modelo McCall, es
saber con certeza la robustez, fiabilidad de nuestro programa, ya que cada uno de sus lineamientos, nos llevan a evaluar cada una de las fortalezas o debilidades de nuestro programa.
Bibliografa
De Domingo, J. y Arranz, A., Calidad y mejora continua, Ed
Donostiarra. 1997.
Pressman, Roger S, Ingeniera del software, un enfoque
prctico, Mcgraw Hill 95.
Senn, James, Anlisis y diseo de sistemas de informacin,