Buscar

Padrões de Projeto Factory, DAO e Criação de método de Busca de Aluno

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Programação orientada a objetos 3
Padrões de Projeto Factory, DAO e Criação de método de Busca de Aluno
	
Nome: Juliana Tavares Lacerda da Rocha
Matrícula: 1200104960
Turno: EAD
OBJETIVO:
Em um aplicativo com persistência de dados geralmente é preciso aplicar padrões de projeto Factory e DAO para desenvolver funcionalidades de criação, leitura, atualização e remoção de itens do banco de dados. Um dos métodos mais importantes nesse tipo de aplicativo é a busca de registros a partir de um conjunto de parâmetros de consulta. 
Na classe AlunoDAO explanada nesta unidade foram desenvolvidas algumas funcionalidades de listagem de informações, inclusão e remoção de registros, mas ainda não foi implementado um método de busca de um aluno a partir de sua matrícula.
Imagine a seguinte situação: um usuário precisa usar o aplicativo para buscar informações sobre um determinado aluno e as informações estão armazenadas no banco de dados. A interface do aplicativo solicita que o professor entre com o código da matrícula para utilizar como índice de consulta na base de dados e retorna as informações desejadas sobre o aluno. 
No desenvolvimento de sistemas computacionais com acesso a banco dados é recomendável a utilização de padrões de projeto específicos para facilitar a manutenção do código, diminuindo o acoplamento e aumentando a coesão. 
a) Cite as características e vantagens do modelo de projetoFactory.
b) Cite as características e vantagens do modelo de projeto DAO.
c) Crie um método responsável por realizar a busca de um aluno específico no banco de dados usando a matrícula como parâmetro de entrada e retornando as informações sobre o aluno.
d) Implemente o tratamento de exceção no método de busca de aluno. 
e) Implemente um teste de funcionamento do método de busca de aluno. 
Procedimentos para elaboração:
Para elaborar a atividade você deve: 
1º passo: Descrever as características e vantagens dos modelos de projeto Factory. 
2º passo: Descrever as características e vantagens dos modelos de projeto DAO. 
3º passo: Criar um método “buscaAluno” na classe AlunoDAO. O parâmetro de entrada será “idmatricula” e retorna o objeto Aluno encontrado. 
4º passo: Implementar o tratamento de exceção, caso o aluno não seja encontrado. 
5º passo: Criar uma classe de teste para testar o método “buscaAluno”: entrar um número de matrícula pelo teclado e exibir os dados do aluno encontrado.
Resposta:
a) Cite as características e vantagens do modelo de projeto Factory.
O modelo de projeto Factory é uma abordagem de desenvolvimento de software que utiliza fábricas de objetos para criar instâncias de classes. Ele oferece vantagens como encapsulamento da lógica de criação, abstração para o cliente, flexibilidade na adição de novos objetos, reutilização de código, facilidade de manutenção, testabilidade e padronização. O modelo Factory simplifica a criação de objetos em sistemas de software, permitindo um desenvolvimento mais eficiente e organizado.
b) Cite as características e vantagens do modelo de projeto DAO.
O modelo de projeto DAO (Data Access Object) é uma abordagem de desenvolvimento de software que separa a lógica de acesso a dados do restante do código. Ele oferece vantagens como a separação de responsabilidades, abstração do acesso a dados, reutilização de código, manutenção simplificada, testabilidade, segurança e padronização. O modelo DAO permite uma melhor organização, escalabilidade e qualidade do código, tornando o desenvolvimento de aplicações mais eficiente e facilitando a manutenção.
c) Crie um método responsável por realizar a busca de um aluno específico no banco de dados usando a matrícula como parâmetro de entrada e retornando as informações sobre o aluno.
package ava1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class AlunoDAO {
private Connection conexao;
public AlunoDAO() throws SQLException {this.conexao = ConnectionFactory.criaConexao();
}
public Aluno buscaAluno(int idMatricula) throws SQLException{
String sql = "SELECT * FROM alunos WHERE matricula = ?";
PreparedStatement stm = conexao.prepareStatement(sql);
stm.setInt(1,idMatricula);
ResultSet rs = stm.executeQuery();
Aluno aluno = new Aluno();
if (rs.next()){
aluno.setMatricula(rs.getInt("matricula"));
aluno.setNome(rs.getString("nome"));
aluno.setIdaluno(rs.getInt("idaluno"));
}
else{
throw new SQLException("Aluno nao existe."); 
} 
rs.close(); 
stm.close(); 
return aluno; 
} 
}
d) Implemente o tratamento de exceção no método de busca de aluno. 
package ava1;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Scanner;
public class TesteAluno {
public static void main(String[] args)throws SQLException {
System.out.println("Abrindo Conexao!");
Connection conexao = ConnectionFactory.criaConexao();
System.out.println("Conectado");
System.out.printf("Digite aqui sua matricula: ");
Scanner input = new Scanner(System.in);
String stridmatricula = input.nextLine();
int idmatricula = Integer.parseInt(stridmatricula);
AlunoDAO alunodao = new AlunoDAO();
Aluno aluno = (alunodao.buscaAluno(idmatricula));
System.out.printf(" nome:%s\n idmatricula:%d\n
aluno:%d\n",aluno.getNome(),aluno.getMatricula(),aluno.getIdaluno());
conexao.close();
}
}
e) Implemente um teste de funcionamento do método de busca de aluno. 
Telas de teste:

Mais conteúdos dessa disciplina