15
AbstractDue to the increasing development of information technology and communications, software as a product has become vital in the life of society information. For this reason, the development of software requires the use of methods to ensure the quality of the software product as a requisite to meet customer needs and be highly competitive in the global village. The International Organization for Standardization (ISO) has published a series of international standards relating to product quality software engineering, ISO 9126, ISO 14598, ISO 25000. The main purpose of these standards is to guide the development of software products with criteria for specifying quality requirements of software products, their metrics and evaluation. This article shows the main standards for modeling a software product quality assurance (QA) shall describe the relationships between these standards and their main characteristics, cited the advantages, and the importance of using appropriate models and standards to control the software development process. KeywordsInternational Organization for Standardization (ISO), International Electrotechnical Commission(IEC), Quality Assurance (QA), information and communications technologies (ICT), Software Quality Requirements and Evaluation (SQuaRE). I. INTRODUCCIÓN En un mundo globalizado, la industria del desarrollo de software debe propender por producir productos software de alta calidad que se centren en la permanente satisfacción de las necesidades y expectativas del cliente. Siendo el software un producto intangible cuya evaluación se realiza a nivel cualitativo, surge la necesidad de establecer métricas que permitan cuantificar de alguna manera sus características y realizar mejoras continuas no solo a nivel de producto sino también de proceso. De esta manera surgen los modelos de calidad que buscan estandarizar los procesos de desarrollo de software y realizar la evaluación y control de los factores fundamentales que intervienen en la producción de software de calidad. La norma ISO/IEC 25000 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). Constituye una serie de normas basadas en la ISO 9126 y en la ISO 14598, y su objetivo principal es guiar el desarrollo de los productos de software con la especificación y evaluación de requisitos de calidad. II GESTION DE LA CALIDAD DEL SOFTWARE. La IEEE define la calidad del software como el grado con el que un sistema, componente o proceso cumple con los requisitos especificados y las necesidades o expectativas del cliente o usuario. [13]. La calidad del software ha ido evolucionando de la mano con el desarrollo de las tecnologías de la información y las comunicaciones (TIC) y el ISO 25000: The Software Quality Fredy Casallas, Juan Carlos Moreno, Oscar G. Páez. Universidad Autónoma de Colombia. Bogotá, Colombia. [email protected] [email protected] [email protected]

Quality Software Article

Embed Size (px)

DESCRIPTION

El estándar ISO/IEC 25000 es el resultado de unificar las normas ISO/IEC 9126 y las normas ISO/IEC 14598, que regulan la calidad del producto software y el proceso de evaluación del producto software, respectivamente.

Citation preview

  • Abstract Due to the increasing development of information technology and communications, software as a product has become vital in the life of society information. For this reason, the development of software requires the use of methods to ensure the quality of the software product as a requisite to meet customer needs and be highly competitive in the global village. The International Organization for Standardization (ISO) has published a series of international standards relating to product quality software engineering, ISO 9126, ISO 14598, ISO 25000.

    The main purpose of these standards is to guide the development of software products with criteria for specifying quality requirements of software products, their metrics and evaluation. This article shows the main standards for modeling a software product quality assurance (QA) shall describe the relationships between these standards and their main characteristics, cited the advantages, and the importance of using appropriate models and standards to control the software development process. Keywords International Organization for Standardization (ISO), International Electrotechnical Commission(IEC), Quality Assurance (QA), information and communications technologies (ICT), Software Quality Requirements and Evaluation (SQuaRE).

    I. INTRODUCCIN

    En un mundo globalizado, la industria del desarrollo de software debe propender por producir productos software de alta calidad que se centren en la permanente satisfaccin de las necesidades y expectativas del cliente. Siendo el software un producto intangible cuya evaluacin se realiza a nivel cualitativo, surge la necesidad de establecer mtricas que permitan cuantificar de alguna manera sus caractersticas y realizar mejoras continuas no solo a nivel de producto sino tambin de proceso. De esta manera surgen los modelos de calidad que buscan estandarizar los procesos de desarrollo de software y realizar la evaluacin y control de los factores fundamentales que intervienen en la produccin de software de calidad.

    La norma ISO/IEC 25000 proporciona una gua para el uso de las nuevas series de estndares internacionales, llamados Requisitos y Evaluacin de Calidad de Productos de Software (SQuaRE). Constituye una serie de normas basadas en la ISO 9126 y en la ISO 14598, y su objetivo principal es guiar el desarrollo de los productos de software con la especificacin y evaluacin de requisitos de calidad.

    II GESTION DE LA CALIDAD DEL SOFTWARE.

    La IEEE define la calidad del software como el grado con el que un sistema, componente o proceso cumple con los requisitos especificados y las necesidades o expectativas del cliente o usuario. [13]. La calidad del software ha ido evolucionando de la mano con el desarrollo de las tecnologas de la informacin y las comunicaciones (TIC) y el

    ISO 25000: The Software Quality

    Fredy Casallas, Juan Carlos Moreno, Oscar G. Pez. Universidad Autnoma de Colombia.

    Bogot, Colombia. [email protected]

    [email protected]

    [email protected]

  • gran aumento de implementacin del software en las organizaciones, lo que ha conducido a la adopcin de tcnicas de gestin de calidad por parte de las empresas desarrolladoras de software.

    La obtencin de un software con calidad implica la utilizacin de metodologas o procedimientos estndares para el anlisis, diseo, programacin y prueba del software.

    Uno de los problemas del desarrollo de software es que las especificaciones que implica tener y cumplir una amplia reunin de conceptos y normas, donde se debe tener en cuenta la seguridad, confiabilidad, funcionalidad, usabilidad, eficiencia, mantenibilidad, portabilidad y compatibilidad no pueden ser establecidas explcitamente. Por esta razn una forma de gestionar la calidad en la organizacin desarrolladora de software es definir estndares y procedimientos organizacionales de calidad, los cuales generan buenas prcticas de desarrollo y productos de alta calidad [12].

    La calidad del producto junto con la calidad del proceso son los aspectos ms importantes actualmente en el desarrollo de Software. Para obtener un producto de alta calidad se debe realizar un proceso de alta calidad, pues una mejora en el proceso genera una mejora en el producto y a su vez, mejorar el producto facilita el proceso. Por estas razones, es fundamental realizar un constante seguimiento al cumplimiento de los estndares y normas establecidas en la organizacin, verificando el cumplimiento de estas por parte de todos los miembros involucrados en el proyecto de desarrollo.

    La gestin de la calidad realiza una verificacin individual de cada uno de los procesos y comprueba las entregas del proyecto para asegurarse que concuerdan con los estndares y metas organizacionales, porque estos definen un conjunto de criterios y guan la forma en que se desarrolla el software en la organizacin.

    La combinacin de medicin y realimentacin permite realizar un mejor control de calidad como parte del proceso de fabricacin del software; un punto clave del control de calidad es que se

    hayan definido los productos y las especificaciones con las que se puedan comparar los resultados de cada proceso para poder verificar su calidad [3].

    La garanta de calidad del software (SQA- Software Quelite Asrense) comprende una gran variedad de tareas asociadas con dos tipos diferentes de ingenieros: los ingenieros de software que realizan el trabajo tcnico y un grupo de ingenieros de SQA que tiene la responsabilidad de la Planificacin de garanta de calidad, supervisin, mantenimiento de registros, anlisis e informes y con esto llegar a la consecucin de un producto de alta calidad.

    El grupo de SQA es el encargado de establecer, documentar y seguir el proceso del desarrollo del software, verificando que este se est realizando segn los estndares y polticas de la organizacin. Tambin vela por la coordinacin y el control de la gestin de cambios, y ayuda a recopilar y analizar las mtricas del software. SQA es el encargado de llevar a cabo la revisin tcnica formal (RTF) para obtener como resultado una garanta de calidad del software.

    Los principales objetivos de la RTF es descubrir errores en la funcin, la lgica o la implementacin de cualquier representacin del software, verificar que el software bajo revisin alcanza sus requisitos, garantizar que el software ha sido realizado de acuerdo con ciertos estndares predefinidos, conseguir un software desarrollado de forma uniforme, hacer que los proyectos sean ms manejables y confiables. Esta revisin incluye recorridos, inspecciones, revisiones cclicas y grupo de evaluaciones tcnicas del software donde se realizaran pruebas detalladas en cada proceso [9].

    III. CALIDAD DEL PRODUCTO Y DEL PROCESO

    Se debe diferenciar entre la calidad del Producto y la calidad del Proceso de desarrollo de software, donde la calidad del producto va a estar en funcin de la calidad del proceso de desarrollo. Ya que el desarrollo de software es un proceso ms creativo que mecnico, donde las experiencias y habilidades individuales son

  • importantes, la gestin y mejora de la calidad del proceso debe minimizar los defectos en el software entregado, esto implica definir estndares, realizar revisiones que aseguren el cumplimiento de los estndares propuestos, llevar a cabo una especificacin completa y aprobada antes de que comience la implementacin del software.

    La calidad del proceso se refiere a actividades, tareas, entrada, salida, procedimientos, etc., para desarrollar y mantener software, por esta razn debemos utilizar Modelos, normas y metodologas tales como los CMMI, la ISO 15504 / ISO 12207, para poder tener una buena calidad del proceso y esto nos da un alto grado de confiabilidad de obtener un buen producto [2].

    Un proceso de desarrollo de software determina quin debe hacer qu, cundo y cmo, tambin define la forma en que se organiza el trabajo de un equipo de desarrollo y describe y documenta cada uno de los procesos a realizar en la etapa de desarrollo.

    La gestin de calidad de software (SQM- Software Quelite Management) resulta de la aplicacin a todas las perspectivas de procesos de software, productos, y recursos. Los procesos de gestin de calidad del software consisten en numerosas actividades. Algunos de ellos pueden encontrar defectos directamente en el proceso, mientras otros indican donde pueden resultar ms valiosas las revisiones. Estos ltimos tambin son conocidos como actividades de "direct-defect-finding". Muchas actividades a menudo sirven para ambos propsitos.

    Para realizar una buena planificacin para la calidad de software tenemos que tener en cuenta una buena definicin del producto requerido en trminos de sus caractersticas, y realizar una buena planificacin de los procesos para alcanzar el producto requerido con las propiedades de calidad.

    Algunos de los procesos especficos SQM estn definidos en el estndar (IEEE12207.0-96):

    Procesos de aseguramiento de calidad

    Procesos de verificacin

    Procesos de validacin

    Procesos de revisin

    Procesos de auditora

    Los procesos SQM ayudan a asegurar una calidad de software ptima en un proyecto dado; estos procesos consisten en tareas y tcnicas para indicar como estn siendo puestas en prctica y la mejor manera para que los productos intermedios y los finales encuentren sus requerimientos especificados. Los resultados de estas tareas son recopilados en informes para la direccin del proyecto antes de que sea tomada la accin correctiva, el SQM certifica que los resultados de estos informes sean exactos y esto proporciona que los procesos SQA garanticen que los productos software y los procesos en el ciclo de vida de proyecto son conformes a los requerimientos especificados por medio de la planificacin y realizando un conjunto de actividades para generar la confianza adecuada, lo cual indica que se est construyendo un producto de calidad.

    La calidad del producto se basa en estndares que dan unas directrices para realizar un adecuado producto en cada uno de sus procesos, se obtiene un alto grado de que el producto software incorpora un conjunto de caractersticas, de manera que garantiza el cumplimiento de los requisitos y necesidades del cliente [3].

    Para obtener una alta calidad del producto de software se necesita determinar el Objetivo verdadero del software, tener presentes los requerimientos del cliente (funcionales y no funcionales), obtener los requerimientos de calidad (que pueden no estar explcitos en un principio en los requerimientos o estipulaciones del software), realizar una completa especificacin del sistema, una especificacin de requerimientos de software, generar un mdulo de diseo, cdigo, documentacin de prueba y los informes producidos como consecuencia de tareas de anlisis de calidad, se requiere tambin que los productos intermedios relevantes para la calidad sean evaluados a lo largo de todo el proceso de desarrollo del software.

  • IV. ESTNDARES DE MODELOS DE CALIDAD.

    Relacionada con la calidad del producto, recientemente ha aparecido la familia de normas ISO/IEC 25000, que proporciona una gua para el uso de la nueva serie de estndares internacionales llamada Requisitos y Evaluacin de Calidad de Productos de Software (SQuaRE - Software Product Quality Requirements and Evaluation). ISO/IEC 25000 constituye una serie de normas basadas en ISO/IEC 9126, que especifica caractersticas y mtricas de la calidad del software, y en ISO/IEC 14598, que especifica la evaluacin de productos de software. A. ISO/IEC 9126. La serie de normas ISO 9126 se compone de un estndar internacional dividido en tres informes tcnicos. El primero es el modelo de calidad externa, el segundo es el modelo de calidad interna y el tercero es el modelo de calidad de uso. Tal como lo muestra la figura 1.

    ISO 9126-1: Modelo de calidad: Presenta un modelo de calidad del software, estructurado en caractersticas y subcaractersticas [5].

    ISO 9126-2: mtricas externas: Proporciona

    mtricas externas para medir los atributos de seis caractersticas de calidad externa definidas y una explicacin de cmo aplicar las mtricas de calidad de software [6].

    ISO 9126-3: mtricas internas: Proporciona mtricas internas para medir atributos de seis caractersticas de calidad interna definidas [7].

    ISO TR 9126-4: Calidad en el uso: Define mtricas de calidad en uso para medir los atributos definidos [8].

    El modelo de calidad determina seis caractersticas en las que se derivan varias subcaractersticas de calidad interna y externa, como se observa en la figura 2. Estas caractersticas son:

    Funcionalidad

    Fiabilidad

    Usabilidad

    Eficiencia

    Mantenibilidad

    Portabilidad

    Cada una de estas caractersticas y sus correspondientes subcaracteristicas sern tratadas a fondo ms adelante en el modelo ISO/IEC 25000.

    Este estndar define tres vistas diferenciadas en el estudio de la calidad de un producto:

    1) Vista interna: esta vista se ocupa de las propiedades del software como: el tamao, la complejidad o la conformidad con las normas de orientacin a objetos. Medible a partir de las caractersticas intrnsecas del propio producto software (como el cdigo fuente). Puede utilizarse desde las primeras fases del desarrollo, permitiendo detectar deficiencias en el software en edades muy tempranas del ciclo de vida del software [7].

    Fig.1 Estructura del modelo ISO/IEC 9126.

  • 2) Vista externa: vista que analiza el comportamiento del software en produccin y estudia sus atributos, por ejemplo: el rendimiento de un software en una mquina determinada, el uso de memoria de un programa o el tiempo de funcionamiento entre fallos. Medible a partir del comportamiento del producto software (como durante una prueba). Necesita que el producto software este completo y se utilizar por tanto en el pase a produccin del producto, siendo muy dependiente de la mquina donde se ejecute [6].

    3) Vista en uso: mide la productividad y efectividad del usuario final al utilizar el software. Medible durante la utilizacin efectiva por parte del usuario (en un entorno de pre o produccin). Tambin estudia el producto software finalizado ser dependiente del usuario y estar condicionada a los factores personales del mismo. Las mtricas de la calidad en uso aparecen en la figura 3. [8]

    B. ISO/IEC 14598.

    Esta norma da una descripcin general de los procesos para la evaluacin de productos de software as como tambin guas y requerimientos para la evaluacin. Por esta razn se recomienda el uso conjunto con la norma ISO/IEC 9126.

    Para el desarrollo de un producto de software adecuado, deben especificarse los requerimientos de calidad para poder medirlos, y se debe planear, implementar, y controlar el proceso para el aseguramiento de la calidad. Se debern evaluar tanto los productos intermedios como los finales, dependiendo de la fase en el ciclo de vida que nos encontremos y el propsito de la evaluacin, y se determinarn que productos (intermedios o finales) sern evaluados. Para la medicin de los atributos de calidad es necesario utilizar mtricas validadas, que definen que debe cumplir el software, la norma est compuesta por seis partes que ayudan a realizar las mediciones de la calidad del software.

    1) Descripcin General: Brinda una idea general sobre las partes que constituyen la norma, brinda un marco para evaluar la calidad de todo el producto de software, explica la relacin que existe entre las normas ISO/IEC 14598 e ISO/IEC 9126.Da definiciones de los trminos que utiliza y tipo de producto de software y establece los requerimientos para los mtodos de medicin y evaluacin de dichos productos. Esta norma est dirigida a Desarrolladores, Adquirientes y Evaluadores independientes. Para evaluar la calidad del software, hay que establecer primero los requerimientos de evaluacin, luego especificar, disear y ejecutar la evaluacin de calidad, para

    Fig. 2 ISO 9126 modelo de calidad para la calidad externa e interna (caractersticas y sub-caractersticas).

  • desarrollar un buen producto de software se debe asegurar que el producto cumple con las necesidades implcitas y explcitas del usuario, asegurar que el producto cumple con las necesidades implcitas y explcitas del usuario, un modelo de calidad para la evaluacin de un producto de software debe representar la totalidad de los atributos de calidad clasificados en una estructura jerrquica de caractersticas y subcaractersticas [11].

    2) Planificacin y Gerenciamiento: Aqu se muestran los detalles sobre la planificacin y gestin de los requerimientos los cuales van asociados con la evaluacin del producto de software, Su objetivo es describir los requerimientos, recomendaciones y guas para la funcin de soporte, con lo cual se realiza la gestin de la evaluacin de un producto de software, as tambin las tecnologas necesarias para llevarla a cabo dicho proceso de evaluacin [11]. 3) Proceso para Desarrolladores: Se hace nfasis en el uso de indicadores que pueden predecir la calidad de los productos finales, midiendo los productos intermedios desarrollados a lo largo del ciclo de vida [11].

    4) Proceso para Adquirientes: Debe ser utilizado por organizaciones que planean comprar o reutilizar un producto de software existente, puede aplicarse con el propsito de decidir sobre la admisin de un producto o para seleccionar un producto entre un conjunto de productos alternativos [11].

    5) Este estndar define el proceso con sus respectivas actividades y entregables, este

    proceso a travs de todas sus etapas, realiza las siguientes caractersticas:

    Repetible: Que el proceso bajo las mismas circunstancias, la misma configuracin de las herramientas utilizadas, el mismo producto y el mismo evaluador, la evaluacin obtenga el mismo resultado.

    Reproducible: Deben mantenerse todas las condiciones iguales, salvo que el evaluador sea otro y en este caso tambin se debe obtener el mismo resultado.

    Imparcial: La evaluacin debe resultar de los estudios realizados en esa instancia y no deben estar influidos por resultados anteriores obtenidos para realizar la misma evaluacin.

    Objetivo: El evaluador no debe influenciarse por sus perspectivas o prejuicios sobre el producto u similares [11].

    6) Documentacin de Mdulos de Evaluacin: ISO/IEC 14598-6 brinda guas para documentar los mdulos de evaluacin, Estos mdulos contienen la especificacin del modelo de calidad (caractersticas y subcaracteristicas). Este paquete incluye mtodos de evaluacin y tcnicas, donde en cada mdulo, se documentan las tcnicas, mtricas y mtodos del proceso de evaluacin, para lograr una caracterstica de calidad [10].

    Fig. 3 Mtricas de calidad en uso.

  • En la figura 4 se puede ver la Relacin de las normas en la calidad del software ISO/IEC 9126 ISO/IEC 14598.

    V. MODELO ISO/IEC 25000 SQuaRE. Conocida como SQuaRE (Software Product Quality Requirements and Evaluation), la norma ISO/IEC 25000 es una familia de normas que tiene por objetivo la creacin de un marco de trabajo comn para evaluar la calidad del producto software.

    La familia ISO/IEC 25000 es el resultado de la evolucin de otras normas anteriores, especialmente de las normas ISO/IEC 9126, que describe las particularidades de un modelo de calidad del producto software, e ISO/IEC 14598, que abordaba el proceso de evaluacin de productos software. Esta familia de normas ISO/IEC 25000 se encuentra compuesta por cinco divisiones principales y una extensin. La figura 5 muestra las cinco divisiones principales [11].

    Fig. 5 Divisiones de SQuaRE

    ISO/IEC 2500n. Divisin de gestin de calidad. Los estndares que forman esta divisin definen todos los modelos comunes, trminos y referencias a los que se alude en las dems divisiones de SQuaRE.

    ISO/IEC 2501n. Divisin del modelo de calidad. El estndar que conforma esta divisin presenta un modelo de calidad detallado, incluyendo caractersticas para la calidad interna, externa y en uso.

    ISO/IEC 2502n. Divisin de mediciones de calidad. Los estndares pertenecientes a esta divisin incluyen un modelo de referencia de calidad del producto software, definiciones matemticas de las mtricas de calidad y una gua prctica para su aplicacin. Presenta aplicaciones de mtricas para la calidad de software interna, externa y en uso.

    ISO/IEC 2503n. Divisin de requisitos de calidad. Los estndares que forman parte de esta divisin ayudan a especificar los requisitos de calidad. Estos requisitos pueden ser usados en el proceso de especificacin de requisitos de calidad para un producto software que va a ser desarrollado o como entrada para un proceso de evaluacin. El proceso de definicin de requisitos se gua por el establecido en la norma ISO/IEC 15288 (ISO, 2003).

    .

    ISO/IEC 2504n. Divisin de evaluacin de la calidad. Estos estndares proporcionan requisitos, recomendaciones y guas para la evaluacin de un producto software, tanto si

    Fig. 4 Relacin ISO/IEC 9126 ISO/IEC 14598.

  • la llevan a cabo evaluadores, como clientes o desarrolladores.

    ISO/IEC 2505025099. Estndares de extensin SQuaRE. Incluyen requisitos para la calidad de productos de software Off-The-Self y para el formato comn de la industria (CIF) para informes de usabilidad.

    A. ISO/IEC 25010.

    El modelo de calidad constituye el pilar sobre el que se establece el sistema para la evaluacin de la calidad del producto. En este modelo se determinan las caractersticas de calidad que se van a tener en cuenta a la hora de evaluar las propiedades de un producto software determinado [11].

    El modelo de calidad del producto definido por la ISO/IEC 25010 se encuentra compuesto por las ocho caractersticas de calidad que se muestran en la figura 6, donde se resaltan las dos caractersticas que fueron agregadas respecto al modelo ISO/IEC 9126:

    1) Funcionalidad. Representa la capacidad del producto software para proporcionar funciones que satisfacen las necesidades declaradas e

    implcitas, cuando el producto se usa en las condiciones especificadas. Esta caracterstica se subdivide a su vez en las siguientes subcaractersticas:

    Completitud funcional. Grado en el cual el conjunto de funcionalidades cubre todas las tareas y los objetivos del usuario especificados.

    Correccin funcional. Capacidad del producto o sistema para proveer resultados correctos con el nivel de precisin requerido.

    Adecuacin funcional. Capacidad del producto software para proporcionar un conjunto apropiado de funciones para tareas y objetivos de usuario especificados [11].

    2) Rendimiento. Esta caracterstica representa el desempeo relativo a la cantidad de recursos utilizados bajo determinadas condiciones. Esta caracterstica se subdivide a su vez en las siguientes subcaractersticas:

    Comportamiento temporal. Los tiempos de respuesta y procesamiento y los ratios de throughput de un sistema cuando lleva a cabo sus funciones bajo condiciones determinadas

    Fig. 6 Caractersticas de calidad ISO/IEC 25010.

  • en relacin con un banco de pruebas (benchmark) establecido.

    Utilizacin de recursos. Las cantidades y tipos de recursos utilizados cuando el software lleva a cabo su funcin bajo condiciones determinadas [11].

    3) Compatibilidad. Capacidad de dos o ms sistemas o componentes para intercambiar informacin y/o llevar a cabo sus funciones requeridas cuando comparten el mismo entorno hardware o software. Esta caracterstica se subdivide a su vez en las siguientes subcaractersticas:

    Coexistencia. Capacidad del producto para coexistir con otro software independiente, en un entorno comn, compartiendo recursos comunes sin detrimento.

    Interoperabilidad. Capacidad de dos o ms sistemas o componentes para intercambiar informacin y utilizar la informacin intercambiada [11].

    4) Usabilidad. Capacidad del producto software para ser entendido, aprendido, usado y resultar atractivo para el usuario, cuando se usa bajo determinadas condiciones. Esta caracterstica se subdivide a su vez en las siguientes subcaractersticas:

    Capacidad para reconocer su adecuacin. Capacidad del producto que permite al usuario entender si el software es adecuado para sus necesidades.

    Capacidad de aprendizaje tcnico. Capacidad del producto que permite al usuario aprender su aplicacin.

    Capacidad para ser usado. Capacidad del producto que permite al usuario operarlo y controlarlo con facilidad.

    Proteccin contra errores de usuario. Capacidad del sistema para proteger a los usuarios de hacer errores.

    Esttica de la interfaz de usuario. Capacidad de la interfaz de usuario de agradar y satisfacer la interaccin con el usuario.

    Accesibilidad tcnica. Capacidad del producto que permite que sea utilizado por usuarios con determinadas discapacidades [11].

    5) Fiabilidad. Capacidad de un sistema o componente para desempear las funciones especificadas, cuando se usa bajo unas condiciones y periodo de tiempo determinados. Esta caracterstica se subdivide a su vez en las siguientes subcaractersticas:

    Madurez. Capacidad del sistema para satisfacer las necesidades de fiabilidad en condiciones normales.

    Disponibilidad. Capacidad del sistema o componente de estar operativo y accesible para su uso cuando se requiere.

    Tolerancia a fallos. Capacidad del sistema o componente para operar segn lo previsto en presencia de fallos hardware o software.

    Capacidad de recuperacin. Capacidad del producto software para recuperar los datos directamente afectados y reestablecer el estado deseado del sistema en caso de interrupcin o fallo [11].

    6) Seguridad. Capacidad de proteccin de la informacin y los datos de manera que personas o sistemas no autorizados no puedan leerlos o modificarlos. Esta caracterstica se subdivide a su vez en las siguientes subcaractersticas:

    Confidencialidad. Capacidad de proteccin contra el acceso de datos e informacin no autorizados, ya sea accidental o deliberadamente.

    Integridad. Capacidad del sistema o componente para prevenir accesos o modificaciones no autorizados a datos o programas de ordenador.

  • No repudio. Capacidad de demostrar las acciones o eventos que han tenido lugar, de manera que dichas acciones o eventos no puedan ser repudiados posteriormente.

    Responsabilidad. Capacidad de rastrear de forma inequvoca las acciones de una entidad.

    Autenticidad. Capacidad de demostrar la identidad de un sujeto o un recurso [11].

    7) Mantenibilidad. Esta caracterstica representa la capacidad del producto software para ser modificado efectiva y eficientemente, debido a necesidades evolutivas, correctivas o perfectivas. Esta caracterstica se subdivide a su vez en las siguientes subcaractersticas:

    Modularidad. Capacidad de un sistema o programa de ordenador (compuesto de componentes discretos) que permite que un cambio en un componente tenga un impacto mnimo en los dems.

    Reusabilidad. Capacidad de un activo que permite que sea utilizado en ms de un sistema software o en la construccin de otros activos.

    Analizabilidad. Facilidad con la que se puede evaluar el impacto de un determinado cambio sobre el resto del software, diagnosticar las deficiencias o causas de fallos en el software, o identificar las partes a modificar.

    Capacidad para ser modificado. Capacidad del producto que permite que sea modificado de forma efectiva y eficiente sin introducir defectos o degradar el desempeo.

    Capacidad para ser probado. Facilidad con la que se pueden establecer criterios de prueba para un sistema o componente y con la que se pueden llevar a cabo las pruebas para determinar si se cumplen dichos criterios [11].

    8) Portabilidad. Capacidad del producto o componente de ser transferido de forma efectiva y eficiente de un entorno hardware, software, operacional o de utilizacin a otro. Esta caracterstica se subdivide a su vez en las siguientes subcaractersticas:

    Adaptabilidad. Capacidad del producto que le permite ser adaptado de forma efectiva y eficiente a diferentes entornos determinados de hardware, software, operacionales o de uso.

    Capacidad para ser instalado. Facilidad con la que el producto se puede instalar y/o desinstalar de forma exitosa en un determinado entorno.

    Capacidad para ser reemplazado. Capacidad del producto para ser utilizado en lugar de otro producto software determinado con el mismo propsito y en el mismo entorno [11].

    B. ISO/IEC 25040.

    La divisin para la evaluacin de la calidad define el proceso para llevar a cabo la evaluacin del producto software. Dicho proceso de evaluacin consta de un total de cinco actividades que se observan en la figura 7.

    Fig. 7 ISO/IEC 25040 Actividades de la divisin para la evaluacin de la calidad.

    1) Establecer los requisitos de la evaluacin: Consiste en establecer los requisitos de la evaluacin tomando en cuenta los siguientes aspectos:

    Establecer el propsito de la evaluacin: En esta tarea se documenta el propsito por el que la organizacin quiere evaluar la calidad

  • de su producto software (asegurar la calidad del producto, decidir si se acepta un producto, determinar la viabilidad del proyecto en desarrollo, comparar la calidad del producto con productos de la competencia, etc.).

    Obtener los requisitos de calidad del producto: En esta tarea se identifican las partes interesadas en el producto software (desarrolladores, posibles adquirientes, usuarios, proveedores, etc.) y se especifican los requisitos de calidad del producto utilizando un determinado modelo de calidad.

    Identificar las partes del producto que se deben evaluar: Se deben identificar y documentar las partes del producto software incluidas en la evaluacin. El tipo de producto a evaluar (especificacin de requisitos, diagramas de diseo, documentacin de las pruebas, etc.) depende de la fase en el ciclo de vida en que se realiza la evaluacin y del propsito de sta.

    Definir el rigor de la evaluacin: Se debe definir el rigor de la evaluacin en funcin del propsito y el uso previsto del producto software, basndose, por ejemplo, en aspectos como el riesgo para la seguridad, el riesgo econmico o el riesgo ambiental. En funcin del rigor se podr establecer qu tcnicas se aplican y qu resultados se esperan de la evaluacin [11].

    2) Especificar la evaluacin: se especifican los mdulos de evaluacin (compuestos por las mtricas, herramientas y tcnicas de medicin) y los criterios de decisin que se aplicarn en la evaluacin tomando en cuenta los siguientes aspectos:

    Seleccionar los mdulos de evaluacin: En esta tarea el evaluador selecciona las mtricas de calidad, tcnicas y herramientas (mdulos de evaluacin) que cubran todos los requisitos de la evaluacin. Dichas mtricas deben permitir que, en funcin de su valor, se puedan realizar comparaciones fiables con criterios que permitan tomar decisiones. Para ello se puede tener en cuenta la Norma ISO/IEC 25020

    Definir los criterios de decisin para las mtricas: Se deben definir los criterios de decisin para las mtricas seleccionadas. Dichos criterios son umbrales numricos que se pueden relacionar con los requisitos de calidad y posteriormente con los criterios de evaluacin para decidir la calidad del producto. Estos umbrales se pueden establecer a partir de benchmarks, lmites de control estadsticos, datos histricos, requisitos del cliente, etc.

    Definir los criterios de decisin de la evaluacin: Se deben definir criterios para las diferentes caractersticas evaluadas a partir de las subcaractersticas y mtricas de calidad. Estos resultados a mayor nivel de abstraccin permiten realizar la valoracin de la calidad del producto software de forma general [11].

    3) Disear la evaluacin: se define el plan con las actividades de evaluacin que se deben realizar tomando en cuenta los siguientes aspectos:

    Planificar las actividades de la evaluacin: Se deben planificar las actividades de la evaluacin teniendo en cuenta la disponibilidad de los recursos, tanto humanos como materiales, que puedan ser necesarios. En la planificacin se debe tener en cuenta el presupuesto, los mtodos de evaluacin y estndares adaptados, las herramientas de evaluacin, etc.

    El plan de evaluacin se revisar y actualizar proporcionando informacin adicional segn sea necesario durante el proceso de evaluacin [11].

    4) Ejecutar la evaluacin: se ejecutan las actividades de evaluacin obteniendo las mtricas de calidad y aplicando los criterios de evaluacin tomando en cuenta los siguientes aspectos:

    Realizar las mediciones: Se deben realizar las mediciones sobre el producto software y sus componentes para obtener los valores de las mtricas seleccionadas e indicadas en el plan

  • de evaluacin. Todos los resultados obtenidos debern ser debidamente registrados.

    Aplicar los criterios de decisin para las mtricas: Se aplican los criterios de decisin para las mtricas seleccionadas sobre los valores obtenidos en la medicin del producto.

    Aplicar los criterios de decisin de la evaluacin: En esta ltima tarea se deben aplicar los criterios de decisin a nivel de caractersticas y subcaractersticas de calidad, produciendo como resultado la valoracin del grado en que el producto software cumple los requisitos de calidad establecidos [11].

    5) Concluir la evaluacin: se concluye la evaluacin de la calidad del producto software, realizando el informe de resultados que se entregar al cliente y revisando con ste los resultados obtenidos tomando en cuenta los siguientes aspectos:

    Revisar los resultados de la evaluacin: Mediante esta tarea, el evaluador y el cliente de la evaluacin (en caso de existir) realizan una revisin conjunta de los resultados obtenidos, con el objetivo de realizar una mejor interpretacin de la evaluacin y una mejor deteccin de errores.

    Crear el informe de evaluacin: Una vez revisados los resultados, se elabora el informe de evaluacin, con los requisitos de la evaluacin, los resultados, las limitaciones y restricciones, el personal evaluador, etc.

    Revisar la calidad de la evaluacin y obtener feedback: El evaluador revisar los resultados de la evaluacin y la validez del proceso de evaluacin, de los indicadores y de las mtricas aplicadas. El feedback de la revisin debe servir para mejorar el proceso de evaluacin de la organizacin y las tcnicas de evaluacin utilizadas.

    Tratar los datos de la evaluacin: Una vez finalizada la evaluacin, el evaluador debe realizar el adecuado tratamiento con los datos y los objetos de la evaluacin segn lo acordado con el cliente (en caso de ser una tercera parte), devolvindolos, archivndolos o eliminndolos segn corresponda [11].

    VI. COMPARACION DE ESTANDARES.

    Al igual que la norma ISO/IEC 9126, la ISO/IEC 25000 define tres vistas diferenciadas en el estudio de la calidad de un producto:

    Vista interna: esta vista se encarga de las propiedades del software como: el tamao, la

    Fig. 8 La vista de uso de la ISO/IEC 25000

  • complejidad o la adhesin con las normas de la programacin orientada a objetos.

    Vista externa: vista que estudia el comportamiento del software en produccin y analiza sus atributos, por ejemplo: el rendimiento de un software en un equipo definido, el uso de memoria del software o el tiempo de funcionamiento entre errores.

    Vista en uso: mide la productividad y efectividad del usuario final al utilizar el producto de software.

    La primera se utiliza normalmente desde las primeras fases del desarrollo, permitiendo detectar deficiencias en el software en edades muy tempranas del ciclo de vida del software. La segunda, sin embargo, necesita que el producto software este completo y se utilizar por tanto en el pase a produccin del producto, siendo muy dependiente de la mquina donde se ejecute.

    Por ltimo, la tercera vista que tambin estudia el producto software finalizado ser dependiente del usuario y estar condicionada a los factores personales del mismo. La figura 8 muestra la vista de uso de la ISO/IEC 25000 donde se resalta la diferencia respecto de la ISO/IEC 9126: el contexto de uso que hace referencia a la flexibilidad que presenta el software para adaptarse a diferentes condiciones o ambientes de uso. Puede observarse en la figura 9, las distintas interrelaciones entre las vistas, afectando los valores de la vista interna a los de la vista externa y los de la vista externa a los de la vista en uso. En la tabla 1 se realiza una comparacin entre las normas ISO: 9126,14598 y 25000.

    TABLA I Relacin ISO/IEC 9126, ISO/IEC 14598 y SQuaRE

    ISO/IEC ISO 25000 SQUARE

    9126-1: Quality Model

    25000: Guide to SQUARE 25010: Quality Model and Guide

    9126-2: External metrics

    25020: Measurement referente model and guide

    25023: Measurement of external quality

    9126-3: Internal metrics

    25020: Measurement referente model and guide 25022: Measurement of internal quality

    9126-4: Quality in use metrics

    25020: Measurement referente model and guide 25024: Measurement of quality in use

    Guides to use 9126 and 14598

    25000: Guide to SQUARE

    Base metrics 25021: Measurement primitives

    Quality requirements 25030: Quality requirements and guid

    14598-1: General overview

    25000: Guide to SQUARE

    14598-2: Planning and management

    25001: Planning and management

    14598-3: Proc for developers

    25042: Process for developers

    14598-4: Proc for acquirers

    25043: Process for acquirers

    14598-5: Proc for evaluators

    25044: Process for evaluators

    14598-6: Doc of evaluation modules

    25041: Evaluation modules

    VII. BENEFICIOS DEL USO DE SQuaRE.

    Entre los beneficios de utilizar SQuare como gua para obtener software de calidad, se pueden mencionar los siguientes:

    Mejorar las caractersticas del producto software.

    Controlar la calidad del producto software.

    Asegurar un nivel de calidad del software.

    Posicionar el producto en el mercado de desarrollo de software.

    Alta competitividad para las industrias desarrolladoras de software.

    Minimizar fallos de produccin.

    Reducir costos finales en la fase de mantenimiento.

  • Detectar defectos en el software antes de la fase de produccin ahorrando tiempo y costos.

    Permite una mayor eficacia en la definicin del software.

    Asegurar que el software cumple con los niveles necesarios de seguridad.

    Propone una calidad final a travs de las evaluaciones intermedias.

    VIII CONCLUSIONES.

    Cumplir con un modelo estndar de calidad no asegura necesariamente la calidad del producto, ya que lo que se estandariza es la salida de los procesos.

    El estndar ISO/IEC 25000 es el conjunto de normas vigente y ms adecuado para regular la calidad del software.

    El estndar ISO/IEC 25000 es el resultado de unificar las normas ISO/IEC 9126 y las normas ISO/IEC 14598, que regulan la calidad del producto software y el proceso de evaluacin del producto software, respectivamente.

    Dada la complejidad de la calidad es necesario utilizar un modelo que especifique las caractersticas de calidad.

    El objetivo de la calidad del software no es necesariamente alcanzar una calidad perfecta, sino la necesaria y suficiente para cada contexto de uso.

    Un software de calidad implica que es adaptable a las necesidades del cliente (herramientas, mtricas, modelos y metodologa).

    La percepcin de calidad del software es afectada directamente por el entorno tecnolgico en el que se usa, ya que un entorno tecnolgico limitado hace parecer al software como de baja calidad.

    El uso de SQuaRE orienta el desarrollo de software para que responda continuamente a las exigencias de un entorno que cada vez es ms dinmico, preciso y eficiente.

    Aunque podra parecer que implementar un estndar de calidad resulta muy costoso, a largo plazo se obtiene un ahorro de tiempo y dinero al evitar desarrollos defectuosos, ineficientes o no conformes con los requerimientos.

    SQuaRE ofrece trminos y definiciones, modelos de referencia, guas generales, guas de divisin individual y los estndares para fines de especificacin, planificacin, gestin, medicin y evaluacin de la calidad del producto software.

    Estas normas recomiendan que los requisitos de calidad sean proporcionales a las necesidades de la aplicacin y su criticidad. Por lo tanto, ser tarea de aquel que implante la ISO 25000, quien debe determinar el nivel de calidad final que un producto software deber alcanzar.

    Puesto que el software es el driver de las TIC, es supremamente importante para la sociedad de la informacin contar con un producto software de alta calidad que responda positivamente a las necesidades de los usuarios en todos los contextos de uso.

    La calidad del proceso y la calidad del producto tienen una relacin de influencia y dependencia mutua, ya que mejorar el producto depende de mejorar el proceso y mejorar el producto facilita el proceso.

    REFERENCIAS.

    [1] Alain Abran, J. W. (2004). GUA AL CUERPO DE CONOCIMIENTO DE LA INGENIERA DEL SWEBOK. Washington- Tokyo- Brussels: Editora del Grupo de Gestin, Prensa CS: Deborah Plummer.

    [2] Alfonzo, P. L. (Febrero de 2012). Revisin de modelos para evaluar la calidad de productos Web. Experimentacin en portales bancarios del NEA. La Plata. Al-Qutaish, R. E. (2009).

  • [3] Measuring the Software Product Quality during the Software Development Life-Cycle. Science Publications, 392-397. Gonzlez, A. B. (2010). Gestin de Proyectos de Software.

    [4] Marn B., Condori-Fernndez N., Pastor O., Calidad en Modelos Conceptuales: Un Anlisis Multidimensional de Modelos Cuantitativos basados en la ISO 9126. Revista de Procesos y Mtricas.

    [5] ISO, ISO/IEC 9126-1 Software engineering Product quality

    Part 1: Quality Model, 2001.

    [6] ISO, ISO/IEC 9126-2 Software engineering Product quality Part 2: External Metrics, 2003.

    [7] ISO, ISO/IEC 9126-3 Software engineering Product

    quality Part 3: Internal Metrics, 2003.

    [8] ISO, ISO/IEC 9126-4 Software engineering Product quality Part 4: Quality in Use Metrics, 2004.

    [9] Leticia Davila Nicanor, P. M. (2003). Evaluacion de la Calidad

    de Software en Sistemas de Informacion en internet. CINVESTAV-IPN. Seccion de Computacion.

    [10] Marcelo Caponi, D. D. (2006). GESTIN DE SOFTWARE

    Evaluacin de Productos

    [11] Portal ISO25000. (s.f.). Calidad del Producto Software. Recuperado el 14 de Noviembre de 2013, de Portal ISO 25000.: En: http://iso25000.com.

    [12] Ramn Mollineda, T. V. (2003). Calidad y Testeo del Software.

    Actualidad TIC, 12-16.

    [13] (2013) Portal IEEE website. [Online]. Disponible en: http://www.ieee.org.

    [14] Pressman, R. S. (2002). INGENIERA DEL SOFTWARE UN

    ENFOQUE PRCTICO Quinta edicin. Aravaca (Madrid): McGRAW-HILLDNTERAMERICANA DE ESPANA, S . A. U.

    [15] SOMMERVILLE, I. (2005). Ingeniera del software Sptima

    edicin. Madrid: PEARSON EDUCACIN. S.A.

    [16] UNE-EN-ISO, A. (Vocabulario (ISO 8402:1994).). Gestin de la calidad y aseguramiento de calidad.

    [17] josemariafrancocabrera.wordpress.com. Obtenido de

    http://josemariafrancocabrera.wordpress.com/2012/05/14/modelos-de-calidad-mccall-norma-isoiec-9126-y-norma-25000/.

    [18] Carvallo, J. P. (14 de Noviembre de 2013). www.essi.upc.edu.

    Obtenido de http://www.essi.upc.edu/~franch/papers/libro-calidad-cap-10-jpc-xf-cq-10-version-preliminar.pdf

    [19] Cabrera, J. M. (14 de Noviembre de 2013).

    josemariafrancocabrera.wordpress.com. Obtenido de http://josemariafrancocabrera.wordpress.com/2012/05/14/modelos-de-calidad-mccall-norma-isoiec-9126-y-norma-25000/

    [20] Morilla, J. J. (14 de Noviembre de 2013). http://alarcos.inf-

    cr.uclm.es/doc/cmsi/trabajos/Joaquin%20Ruiz%20Expo.pdf. Obtenido de http://alarcos.inf-cr.uclm.es/doc/cmsi/trabajos/Joaquin%20Ruiz%20Expo.pdf

    [21] qualitrain. (14 de Noviembre de 2013).

    www.qualitrain.com.mx. Obtenido de http://www.qualitrain.com.mx/Calidad-en-el-Desarrollo-de-Software.html

    [22] squac.iti.upv.es. (14 de Noviembre de 2013). www.squac.iti.upv.es. Obtenido de http://squac.iti.upv.es/glosario-calidad/

    [23] www.computing.es. (14 de Noviembre de 2013).

    www.computing.es. Obtenido de http://www.computing.es/informatica-profesional/noticias/1070904001701/58-proyectos-externalizacion-testing.1.html

    [24] www.cyta.com.ar. (14 de Noviembre de 2013).

    www.cyta.com.ar. Obtenido de http://www.cyta.com.ar/ta1202/v12n2a3.htm

    [25] www.javiergarzas.com. (14 de Noviembre de 2013). Obtenido

    de http://www.javiergarzas.com/2012/10/iso-9126-iso-25000-1.html

    [26] www.sqs.es. (14 de Noviembre de 2013). www.sqs.es.

    Obtenido de http://www.sqs.es/es/services/validation.php