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