Contenido
Ingeniería de Software
Materia Desarrollo de Software.
Créditos 12
Objetivo de la Asignatura
- Brindar un panorama de los aspectos técnicos y administrativos más relevantes de la Ingeniería de Software para facilitar su formación posterior en la materia.
- Introducir al estudiante en el uso de algunas técnicas y herramientas particulares para que pueda participar en distintos roles en un proyecto de Ingeniería de Software.
Metodología de enseñanza Se dictarán 6 horas semanales de clase, incluyendo presentaciones teóricas, realización de ejercicios prácticos y trabajos de laboratorio. Además, cada alumno deberá dedicar un promedio de 6 horas semanales para trabajo domiciliario.
Temario
- Qué es la Ingeniería de Software
- Introducción
- Conceptos básicos
- Modelos de Proceso
- Tipos de Modelos de Proceso
- Técnicas y Herramientas para el modelado
- Definición de proceso de desarrollo de software
- Planificación y Gestión de Proyecto
- Técnicas y Herramientas de planificación
- Métricas y Estimaciones
- Gestión de Proyecto
- Gestión de Riesgos
- Gestión de la Calidad
- Gestión de la Configuración
- Plan y Gestión de Proyecto
- Ingeniería de Requisitos
- Definiciones
- Proceso de Obtención de Requisitos
- Proceso de Especificación de Requisitos
- Técnicas de Modelado del Sistema
- Diseño del Sistema
- Arquitectura de Software
- Diseño de Software
- Diseño de Interfaz de Usuario
- Escritura de los Programas
- Estándares de Codificación
- Reutilización de Código
- Documentación del Código
- Programación de a Pares
- Verificación y Validación
- Proceso de V&V
- Verificación Unitaria
- Pruebas de Integración
- Pruebas de Sistema
- Terminación de la prueba
- Liberación y Mantenimiento
- Liberación
- Entrenamiento
- Documentación
- Soporte y Solución de Problemas
- Conversión
- Mantenimiento
- Tipos de Sistemas
- Naturaleza del Mantenimiento
- Problemas del Mantenimiento
- Gestión de la Configuración
- Rejuvenecimiento del Software
- Evaluación de Procesos y Productos
- Conceptos generales
- Evaluación de Productos
- ISO/IEC 9126
- Evaluación de Procesos
- CMMI
Bibliografía
Bibliografía base
- Software Engineering: Theory and Practice- Shari Lawrence Pfleeger - Prentice-Hall 2001
- Software Engineering 7a. ed. - Ian Sommerville - Pearson Education - 2004
- The Rational Unified Process: An Introduction - Philippe Kruchten - 2nd ed. Addison-Wesley 2000
- Fundamentals of Software Engineering - Carlo Ghezzi, et.al. - Prentice-Hall - 1991
- An Integrated Approach to Software Engineering - Pankaj Jalote - Third Edition - Springer - 2005
Previaturas
- Estructuras de Datos y Algoritmos,
- Bases de Datos 1,
- curso de Programación Avanzada y
- curso de Bases de Datos 2
Anexo 1: Formas de evaluación
Los estudiantes serán evaluados mediante entregas de trabajos de laboratorio y dos parciales. Laboratorio: Los trabajos propuestos serán de entrega obligatoria. No se les asignará puntaje, solamente se evaluará si se aprueban o no. Parciales: El primero se realizará luego de la séptima semana de clases, y el segundo tendrá lugar luego de finalizado el curso. De los resultados obtenidos en las instancias de evaluación surgirán tres posibilidades:
- Exoneración del examen final: el estudiante aprueba totalmente el curso.
- Suficiencia en el curso: el estudiante está habilitado a rendir examen.
- Insuficiencia en el curso: el estudiante reprueba, debiendo inscribirse nuevamente en el curso.
Anexo 2: Propuesta de trabajos de investigación y laboratorio
Dada una propuesta de un sistema a construir se pretende que los estudiantes confeccionen los siguientes productos de trabajo: Primera Entrega:
- Documento de Especificación de Requerimientos
- Modelo de Dominio
- Documento de Casos de Uso
- Arquitectura del Sistema
- Casos de prueba para los casos de uso