Nesta atividade, você é convidado a realizar uma atividade para verificar como a disciplina em questão pode contribuir na sua experiência e formação profissional. Por este motivo, nesta atividade MAPA, você é instigado a solucionar um problema voltado para sua área de formação.
-----------------------------------------------------------------------------------------------------------------
Uma imobiliária precisa de um sistema para gerenciar as locações de imóveis, uma software house realizou a análise e a implementação inicial do sistema que foi desenvolvido em Java utilizando os paradigmas da orientação à objetos.
O modelo desenhado para solução foi:
Já a implementação do código baseado no modelo foram as seguintes classes:
Principal.java
public class Principal {
public static void main(String[] args) {
Aluguel aluguel = new Aluguel();
//aluguel.locarImovel();
System.out.println(aluguel.validarLocacao(2500, 10000));
}
}
Imovel.java
public class Imovel {
private int id;
private String descricao;
private double metragem;
private double valorAluguel;
public void cadastrarImovel(){
this.id = Integer.parseInt(JOptionPane.showInputDialog("Digite o código do imóvel"));
this.descricao = JOptionPane.showInputDialog("Digite a descrição do imóvel");
this.metragem = Double.parseDouble(JOptionPane.showInputDialog("Digite a metragem do imóvel"));
this.valorAluguel = Double.parseDouble(JOptionPane.showInputDialog("Digite o valor do aluguel do imóvel"));
}
public String imprimirResumoImovel(){
String msg = "Id: " + this.id + "\n" + "Descrição: " + this.descricao + "\n";
msg = "Metragem: " + this.metragem + "\n" + "Valor Aluguel: " + this.valorAluguel;
return msg;
}
public void atualizarValorAnual(double percentualAjuste){
this.valorAluguel = valorAluguel * (percentualAjuste/100);
}
public double getValorAluguel(){
return this.valorAluguel;
}
}
Locatario.java
public class Locatario {
private int id;
private String nome;
private int idade;
private double salario;
public void cadastrarLocatario(){
this.id = Integer.parseInt(JOptionPane.showInputDialog("Digite o código do locatário"));
this.nome = JOptionPane.showInputDialog("Digite o nome do locatário");
this.idade = Integer.parseInt(JOptionPane.showInputDialog("Digite a idade do locatário"));
this.salario = Double.parseDouble(JOptionPane.showInputDialog("Digite o salário do locatário"));
}
public String imprimirResumoLocatario(){
String msg = "Id: " + this.id + "\n";
msg += "Nome: " + this.nome + "\n";
msg += "Idade: " + this.idade + "\n";
msg += "Salário: " + this.salario;
return msg;
}
public double getSalario(){
return this.salario;
}
}
Aluguel.java
public class Aluguel {
private Imovel imovel;
private Locatario locatario;
public void locarImovel(){
this.imovel = new Imovel();
imovel.cadastrarImovel();
this.locatario = new Locatario();
locatario.cadastrarLocatario();
if(validarLocacao(this.imovel.getValorAluguel(), this.locatario.getSalario())){
JOptionPane.showMessageDialog(null, "Locação efetuada!");
}else{
JOptionPane.showMessageDialog(null, "Locação NÃO efetuada!");
}
}
public boolean validarLocacao(double valorAluguel, double salario){
boolean resultado = false;
double valorReferencia = salario * (1 + 0.3);
resultado = valorAluguel <= valorReferencia;
return resultado;
}
}
Você foi designado para tocar em frente este projeto e precisa agora resolver as seguintes pendências.
1 - A classe Aluguel.java possui um método validarLocacão que recebe por parâmetro o valor do aluguel e o salário, precisa validar se o valor do aluguel é igual ou menor a 30% do salário do locatário. Caso seja menor ou igual que 30% do salário do locatário, o método deve retornar VERDADEIRO (true), caso contrário FALSO (false). O código está retornando um valor errado na verificação. Qual ajuste necessário para retornar o valor correto?
2 - Uma nova regra que precisa ser implementada, é deixar cadastrar apenas locatários com 18 anos ou mais. Sabendo isso, responda qual classe deve implementar esse método, e qual método já existente deverá chama este novo método para aplicar a regra?
3 - O método imprimirResumoImovel está apresentando um bug quando chamado: apenas os dados de metragem e valor do aluguel estão sendo retornados. Identifique e descreva o que está ocasionando este erro e qual solução deve ser feita para resolver.
4 - O método atualizarValorAnual está com um bug também: ao executar o ajuste anual, o valor do aluguel está ficando apenas com valor do ajuste, perdendo o valor real do aluguel. Que modificação deve ser realizada para resolver o problema?
ORIENTAÇÕES IMPORTANTES:
- Realize pesquisas complementares sobre os assuntos requisitados para esta atividade.
- Mais importante que o número de linhas é a qualidade da sua resposta, portanto certifique-se de que está atendendo exatamente e por completo ao que está sendo solicitado no comando de cada etapa.
1. Acesse o link com um vídeo tutorial para ajudá-lo nesse processo de criação e desenvolvimento. O acesso deverá ser realizado em: Arquivos >> Material da Disciplina ou no respectivo fórum.
2. Disserte a respeito do tema, seguindo como roteiro os tópicos elencados anteriormente.
3. A entrega deve ser feita exclusivamente por meio do Template de entrega da atividade MAPA, disponível no material da disciplina.
4. Antes de enviar sua atividade, certifique-se de que respondeu a todas as perguntas e realize uma cuidadosa correção ortográfica.
5. Após o envio não são permitidas alterações, ou modificações. Logo, você tem apenas uma chance de enviar o arquivo corretamente. Revise bem antes de enviar!
6. Lembre-se que evidências de cópias de materiais, incluindo de outros acadêmicos, sem devidas referências, serão inquestionavelmente zeradas. As citações e referências, mesmo que do livro da disciplina, devem ser realizadas conforme normas da Instituição de Ensino.
7. Não são permitidas correções parciais no decorrer do módulo, ou seja, o famoso: “professor, veja se minha atividade está certa?”. Isso invalida seu processo avaliativo. Lembre-se que a interpretação da atividade também faz parte da avaliação.
8. Procure sanar suas dúvidas junto à mediação em tempo hábil sobre o conteúdo exigido na atividade, de modo que consiga realizar sua participação.
9. Atenção ao prazo de entrega, evite envio de atividade em cima do prazo. Você pode ter algum problema com internet, computador, software etc., e os prazos não serão flexibilizados, mesmo em caso de comprovação.
Bons estudos!
Em caso de dúvidas, encaminhar mensagem ao seu Professor Mediador.