DAS5308: Programação de Sistemas Automatizados


Programação de Sistemas Automatizados - 2020/II

Terça-feira 13:30     (CTC103)
Sexta-feira 8:20       (LIICT sala 4)
Sexta-feira 13:30     (LIICT sala 3)


Plano da disciplina

30/3    Programação Orientada a Objetos (síncrono)

02/4    Feriado

06/4    Programação Orientada a Objetos (síncrono)               

09/4    Java (síncrono/assíncrono)

13/4    Programação Orientada a Objetos (síncrono)              

16/4    Java (síncrono/assíncrono)

20/4    Programação Orientada a Objetos (síncrono)               

23/4    Apresentação Trabalho Java (síncrono)

27/4    Programação Orientada a Objetos (síncrono)              

30/4    Java (síncrono/assíncrono)

04/5    Programação Orientada a Objetos (síncrono)                

07/5    Java (síncrono/assíncrono)

11/5    Prova 2                                                                      

14/5    Apresentação Trabalho Java (síncrono)

18/5    REC (caso necessário)                                                   

21/5    Reserva

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

Trabalho em grupos de no máximo 2 alunos.

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.

- 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)


Exemplos:
- Pessoas no Colégio
- Pessoas em um curso de dança
- Clínica médica
- Padaria
- Polícia civil
- Emissão de passaporte
- Restaurante por quilo
- Lavação de carros
- Academia de ginástica
- Posto de gasolina
- Farmácia
- Pet shop
- Grãos em empresa graneleira
- Vegetais na feira
- Pessoas no congresso nacional
- Veículos transportadora carga
- Veículos locadora
- Veículos empresa ônibus
- Armamento polícia
- Veículos marinha de guerra
- Empresa transporte aéreo
- Sensores na automação
- Atuadores na automação
- Produtos mercado da esquina
- Escola com cursos de línguas
- 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 algum tipo de cálculo.

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


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