ferramenta para combinação e sugestão de horários na grade de matrícula pedro h. f. s. diniz

19
Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

Upload: internet

Post on 17-Apr-2015

108 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

Ferramenta para combinação e sugestão de horários na grade de matrícula

Pedro H. F. S. Diniz

Page 2: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

O que é?

• É uma ferramenta de auxilio à tomada de decisões.

• Software java multi-plataforma.• Software java multi-ambiente.• Propõe solução utilizando programação

dinâmica.

Page 3: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

Motivação

• Agilizar o processo de matŕicula.• Facilitar o processo de matrícula.• Diminuir a sobrecarga nos servidores da

faculdade.• Aumentar o leque de opções de matrícula.

Page 4: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

Apresentação do Sistema

• Apresentação das telas.

• Caso de uso 1.

• Caso de uso 2.

Page 5: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

Caso de uso 1

Horário Segunda Terça Quarta Quinta Sexta Sábado17 a 19 Cálculo1 Cálculo2 Cálculo1 Cálculo2

Futebol Finanças Finanças Finanças

17 a 20 Yoga Yoga 17 a 21 Etica Cristã Redes Etica Cristã Redes

Estruturas Discretas Estruturas Discretas 19 a 21 Banco de Dados 2 Banco de Dados 3 Banco de Dados 2 Banco de Dados 3

Administração Administração Projeto de Sistemas Projeto de Sistemas Projeto de Sistemas

21 a 23 IHC Banco de Dados 1 IHC Banco de Dados 1

Professor sem prioridade Carlos Alberto Matéria Total Complemento Túlio Yrfein Cálculo1 2+2=4 Já cursado

Categoria prioritária Grade Curricular Cálculo2 2 Banco de Dados 1 4+2+2=8

Matérias prioritárias Banco de Dados 1 Banco de Dados 2 2 Depende de BD1 Administração Banco de Dados 3 2 Depende de BD2

IHC 2+2=4 Etica Cristã 2+2=4

Pontuação Total Projeto de Sistemas 2+2=4 Professor 2 Redes 2+2=4 Categoria 2 Estruturas Discretas 2+2=4

Escolha de matéria 4 Administração 4+2=6 Sem preferência 1 Financas 2+2=4 Depende de Administração

Futebol 1 Yoga 1

Page 6: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

Caso de uso 2

Horário Segunda Terça Quarta Quinta Sexta Sábado17 a 19 Cálculo1 Cálculo2 Cálculo1 Cálculo2

Futebol Sistemas Operacionais Sistemas Operacionais Finanças Finanças Finanças

17 a 20 Yoga Yoga 17 a 21 Etica Cristã Redes Etica Cristã Redes

Estruturas Discretas Estruturas Discretas 19 a 21 Banco de Dados 2 Banco de Dados 3 Banco de Dados 2 Banco de Dados 3

Administração Administração Projeto de Sistemas Projeto de Sistemas Projeto de Sistemas

21 a 23 IHC Banco de Dados 1 IHC Banco de Dados 1

Professor sem prioridade Nenhum Matéria Total Complemento Cálculo1 2

Categoria prioritária Eletiva Livre Cálculo2 2 Depende de Cálculo1 Banco de Dados 1 2 Já cursado

Matérias prioritárias Finanças Banco de Dados 2 2+4=6 Depende de BD1 Banco de Dados 2 Banco de Dados 3 2 Depende de BD2

IHC 2 Etica Cristã 2

Pontuação Total Projeto de Sistemas 2 Professor 2 Redes 2 Categoria 2 Estruturas Discretas 2

Escolha de matéria 4 Administração 2 Já cursadoSem preferência 1 Financas 2+4=6 Depende de Administração

Futebol 2+2=4 Depende de 200 créditosYoga 2+2=4

Sistemas Operacionais 2

Page 7: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

Especificação

• Consulta ao site de matrícula e disciplinas no PUC On-Line.

• Pesquisa de opinião com alunos do D.I. • Criação do diagrama de classes.• Criação do Modelo de Entidades e

Relacionamentos.

Page 8: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

Metodologia (Scrum)

• Metodologia Ágil.• Sprints de 1 semana.• Pacotes gerados são

incrementais, funcionais e testáveis.

• Auxílio da ferramenta Trac para listas de bugs

Page 9: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

Estrutura do Projeto

Subdivisão em 3 subprojetos:1.Projeto Modelo2.Projeto Desktop3.Projeto Web

Page 10: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

Projeto Modelo

• Contém classes que implementam a regra de negócio

• É responsável pelo algoritmo de combinação• Implementa as classes de DAO e Serviço para

acesso ao banco/base de dados.• Utiliza programação orientada à aspectos

sobre a biblioteca spring para gerenciar a sessão de conexão com o banco.

Page 11: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

Projeto Desktop

• Utiliza java swing para renderizar as telas no sistema operacional.

• Tem como dependência o projeto modelo.

• Implementa os padrões de projeto ‘Command’ e ‘Wizard’.

Page 12: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

Projeto Web

• Criado com a biblioteca Vraptor.

• Implementa o padrão REST.

• Processa as páginas em html com o uso do Freemarker template engine.

Page 13: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

Comentários de implementação

1. O algoritmo de combinação.2. Vraptor3. O padrão REST4. Freemarker

Page 14: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

O Algoritmo

• Utiliza apenas matérias onde as dependêcias são respeitadas.

• Dependência de crédito ou 0 a N disciplinas

• Força bruta com tabela de cache auxiliar.

• O(n)

Page 15: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

VRaptor

• Biblioteca que extende o Spring.• Adiciona suporte ao padrão REST.• Framework, opensource, MVC, para

a web focado em desenvolvimento rápido.

Page 16: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

O padrão REST

• Propõem utilizar as operações GET, POST, PUT e DELETE do protocolo HTTP.

• Orientado a recursos. Ex: http://www.site.com.br/recurso

• Permite uri´s amigáveis de fácil entendimento e acesso.

• Proporciona a criação de Webservices RestFull.

Page 17: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

Freemarker

• É um template engine.• Criado para MCV com foco único na

parte de ‘visão’ do sistema. • Sintaxe amigável ao desenvolvedor.• Rápido.• Possui diversas macros embutidas.

Page 18: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

Considerações Finais

• Agora uma matrícula pode demorar apenas 10 minutos ao invés de horas.

• Pesquisa sobre A.O.P.• Pesquisa sobre gerenciamento de

sessão multi-ambiente.• Vraptor provou ser um ferramenta

ágil para sistemas web.

Page 19: Ferramenta para combinação e sugestão de horários na grade de matrícula Pedro H. F. S. Diniz

Perguntas?