SERVICIO NACIONAL DE APRENDIZAJE SENA CENTRO DE FORMACIÓN A DISTANCIA MATERIAL DE APOYO MODELO DE CALIDAD ISO 25000 (SQuaRE) PROGRAMA: TECNÓLOGO EN ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN JORGE A. BLANCO VELANDIA.
Contenido 1. Generalidades... 3 2. Modelo de referencia de la norma... 3 3. Estructura del modelo... 4 4. Métricas de software... 5 4.1 Métrica interna... 6 4.2 Métrica externa... 6 5. Características del Modelo ISO25010... 7
1. Generalidades La calidad del producto junto con la calidad del proceso son los aspectos más importantes actualmente en el desarrollo de Software. En calidad del producto recientemente ha aparecido una nueva versión de la norma ISO/IEC 9126: la norma ISO/IEC 25000. Esta proporciona una guía para el uso de las nuevas series de estándares internacionales, llamados Requisitos y Evaluación de Calidad de Productos de Software (SQuaRE). Constituyen una serie de normas basadas en la ISO 9126 y en la ISO 14598 (Evaluación del Software), y su objetivo principal es guiar el desarrollo de los productos de software con la especificación y evaluación de requisitos de calidad. Establece criterios para la especificación de requisitos de calidad de productos software, sus métricas y su evaluación (ISO25000, 2012). Existen actualmente en el mercado paquetes de software especializados para medir la calidad de un producto software entre otros están Mc Cabe IQ, Klockwork K7, Coverity Prevent. 2. Modelo de referencia de la norma El modelo de referencia para la medición de la calidad del producto software de la norma ISO/IEC 25000 establece que la calidad del producto software está compuesta de características de calidad, las cuales a su vez se componen de subcaracterísticas. Así mismo, establece que las medidas de calidad software (Software Quality Measures) indican las características y subcaracterísticas de calidad del producto software (ISO25000, 2012), Figura 1. El valor de estas medidas de calidad software se obtiene por la aplicación de una función de medida (Measurement Function) a los elementos de medida de calidad (Quality Measure Elements). Los elementos de medida de calidad son medidas base o medidas derivadas obtenidas según describe el método de medición correspondiente (ISO25000, 2012).
Figura 1. Modelo de Referencia de la Medida de Calidad del Producto Software Fuente: Basado en (ISO25000, 2012) 3. Estructura del modelo La figura 2 muestra la estructura del modelo ISO25000 donde establece la calidad de un producto software entre características, las cuales a su vez se dividen en subcategorías y estas en atributos de calidad. Los atributos cobran especial relevancia, ya que son el punto de unión entre el modelo de calidad y las métricas disponibles. El modelo se basa, por tanto, en la definición de atributos de calidad que se puedan obtener directamente del producto (Marcos, Arroyo, Garzás, & Piattini, 2008). El modelo consiste de dos partes: parte interna, externa y el modelo de calidad para calidad en uso. Las medidas de calidad interna pueden ser usadas en las etapas iniciales de la construcción del producto, esta vista se ocupa de las propiedades del software como: el tamaño, la complejidad o la conformidad con las normas de orientación a objetos (ISO25000, 2012).
Las medidas de calidad externa van hacia el producto en ejecución, esta vista analiza el comportamiento del software en producción y estudia sus atributos, por ejemplo: el rendimiento de un software en una máquina determinada, el uso de memoria de un programa o el tiempo de funcionamiento entre fallos (ISO25000, 2012). La vista de Las medidas de calidad de uso miden la productividad y efectividad del usuario final al utilizar el software. Figura 2. Estructura del modelo de calidad Fuente: (Gómez Garcia, 2009) 4. Métricas de software Antes de abordar las características y subcaracterísticas que plantea ISO25000 es importante establecer el concepto de métrica Según (Pressman, 2005) La medición es un elemento clave en cualquier proceso de ingeniería. Las medidas se emplean para comprender mejor los atributos de los modelos que se crean, y evaluar la calidad de los productos de ingeniería o de los sistemas que se construyen. Pero a diferencia de otras disciplinas de ingeniería, la de software, no se basa en las leyes cuantitativas básicas de la física. Las medidas directas, como el voltaje, la masa, la velocidad o la temperatura, no son comunes en el mundo del software.
El mismo autor define las métricas como: el proceso mediante el cual se asignan números o símbolos a los atributos de entidades reales para definirlas de acuerdo a reglas claramente establecidas. La IEEE la define como Una medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo determinado Las medidas de las métricas pueden representarse por valores cualitativos y cuantitativos, sin embargo las calificaciones deben expresarse en un rango de porcentajes para establecer luego un valor numérico para el atributo que se está midiendo. Recuerde que son los atributos de una subcaracterística los que se miden y el valor de todos los atributos dan el valor de la subcategoría y a su vez la suma de todas las subcaracterísticas dan el valor de la característica. Existen diversas métricas para medir diferentes características de un software (depende del modelo), para el modelo empleado utilizaremos las métricas de calidad externas consignadas en la ISO9126-2 (que serán tratadas en otro documento) 4.1 Métrica interna De acuerdo con (Ministros, 2005) la métrica interna puede ser aplicada a un producto de software no-ejecutable (como una especificación o código fuente) durante el diseño y la codificación. En el desarrollo de un producto de software, los productos intermedios deben ser evaluados usando métricas internas que permitan medir las propiedades intrínsecas, incluyendo aquellas que pueden derivarse de comportamientos simulados. El propósito primario de esta métrica interna es asegurar que se logre la calidad externa y la calidad de uso requerida. La métrica interna proporciona a los usuarios, evaluadores, verificadores y desarrolladores el beneficio de que puedan evaluar la calidad del producto de software y lo referido a problemas de calidad antes que el producto de software sea puesto en ejecución. Las métricas internas miden atributos internos o indican los atributos externos, a través del análisis de las propiedades estáticas de productos intermedios o entregables del software. Las medidas de las métricas internas usan números o frecuencias de elementos de composición de software, los cuales aparecen, por ejemplo, en las sentencias de código de fuente, control de gráficos, flujo de datos y estados de representación de procesos. 4.2 Métrica externa En (Ministros, 2005) se indica que las métricas externas usan medidas de un producto de software, derivadas del comportamiento del mismo, a través de la prueba, operación y
observación del software. Antes de adquirir o usar un producto de software, éste debe ser evaluado usando las métricas basadas en los objetivos del área usuaria de la institución relacionados al uso, explotación y dirección del producto, considerando la organización y el ambiente técnico. La métrica externa proporciona a los usuarios, evaluadores, verificadores y desarrolladores, el beneficio de que puedan evaluar la calidad del producto de software durante las pruebas o el funcionamiento. 5. Características del Modelo ISO25010 Esta norma describe las siguientes características (Calero, Moraga, & Piattini, 2010): Adecuación funcional: grado en que el producto software proporciona las funciones o servicios que satisfacen las necesidades implícitas y explícitas cuando el producto se utiliza bajo determinadas condiciones. Fiabilidad: el grado en que un sistema o componente realiza las funciones o servicios requeridos bajo condiciones específicas durante un periodo determinado de tiempo Usabilidad: grado en el que un producto software puede ser utilizado por usuarios específicos para alcanzar unos objetivos especificados con efectividad, eficiencia y satisfacción en un contexto de uso dado. Eficiencia del comportamiento: rendimiento relativo a la cantidad de recursos utilizados bajo determinadas condiciones. Mantenibilidad: grado en el que un producto software puede ser modificado. Portabilidad: facilidad con que un sistema o un componente puede ser transferido de un entorno hardware o software a otro. Compatibilidad: capacidad de dos o mas sistemas o componentes para intercambiar información y/o realizar sus funciones requeridas mientras comparten el mismo entorno hardware o software. Seguridad: grado de protección de la información y de los datos que hacen que personas o sistemas no autorizados no puedan leer o modificarlos y que a las personas o sistemas autorizados no se les niegue el acceso a los mismos.
BIBLIOGRAFIA Calero, C., Moraga, M. A., & Piattini, M. G. (2010). Calidad del Producto y del Proceso. Madrid: RA-MA. Gómez Garcia, O. (Enero de 2009). SQuaRE: Una unificación de normas para la especificación de requisitos y la evaluación de la calidad. Recuperado el 29 de Agosto de 2012, de http://alarcos.infcr.uclm.es/doc/cmsi/trabajos/oscar%20gomez.pdf ISO25000. (2012). ISO 25000. Recuperado el 20 de Agosto de 2012, de http://iso25000.com/ Marcos, J., Arroyo, A., Garzás, J., & Piattini, M. (Septiembre de 2008). La norma ISO/IEC 25000 y el proyecto KEMIS para su automatización con software libre. REICIS Revista Española de Innovación, Calidad e Ingeniería del Software, vol 4(núm 2), 133-144. Ministros, O. N. (2005). GUÍA TÉCNICA SOBRE EVALUACIÓN DE SOFTWARE PARA LA ADMINISTRACIÓN PUBLICA. Recuperado el 8 de Agosto de 2012, de http://www.ongei.gob.pe/bancos/banco_normas/archivos/guia-evaluacion- SW.pdf Pressman, R. (2005). Ingeniería del software, un enfoque práctico (sexta edición ed.). McGraw-Hill. Sommerville, I. (2005). Ingeniería del software (sexta edición ed.). madrid: Pearson Educación.