• No se han encontrado resultados

Modelos de calidad en el producto de software

3. Modelos de calidad y estándares

3.3. Modelos de calidad en el producto de software

Los modelos de calidad en el producto intentan determinar cómo se puede medir y evaluar la calidad del producto de software.

Se los suele definir mediante una descomposición jerárquica en la que el pri-mer nivel de la jerarquía empieza por criterios externos y observables para los usuarios, como la facilidad de uso, así como también por otros internos, como la eficiencia.

Los criterios pueden ser descompuestos en más atributos, que son en general internos en el producto. Finalmente, cada subatributo puede ser mapeado en un conjunto de métricas de calidad.

Ved también

Veremos en el apartado 4 de este módulo métricas específi-cas relacionadas con los atribu-tos que analizaremos en este apartado.

El modelo de calidad en el producto más conocido es el estándar ISO 9126, aunque todavía continúan vigentes otros, como los de McCall y Boehm.

3.3.1. ISO 9126

En 1991, la International Organization for Standardization (ISO) definió, ba-sándose en los modelos de McCall y Boehm, el estándar ISO 9126. La norma se basa en considerar que el foco en la calidad cambia durante el ciclo de vida: • Al principio, durante la captura de los requisitos y su análisis, la calidad se especifica de acuerdo con los requisitos de los usuarios, principalmente desde su punto de vista externo (calidad�externa). La calidad externa se mide por el comportamiento del producto en ejecución y en un entorno simulado, con las pruebas.

• En la fase de diseño e implementación, la calidad externa se traduce en un diseño técnico y un código. Se mide el punto de vista de los desarrolladores sobre la calidad�interna del código y los requisitos implícitos que tiene que cumplir este software.

Una vez el software está operativo, la calidad final (calidad�de�uso) tiene que ser la adecuada para los usuarios y el contexto de utilización. Se miden los efectos del uso en los usuarios finales reales cuando el producto está ejecutándose en un entorno productivo.

Calidad externa y calidad en el uso

La diferencia entre calidad externa y calidad en el uso es similar a la que existe entre las pruebas de sistema y las pruebas de aceptación. En el primer caso, las pruebas se realizan con datos "prefabricados" por el equipo que realiza las pruebas. En el segundo caso, las pruebas las realizan usuarios reales con datos reales.

¿Certificaciones ISO 9126?

¿Nos podemos certificar en el estándar ISO 9126? No, no existen certificaciones en esta norma.

La ISO 9126 define seis factores de calidad, que se consideran tanto internos como externos (funcionalidad, fiabilidad, usabilidad, eficiencia, facilidad de mantenimiento y portabilidad), y cuatro factores de calidad de uso (eficacia, productividad, seguridad y satisfacción):

1)�Funcionalidad. Conjunto de atributos que se basan en la existencia de un

conjunto de funciones y sus propiedades especificadas.

Idoneidad. Miden si el conjunto de funciones es apropiado.

Exactitud. Miden que los efectos sean los correctos y esperados.

Interoperabilidad. Miden la habilidad de interactuar con otros sistemas.

Seguridad. Miden la habilidad para prevenir accesos no autorizados.

Cumplimiento. Seguimiento de estándares, convenciones o regulaciones

legales.

2)�Fiabilidad. Atributos relacionados con la capacidad del software de

mante-ner su nivel de fiabilidad bajo las condiciones establecidas durante un período de tiempo.

Madurez. Frecuencia de fallos por defectos en el software.

Tolerancia�a�fallos. Habilidad para mantener el nivel de rendimiento en

caso de fallos del software.

Recuperabilidad. Miden la capacidad de restablecer el nivel de

rendimien-to y recuperar darendimien-tos en caso de fallo y el tiempo y esfuerzo necesario.

Nota

No hace falta que memoricéis los diferentes factores y atri-butos. Se exponen para que comprobéis la complejidad y exhaustividad del modelo.

Cumplimiento. Igual que en la funcionalidad.

3)�Usabilidad. Conjunto de atributos relacionados con el esfuerzo necesario

para usar el software.

Comprensión. Miden el esfuerzo del usuario para reconocer el concepto

lógico del software y su aplicabilidad.

Aprendizaje. Miden el esfuerzo del usuario para aprender a usar la

aplica-ción.

Operatividad. Miden el esfuerzo del usuario en operar y administrar el

sistema.

Atractividad. Miden el nivel de atracción de la aplicación.

Cumplimiento. Igual que en la funcionalidad.

4)�Eficiencia. Conjunto de atributos relacionados con el nivel de rendimiento

del software y la cantidad de recursos utilizados.

Comportamiento�en�el�tiempo. Atributos que miden el tiempo de

res-puesta y el tiempo de procesamiento de las funciones.

Utilización�de�recursos. Miden la cantidad de recursos usados y la

dura-ción de este uso en la ejecudura-ción de las funciones.

Cumplimiento.

5)�Mantenibilidad. Conjunto de atributos relacionados con el nivel de

ren-dimiento del software y la cantidad de recursos utilizados.

Facilidad�de�análisis. Miden el esfuerzo necesario para diagnosticar

defi-ciencias o causas de fallos e identificar las partes que tienen que ser mo-dificadas.

Facilidad�de�cambio. Miden el esfuerzo necesario para hacer

modificacio-nes, eliminar defectos...

Estabilidad. Miden el riesgo de los efectos no esperados en las

modifica-ciones.

Facilidad�para�ser�probado. Miden el esfuerzo necesario para validar el

software modificado.

6)�Portabilidad. Conjunto de atributos relacionados con la habilidad del

soft-ware para ser transferido a un nuevo entorno.

Adaptabilidad. Miden la oportunidad de adaptación a diferentes ámbitos

sin aplicar acciones que no sean las previstas por el propósito del software. • Facilidad�de�instalación. Miden el esfuerzo necesario para instalar el

soft-ware en un nuevo entorno.

Coexistencia. Mide el comportamiento del sistema o el usuario con otro

software independiente en un entorno común compartiendo recursos. • Facilidad�de�reemplazo. Miden el esfuerzo de usar el software en lugar

de otro en su entorno.

Cumplimiento. Miden si el software se adhiere a estándares o

convencio-nes relacionadas con la portabilidad.

La calidad en el uso es más simple y solo incluye cuatro factores de calidad:

1)�Eficacia. Capacidad del producto para permitir a los usuarios que alcancen

los objetivos con exactitud e integridad.

2)�Productividad. Capacidad para permitir a los usuarios la utilización de una

cantidad de recursos apropiados (tiempo para completar una tarea, coste fi-nanciero, etc.).

3)� Seguridad. Capacidad de conseguir niveles aceptables de riesgo para las

personas, la programación, la propiedad o el entorno.

4)�Satisfacción. Criterios para establecer la satisfacción del cliente.

Ejemplos de métricas

El estándar establece algunos ejemplos de métricas que se pueden aplicar a cada uno de los factores. Por ejemplo, dentro de las métricas de facilidad de cambio se incluyen, entre otros, tiempo requerido para la implementación de cambios, eficiencia en los cambios... 3.3.2. Otros modelos

Uno de los modelos más conocidos es el de McCall (realizado en 1977), pre-decesor de los modelos de calidad actuales. Al igual que la ISO 9126, define diferentes factores de calidad, pero los agrupa en tres clasificaciones:

1)�Operación�del�producto�(características�de�su�operación). Analiza la

efec-tividad del software en el cumplimiento de un conjunto específico de tareas, entre las que podemos encontrar la facilidad de entrada de datos al usuario o la confianza en los datos de salida.

2)�Revisión�del�producto�(capacidad�para�cambiar�el�producto). Mide la

facilidad para actualizar, cambiar o mantener el producto. Esta característica es especialmente importante, ya que determina el coste de las pruebas y el de corrección de los defectos que surgen del proceso de pruebas. Incluye la facilidad de mantenimiento, la flexibilidad y la facilidad de ser probado.

3)�Transición�del�producto�(adaptabilidad�a�nuevos�entornos). Mide la

fa-cilidad de migración. Incluye tres factores:

a)�Interoperabilidad. Es la capacidad de interactuar con otras piezas de

soft-ware.

b)�Reusabilidad. Es la frecuencia con que el software puede ser usado en otras

aplicaciones.

c)�Portabilidad. Es la facilidad de uso del software en otras plataformas.

La medición de cualquiera de los factores en el modelo de McCall se define de acuerdo con un conjunto de 41 métricas. Para cada criterio de calidad aporta una lista de condiciones que se tienen que dar en cada una de las etapas del ciclo de vida (R: requisitos, D:diseño, I:implementación) y que definen el im-pacto de los diferentes criterios de bajo nivel en el factor superior.

Otro modelo histórico es el modelo�de�Boehm, en el que la descomposición jerárquica de la calidad de un producto se realiza con 17 factores de calidad, de acuerdo con tres categorías principales bastante similares a las del modelo de McCall:

1)�Utilidad�por�sí�mismo. Facilidad de uso, fiabilidad, eficiencia.

2)�Facilidad�de�mantenimiento. Facilidad para identificar qué se tiene que

cambiar, facilidad para ser modificado y facilidad para ser probado.

3)�Portabilidad. Facilidad de cambio del software para poder funcionar en un

nuevo entorno.

Aunque los modelos de Boehm y McCall son muy similares, el modelo de Mc-Call está enfocado a medir con precisión las características de alto nivel, mien-tras que el modelo de Boehm se basa en un conjunto mayor de características, pero enfocadas principalmente a la facilidad de mantenimiento.

Si bien la descomposición en los factores y criterios de calidad difiere entre los diferentes modelos, la gran diferencia entre el modelo ISO 9126 y los modelos de McCall y de Boehm radica en que en estos una subcaracterística de calidad puede impactar a más de una característica de calidad, mientras que en la ISO 9126 una subcaracterística solo pertenece a una característica específica.