700 likes | 1.34k Views
Modelos para la calidad del software. Dirección General de Servicio Civil – UTIC 2012. Agenda. Modelo FURPS Modelo McCall Modelo Boehm ISO 9126 Modelo Dromey Six Sigma WQM. Modelo FURPS.
E N D
Modelos para la calidad del software Dirección General de Servicio Civil – UTIC 2012
Agenda • Modelo FURPS • Modelo McCall • Modelo Boehm • ISO 9126 • Modelo Dromey • Six Sigma • WQM
Modelo FURPS • Producto del desarrollo de Hewlett-Packard. En este modelo se desarrollan un conjunto de factores de calidad de software, bajo el acrónimo de FURPS: funcionalidad (Functionality), usabilidad (Usability), confiabilidad (Reliability), desempeño (Performance) y capacidad de soporte (Supportability).
Modelo FURPS Funcionalidad • Características y capacidades del programa • Generalidad de las funciones • Seguridad del sistema
Modelo FURPS Facilidad de uso • Factores humanos • Factores estéticos • Consistencia de la interfaz • Documentación
Modelo FURPS Confiabilidad • Frecuencia y severidad de las fallas • Exactitud de las salidas • Tiempo medio de fallos • Capacidad de recuperación ante fallas • Capacidad de predicción
Modelo FURPS Rendimiento • Velocidad del procesamiento • Tiempo de respuesta • Consumo de recursos • Rendimiento efectivo total • Eficacia
Modelo FURPS Capacidad de Soporte • Extensibilidad • Adaptabilidad • Capacidad de pruebas • Capacidad de configuración • Compatibilidad • Requisitos de instalación
Modelo FURPS El modelo FURPS incluye, además de los factores de calidad y los atributos, restricciones de diseño y requerimientos de implementación, físicos y de interfaz. Las restricciones de diseño especifican o restringen el diseño del sistema. Los requerimientos de implementación especifican o restringen la codificación o construcción de un sistema (por ejemplo, estándares requeridos, lenguajes, políticas). Por su parte, los requerimientos de interfaz especifican el comportamiento de los elementos externos con los que el sistema debe interactuar. Por último, los requerimientos físicos especifican ciertas propiedades que el sistema debe poseer, en términos de materiales, forma, peso, tamaño (por ejemplo, requisitos de hardware, configuración de red).
Modelo McCall De 1977. En el modelo de McCall, los factores de calidad se concentran en tres aspectos importantes de un producto de software: características operativas, capacidad de cambios y adaptabilidad a nuevos entornos.
Modelo McCall Correctitud • Rastreabilidad • Completitud • Consistencia
Modelo McCall Confiabilidad • Consistencia • Exactitud • Tolerancia a fallas
Modelo McCall Eficiencia • Eficiencia de ejecución • Eficiencia de almacenamiento Integridad • Control de acceso • Auditoría de acceso
Modelo McCall Usabilidad • Operabilidad • Entrenamiento • Comunicación Mantenibilidad • Simplicidad • Concreción
Modelo McCall Capacidad de Prueba • Simplicidad • Instrumentación • Auto-descriptividad • Modularidad
Modelo McCall Flexibilidad • Auto-descriptividad • Capacidad de expansión • Generalidad • Modularidad
Modelo McCall Portabilidad • Auto-descriptividad • Independencia del sistema • Independencia de máquina
Modelo McCall Reusabilidad • Auto-descriptividad • Generalidad • Modularidad • Independencia del sistema • Independencia de máquina
Modelo McCall Interoperabilidad • Modularidad • Similitud de comunicación • Similitud de datos.
Modelo Boehm De 1978. Considera características tales como: • Utilidad: cuan (usable, confiable, eficiente) es el producto en sí mismo • Mantenibilidad: cuan fácil es modificarlo, entenderlos y retestearlo • Utilidad general: si puede seguir usándose si se cambia el ambiente • Portabilidad • Confiabilidad • Eficiencia • Usabilidad • Testeabilidad
Modelo Boehm • Facilidad de entendimiento (mantenibilidad) • Modificabilidado flexibilidad (mantenibilidad) • Accesibilidad • Eficiencia de uso de dispositivos • Robustez/integridad • Comunicación
Modelo Boehm En 1988 este modelo se especializa, convirtiéndose en el famoso Ciclo de Vida en Espiral. • Combina los elementos controlados y sistemáticos del modelo de cascada con la filosofía interactiva de construcción de prototipos.
Modelo Boehm Proporciona el potencial para el desarrollo rápido de versiones incrementales del software. El software se desarrolla en una serie de versiones incrementales. Durante las primera iteraciones, la versión incremental puede ser un modelo en papel o un prototipo. Durante las últimas iteraciones, se producen versiones cada vez más completas del sistema.
Modelo Boehm El modelo se divide en un número de actividades estructurales llamadas regiones: • Comunicación con el cliente. • Planeación. Define recursos, tiempo y otras informaciones relacionadas con el proyecto. • Análisis de riesgos. Evalúa riesgos técnicos y de administración. • Ingeniería. Construye una o más representaciones de la aplicación. • Construcción y adaptación. Construye, prueba, instala y proporciona soporte al usuario (p.e. documentación). • Evaluación del cliente.
Modelo Boehm Ventajas • Reduce riesgos del proyecto • Incorpora objetivos de calidad • Integra el desarrollo con el mantenimiento
Modelo Boehm Desventajas • Genera mucho tiempo en el desarrollo del sistema • Modelo costoso • Requiere experiencia en la identificación de riesgos
ISO 9126 El estándar ISO/IEC 9126 ha sido desarrollado en un intento de identificar los atributos clave de calidad para un producto de software. Este estándar es una simplificación del Modelo de McCall (Losavio et al., 2003), e identifica seis características básicas de calidad que pueden estar presentes en cualquier producto de software
ISO 9126 Funcionalidad • Adecuación • Exactitud • Interoperabilidad • Seguridad
ISO 9126 Confiabilidad • Madurez • Tolerancia a fallas • Recuperabilidad Usabilidad • Entendibilidad • Capacidad de aprendizaje • Operabilidad
ISO 9126 Eficiencia • Comportamiento en tiempo • Comportamiento de recursos Mantenibilidad • Analizabilidad • Modificabilidad • Estabilidad • Capacidad de pruebas
ISO 9126 Portabilidad • Adaptabilidad • Instalabilidad • Reemplazabilidad
ISO 9126 • Funcionalidad: conjunto de atributos que relacionan la existencia de un conjunto de funciones con sus propiedades especificadas. Las funciones satisfacen necesidades especificadas o implícitas • Adecuación: atributos que determinan si el conjunto de funciones son apropiadas para las tareas especificadas • Exactitud: atributos que determinan que los efectos sean los correctos o los esperados • Seguridad: atributos que miden la habilidad para prevenir accesos no autorizados, ya sea accidentales o deliberados, tanto a programas como a datos
ISO 9126 • Interoperabilidad: atributos que miden la habilidad de interactuar con sistemas especificados • Cumplimiento: atributos que hacen que el software se adhiera a estándares relacionados con la aplicación, y convenciones o regulaciones legales • Usabilidad: conjunto de atributos que se relacionan con el esfuerzo necesario para usar, y en la evaluación individual de tal uso, por parte de un conjunto especificado o implícito de usuarios
ISO 9126 • Entendimiento: atributos que miden el esfuerzo del usuario en reconocer el concepto lógico del software y su aplicabilidad • Aprendizaje: atributos que miden el esfuerzo del usuario en aprender la aplicación (control, operación, entrada, salida) • Operabilidad: atributos que miden el esfuerzo del usuario en operarary controlar el sistema
ISO 9126 • Confiabilidad: conjunto de atributos que se relacionan con la capacidad del software de mantener su nivel de performance bajo las condiciones establecidas por un período de tiempo • Madurez: atributos que se relacionan con la frecuencia de fallas por defectos en el software • Tolerancia a las fallas: atributos que miden la habilidad de mantener el nivel especificado de performance en caso de fallas del software • Recuperación: atributos que miden la capacidad de reestablecerel nivel de performance y recuperar datos en caso de falla, y el tiempo y esfuerzo necesario para ello
ISO 9126 • Eficiencia: conjunto de atributos que se relacionan con el nivel de performance del software y la cantidad de recursos usados, bajo las condiciones establecidas • Comportamiento en tiempo: atributos que miden la respuesta y tiempos de procesamiento de las funciones • Comportamiento en recursos: atributos que miden la cantidad de recursos usados y la duración de tal uso en la ejecución de las funciones
ISO 9126 • Mantenibilidad: conjunto de atributos que se relacionan con el esfuerzo en realizar modificaciones • Analizabilidad: atributos que miden el esfuerzo necesario para el diagnóstico de deficiencias o causas de fallas, o para identificación de las partes que deben ser modificadas • Facilidad para el cambio: atributos que miden el esfuerzo necesario para realizar modificaciones, remoción de fallas o cambios en el contexto • Estabilidad: atributos que se relacionan con el riesgo de efectos no esperados en las modificaciones • Testeabilidad: atributos que miden el esfuerzo necesario para validar el software modficado
ISO 9126 • Eficacia: capacidad de ayudar al usuario a realizar sus objetivos con exactitud y completitud, en un dado contexto • Productividad: capacidad de ayudar al usuario en emplear una apropiada cantidad de recursos en obtener sus resultados • Satisfacción: capacidad de satisfacer un usuario en un dado contexto de uso • Seguridad: capacidad de lograr aceptables niveles de riesgo para las personas, el ambiente de trabajo, y la actividad, en un dado contexto de uso
ISO 9126 • Portabilidad: conjunto de atributos que se relacionan con la habilidad del software para ser transferido de un ambiente a otro • Adaptabilidad: atributos que miden la oportunidad de adaptación a diferentes ambientes sin aplicar otras acciones que no sean las provistas para el propósito del software • Instalabilidad: atributos que miden el esfuerzo necesario para instalar el software en el ambiente especificado • Conformidad: atributos que miden si el software se adhiere a estándares o convenciones relacionados con portabilidad • Reemplazo: atributos que se relacionan con la oportunidad y esfuerzo de usar el software en lugar de otro software en su ambiente
Modelo Dromey Dromeypropuso un marco de referencia para la construcción de modelos de calidad, basado en cómo las propiedades medibles de un producto de software pueden afectar los atributos de calidad generales, como por ejemplo, confiabilidad y mantenibilidad. El problema que se plantea es cómo conectar tales propiedades del producto con los atributos de calidad de alto nivel. Se sugiere el uso de cuatro categorías que implican propiedades de calidad, que son: correctitud, internas, contextuales y descriptivas.
Modelo Dromey Correctitud • Funcionalidad • Confiabilidad Internas • Mantenibilidad • Eficiencia • Confiabilidad
Modelo Dromey Contextuales • Mantenibilidad • Reusabilidad • Portabilidad • Confiabilidad
Modelo Dromey Descriptivas • Mantenibilidad • Reusabilidad • Portabilidad • Usabilidad
Modelo Dromey El proceso de construcción de modelos de calidad propuesto por Dromeyconsta de 5 pasos, basados en las propiedades mencionadas. Los pasos del marco de referencia propuesto son: • Especificación de los atributos de calidad de alto nivel (por ejemplo, confiabilidad, mantenibilidad) • Determinación de los distintos componentes del producto a un apropiado nivel de detalle (por ejemplo, paquetes, subrutinas, declaraciones) • Para cada componente, determinación y categorización de sus implicaciones más importantes de calidad • Proposición de enlaces que relacionan las propiedades implícitas a los atributos de calidad, o, alternativamente, uso de enlaces de las cuatro categorías de atributos propuestas • Iteración sobre los pasos anteriores, utilizando un proceso de evaluación y refinamiento
Six Sigma Se centra en el control de un proceso para llevarlo desde su línea de partida hasta el punto Six Sigma (desviaciones del estándar) es decir, a un nivel de 3.4 defectos por millón de productos producidos.
Six Sigma Incluye la identificación de los factores que son críticos para la calidad según lo determinado por el cliente. Reduce la variación del proceso y aumenta las capacidades de mejoramiento, de estabilidad y de diseño de sistemas para apoyar la meta del six sigma. Mientras mas alto sea el número sigma, se estará más cerca a la perfección. Un sigma 1 no es muy bueno; sigma 6 se define como 3.4 defectos por millón.
Six Sigma Pasos: • El primer paso en un proyecto Six Sigma es clarificar el problema y definir su alcance de una manera tal que se puedan alcanzar las metas cuantificables dentro de algunos pocos meses. Entonces se convoca un equipo para examinar el proceso detalladamente, para sugerir mejorías, y para poner esas recomendaciones en ejecución.
Six Sigma • Medición. En el segundo paso de un proyecto Six Sigma, el equipo recopila datos y los prepara para un análisis de alto nivel. • Análisis. Una vez que se ha mapeado y documentado un proceso, y se ha verificado la calidad de los datos de apoyo, el equipo Six Sigma puede comenzar el análisis. Los miembros del equipo comienzan identificando las maneras en las cuales la gente falla en actuar como se es requerido, o identificando los motivos por los cuales la gente no puede asegurar el control eficaz de cada etapa.
Six Sigma • Mejoramiento. Recomienda, decide y pone en ejecución las mejorías. • Control. En la etapa final de un proyecto Six Sigma, el equipo crea controles. Éstos permitirán a la compañía sostener y ampliar las mejoras.