La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

INGENIERÍA DE SOFTWARE II Garantía de Calidad

Presentaciones similares


Presentación del tema: "INGENIERÍA DE SOFTWARE II Garantía de Calidad"— Transcripción de la presentación:

1 INGENIERÍA DE SOFTWARE II Garantía de Calidad

2 Objetivos Conocer el concepto de Calidad del Software, el proceso de Garantía de Calidad y de verificación y validación Identificar diferentes métricas del software que aportan al proceso de Garantía de Calidad Conocer un método de definición de métricas de calidad Contenido Garantía de Calidad del Software Métricas de Calidad GQM: Goals Questions Metrics

3 Si los ingenieros civiles construyeran edificios de la misma forma en que los “ingenieros de software” construyen aplicaciones computacionales, correríamos el riesgo de que un simple pájaro carpintero destruyera la civilización. Weinberg.

4 Garantía de Calidad del Software
Qué es calidad del software ? “Concordancia con los requisitos funcionales y de rendimiento explícitamente establecidos, con los estándares de desarrollo explícitamente documentados, y con las características implícitas que se espera de todo software desarrollado profesionalmente” [PRE98] “Concordancia con los requisitos funcionales y de rendimiento explícitamente establecidos, ...” Se refiere a la concordancia con los Requerimientos, requisitos y diseño del Software “...con los estándares de desarrollo explícitamente documentados, ...” Se refiere a la concordancia con estándares universales de calidad: ISO ESA “...y con las características implícitas que se espera de todo software desarrollado profesionalmente ...” Se refiere a las características propias del software como Correctitud – Robustez – etc.

5 Garantía de Calidad del Software
“El conjunto de características de una entidad que le confieren su aptitud para satisfacer las necesidades expresadas y las implícitas” ISO 8402 Conclusiones Los requisitos del software son la base de las medidas de calidad. La falta de concordancia con los requisitos es una falta de calidad Los estándares o metodologías definen un conjunto de criterios de desarrollo que guían la forma en que se aplica la ingeniería del software. Si no se sigue ninguna metodología siempre habrá falta de calidad Existen algunos requisitos implícitos o expectativas que a menudo no se mencionan, o se mencionan de forma incompleta (por ejemplo el deseo de un buen mantenimiento) que también pueden implicar una falta de calidad.

6 Garantía de Calidad del Software
La calidad de un producto de software está fuertemente determinada por la calidad de los procesos de desarrollo Definir la calidad como la sola entrega de un producto con mínima cantidad de defectos, es una idea anticuada y conformista. Garantía de Calidad del Software (SQA) es un planificado y sistemático diseño de acciones que se requieren para asegurar la calidad del software

7 Garantía de Calidad del Software
Existen diferentes “Visiones” respecto de la Calidad de un Producto de Software Visión del Usuario: Grado de adecuación al propósito Visión del Productor: Conformidad con la especificación Visión del Producto: Ligada a características propias de todo software

8 Garantía de Calidad del Software
Los factores que influyen en la Calidad del Software son: Mecanismos utilizados para la determinación de requisitos Mecanismos para minimizar las correcciones e iteraciones Mecanismos para la detección de fallas Mecanismos para el uso eficiente de los recursos

9 Factores que determinan la calidad del software
Operaciones del producto: características operativas Corrección (¿Hace lo que se le pide?) El grado en que una aplicación satisface sus especificaciones y consigue los objetivos encomendados por el cliente Fiabilidad (¿Lo hace de forma fiable todo el tiempo?) El grado que se puede esperar de una aplicación lleve a cabo las operaciones especificadas y con la precisión requerida Eficiencia (¿Qué recursos hardware y software necesito?) La cantidad de recursos hardware y software que necesita una aplicación para realizar las operaciones con los tiempos de respuesta adecuados Integridad (¿Puedo controlar su uso?) El grado con que puede controlarse el acceso al software o a los datos a personal no autorizado Facilidad de uso (¿Es fácil y cómodo de manejar?) El esfuerzo requerido para aprender el manejo de una aplicación, trabajar con ella, introducir datos y conseguir resultado

10 Factores que determinan la calidad del software
Revisión del producto: capacidad para soportar cambios Facilidad de mantenimiento (¿Puedo localizar los fallos?) El esfuerzo requerido para localizar y reparar errores Flexibilidad (¿Puedo añadir nuevas opciones?) El esfuerzo requerido para modificar una aplicación en funcionamiento Facilidad de prueba (¿Puedo probar todas las opciones?) El esfuerzo requerido para probar una aplicación de forma que cumpla con lo especificado en los requisitos

11 Factores que determinan la calidad del software
Transición del producto: adaptabilidad a nuevos entornos Portabilidad (¿Podré usarlo en otra máquina?) El esfuerzo requerido para transferir la aplicación a otro hardware o sistema operativo Reusabilidad (¿Podré utilizar alguna parte del software en otra aplicación?) Grado en que partes de una aplicación pueden utilizarse en otras aplicaciones Interoperabilidad (¿Podrá comunicarse con otras aplicaciones o sistemas informáticos? El esfuerzo necesario para comunicar la aplicación con otras aplicaciones o sistemas informáticos.

12 Factores que determinan la calidad del software

13 Aseguramiento de la Calidad del Software
El aseguramiento de calidad del software es el conjunto de actividades planificadas y sistemáticas necesarias para aportar la confianza en que el producto (software) satisfará los requisitos dados de calidad. El aseguramiento de calidad del software se diseña para cada aplicación antes de comenzar a desarrollarla y no después. Algunos autores prefieren decir garantía de calidad en vez de aseguramiento. Garantía, puede confundir con garantía de productos Aseguramiento pretende dar confianza en que el producto tiene calidad

14 Aseguramiento de la Calidad del Software
El aseguramiento de calidad del software está presente en: Métodos y herramientas de análisis, diseño, programación y prueba Inspecciones técnicas formales en todos los pasos del proceso de desarrollo del software Control de la documentación del software y de los cambios realizados Procedimientos para ajustarse a los estándares (y dejar claro cuando se está fuera de ellos) Mecanismos de medida (métricas) Registro de auditorias y realización de informes

15 Aseguramiento de la Calidad del Software
Las actividades de SQA comprenden Aplicación de métodos técnicos Para obtener productos de alta calidad en las diferentes etapas del desarrollo del software, se deben usar herramientas y métodos técnicos probados que aseguran especificaciones de alta calidad Revisiones Técnicas Formales (RTF) Inspecciones formales cuyo objetivo es encontrar errores en la función, la lógica o la implementación de cualquier representación del software Verificación de los requisitos Garantizar la correcta aplicación de estándares

16 Garantía de Calidad del Software
Las actividades de SQA comprenden Pruebas del Software Aplicación de estrategias de prueba Planes de prueba Ajuste a los estándares Garantía de seguimiento de estándares Auditorías a los procesos, entregables y documentos partes del Software Control de cambios Gestión de configuración del software Formalización de peticiones de modificación, evaluación y control del impacto durante y después de la liberación del producto de software

17 Garantía de Calidad del Software
Las actividades de SQA comprenden Definición de métricas y medición Mejoramiento continuo requiere seguimiento y medición Se deben recolectar métricas del software, las que engloban un amplio conjunto de medidas técnicas orientadas a la gestión Registro y difusión Reportes e informes de cada RTF Documentación y análisis de métricas Permite el aprendizaje y la evolución de la organización

18 Garantía de Calidad del Software
Las actividades de SQA son medidas de protección que se aplica a cada paso del proceso de desarrollo de software La garantía de calidad del Software es un conjunto de actividades de Verificación y Validación Verificación Estamos construyendo el producto correctamente ? Validación Estamos construyendo el producto correcto ?

19 Metricas de Calidad Negligencias de medición
No se establecen objetivos medibles para los productos (“Nuestro producto es amistoso, confiable y mantenible” No se comprenden y cuantifican los costos del proyecto No se cuantifica o predice la calidad de los productos Nos auto convencemos basándonos en evidencia anecdótica: “nuestra técnica garantiza 100% de confiabilidad”

20 Metricas de Calidad Qué es una medición de software ?
Asignación de números o símbolos a atributos de entidades del mundo real en una forma significativa Persona: Talla, edad, peso, color de pelo, color de ojos, número de zapato, sexo, etc. Salud: Presión arterial, temperatura, pulso, nivel de colesterol, etc. Estudiante: Notas, cursos tomados, especialidad, etc. Computador: Marca, procesador, RAM, Disco, velocidad procesador, etc. Software: Líneas de código, errores, número de módulos, velocidad

21 Metricas de Calidad Porqué hacer mediciones de software?
Porque queremos aplicar métodos de ingeniería al desarrollo y mantención del software Porque permite Determinar costo de los procesos Productividad del personal Calidad del código Satisfacción del usuario Identificar caminos de mejoramiento PERMITE ESTIMAR Futuro PERMITE EVALUAR LOGRO DE OBJETIVOS Post Mortum

22 Metricas de Calidad Existen mediciones del producto y del proceso
Producto: defectos, LOC, número de módulos, complejidad, etc. Proceso: defectos/KLOC, horas ingeniero/KLOC, Defectos encontrados en el testing, etc. Qué mediciones debemos considerar ?. Pueden recolectarse ? Manual o automáticamente ? Cuál es el esfuerzo de recolección ?

23 Metricas de Calidad Ámbito de las métricas
Procesos: Colecciones de actividades relacionadas con la construcción de SW Duración, costo, efectividad o eficiencia Producto: Entregables que resultan de una actividad del proceso Tamaño, calidad Recurso: Entidades requeridas por una entidad del proceso Magnitud, costo, calidad, productividad

24 Metricas de Calidad Modelo de Calidad de McCall
Propone una clasificación de los factores que afectan a la calidad del software centrados en tres aspectos Características operativas, capacidad de soportar el cambio, adaptabilidad a nuevos entornos Corrección – Fiabilidad – Eficiencia – Integridad – Facilidad de uso – Facilidad de mantenimiento – Portabilidad – Reusabilidad – Facilidad de interoperción Métricas usadas para desarrollar expresiones para cada uno de los factores: Facilidad de auditoría, exactitud, Normalización de las comunicaciones, completitud, concisión, consistencia, etc.

25 Sistemas de Calidad Estructura organizativa, procedimientos, procesos y recursos necesarios para implantar la gestión de calidad El sistema de calidad se debe adecuar a los objetivos de calidad de la empresa La dirección de la empresa es la responsable de fijar la política de calidad y las decisiones relativas a iniciar, desarrollar, implantar y actualizar el sistema de calidad.

26 Un sistema de calidad consta de varias partes Documentación
Sistemas de Calidad Un sistema de calidad consta de varias partes Documentación Manual de calidad. Es el documento principal para establecer e implantar un sistema de calidad. Puede haber manuales a nivel de empresa, departamento, producto, específicos (compras, proyectos,…) Parte física: herramientas, computadores, etc. Aspectos humanos: Formación de personal Creación y coordinación de equipos de trabajo

27 Sistemas de Calidad Normativas
ISO (La Organización Internacional para la Estandarización) ISO 9000: Gestión y aseguramiento de calidad (conceptos y directrices generales) Recomendaciones externas para aseguramiento de la calidad (ISO 9001, ISO 9002, ISO 9003) Recomendaciones internas para aseguramiento de la calidad (ISO 9004) Software Engineering Institute (SEI) Capability Maturity Model (CMM-CMMI) for software.

28 GQM: Goal – Question - Metric
Enfoque para seleccionar e implementar métricas, que involucra tres pasos: 1. Listar los objetivos principales 2. Derivar de cada objetivo las preguntas que deben responderse para determinar si los objetivos se satisfacen 3. Decidir qué medir para ser capaz de responder las preguntas de manera adecuada

29 GQM: Goal – Question - Metric
Ejemplo: Goal: Mejorar el proceso de revisiones de diseño Questions: Cómo se hacen las revisiones de diseño actualmente ? Cuánto tiempo toman las revisiones de diseño ? Cuánto cuestan las revisiones de diseño ? Qué métodos de revisiones de diseño se usan ? Qué tan efectivo es el proceso de revisión de diseño ? Metrics: Número de revisiones de diseño por módulo Tiempo utilizado en revisiones por módulo Costo de las revisiones Costo por error encontrado % de errores de especificación y de diseño encontrados


Descargar ppt "INGENIERÍA DE SOFTWARE II Garantía de Calidad"

Presentaciones similares


Anuncios Google