INTRODUCCIN El objetivo primordial de la ingeniera del software es producir un sistema, aplicacin o producto de alta calidad. Para lograr este objetivo, los ingenieros de software deben emplear mtodos efectivos junto con herramientas modernas dentro del contexto de un proceso maduro de desarrollo del software. Al mismo tiempo, un buen ingeniero del software y buenos administradores de la ingeniera del software deben medir si la alta calidad se va a llevar a cabo. A continuacin se ver un conjunto de mtricas del software que pueden emplearse a la valoracin cuantitativa de la calidad de software. El punto de vista de Qu es calidad? Es diverso, y por lo tanto existen distintas respuestas, tales como se muestra a continuacin: El American Heritage Dictionary define la calidad como Una caracterstica o atributo de algo. La definicin estndar de calidad en ISO-8402 es La totalidad de rasgos y caractersticas de un producto, proceso o servicio que sostiene la habilidad de satisfacer estados o necesidades implcitas. Concordar explcitamente al estado funcional y a los requerimientos del funcionamiento, explcitamente a los estndares de documentacin de desarrollo, e implcitamente caractersticas que son expectativas de todos los desarrolladores profesionales de software. La calidad de un sistema, aplicacin o producto es tan buena como los requisitos que detallan el problema, el diseo que modela la solucin, el cdigo que transfiere a un programa ejecutable y las pruebas que ejercita el software para detectar errores. Un buen ingeniero del software emplea mediciones que evalan la calidad del anlisis y los modelos de diseo, as como el cdigo fuente y los casos de prueba que se han establecido al aplicar la ingeniera del software. Para obtener esta evaluacin de calidad, el ingeniero debe utilizar medidas tcnicas, que evalan la calidad con objetividad, no con subjetividad. Asimismo, un buen administrador de proyectos debe evaluar la calidad objetivamente y no subjetivamente. A medida que el proyecto progresa el administrador del proyecto siempre debe valorar la calidad. Aunque se pueden recopilar muchas medidas de calidad, el primer objetivo en el proyecto es medir errores y defectos. Las mtricas que provienen de estas medidas proporcionan una indicacin de la efectividad de las actividades de control y de la garanta de calidad en grupos o en particulares. Por ejemplo los errores detectados por hora de revisin y los errores detectados por hora de prueba suministran una visin profunda de la eficacia de cada una de las actividades envueltas en la mtrica. As los datos de errores se pueden utilizar tambin para calcular la eficiencia de eliminacin de defectos en cada una de las actividades del marco de trabajo del proceso. Las Medidas, mtricas e indicadores muy importantes, porque ayudan al desarrollador en la toma de decisiones ya sea para caracterizar, evaluar, predecir, e incluso mejorar el producto. Conceptos Medibles (Factores).- se puede medir la Calidad, Calidad en Uso, Productividad, Costo, etc. del Software. En realidad (Medidas, Mtricas, Indicadores) son pablaras que guardan una similitud pero cuyo sentido es diferente, por ello a continuacin anotaremos algunas definiciones obtenidas en diferentes sitios: Medidas.- proporciona una indicacin cuantitativa de la extensin, cantidad, dimensiones, capacidad o tamao de algunos atributos de un proceso o producto. Ejemplo: Un programa tiene 10.000 LDC (lneas de cdigo). Muchas veces las personas confundimos los trminos Medida y Medicin pues consideramos que es lo mismo, esto es un error ya que La medicin es el acto de determinar una medida. Ejemplo: Lenin ser el encargado de medir las LDC de cada mdulo del sistema. La Utilidad de la medida del software radica en poder asegurar la calidad, cuantificar los atributos que constituyen la calidad para el usuario final, de ah surgen los resultados cuantitativos. Mtrica.- es una indicacin medible de algn aspecto cuantificable de un sistema: alcance, riesgo, costo, tiempo. Caractersticas de una mtrica til: Medible Independiente Controlable Precisa Ejemplo: la productividad de este proyecto fue de 500 (LDC/persona-mes). Para comprender mejor lo antes mencionado se puede afirmar que: Pablo R en el D - La medida captura una caracterstica individual. - La medicin permite capturar dicha caracterstica. - La mtrica permite relacionar y comparar mediciones.
DESVENTAJAS DE LAS METRICAS Uno de los problemas que tienen las mtricas es que no existe un esquema de criterios generalmente aceptado (un estndar). Como no hay acuerdo en los criterios involucrados, abundan las propuestas de mtricas que abordan la calidad con criterios propios. Otro problema de las mtricas es que no proporcionan informacin por s solas y a veces en vez de claridad aportan confusin a la contraparte del modelador dentro del proceso. Esto se debe a que muchas mtricas no guardan relacin con los intereses de las partes, y el indicador de la calidad de un esquema se construye generalmente con todas ellas. MEDICIONES DEL SOFTWARE Las mediciones del mundo fsico se pueden categorizar de dos maneras; medidas directas (por ejemplo: la longitud de un tomillo) y medidas indirectas (por ejemplo: la calidad de los tomillos producidos, medidos contando los artculos defectuosos). Las mtricas del software se pueden categorizar de forma similar. Medidas Directas.- En el proceso de ingeniera se encuentran el costo, y el esfuerzo aplicado, las lneas de cdigo producidas, velocidad de ejecucin, el tamao de memoria y los defectos observados en un determinado periodo de tiempo. Medidas Indirectas.- Se encuentra la funcionalidad, calidad, complejidad, eficiencia, fiabilidad, facilidad de mantenimiento, etc. El coste y el esfuerzo requerido para construir el software, el nmero de lneas de cdigo producidas, y otras medidas directas son relativamente fciles de reunir. Sin embargo, la calidad y funcionalidad del software, o su eficiencia o mantenimiento son ms difciles de evaluar y slo pueden ser medidas indirectamente. Mtricas Orientadas al Tamao.- provienen de la normalizacin de las medidas de calidad y/o productividad considerando el tamao del software que se haya producido. Mtricas Orientadas a la Funcin.- Las mtricas del software orientadas a la funcin utilizan una medida de la funcionalidad entregada por la aplicacin como un valor de normalizacin. Ya que la funcionalidad no se puede medir directamente, se debe derivar indirectamente mediante otras medidas directas. Las mtricas orientadas a la funcin fueron propuestas por primera vez por Albretch, quien sugiri una medida llamada punto de funcin. Los puntos de funcin se derivan con una relacin emprica segn las medidas contables (directas) del dominio de informacin del software y las evaluaciones de la complejidad del software. Los puntos de funcin se calculan completando la tabla siguiente:
Mtricas ampliadas de punto de funcin.- La medida de punto de funcin se dise originalmente para aplicarse a aplicaciones de sistemas de informacin de gestin. Por esta razn, la medida del punto de funcin era inadecuada para muchos sistemas de ingeniera y sistemas empotrados (que enfatizan funcin y control). Para remediar esta situacin se ha propuesto un nmero de extensiones a la mtrica del punto de funcin bsica.
MEDIDA DE LA CALIDAD
Aunque hay muchas medidas de la calidad de software, la correccin, facilidad de mantenimiento, integridad y facilidad de uso suministran indicadores tiles para el equipo del proyecto. Gilb sugiere definiciones y medidas para cada uno de ellos, tales como:
Correccin
A un programa le corresponde operar correctamente o suministrar poco valor a sus usuarios. La correccin es el grado en el que el software lleva a cabo una funcin requerida. La medida ms comn de correccin son los defectos por KLDC, en donde un defecto se define como una falla verificada de conformidad con los requisitos.
Facilidad de mantenimiento
El mantenimiento del software cuenta con ms esfuerzo que cualquier otra actividad de ingeniera del software. La facilidad de mantenimiento es la habilidad con la que se puede corregir un programa si se encuentra un error, se puede adaptar si su entorno cambia o optimizar si el cliente desea un cambio de requisitos. No hay forma de medir directamente la facilidad de mantenimiento; por consiguiente, se deben utilizar medidas indirectas. Una mtrica orientada al tiempo simple es el tiempo medio de cambio (TMC), es decir, el tiempo que se tarda en analizar la peticin de cambio, en disear una modificacin apropiada, en efectuar el cambio, en probarlo y en distribuir el cambio a todos los usuarios. En promedio, los programas que son ms fciles de mantener tendrn un TMC ms bajo (para tipos equivalentes de cambios) que los programas que son ms difciles de mantener.
Hitachi ha empleado una mtrica orientada al costo (precio) para la capacidad de mantenimiento, llamada desperdicios. El costo estar en corregir defectos hallados despus de haber distribuido el software a sus usuarios finales. Cuando la proporcin de desperdicios en el costo global del proyecto se simboliza como una funcin del tiempo, es aqu donde el administrador logra determinar si la facilidad de mantenimiento del software producido por una organizacin de desarrollo est mejorando y asimismo se pueden emprender acciones a partir de las conclusiones obtenidas de esa informacin.
Integridad.
En esta poca de intrusos informticos y de virus, la integridad del software ha llegado a tener mucha importancia. Este atributo mide la habilidad de un sistema para soportar ataques (tanto accidentales como intencionados) contra su seguridad. El ataque se puede ejecutar en cualquiera de los tres componentes del software, ya sea en los programas, datos o documentos. Para medir la integridad, se tienen que definir dos atributos adicionales: amenaza y seguridad. La amenaza es la probabilidad (que se logra evaluar o concluir de la evidencia emprica) de que un ataque de un tipo establecido ocurra en un tiempo establecido. La seguridad es la probabilidad (que se puede estimar o deducir de la evidencia emprica) de que se pueda repeler el ataque de un tipo establecido, en donde la integridad del sistema se puede especificar como:
Integridad = O [1-amenaza x (1-seguridad)]
Donde se suman la amenaza y la seguridad para cada tipo de ataque.
Facilidad de uso.
El calificativo amigable con el usuario se ha transformado universalmente en disputas sobre productos de software. Si un programa no es amigable con el usuario, prcticamente est prximo al fracaso, incluso aunque las funciones que realice sean valiosas. La facilidad de uso es un intento de cuantificar lo amigable que pude ser con el usuario y se consigue medir en funcin de cuatro caractersticas:
Destreza intelectual y/o fsica solicitada para aprender el sistema. El tiempo requerido para alcanzar a ser moderadamente eficiente en el uso del sistema. Aumento neto en productividad (sobre el enfoque que el sistema reemplaza) medida cuando alguien emplea el sistema moderadamente y eficientemente. Valoracin subjetiva (a veces obtenida mediante un cuestionario) de la disposicin de los usuarios hacia el sistema. Los cuatro factores anteriores son slo un ejemplo de todos los que se han propuesto como medidas de la calidad del software.