Nombre: | Ingeniería de Software para aplicaciones Web |
Créditos | 2 |
Semanas | 8 semanas (8-12 horas por semana) |
Tipo: | High Touch. Encuentros síncronos semanales |
Profesor responsable | José Bocanegra y Rubby Casallas |
Pre-Requisitos: | MISW-411 Prácticas de ingeniería de software esenciales para el agilismo MISW-412 Principios de diseño y arquitectura de software |
Al finalizar el curso el estudiante estará en capacidad de:
A lo largo de este curso, se desarrolla una aplicación web de tamaño mediano, utilizando un framework para desarrollo, teniendo en cuenta aspectos de usabilidad, accesibilidad, internacionalización y calidad.
Este proyecto se realiza en equipos y está definido por un conjunto de requisitos funcionales, se lleva a cabo en dos iteraciones y se aplican las prácticas vistas en el curso "MISW-411 Prácticas de ingeniería de software esenciales para el agil
ismo" (v.gr. Uso de git, integración continua, pruebas automáticas, historias de usuario, etc.). Semanalmente el equipo debe hacer un plan de trabajo basado en los hitos de la semana y una distribución balanceada de las actividades entre los integrantes.
La estrategia global del curso cubre dos aspectos:
Se realizará evaluación formativa y sumativa, tanto individual como grupal, así:
El curso está distribuido en 8 semanas. Cada semana tiene sus objetivos y un conjunto de lecciones; cada una con distintas actividades para el estudiante como: videos, tutoriales, ejercicios, lecturas, entre otras.
Además, en cada semana hay una lección especial llamada Proyecto
donde se describe el trabajo que se debe realizar con respecto al proyecto y sus entregables.
Se presentan los conceptos introductorios de la ingeniería de software web, incluyendo aspectos generales de su historia. Además, se proponen ejercicios de introducción al desarrollo web con HTML, CSS y Bootstrap. En equipo de tres estudiantes, se inicia el proyecto de construcción e implementación de una aplicación web con su lanzamiento y las actividades relacionadas principalmente con las historias de usuario. Para esto, contarán con lecturas, videos y otros insumos de preparación.
Esta semana está compuesta por las siguientes lecciones.
Conocer quiénes están en el curso, repasar objetivos y el rol del proyecto. Ejercicio de discusión sobre las características de las aplicaciones web y el alcance del curso.
A modo de seguimiento, al inicio los docentes realizarán un recuento de lo sucedido en la semana anterior, además de presentar el alcance de esta semana. Se abordarán los conceptos principales sobre patrones de diseño y usabilidad, como insumo para el desarrollo del prototipo de la aplicación que realizan los equipos. El desarrollo del prototipo es la actividad principal del proyecto para esta semana. Además, se ofrecerán tutoriales de Typescript para que los estudiantes, de manera individual, los desarrollen y se entrenen en su uso.
Esta semana está compuesta de 5 lecciones.
En esta sesión, se abordarán aspectos del trabajo en equipo como: valores, actitudes, responsabilidades
Para esto, se desarrollará una guía de trabajo en equipo que consiste en ver algunos videos de situaciones y discutirlos. Al finalizar, debe ser claro qué le preocupa a cada estudiante con respecto al trabajo en equipo en este curso y cómo se pueden mitigar los inconvenientes.
Como en la semana anterior, los docentes realizan un recuento de lo sucedido en la semana, además de introducir el trabajo de esta semana. Como continuación de Typescript, se ofrecerán tutoriales sobre nuevos elementos del lenguaje para que los estudiantes, de manera individual, los desarrollen y se entrenen en su uso. En esta semana, se inicia el aprendizaje sobre Angular, con una introducción a su arquitectura, sus principios y el uso que se le dará en el curso. Las tareas principales del proyecto para esta semana son la planeación las tareas para implementar las estructuras json del api rest; y la definición de la arquitectura global de la aplicación se empieza a trabajar sobre las historias de usuario de las listas.
Esta semana está compuesta de las siguientes lecciones.
En esta sesión, los estudiantes realizarán el ejercicio de "Hall of shame" por pares.
Para esto, se requiere que cuenten con una rúbrica de evaluación de usabilidad y una guía del ejercicio.
Imágenes UI que violan uno más principios de Nielsen. Por cada uno, el estudiante debe identificar cuál es y debe proponer una forma de arreglarlo.
Como en la semana anterior, los docentes realizan un recuento de lo sucedido en la semana, además de introducir el trabajo de esta semana. Las principales actividades del proyecto se orientan a la implementación de los detalles y al desarrollo de pruebas unitarias. Además, del seguimiento con las prácticas de integración continua que se iniciaron desde la primera semana. Continuando con el aprendizaje sobre Angular, y como insumo para el desarrollo del proyecto, esta semana se abordan los conceptos de navegación, routing, composición y listar detalles.
Esta semana está compuesta de las siguientes lecciones.
En esta sesión se realiza una actividad de arquitectura web, MVC
Para esto se requiere guía de actividad: Comparar arquitecturas de frameworks, relacionar con el curso de principios de arquitectura y diseño. Los estudiantes en parejas identifican para Angular los patrones de diseño. El profesor presenta las características de otros frameworks (React) y se discute sobre ventajas e inconvenientes.
A modo de seguimiento, al inicio los docentes realizarán un recuento de lo sucedido en la semana anterior, además de presentar el alcance de esta semana. Como actividad principal del proyecto, se incorporarán los conceptos de accesibilidad en la aplicación en desarrollo y se dará fina a la primera iteración, con una retrospectiva como parte de las prácticas de trabajo de equipo. Para esto, contarán con información sobre este accesibilidad,, incluyendo la guía WCAG2.0 para la construcción de sitios web accesibles y sobre la elaboración y relevancias de las retrospectivas.
Esta semana está compuesta de 4 lecciones.
En esta sesión se realizarán tres actividades.
1. Evaluación de pares. Para esto, se usará una encuesta de evaluación.
2. Preparar la retrospectiva DAKI.
Para esto se requiere una guía de actividad de retrospectiva por equipos.
3. Presentación de la retrospectiva en video y publicación en padlet.
Como ha venido sucediendo, los docentes realizan un recuento de la semana anterior, además de introducir el trabajo de esta semana. Se presentarán los conceptos de internacionalización y localización, aunado a algunas pautas para incorporarlos en un sitio web. Esto, servirá como insumo para el desarrollo de una de las actividades del proyecto, que consiste en la aplicación de estas pautas en la aplicación en desarrollo. En el proyecto, también se incluirán formularios para ingreso y actualización de información.
Esta semana está compuesta de 3 lecciones.
Cada equipo se reúne para discutir las conclusiones de la retrospectiva de la iteración 1 y para incorporarlas en el lanzamiento de la iteración 2.
Se conforman grupos con integrantes de equipos distintos. cada representante de equipo, socializa la estrategia para la iteración 2 de su equipo, los demás integrantes deberán tomar nota de la discusión.
Los integrantes del equipo se vuelven a reunir, para compartir los aprendizajes de lo conversado con otros grupos, discuten y documentan cómo esto puede ser incorporado en el lanzamiento de su propio proyecto.
A modo de seguimiento, al inicio los docentes realizarán un recuento de lo sucedido en la semana anterior, además de presentar el alcance de esta semana. Se estudian algunos conceptos sobre pruebas e2e y se ofrecen tutoriales para el uso de la herramienta protractor. Con esto, podrán desarrollar las pruebas e2e a la implementación de las historias de usuario de la aplicación del proyecto.
Esta semana está compuesta de 5 lecciones.
En esta sesión cada equipo mostrará y analizará de forma crítica sus resultados de integración continua al curso. Se abrirá un espacio de debate en el cual los expositores responderán preguntas previamente fromuladas y organizadas por los tutores y los profesores.
A modo de seguimiento, al inicio los docentes realizarán un recuento de lo sucedido en la semana anterior. En esta semana se cierra el proyecto con una retrospectiva y con un análisis de indicadores que permiten argumentar objetivamente sobre la calidad del producto y del trabajo en equipo.
Esta semana está compuesta de las siguientes lecciones.
En esta sesión se realizará:
1. Evaluación entre pares
Para esto se requiere la guía de evaluación.
2. Presentación de los videos de los proyectos finales y votación para decidir sobre la mejor aplicación. Cierre del curso
3. Retroalimentación final de la iteración 2 completa.
4. Evaluación del curso.