Tamaño de fuente
  • A-
  • A
  • A+
Color del sitio
  • R
  • A
  • A
  • A
Salta al contenido principal
EVA PUCE EV 2025-2025 EVA PUCE EV 2025-2025
  • Página Principal
  • Más
Español - Internacional ‎(es)‎
English ‎(en)‎ Español - Internacional ‎(es)‎
En este momento está usando el acceso para invitados
Acceder
Página Principal

S5 - Diseño modular y modelado de un Sistema de Autenticación Multifactor (MFA) aplicando principios de diseño orientado a objetos en Java

  1. QUI/65/202601/V/EV/NV01/NV01-01-10/N0075-06/1111/TPR
  2. Semana 5
  3. S5 - Diseño modular y modelado de un Sistema de Autenticación Multifactor (MFA) aplicando principios de diseño orientado a objetos en Java
Requisitos de finalización
Hacer un envío
Apertura: miércoles, 24 de junio de 2026, 12:43
Cierre: lunes, 29 de junio de 2026, 23:43

Tema

6.1 Interfaces
6.1.1 Contratos de comportamiento
6.1.2 Desacoplamiento mediante interfaces
7. Modelado orientado a objetos
7.1 Identificación de elementos del modelo
7.2 Encapsulamiento y visibilidad
8. Relaciones entre clases
8.1 Asociación, agregación, composición, dependencia y herencia 8.2 Representación gráfica del diseño
9. Principios de diseño orientado a objetos
9.1 Cohesión
9.2 Acoplamiento
10. Desarrollo modular del sistema
10.1 Métodos en clases
10.2 Métodos como representación del comportamiento
10.3 Responsabilidad de los métodos
11. Estructuras de control
1.1 Condicionales
11.2 Bucles

Instrucciones

  1. Componente teórico: Diseño del sistema 

1. Propósito 

Diseñar un sistema MFA correctamente estructurado, aplicando interfaces, relaciones entre clases y principios de diseño que permitan un sistema modular, mantenible y desacoplado. 

2. Contexto del problema 

El sistema MFA previamente desarrollado presenta limitaciones: 

  • Alto acoplamiento entre clases  

  • Baja reutilización  

  • Dificultad para mantenimiento  

  • Diseño poco modular  

Se requiere rediseñar el sistema aplicando principios avanzados de POO. 

3. Desarrollo del trabajo (Tarea del estudiante) 

Semana 4: Interfaces y modelado 

  1. Defina una o más interfaces para el sistema 
    (Ejemplo: Autenticador)  

  • Defina métodos como contratos  

  • Explique:  

  • ¿Qué comportamiento obliga la interfaz?  

  • ¿Cómo desacopla el sistema?  

  1. Identifique los elementos del modelo:  

  • Clases principales  

  • Interfaces  

  • Métodos clave  

  1. Encapsulamiento y visibilidad:  

  • Defina niveles de acceso (private, protected, public)  

  • Justifique decisiones  

Relaciones y principios de diseño 

  1. Identifique y explique relaciones entre clases:  

  • Asociación  

  • Agregación  

  • Composición  

  • Dependencia  

  • Herencia  

  1. Represente gráficamente el modelo (UML completo)  

  1. Analice:  

  • Cohesión:  

  • ¿Las clases tienen una única responsabilidad?  

  • Acoplamiento:  

  • ¿Qué clases dependen de otras?  

  • ¿Cómo reducir dependencias innecesarias?  

Desarrollo modular 

  1. Defina los métodos del sistema:  

  • Métodos por clase  

  • Responsabilidad de cada método  

  • Relación con el comportamiento del sistema  

  1. Analice:  

  • ¿Qué ocurre si un método hace demasiado?  

  • ¿Cómo afecta a la mantenibilidad?  

  1. Uso de estructuras de control:  

  • Defina dónde usar:  

  • Condicionales  

  • Bucles  

  • Justifique su uso en el sistema MFA  

4. Análisis crítico 

Responda: 

  • ¿Cómo ayudan las interfaces a la extensibilidad?  

  • ¿Qué relación es más adecuada entre Usuario y métodos de autenticación?  

  • ¿Qué problemas genera un sistema altamente acoplado?  

  • ¿Cómo mejora la cohesión la calidad del sistema?  

  1. Componente práctico: Implementación modular en Java 

Semana 5: Requerimientos técnicos 

El sistema debe: 

  • Usar interfaces obligatoriamente  

  • Aplicar bajo acoplamiento  

  • Mantener alta cohesión  

  • Definir correctamente relaciones entre clases  

  • Implementar métodos bien estructurados  

Funcionalidades 

  • Sistema MFA completo:  

  • Contraseña  

  • OTP (One-Time Password) 

  • Biometría  

  • Validación de autenticación  

  • Registro de accesos  

  • Uso de estructuras de control:  

  • Validación de intentos (if/else)  

  • Iteración de factores (bucles)  

Condiciones 

El sistema debe: 

  • Ser modular  

  • Permitir cambios sin afectar otras clases  

  • Tener responsabilidades bien definidas  

Ejemplo esperado 

  • Autenticador (interfaz)  

  • Clases que implementan comportamiento  

  • Sistema que usa polimorfismo + interfaces  

Requerimientos de calidad 

  • Código organizado en paquetes  

  • Métodos pequeños y claros  

  • Nombres significativos  

  • Separación de responsabilidades 

Tipo de entrega

Archivo comprimido (.zip) con: 

  • Código fuente en Java  

  • Documento de análisis, diseño y modelado 

  • UML actualizado 

  • Video de máximo 5 minutos, donde se pueda mirar la cara del estudiante explicando la funcionalidad del programa y del diseño arquitectónico del software. 


Actividad previa C5 - Diseño orientado a objetos aplicado a sistemas seguros
Siguiente actividad C6 - Estructuras de control y modularidad en sistemas seguros
PUCE Virtual Logo

CAMPUS VIRTUAL

  • → SOPORTE VIRTUAL

CONTACTOS

  • soportevirtual@puce.edu.ec
  • Tel: +593 99 715 1230
  • Sede Quito
    Avenida 12 de Octubre 1076 y
    Vicente Ramón Roca