Prévia do material em texto
UNIVERSIDADE PITÁGORAS UNOPAR ANHANGUERA
CURSO SUPERIOR DE TECNOLOGIA
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
ANÁLISE ORIENTADA À OBJETOS
PORTFÓLIO
RELATÓRIO DE ATIVIDADE PRÁTICA
LINGUAGEM ORIENTADA À OBJETOS
Byanca Cristina Calixto de Souza
João Pessoa
2024
PORTFÓLIO - RELATÓRIO DE ATIVIDADE PRÁTICA
LINGUAGEM ORIENTADA À OBJETOS
Trabalho de portfólio apresentado como requisito
parcial para obtenção de pontos para a média
semestral.
Orientadora: Luana Gomes de Souza
João Pessoa
2024
Sumário
1. Introdução ……………………………………………… 4
2. Desenvolvimento ………………………………………. 4
2.1Metodologia.………………………………………….….4
2.2Resultados………………………………………………..5
3. Conclusão………………………………………………..10
1. Introdução
No âmbito do curso de programação orientada a objetos, foi proposta a criação de uma
aplicação Java para gerenciamento bancário, com o objetivo de consolidar os conceitos
aprendidos em aula e desenvolver habilidades práticas na linguagem Java.
Esta atividade visa a construção de um único arquivo Java Main Class, que abrigará a
classe principal, a classe para dados pessoais e operações bancárias, além de um método para
exibição do menu.A estrutura de decisão utilizada para a atividade foi o switch..case o qual é
é fundamental para o tratamento das escolhas do usuário.
Este relatório apresentará os passos seguidos no desenvolvimento da aplicação, desde
a configuração do ambiente de desenvolvimento até a implementação das funcionalidades
requeridas.
2. Desenvolvimento
Para atender aos requisitos da atividade, inicialmente foi configurado o ambiente de
desenvolvimento utilizando o NetBeans, garantindo que tanto o NetBeans quanto o JDK
estivessem devidamente instalados e funcionando corretamente. Em seguida, foi criado um
projeto do tipo Java Application em Java com Maven. Com o ambiente configurado, foi
iniciada a escrita do código em Java, seguindo os princípios da programação orientada a
objetos. O arquivo Java Main Class foi estruturado de forma a conter a classe principal, a
classe para dados pessoais e operações bancárias, bem como o método para exibição do menu.
2.1 Metodologia
A metodologia adotada para o desenvolvimento da aplicação seguiu um processo
iterativo e incremental. Inicialmente, foram identificadas as classes necessárias para o
sistema, como a classe principal e a classe para dados pessoais e operações bancárias. Em
seguida, foi realizada a implementação do código, seguindo as melhores práticas de
programação e utilizando as funcionalidades oferecidas pelo Java e pelo NetBeans.
2.2 Resultados
Os resultados obtidos durante a aula prática foram satisfatórios. Conseguimos criar,
configurar e implementar o projeto Java Application conforme especificado. A aplicação
desenvolvida permite o gerenciamento básico de uma conta bancária, incluindo operações
como consulta de saldo, depósito e retirada. Além disso, a implementação da estrutura
do...while e switch..case garante um tratamento eficaz das escolhas do usuário,
proporcionando uma experiência de uso intuitiva. Ao interromper a execução do código, uma
mensagem de despedida é exibida, concluindo assim a interação com o sistema.
Abaixo está o código criado para a execução do programa:
package com.mycompany.gerenciabanco;
import java.util.Scanner;
/**
*
* @author Byanca
*/
public class GerenciaBanco {
// Classe para representar os dados pessoais e operações bancárias de um cliente
public static class Cliente {
private String nome;
private String sobrenome;
private String cpf;
private double saldo;
// Construtores
public Cliente (){
}
public Cliente(String nome, String sobrenome, String cpf) {
this.nome = nome;
this.sobrenome = sobrenome;
this.cpf = cpf;
this.saldo = 0.0; // Saldo inicial zero
}
// Getters e Setters
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getSobrenome() {
return sobrenome;
}
public void setSobrenome(String sobrenome) {
this.sobrenome = sobrenome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public double getSaldo() {
return saldo;
}
public void setSaldo(double saldo) {
this.saldo = saldo;
}
// Método para depositar dinheiro na conta
public void depositar(double valor) {
saldo += valor;
System.out.println("Depósito de R$" + valor + " realizado com sucesso.");
}
// Método para sacar dinheiro da conta
public void sacar(double valor) {
if (valor <= saldo) {
saldo -= valor;
System.out.println("Saque de R$" + valor + " realizado com sucesso.");
} else {
System.out.println("Saldo insuficiente para realizar o saque.");
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Solicitar dados do cliente
System.out.println("Informe seu nome:");
String nome = scanner.nextLine();
System.out.println("Informe seu sobrenome:");
String sobrenome = scanner.nextLine();
System.out.println("Informe seu CPF:");
String cpf = scanner.nextLine();
Cliente cliente = new Cliente(nome,sobrenome, cpf );
int opcao;
do {
// Exibir menu
exibirMenu();
// Ler opção do usuário
opcao = scanner.nextInt();
switch (opcao) {
case 1:
// Consultar saldo
System.out.println("Saldo atual: R$" + cliente.getSaldo());
break;
case 2:
// Realizar depósito
System.out.println("Informe o valor do depósito:");
double valorDeposito = scanner.nextDouble();
cliente.depositar(valorDeposito);
break;
case 3:
// Realizar saque
System.out.println("Informe o valor do saque:");
double valorSaque = scanner.nextDouble();
cliente.sacar(valorSaque);
break;
case 4:
// Encerrar aplicação
System.out.println("Encerrando aplicacao...");
break;
default:
System.out.println("Opção inválida. Por favor, escolha uma opção
válida.");
break;
}
} while (opcao != 4);
scanner.close();
}
// Método para exibir o menu de opções
public static void exibirMenu() {
System.out.println("\n--- Menu ---");
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.println("Escolha uma opção:");
}
}
Segue os prints referentes a execução do programa:
3. Conclusão
Durante o desenvolvimento da aplicação Java para gerenciamento bancário, o
estudante enfrentou desafios significativos que proporcionaram uma oportunidade valiosa de
aprendizado. Uma das dificuldades encontradas foi a necessidade de tornar a classe Cliente
estática para que pudesse ser utilizada na execução do método main. Esta exigência destacou
a importância de compreender profundamente os conceitos de escopo e contexto em Java,
bem como a forma como as classes e métodos são acessados e utilizados dentro de um
programa.
Além disso, a experiência prática revelou a importância da organização e da
modularidade do código para facilitar sua compreensão e manutenção. A divisão adequada
das responsabilidades entre as classes Cliente e Banco contribuiu para um código mais limpo
e coeso, permitindo uma implementação mais eficiente das funcionalidades requeridas. Isso
ressalta a relevância dos princípios da programação orientada a objetos na construção de
sistemas robustos e escaláveis.
Por fim, a conclusão bem-sucedida deste projeto reforçou a importância de estar
preparado para enfrentar desafios de forma proativa e independente. A capacidade de resolver
problemas complexos e superar obstáculos técnicos foi fundamental para o sucesso do
desenvolvimento da aplicação. Esta experiência não apenas aprimorou as habilidades técnicas
em programação Java, mas também fortaleceu a capacidade de enfrentar desafios de forma
autônoma em futuros projetos.