Universidad del Cauca Facultad de Ingeniería Electrónica y de Telecomunicaciones UNIVERSIDAD DEL CAUCA FACULTAD DE INGENIERÍA ELECTRÓNICA Y TELECOMUNICACIONES PROGRAMA DE INGENIERÍA DE SISTEMAS ASIGNATURA: CÓDIGO: MODALIDAD: INTENSIDAD: PREREQUISITOS: ÁREA: CRÉDITOS: CALIDAD DE SOFTWARE. SIS803. PRESENCIAL TEÓRICA-PRÁCTICA. 4 HORAS TEÓRICAS / SEMANA. INGENIERÍA DE SOFTWARE III Y LAB. DE INGENIERÍA DE SOFTWARE III. INGENIERÍA APLICADA. 3. OBJETIVO GENERAL Estudiar, analizar, aplicar y participar en los procesos de aseguramiento de calidad de software y en el mejoramiento continuo de los procesos de desarrollo. OBJETIVOS ESPECÍFICOS El estudiante al final del curso estará en capacidad de: 1. Aplicar el conocimiento en lo relativo a la noción de la calidad desde la perspectiva de sus principios fundamentales, mediante eL estudio de los factores, métricas y estándares de calidad diseñados para el proceso de desarrollo de software. 2. Poner en práctica efectiva el aseguramiento de la calidad de software, mediante la revisión de enfoques formales de la SQA (Software, Quality Assurance), la calidad estadística y la planificación de estándares del SQA. 3. Medir y evaluar la calidad del software a través de técnicas estáticas y dinámicas. 4. Proporcionar el espacio de conocimiento e infraestructura tecnológica que permita fortalecer la revisión y práctica del mejoramiento de los procesos de desarrollo de software, mediante la apropiación del modelo de madurez del software. METODOLOGÍA 1. Clases magistrales que ayuden al estudiante en la incorporación del conocimiento relativo a conceptos y métodos de aseguramiento de calidad de software, pruebas de software y mejora de procesos de desarrollo de software. 2. Talleres prácticos dirigidos, basados en casos de estudio integrales que permitan al estudiante la aplicación directa y visible de los conocimientos teóricos adquiridos durante las clases magistrales. 3. Trabajos de consulta que fortalezcan en el estudiante la capacidad de interpretación, síntesis, confrontación y presentación de la información relacionada con la investigación. 4. Lecturas orientadas. El docente elabora un cuestionario con preguntas que orientarán al estudiante en la identificación del conocimiento relevante que debe adquirir hacia el final de la lectura. 2007-10-22 - Ingeniería de Sistemas 1 Universidad del Cauca Facultad de Ingeniería Electrónica y de Telecomunicaciones CONTENIDO 1. CONCEPTOS DE CALIDAD 1.1. Concepto de calidad de software. 1.2. Modelos de calidad de software para producto. 1.3. Estándares de calidad de software para producto. 1.4. Modelos de calidad de software para procesos. 1.5. Estándares de calidad de software para procesos. 1.6. Factores de calidad según Mc Call. 1.7. Factores de calidad según Crosby. 1.8. Métricas de calidad de software. 2. ASEGURAMIENTO DE LA CALIDAD DE SOFTWARE 2.1. Utilización de métodos de análisis y diseño. 2.2. Revisión de técnicas: requisitos, arquitectura, diseño y código. 2.3. Control de documentación. 2.4. Enfoques formales del SQA. 2.5. Estándares de calidad para el producto de software. 2.6. Necesidad del SQA. 2.7. Aseguramiento de calidad de estadística. 2.8. Proceso limpio. 2.9. Planificación y estándares del SQA. 2.10. Fiabilidad del software. 3. PRUEBAS DE SOFTWARE 3.1. Conceptos fundamentales. 3.2. El proceso de las pruebas. 3.3. Las pruebas en el proceso de desarrollo: casos XP y UP. 3.4. Pruebas de unidad. 3.5. Pruebas de caja negra. 3.6. Pruebas de caja blanca. 3.7. Pruebas de integración. 3.8. Pruebas de sistema. 3.9. Pruebas de los requisitos de calidad: usabilidad, desempeño, flexibilidad, etc. 4. PRUEBAS EN SOFTWARE ORIENTADO A OBJETOS 4.1. Pruebas de clases. 4.2. Casos de prueba para jerarquía de clases. 4.3. Casos de prueba para interacción entre clases. 4.4. Pruebas de caja negra para software orientado a objetos. 5. MÉTRICAS 5.1. Conceptos fundamentales. 5.2. Teoría de la medición. 5.3. Taxonomía de las métricas. 5.4. Medición de la calidad. 5.5. Medición del esfuerzo y el costo. 5.6. Medición del proceso de desarrollo de software. 6. MEJORA DE PROCESOS DE DESARROLLO DE SOFTWARE (MPDS) 6.1. Estándares de Calidad para MPDS. 6.1.1. ISO 9001:2000. 6.1.2. ISO/IEC 12207. 6.1.3. ISO/IEC 15504 (SPICE). 6.2. Modelos de Calidad para MPDS. 6.2.1. CMMI. 2007-10-22 - Ingeniería de Sistemas 2 Universidad del Cauca Facultad de Ingeniería Electrónica y de Telecomunicaciones 6.2.2. IDEAL. 6.2.3. Personal Software Process (PSP). 6.2.4. Team Software Process (TSP). EVALUACIONES Se realizarán tres (3) evaluaciones de la siguiente forma: CORTE % COMPONENTES DESCRIPCION % Primero 35 Parcial Escrito Talleres 70 30 Segundo 35 Parcial Escrito Talleres 70 30 Tercero 30 Parcial Escrito Talleres 70 30 Los ejercicios de aplicación y talleres en grupo serán evaluados individualmente y deben estar debidamente documentados. Todo ejercicio NO sustentado pierde validez. Las sustentaciones serán programadas con anterioridad definiendo fecha y hora para cada alumno. BIBLIOGRAFÍA • PRESSMAN, Roger. Ingeniería del Software, un enfoque práctico. McGraw-Hill, Quinta Edición, 2002. • Piattini, M. y otros “Calidad en el desarrollo y mantenimiento del software”. Ra-Ma. 2003. • Minguet Melián, J.M & Hernández Ballesteros, J.F. "La calidad del software y su medida". Ed. Centro de Estudios Ramón Areces. 2003. • Dolado COSÍN, J. J. & Fernández SANZ, L. "Medición para la gestión en Ingeniería del Software". Ra-Ma. 2000. • International Organization for Standardization, ISO 9001:2000, Quality Systems-model Assurance in Design, Development, Production Installation and Servicing. ISO. 2000. 2007-10-22 - Ingeniería de Sistemas for Quality 3