Desenvolvimento de Aplicativos com Banco de Dados
Informações Gerais
Horário: 15h50min - 17h50min (Quartas); 13h30min - 15h30min (Sextas)
Lista de discussão: groups.google.com/d/forum/prof-janderson_informatica-tarde_2014-1
Clique em Inscrever-se para associação, selecione a opção Receber um e-mail para cada nova mensagem e depois clique em Solicitar para participar deste grupo.
E-mail da lista: prof-janderson_informatica-tarde_2014-1@googlegroups.com
Controle de Atividades: link
Plano de Aulas e Avisos Importantes
22/07/2014 – Aulas 1 e 2: Apresentação da Base; Introdução a Java
Material de Acompanhamento: Arquivo PPT deste link (o PDF tem uma boa introdução, mas muitos aspectos a serem tratados posteriormente)
23/07/2014 – Aulas 3 e 4: Introdução a Java (continuação)
Material de Acompanhamento: Introdução a Java
Avisos:
Leiam os capítulos 2 e 3 da Apostila Caelum para fixar o conteúdo.
EXERCÍCIOS:
Após a instalação do JDK, além de executar seu primeiro programa (imprimir seu nome na tela) usando o Eclipse, executem no prompt de comando do Windows (configurem as variáveis de ambiente!).
Exercício para enviar por e-mail ANTES da próxima aula:
Utilizando comandos condicionais (if/else) e de repetição (for ou while), imprima na tela os números pares entre 1 e 50.
OBS.: Enviem para janderson.jason@gmail.com (compactem a pasta do projeto criado e anexem no email).
29/07/2014 – Aulas 5 e 6: Sintaxe e Entrada/Saída de Dados em Java
Material de Acompanhamento: Entrada e Saída de Dados; Sintaxe Java - arquivo1 e arquivo2
Avisos:
Sugestão: Leiam o material Introdução a Java através de exemplos (até a Tabela de Precedências), praticando no Eclipse os programas de exemplo da parte "Nosso Segundo programa".
EXERCÍCIOS:
Descrição aqui.
Utilizem comentários nos seus arquivos para se identificar e identificar as questões.
Compactem a pasta do projeto e anexem no email a ser enviado.
Envie o arquivo compactado para janderson.jason@gmail.com com o assunto [DABD] Atividade 1.
30/07/2014 – Aulas 7 e 8: Sintaxe e Entrada/Saída de Dados em Java (continuação)
Avisos:
O material de acompanhamento é o mesmo da aula anterior (Aula 03)
Os exercícios descritos na aula anterior devem ser enviados até 5 de agosto.
05/08/2014 – [Sem aula]: Dia da Fundação do Estado da Paraíba
06/08/2014 – Aulas 9 e 10: Resolução de Exercícios sobre Sintaxe e Entrada/Saída de Dados em Java
Exercícios descritos aqui.
12/07/2014 – Aulas 11 e 12: Resolução de Exercícios sobre Sintaxe e Entrada/Saída de Dados em Java (continuação)
Exercícios descritos aqui.
Explanação: Conversão entre tipos; Uso de Math; Comparação de Strings.
13/07/2014 – Aulas 13 e 14: Resolução de Exercícios sobre Sintaxe e Entrada/Saída de Dados em Java (continuação); Introdução à Orientação a Objetos (OO)
Material de acompanhamento: Slides (Parte1 e Parte2) e Capítulo 4 da Apostila Caelum (pág. 39 do PDF)
Avisos:
Exercícios descritos aqui.
Exercícios OO em grupo (grupos do Projeto Integrador):
Leitura e Resumo do Capítulo 4 da Apostila Caelum (Orientação a objetos básica): enviar em arquivo do Word com fonte Arial 10 e Espaçamento simples. Apenas em 1 (uma) página, explicando com suas próprias palavras!
Questões 1 e 2 da Seção 4.12 (Exercícios: Orientação a Objetos) da Apostila Caelum: a modelagem (questão 1) deve ser enviada em arquivo de texto ou de imagem; as classes (questão 2) devem estar em um pacote e deve-se enviar o pacote ou projeto compactado.
Prazo: 19/08 (terça-feira) no início da aula. Um integrante do grupo deve colocar os arquivos na thread criada pelo professor (com o assunto [DABD] Atividade 2), indicando no corpo do e-mail os nomes dos integrantes que participaram da realização da atividade.
19/08/2014 – Aulas 15 e 16: Introdução à Orientação a Objetos (continuação)
Avisos:
O material de acompanhamento (slides e capítulo) é o mesmo da aula anterior.
Exercícios OO em grupo (grupos do Projeto Integrador):
Inicialmente, enviem a atividade anterior por e-mail (thread [DABD] Atividade 2).
Continuação das questões da Seção 4.12 (Exercícios: Orientação a Objetos) da Apostila Caelum: questões 3 a 8.
Exercícios 1, 2 e 3 da Seção 4.14 (Fixando o conhecimento) da Apostila Caelum.
Ao fim da aula, enviem os arquivos para a mesma thread ([DABD] Atividade 2).
20/08/2014 – Aulas 17 e 18: Exercícios sobre Orientação a Objetos
Avisos:
O material de acompanhamento (slides e capítulo) é o mesmo da aula anterior.
Finalização dos exercícios anteriores (enviem os arquivos para a thread [DABD] Atividade 2).
Definição dos miniprojetos e Modelagem Inicial.
Minimundos e Temas:
G1: Agência de Detetives
Dênis Bruno Dionísio Santos
Emanuela Farias Soares
Felipe Barbosa Sales dos Santos
José Jackson Lira Silva
G2: Controle Escolar para Responsáveis
Glacy Jane de Negreiros Fernandes
Maylana Nascimento Silva
Otony Silva Rodrigues
Simone Marinho da Silva Souza
Valdilene Neves do Nascimento
G3: Delegacia
Ana Paula Alves de Arruda Câmara
Ignacio de Araújo Cunha
Kleber Suel Chagas de Andrade
Marcos de Sousa Araujo
Mateus de Sousa Araujo
G4: Hospital
Alex Sousa Alves
Diego da Silva Barbosa
Jefferson Cavalcante Dantas
José Henrique Ribeiro de Queiroz
Mateus Almeida Melo
Maxuel Sergio dos Santos Lima
G5: Quiz
Germano Ramalho Xavier
José de Arimatéia Santos Junior
Rodrigo Felipe Agostinho
Rogério da Costa Lima
Thiago Matheus Araújo Dias
Tiago Ferreira Dídimo
G6: Sistema Informativo sobre Tráfico Humano
André Henrique Nascimento Tavares
Daniel Clementino da Silva
Lucas Gustavo Nunes da Costa
Matheus Henrique dos Santos Feitosa
Robson Kleber B. de Lemos
Wellington Silva Lima
Exercícios:
Leitura e Resumo do Capítulo 6 da Apostila Caelum (Modificadores de acesso e atributos de classe): enviar em arquivo do Word com fonte Arial 10 e Espaçamento simples. Apenas em 1 (uma) página, explicando com suas próprias palavras!
Miniprojeto: A partir da modelagem inicial (com pelo menos 3 classes), implemente em Java as classes (criando atributos e métodos).
Neste momento, nem todos os métodos precisam ser implementados, mas devem existir os que foram pensados na modelagem.
Prazo: 26/08 (terça-feira) no início da aula. Um integrante do grupo deve colocar os arquivos na thread criada pelo professor (com o assunto [DABD] Atividade 3), indicando no corpo do e-mail os nomes dos integrantes que participaram da realização da atividade.
26/08/2014 – Aulas 19 e 20: Construtores, Visibilidade de Métodos e Atributos; Definição de Seminários
Material de acompanhamento: Slides e Capítulo 6 da Apostila Caelum (pág. 67 do PDF)
Inicialmente, enviem a atividade anterior por e-mail (thread [DABD] Atividade 3).
Definição de Seminários:
Arrays [G1]
Material de apoio: Capítulo 5 da Apostila Caelum (7 páginas); Slides: arrays
Data da apresentação: 17/09/2014 19/09/2014
Interfaces [G6]
Material de apoio: Capítulo 10 da Apostila Caelum (13 páginas); Sobre Interface em Java.
Data da apresentação: 17/09/2014 24/09/2014
Exceções [G4]
Material de apoio: Capítulo 11 da Apostila Caelum (18 páginas); Slides: exceções.
Data da apresentação: 24/09/2014
Pacote java.lang (especialmente Strings) [G3]
Material de apoio: 14 da Apostila Caelum (12 páginas); Slides: strings.
Data da apresentação: 19/09/2014
Pacote java.io [G2]
Material de apoio: 15 da Apostila Caelum (10 páginas); Arquivos; Slides: entrada/saída.
Data da apresentação: 26/09/2014
Collections [G5]
Material de apoio: Capítulo 16 da Apostila Caelum (20 páginas); Slides: collections.
Data da apresentação: 26/09/2014
ATENÇÃO! Duração de 1 hora (aproveitem o tempo para a realização dos exercícios dos capítulos como exemplo). Os exemplos a serem apresentados nos seminários devem ser, sempre que possível, envolvendo os temas do miniprojeto. Usem sua criatividade!
27/08/2014 – Aulas 21 e 22: Construtores, Visibilidade de Métodos e Atributos (continuação e exercícios)
Avisos:
O material de acompanhamento (slides e capítulo) é o mesmo da aula anterior.
Exercícios:
GRUPO: Use na implementação das classes os conceitos do Capítulo 6 da Apostila Caelum (Modificadores de acesso e atributos de classe). OBS.: Nenhum grupo fez!
INDIVIDUAL: Leitura e Resumo do Capítulo 7 da Apostila Caelum (Orientação a Objetos – herança, reescrita e polimorfismo): enviar em arquivo do Word com fonte Arial 10 e Espaçamento simples. Não há limite de páginas, mas explique com suas próprias palavras!
Prazo: 02/09 (terça-feira) no início da aula. Um integrante do grupo deve colocar os arquivos na thread criada pelo professor (com o assunto [DABD] Atividade 4), indicando no corpo do e-mail os nomes dos integrantes que participaram da realização da atividade.
02/09/2014 – Aulas 23 e 24: Orientação a Objetos Básica - Herança e Polimorfismo
Material de Acompanhamento: Slides (aqui) e Capítulo 7 da Apostila Caelum (pág. 81 do PDF).
Avisos:
Enviem a atividade anterior por e-mail (thread [DABD] Atividade 4).
Quem tiver dúvidas em relação aos seminários (especialmente os que apresentarão próxima semana), deve comentar na aula de amanhã!
03/09/2014 – Aulas 25 e 26: Apresentação sobre miniprojeto; Orientação a Objetos Básica (exercícios)
Apresentação de alguns miniprojetos elaborados pela turma anterior (Joel e Ricardo - Turma PRONATEC 2014).
Início do exercício avaliativo em grupo (Grupo 1, atividades 1 e 2).
09/09/2014 – Aulas 27 e 28: Orientação a Objetos Básica (continuação de exercícios)
Continuação do exercício avaliativo em grupo.
O material de acompanhamento (slides e capítulo) é o mesmo das aulas 23 e 24.
Aviso:
Lembrem dos seminários que se iniciam próxima aula!
10/09/2014 – Aulas 29 e 30: Orientação a Objetos Básica (continuação de exercícios)
Continuação do exercício avaliativo em grupo.
O material de acompanhamento (slides e capítulo) é o mesmo das aulas 23 e 24.
17/09/2014 – Aulas 31 e 32: Orientação a Objetos Básica (finalização de exercícios); Conceitos gerais sobre Classe Abstrata; Instruções para Seminários
Material sobre Classe Abstrata: Capítulo 9 da Apostila Caelum
Exercícios Individuais:
Pesquisa sobre Herança versus Composição (1 ou 2 páginas).
Resolver 2 (dois) problemas de sua escolha (que não tenham sido do seu grupo) do Exercício sobre Herança (slides): Criar classes, com atributos, métodos (incluindo getters e setters) e construtores. Lembre-se de criar uma classe com main para testar as funcionalidades das classes.
O Problema Extra está solucionado no arquivo compactado para exemplificar as soluções a serem enviadas.
A solução dos outros problemas servirá como bônus! Aproveitem a oportunidade e enviem todos!
Prazo: No início da aula do dia 24/09, colocar arquivos na thread criada pelo professor, com o assunto [DABD] Atividade 5.
18/09/2014 – Aulas 33 e 34: Revisão: Exemplo de modelagem de classes (contemplando os conceitos vistos)
Avisos:
Atentar para os prazos dos exercícios!
19/09/2014 – Aulas 35 e 36: Seminários: Arrays; Pacote java.lang (String etc.)
24/09/2014 – Aulas 37 e 38: Seminários: Interfaces
G6 (André, Daniel, Lucas, Matheus Henrique, Robson, Wellington) - interfaces.
Material de apoio: Capítulo 10 da Apostila Caelum; Sobre Interface em Java.
26/09/2014 – Aulas 39 e 40: Seminários: Exceções; Pacote java.io
G4 (Alex, Diego, Jefferson, Mateus Melo, Maxuel) - exceções.
Material de apoio: Capítulo 11 da Apostila Caelum; Slides: exceções.
G2 (Glacy, Maylana, Otony, Simone, Valdilene) - java.io.
Material de apoio: Capítulo 15 da Apostila Caelum; Arquivos; Slides: entrada/saída.
OBS.: Os alunos que não apresentaram farão uma atividade como reposição!
01/10/2014 – Aulas 41 e 42: Seminário: Collections
G5 (Germano, José de Arimatéia, Rodrigo, Rogério, Thiago Matheus, Tiago Ferreira) - collections.
Material de apoio: Capítulo 16 da Apostila Caelum; Slides: collections.
03/10/2014 – Aulas 41 e 42: Seminário: Collections (continuação); Acompanhamento do Miniprojeto
Exercícios:
Individualmente ou em dupla, deve-se realizar um exercício contendo um programa que use as ideias vistas em todos os seminários! Os exercícios são livres e plágios serão totalmente desconsiderados. Deve-se usar comentários nos códigos para indicar uso dos conteúdos abordados (arrays; strings; interfaces; exceções; java.io; collections).
Prazo: Na aula do dia 08/10, colocar projeto compactado na thread criada pelo professor, com o assunto [DABD] Atividade 6.
Atualizar as classes dos miniprojetos a partir dos conceitos de OO vistos até então!
Arrays; Modificadores de acesso e atributos de classe; Herança, reescrita e polimorfismo; Interfaces; Exceções; Uso do pacote java.lang; Uso do pacote java.io; Collections; ...
IMPORTANTE! O projeto com as classes atualizadas deve ser compactado e enviado, até o fim da próxima aula, para a thread criada pelo professor com o assunto [DABD] Atividade 7.
07/10/2014 – Aulas 43 e 44: Avaliação e Revisão dos Conceitos dos Seminários
Sugestões e apresentação de gráficos sobre a avaliação da turma em relação aos seminários.
A turma deve usar parte da aula para dúvidas com relação à Atividade 6.
Avisos:
Atenção! Otony, Maylana e Valdilene: Reposição - Exercícios 1 ao 7 do capítulo sobre o pacote java.io da Apostila Caelum (cap. 15).
Prazo: Até dia 15/10. Enviar individualmente por e-mail o projeto completo compactado.
08/10/2014 – Aulas 45 e 46: Revisão de Conceitos de OO por meio do Acompanhamento do Miniprojeto
Cada grupo de miniprojeto terá aproximadamente 10 minutos para apresentar sua modelagem ao restante da turma.
Avisos:
Enviar os exercícios iniciados na última aula para as threads correspondentes:
Exercícios sobre Seminários ~> [DABD] Atividade 6
Classes atualizadas do Miniprojeto ~> [DABD] Atividade 7
10/10/2014 – Aulas 47 e 48: Revisão de Conceitos de Banco de Dados
Esta aula consiste em uma revisão da base "Banco de Dados Relacional" por meio do exercício avaliativo aplicado nessa base.
Slides: Introdução; Modelo Conceitual; Modelo Lógico.
15/10/2014 – [Sem aula]: Feriado do Dia dos Professores
17/10/2014 – [Sem aula]: Palestra - Programação da Semana Nacional de Ciência e Tecnologia
22/10/2014 – Aulas 49 e 50: Projeto de BD do miniprojeto; Introdução ao MySQL
Material de Apoio: Introdução ao MySql (material do Bruno de Brito Leite); LINGUAGEM SQL: Conceitos básicos; Básico de SQL na Prática: DDM e DDL; Linguagem SQL (material do Prof. Jorge Soares); SQL e Modelo Relacional (Apostila K19).
Avisos:
Leitura recomendada deste livro: HEUSER, C. A. Projeto de Banco de Dados. 4. ed. Porto Alegre : Sagra Luzzatto, 2001.
Cada grupo deve finalizar e enviar a modelagem de seu projeto: Esquema Entidade–Relacionamento.
24/10/2014 – Aulas 51 e 52: Conceitos de Banco de Dados (SQL) utilizando o MySQL Workbench
O material de apoio é o mesmo das aulas 49 e 50, além deste exemplo.
Prática MySQL:
Considere as tabelas Departamento e Empregado do slide 13 deste arquivo.
Utilizar o MySQL Workbench para implementar o esquema Departamento-Empregado, inserindo os dados do slide 13.
OBS.: Para facilitar, considere CodDep como um valor inteiro (2, 1 e 5 em vez de "D2", "D1" e "D5").
Após a criação do BD com base no slide 13, realize as consultas do slide 20.
Respostas: esquema para criação das tabelas e inserções/consultas.
29/10/2014 – Aulas 53 e 54: Conceitos de Banco de Dados (SQL) utilizando o MySQL Workbench (continuação); Introdução a JDBC
O material de acompanhamento, incluindo a Prática MySQL, é o mesmo das aulas 51 e 52 além destes Slides JDBC.
Avisos:
Pratiquem os conceitos da Prática MySQL criando as tabelas de seu miniprojeto. Enviar no fim da aula!
Vídeo-aula de instalação do Mysql no Windows: aqui.
Sugiro que façam o download do mysql-installer-community-5.6.21.1.msi (286 MB). Link: aqui.
Caso seja mostrado um aviso que sua máquina não tem o .NET Framework, é necessário instalar.
31/10/2014 – Aulas 55 e 56: MySQL Workbench (continuação); JDBC
Material de Acompanhamento: Tutorial JDBC, além do material de acompanhamento das aulas 51 a 54.
Pacote para testes utilizado em sala de aula: aqui (mas reforço a importância de seguir os passos do Material de Acompanhamento!)
Avisos e Exercícios:
Testar conexão com JDBC e utilizar os conceitos de Banco de Dados no Miniprojeto
ATIVIDADE 8: Criar tabelas e fazer conexão de seu miniprojeto para inserir/atualizar as informações nas tabelas.
Estudar como criar Interface Gráfica com Swing utilizando o plugin WindowBuilder
ATIVIDADE 9: Utilizando o exemplo das vídeo-aulas, os grupos devem idealmente adaptar o exemplo para algo do seu miniprojeto; caso tenham dificuldade (ou queiram fazer como bônus!), devem alterar o exemplo para, em vez de somar dois números, executar as seguintes operações:
G1 (Agência de Detetives): Cálculo da ACELERAÇÃO MÉDIA (um valor digitado representando a variação da velocidade e o outro o intervalo de tempo, devendo ser calculado a aceleração ao pressionar o botão).
G2 (Controle Escolar para Responsáveis): Cálculo da ÁREA DE RETÂNGULO (um valor digitado representando um lado do retângulo e o outro valor o outro lado, devendo ser calculada a área ao pressionar o botão).
G3 (Delegacia): Cálculo da DENSIDADE (um valor digitado representando a massa e o outro o volume, devendo ser calculado a densidade ao pressionar o botão).
G4 (Hospital): Cálculo da SEGUNDA LEI DE NEWTON (um valor digitado representando a massa e o outro a aceleração escalar, devendo ser calculada a força escalar resultante).
G5 (Quiz): Cálculo da VELOCIDADE MÉDIA (um valor digitado representando a distância percorrida e o outro o intervalo de tempo, devendo ser calculada a velocidade ao pressionar o botão).
G6 (Sistema Informativo sobre Tráfico Humano): Cálculo do IMC (um valor digitado representando o peso e o outro a altura, devendo ser calculado o IMC ao pressionar o botão).
Vídeo-aulas:
Criando uma interface gráfica com o WindowBuilder (1/3): a classe Somador
Criando uma interface gráfica com o WindowBuilder (2/3): componentes visuais
Criando uma interface gráfica com o WindowBuilder (3/3): usando actions
PRAZO: Enviar até a aula do dia 19/11 nas respectivas threads: [DABD] Atividade 8 e [DABD] Atividade 9.
05/11/2014 – [Sem aula]: Participação do Professor no Congresso Brasileiro de Informática na Educação
07/11/2014 – Aulas 57 e 58: Geração de Executável; Revisão geral e dúvidas de Programação e BD
Nesta aula, também foi apresentado o Projeto Integrador desenvolvido por uma equipe da turma anterior (PRONATEC 2014.1).
Avisos:
12/11/2014 – Aulas 59 e 60: JDBC (continuação)
O material de acompanhamento é o mesmo das aulas 55 e 56.
Avisos:
TRABALHO DE CONCLUSÃO DA BASE:
Entrega: Enviar PDF via e-mail para a thread [DABD] Trabalho de Conclusão, a ser criada pelo professor. Prazo: Até 26/11.
Estrutura: Capa, Contra Capa, Sumário, Introdução, Desenvolvimento, Considerações Finais, Referências e, opcionalmente, Anexos e Apêndices.
OBS.: Seguir as normas gerais de formatação da ABNT: Fonte, Espaçamento, Numeração, Referências etc.
Conteúdo: Apresentar os aspectos teóricos para se desenvolver aplicativos com banco de dados (conceitos e tecnologias envolvidas).
Explicar desde a escolha de uma Linguagem de Programação (há vários paradigmas e Orientação a Objetos é um deles, sendo Java um exemplo), até características mais detalhadas de Java e Orientação a Objetos.
Abordar como se faz um Projeto de Banco de Dados, ressaltando a importância de usar um SGBD (há vários, sendo MySQL um exemplo).
Não esquecer de comentar a importância da Interface Gráfica no desenvolvimento (abordar Swing em Java).
Usem exemplos!!! É fortemente recomendado o uso de códigos e imagens ilustrativas de seu miniprojeto.
Observações Importantes:
Um trabalho, para contemplar bem o que foi solicitado, terá aproximadamente 15 páginas. Explorem os conceitos vistos durante a base utilizando seu entendimento (suas palavras!).
Os trabalhos que apresentarem simplesmente Ctrl+C / Ctrl+V receberão conceito INSUFICIENTE.
14/11/2014 – Aulas 61 e 62: Interface Gráfica
Material de Acompanhamento: Interface Gráfica (baseado neste material), Componentes, Uso de Componentes (em inglês).
19/11/2014 – Aulas 63 e 64: Interface Gráfica (continuação)
O material de acompanhamento é o mesmo das aulas 61 e 62.
Avisos:
Atividade adicional individual sobre Interface Gráfica (envio por e-mail até 21/11): Exercícios do slide 20 (Formulário de Cadastro de Funcionário). Envio por e-mail: [DABD] Atividade 9.
20/11/2014 – Aulas 65 e 66: Acompanhamento do Miniprojeto (lógica, banco de dados e interface gráfica)
Revisão dos conceitos da base por meio de análise/correção dos exercícios do miniprojeto.
21/11/2014 – Aulas 67 e 68: Acompanhamento do Miniprojeto (lógica, banco de dados e interface gráfica)
Revisão dos conceitos da base por meio de análise/correção dos exercícios do miniprojeto.
26/11/2014 – Aulas 69 e 70: Finalização do Miniprojeto (lógica, banco de dados e interface gráfica)
Revisão dos conceitos da base por meio de análise/correção dos exercícios do miniprojeto.
Entrega do Trabalho Final!!!
28/11/2014 – Aulas 71 e 72: Apresentação dos Miniprojetos
Cada grupo tem 10 minutos para apresentar o que desenvolveu do seu minimundo utilizando Java/MySQL.
OUTRAS DATAS IMPORTANTES:
01/12 a 12/12: Período de desenvolvimento do Projeto Integrador.