Unidad didáctica de la arquitectura hexagonal
Autor: Jhon Jairo Cerpa Jiménez
Área de formación: Ingeniería de sistemas y computación
Título del tema: Arquitectura hexagonal
Objetivos de Aprendizaje
Los estudiantes serán capaces de usar el conocimiento adquirido durante la clase para crear proyectos de software que apliquen conceptos de la arquitectura hexagonal, sea independientemente o con grupo de trabajo.
Objetivo general: Comprender el significado de la arquitectura hexagonal y sus características diferenciales de las demás arquitecturas, y por último aplicar los conceptos en proyectos de software.
Objetivos específicos:
Entender la definición de la arquitectura hexagonal
Comprender las características principales de la arquitectura hexagonal
Comparar la arquitectura hexagonal con distintas arquitecturas de software
Aplicar los conceptos de la arquitectura hexagonal en talleres y, finalmente, en proyectos de software
Entendimiento
Al finalizar la clase los estudiantes entenderán las ideas principales de la arquitectura hexagonal, sus especificaciones y, por último, entenderán las diferencias y semejanzas entre distintas arquitecturas existentes.
Preguntas esenciales
¿Cuáles son las ideas principales de la arquitectura hexagonal?
¿Qué especificaciones dicta la arquitectura hexagonal según su creador?
¿Cuáles son las diferencias y semejanzas entre las distintas arquitecturas?
Estrategias de evaluación
Estrategia formativa
Taller no calificable acerca del significado y características de la arquitectura hexagonal. Analizar diferencias y semejanzas entre la arquitectura hexagonal y la arquitectura en capas. Este tiene el objetivo de evaluar el aprendizaje de los estudiantes y aplicar los ajustes necesarios al plan de enseñanza.
Criterios de evaluación:
El estudiante explica de manera entendible y concisa el significado de la arquitectura hexagonal
El estudiante señala por lo menos 3 características de la arquitectura hexagonal
El estudiante señala todas las diferencias y semejanzas entre la arquitectura hexagonal y la arquitectura en capas
Estrategia sumativa: Proyecto de software básico en el cual
se aplique los diferentes conceptos de la arquitectura hexagonal.
Esta aplicación tendrá los requerimientos funcionales de una empresa bancaria en la cual se realizan préstamos.
Criterios de evaluación:
El proyecto de software aplica todos los conceptos de la arquitectura hexagonal.
La organización de las carpetas del proyecto están de acuerdo a lo dictado por la arquitectura hexagonal.
El proyecto de software cumple todos los requerimientos funcionales y no funcionales.
El proyecto de software tiene validación de errores para todos los requerimientos funcionales.
Rúbrica de evaluación
- Quiz de selección múltiple acerca del significado de la arquitectura hexagonal y sus conceptos principales.
- Taller para la realización de un diagrama en el cual se presenta la organización de un proyecto con requerimientos sencillos.
- Preguntas en clase con bonos acerca de las características principales de la arquitectura hexagonal
- Entrega 1. Trabajo en parejas en el cual se debe desarrollar un proyecto básico de consola en el cual se recibe como entrada la información financiera de un cliente y se decide si se puede realizar un préstamo o no. En este se debe aplicar los conceptos de casos de uso y entidades.
- Entrega 2. Trabajo en parejas en el cual se debe desarrollar un proyecto intermedio con interfaz de usuario Web en el cual se demuestre la organización de carpetas según la arquitectura hexagonal. Este recibe la misma información de entrada y es la continuación de la entrega 1.
Los materiales que facilitan el desarrollo de la actividad
Using Clean Architecture for Microservice APIs in Node.js with MongoDB and Express. https://www.youtube.com/watch?v=CnailTcJV_U
Clean Architecture Solution Template. https://github.com/jasontaylordev/CleanArchitecture
Las referencias bibliográficas pertinentes.
Martin, R. C. (2018). Clean architecture: a craftsman's guide to software structure and design. Prentice Hall.
Martin, R. C. (2008). Clean Code: A Handbook of Agile Software Craftsmanship.
Comments
Post a Comment