Curso: Ingeniería de Software
Maestría en Ciencia e Ingeniería de la Computación
UNAM
Objetivo del curso
Dar un panorama teórico-pragmático de los conceptos relacionados con ciclo de vida de desarrollo de software con la finalidad de que los alumnos los comprendan y reflexionen sobre su uso práctico.
Bases para el curso
- Teórico con ejercicios escritos y orales, así como prácticas lúdicas y de simulación (juegos serios)
- Definición de conceptos teóricos basada en SWEBOK 3.0
- Interpretación del uso de los conceptos en las prácticas basado en ESSENCE 1.0
- Entendimiento a fondo de los conceptos de la IS
- Saber expresar y redactar reflexiones sobre los conceptos
- Presentarlos en público debatiéndolos con los compañeros
Resultados esperados
Se espera que los alumnos logren el nivel de competencias definido en ESSENCE como Assits - adueñarse de los conceptos, que significa:
Temario
- Introducción a la Ingeniería de Software
- Procesos de desarrollo de software
- Requerimientos y su Análisis
- Diseño de software
- Construcción de software
- Verificación, validación
- Pruebas de software
- Administración de proyectos de software
- Métricas básicas para proyectos de software
- Nuevas tendencias en IS
- Acuerdo entre el Cliente y el Equipo proveedor del sistema de software (Contract)
- Preparación para realizar el proyecto tomando en cuenta condiciones del proyecto acordadas con el Cliente (Planning)
- Comprensión y especificación de requerimientos (Analisys) (Iteration-Sprint)
- Diseño del sistema de software (Design) (Iteration-Sprint)
- Construcción del sistema de software (Implemetation) (Iteration-Sprint)
- Pruebas del sistema de software y la remoción de defectos (Testing) (IterationSprint)
- Entrega del sistema de software y el cierre de la iteración o proyecto
Conceptos básicos, historia de la IS y profesión del Ingeniero de Software
Panorama General de SWEBOK 3.0 y ESSENCE 1.0
Distribución de los temas de acuerdo a la duración del curso
Los temas y las prácticas se distribuirán de acuerdo al guión anexo.
Estrategia para impartir el curso:
Prácticas en equipo:
Se pretende reforzar la exposición de los conceptos presentados en forma teórica, con dinámicas por equipos (3-4), que simulen la participación en un proyecto, pasando por las siguientes etapas:
Definición de la necesidad para el desarrollo de un sistema de software (Inception)
Ejercicios individuales
Adicionalmente se incluirán lecturas que permitan al alumno de manera individual reflexionar sobre los conceptos vistos en clase, de lo cual el alumno deberá entregar reportes por escrito con el análisis, comentarios y/o reflexiones al respecto.
Invitación de profesionales
Se tratará de invitar a los profesionales expertos en algunos de los temas para que los alumnos tengan la oportunidad de hacer preguntas y/o escuchar las experiencias reales en el desarrollo de proyectos y/o nuevas tecnologías.
Evaluación de los alumnos
- Asistencia (90% para 10)
- Ejercicios individuales 50%
- Prácticas en equipo 50%
Bibliografía base
SWEBOK 3.0 http://www.computer.org/portal/web/swebok
ESSENCE 1.0 http://www.omg.org/spec/Essence/1.0/Beta2/