Skip to content

Projeto 1 para a cadeira de Programação Orientada à Objetos ministrada pelo professor Lucas Rodolfo

Notifications You must be signed in to change notification settings

vini-mgan/sistema_bancario

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

sistema_bancario

Projeto 1 para a cadeira de Programação Orientada à Objetos ministrada pelo professor Lucas Rodolfo

Aluno: Vinícius Martins Galindo Andrade

Requisitos

Requisitos Mínimos

  • Classe Client é utilizada para representar diferentes contas bancárias.

  • Movimentações da conta, números de CPF e até referências aos objetos tipo Client são armazenados em arrays e manipulados de diversas formas durante a execução.

  • Qualquer transação entre contas é validada. O valor movimentado não pode ser maior que o do saldo de conta e um usuário não pode transferir para si mesmo, por exemplo.

Requisitos Adicionais

  • O usuário pode criar diversas contas e transicionar entre elas, fazendo login e logout e realizando multiplas transações. Os objetos de cada conta se comunicam para que os valores de saldo de ambas as partes sejam devidamente modificados. Dessa forma, é possível criar um ecossistema real de movimentações entre diferentes clientes.

  • O acesso a uma conta exige Login com CPF e Senha que já tenham sido registrados e que estejam salvos na base de dados. Dessa forma, o programa se assemelha mais com um sistema bancário real, fornecendo uma barreira de segurança para cada conta.

  • Dados de toda transação ficam salvos e o usuário pode gerar um extrato bancário .txt com todas as movimentações efetuadas na conta logada durante a execução. Cada conta pode gerar um extrato independente, apenas com os dados de movimentação bancária relativos àquele cliente. Dessa forma, é possível registrar o histórico detalhado de transações efetuadas durante a execução do código.


Descrição do Sistema

Dados como Nome, CPF, Número de Conta e Saldo ficam salvos em variáveis de instância na classe Client. Referência aos objetos de tipo Client ficam salvos no ArrayList clients.

A classe Client possui 4 métodos:

• Registro( )

Cria uma nova conta (objeto do tipo Client). Dados de Nome, CPF e Senha são requisitados ao usuário e validados.

• Login( )

Acessa uma conta específica. Dados de CPF e Senha são requisitados ao usuário para login e, caso coincidam com um usuário registrado, acesso é liberado.

• Transferência( )

Transaciona valores entre contas. O valor a ser transacionado precisa ser superior ao do saldo atual do usuário logado. O usuário não pode enviar valores para si mesmo. Os dados das movimentações ficam salvos em váriaveis de instância na classe Movimento (esta fica aninhada à classe Client). Refêrencias à objetos do tipo Movimento ficam salvos no ArrayList extrato.

• getExtrato( )

Gera um arquivo .txt com o registro de todas as movimentações feitas na conta que está logada com informações de Data e Hora da transferência/depósito, valor, partes envolvidas e CPF. Para isso foi importada a classe PrintWriter. Cada conta possui um extrato independente e ele pode ser atualizado múltiplas vezes durante a execução do sistema.

A classe Menu possui os métodos que printam os menus interativos (incializarMenu0 e inicializarMenu1) e, baseado nas decisões do usário, chamam os métodos da classe Client.

About

Projeto 1 para a cadeira de Programação Orientada à Objetos ministrada pelo professor Lucas Rodolfo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages