Escrito por estudiantes que aprobaron Inmediatamente disponible después del pago Leer en línea o como PDF ¿Documento equivocado? Cámbialo gratis 4,6 TrustPilot
logo-home
Resumen

Sumario Java Full-Stack Local

Puntuación
-
Vendido
-
Páginas
18
Subido en
18-01-2026
Escrito en
2025/2026

Java Full-Stack Local

Institución
Grado

Vista previa del contenido

🛡️EJERCICIO FINAL BOSS: “SISTEMA
CEREBRO - GESTIÓN DE CRIPTOGRAFÍA
Y RECURSOS DE ALTA SEGURIDAD”

Escenario: Te han contratado para desarrollar el núcleo de un sistema de inteligencia
gubernamental. El sistema debe gestionar Agentes, Misiones y Recursos Tecnológicos.
La seguridad es crítica: los datos sensibles no pueden simplemente “guardarse”, deben
procesarse, validarse y distribuirse entre bases de datos, ficheros binarios de acceso
aleatorio y XML.




🏗️ FASE 1: ARQUITECTURA Y POO AVANZADA

🗝️ Leyenda de Notación

1. Clases y Abstractas:

El cuadro dividido en tres secciones (Nombre, Atributos, Métodos) es la
representación estándar de una clase.
{abstract} denota que la clase Personal no puede ser instanciada
directamente, pero sí heredada.
{static} en contadorAgentes indica que es una variable de clase
compartida, no de objeto.
{final} en ficharEntrada() indica que este método no puede ser
sobrescrito por las clases hijas.

2. Relaciones:

Herencia (Generalización): Línea sólida con triángulo hueco ( ^ ).
AgenteDeCampo y AnalistaDatos son un Personal .
Implementación (Realización): Línea punteada (o vertical directa en este
esquema simplificado) hacia la interfaz EvaluacionDesempeno .
Agregación (Rombo Hueco < > ): Relación “Tiene un”. La Mision tiene un
Personal (responsable), pero si la misión se borra, el personal sigue
existiendo en la base de datos.

, Composición (Rombo Relleno < * > ): Relación fuerte “Parte de”. La
Mision se compone de Informes . Si se destruye la misión, se destruyen los
informes (ciclo de vida dependiente).

3. Visibilidad:

+ Público.
- Privado.
# Protegido (Visible para las clases hijas Agente y Analista ).


4. Genéricos:

CajaFuerte<T> indica que la clase puede manejar cualquier tipo de objeto
T (Parametrización de tipos).




🧠 FASE 2: LÓGICA, ALGORITMIA Y ESTRUCTURAS

Antes de programar, la lógica es vital.

1. El Algoritmo de Encriptación :

Debes diseñar primero en Pseudocódigo y Diagrama de Flujo un algoritmo
que reciba un String (mensaje) y un int (clave).
El algoritmo debe recorrer el String y desplazar los caracteres según la clave
(Cifrado César avanzado), pero si el índice es primo, debe invertir el carácter
(mayúscula/minúscula).
Implementación: Traduce este algoritmo a un método estático en una clase
de utilidades llamada CriptoUtils .

2. Estructuras de Datos Personalizadas (UD6):

No puedes usar ArrayList para la gestión de agentes en una misión. Debes
implementar tu propia Lista Enlazada Simple ( MiListaEnlazada ) con
nodos, punteros y métodos agregar , eliminar y buscar .
Usa Expresiones Regulares (Regex) para validar que el ID del agente tenga el
formato: 3 letras mayúsculas, un guion, 4 números y una letra final (Ej: XXX-
1234F ). Si no cumple, lanza una excepción personalizada.


3. Colecciones Avanzadas (UD6):

, Usa un HashMap<String, Mision> para mapear códigos de misión únicos
con sus objetos.
Debes recorrer este mapa usando un Iterator o un bucle for-each para
generar informes globales.




💾 FASE 3: PERSISTENCIA HÍBRIDA Y E/S

Aquí es donde el sistema se vuelve “duro”. La información se fragmenta en tres lugares.

1. Base de Datos Relacional (UD8):

Usa JDBC con el patrón DAO (Data Access Object) para gestionar la tabla
Agentes en MySQL.
Debes usar PreparedStatement obligatoriamente para evitar inyección
SQL.
Implementa una transacción: Al crear una Mision , se inserta en la BD y se
actualiza el estado de los agentes. Si algo falla, se debe hacer ROLLBACK de
toda la operación.

2. Ficheros de Acceso Aleatorio (UD5):

Hay un fichero binario llamado bitacora.dat . Debes usar la clase
RandomAccessFile .
Tarea: Escribir en la posición (byte) 100 del archivo un código de error crítico
generado por el sistema. Luego, debes poder leer exactamente los bytes 50 a
60 para recuperar una “firma digital” simulada.

3. Serialización y XML (UD5, UD6):

La clase AnalistaDatos debe implementar Serializable para guardar el
estado de los analistas en un fichero .ser (Flujos de Objetos).
XML con SAX/DOM: El sistema debe importar misiones desde un fichero
misiones_externas.xml . Debes implementar un parser (puedes elegir SAX
o DOM) que lea las etiquetas <Objetivo> , <Presupuesto> y cargue esos
datos en memoria,.

Escuela, estudio y materia

Grado

Información del documento

Subido en
18 de enero de 2026
Número de páginas
18
Escrito en
2025/2026
Tipo
RESUMEN

Temas

$4.09
Accede al documento completo:

¿Documento equivocado? Cámbialo gratis Dentro de los 14 días posteriores a la compra y antes de descargarlo, puedes elegir otro documento. Puedes gastar el importe de nuevo.
Escrito por estudiantes que aprobaron
Inmediatamente disponible después del pago
Leer en línea o como PDF

Conoce al vendedor
Seller avatar
jesús6

Conoce al vendedor

Seller avatar
jesús6 Universidad Nacional de Educación a Distancia
Seguir Necesitas iniciar sesión para seguir a otros usuarios o asignaturas
Vendido
1
Miembro desde
6 meses
Número de seguidores
0
Documentos
17
Última venta
5 meses hace

0.0

0 reseñas

5
0
4
0
3
0
2
0
1
0

Por qué los estudiantes eligen Stuvia

Creado por compañeros estudiantes, verificado por reseñas

Calidad en la que puedes confiar: escrito por estudiantes que aprobaron y evaluado por otros que han usado estos resúmenes.

¿No estás satisfecho? Elige otro documento

¡No te preocupes! Puedes elegir directamente otro documento que se ajuste mejor a lo que buscas.

Paga como quieras, empieza a estudiar al instante

Sin suscripción, sin compromisos. Paga como estés acostumbrado con tarjeta de crédito y descarga tu documento PDF inmediatamente.

Student with book image

“Comprado, descargado y aprobado. Así de fácil puede ser.”

Alisha Student

Preguntas frecuentes