Sunteți pe pagina 1din 2

UNIVERSIDAD DEL QUINDIO

PROGRAMA DE INGENIERIA DE SISTEMAS Y COMPUTACION


LENGUAJE DE PROGRAMACION

PROPUESTA DE TRABAJO FINAL

Se requiere construir una aplicación en Java para administrar la información básica generada por la
interacción de los clientes con los servicios que presta un banco. Entre otras cosas, se necesita:

 Permitir el registro de clientes en el banco, los datos son: nombres, apellidos, cedula, edad (auto
calculado según la fecha de nacimiento y la fecha de registro), sexo, fecha de nacimiento (usar
calendario de java y fecha tipo Date), usuario, contraseña, correo y pregunta de seguridad (con
su respectiva respuesta).
 Una vez registrados los clientes en el banco, deben poder hacer login en la aplicación mediante
un usuario y una contraseña.
 Si el usuario olvida su contraseña, debe poder recuperarla mediante la pregunta de seguridad.
 Una vez que han iniciado sesión se le debe permitir al usuario modificar sus datos personales y
además registrar cuentas bancarias. Existen en el banco tres tipos de cuentas: De ahorros, de
nómina y corrientes.
◦ Si la cuenta es de ahorros, tienen el porcentaje de intereses generados mensualmente sobre
el saldo, este porcentaje es dinámico y cambia según el monto de la cuenta de ahorros: entre
0 y 5 millones de pesos paga 1%, entre 5 y 20 millones de pesos paga 2% y de 20 millones
de pesos en adelante paga 3%, es decir, si el monto de la cuenta de ahorros es de 3 millones
de pesos, la cuenta de ahorros pagara 30 mil pesos de intereses mensuales. También tiene la
fecha de retiro de los ahorros.
◦ Si la cuenta es de nómina, tiene el nombre de la empresa que genera las consignaciones a
dicha cuenta (la empresa ya debe de estar registrada al momento de crear la cuenta de
nómina).
◦ Si la cuenta es corriente, tiene el monto que debe de pagar mensualmente por cuota de
manejo.
 Todas las cuentas tienen un número bancario y una fecha de creación.
 El usuario debe poder desde la aplicación realizar consignaciones y retiros a las cuentas
corrientes, solo consignaciones a las cuentas de ahorro, puesto que son de ahorro programado, y
solo retiros de las cuentas de nómina, esto debido a que son las empresas las que consignan
saldo a estas cuentas
 Debido a la existencia de cuentas de nómina, la aplicación también debe de permitir el registro
a las empresas que hacen los respectivos pagos a estas nóminas (razón social y NIT).
◦ Cuando las empresas se registran, su única función es consignar dinero a las cuentas de
nómina que le sean asociadas (cada empresa debe de poder visualizar en una tabla el listado
de cuentas de nómina que tiene asociadas).
 Poder crear Certificados de ahorro a término o CDTs. Estos CDTs están asociados a un usuario,
y tienen el monto de inversión, fecha de creación, duración, porcentaje de intereses pagados y
se debe establecer si los intereses se pagan mensualmente o en un solo pago al vencimiento del
CDT.
 Permitir conocer al usuario cual será la ganancia que obtendrá por la inversión que realizo en el
CDT (esto se hace teniendo en cuenta el monto de la inversión, el porcentaje de intereses que se
pagara y la duración del CDT).
 El aplicativo también cuenta con un módulo de administrador, el cual debe permitir realizar las
siguientes operaciones:
◦ Cargar en una tabla los datos de todos los clientes y poder realizar operaciones CRUD sobre
ellos.
◦ Determinar el valor del dinero almacenado en los CDTs.
◦ Encontrar el cliente que tiene mayor número de cuentas abiertas.
◦ Determinar el valor de los intereses pagados en las cuentas de ahorros durante el mes.
◦ Generar listados de clientes y CDTs de manera concurrente en una interfaz de usuario. (usar
hilos).
◦ Crear clientes en la aplicación (datos personales, cuentas y CDTs), de manera que la
información de los clientes se cargue desde un archivo de texto de la siguiente manera: el
archivo de texto contiene la información de 50 clientes, cada línea almacena la información
de un cliente según el formato que usted desee, pero dicha carga de información debe de
hacerse de manera paralela con el uso de 5 hilos.
◦ Utilizar File Chooser para cargar los archivos.
◦ Utilizar internacionalización (Español e Inglés).

Requisitos a cumplir:
 El programa debe hacerse en Java controlando todos los posibles errores que se puedan
presentar a través de excepciones.
 Almacenar toda la información de la aplicación es disco usando serialización binaria.
 Utilizar enumeraciones, herencia e interfaces donde sea viable.
 Aplicar hilos para el almacenamiento y lectura de archivos en memoria.
 Utilizar buenas prácticas de programación para escribir un código legible, comprensible.
Algunas de ellas son: Documentar, separar en paquetes, usar convenciones de código, etc.
 Grupo de máximo 3 personas
 El programa debe estar complemente documento con JavaDoc incluyendo los nombres de los
autores (por cada método que no esté documentado se descontara 0.2 a la nota final del
proyecto)
 Todo el programa debe ser hecho con un diseño Orientado a Objetos e incluir un diagrama de
clase.
 La interacción debe ser hecha usando un modo gráfico.
 El proyecto debe ser sustentado al profesor. La sustentación es individual y se califica de 0 a 1.
 El valor de la nota de la sustentación se multiplica por la nota del programa (nota grupal).

Primera entrega:
 Diagrama de clases
 Módulo de registro y login para usuarios y empresas.
 Creación de cuentas y CDTs por parte de los usuarios.
 Carga de información desde los archivos de texto (sin hilos aun).
 Internacionalización.

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