Prévia do material em texto
ENGENHARIA DE SOFTWARE UNOPAR – Cidade Nome RA: PORTIFÓLIO – RELATÓRIO DE AULA PRÁTICA LINGUAGEM ORIENTADA A OBJETOS Cidade/UF 2023 Nome RA: PORTIFÓLIO – RELATÓRIO DE AULA PRÁTICA LINGUAGEM ORIENTADA A OBJETOS Trabalho apresentado à Universidade UNOPAR, como requisito parcial para a obtenção de média semestral nas disciplinas norteadoras do semestre letivo. Tutor (a): Jessica Fernandes Lopes Cidade/UF 2023 Introdução .................................................................................................................................. 4 Instalação do ambiente de desenvolvimento ................................................................... 6 Criando o projeto gerenciaBanco ........................................................................................ 6 Criação do código gerenciaBanco ...................................................................................... 8 Código Fonte Completo........................................................................................................ 11 Testando a aplicação pronta ............................................................................................... 15 Conclusão ................................................................................................................................ 18 Referências .............................................................................................................................. 20 Introdução Neste projeto emocionante de Gerenciamento Bancário em Java, estaremos mergulhando fundo no mundo da programação orientada a objetos. Vamos explorar como criar uma aplicação prática que simula um ambiente bancário, onde os clientes podem interagir com suas contas, realizar transações e consultar saldos, tudo isso com a linguagem de programação Java. À medida que avançamos neste projeto, teremos a oportunidade de aplicar uma variedade de conceitos essenciais de programação orientada a objetos, como a criação de classes e objetos, encapsulamento, herança, polimorfismo e uso de estruturas de controle de fluxo. Aqui estão alguns dos principais objetivos que iremos alcançar: 1. Criação de Classes: Vamos criar classes que representam objetos do mundo real, como clientes e contas bancárias. Essas classes nos permitirão modelar o sistema bancário. 2. Métodos e Atributos: Implementaremos métodos para realizar operações bancárias, como depósitos, saques e consultas de saldo. Além disso, aprenderemos a definir atributos para armazenar informações relevantes. 3. Interatividade: Vamos tornar nossa aplicação interativa, permitindo que os usuários forneçam informações, façam escolhas e vejam os resultados de suas ações. 4. Tratamento de Erros: Aprenderemos a tratar erros, como a tentativa de saque de um valor superior ao saldo disponível. 5. Experiência Prática em Java: Ganharemos experiência prática em programação Java, incluindo entrada e saída de dados do usuário. Este projeto é uma oportunidade emocionante para aplicarmos nossos conhecimentos de programação orientada a objetos em um cenário do mundo real. Ao final, teremos uma aplicação completa de gerenciamento bancário que demonstra nossa capacidade de criar programas Java funcionais e sólidos. Vamos mergulhar fundo neste projeto e expandir nossas habilidades em programação Java. Vamos começar a explorar e construir nossa aplicação de gerenciamento bancário! Instalação do ambiente de desenvolvimento Figura1: Instalação do Java e do NetBeans – Fonte Autor do projeto Neste primeiro momento fizemos as instalações dos programas necessários para elaboração da aula prática. Criando o projeto gerenciaBanco Figura2: Nome do projeto – Fonte Autor do projeto Nessa tela foi iniciado um novo projeto com o nome gerenciaBanco. Figura3: Ambiente pronto para o projeto – Fonte Autor do projeto Ambiente pronto para desenvolvimento da aula prática. Criação do código gerenciaBanco O código que vamos criar é uma aplicação simples de gerenciamento bancário em Java. Ele consiste em três classes: Cliente, ContaBancaria, e a classe principal GerenciaBanco. Figura4: Classe Cliente – Fonte Autor do Projeto Esta classe representa os dados pessoais do cliente, incluindo nome, sobrenome e CPF. Ela possui um construtor que permite criar um objeto Cliente com esses dados. Além disso, possui métodos get para acessar os atributos do cliente. Figura5: Classe ContaBancaria – Fonte Autor do projeto A classe ContaBancaria representa uma conta bancária com saldo e número de conta. Ela também possui um construtor que permite criar uma conta com um número de conta específico e saldo inicial zero. Métodos deposito e saque permitem adicionar ou retirar dinheiro da conta, respeitando o saldo disponível. O método consultarSaldo retorna o saldo atual da conta. Figura5: Classe principal GerenciaBanco – Fonte Autor do projeto A classe principal GerenciaBanco contém o método main, que é o ponto de entrada da aplicação. Ela cria um objeto Cliente com base nas informações fornecidas pelo usuário e uma conta bancária fictícia com um número de conta fictício. Em seguida, exibe um menu de opções para o usuário, onde ele pode consultar o saldo, realizar depósitos, realizar saques ou encerrar a aplicação. Um loop do...while é usado para permitir que o usuário faça várias operações até escolher encerrar. Código Fonte Completo Dessa maneira o código fonte ficou da seguinte forma: package com.mycompany.gerenciabanco; import java.util.Scanner; // Classe para dados pessoais do cliente class Cliente { private String nome; private String sobrenome; private String CPF; // Construtor public Cliente(String nome, String sobrenome, String CPF) { this.nome = nome; this.sobrenome = sobrenome; this.CPF = CPF; } // Getters e Setters public String getNome() { return nome; } public String getSobrenome() { return sobrenome; } public String getCPF() { return CPF; } } // Classe para conta bancária class ContaBancaria { private double saldo; private int numeroConta; // Construtor public ContaBancaria(int numeroConta) { this.numeroConta = numeroConta; this.saldo = 0.0; } // Métodos para operações bancárias public void deposito(double valor) { saldo += valor; } // public void saque(double valor) { if (valor <= saldo) { saldo -= valor; } else { System.out.println("Saldo insuficiente para saque."); } } public double consultarSaldo() { return saldo; } } // Classe principal para a aplicação public class GerenciaBanco { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Bem-vindo ao Gerenciador Bancário!"); System.out.print("Informe seu nome: "); String nome = input.nextLine(); System.out.print("Informe seu sobrenome: "); String sobrenome = input.nextLine(); System.out.print("Informe seu CPF: "); String CPF = input.nextLine(); Cliente cliente = new Cliente(nome, sobrenome, CPF); ContaBancaria conta = new ContaBancaria(12345); // Número da conta fictícioint escolha; do { System.out.println("\nEscolha uma opção:"); System.out.println("1. Consultar Saldo"); System.out.println("2. Realizar Depósito"); System.out.println("3. Realizar Saque"); System.out.println("4. Encerrar"); System.out.print("Opção: "); escolha = input.nextInt(); switch (escolha) { case 1: System.out.println("Saldo atual: R$" + conta.consultarSaldo()); break; case 2: System.out.print("Informe o valor do depósito: R$"); double valorDeposito = input.nextDouble(); conta.deposito(valorDeposito); System.out.println("Depósito realizado com sucesso!"); break; case 3: System.out.print("Informe o valor do saque: R$"); double valorSaque = input.nextDouble(); conta.saque(valorSaque); break; case 4: System.out.println("Encerrando a aplicação."); break; default: System.out.println("Opção inválida. Tente novamente."); } } while (escolha != 4); input.close(); } } Testando a aplicação pronta Figura6: Informar nome, sobrenome e CPF – Fonte Autor do projeto. Nessa primeira tela o usuário deve informar seu nome, depois o sobrenome e por ultimo o CPF, dessa maneira o programa entrará na aplicação gerenciaBanco. Figura7: Principais funcionalidades do programa – Fonte Autor do projeto Nesta tela testamos executamos e testamos todos os recursos do programa, sendo executado com sucesso sem apresentar nenhum erro. Assim finalizamos nossa experiência de aula prática com sucesso. Conclusão Chegamos ao fim deste projeto empolgante de Gerenciamento Bancário em Java, e gostaria de compartilhar algumas reflexões e conquistas que obtivemos ao longo dessa jornada. Primeiramente, mergulhamos profundamente no universo da programação orientada a objetos. Exploramos conceitos essenciais, como classes, objetos, encapsulamento, herança e polimorfismo, e aplicamos esses princípios na construção de nosso sistema de gerenciamento bancário. Durante o desenvolvimento do projeto, conseguimos: 1. Criar Classes e Objetos: Aprendemos a criar classes que representam entidades do mundo real, como clientes e contas bancárias. Essas classes nos permitiram modelar o sistema de forma organizada e eficiente. 2. Implementar Métodos e Atributos: Definimos métodos que possibilitaram aos clientes realizar operações bancárias, como depósitos e saques. Também utilizamos atributos para armazenar informações importantes. 3. Interagir com os Usuários: Tornamos nossa aplicação interativa, permitindo que os usuários fornecessem informações, tomassem decisões e visualizassem os resultados de suas ações por meio de um menu simples. 4. Garantir a Integridade dos Dados: Implementamos verificações para garantir que as operações bancárias fossem realizadas de forma segura, evitando, por exemplo, saques que excedessem o saldo disponível. 5. Desenvolver Experiência em Java: Ganhamos experiência prática em programação Java, incluindo entrada e saída de dados do usuário, construção de menus e tratamento de erros. Este projeto serviu como uma base sólida para o desenvolvimento de nossas habilidades de programação e para a compreensão dos princípios da orientação a objetos em Java. É importante ressaltar que, à medida que avançamos em nossa jornada como programadores, a aplicação prática desses conceitos continuará sendo crucial. À medida que concluímos este projeto, temos em mãos uma aplicação de gerenciamento bancário totalmente funcional e uma compreensão mais profunda de como criar programas Java robustos. Referências SANCHES, R. Como Instalar o Java JDK e NetBeans IDE : Windows. Disponível em: <https://www.webmundi.com/desenvolvimento-de- sistemas/java/como-instalar-o-java-jdk-e-netbeans-ide-windows/>. Acesso em: 9 set. 2023. Download the Latest Java LTS Free. Disponível em: <https://www.oracle.com/java/technologies/downloads/>. Apache NetBeans Releases. Disponível em: <https://netbeans.apache.org/download/index.html>.