Logo IC/UFF Leonardo Gresta Paulino Murta
Associate Professor, IC/UFF
D.Sc., COPPE/UFRJ, 2006
M.Sc., COPPE/UFRJ, 2002
B.Sc., IC/UFRJ, 1999
Picture

Menu:

Programação Orientada a Objetos

Logística

Disciplina: TCC00328 - Programação Orientada a Objetos

Data: segundas e quartas, de 18:00 às 20:00

Sala: 206 ou Lab II (sala 320 do bloco E). Os dias de aula no Lab II estão indicados no cronograma.

Grupo: http://www.facebook.com/groups/poo-2016.1 (todos os alunos devem se inscrever no grupo)

Avaliação

Média = (2 x Prova 1 + 2 x Prova 2 + Trabalho) / 5

Trabalho

O curso terá um trabalho feito em grupos de 3 participantes que consiste em desenvolver um sistema para um supermercado usando as tecnologias estudadas durante o curso. O supermercado tem um gerente e cinco funcionários, que se revezam nas três caixas de pagamento. Cada caixa está equipada com uma balança, viabilizando a venda de produtos por quilo ou por unidade. O sistema deve respeitar os seguintes requisitos:

  1. Fazer o controle do estoque de produtos do supermercado, permitindo que gerentes adicionem produtos ao estoque e que funcionários realizem a vendas de produtos, fazendo baixa do estoque.
  2. Efetuar venda de produtos, registrando em qual caixa e por qual funcionário a venda foi realizada. O sistema deve informar o valor total da venda ao final.
  3. Permitir o pagamento das vendas em dinheiro ou cartão. Caso seja em dinheiro, o sistema deve informar o valor do troco.
  4. Permitir que clientes consultem o preço dos produtos em leitores espalhados pelo supermercado.
  5. Permitir que o gerente emita relatórios de vendas e de estoque. O relatório de vendas deve informar, para cada caixa, os valores das vendas realizadas no dia, assim como o funcionário responsável pela venda. O relatório de estoque deve informar as quantidades disponíveis por produto no início do dia e no final do dia.

Como resultado final espera-se uma demonstração do trabalho em 10 minutos e a entrega do código, juntamente com um arquivo README.txt contendo a listagem do percentual de participação de cada membro do grupo no trabalho. Caso não seja informado o percentual de participação, estará subentendido que todos participaram igualmente. Essas atividades devem ocorrer na data estipulada (ver seção Cronograma).

Obs.: atraso na entrega terá uma multa de um ponto por dia.

Lista de exercícios

A lista de exercícios não precisa ser entregue ao professor. O intuito é servir como apoio para fixar a matéria dada em sala. Não será fornecido gabarito da lista. Enviem as dúvidas específicas para o grupo do Facebook.

Obs.: Caso tenha dificuldade de fazer alguma questão, verifique se não é referente a uma matéria que está para ser apresentada nas próximas aulas.

Ferramentas

No curso utilizaremos a versão mais recente da IDE NetBeans na distribuição Java SE. O NetBeans é gratuito e está disponível para os principais sistemas operacionais (Linux, Mac e Windows).

Bibliografia

Há diversos livros sobre o assunto que podem ser consultados. Há a opção de consultar gratuitamente o tutorial oficial da Oracle. Além disso, a Caelum disponibiliza gratuitamente uma apostila em português sobre orientação a objetos e outra apostila em português que trata de interface gráfica, dentre outros assuntos fora do escopo deste curso. Por fim, o seguinte livro tem uma didática diferenciada: “Use a Cabeça Java””, segunda edição, de Kathy Sierra e Bert Bates.

Cronograma

Data Atividade Entrega
25/04/2016 Aula - Apresentação do Curso
27/04/2016 Aula - Organização de Programas em Java
02/05/2016 Aula - Operadores e Estruturas de Decisão
04/05/2016 Aula - Estruturas de Repetição e String
09/05/2016 Aula - Variáveis Compostas
11/05/2016 Aula - Subprogramação
16/05/2016 Aula - Introdução a Orientação a Objetos
18/05/2016 Aula - Introdução a Orientação a Objetos
23/05/2016 Aula no Lab II - Introdução a Orientação a Objetos
25/05/2016 Prova 1
30/05/2016 Aula - Herança e Polimorfismo
01/06/2016 Aula - Herança e Polimorfismo
06/06/2016 Aula no Lab II - Tratamento de Exceções
08/06/2016 Vista de prova
13/06/2016 Aula no Lab II - Coleções
15/06/2016 Aula - Coleções e Swing
20/06/2016 Aula no Lab II - Swing
22/06/2016 Aula - Swing
27/06/2016 Aula no Lab II - Threads
29/06/2016 Aula no Lab II - Threads
04/07/2016 Sem aula (CSBC)
06/07/2016
11/07/2016 Prova 2
13/07/2016 Apresentação de trabalhos no Lab II - grupos 1 a 8 Código
18/07/2016 Apresentação de trabalhos no Lab II - grupos 9 a 16
20/07/2016 Vista de prova
25/07/2016 Verificação Suplementar e Segunda Chamada
27/07/2016 Vista de prova (sala 528)
01/08/2016 Verificação Suplementar para quem fez Segunda Chamada
03/08/2016 Vista de prova (sala 528)