Sunteți pe pagina 1din 4

PRUEBA DE CONOCIMIENTOS INDRA

Java- Senior (5 horas)

Aplicación para cálculos

Se necesita construir una aplicación web que permita realizar un determinado cálculo,
guardarlo en una base de datos y posteriormente consultar los cálculos que han sido
almacenados.

A continuación se presentan los detalles requeridos por la empresa para su implementación:

Arquitectura de la aplicación monolítica

La aplicación debe ser desarrollada implementando una arquitectura por capas en la que se
implementen por lo menos 3 capas:

 Capa de presentación
 Capa de Reglas de Negocio
 Capa de Acceso a Datos.

A continuación se describen los requisitos de la aplicación:

1. Registro del cálculo

Flujo Básico – Calcular Valores


Este caso de uso inicia cuando el usuario ingresa a la opción "Registrar Cálculo"

1. El sistema muestra la información necesaria para realizar el cálculo.


2. El usuario ingresa los valores para los campos Usuario y Límite.
3. El sistema valida los campos ingresados.
4. El sistema suma todos los números pares menores o iguales al límite y almacena el
resultado, el usuario ingresado y la fecha de ejecución.
5. El sistema muestra el resultado.

Flujo Alterno – Usuario no válido


Este flujo inicia en el paso 3 del flujo básico cuando se identifica que el usuario no es válido

1. El sistema presenta un mensaje informando que el usuario no es válido y no permite


continuar.
2. El flujo termina y regresa al paso 1 del flujo básico.

Requisitos
La información necesaria para realizar el cálculo es la siguiente:

 Límite: Debe ser un número entre 50 y 500.

 Usuario: El sistema debe validar el nombre de usuario con un servicio web. El servicio
web debe recibir el usuario como parámetro validarlo contra la siguiente lista de
opciones:
o David
o Victoria
o Juan
o Paulina
La validación no debe tener en cuenta mayúsculas, minúsculas o espacios en blanco.

Ambos campos son obligatorios.

Prototipo pantalla

2. Consultar Información

Flujo Básico – Consultar Cálculos


Este caso de uso inicia cuando el usuario desea consultar los cálculos almacenados.

1. El sistema muestra los criterios de búsqueda (filtros) de los cálculos.


2. El usuario ingresa los filtros y selecciona la funcionalidad de consulta.
3. El sistema busca los cálculos almacenados que concuerden con los criterios
seleccionados.
4. El sistema presenta un listado con los cálculos encontrados.

Requisitos
Los criterios de búsqueda para consultar los cálculos son los siguientes:

 Usuario
 Respuesta Máxima
 Respuesta Mínima

La consulta debe retornar los cálculos que haya realizado el usuario ingresado, que tengan una
respuesta superior a "Respuesta Mínima" e inferior a "Respuesta Máxima"
Todos los campos son opcionales.

El valor "Respuesta Máxima" no debe ser inferior o igual al valor de "Respuesta Mínima". Si esto
sucede, el sistema debe presentar un mensaje al usuario indicando el error y no realiza la
consulta.

Si el sistema no encuentra resultados para los filtros ingresados, presenta un mensaje al usuario
informando la situación y permite realizar una nueva consulta.

Prototipo pantalla

3. Requisitos generales

Validación

Se debe hacer la validación a todos los controles que solicitan datos al usuario, según el tipo de
validación requerida para cada control.

Entrega
Se debe entregar el código fuente con la solución completa desarrollada. Además del script para
la creación de la base de datos con todos los objetos necesarios para que el aplicativo funcione
correctamente.

Base de Datos

La siguiente tabla le puede servir como base para la solución. So considera necesario, puede
agregar o quitar campos. El sql a continuación puede variar dependiendo del motor de bd que
vaya a utilizar.

CREATE TABLE REGISTRO_CALCULO (


"ID" NUMBER(4,0)
"RESULTADO" NUMBER(4,0) NOT NULL,
"USUARIO" VARCHAR2 NOT NULL,
"FECHA_EJECUCION" TIMESTAMP,
CONSTRAINT "PK_ID" PRIMARY KEY ("ID")
)

CONSIDERACIONES PARA JAVA EE

Para la capa de presentación, se debe realizar en jsf. Puede utilizar cualquier implementación de la
misma (Primefaces, Richfaces…)

La comunicación entre capas, utilizar inyección de dependencia utilizando EJBs

Puede utilizar el motor de base de datos que desee (Mysql, Postgres, Oracle)

Configurar el proyecto con maven para importar las librerías necesarias

La capa de persistencia se debe realizar en un servicio web (REST) el cual va a ser consumido por la
aplicación web. La persistencia debe realizarse con JPA.

S-ar putea să vă placă și