Introducción a la Gestión de Software Tema 1. Calidad de Software Conferencia 1. Conceptos básicos de calidad de software Curso 2009-2010
Temario: Introducción Definición de calidad Modelos de calidad, factores, criterios y métricas Conclusiones.
Características de la asignatura: 1er año, 2do semestre. 30 horas presenciales. TEMA 1. Calidad de software. TEMA 2. Pruebas de software. TEMA 3. Gestión de Proyectos.
Características de la asignatura: Conocimientos a adquirir: Conceptos fundamentales de calidad de software. Estándares y Buenas prácticas en el diseño de la interfaz. Tipos de prueba. Estrategias de Prueba. Herramientas automatizadas.
Características de la asignatura:
Características de la asignatura: Sistema de evaluación Seminario Tema 1 Semana 4 Trabajo de control Temas 1 y 2 Semana 9 Tarea de Curso Temas 1, 2 y 3 Semana 15 Texto básico Pressman, Roger S. Ingeniería de Software. Un enfoque práctico. Editorial Félix Varela, Cuba, 2005.
Objetivos: Definir los conceptos de calidad de software. Enunciar las características del modelo McCall, así como sus factores, criterios y métricas.
Bibliografía: Pressman, Roger S. Ingeniería de Software. Un enfoque práctico. Editorial Félix Varela, Cuba, 2005. Capítulo 4. Epígrafe 4.5. Métricas para la calidad del software. Capítulo 8. Garantía de calidad del software. Capítulo 19. Métricas técnicas del software.
Calidad del Software Nuestra meta es producir software de calidad, pero El concepto de calidad del software es complejo Depende de las percepciones de los usuarios Debe ser considerado en todas las etapas de evolución La gente olvida cómo de rápido hiciste un trabajo pero siempre recuerda cómo de bien lo hiciste Howard Newton
El producto de software: El software es un producto mental. Es algo abstracto, y su calidad también lo es. Se desarrolla, no se fabrica. El coste está fundamentalmente en el proceso de diseño, no en la producción. El software no se deteriora con el tiempo. El mantenimiento del software es mucho más complejo que el mantenimiento del hardware. Como disciplina, el desarrollo de software es aún muy joven. El software con errores no se rechaza.
Calidad de software: Calidad de software Calidad del PRODUCTO Calidad del PROCESO Las metas que se establezcan para la calidad del producto van a determinar las metas a establecer para la calidad del proceso de desarrollo. Sin un buen proceso de desarrollo es casi imposible obtener un buen producto. Lleva menos tiempo hacer una cosa bien que explicar por qué se hizo mal Henry Wadsworth Longfelow
Calidad : Definición La calidad es la suma de todos aquellos aspectos o características de un producto o servicio que influyen en su capacidad para satisfacer las necesidades, expresadas o implícitas" [ISO 8402]
Calidad del Software: Definiciones Grado con el cual el cliente o usuario percibe que el software satisface sus expectativas" [IEEE 729-83] Capacidad del producto de software para satisfacer los requisitos establecidos" [DoD 2168]
Requerimientos de software Definen de forma precisa el producto de software que se va a construir Deben ser satisfechos en el diseño del sistema Son verificados y validados por las actividades marcadas en el plan de calidad de software
Proceso de desarrollo de software Es aquel en que las necesidades del usuario son traducidas en requerimientos de software, estos requerimientos transformados en diseño y el diseño implementado en código, el código es probado, documentado y certificado para su uso operativo [Jacobson 1998]
Visiones de la calidad Necesaria o requerida Programada o especificada Realizada El objetivo es conseguir que las tres visiones coincidan. A la intersección entre la calidad Requerida y la calidad Realizada se le llama calidad Percibida, y es la única que el cliente valora.
Modelos de Calidad Conjunto de buenas prácticas para el ciclo de vida del software, enfocado en los procesos de gestión y desarrollo de proyectos. Ayudan a poner en práctica los conceptos de calidad. Calidad de software Factores de Calidad Criterios de calidad del producto Métricas del producto
Modelos de Calidad Factores de Calidad: Representan la calidad desde el punto de vista del usuario. Atributos de Calidad Externos. Criterios de Calidad: Son atributos que cuando están presentes, contribuyen al aspecto de calidad que el factor asociado representa. Atributos de calidad Internos. Métricas: Son medidas cuantitativas de ciertas características del producto que, cuando están presentes, dan una indicación del grado en que dicho producto posee un determinado atributo de calidad.
Modelo de McCall La ISO 9126 (International Organization for Standardization/International Electrotechnical Commission) es una serie de documentos ISO para evaluar la calidad de los productos finales de software, se basa en este modelo
Calidad del Software: McCall FACTOR Corrección DEFINICIÓN Grado en el que un programa satisface las especificaciones y cumple los objetivos del usuario. Fiabilidad Grado en el que un programa se espera que realice su función con una precisión requerida. Eficiencia Cantidad de recursos informáticos y código requeridos por un programa para realizar una función. Integridad Grado en el que se controla el acceso al programa o los datos por usuarios no autorizados. Usabilidad Esfuerzo necesario para aprender, operar, preparar entradas e interpretar la salida de un programa. Mantenibilidad Esfuerzo requerido para localizar y corregir un error en un programa en funcionamiento. Facilidad de prueba Esfuerzo requerido para probar un programa (para garantizar que realiza la función deseada). Flexibilidad Portabilidad Esfuerzo requerido para modificar un programa en funcionamiento. Esfuerzo requerido para trasferir un programa de una configuración hardware o entorno software a otro. Reusabilidad Interoperatividad Grado en el que un programa se puede utilizar en otras aplicaciones Esfuerzo requerido para acoplar un sistema con otro. Operación del Producto Revisión del Producto Transición del Producto
Calidad del Software: McCall Criterios: Cada uno de los Factores se descompone en criterios Facilidad de Uso: Facilidad de Operación Facilidad de Comunicación Facilidad de Aprendizaje Integridad: Control de accesos Facilidad de Auditoria Corrección: Completitud Consistencia Trazabilidad Mantenibilidad: Modularidad Simplicidad Consistencia Auto descripción Facilidad de Prueba: Modularidad Simplicidad Auto descripción Instrumentación Reusabilidad: Auto descripción Generalidad Modularidad Independencia entre sistema y software Independencia del hardware
Conclusiones Se presentaron las características fundamentales de la asignatura. Se han formalizado los conceptos de calidad y modelos de calidad para el software. Se presentó el Modelo McCall con sus Factores, criterios y métricas. A continuación las indicaciones del Estudio Individual y del Seminario # 1 de la asignatura.
Estudio Individual Estudiar los capítulos recomendados del libro de texto y realizar un Mapa Conceptual con los principales términos abordados y sus relaciones. Podrás consultar el material Mapas conceptuales, disponible en los materiales del curso. Los materiales del curso los puedes ubicar en la siguiente dirección: \\ntceis\facultad\pregrado\clases\1ro\2dosem\igs
Orientaciones del Seminario # 1 Revisar el material Orientaciones del seminario # 1 disponible en la red. Materiales de consulta: Buenas prácticas de diseño de interfaz. Principales componentes para el diseño de interfaz. Java Code Conventions. Listas de comprobación para las actividades de programación y diseño de interfaz. Objetivos: Realizar críticas sobre interfaces y segmentos de código propuestos. Proponer diseños de interfaz para casos concretos.