Vous êtes sur la page 1sur 32

CALIDAD

DEL SOFTWARE

Taylor Mosquera Castro


Modelo (de calidad)

Definición
Un marco conceptual que especifica una serie de conceptos
medibles y sus relaciones, para una determinada categoría de
entidad.

Ejemplos
Modelo de calidad para productos software de ISO 9126. Factores
de calidad de McCall [McCall 1977].
Introducción
Una especificación y evaluación integral y detallada de la
calidad de los productos de software es un factor clave para
asegurar una calidad adecuada.

 Es importante especificar y evaluar cada característica


relevante de la calidad de los productos software.
El objetivo no es necesariamente alcanzar una
calidad perfecta, sino la necesaria y suficiente
para cumplir con las necesidades reales del
usuario (cuando el producto sea entregado y
utilizado por los usuarios).
Diferentes aspectos de la calidad

•Interna: medible a partir de las características


intrínsecas, como el código fuente

•Externa: medible en el comportamiento del


producto, como en una prueba

•En uso: durante la utilización efectiva por parte


del usuario
Metrica Interna-ISO 9126-3

Aplican a un producto sw no ejecutable


Aplican durante las etapas de su 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.
Fundamentos de ISO 9126

Medición Medición Medición Medición de la


del proceso interna externa calidad en uso
ISO 9126
 Este estándar está pensado para los
desarrolladores, adquirentes, personal de
aseguramiento de calidad y evaluadores
independientes, responsables de especificar Y
evaluar la calidad del producto software.

 Por tanto, puede servir para validar la completitud de


una definición de requisitos, identificar requisitos de
calidad de software, objetivos de diseño y prueba,
criterios de aseguramiento de la calidad, etc.
ISO 9126
 La calidad de cualquier proceso del ciclo de vida del
software (estándar ISO 12207) influye en la calidad
del producto software que, a su vez, contribuye a
mejorar la calidad en el uso del producto.
 La calidad del software puede evaluarse midiendo
los atributos internos (medidas estáticas o productos
intermedios) o atributos externos (comportamiento
del código cuando se ejecuta).
Relación entre el nivel de
rendimiento del software y los
recursos usados
Grado en que las necesidades Capacidad del SW para ser
descritas se satisfacen transferido de un entorno a otro.
Eficiencia

Funcionalidad Portabilidad

CALIDAD

Facilidad con que una


modificación puede ser realizada

Fiabilidad Usabilidad
Grado en que el sistema Fac.de Mantenimiento Mide el esfuerzo necesario que invierte
responde bajo las condiciones
definidas durante un intervalo de tiempo el usuario para utilizar el sistema
Fundamentos de ISO 9126
Calidad
externa e
interna

Facilidad de
Funcionalidad Fiabilidad Usabilidad Eficiencia Mantenimien Portabilidad
to

Aplicabilidad
Precisión Entendibilidad
Madurez Analizabilidad Adaptabilidad
Interoperabilid Facilidad de Comportamiento
Tolerancia a Cambiabilidad Instalabilidad
ad aprendizaje en el tiempo
fallos Testeabilidad Coexistencia
Seguridad de Operabilidad Utilización de
Recuperabilidad Estabilidad Reemplazabilidad
acceso Atractividad recursos
Cumplimiento Cumplimiento Cumplimiento
Cumplimiento Cumplimiento Cumplimiento
de Fiabilidad del de la
de de la de la eficiencia
mantenimiento portabilidad
funcionalidad usabilidad
FICHA DE MÉTRICAS

1.Nombre
2.Propósito
3. Método de aplicación
4. Medidad, fórmula y cómputo de datos

6.Tipo de escala
7.Tipo de medida
8.Fuente de medición
Calidad externa e interna
Funcionalidad
Aplicabilidad: Capacidad del producto software para proporcionar un conjunto
apropiado de funciones para tareas y objetivos de usuario especificados.

Precisión: Capacidad del producto software para proporcionar los resultados o


efectos correctos o acordados, con el grado necesario de precisión.

Interoperabilidad: Capacidad del producto software para interactuar con uno o


más sistemas especificados.

Seguridad de acceso: Capacidad del producto software para proteger información y


datos de manera que las personas o sistemas no autorizados no puedan leerlos o
modificarlos, al tiempo que no se deniega el acceso a las personas o sistemas
autorizados

Cumplimiento funcional: Capacidad del producto software para adherirse a normas,


convenciones o regulaciones en leyes y prescripciones similares relacionadas con
funcionalidad.
Ejemplo métrica deAplicabilidad
Nombre: Completitud de implementación funcional
Propósito: Qué tan completa está la implementación funcional.
Método de aplicación: Contar las funciones faltantes detectadas en la evaluación y comparar
con el número de funciones descritas en la especificación de
requisitos.
Medición, fórmula: X = 1 - A/B
A = número de funciones faltantes
B = número de funciones descritas en la especificación de requisitos

Interpretación: 0 <= X <= 1


Entre más cercano a 1, más completa.
Tipo de escala: absoluta
Tipo de medida: X = count/count A = count
B = count

Fuente de medición: Especificación de requisitos Diseño


Código fuente Informe de
revisión

ISO/IEC 12207 SLCP: 6.6 Validación


6.6 Revisión conjunta
Audiencia: Requeridores
Desarrolladores
Calidad externa e interna
Fiabilidad
Madurez: Capacidad del producto software 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 software o de infringir sus
interfaces especificados.

Recuperabilidad: Capacidad del producto software para restablecer un


nivel de prestaciones especificado y de recuperar los datos directamente
afectados en caso de fallo.

Cumplimiento de la fiabilidad: Capacidad del producto software para


adherirse a normas, convenciones o regulaciones relacionadas con al
fiabilidad.
Ejemplo métrica de Madurez
Nombre: Suficiencia de las pruebas
Propósito: Cuántas de los casos de prueba necesarios están cubiertos por el plan de
pruebas.
Método de aplicación: Contar las pruebas planeadas y comparar con el número de pruebas requeridas
para obtener una cobertura adecuada.
Medición, fórmula: X = A/B
A = número de casos de prueba en el plan B = número de
casos de prueba requeridos
Interpretación: 0 <= X
Entre X se mayor, mejor la suficiencia.
Tipo de escala: absoluta
Tipo de medida: X = count/count A = count
B = count

Fuente de medición: A proviene del plan de pruebas


B proviene de la especificación de requisitos
ISO/IEC 12207 SLCP: Aseguramiento de Calidad Resolución de
problemas Verificación

Audiencia: Desarrolladores Mantenedores


Calidad externa e interna
Usabilidad
 Entendibilidad: Capacidad del producto software que permite al
usuario entender si el software es adecuado y cómo puede ser usado para
unas tareas o condiciones de uso particulares.

Facilidad de aprendizaje: Capacidad del producto software que


permite al usuario aprender sobre su aplicación.
Operabilidad: Capacidad del producto software que permite al usuario
operarlo y controlarlo.

Atractividad: Capacidad del producto software para ser atractivo al


usuario.

Cumplimiento de la usabilidad: Capacidad del producto software para


adherirse a
normas, convenciones, guías de estilo o regulaciones relacionadas con la
usabilidad.
Ejemplo métrica de Entendibilidad
Nombre: Funciones evidentes
Propósito: Qué proporción de las funciones del sistemas son evidentes al usuario.

Método de aplicación: Contar las funciones evidentes al usuario y comparar con el número total de
funciones.
Medición, fórmula: X = A/B
A = número de funciones (o tipos de funciones) evidentes al usuario B = total de
funciones (o tipos de funciones)
Interpretación: 0 <= X <= 1
Entre más cercano a 1, mejor.
Tipo de escala: absoluta
Tipo de medida: X = count/count A = count
B = count

Fuente de medición: Especificación de requisitos Diseño


Informe de revisión

ISO/IEC 12207 SLCP: Verificación Revisión conjunta

Audiencia: Requeridores Desarrolladores


Calidad externa e interna
Eficiencia
Comportamiento en el tiempo: La capacidad del producto de software
para proveer tiempos adecuados de respuesta y procesamiento, y ratios de
rendimiento cuando realiza su función bajo las condiciones establecidas.

Utilización de recursos: La capacidad del producto de software para


utilizar cantidades y tipos adecuados de recursos cuando este funciona bajo
las condiciones establecidas.

Cumplimiento de la eficiencia: La capacidad del producto de software


para adherirse a estándares o convenciones relacionados a la eficiencia.
Ejemplo métrica de Comportamiento en el tiempo
Nombre: Tiempo de respuesta
Propósito: Cuál es el tiempo estimado para completar una tarea.
Método de aplicación: Evaluar la eficiencia de las llamadas al SO y a la aplicación. Estimar el
tiempo de respuesta basado en ello. Puede medirse:
 Todo o partes de las especificaciones de diseño.

 Probar la ruta completa de una transacción.

 Probar módulos o partes completas del producto.

 Producto completo durante la fase de pruebas.


Medición, fórmula: X = tiempo (calculado o simulado)
Interpretación: Entre más corto, mejor.
Tipo de escala: proporción
Tipo de medida: X = time
Fuente de medición: Sistema operativo conocido
Tiempo estimado en llamadas al sistema
ISO/IEC 12207 SLCP: Verificación Revisión conjunta

Audiencia: Desarrolladores Requeridores


Calidad externa e interna
Facilidad de Mantenimiento

SISTEMAS NEGOCIO

Analizabilidad Cambiabilidad Testeabilidad Estabilidad

Capacidad Capacidad para Capacidad para Si se implementa


para ser ser Cambiado. ser probado el cambio el
analizado. software no debe
Si el error se El software debe
fallar producto de
El software debe detecta el software permitir validar
ese cambio
permitir detectar debe permitir ser dicho cambio
errores cambiado
Facilidad de mantenimiento

Analizabilidad: Es la capacidad del producto software


para serle diagnosticadas deficiencias a causas de los
fallos en el software, o para identificar las partes que han
de ser modificadas.
Ejemplo de métrica

Nombre: Densidad de Líneas de código porfunción

Propósito: Determinar la densidad del código de las funciones.

Método de Contar el número de líneas de código de un componente software o todo el software entre el número de
aplicación: funciones del software
Medición, X = B*100/A
fórmula: A = Cantidad de líneas de código (no se incluyen los comentarios ni registros de cambios)
B = Cantidad total de funciones del software

Interpretación: 0 <= X < 100


Entre más cercano a 0, mejor nivel de densidad de líneas de código.

Tipo de escala: absoluta

Tipo de medida: X = count/count


A = count
B = count

Fuente de Especificación de requisitos funcionales


medición: Diseño
Código fuente
Informe de revisión

ISO/IEC 12207 6.6 Validación


6.6 Revisión conjunta

Audiencia: Analistas de calidad


Analistas funcionales
Gerentes de proyecto
Facilidad de mantenimiento – Capacidad
para ser cambiado

Felicidad de mantenimiento

Cambiabilidad: Capacidad del producto


software que permite que una
determinada modificación sea implementada.
Ejemplo métrica de Cambiabilidad
Nombre: Registrabilidad de cambios
Propósito: ¿Se registran adecuadamente los cambios a la especificación y a los módulos con
comentarios en el código?
Método de aplicación: Registrar la proporción de información sobre cambios a los módulos

Medición, fórmula: X = A/B


A = número de cambios a funciones o módulos que tienen comentarios
confirmados
B = total de funciones o módulos modificados

Interpretación: 0 <= X <= 1


Entre más cercano a 1, más registrable.
0 indica un control de cambios deficiente o pocos cambios y alta estabilidad.

Tipo de escala: absoluta


Tipo de medida: X = count/count A = count
B = count

Fuente de medición: Sistema de control de configuraciones Bitácora de versiones


Especificaciones

ISO/IEC 12207 SLCP: Verificación Revisión conjunta

Audiencia: Desarrolladores Mantenedores Requeridores


Facilidad de mantenimiento –
Capacidad para ser probado
Facilidad de mantenimiento
Capacidad para ser probado: Capacidad del producto software
que permite que el software modificado sea validado
Facilidad de mantenimiento – Estabilidad

Facilidad de mantenimiento
Estabilidad: Capacidad del producto software para evitar efectos
inesperados debidos a modificaciones del software

SISTEMAS NEGOCIO
Facilidad de mantenimiento – Estabilidad
Ejemplo de Metrica

Nombre: Grado de impacto


Propósito: Determinar si existen efectos colaterales originados por el cambios de adecuación
Método de Probar todas las funciones del software
aplicación:
X = 1 – A/B
Medición,
A = Número de funciones ejecutadas incorrectamente B = Número total de funciones del software
fórmula:
0 <= X <= 1
Interpretación: Entre más cercano a 1, menor impacto.

Tipo de escala: absoluta


Tipo de
medida: X = Boolean

Fuente de Documento de gestión de cambios Software


medición: Casos de pruebas

ISO/IEC 12207 6.6 Validación


6.6 Revisión conjunta
Usuarios funcionales
Audiencia: Analistas de control de calidad Desarrolladores
Calidad externa e interna
Portabilidad
Adaptabilidad: Es la capacidad del producto de software para ser adaptado a
diferentes entornos especificados sin aplicar acciones o medios diferentes de los previstos
para el propósito del software considerado.

Instalabilidad: La capacidad del producto de software para ser instalado en un


ambiente especificado. Si el software va a ser instalado por el usuario final, puede
afectar la propiedad y operatividad resultantes.

Coexistencia: La capacidad del producto de software para coexistir con otros


productos de software independientes dentro de un mismo entorno, compartiendo
recursos comunes.

Reemplazabilidad: La capacidad del producto de software para ser utilizado en lugar


de otro producto de software, para el mismo propósito y en el mismo entorno.

Cumplimiento de la portabilidad: Capacidad del producto software para adherirse a


normas o convenciones relacionadas con la portabilidad.
Ejemplo métrica de Conformidad de la Portabilidad
Nombre: Conformidad de portabilidad
Propósito: Qué tan conforme es la portabilidad del producto con regulaciones, estándares y
convenciones aplicables.
Método de aplicación: Contar los artículos encontrados que requieren conformidad y comparar con el número de
artículos en la especificación que requieren conformidad.
Medición, fórmula: X = A/B
A = número de artículos implementados de conformidad B = total de artículos
que requieren conformidad
Interpretación: 0 <= X <= 1
Entre más cercano a 1, más completa.
Tipo de escala: absoluta
Tipo de medida: X = count/count A = count
B = count

Fuente de medición: Especificación de conformidad y estándares, convenciones y regulaciones relacionados.


Diseño Código fuente
Informe de revisión

ISO/IEC 12207 SLCP: Verificación Revisión conjunta

Audiencia: Requeridores Desarrolladores


Calidad en uso
Efectividad: Capacidad del producto software para permitir a los usuarios
alcanzar objetivos especificados con exactitud y completitud, en un contexto de
uso especificado.

Productividad: Capacidad del producto software para permitir a los usuarios


gastar una cantidad adecuada de recursos con relación a la efectividad
alcanzada, en un contexto de uso especificado.

Seguridad física: Capacidad del producto software para alcanzar niveles


aceptables del riesgo de hacer daño a personas, al negocio, al software, a las
propiedades o al medio ambiente en un contexto de uso especificado.

Satisfacción: Capacidad del producto software para satisfacer a los usuarios


en un contexto de uso especificado.