Modelo de calidad del producto software Rayo 2 Descripción del estándar ISO 25000 SQUARE. Estudio y aplicación a nuestro proyecto.
Introducción Antes de entrar en detalles de nuestro problema, justificaremos los motivos por los cuales es necesario aplicar un modelo de calidad y haremos un pequeño resumen sobre el estándar ISO 25000 SQUARE. Calidad La gestión de la calidad surge de la necesidad de ofrecerle al cliente un producto cada vez de mejores características, para poder competir en un mercado donde existía un creciente número de competidores. Tenemos una numerosa cantidad de definiciones del concepto de calidad. Hemos seleccionado dos de ellas: Definición de calidad RAE La propiedad o conjunto de propiedades que, inherentes a una cosa, permiten apreciarla como igual, mejor o peor que las restantes de su especie. Norma ISO 9000:2000 (AENOR, 2000) Grado en el que un conjunto de características inherentes cumple con los requisitos, donde los requisitos son las necesidades o expectativas establecidas, generalmente implícitas u obligatorias y las características se refieren a cualquier tipo de rasgo diferenciador. Esta definición nos permite comprender que la consecución de la calidad puede tener tres orígenes (Figura 1.2): La calidad realizada: La que es capaz de obtener la persona que realiza el trabajo, gracias a su habilidad en la ejecución de una tarea. Se potencia con la mejora de las habilidades personales y técnicas de los participantes en un proceso. La calidad programada: La que se ha pretendido obtener. Es la que aparece descrita en una especificación, en un documento de diseño o en un plano constructivo. Es, por tanto, la que se le ha encomendado conseguir al responsable de ejecutar el trabajo. Se potencia con la elaboración de una especificación que sirva de buena referencia a los participantes en un proceso.
La calidad necesaria: La que el cliente exige con mayor o menor grado de concreción o, al menos, la que le gustaría recibir. Se potencia con una adecuada obtención de información de la idea de calidad de los clientes y de su percepción de la misma. SQUARE(Software Quality Requierments and Evaluation) Serie de normas basadas en ISO 9126(Modelo de calidad del producto software) e ISO 14598(Evaluación de calidad del producto software). Uno de los principales objetivos de la serie SQUARE es la coordinación y armonización del contenido de las normas ISO 9126 e ISO 15939 (Mesurement Information Model). ISO 15939 presenta un modelo de información que ayuda a determinar qué se debe especificar durante la planificación y evaluación de la medición. Para su aplicación, cuenta con los siguientes pasos: o o o Recopilación de datos Preparación de los datos Análisis de los datos La integración de las normas 9126 y 15939 crea un proceso de 4 pasos: 1. Identificación de los requerimientos relacionados a la calidad del producto software, es decir, seleccionar la parte del modelo de calidad (ISO/IEC 9126- n) que resulta relevante para la evaluación de calidad. 2. Identificación del contexto de interpretación, es decir, selección de los valores de referencia y determinación de los target especificados en un contexto determinado. 3. Uso de las medidas derivadas de la etapa de preparación de los datos.
4. Comparación y análisis de los resultados obtenidos respecto de un conjunto de valores de referencia. Estructura de ISO 25000 SQUARE está formado por 5 estandares: Administración de la calidad- 2500n. Abarca: o Guía para SQUARE o Planificación y administración(evaluación del software). Modelo de calidad- 2501n. Es en este estándar donde nos vamos a centrar para el desarrollo de esta parte del proyecto. Describe el modelo de calidad interno/externo y la calidad en uso. (Lista de características y subcaracterísticas) Medidas de calidad- 2502n. Describe: o Medición de primitivas o Medición de calidad interna o Medición de calidad externa o Medición de calidad en uso Requerimientos de calidad- 2503n. Calidad del software especificado en términos de requerimientos de calidad durante el ciclo de vida del software de un proyecto. Evaluación de calidad- 2504n. Evaluación de proceso para desarrolladores, compradores, evaluadores, documentación del módulo de evaluación.
Filosofía de calidad para nuestro proyecto Como hemos señalado anteriormente, nos hemos centrado únicamente en la norma 25010 para realizar el modelo de calidad de nuestro proyecto.
La norma 25010 detalla una serie de características que debe presentar nuestro producto software. Hemos hablado con el cliente y nada le importa mas que el sistema esté disponible los 365 días del año, las 24 horas del día. Nosotros hemos decidido desarrollar la siguiente: FIABILIDAD: Capacidad del software para mantener un conjunto adecuado de prestaciones cuando se usa bajo condiciones especificadas. Madurez: capacidad del software(producto) para evitar fallar como resultado de fallos en el software. Tolerancia a fallos: Capacidad del software para mantener un nivel especificado de prestaciones en caso de fallos de software o de infringir sus interfaces. Capacidad de recuperación: capacidad del producto software para mantener un nivel especificado de prestaciones y de recuperar los datos directamente afectados en caso de fallo. Disponibilidad: Capacidad del producto software para mantener sus funciones activas durante el mayor espacio de tiempo posible. Se mide en tiempo de inactividad. El desarrollo de estos 4 puntos daría para toda una tesis doctoral, pero no tenemos tanto espacio/tiempo, de modo que expresaremos en líneas generales que medidas hemos tomado para cumplir estos requisitos: Hemos prestado especial atención a la disponibilidad. Por esta razón, hemos instalado un servidor web replicado mediante la instalación de un cluster, que en caso de que el servidor principal caiga, se pondrá en funcionamiento el segundo servidor slave. Tenemos replicada la base de datos en ambos servidores, de modo que en caso de fallo crítico la recuperación del estado anterior no sería un inconveniente. También hemos mantenido la consistencia entre estas bases, ya que se crea este problema al replicar. Aunque factores como la sobrecarga de la red son externos a nuestro control, el hecho de que esta no sea una aplicación de tiempo real nos da un margen bastante amplio. La tolerancia a fallos está tratada con la búsqueda de posibles fallos en el sistema (fallos bien definidos) y la manejación de estos en forma de enmascaramiento. Evitaremos todo lo posible que se produzcan excepciones en el servidor, ya que esto implica perdida de productividad y esto no puede trasladar al cliente. Estudiaremos todas las situaciones posibles y pasarémos un modelo de pruebas muy exhaustivo. La capacidad de recuperación de nuestro sistema se define por su modelo arquitectural, si se produce un error grave que deja al servidor inservible y necesita la intervención del administrador, estos no deberían afectar al usuario. Para ello el servidor Master está respaldado por servidores Slave, que se encargan del sistema en caso de que el maestro se caiga por un fallo crítico. Sobre la madurez, hemos pensado que es la combinación de las tres anteriores. Cuando está sea evaluada, dispondremos de información suficiente para tratar de mejorarla.
WEBGRAFIA Web con una persentación del modelo ISO 25000: http://www.slideshare.net/albert317/calidad- del- producto- software#btnnext Trabajo fin de carrera: Jose Carlos Villar Herrera; Herramienta para la evaluación de la calidad de productos software