Ingeniería del software i Introducción a la Ingeniería del Software y Ciclo de Vida del Software Prof. Edeblangel Vanegas
Semana Fecha Tema Práctica por clase 1 5 abril Introducción a la Ingeniería del Software. Ciclo de vida del software Debate: Ventajas del enfoque ingenieril frente a la programación tradicional 2 12 abril Modelos de procesos: Cascada, Espiral, Incremental, Prototipado Análisis comparativo de modelos. Diagrama del modelo en equipo 3 19 abril Requisitos de Software: Tipos, técnicas de recolección Caso práctico: entrevista y elaboración de requisitos funcionales 4 26 abril Especificación y documentación de requisitos Redacción de un Documento de Especificación de Requisitos (SRS) 5 3 mayo Diseño del Software: Arquitectura, patrones y principios SOLID Esquema de arquitectura para un sistema ejemplo 6 10 mayo Modelado UML: Casos de uso, diagramas de clases, secuencia Taller: Modelado UML para el proyecto asignado 7 17 mayo Verificación y validación: pruebas, revisiones, control de calidad Diseño de casos de prueba para un módulo del proyecto 8 24 mayo Gestión de proyectos de software: planificación, cronogramas, costos Elaboración de un cronograma con tareas (Gantt o similar) 9 31 mayo Métricas y estimaciones (COCOMO, Puntos de función) Estimación de esfuerzo de su proyecto con COCOMO I 10 7 junio Control de versiones y herramientas colaborativas (Git, GitHub) Práctica con GitHub: ramas, commits y pull requests en equipo 11 14 junio Introducción a metodologías ágiles (Scrum, Kanban) Simulación de una sprint planning con historias de usuario 12 21 junio Presentación de proyectos finales + retroalimentación Defensa técnica del proyecto final (documentación y prototipo) 📅 Cronograma de Clases, Contenidos y Prácticas
Elemento Evaluativo Porcentaje (%) Participación y prácticas semanales 20% Documento de requisitos (SRS) 10% Modelado UML (casos de uso, clases, etc.) 10% Cronograma del proyecto 10% Informe de estimaciones y métricas 10% Uso de control de versiones 10% Defensa y entrega del proyecto final 30% Total 100% Plan de Evaluación
Contenidos Teóricos 1. ¿Qué es Ingeniería del Software? Definición (IEEE, Sommerville ) Diferencias con la programación tradicional Enfoque sistemático, disciplinado y cuantificable 2. Problemas típicos del desarrollo sin ingeniería Software defectuoso Costos elevados Retrasos en entregas Mantenimiento ineficiente 3. Ciclo de Vida del Software Concepto general: proceso completo desde la concepción hasta el retiro del software Etapas del ciclo de vida: Recolección de requisitos Análisis Diseño Implementación Pruebas Mantenimiento Retiro 4. Importancia del ciclo de vida Control de calidad Mejora en la planificación Trazabilidad