Child pages
  • Programação
Skip to end of metadata
Go to start of metadata

1.1      Apresentação

Objetivo: Apresentar a disciplina e o Instituto Tecgraf - suas áreas de atuação, projetos e produtos desenvolvidos.

1.2      Projeto

Objetivo: Apresentar ao aluno o projeto a ser realizado: o que é, o que se espera de ser realizado (escopo), quais desafios podem ser feitos.

O projeto consistirá na construção de um sistema de monitoramento de objetos móveis que possui os seguintes módulos:

(1)  recepção de sinal (coordenadas x e y, velocidade do objeto, id do objeto, timestamp)

(2)  processamento de sinal (interpretação do sinal de acordo com o modelo de negócios da aplicação)

(3)  banco de dados (armazenamento dos sinais e dados dos objetos móveis)

(4)  visualização dos sinais, dos objetos e de suas informações (na web)

Os objetos móveis vão depender da aplicação. A ideia é que a aplicação tenha um servidor que possa mediar objetos supervisionados e seus supervisores. Podem ser veículos em um sistema de gestão de frota de veículos e alertar eventos (como excesso de velocidade, parada em local desconhecido, saída da rota prevista). Neste caso, os veículos são supervisionados e os gerentes de uma empresa são os supervisores. Podem ser crianças (supervisionadas) em um sistema dedicado à pais (supervisores) que desejam acompanhar e monitorar seus filhos. Podem ser idosos (supervisionados) que necessitem de cuidados especiais de seus filhos ou cuidadores (supervisores) em um sistema de monitoramento especial por conta de doenças como Alzheimer.

Os sinais coletados dos supervisionados podem vir de dispositivos como celulares, GPS, entre outros.

1.3      Programação clássica em Java

Objetivo: Apresentar ao aluno a tecnologia Java e fundamentos para que o aluno possa construir a inteligência do sistema.

Neste módulo do curso, o aluno iniciará a modelagem e a construção do módulo de processamento de sinais. Algumas funções de detecção de eventos dos objetos móveis serão implementadas como detectar parada (recebe n sinais de um objeto, verifica se são da mesma posição e com velocidade zero); desvio de rota ou saída da área permitida (sabe-se o local que pode estar, e testa se está em lugar diferente); ou casos mais específicos de uma determinada aplicação. Por exemplo na gestão de frotas de veículos, checar velocidade excedida (recebe o sinal, testa se a velocidade foi excedida).

Básico: Introdução a tecnologia Java. Criação do primeiro programa (hello world) em Java. Apresentação da sintaxe da linguagem para expressões (variáveis, operadores), tomada de decisão (if), loops (for, while) e funções.

http://docs.oracle.com/javase/tutorial/getStarted/index.html

Orientação a Objeto: Fundamentos da programação em Java. Classes, Herança, Polimorfismo.

http://docs.oracle.com/javase/tutorial/java/index.html

Classes essenciais: I/O, exceção, concorrência.

http://docs.oracle.com/javase/tutorial/essential/index.html

Estruturas de Dados: Enum, List, Set, Collection, Array

http://docs.oracle.com/javase/tutorial/collections/implementations/index.html

1.4      Programação na Web - Fundamentos

Objetivo: Apresentar aos alunos uma visão geral, os fundamentos e a arquitetura do desenvolvimento de um sistema na web. Conceitos como arquitetura cliente-servidor, requisição HTTP, get/post, webservices, REST, sessões, cookies, containers, padrão de projeto MVC, servlets, HTML, HTML5, CSS, JavaScript, Ajax, frameworks, JSP, JSF, linguagens de script e bancos de dados - funções que estão presentes atualmente no ambiente web. O aluno será capaz de entender o vocabulário, as tecnologias, as ferramentas e os padrões principais usados nesta área.

http://docs.oracle.com/javaee/6/tutorial/doc/bnadr.html,

http://docs.oracle.com/javaee/6/tutorial/doc/geysj.html

1.5      Programação na Web – Servidor

Objetivo: Apresentar aos alunos como deve ser desenvolvido um módulo servidor em um sistema na web. O aluno iniciará a construção do servidor do sistema de monitoramento de objetos móveis definido no projeto.

 Neste módulo o aluno vai construir um servlet (classe em Java) e começará a entender como deve ser feita a implementação do sistema de acordo com o padrão MVC (model, view, controller).  O servlet irá receber chamadas HTTP via REST através do browser. O servlet criará uma instância da classe objeto móvel (veículo) e informará os atributos desta classe (com valores definidos de forma estática).  Nesta etapa do curso, para testar o servidor, o aluno fará uma chamada "na mão" HTTP seguindo REST através do browser, e o programa retornará um registro (em determinado formato como JSON ou XML).

1.6      Programação na Web - Cliente

Objetivo: Apresentar aos alunos como deve ser desenvolvido um módulo cliente em um sistema na web. O aluno aprenderá os fundamentos de HTML, CSS e Javascript.

Neste módulo, o aluno iniciará a construção do cliente do sistema de monitoramento de objetos móveis definido no projeto, sendo capaz de criar as principais telas do projeto como a de apresentação e cadastro (formulários) de objetos móveis (como veículos, pessoas) e resultados de análise dos sinais destes objetos (como eventos de saída de área permitida). Nesta etapa do curso, o aluno evoluirá o trabalho anterior para mostrar os atributos do objeto móvel em uma tabela em HTML de acordo com um CSS, implementando assim partes dos módulos cliente e servidor.   

1.7      Programação na Web - Bancos de dados

Objetivo: Apresentar aos alunos como é feito o desenvolvimento de aplicações web usando bancos de dados. O aluno vai modelar e construir um banco de dados para a aplicação do projeto. Além disso, ele vai aprender como criar um  sistema cliente/ servidor na web para consultar e cadastrar dados neste banco de dados.

Neste módulo, além do aluno poder aplicar conceitos de bancos de dados (como modelagem entidade e relacionamento, modelo relacional, SQL) em um projeto de um sistema, ele aprenderá como se faz persistência e manipulação de dados em um banco de dados usando JDBC.

Nesta etapa do curso, o aluno fará uma nova evolução no sistema do projeto. O banco de dados será definido e  o sistema será capaz de cadastrar os objetos móveis, os sinais de objetos móveis e consultar eventos (obtidos através do módulo de processamento desenvolvido no início do curso.

1.8      Tópicos Extras

Objetivo: Apresentar aos alunos tópicos extras e atuais no desenvolvimento de sistemas na web. Ajax, JQuery, Google Maps e outras APIs, frameworks JSF, Spring, Angular.

 1.9      Projeto Real

Objetivo: Apresentar aos alunos o projeto real realizado no Instituto Tecgraf para monitoramento de objetos móveis chamado Infopae Móvel. Os alunos vão conhecer a arquitetura do sistema e verão uma demonstração do sistema.

 1.10    Projeto Supervisonado

Objetivo:  Orientar os alunos na construção do projeto. Apresentação do projeto pelos alunos.

 

 

  • No labels