Está en la página 1de 5

Unidad de Educación a Distancia

MIC-PI PROF. COMPLEXIVO ITIV

TALLER PRÁCTICO

Como analista de TI y desarrollador web, le han encargado la tarea de liderar el equipo de desarrollo
para crear una plataforma de exámenes en línea que pueda ser utilizada por instituciones educativas.
La plataforma debe tener la capacidad de gestionar y administrar exámenes de diversos tipos, como
cuestionarios de opción múltiple, preguntas abiertas, y asignación de proyectos.

La arquitectura de microservicios ha sido elegida como la solución para garantizar la escalabilidad,


flexibilidad y mantenimiento a largo plazo del sistema. Sin embargo, enfrentamos varios desafíos que
deben abordarse de manera efectiva:

» Gestión de Exámenes: Los usuarios (profesores) deben poder crear, editar y eliminar
exámenes. Cada examen puede contener diferentes tipos de preguntas, y se espera que la
plataforma admita la variabilidad en la estructura de los exámenes.
» Registro y Autenticación: Los estudiantes deben poder registrarse en la plataforma y
autenticarse de manera segura. Se requiere un sistema de roles para distinguir entre
profesores y estudiantes, con permisos específicos para cada tipo de usuario.
» Presentación de Exámenes: Los estudiantes deben poder acceder a los exámenes asignados,
responder preguntas y enviar sus respuestas. La plataforma debe ser capaz de manejar
simultáneamente múltiples intentos de exámenes y garantizar la seguridad y confiabilidad de
la entrega de exámenes.
» Corrección Automatizada: La plataforma debe contar con un sistema de corrección
automática para las preguntas de opción múltiple, mientras que las preguntas abiertas y
proyectos deben ser revisados por los profesores. La retroalimentación sobre las respuestas
debe ser clara y detallada.

Además de las funcionalidades descritas anteriormente, el sistema debe ser capaz de satisfacer las
siguientes características.

» Escalabilidad: La plataforma debe ser capaz de manejar un gran número de usuarios


concurrentes durante los períodos de exámenes sin degradación del rendimiento.
» Seguridad: Se deben implementar medidas robustas de seguridad para proteger la
integridad de los exámenes y los datos de los estudiantes. Además, se deben seguir las
mejores prácticas de seguridad en el manejo de la autenticación y la autorización.
» Disponibilidad: La plataforma debe estar disponible en todo momento, y se deben
implementar medidas de tolerancia a fallos para minimizar cualquier tiempo de inactividad.
» Mantenibilidad: La arquitectura de microservicios debe diseñarse de manera que facilite la
implementación de nuevas características, actualizaciones y correcciones sin afectar la
funcionalidad existente.

Nota: El equipo de TI ha pedido que se realice mediante la metodología DDD (Domain-Driven


Design).
Unidad de Educación a Distancia
MIC-PI PROF. COMPLEXIVO ITIV

Informe de Análisis de Microservicios con Domain-Driven Design (DDD)

Información del Proyecto:

Nombre del Proyecto: [Nombre del proyecto]

Descripción del Proyecto: [Breve descripción del proyecto y su contexto]

Introducción

Explicación breve sobre la importancia de los microservicios y el uso de Domain-Driven Design (DDD)
en el desarrollo de aplicaciones web.

PARTE 1: ANÁLISIS DE DOMINIOS

1. Identificación de Dominios

1.1. Dominios Identificados

» [Nombre del Dominio 1]


» [Nombre del Dominio 2]
» ... (agregar según sea necesario)

1.2. Justificación de la Identificación de Dominios:

» [Explicación de cómo se identificaron los dominios]

2. Diseño de Contextos Delimitados:

2.1. Contexto Delimitado 1:

» Límites del Microservicio


» Interacciones con Otros Microservicios
» ... (detalles adicionales)
Unidad de Educación a Distancia
MIC-PI PROF. COMPLEXIVO ITIV

2.2. Contexto Delimitado 2:

» Límites del Microservicio


» Interacciones con Otros Microservicios
» ... (detalles adicionales)

2.3. Justificación del Diseño de Contextos Delimitados

» [Explicación de decisiones de diseño]

3. Definición de Entidades y Agregados:

3.1. Entidades y Agregados para cada Contexto:

3.1.1. Contexto Delimitado 1:

» Entidades:
o [Nombre de la Entidad 1]
o [Nombre de la Entidad 2] ... (detalles adicionales)
» Agregados:
o [Nombre del Agregado 1]
o [Nombre del Agregado 2] ... (detalles adicionales)

3.1.2. Contexto Delimitado 2:

» Entidades:
o [Nombre de la Entidad 1]
o [Nombre de la Entidad 2] ... (detalles adicionales)
» Agregados:
o [Nombre del Agregado 1]
o [Nombre del Agregado 2] ... (detalles adicionales)
Unidad de Educación a Distancia
MIC-PI PROF. COMPLEXIVO ITIV

3.2. Justificación de las Entidades y Agregados:

» [Explicación de cómo las entidades y agregados cumplen con las reglas del negocio]

4. Eventos

» [Lista de eventos identificados]


» [Diagrama de eventos]

5. Identificación de microservicios

» Listado de microservicios

PARTE 2: DISEN̄ O DE MICROSERVCIOS

6. Procesos

6.1. [Indicar el lenguaje/framework]

6.2. [Especificar si se usaran contenedores]

6.3. [Especificar si se usará orquestador]

7. Comunicación de los microservicios

» [Sincrónica]
» [Asincrónica]

8. Diseño de la API

» [Listar los recursos y las salidas de las peticiones]


Ejemplo:

Recurso POST GET PUT DELETE


Crear un nuevo Recuperar todos Actualización Eliminar todos
/libros
libro los libros masiva de libros los libros
Unidad de Educación a Distancia
MIC-PI PROF. COMPLEXIVO ITIV

Recuperar los
Actualizar los
/libros/1 Error detalles del libro detalles del libro Quitar al libro 1
1 1 si existe

9. API Gateway

» [Indicar si se trabajará con API Gateway]

10. Consideraciones de los datos

» [Indicar las bases de datos que usarán para cada microservicio].

También podría gustarte