Tema
1. Análisis y modelado orientado a objetos
1.1 Fundamentos de la Programación Orientada a Objetos
1.1.1 Paradigma orientado a objetos y su propósito
1.1.2 Ventajas de la POO en la estructuración de sistemas de software
2. Clases y objetos
2.1 Diferencia conceptual entre clase y objeto
2.2 Representación de objetos en un sistema de software.
3. Atributos y responsabilidades de las clases
3.1 Estado de un objeto
3.2 Responsabilidad como principio de diseño
4. Encapsulación
4.1 Ocultamiento de información
4.2 Acceso controlado a los datos
5. Herencia y polimorfismo
5.1 Reutilización de código mediante herencia
5.2 Polimorfismo como mecanismo de extensibilidad
Instrucciones
Componente teórico
1. Propósito del reto
Analizar un problema de autenticación en ciberseguridad y proponer un modelo orientado a objetos que permita estructurar una solución funcional usando los fundamentos de POO.
2. Contexto del problema
Una plataforma requiere mejorar su seguridad mediante MFA.
Problemas:
Accesos no autorizados
No hay verificación adicional
No se pueden agregar nuevos métodos
Se requiere un sistema que:
Use múltiples factores
Valide accesos
Registre intentos
Semana 1:
3. Desarrollo (le estudiante debe responder)
¿Qué es POO?
¿Por qué usarla en MFA?
Identifique al menos 4 clases
Diferencie clase vs objeto
Defina atributos y responsabilidades
Explique problemas de mala distribución de responsabilidades
Aplique encapsulación y justifique
Defina una clase base (Autenticador)
Cree clases derivadas
Explique polimorfismo
4. UML
Diagrama básico de clases
5. Análisis crítico
Riesgos sin encapsulación
Problemas sin herencia
Limitaciones sin polimorfismo
Componente práctico
Semana 2:
Requerimientos
Clases y objetos
Encapsulación
Herencia
Polimorfismo
Funcionalidades
Usuario
Autenticación:
Contraseña
OTP (One-Time Password)
Biometría
Registro de accesos
Simulación en el método main
Condición: El programa debe funcionar, aunque no sea completamente óptimo
Tipo de entrega
Archivo comprimido (.zip) con:
Código fuente en Java
Documento (análisis y UML)
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.