Wednesday, May 15, 2019

4.7. Análisis de Factores que Determinan la Calidad Software

Los factores que determinan la calidad se pueden clasificar en 2 grandes grupos:
1- Factores que se pueden medir directamente (Ej. errores / unidad de tiempo)
2- Factores que sólo pueden ser medidos indirectamente (Ej. facilidad de mantenimiento)
En ambos casos, se puede obtener una medida. Pero estas medidas deben ser comparadas con alguna referencia o indicador para poder llegar a una indicación de la realidad
Mc Call clasifica los factores de calidad en:
1- Características Operacionales
2- Capacidad de Soportar Cambios
3- Adaptabilidad a nuevos entornos
1- Características Operacionales
• Corrección
Es el grado en que un programa satisface sus especificaciones y consigue los objetivos pedidos por el cliente. Este factor tiene una pregunta asociada: ¿Hace lo que quiero?
• Confiabilidad
Es el grado en que se puede esperar que un programa lleve a cabo sus funciones esperadas con la precisión requerida. La pregunta asociada a este factor sería: ¿Lo hace de forma fiable todo el tiempo?
• Eficiencia
La cantidad de recursos de computadoras y de código requeridos por un programa para llevar a cabo sus funciones. La pregunta asociada a este factor sería: ¿Se ejecutará en mi hardware lo mejor que pueda?
2- Capacidad de Soportar Cambios
• Facilidad de Mantenimiento
• Es el esfuerzo requerido para localizar y arreglar un error en un programa. La pregunta asociada a este factor sería: ¿Puedo corregirlo?
• Flexibilidad
Es el esfuerzo requerido para modificar un programa operativo. La pregunta asociada a este factor sería: ¿Puedo cambiarlo?
• Facilidad de Prueba
• Es el esfuerzo requerido para probar un programa de forma que se asegure que realiza su función requerida. La pregunta asociada a este factor sería: ¿Puedo probarlo?
3- Adaptabilidad de nuevos entornos
• Portabilidad
Es el esfuerzo requerido para transferir el programa desde un hardware y/o un entorno de sistema de software a otro. Este factor tiene una pregunta asociada: ¿Podré usarlo en otra máquina?
• Reusabilidad
Es el grado en que un programa (o partes de este) se pueden rehusar en otras aplicaciones. Este factor tiene una pregunta asociada: ¿Podré rehusar alguna parte del software?
• Facilidad de Interoperación
• Es el esfuerzo requerido para acoplar un sistema a otro. Este factor tiene una pregunta asociada: ¿Podré hacerlo interactuar con otro sistema?
2- Métricas de Calidad
Es difícil desarrollar medidas directas de los anteriores factores de calidad. Por eso, se definen un conjunto de métricas para cada uno de los factores de calidad. Generalmente estas métricas definidas por MacCall solo pueden ser medidas en forma subjetiva.
Las métricas pueden estar listas de comprobaciones para obtener el grado de los atributos específicos del software. El esquema de graduación propuesto por McCall va en una escala de 0 (bajo) a 10 (alto).
En este esquema se usan las siguientes métricas:
• Facilidad de Auditoria
• La facilidad con que se puede comprobar la conformidad con los estándares
• Exactitud
La precisión de los cálculos y el control
• Normalización de las Comunicaciones
• El grado en que se usan el ancho de banda, los protocolos y las interfaces estándar
• Completitud
El grado en que se ha conseguido la total implementación de las funciones requeridas
• Concisión
Lo compacto que es el programa en términos de líneas de código
• Consistencia
El uso de un diseño uniforme de técnicas de documentación a los largo del proyecto de desarrollo de software
• Estandarización en los datos
• El uso de estructuras de datos de tipos estándar a lo largo de todo el programa
• Tolerancia de Errores
• El daño que se produce cuando el programa encuentra un error
• Eficiencia en la Ejecución
• El rendimiento en tiempo de ejecución de un programa
• Facilidad de expansión
• El grado en que se puede ampliar el diseño arquitectónico de datos o procedural
• Generalidad
La amplitud de aplicación potencial de los componentes del programa
• Independencia del Hardware
• El grado en que el software es independiente del hardware en que opera
• Instrumentación
El grado en que el programa muestra su propio funcionamiento e identifica errores que aparecen
• Modularidad
La independencia funcional de los componentes del programa
• Facilidad de Operación
• La facilidad de operación de un programa
• Seguridad
La disponibilidad de mecanismos que controlen o protejan los programas o datos
• Auto-Documentación
El grado en que el código fuente proporciona documentación significativa

No comments:

Post a Comment