KUALI en nahuátl significa "bien" o "bueno" - KAANS en maya significa "educación"

UNAM, Facultad de Ciencias

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

 

  1. 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.  
  2. 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

  1. Trabajo en equipo
    1. Conformación del equipo
    2. Roles y sus responsabilidades
    3. Comunicación en el equipo
    4. Repositorios de documentos y de código
    5. Retrospectiva 
  2. Técnicas de apoyo al trabajo 
    1. Leer y presentar el libro Process Improvement in Practice
  3. SCRUM
    1. Auto-organización
    2. Product backlog
    3. Sprint backlog
    4. Reunión diaria
    5. Retrospectiva
  4. Perfil básico de la ISO 29110
    1. Administración de proyectos
    2. Implementación de proyectos
    3. Definición del proyecto a desarrollar
  5. La Esencia de la Ingeniería de Software
    1. Alfas a trabajar en el curso: 
  6. Administración de proyectos
    1. Planificación del proyecto
    2. Estimación
    3. Planificación de iteraciones
    4. Seguimiento del proyecto
    5. Cierre de iteraciones
    6. Cierre del proyecto
  7. Implementación de proyectos
    1. Requerimientos: historias de usuario, casos de uso 2
    2. Diseño
    3. Construcción
    4. Integración y pruebas
    5. 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