Curso: Ingeniería de Software Orientada a Objetos
Maestría en Ciencia e Ingeniería de la Computación
Profesora Guadalupe Ibargüengoitia G.
Semestre 2016-1
Objetivos
- Aplicar el conocimiento adquirido en los cursos de la Tecnología Orientada a Objetos y de Ingeniería de Software en un proyecto real. Se trata de recrear el ambiente de una empresa de desarrollo de software, con su organización y responsabilidades, dentro de un ambiente académico. De esta manera el alumno ejercitará los conocimientos adquiridos en cursos anteriores para aprender a trabajar en equipo y generar productos útiles para un cliente real en tiempo restringido.
- Aprender y practicar los procesos de Administración de Proyectos e Implementación de Software del ISO 29110 perfil básico, y todas las alfas de la Esencia. Aplicarlos al desarrollo del producto de software del curso. Practicar elementos de algunos métodos ágiles y el Proceso Unificado (PU) como técnicas específicas.
Prerequisitos
Haber acreditado satisfactoriamente los cursos de Ingeniería de Software y Tecnología Orientada a Objetos.
Actividades del curso
Los alumnos formarán un equipo de 3 o 4 para generar un proyecto de aplicación para un cliente real. La profesora del curso fungirá como gerente de la empresa desarrolladora y orientadora en los aspectos teóricos.
Las sesiones del curso se dividen en sesiones teóricas y las relacionadas con el seguimiento del proyecto de desarrollo específico. En las sesiones teóricas se dará un repaso ISO29110, Perfil Básico, las alfas de la Esencia, algunos métodos ágiles y se revisará técnicas del libro Process Improvement in Practice.
El seguimiento del proyecto consiste en la presentación del reporte semanal de avance, problemas y logros. Uso de las tarjetas de la Esencia para evaluar el avance del proyecto.
El curso termina con una prueba de aceptación del sistema desarrollado, la entrega de la documentación a la profesora y al cliente, y la evaluación del equipo con respecto al cumplimiento de sus responsabilidades, las normas de calidad y tiempo de entrega.
Temario
- Trabajo en equipo
- Conformación del equipo
- Roles y sus responsabilidades
- Comunicación en el equipo
- Repositorios de documentos y de código
- Retrospectiva
- Técnicas de apoyo al trabajo
- Leer y presentar el libro Process Improvement in Practice
- SCRUM
- Auto-organización
- Product backlog
- Sprint backlog
- Reunión diaria
- Retrospectiva
- Perfil básico de la ISO 29110
- Administración de proyectos
- Implementación de proyectos
- Definición del proyecto a desarrollar
- La Esencia de la Ingeniería de Software
- Alfas a trabajar en el curso:
- Administración de proyectos
- Planificación del proyecto
- Estimación
- Planificación de iteraciones
- Seguimiento del proyecto
- Cierre de iteraciones
- Cierre del proyecto
- Implementación de proyectos
- Requerimientos: historias de usuario, casos de uso 2
- Diseño
- Construcción
- Integración y pruebas
- Entrega
Cliente: Oportunidad, Interesados
Solución: Requerimientos, Sistema de software
Esfuerzo: Trabajo, Equipo, Forma de trabajo
Evaluación
La evaluación de cada alumno va a depender de su participación y desempeño como miembro del equipo y según los roles que le fueron asignados.
Cumplimientos en tiempo y forma de las responsabilidades según el rol y siguiendo el proceso – 40%. Colaboración en equipo – 50%
Asistencia a clases 10% (90% para 10 y 80% para 9)
Bibliografía
- Dyba T., Dingsoyr T y Moe N.B., Process Improvement in Practice, A Handbook for Small Companies, Kluwer Academic Publishers, 2004.
- Cohn M., “User stories Applied. For Agile software development”. Addison Wesley 2004.
- Essence, http://www.omg.org/spec/Essence/
- ISO/IEC29110. (2011). 29110-5-1-2Software Engineering-lifecycle Profiles for Very Small Entities Management and Engineering Guide. s.1. Software Engineering.
- Jacobson I., B. G. (1999). The Unified Software Development Process. Addison Wesley.
- Jacobson I., Ian Spence, Kurt Bittner, “USE-CASE 2.0. The Guide to Succeeding with Use Cases”. Ivar Jacobson International. 2011
- Jacobson I., Ng Pan-Wei, McMahon P.E., Lidman S. “The Essence of Software Engineering”. Addison-Wesley 2013.
- PMBOK. (2013). Project Management Body of Knowledge. PMI.
- Schwaber K., Jeff Sutherland, “SCRUM guide. The Definitive Guide to Scrum: The Rules of the Game”. SCRUM.org 2011