Está en la página 1de 39

CALIDAD DE SOFTWARE

2020

Control de Calidad del Software


Control de Calidad del Software

Factores de Calidad de Software II

Mg. Alfredo Ramos


Factores de Calidad de Software II
Factores de la Calidad de Software
• La necesidad de requerimientos de la calidad de software amplios
• Clasificación de requerimientos de software en factores de la calidad de
software
• Factores de la calidad de software de la operación del producto
• Factores de la calidad de software de la revisión del producto
• Factores de la calidad de software de la transición del producto
• Modelos alternativos de factores de la calidad de software
• ¿Quién está interesado en la definición de los requerimientos de la calidad?
• Cumplimiento del software con los factores de Calidad
Factores de la calidad de software de la
revisión del producto
De acuerdo con el modelo de McCall, hay tres factores de
calidad que comprenden los factores de la revisión de la
calidad del producto.
Estos son factores que tienen que ver con el rango
completo de actividades de mantenimiento:
• mantenimiento correctivo,
• mantenimiento adaptativo y
• mantenimiento perfectivo
Factores de la calidad de software de la
revisión del producto
• Mantenibilidad –
• Definida como los esfuerzos requeridos por el usuario y
personal de mantenimiento, para identificar las razones de
falla del software, corregir la falla y verificar el éxito de la
corrección.
• Estos factores de requerimientos se refieren a la estructura
modular del software, la documentación interna del programa
y el manual del programador, entre otros puntos
Factores de la calidad de software de la
revisión del producto
• Flexibilidad –
• Definida como las capacidades y esfuerzos requeridos para dar soporte
a las actividades de mantenimiento adaptativo.
• Esto incluye a los recursos necesarios para adaptar al paquete de
software a una variedad de usuarios.
• Estos factores de requerimiento dan soporte a las actividades de
mantenimiento para mejorar al producto dándole nuevas capacidades
para mejorar su servicio al cliente.
Factores de la calidad de software de la
revisión del producto
• Facilidad de Prueba (Testability) –
• Definida como la prueba de un sistema de información así como la
operación. Los requerimientos de prueba tienen que ver con
determinadas características añadidas al diseño para ayudar al que
prueba al sistema como proveerle de resultados intermedios y archivos
de bitácora.
• En el caso de la prueba de la operación del sistema, se puede incluir
diagnósticos automáticos de la operación de los distintos componentes
del sistema antes del inicio de la operación, incluyendo reportes de
fallas en el caso que las hubiera.
Factores de la Calidad de Software
• La necesidad de requerimientos de la calidad de software amplios
• Clasificación de requerimientos de software en factores de la calidad de
software
• Factores de la calidad de software de la operación del producto
• Factores de la calidad de software de la revisión del producto
• Factores de la calidad de software de la transición del producto
• Modelos alternativos de factores de la calidad de software
• ¿Quién está interesado en la definición de los requerimientos de la calidad?
• Cumplimiento del software con los factores de Calidad
Factores de la calidad de software de la
transición del producto
De acuerdo con el modelo de McCall, hay tres factores de
calidad que comprenden los factores de la transición de la
calidad del producto.
Esta categoría tiene que ver con la adaptabilidad del
software a otros ambientes y su interacción con otros
sistemas de software
Factores de la calidad de software de la
transición del producto
• Portabilidad –
• Definida como la facilidad de adaptar el software a
otros ambientes consistentes en distinto hardware, o
sistema operativo u otros cambios.
• Esto permite hacer posible continuar el uso del mismo
software básico en distintas situaciones o usarlo en
simultaneo en distintas plataformas.
Factores de la calidad de software de la
transición del producto
• Reusabilidad –
• Definida como la facilidad de usar en un proyecto, módulos de
software diseñados para otro proyecto.
• El re-uso de software implica el ahorro de recursos de
desarrollo, acortar el período de desarrollo y proveer de
módulos de mejor calidad.
• Se asume que los errores del código ya han sido detectados y
corregidos en su mayoría. Este punto se convirtió en asunto de
las normas de la industria en IEEE 1999.
Factores de la calidad de software de la
transición del producto
• Interoperabilidad –
• Definida como la creación de interfaces con otros sistemas de
software o de firmware.
• Puede especificar los nombres de las aplicaciones para las
cuales se debe proveer de una interface.
• Y especificar la estructura de la salida aceptada como norma
en la industria o área de la aplicación.
Factores de la Calidad de Software
• La necesidad de requerimientos de la calidad de software amplios
• Clasificación de requerimientos de software en factores de la calidad de
software
• Factores de la calidad de software de la operación del producto
• Factores de la calidad de software de la revisión del producto
• Factores de la calidad de software de la transición del producto
• Modelos alternativos de factores de la calidad de software
• ¿Quién está interesado en la definición de los requerimientos de la calidad?
• Cumplimiento del software con los factores de Calidad
Modelos alternativos de factores de la calidad
de software
Dos modelos aparecidos en los 80s son considerados alternativas al modelo de McCall
(1977):
• El Modelo de Factores de Evans y Marciniak (1987), 12 factores,
excluye Facilidad de prueba pero incluye Verificabilidad y
Facilidad de expandir el sistema
• El Modelo de Factores de Deutchs y Willis (1988), 15 factores,
excluye Facilidad de prueba pero incluye Verificabilidad,
Facilidad de expandir el sistema, Seguridad, facilidad de manejo
y supervivencia
Modelos alternativos de factores de la calidad
de software
• Verificabilidad –
• Definida como la facilidad de verificar eficientemente el
diseño y programación del software
• La mayoría de los requerimientos se refieren a la
modularidad, simplicidad y adherencia a las guías de
documentación y programación.
Modelos alternativos de factores de la calidad
de software
• Facilidad de expandir – Definida como el esfuerzo
necesario para atender a una población mayor, mejorar
el servicio o añadir nuevas aplicaciones para mejorar la
usabilidad del sistema.
Modelos alternativos de factores de la calidad
de software
• Seguridad –
• Los requerimientos de seguridad tienen por objeto
eliminar condiciones de peligro a los operadores de los
equipos, como consecuencia de errores en el software
de control de procesos.
• Estos errores pueden ser consecuencia de reacciones
inapropiadas a situaciones de peligro o la falla de
proveer señales de alarma cuando se detectan
condiciones de peligro.
Modelos alternativos de factores de la calidad
de software
• Facilidad de manejo –
• Los requerimientos de facilidad de manejo se refieren a
las herramientas administrativas que dan apoyo a la
modificación del software durante el período de
desarrollo y mantenimiento del software, tales como el
manjo de la configuración, procedimientos de cambio
de software, y similares.
Modelos alternativos de factores de la calidad
de software
• Facilidad de supervivencia –
• Los requerimientos de facilidad de supervivencia se
refieren a la continuidad del servicio.
• Definen el tiempo mínimo aceptable de entre fallas y el
tiempo máximo aceptable para recuperación de
servicio. Pueden referirse a distintos tipos de fallas o a
servicios específicos del software.
Comparación de los Modelos de factores de la
calidad de software
• Comparando los modelos de factores, encontramos que dos
de los cinco factores adicionales, Facilidad de Expansión y de
Supervivencia, se parecen a factores ya en el modelo de
McCall, pero con nombres distintos, Flexibilidad y
Confiabilidad.
• Además el factor de facilidad de prueba de McCall, se puede
considerar como un elemento independiente entre los
factores de Mantenibilidad.
Comparación de los Modelos de factores de la
calidad de software
Esto implica que las diferencias entre los tres modelos son mucho
menores de lo que parecía inicialmente.

Los modelos alternativos añaden sólo tres factores al modelo de


McCall:
• Ambos añaden el factor de Verificabilidad
• El modelo de Deutsch y Willis añade los factores de Seguridad y
Facilidad de Manejo
• A pesar de las similitudes los modelos alternativos son ligeramente
diferentes al modelo de McCall
Estructura de los Modelos de factores de la
calidad de software alternativos
Comparación de la estructura del modelo de factores de McCall frente a los tres modelos alternativos

Categorías Modelo de Deutsch y Willis Modelo de Evans y Marciniak


Categorías del Factores de la Calidad del
Funcional Rendimiento Cambio Gerencia Diseño Rendimiento Adaptación
Modelo de McCall Software

Corrección X X
Confiabilidad X X
Operación del
Eficiencia X X
Producto
Integridad X X
Usabilidad X X

Mantenibilidad X X
Revisión del
Flexibilidad X X
Producto
Facilidad de Prueba

Portabilidad X X
Transición del
Reusabilidad X X
Producto
Interoperatividad X X

Verificabilidad X
Factores de los Facilidad de Expansión X X
Modelos Seguridad X
Alternativos Facilidad de Manejo X
Facilidad de Supervivencia X
Factores de la Calidad de Software
• La necesidad de requerimientos de la calidad de software amplios
• Clasificación de requerimientos de software en factores de la calidad de
software
• Factores de la calidad de software de la operación del producto
• Factores de la calidad de software de la revisión del producto
• Factores de la calidad de software de la transición del producto
• Modelos alternativos de factores de la calidad de software
• ¿Quién está interesado en la definición de los requerimientos de la calidad?
• Cumplimiento del software con los factores de Calidad
¿Quién está interesado en la definición de los
requerimientos de la calidad?
• Naturalmente podemos pensar que sólo el cliente está
interesado en definir detalladamente sus requerimientos, para
asegurar la cualidad del producto de software que ha
contratado.
• El documento de requerimientos que prepare servirá como
una protección fundamental contra baja calidad.
• Pero el contratista puede añadir requerimientos para proteger
su propio interés.
¿Quién está interesado en la definición de los
requerimientos de la calidad?
Factores que pueden ser de interés del desarrollador.
• Requerimientos de Reusabilidad. En algunos casos el cliente
podrá anticipar que porciones del desarrollo pueda usarse en
desarrollos posteriores. Pero es más probable que el
desarrollador incluya estos requerimientos para que el equipo
de desarrollo reutilice estos módulos
• Requerimientos de Verificabilidad. Con el propósito de mejorar
la revisión del diseño y las pruebas del software durante el
desarrollo del producto. El objetivo es el de ahorrar recursos
de desarrollo y es de interés del desarrollador.
¿Quién está interesado en la definición de los
requerimientos de la calidad?
Algunos factores de calidad que por lo general no están
incluidos en el documento de requerimientos del cliente y
que pueden ser de sumo interés para el desarrollador:
• Portabilidad
• Reusabilidad
• Verificabilidad
¿Quién está interesado en la definición de los
requerimientos de la calidad?
Es por esto que se espera que el proyecto se lleve a cabo
siguiendo dos juegos de requerimientos:
• El documento de requerimientos del cliente
• El documento de requerimientos adicionales del
desarrollador
Factores de la Calidad de Software
• La necesidad de requerimientos de la calidad de software amplios
• Clasificación de requerimientos de software en factores de la calidad de
software
• Factores de la calidad de software de la operación del producto
• Factores de la calidad de software de la revisión del producto
• Factores de la calidad de software de la transición del producto
• Modelos alternativos de factores de la calidad de software
• ¿Quién está interesado en la definición de los requerimientos de la calidad?
• Cumplimiento del software con los factores de Calidad
Cumplimiento del software con los factores de
Calidad
• A través del proceso de desarrollo se revisa el cumplimiento del proceso de
los distintos factores de calidad mediante las revisiones de diseño,
inspecciones de software, prueba de software, etc.
• Más adelante veremos en detalle las revisiones del diseño, pruebas del
software, la métrica de la calidad de software, medidas que cuantifican el
grado de cumplimiento. Para poder establecer mediciones válidas de
cumplimiento, se han definido sub-factores para aquellos factores que
tienen un amplio rango de atributos y aspectos de uso.
• Se sugieren métricas de calidad de software para cada uno de estos sub-
factores.
Factores de Calidad
Modelo de Factor Categoría de Factor Factores de calidad de software Sub-Factores

Precisión
Cuan Completo
Actualización
Corrección Disponibilidad (tiempo de
respuesta)
Guías de codificación y
Categoría de documentación
Modelo de McCall Operación del Cumplimiento
Producto (consistencia)

Confiabilidad del sistema


Confiabilidad de la
aplicación
Confiabillidad Recuperación de Falla
computacional
Recuperación de Falla de
Hardware
Factores de Calidad
Modelo de Factor Categoría de Factor Factores de calidad de software Sub-Factores

Eficiencia de Procesamiento
Eficiencia de
Eficiencia Almacenamiento
Eficiencia de Comunicación
Categoría de Eficiencia del Uso de Energía
Modelo de McCall Operación del (para las unidades
Producto portátiles)

Control de Acceso
Integridad
Auditoria de Acceso

Operatibilidad
Usabilidad
Entrenamiento
Factores de Calidad
Modelo de Factor Categoría de Factor Factores de calidad de software Sub-Factores

Simplicidad
Modularidad
Auto-descriptividad
Mantenibilidad Guías de codificación y
documentación
Cumplimiento
(consistencia)
Accesibilidad de la
Categoría de Revisión documentación
Modelo de McCall
del Producto
Modularidad
Generalidad
Flexibilidad
Simplicidad
Auto-descriptividad

Facilidad de Prueba por el


Usuario
Facilidad de Prueba Facilidad de Prueba para
Fallas de Mantenimiento
Trazabilidad
Factores de Calidad
Modelo de Factor Categoría de Factor Factores de calidad de software Sub-Factores

Independencia del sistema


Portabilidad de software
Modularidad
Auto-descriptividad

Modularidad
Accesibilidad de la
documentación
Independencia del sistema
Categoría de
de software
Modelo de McCall Transición del Reusabilidad
Independencia de la
Producto
Aplicación
Auto-descriptividad
Generalidad
Simplicidad

Comunalidad
Compatibilidad de sistema
Interoperatibilidad Independencia del sistema
de software
Modularidad
Factores de Calidad
Modelo de Factor Categoría de Factor Factores de calidad de software Sub-Factores

Guías de codificación y
documentación
Cumplimiento
Verificabilidad (consistencia)
Accesibilidad de la
documentación
Trazabilidad
Modularidad
Modelos Factores de los
Alternativos Modelos Alternativos Extensibilidad
Modularidad
Facilidad de Expansión Generalidad
Simplicidad
Auto-descriptividad

Evitamiento de Situaciones
Riesgosas de Operación
Seguridad
Confiabilidad de Alarmas de
condiciones inseguras
Factores de Calidad
Modelo de Factor Categoría de Factor Factores de calidad de software Sub-Factores

Grado de finalización y
facilidad de soporte del
servicio de infraestructura
para la modificación de
software en el proceso de
desarrollo
Manejabilidad
Grado de finalización y
facilidad de soporte del
servicio de infraestructura
Modelos Factores de los para la modificación de
Alternativos Modelos Alternativos software en las actividades
de mantenimiento

Confiabilidad del Sistema


Confiabilidad de la
Aplicación
Facilidad de Supervivencia Recuperación de la Falla
Computacional
Recuperación de la Falla
Hardware
2019

MUCHAS GRACIAS