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

Usabilidad: Capacidad del producto de software para que el usuario capaz de aprenderlo, usarlo y entenderlo. Que el usuario lo encuentre atractivo

Reconocimiento de la adecuación: Capacidad del producto para se entendida por el usuario.

Capacidad de aprendizaje: Capacidad del producto para que el cliente aprenda su funcionamiento.

Capacidad de ser usada: Capacidad del producto para que el cliente use y controle el software con facilidad.

Protección contra errores del usuario: Capacidad para evitar que el usuario cometa errores.

Estética de la interfaz del usuario: Capacidad de la interfaz para satisfacer la interacción con el usuario.

Accesibilidad: Capacidad del producto para que el usuario lo pueda utilizar con determinadas características y discapacidades.