DAS5308: Programação de Sistemas Automatizados


Programação de Sistemas Automatizados - 2022/I

Terça-feira 13:30     (CTC 106)
Sexta-feira 8:20       (LIICT sala 2)
Sexta-feira 13:30     (LIICT sala 2)


Plano da disciplina

14/06    Programação Orientada a Objetos

17/06    Laboratório Java

21/06    Programação Orientada a Objetos

24/06    Laboratório Java

28/06    Programação Orientada a Objetos

01/07    Laboratório Java

05/07    Programação Orientada a Objetos

08/07    Apresentação Trabalho Java

12/07    Programação Orientada a Objetos

15/07    Laboratório Java

19/07    Programação Orientada a Objetos

22/07    Laboratório Java

26/07    Prova 2

29/07    Apresentação Trabalho Java

02/08    Prova de recuperação se necessário 


Avaliação da segunda metade da disciplina:    ( P2 + T2 ) / 2

Trabalho em grupos de no máximo 2 alunos, apresentação dividida em duas partes.

Provas individuais sem consulta.


Trabalho T2:
Implementar em Java um sistema de informações administrativas que permita ao usuário fazer operações como cadastros e consultas.
Faça um programa em Java que implemente um cadastro de objetos encontrados usualmente em um dos contextos listados abaixo.
Cada grupo de alunos deve escolher um contexto específico e único.
O programa precisa apenas organizar os dados em memória, não precisa atualizar dados em arquivos.
A ênfase do trabalho está no design orientado a objetos. Obrigatório incluir pelo menos uma herança e uma composição.

Cada trabalho deve incluir:  3 cenários de inserções de dados, 2 cenários de consultas, 2 cenários de listagens, 1 cenário ligado à lógica do negócio.

- insere: inclui novos dados    (exemplo: dados do cliente)
- consulta: pesquisa por informação específica    (exemplo: nome do cliente com cpf tal)
- lista: mostra tudo que tem no cadastro sobre algo (exemplo: todos os clientes cadastrados)
- negócio: usa os dados para fazer alguma operação típica do negócio (exemplo: gera uma nota de venda)


Exemplos:
- Pessoas no Colégio (Análisa desempenho dos alunos por professor)
- Pessoas em um curso de dança (emite cobrança mensal conforme aulas feitas)
- Clínica médica (emite uma receita)
- Padaria (emite uma nota de venda)
- Polícia civil (emite alguma estatística)
- Restaurante por quilo (emite uma ordem de compra para repor estoque)
- Lavação de carros (emite cobrança mensal de um cliente)
- Academia de ginástica (emite nota fiscal conforme uso do aluno)
- Posto de gasolina (emite nota de venda ou ordem de reposição de estoque)
- Farmácia (emite nota de venda ou ordem de reposição de estoque)
- Pet shop (emite nota de venda)
- Grãos em empresa graneleira (Maneja ocupação dos vários silos, transfere entre silos)
- Vegetais na feira (emite nota de venda, controla estoque)
- Pessoas no congresso nacional (computa gasto mensal do gabinete)
- Veículos transportadora carga (seleciona veículo para viagem, planeja rota entre filiais)
- Veículos locadora (emite nota mensal para cliente)
- Veículos empresa ônibus (faz alocação dos ônibus às rotas)
- Armamento polícia (planeja reposição, emite ordem de compra)
- Veículos marinha de guerra (planeja manutenção preventiva)
- Empresa transporte aéreo (computa gasto de combustível mensal)
- Sensores e atuadores na automação (seleciona equipamentos possíveis dentro do estoque)
- Produtos mercado da esquina (emite nota de venda ou ordem de reposição de estoque)
- Escola com cursos de línguas (aloca professores e salas às turmas)
- Etc

Deve ser usada a GUI AWT, não pode usar gerador de código nem bibliotecas fora da API Java oficial.
A interface gráfica deve ser construída manualmente.
Deve ser possível fazer operações como inserção, consulta e remoção de dados, além de alguma operação ligada à lógica do negócio.

Parte I: Usar a mesma estrutura dos exemplos, usar classe "Exemplo" como testadora da solução

Parte II: Colocar GUI no lugar do código de teste

 
Exemplos para o laboratório:

Ex01Fluxo
Ex02Array
Ex03Classe
Ex04Sobrecarga
Ex05Heranca
Ex06Construtor
Ex07Sobreposicao
Ex08Polimorfismo
Ex09Interface
Ex10Abstract
Ex11Static
Ex12Hashtable
Ex13Collections
Ex14Excecoes
Ex15Janela
Ex16Gui
Ex17Eventos
Ex18ClasseInterna
Ex19EventosAWT
Ex20Trabalho
Ex21Pacotes
Ex22Trabalho
Ex23ArrayList


uml-1   uml-2    uml-3   uml-4


Exemplos de provas

Java Platform Standard Edition 8 Documentation

Descrição da API Java

The Java Tutorials

Dicas sobre GUI em Java

Notepad++

Dicas para JDK no Windows 10