Está en la página 1de 8

Semana 1

ASEGURAMIENTO
DE CALIDAD DEL
SOFTWARE

Unidad 1
Modelos para
la calidad del
software.

Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin
la autorización de cada autor.
1. Modelos para la calidad del software.

1.1 Modelo ISO para la calidad.


La calidad es el conjunto de propiedades inherentes a una entidad, que permiten
juzgar su valor. Está cuantificada por el valor que se le da al conjunto de propiedades
seleccionadas. De esta manera la calidad es subjetiva y circunstancial. Es subjetiva
porque depende de los atributos elegidos para medirla y es circunstancial porque el
conjunto de atributos elegidos puede variar en situaciones diferentes.

Cuando aplicamos el concepto de calidad al software, éste deja de ser subjetivo


porque se determinan cuáles son los atributos de calidad del software. Pero no deja
de ser circunstancial ya que en ciertas situaciones, un determinado conjunto de
características de calidad puede ser más importante que en ciertas otras. La calidad
del software es medible y varia de un sistema a otro o de un programa a otro. (Larman, 2003).

El Aseguramiento de la calidad del software Software Quality Assurance, SQA) se


define como un conjunto de actividades planificadas y sistemáticas, cuyo primer
objetivo es evaluar la calidad de los productos de software, la aplicación de procesos,
procedimientos y de estándares de desarrollo.

Un modelo de calidad puede definirse como el conjunto de factores de calidad, y de


relaciones entre ellos, que proporciona una base para la especificación de requisitos de
calidad y para la evaluación de la calidad de los componentes software. Los modelos
de calidad pueden clasificarse de la siguiente manera: modelos de calidad fijos, a
medida o mixtos.

En los modelos de calidad fijos existe un catálogo de factores de calidad de partida


que se usa como base para la evaluación de la calidad. Este enfoque supone que el
modelo de calidad contiene todos los factores de calidad posibles, y que se usará
un subconjunto de dichos factores para cada proyecto concreto.

En general, la propuesta tipica de un modelo de calidad fijo consiste en una estructuración


de los factores en una jerarquía multinivel, con un conjunto de factores de más alto
nivel, unos criterios que descomponen dichos factores, y eventualmente métricas
para la medida de cada criterio. Ejemplos de modelos que siguen este enfoque son
los modelos de McCall, Boehm, Kellery el modelo FURPS. La ventaja de estos modelos
fijos es que proporcionan una vista común y comparable que se reutiliza en cada

2
proyecto, ya que el conjunto de factores de calidad siempre es el mismo.

Ahora bien, tiene como inconveniente su poca flexibilidad debido a que asumen que
siempre bastará con un subconjunto de sus factores para evaluar la calidad en cualquier
proyecto. (Carvallo, 2011). En los modelos de calidad a medida no existe ningún
catálogo de factores de partida, y dichos factores deben ser identificados para cada
proyecto. La idea que guía la construcción de estos modelos es que se debe partir
de la identificación de los objetivos a alcanzar. Dichos objetivos serían los factores
más abstractos que deben descomponerse en factores más concretos hasta llegar
a hacer operativos los objetivos, de forma que pueda ser medida su consecución.

Así, los modelos son creados desde cero para todo nuevo proyecto. Existen diversas
propuestas de métodos para crear los modelos de calidad a medida, entre las que
podemos destacar GQM (Goal-Question-Metric) y la del estándar IEEE 1061 (1998).

La ventaja de estos modelos es su total adaptabilidad. Ahora bien, tienen como


inconveniente que el coste de su construcción es muy alto comparado con el de
los modelos fijos, y la reutilización de modelos de un proyecto a otro es difícil, dado
que los factores identificados para un proyecto no tienen por qué ser adecuados
para otro.

Los modelos de calidad mixtos intentan combinar las ventajas de los dos tipos
anteriores de modelos. La idea es que exista un conjunto de factores de calidad más
abstractos que sean reutilizados en virtualmente todos los proyectos posibles, y que
puedan ser refinados y operacionalizados para un proyecto particular. (Carvallo, 2011).

1.2 Como medir la calidad en el Software.


Para medir la calidad del software es necesario seguir un proceso de medición que
comprenda los siguientes puntos:

1. Seleccionar las medidas a realizar. Se deben formular las preguntas que la medición
intenta responder y definir las mediciones requeridas para resolver estas preguntas.
No se recogen las mediciones que no están relacionadas de forma directa con
estas preguntas.

3
2. Seleccionar los componentes a evaluar. No es necesario estimar los valores de
las métricas de todos los componentes de un sistema de software. En algunos
casos se elige un conjunto representativo de elementos. En otros, se evalúan
los componentes particularmente críticos como son los que se utilizan de forma
constante.

3. Medir las características de los componentes. Se miden los componentes


seleccionados y se calculan los valores de las métricas.

4. Identificar las mediciones anómalas. Una vez que se obtienen las mediciones
de los componentes se comparan entre sí y se deben observar los valores más
altos y más bajos de cada métrica, puesto que estos sugieren que existen errores.

5. Analizar los componentes anómalos. Una vez identificados los componentes


con valores anómalos se examinan para decidir el rumbo a seguir.

Cada uno de los componentes debe medirse basándose en los factores de calidad
del software como son: corrección, confiabilidad, usabilidad, entre otras.

1.3 Factores de calidad del software.


Los factores de calidad del software son aquellas características que debe cumplir
un producto de software de calidad. McCall y sus colegas propusieron una útil
clasificación de factores que afectan a la calidad del software. Estos factores de
calidad del software, mostrados en la figura 1, se concentran en tres aspectos
importantes de un producto software: sus características operativas, su capacidad
de cambios y su adaptabilidad a nuevos entornos.

4
Refiriéndose a los factores anotados en la figura, McCall proporciona las siguientes
descripciones:

• Corrección. Hasta dónde satisface un programa su especificación y logra los


objetivos propuestos por el cliente.

• Fiabilidad. Hasta dónde se puede esperar que un programa lleve a cabo su función
con la exactitud requerida.

• Eficiencia. La cantidad de recursos informáticos y de código necesarios para que


un programa realice su función.

• Integridad. Hasta dónde se puede controlar el acceso al software o a los datos


por personas no autorizadas

• Usabilidad (facilidad de manejo). El esfuerzo necesario para aprender a operar


con el sistema, preparar los datos de entrada e interpretar las salidas (resultados)
de un programa.

• Facilidad de mantenimiento. El esfuerzo necesario para localizar y arreglar un


error en un programa.

• Flexibilidad. El esfuerzo necesario para modificar un programa que ya está en


funcionamiento.

• Facilidad de prueba. El esfuerzo necesario para probar un programa y asegurarse


de que realiza correctamente su función.

• Portabilidad. El esfuerzo necesario para transferir el programa de un entorno


hardware/software a otro entono diferente. • Reusabilidad (capacidad de reutilización).
Hasta dónde se puede volver a emplear un programa (o partes de un programa)
en otras aplicaciones, en relación al empaquetamiento y alcance de las funciones
que realiza el programa.

• Interoperatividad. El esfuerzo necesario para acoplar un sistema con otro.

5
Los factores de calidad descritos por McCall y sus colegas representan sólo una de
las muchas listas de comprobación sugeridas para la calidad del software, Hewlett-
Packard ha desarrollado un conjunto de factores de calidad del software al que se
le ha dado el acrónimo de FURPS: funcionalidad, facilidad de uso, fiabilidad, rendimiento y
capacidad de soporte. Los factores de calidad FURPS provienen de trabajos anteriores,
definiendo los siguientes atributos para cada uno de los cinco factores principales:

La funcionalidad se valora evaluando el conjunto de características y capacidades


del programa, la generalidad de las funciones entregadas y la seguridad del sistema
global. La facilidad de uso se valora considerando factores humanos, la estética, la
consistencia y la documentacion general. La fiabilidad se evalúa midiendo la
frecuencia y gravedad de los fallos, la exactitud de las salidas (resultados), el tiempo
de medio de fallos (TMDF), la capacidad de recuperación de un fallo y la capacidad
de predicción del programa.

El rendimiento se mide por la velocidad de procesamiento, el tiempo de respuesta,


consumo de recursos, rendimiento efectivo total y eficacia.

La capacidad de soporte combina la capacidad de ampliar el programa (extensibilidad),


adaptabilidad y servicios (estos tres atributos representan un término más común
-mantenimiento-), así como capacidad de hacer pruebas, compatibilidad, capacidad
de configuración (la capacidad de organizar y controlar elementos de la configuración
del software), la facilidad de instalación de un sistema y la facilidad con que se
pueden localizar los problemas. Los factores de calidad FURPS y atributos descritos
anteriormente pueden usarse para establecer métricas de la calidad para todas las
actividades del proceso del software.

1.4 Modelo ISO/IEC.

La Organización Internacional para la Estandarización (ISO) dispone de dos definiciones


de usabilidad:

ISO/ICE 9126 "La usabilidad se refiere a la capacidad de un software de ser comprendido,


aprendido, usado y ser atractivo para el usuario, en condiciones específicas de uso",
Esta definición hace énfasis en los atributos internos y externos del producto, los
cuales contribuyen a su usabilidad, funcionalidad y eficiencia.

6
La usabilidad depende no sólo del producto sino también del usuario. Por ello un
producto no es en ningún caso intrinsecamente usable, sólo tendrá la capacidad
de ser usado en un contexto particular y por usuarios particulares. La usabilidad no
puede ser valorada estudiando un producto de manera aislada (Bevan, 1994).

La norma ISO/IEC 9126 está enfocada a la calidad de Producto y consta de las


siguientes partes:

Parte 1: Modelo de Calidad.


Parte 2: Métricas externas.
Parte 3: Métricas internas.
Parte 4: Calidad en el uso de métricas.

La especificación y la evaluación de la calidad de producto de software se pueden


conseguir definiendo caracteristicas de calidad apropiadas, tomando en cuenta el
objetivo de uso del producto de software. El estándar identifica 6 atributos clave de
calidad:

• Funcionalidad: El grado en que el software satisface las necesidades indicadas


por los siguientes subatributos: idoneidad, corrección, interoperatividad, conformidad
y seguridad.

• Confiabilidad: Cantidad de tiempo que el software está disponible para su uso.


Está referido por los siguientes subatributos: madurez, tolerancia a fallos y facilidad
de recuperación.

• Usabilidad: Grado en que el software es fácil de usar. Viene reflejado por los
siguientes subatributos: facilidad de comprensión, facilidad de aprendizaje y
operatividad.

• Eficiencia: Grado en que el software hace óptimo el uso de los recursos del
sistema. Está indicado por los siguientes subatributos: tiempo de uso y recursos
utilizados.

• Facilidad de mantenimiento: La facilidad con que una modificación puede ser


realizada. Está indicada por los siguientes subatributos: facilidad de análisis, facilidad
de cambio, estabilidad y facilidad de prueba.

7
• Portabilidad: La facilidad con que el software puede ser llevado de un entorno a
otro. Esta referido por los siguientes subatributos: facilidad de instalación, facilidad
de ajuste, facilidad de adaptación al cambio.

1.5 Características del modelo de calidad.


Los modelos de calidad evalúan una serie de factores que determinan la calidad
del software, cada modelo mide un conjunto de características principales que se
dividen en subcaracterísticas que medirán a través de distintas métricas atributos
del software. El conjunto de características medibles varia de un modelo a otro, pero
puede clasificarse en:

• Características de Calidad Interna: Pueden ser medidas y evaluadas por medio


de atributos estáticos de documentos tales como:

• Especificación de requerimientos.

• Arquitectura o diseño.

• Piezas de código fuente, entre otros.

En etapas tempranas del ciclo de vida del software es posible medir, evaluar y controlar
la calidad interna de estos productos. Sin embargo, asegurar la calidad interna no es
generalmente suficiente para asegurar la calidad externa.

• Características de Calidad Externa: Puede ser medida y evaluada por medio de


propiedades dinámicas del código ejecutable en un sistema de computación, esto
es, cuando un módulo o la aplicación completa es ejecutado en una computadora
o en una red simulando lo más cercanamente posible un ambiente real.

En fases tardías del ciclo de vida del software (principalmente en distintas etapas de
testing o ya en estado operativo de un producto de software o aplicación Web), es
posible medir, evaluar y controlar la calidad externa de estos productos ejecutables.

También podría gustarte