Comentario general: ha realizado un desarrollo parcial de la corrección pedida de la sesión anterior; no añade nuevos CUs ni revisa los actuales. De la tarea nueva pedida ha entregado prototipo de interfaz gráfica pero no modela DC ni base de datos. Debe intensificar la dedicación al proyecto para conseguir alcanzar el objetivo del mismo.
Detalle de la corrección:
PUNTO 1. Revisión de la corrección de la sesión anterior. Ver comentarios en pull request (Entrega Tarea Sesión 2 #4).
Apartado "Requisitos funcionales. Definición del problema --> Revisar la entrega realizada con las correcciones indicadas en la sesión núm 2"
Añade un apartado "Requisitos funcionales. Definición del problema" que incluya un resumen de tu proyecto. Explica que no sólo que vas a realizar el desarrollo de una app sino también la investigación y puesta en funcionamiento de una infraestructura como ci/cd con Jenkins y despliegue en la nube. Este apartado lo puedes ir revisando hasta la entrega, pero puedes incluirlo ya. Profe: Realizado. La redacción es mejorable. Queda pendiente para la revisión final cuando esté el proyecto finalizado.
Apartado pedido "Entregar el listado de funcionalidades agrupadas por categoría":
[ ] Añadir un subapartado "Funcionalidades de la app" dentro del apartado "Análisis de requisitos funcionales. Casos de uso" que incluya el listado de funcionalidades que ya has entregado. Agrupa las funcionalidades por categoría. En cada categoría debes poner un nombre de la funcionalidad y una descripción (el texto que has entregado ya). Profe: No has realizado bien lo que te pedí. Cada funcionalidad debe tener un nombre y su correspondiente descripción. Lo que has documentado es categorías de funcionalidades pero no has desglosado cada categoría en las funcionalidades indicando nombre más descripción. Por ejemplo en Gestión de Usuarios las funcionalidades pueden ser: alta, baja, consulta, actualización, recuperar contraseña. No veo que una funcionalidad sea que la contraseña se guarde cifrada.
En el listado de funcionalidades, omite tecnicismos como Wireshark, Fakesmtp, log4j ... En la fase de análisis, tu cliente no entiende de tecnologías, sólo quiere una app que haga determinadas acciones. En la fase de diseño, codificación y pruebas se haría referencia a ellos. Profe: Realizado.
Usa el modo impersonal en la redacción. Profe: No está corregido. Por ejemplo dices "Esta aplicación también implementará una función poca vista que explicaré a continuación" en Gestión de Correos. Queda pendiente para la revisión final cuando esté el proyecto finalizado.
[ ] Revisa la parte de usuarios si le afectara el uso de apps intermediarias como Firebase. Profe: no realizado. Habías pensado no usar Firebase para no complicar la codificación. Te recomiendo usarla porque es interesante usar esta funcionalidad y un valor añadido al proyecto. Puede usarse Firebase para sólo realizar la autenticación y disponer de todos los datos de los usuarios en una base de datos local a la app. Te recomiendo consultar a compañeros en otros proyectos que también lo están usando.
Apartado pedido "Fase de análisis (iteración 1) entregar CUs (diagrama y descripción) de un 50% de todas las funcionalidades listadas anteriormente"
[ ] Revisar las categorías de CUs de Gestión de Usuarios con la utilización apps tipo Firebase. Profe: no ha realizado ningún cambio respecto de la semana pasada.
[ ] Incluir descripción de todos los CUs: no has entregado los CUs de la gestión de correos. Profe: no ha realizado ningún cambio respecto de la semana pasada.
[ ] Valora el total de funcionalidades para que haya, aproximadamente, un 50% de CUs en esta entrega. Profe: ha incluido otras categorías de CUs por lo que debería entregar entregar el análisis de más CUs
Apartado "Preparación del entorno de trabajo: preparar el entorno de trabajo de forma que se implemente ci/cd con Jenkins haciendo uso del modelo indicado por el profesor en la sesión 1 (Jenkins (compilación, testing, despliegue) + github + dockerhub."
Ahora debes adaptar este entorno para tu proyecto. Tendrás que investigar sobre el código de Jenkins para las tareas que quieras automatizar. Profe: indica que ya lo tiene adaptado a su proyecto. Va a usar la solución de rama master en github
Control de la calidad del software: no olvides este apartado. Sería muy interesante implementar Sonarqube. Profe: dice haberse documentado. En la fase de codificación deberá incorporarlo.
Test: se ha documentado. Profe: En la fase de codificación deberá incorporarlo.
Apartado "Compartir un documento de control de tiempo."
Mejora: pone un contador de horas para saber el tiempo total. Profe: realizado
Sube el enlace del documento a la MoodleCentros. Hay una tarea para este fin. Profe: realizado
Punto 2. Realizar el diseño correspondiente a los CUs entregados en esta iteración/sprint 1 del proyecto. Para más detalles ver la issue [Profe] Especificaciones de la fase de diseño #3.
[ ] Diagrama de clases. Profe: No realizado. Indicas que el diseño de la interfaz del usuario vas a realizar con React por lo que sólo se te pido el modelado del backend. El diseño en formato de app de escritorio se hará en función del tiempo. Has mostrado un DC del modelo y te he indicado que es muy simple, debe recoger más clases; te sugiero persistir en base de datos los logs, también los certificados de claves de los usuarios, entre otras ideas.
[ ] Modelado de base de datos. Profe: No realizado. Indicas que no sabes si vas a usar sólo modelo relacional o no relacional.
[ ] Interfaz gráfica. Profe: presentas unas pantallas realizadas con XD. Te recuerdo añadir cifrado y firmado a los mensajes. Indicas que administrador y usuario usarán la misma vista.
Punto 3. Otros:
[ ] Investigar Firebase. Profe: no realizado.
Plantear interfaz gráfica de escritorio y vía web. Profe: Optas inicialmente por hacer vía web, si diera tiempo también app de escritorio.
Cambiar nombre a repositorio en dockerhub. Profe: realizado
[ ] Poner id del issue correspondiente en los commits. Profe: has puesto en formato ISSUE: numero. Debes indicarlo con #numero y github automáticamente enlaza con la issue correspondiente. Corregir para próximas entregas.
Corrección de la entrega:
Comentario general: ha realizado un desarrollo parcial de la corrección pedida de la sesión anterior; no añade nuevos CUs ni revisa los actuales. De la tarea nueva pedida ha entregado prototipo de interfaz gráfica pero no modela DC ni base de datos. Debe intensificar la dedicación al proyecto para conseguir alcanzar el objetivo del mismo.
Detalle de la corrección:
PUNTO 1. Revisión de la corrección de la sesión anterior. Ver comentarios en pull request (Entrega Tarea Sesión 2 #4).
Apartado "Requisitos funcionales. Definición del problema --> Revisar la entrega realizada con las correcciones indicadas en la sesión núm 2"
Apartado pedido "Entregar el listado de funcionalidades agrupadas por categoría":
[ ] Añadir un subapartado "Funcionalidades de la app" dentro del apartado "Análisis de requisitos funcionales. Casos de uso" que incluya el listado de funcionalidades que ya has entregado. Agrupa las funcionalidades por categoría. En cada categoría debes poner un nombre de la funcionalidad y una descripción (el texto que has entregado ya). Profe: No has realizado bien lo que te pedí. Cada funcionalidad debe tener un nombre y su correspondiente descripción. Lo que has documentado es categorías de funcionalidades pero no has desglosado cada categoría en las funcionalidades indicando nombre más descripción. Por ejemplo en Gestión de Usuarios las funcionalidades pueden ser: alta, baja, consulta, actualización, recuperar contraseña. No veo que una funcionalidad sea que la contraseña se guarde cifrada.
En el listado de funcionalidades, omite tecnicismos como Wireshark, Fakesmtp, log4j ... En la fase de análisis, tu cliente no entiende de tecnologías, sólo quiere una app que haga determinadas acciones. En la fase de diseño, codificación y pruebas se haría referencia a ellos. Profe: Realizado.
Usa el modo impersonal en la redacción. Profe: No está corregido. Por ejemplo dices "Esta aplicación también implementará una función poca vista que explicaré a continuación" en Gestión de Correos. Queda pendiente para la revisión final cuando esté el proyecto finalizado.
[ ] Revisa la parte de usuarios si le afectara el uso de apps intermediarias como Firebase. Profe: no realizado. Habías pensado no usar Firebase para no complicar la codificación. Te recomiendo usarla porque es interesante usar esta funcionalidad y un valor añadido al proyecto. Puede usarse Firebase para sólo realizar la autenticación y disponer de todos los datos de los usuarios en una base de datos local a la app. Te recomiendo consultar a compañeros en otros proyectos que también lo están usando.
Apartado pedido "Fase de análisis (iteración 1) entregar CUs (diagrama y descripción) de un 50% de todas las funcionalidades listadas anteriormente"
Apartado "Preparación del entorno de trabajo: preparar el entorno de trabajo de forma que se implemente ci/cd con Jenkins haciendo uso del modelo indicado por el profesor en la sesión 1 (Jenkins (compilación, testing, despliegue) + github + dockerhub."
Apartado "Compartir un documento de control de tiempo."
Punto 2. Realizar el diseño correspondiente a los CUs entregados en esta iteración/sprint 1 del proyecto. Para más detalles ver la issue [Profe] Especificaciones de la fase de diseño #3.
Punto 3. Otros: