Calidad del producto
ISO 25000
Definición
Estándar para medir la calidad del software como producto.
Es una actualización del estándar ISO 9126
Esta compuesta por varios estándares.
Es una familia de normas conocida comoSQuaRE(System and Software Quality Requirements and Evaluation).
Componentes
Interno: Calidad del código del software
Externo: Calidad en la ejecución del software
Uso: Uso del software desde el punto de vista del cliente.
Características
Funcionalidad: Capacidad del software entregar los servicios necesarios para satisfacer las necesidades establecidas
Completitud funcional: Grado en el que las funciones cumplen con los requerimientos y tareas especificadas.
Corrección funcional: Capacidad para cumplir con los resultados establecidos de acuerdo a los objetivos
Pertinencia funcional: Capacidad para que el producto proporcione las funciones apropiadas según la necesidad de tareas y los objetivos establecidos.
Eficiencia en el rendimiento: Rendimiento de los recursos utilizados según las condiciones establecidas.
Comportamiento temporal: Tiempos de respuesta y procesamiento en relación con el banco de pruebas establecido
Utilización de recursos: Cantidad de recursos y tipo de recursos usados en función de las condiciones determinadas.
Capacidad: Grado en que los limites máximos de los parámetros cumplen con los requisitos establecidos.
Compatibilidad: capacidades de uno o más sistemas o componentes para intercambiar información compartiendo recursos.
Coexistencia: Capacidad para coexistir con otros entornos y sistemas compartiendo recursos comunes sin el detrimento de la funcionalidad del producto.
Interoperabilidad: Capacidad de compartir información entre sistemas o componentes y utilizarla.
Fiabilidad: Capacidad de un sistema o componente para realizar determinadas funciones bajo determinadas condiciones en un periodo de tiempo determinado.
Madurez: Capacidad del sistema para satisfacer las necesidades de fiabilidad
Disponibilidad: Capacidad del sistema para estar operativo y accesible cuando se necesita.
Tolerancia a fallos: Capacidad del sistema o componente para operar en condiciones de fallos de hardware o software.
Capacidad de recuperación: Capacidad del sistema o componente para recuperar datos y restablecer estados en caso de interrupción.
Seguridad: Capacidad para proteger información y datos. Evitando que la información sea robada o modificada por terceros.
Confidencial: Capacidad de protección ante accesos no autorizados.
Integridad: Capacidad para prevenir accesos o modificaciones a datos en el software.
No repudio: Capacidad de demostrar las acciones que han tenido lugar.
Responsabilidad: Capacidad de rastrear de forma inequívoca las acciones de una entidad
Autenticidad: Capacidad de demostrar la identidad de alguien.
Mantenibilidad: Capacidad de un producto para dejarse modificar de acuerdo a las necesidades evolutivas o correctivas que el software necesite.
Modularidad: Capacidad de un programa que permita cambios en sus componentes sin afectar los otros componentes.
Reusabilidad: Capacidad para reutilizar código o componentes para la contracción de otros activos.
Analizabilidad: Facilidad para evaluar impactos, diagnosticar eficiencias o identificar cambios.
Capacidad para ser modificado: Capacidad de un producto para se modificado fácilmente sin afectar el desempeño de este.
Capacidad para ser probado: Facilidad para realizar diferentes tipos de pruebas para comprobar si el producto cumple con los requisitos establecidos.
Portabilidad: Capacidad de un producto o componente para ser transferido o poder ser utilizados en otros entornos de hardware o sistemas operativos.
Adaptabilidad: Capacidad de un producto para ser adaptado a diferentes entornos de hardware y sistemas operativos.
Capacidad de ser instalado: Facilidad en la instalación y/o desinstalación.
Capacidad para ser reemplazado: Capacidad de un producto para ser actualizado o reemplazado fácilmente.
Divisiones
ISO/IEC 2500n - División para la gestión de calidad: Definen todos los modelos, términos y definiciones de las otras normas de la familia ISO 25000. Y los requisitos para gestionar la evaluación.
ISO/IEC 25000 - Guide to SQuaRE
ISO/IEC 25001 - Planning and Management
ISO/IEC 2501n – División de Modelo de Calidad: Presenta modelos de calidad detallados. Incluye las características internas, externas y de uso del producto de software.
ISO/IEC 25010 - System and software quality models
ISO/IEC 25012 - Data Quality model
ISO/IEC 2502n – División de Medición de Calidad: Contiene un modelo de referencia para la medición de calidad, medidas e calidad y guías para a aplicabilidad en el producto.
ISO/IEC 25020 - Measurement reference model and guide
ISO/IEC 25021 - Quality measure elements
ISO/IEC 25022 - Measurement of quality in use
ISO/IEC 25023 - Measurement of system and software product quality
ISO/IEC 25024 - Measurement of data quality
ISO/IEC 2503n – División de Requisitos de Calidad: Estas normas proveen recomendaciones para especificar los requisitos de calidad del producto de software.
ISO/IEC 25030 - Quality requirements
ISO/IEC 2504n – División de Evaluación de Calidad: En estas normas se incluye los requisitos, recomendaciones y una guía para realizar el proceso de evaluación de producto de software.
ISO/IEC 25040 - Evaluation reference model and guide
ISO/IEC 25041 - Evaluation guide for developers, acquirers and independent evaluators
ISO/IEC 25042 - Evaluation modules
ISO/IEC 25045 - Evaluation module for recoverability
Modelos de calidad de software
McCall model: Parametros para medir la calidad de software
Operación de software
Revisión de software
Transición de software
Boehm: Agrego al modelos de McCall dos parametros más:
Rendimiento
Utilidad
ISO 9126: Primer estándar de calidad de software. Esta basado en los modelos de McCall y Boehm
Herramientas para la evaluación de la calidad del producto de software
CheckKing QA
Kiuwan
PMD
Check Style
SONAR
Google CodePro Analytix
Simian