Skip to content
This repository has been archived by the owner on Jun 23, 2023. It is now read-only.

Latest commit

 

History

History
193 lines (133 loc) · 10.5 KB

readme.md

File metadata and controls

193 lines (133 loc) · 10.5 KB
██████   █████  ███    ██  ██████  ██████      ███████  █████  ███    ██ ████████  █████  ███    ██ ██████  ███████ ██████  
██   ██ ██   ██ ████   ██ ██      ██    ██     ██      ██   ██ ████   ██    ██    ██   ██ ████   ██ ██   ██ ██      ██   ██
██████  ███████ ██ ██  ██ ██      ██    ██     ███████ ███████ ██ ██  ██    ██    ███████ ██ ██  ██ ██   ██ █████   ██████  
██   ██ ██   ██ ██  ██ ██ ██      ██    ██          ██ ██   ██ ██  ██ ██    ██    ██   ██ ██  ██ ██ ██   ██ ██      ██   ██
██████  ██   ██ ██   ████  ██████  ██████      ███████ ██   ██ ██   ████    ██    ██   ██ ██   ████ ██████  ███████ ██   ██ 




╔╦╗╔═╗╔═╗╔═╗╦═╗╦╔═╗╔═╗╦╔═╗╔╗╔
 ║║║╣ ╚═╗║  ╠╦╝║╠═╝║  ║║ ║║║║
═╩╝╚═╝╚═╝╚═╝╩╚═╩╩  ╚═╝╩╚═╝╝╚╝

Se trata de una aplicación de gestión bancaria, en este caso para el Banco Santander, donde en este caso el banco Santander necesita un sistema en el que se puedan crear diferentes tipos de clientes y cuentas asi como una forma para que un trabajador de dicho banco dependiente en la sucursal en la que trabaje pueda acceder a dicho sistema de gestión

╔═╗╦ ╦╔╗╔╔═╗╦╔═╗╔╗╔╔═╗╦  ╦╔╦╗╔═╗╔╦╗╔═╗╔═╗
╠╣ ║ ║║║║║  ║║ ║║║║╠═╣║  ║ ║║╠═╣ ║║║╣ ╚═╗
╚  ╚═╝╝╚╝╚═╝╩╚═╝╝╚╝╩ ╩╩═╝╩═╩╝╩ ╩═╩╝╚═╝╚═╝
  • Un empleado del banco puede seleccionar a que oficina desea conectarse

  • Cuando se conecta un empleado a una oficina le requiere iniciar sesión con sus credenciales

  • Un empleado solo tendrá acceso a la oficina en la que trabaja

  • Los datos de las oficinas y de los empleados son obtenidas de ficheros para mantener la persistencia

  • Creación de clientes standard

  • Creación de clientes accionistas

  • Creación de cuentas de crédito

  • Creación de cuentas de débito

  • Eliminación de cuentas de crédito

  • Eliminación de cuentas de débito

  • Eliminación de clientes

  • Mostrar los clientes existentes (y todos sus datos)

  • Mostrar las cuentas existentes (y los datos de dichas cuentas)

  • Depositar dinero en cuentas

  • Sacar dinero de cuentas

  • Los clientes standard solo pueden tener una cuenta de débito

  • Los clientes accionistas no tienen un máximo de cuentas de débito

  • Solo los clientes accionistas pueden tener una cuenta de crédito

  • Las cuentas de crédito podrán sacar más dinero del disponible y tendrán un 20% de intereses

  • Se llevará un registro de la deuda acumulada en cada cuenta de crédito

    ╦ ╦╔╦╗╦
    ║ ║║║║║ ╚═╝╩ ╩╩═╝

Diagrama UML de la aplicación.

╔═╗╔═╗╔╦╗╦═╗╦ ╦╔═╗╔╦╗╦ ╦╦═╗╔═╗
║╣ ╚═╗ ║ ╠╦╝║ ║║   ║ ║ ║╠╦╝╠═╣
╚═╝╚═╝ ╩ ╩╚═╚═╝╚═╝ ╩ ╚═╝╩╚═╩ ╩

src.proyectoterraques.docs

En este paquete se encuentran los documentos utilizados.

diagram.puml: Diagrama UML de la aplicación readme.md: Archivo de texto que proporciona información de la aplicación. account_structure.jpeg: Imagen que muestra el formato utilizado para los números de cuenta bancaria

src.proyectoterraques.exceptions

En este paquete se encuentran las clases para el manejo de excepciones.

InvalidCharacterException: Clase que maneja los errores de caracteres inválidos

  • Constructor: Recibe un String con el texto del error

src.proyectoterraques.files

En este paquete se encuentran los archivos necesarios para guardar la información de forma persistente.

accounts.dat: Almacenamiento de las cuentas existentes banks.dat: Almacenamiento de los bancos existentes clients.dat: Almacenamiento de los clientes existentes employees.dat: Almacenamiento de los empleados existentes numberOfAccounts.dat: Almacenamiento del numero de cuentas que se pueden crear

src.proyectoterraques.gui

En este paquete se encuentra la clase ejecutable para iniciar la aplicación

Login: Clase ejecutable que refleja toda la información necesaria para que funcione la aplicación correctamente

src.proyectoterraques.source

En este paquete se encuentran todas las clases que dan funcionalidad a la aplicación

Account: Clase Abstracta en el que se almacenan las cuentas AccountBalance: Interfaz que contiene los métodos deposit, withdraw y mirar los datos de las cuentas Bank: Clase principal que contiene todos los datos necesario de cuentas, clientes, etc... Client: Clase Abstracta que crea los clientes y sus datos ClientManagement: Interfaz que crea, elimina y lista las cuentas de los clientes CreditAccount: Clase que contiene cuentas de crédito y los métodos deposit y withdraw DebitAccount: Clase que contiene cuentas de débito y los métodos deposit y withdraw FileHandler: Clase que contiene los archivos fichero ShareholderClient: Clase de accionistas que contiene toda la información de la clase Client y la interfaz ClientManagement StandardClient: Clase de usuarios que contiene toda la información de la clase Client y la interfaz ClientManagement

╦╔╗╔╔═╗╔╦╗╦═╗╦ ╦╔═╗╔═╗╦╔═╗╔╗╔╔═╗╔═╗  ╔╦╗╔═╗  ╦ ╦╔═╗╔═╗
║║║║╚═╗ ║ ╠╦╝║ ║║  ║  ║║ ║║║║║╣ ╚═╗   ║║║╣   ║ ║╚═╗║ ║
╩╝╚╝╚═╝ ╩ ╩╚═╚═╝╚═╝╚═╝╩╚═╝╝╚╝╚═╝╚═╝  ═╩╝╚═╝  ╚═╝╚═╝╚═╝

Dejamos unas instrucciones para que se sepa como funciona y poder navegar cómodamente por la aplicación.

1- En cuanto se inicia la aplicación (En la clase Login) nos salen dos (2) opciones. Login y Exit, si queremos seguir utilizando la aplicación le daremos al número 1 (Login). 2- A la hora de iniciar con el login, nos saldrán 3 oficinas a escoger, tenemos que poner la oficina (número) en la que nos queremos meter (1357,3941 o 7364) 3- Una vez introducida nos pedirá un User y Password, tendremos que poner un nombre de usuario y contraseña guardado en el archivo employees.dat. En caso contrario, nos pondrá: Invalid user or password Ejemplo: (Oficina número 1357, Usuario: mgpinto, Contraseña: MGp1234) 4- Una vez conectado el usuario nos saldrán 11 opciones, elegiremos la que mas nos convenga. A continuación las explico. OPCIONES: 1- New Client: Te crea un cliente de tipo Standard o Shareholder (Accionista). En cualquiera de las dos opciones nos va a pedir que le demos los datos de nuestro DNI,Nombre,Apellido,Dirección y número de teléfono. Una vez metidos todos los datos te va a pedir que elijas una cuenta de debito o de crédito, elegirás la opción que mas te guste. Una vez escogida volverá a las 11 opciones iniciales. 2- New Account: Crea una cuenta de Débito (1) o Crédito (2), una vez elijas la cuenta te pedirá un DNI a vincular, en caso de vincular bien el DNI estará correcto, sino te pondrá: Client not found. 3- Show Client: Te pedirá el DNI del cliente, si encuentra el DNI te saldrán todos los datos, en caso contrario te pondrá: Client not found. 4- Show Account: Te pedirá el número de cuenta, en caso de que le pases un número de cuenta correcto (accounts.dat), te saldrá la información de la cuenta, en caso contrario te pondrá: Account not found. 5- Deposit: Te pedirá un número de cuenta, en caso de ponerle un número de cuenta bien, podrás depositar la cantidad, en caso contrario: Account not found. 6- Withdraw: Te pedirá un número de cuenta, en caso de ponerle un número de cuenta bien, podrás restar la cantidad, en caso contrario: Account not found. 7- List Clients: Simplemente si seleccionas esta opción te va a listar los Clientes con sus datos. 8- List Accounts: Simplemente si seleccionas esta opción te va a listar las cuentas con sus datos. 9- Remove Client: Te pedirá que des el DNI del cliente, en caso afirmativo, te eliminará correctamente el cliente, en caso contrario: Client not found. 10- Remove Account: Te pedirá el número de cuenta, en caso afirmativo, te eliminará correctamente la cuenta, en caso contrario: Account not found. 11- Exit: Sale de la aplicación.

╔═╗╔═╗╔═╗╔╦╗╦ ╦╦═╗╔═╗╔═╗
║  ╠═╣╠═╝ ║ ║ ║╠╦╝╠═╣╚═╗
╚═╝╩ ╩╩   ╩ ╚═╝╩╚═╩ ╩╚═╝

╦ ╦╔═╗╔═╗
║ ║╚═╗║ ║
╚═╝╚═╝╚═╝

IDE (IntelliJ, NetBeans, etc.)

Para iniciar la aplicación desde un entorno de desarrollo abriremos el proyecto llamado "proyectoTerraques" y ejecutaremos la clase proyectoterraques.gui.Login

CONSOLA

Para ejecutar la aplicación en consola desde nuestro sistema operativo sin necesidad de un entorno de desarrollo debemos ejecutar el archivo "BancoSantander.jar" (Es necesario tener instalado java en nuestro sistema operativo).

╔═╗╦ ╦╔╦╗╔═╗╦═╗╔═╗╔═╗
╠═╣║ ║ ║ ║ ║╠╦╝║╣ ╚═╗
╩ ╩╚═╝ ╩ ╚═╝╩╚═╚═╝╚═╝
  • HUGO FRESNO NAVARRO
  • EDUARDO LOSTAL LE BARBIER
  • FERNANDO WILLIAM CALVO MÉNDEZ