COMPARACION DE LAS NORMAS DE CALIDAD PARA EL DESARROLLO DE SOFTWARE DE MACCALL, ISO/IEC 9126 E ISO 25000
1. Resumen.-
En la actualidad todas las industrias han sobrevivido y se han adaptado a las demandas del público en general. Esto se debe que las mismas han desarrollado tecnologías que les permiten desarrollar productos de calidad,aumentando la producción, ahorrando tiempo, esfuerzo, , la precisión exigiendo cada vez más reglas que ayuden a la automatización de dichas tareas.
Es muy sierto la necesidad de automatizar los procesos que generalmente siguen una rutina o procedimiento con la ayuda de Sistemas informáticos, y no solo en productos sino también en la administración de las tareas y en la venta de servicios de cualquier tipo como: educación,industrias , etc.
En el caso del software podemos hacer una gran diferencia con los demás productos tradicionales de acuerdo a sus características por tanto no es suficiente medir solo el software como producto sino además también es necesario medir el proceso con el cual se desarrolla el software.
En este artículo haremos una comparación de las normas y modelos de calidad como MacCall, ISO/IEC 9126 e ISO 25000.
2. Modelo de MacCall.-
El modelo de McCall organiza los factores en tres ejes o puntos de vista desde los cuales el usuario puede contemplar la calidad de un producto, basándose en once factores de calidad organizados en torno a los tres ejes y a su vez cada factor se desglosa en otros criterios:
Puntos De Vista O Ejes
|
Factor
|
Criterios
|
OPERACIÓN DEL PRODUCTO
|
Facilidad de uso
|
- Facilidad de operación: Atributos del software que determinan la facilidad de operación del software.
- Facilidad de comunicación: Atributos del software que proporcionan entradas y salidas fácilmente asimilables.
- Facilidad de aprendizaje: Atributos del software que facilitan la familiarización inicial del usuario con el software y la transición del modo actual de operación.
- Formación: El grado en que el software ayuda para permitir que nuevos usuarios apliquen el sistema.
|
Integridad
|
- Control de accesos. Atributos del software que proporcionan control de acceso al software y los datos que maneja.
- Facilidad de auditoría: Atributos del software que facilitan la auditoría de los accesos al software.
| |
Corrección
|
- Completitud: Atributos del software que proporcionan la implementación completa de todas las funciones requeridas.
- Consistencia: Atributos del software que proporcionan uniformidad en las técnicas y notaciones de diseño e implementación.
- Trazabilidad o rastreabilidad: Atributos del software que proporcionan una traza desde los requisitos a la implementación con respecto a un entorno operativo concreto.
| |
OPERACIÓN DEL PRODUCTO
|
Fiabilidad
|
- Precisión: Atributos del software que proporcionan el grado de precisión requerido en los cálculos y los resultados.
- Consistencia.
- Tolerancia a fallos: Atributos del software que posibilitan la continuidad del funcionamiento bajo condiciones no usuales.
- Modularidad: Atributos del software que proporcionan una estructura de módulos altamente independientes.
- Simplicidad: Atributos del software que posibilitan la implementación de funciones de la forma más comprensible posible.
- Exactitud: La precisión de los cálculos y del control.
|
Eficiencia
|
- Eficiencia en almacenamiento: Atributos del software que minimizan el espacio de almacenamiento necesario.
| |
REVISION DEL PRODUCTO
|
Facilidad de mantenimiento
|
- Modularidad.
- Simplicidad.
- Consistencia.
- Concisión: Atributos del software que posibilitan la implementación de una función con la menor cantidad de códigos posible.
- Auto descripción: Atributos del software que proporcionan explicaciones sobre la implementación de las funciones.
|
Facilidad de prueba
|
- Modularidad.
- Simplicidad.
- Auto descripción.
- Instrumentación: Atributos del software que posibilitan la observación del comportamiento del software durante su ejecución para facilitar las mediciones del uso o la identificación de errores.
| |
Flexibilidad
|
- Auto descripción.
- Capacidad de expansión: Atributos del software que posibilitan la expansión del software en cuanto a capacidades funcionales y datos.
- Generalidad: Atributos del software que proporcionan amplitud a las funciones implementadas.
- Modularidad.
| |
Reusabilidad
|
- Auto descripción.
- Generalidad.
- Modularidad.
-Independencia entre sistema y software: Atributos del software que determinan su dependencia del entorno operativo.
- Independencia del hardware: Atributos del software que determinan su dependencia del hardware.
| |
Interoperabilidad
|
- Modularidad.
- Compatibilidad de comunicaciones: Atributos del software que posibilitan el uso de protocolos de comunicación e interfaces estándar.
- Compatibilidad de datos: Atributos del software que posibilitan el uso representaciones de datos estándar.
- Estandarizacion en los datos: El uso de estructuras de datos y de tipos estándar a lo largo de todo el programa.
| |
Portabilidad
|
- Auto descripción.
- Modularidad.
-Independencia entre sistema y software.
- Independencia del hardware.
|
Empleo del modelo de MacCall
Antes de comenzar a utilizar el modelo de McCall hay que seguir las siguientes pautas:
1. Se aceptan los factores, criterios y métricas que propone el modelo.
2. Se aceptan las relaciones entre factores y criterios, y entre criterios y métricas.
3. Se selecciona un subconjunto de factores de calidad sobre los que aplicar los requisitos de calidad establecidos para el proyecto.
Al comienzo del proyecto habrá que especificar los requisitos de calidad del producto software, para lo cual se seleccionarán los aspectos inherentes a la calidad deseada del producto, teniendo que considerarse para ello:
· Las características particulares del propio producto que se está diseñando: por ejemplo, su ciclo de vida que si se espera que sea largo implicará un mayor énfasis en la facilidad de mantenimiento y la flexibilidad, o bien si el sistema en desarrollo está destinado a un entorno donde el hardware evoluciona rápidamente implicará como requisito su portabilidad.
· La relación calidad-precio, que puede evaluarse a través del coste de cada factor de calidad frente al beneficio que proporciona. La siguiente tabla muestra la relación calidad-precio para cada factor considerado:
Factor
|
Beneficio / coste
|
Corrección
|
alto
|
Fiabilidad
|
alto
|
Eficiencia
|
bajo
|
Integridad
|
bajo
|
Facilidad de uso
|
medio
|
Facilidad de mantenimiento
|
alto
|
Facilidad de prueba
|
alto
|
Flexibilidad
|
medio
|
Portabilidad
|
medio
|
Reusabilidad
|
medio
|
Interoperabilidad
|
bajo
|
Norma ISO/IEC 9126.-
ISO 9126-1 propone un modelo de calidad categorizando la calidad de los atributos software en seis características (funcionalidad, fiabilidad, usabilidad, eficiencia, mantenibilidad y portabilidad), las cuales son subdivididas en subcaracterísticas. Las subcaracterísticas pueden ser medidas con métricas internas o externas.
La calidad de uso es definida como “la capacidad del software que posibilita la obtención de objetivos específicos con efectividad, productividad, satisfacción y seguridad”.
La norma 9126-2 es un reporte técnico que contiene la terminología relacionada con las medidas de las métricas, el uso de las métricas en el proceso del ciclo de la vida y unos conjuntos básicos introductorios de métricas externas para cada característica y subcaracterística de calidad de software. Este informe proporciona al usuario una guía (o dirección) de métricas para la evaluación de planificación, selección de métricas, diseño de métricas, aplicación de métricas y interpretación de medidas de datos.
Es recomendable que las métricas internas tengan fuerte relación con las métricas externas para que puedan ser usadas para predecir los valores de las métricas externas.
La interpretación de las medidas se puede realizar de tres formas:
- Ø Medida directa. Una medida directa es una medida de un atributo que no depende de las medidas de otros atributos.
- Ø Medida indirecta. Una medida indirecta es derivada de medidas de uno o más atributos.
- Ø Indicadores. Son aquellas medidas que pueden ser estimadas o predichas desde otras medidas.
- Las métricas tienen unas propiedades deseables que se detallan a continuación:
- Ø Fiabilidad.
- Ø Indicabilidad.
- Ø Disponibilidad.
- Ø Corrección.
- Ø Imparcialidad.
El conjunto de métricas que contiene está organizadas por características y subcaracterísticas, donde cada métrica contiene:
- Ø Nombre.
- Ø Propósito.
- Ø Método de aplicación.
- Ø Medida, fórmula y cómputo de datos.
- Ø Interpretación del valor medido.
- Ø Tipo de escala.
- Ø Tipo de medida.
- Ø Fuente de medida.
- Ø Referencia a ISO/IEC 12207 SLCP.
- Ø Audiencia.
La norma 9126-3 proporciona métricas internas para medir los atributos de las características de calidad definidas en la norma 9126-1. Con las siguientes cualidades:
- Ø Se aplican a un producto de software no ejecutable.
- Ø Se aplican durante las etapas de desarrollo.
- Ø Permiten medir la calidad de los entregables intermedios.
- Ø Permiten predecir la calidad del producto final.
- Ø Permiten al usuario iniciar acciones correctivas temprano en el ciclo de desarrollo.
El conjunto de métricas están organizadas igualmente por características y subcaracterísticas, donde tiene los mismos campos que la norma ISO 9126-2. Por lo tanto existirá métricas de funcionalidad, fiabilidad, usabilidad, eficiencia, mantenibilidad y portabilidad. Las propiedades deseables son las siguientes: confiable, repetible, reproducible, disponible, indicable, correcta y con significado. Los pasos que se sugieren son los siguientes:
- Ø Identificación de los requisitos de calidad.
- Ø Especificación de la evaluación.
- Ø Diseño de la evaluación.
- Ø Ejecución de la evaluación.
- Ø Retroalimentación a la organización.
3. Norma ISO 25000.-
Recientemente ha aparecido una nueva versión de la norma 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.
software con la especificación y evaluación de requisitos de calidad. Establece criterios para la especificación de requisitos de calidad de productos de software, sus métricas y su evaluación. Incluye un modelo de calidad dividido en dos partes para unificar las definiciones de calidad de los clientes con los atributos en el proceso de desarrollo. SQuaRE está formada por las divisiones siguientes:
Ø ISO/IEC 2500n. División de gestión de calidad. Los estándares que forman esta división definen todos los modelos comunes, términos y referencias a los que se alude en las demás divisiones de SQuaRE.
Ø ISO/IEC 2501n. División del modelo de calidad. El estándar que conforma esta división presenta un modelo de calidad detallado, incluyendo características para la calidad interna, externa y en uso.
Ø ISO/IEC 2502n. División de mediciones de calidad. Los estándares pertenecientes a esta división incluyen un modelo de referencia de calidad del producto de software, definiciones matemáticas de las métricas de calidad y una guía práctica para su aplicación. Presenta aplicaciones de métricas para la calidad de software interna, externa y en uso.
Ø ISO/IEC 2503n. División de requisitos de calidad. Los estándares que forman parte de esta división ayudan a especificar los requisitos de calidad. Estos requisitos pueden ser usados en el proceso de especificación de requisitos de calidad para un producto de software que va a ser desarrollado ó como entrada para un proceso de evaluación. El proceso de definición de requisitos se guía por el establecido en la norma ISO/IEC 15288.
Ø ISO/IEC 2504n. División de evaluación de la calidad. Estos estándares proporcionan requisitos, recomendaciones y guías para la evaluación de un producto de software, tanto si la llevan a cabo evaluadores, como clientes o desarrolladores.
Ø ISO/IEC 25050–25099. Estándares de extensión SQuaRE. Incluyen requisitos para la calidad de productos de software “Off-The-Self” y para el formato común de la industria (CIF) para informes de usabilidad.
Ø La norma ISO 25000 ha sido desarrollada por el subcomité SC 7 (Ingeniería de software y sistemas) del Comité Técnico Conjunto ISO/IEC JTC 1.
(Evaluación del Software), y su objetivo principal es guiar el desarrollo de los productos de
4. Conclusiones.-
En esta investigacion se puede concluir que cada uno de estos modelos se concentra en la medición de todos los factores empesando desde su planificación que el software es desarrollado en producción y durante toda las etapa de todo el ciclo de su vida del software.