Este es un documento guía del curso Ingeniería de Software para Aplicaciones Web. Está organizado por semanas y cada semana está organizada siguiendo las actividades programadas.
Objetivo de la guía
El objetivo de esta guía es ayudar al tutor a conocer las actividades, teniendo especial cuidado sobre lo que se espera lograr en la semana. Es importante que el tutor motive las actividades que se deben realizar de forma autónoma. De la misma forma, es importante hacer el seguimiento a las actividades programadas
Logros de la semana
Al finalizar esta semana se espera que los estudiantes hayan:
Conocido su equipo de trabajo
Realizado el lanzamiento de la iteración 1 del proyecto
Distribuido las historias de usuario
Registrado la planeación de la semana 1
Detallado y revisado las historias de usuario
Antes de la actividad sincrónica
Enviar un mensaje de bienvenida (preferiblemente en formato podcast / video) e indicar que hay que ir a Coursera a ver el material.
Durante la sesión sincrónica
Revisar elementos importantes del curso como la estructura global de las iteraciones y la evaluación.
Informar la conformación de los equipos.
Explicar la guía del proyecto.
Mencionar los foros.
Invitar a realizar el tutorial sobre configuración del ambiente de trabajo.
Explicar en qué consiste el lanzamiento del proyecto.
Mencionar la diferencia entre trabajo en grupo y en equipo.
Indicar la importancia del seguimiento y la planeación.
Insistir en que la nota de cada iteración tiene una parte individual y otra grupal.
Hacer ejercicio para "romper el hielo". Se propone un mentimeter. Para esto se debe:
Entrar a www.mentimenter.com para activar la encuesta. Asegurarse de que esté vacía.
Indicarles que deben ir a menti.com y darles el código de la encuesta
Dejar unos 5 minutos para que contesten. En la pantalla se va viendo cuántos han contestado. Preguntar:
Experiencia previa con herramientas de programación
Frameworks del lado cliente para hacer aplicaciones web
Diferencia entre una página "tradicional" y una SPA
Hacer otro mentimeter sobre "qué me inquieta del curso":
Entrar a www.mentimenter.com para activar la encuesta. Asegurarse de que esté vacía.
Indicarles que deben ir a menti.com y darles el código de la encuesta
Dejar unos 5 minutos para que contesten. En la pantalla se va viendo cuántos han contestado
Revisar las respuestas y discutir dependiendo de lo que hayan contestado. Al menos:
Debería inquietar el trabajo en equipo. Qué pasa si alguien no trabaja. Qué pasa si "yo" no trabajo (eso probablemente no lo van a decir, pero se puede discutir el que cada uno crea que la "culpa" es de los demás). Para calmar la inquietud: Insistir en que lo importante es participar en las actividades y no dejarse colgar. Hacer las entregas y que los demás no pierdan la confianza en uno. No perderse. Comunicar.
No conocer las tecnologías. Importante hacer los ejercicios propuestos, ver los vídeos, preguntar en los foros, ...
Trabajo autónomo
Los estudiantes se van a preparar para empezar a trabajar en el proyecto:
Revisan cuál es su equipo y cuál el enunciado
Crean la cuenta en Github para poder crear los teams y sus integrantes.
Ingresan al repo en Github para conocer la wiki y el espacio para gestionar el projecto
Revisar los videos de trabajo en equipo. Se espera generar reflexión sobre qué es lo más importante o crítico del trabajo en equipo.
La tarea más importante es la distribución, el detalle y la revisión de las historias de usuario.
Tareas de revisión y calificación
Revisar la planeación de la semana 1. Verificar que todas las tareas de la semana estén planeadas en Github en el formato solicitado. Hacer una calificación proporcional teniendo en cuenta el número de tareas, si se cumple o no con el formato y si estas fueron registradas el espacio proyecto en Github.
Revisar que las historias de usuario hayan sido asignadas, detalladas y verificadas. Para esto, ingresar a la wiki del proyecto y hacer la revisión. Si hace falta alguna tarea, notificar al equipo.
Logros de la semana
Al finalizar esta semana se espera que los estudiantes hayan:
Realizado el seguimiento de la semana 1
Registrado la planeación de la semana 2
Elaborado los prototipos de la aplicación
Antes de la actividad sincrónica
Enviar un mensaje de bienvenida (preferiblemente en formato podcast / video) e indicar que hay que ir a Coursera a ver el material.
Durante la sesión sincrónica
Explicar que el objetivo de la semana es aplicar en el desarrollo e implementación de una aplicación web los conceptos de diseño de interfaz de usuario y los patrones básicos de usabilidad.
También mencionar que se iniciará el trabajo con Typescript, que será el lenguaje de programación con el que se construirá la aplicación.
En esta sesión tambié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.
Trabajo autónomo
Ver los videos sobre patrones de diseño de interfaz de usuario (parte 1 y 2)
Ver el video sobre heurísticas de Nielsen para mejorar la usabilidad de las interfaces de usuario
Hacer el ejercicio sobre "Shall of fame"
Realizar el tutorial sobre la instalación y uso del API Rest
Ver el video sobre Draw.io (ahora llamado app.diagrams.net). Este es útil para la elaboración de los prototipos
Hacer el seguimiento de la semana 1 y la planeación de la semana 2
Tareas de revisión y calificación
Revisar la planeación de la semana 2. Verificar que todas las tareas de la semana estén planeadas en Github en el formato solicitado. Hacer una calificación proporcional teniendo en cuenta el número de tareas, si se cumple o no con el formato y si estas fueron registradas el espacio proyecto en Github.
Revisar que los prototipos individuales estén creados. Para esto, ingresar a la wiki del proyecto y hacer la revisión. Si hace falta el prototipo de algún integrante, notificar al equipo.
Revisar que se haya definido el prototipo consolidado y que en todas las historias de usuario se haya incluído la versión consolidada del prototipo.
Revisar que todos hayan elaborado el ejercicio de Shall of fame y hayan subido el documento a Coursera.
Logros de la semana
Al finalizar esta semana se espera que los estudiantes hayan:
Realizado el seguimiento de la semana 2
Registrado la planeación de la semana 3
Creado los módulos, servicios y estructuras de datos para los recursos necesarios en sus historias de usuario
Implementado el despliegue de recursos
Antes de la actividad sincrónica
Enviar un mensaje de bienvenida (preferiblemente en formato podcast / video) e indicar que hay que ir a Coursera a ver el material.
Durante la sesión sincrónica
Explicar que el objetivo de la semana es implementar en Angular el despliegue de los recursos.
En esta sesión se arman parejas de distintos equipos, se socializan los antipatrones encontrados en el ejercicio del Hall of shame y se selecciona el más "curioso" o crítico para ser comentado por todo el curso.
Trabajo autónomo
Ver el video de introducción a Angular
Ver el video sobre la arquitectura de las aplicaciones desarrolladas con Angular
Hacer el tutorial para crear la primera aplicación en Angular
Ver el video sobre la teoría de pruebas unitarias en el contexto de Angular
Hacer el tutorial sobre pruebas unitarias en el contexto de Angular
Hacer el tutorial sobre pruebas de integración en el contexto de Angular
Hacer el tutorial sobre creación de listas en Angular
Hacer el seguimiento de la semana 2 y la planeación de la semana 3
Crear los módulos y servicios para obtener los recursos
Implementar la funcionalidad de listar los recursos
Tareas de revisión y calificación
Revisar la planeación de la semana 3. Verificar que todas las tareas de la semana estén planeadas en Github en el formato solicitado. Hacer una calificación proporcional teniendo en cuenta el número de tareas, si se cumple o no con el formato y si estas fueron registradas el espacio proyecto en Github.
Revisar que los estudiantes hayan realizado commit y push a repositorio.
Descargar el código y correr las pruebas automáticas. Verificar que todas se ejecuten correctamente.
Ejecutar ng serve y verificar que todos los recursos se desplieguen correctamente.