32
Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da USP PCS2050 - 2008

Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

Embed Size (px)

Citation preview

Page 1: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

PerseuPERSEU

Diego Casarin Oliveira

Pedro Henrique de Lima Gomes

Virgílio Vettorazzo

Orientador: Prof. Dr. Paulo Sérgio Cugnasca

Escola Politécnica da USP

PCS2050 - 2008

Page 2: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdf

Introdução

Perseu2008

Deficientes Visuais

•Necessidades especiais;

•Inclusão Social – adaptar nosso mundo;

•Soluções Existentes: DOSVOX, Virtual Vision, Jaws;

•Dificuldades no transporte público.

Por que Perseu?

•Herói da mitologia grega;

•Sistema Perseu: “sua essência é prover um meio de, como nosso herói nos ensinou, enxergar, mesmo que de modo não trivial.”

Page 3: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfIntrodução – Deficientes Visuais

Perseu2008

Números no Brasil [1]

Região Metropolitana de São Paulo

•390.000 – deficiência grave;

•40% - 15 a 50 anos - 156.000.

Região População 30%[2]

Norte 1.415.370 424.611

Nordeste 5.747.461 1.724.238

Sudeste 6.031.472 1.809.441

Sul 2.326.259 697.877

Centro-Oeste 1.124.279 337.283

Total Brasil 16.644.842 4.993.452

[1] Censo2000 – IBGE

[2] OMS

Page 4: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfObjetivos

Perseu2008

Acadêmicos

•Consolidar aprendizado adquirido;

•Aplicar boas práticas de projeto.

Sociais

•Retribuir à sociedade tudo que nos foi investido;

•Inclusão Social – deficientes visuais;

•Auxílio no transporte público.

Page 5: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfAspectos Conceituais

Perseu2008

GPS

•Localização dos Ônibus;

•Cálculos de distância entre coordenadas GPS.

J2ME e Java SE

•Implementação dos aplicativos: servidor e mobile.

GPRS

•Transmissão de dados entre celular e servidor.

Bluetooth

•Identificação do local onde está o usuário: parada de ônibus ou ônibus.

Page 6: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfEspecificação

Perseu2008

Funcional

•Usuário na parada de ônibus - ouvir quais ônibus passam, criar lista customizada e aviso de proximidade;

•Usuário dentro de um ônibus – ouvir qual a próxima parada;

Não-Funcional

•Usabilidade – teclas de atalho – tecla 5;

•Confiabilidade/Disponibilidade – informações corretas;

•Portabilidade – módulos em espaços públicos e celular;

•Desempenho – expectativas humanas e custo.

Page 7: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfEspecificação

Perseu2008

Funcionalidades•Login de Usuário;•Carregar Dados;•Contexto de Listas;•Login de Ônibus;•Atualização de Localização de Ônibus;•Monitoramento de Ônibus;•Aviso ao Usuário.

Page 8: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfEspecificação

Perseu2008

Funcionalidades

•Login de Usuário;•Carregar Dados;•Contexto de Listas;•Login de Ônibus;•Atualização de Localização de Ônibus;•Monitoramento de Ônibus;•Aviso ao Usuário.

Page 9: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfEspecificação

Perseu2008

Funcionalidades•Login de Usuário;

•Carregar Dados;•Contexto de Listas;•Login de Ônibus;•Atualização de Localização de Ônibus;•Monitoramento de Ônibus;•Aviso ao Usuário.

Page 10: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfEspecificação

Perseu2008

Funcionalidades•Login de Usuário;•Carregar Dados;

•Contexto de Listas;•Login de Ônibus;•Atualização de Localização de Ônibus;•Monitoramento de Ônibus;•Aviso ao Usuário.

Page 11: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfEspecificação

Perseu2008

Funcionalidades•Login de Usuário;•Carregar Dados;•Contexto de Listas;

•Login de Ônibus;•Atualização de Localização de Ônibus;•Monitoramento de Ônibus;•Aviso ao Usuário.

Page 12: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfEspecificação

Perseu2008

Funcionalidades•Login de Usuário;•Carregar Dados;•Contexto de Listas;•Login de Ônibus;

•Atualização de Localização de Ônibus;•Monitoramento de Ônibus;•Aviso ao Usuário.

Page 13: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfEspecificação

Perseu2008

Funcionalidades•Login de Usuário;•Carregar Dados;•Contexto de Listas;•Login de Ônibus;•Atualização de Localização de Ônibus;

•Monitoramento de Ônibus;•Aviso ao Usuário.

Page 14: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfEspecificação

Perseu2008

Funcionalidades•Login de Usuário;•Carregar Dados;•Contexto de Listas;•Login de Ônibus;•Atualização de Localização de Ônibus;•Monitoramento de Ônibus;

•Aviso ao Usuário.

Page 15: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfEspecificação

Perseu2008

Casos de Uso

•Carregar Aplicação;

•Listagem de Ônibus;

•Criar Lista Customizada;

•Apagar Lista Customizada;

Page 16: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfEspecificação

Perseu2008

Arquitetura•Parada de Ônibus;•Ônibus.

Page 17: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfEspecificação

Perseu2008

Arquitetura•Parada de Ônibus;•Ônibus.

Page 18: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfEspecificação

Perseu2008

Banco de Dados

•Dados: linhas, ônibus, paradas, percursos, usuários e rotas;

Page 19: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfEspecificação

Perseu2008

Classes

•Celular: PerseuCanvas, PerseuMIDlet, Socket, BluetoothListener;

•Servidor: SocketRequisitionProcessor, SocketListener, AsynchroneBusVerification;

Page 20: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfImplementação - Mobile

Perseu2008

Restrições

•Lógica de Negócios;

•Perturbações na leitura do Bluetooth;

•Memória limitada nos celulares.

Soluções

•Máquina de Estados;

•Leitura de todos os dispositivos Bluetooth;

•Persistência em memória não volátil.

Page 21: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfImplementação - Mobile

Perseu2008

BluetoothListener

•Leitura dos MAC Address;

•Interface com o S.O. do celular.

Socket

•Interface entre processos mobile e servidor – utilizadas classes J2ME.

PerseuMIDlet

•Início e fim da aplicação do celular.

Page 22: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfImplementação - Mobile

Perseu2008

Perseu Canvas

•Coração da aplicação – lógica de negócios;

•Máquinas de estado – geral, ônibus e parada de ônibus.

Perseu Canvas - Geral

Page 23: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfImplementação - Mobile

Perseu2008

Perseu Canvas – Ônibus

Page 24: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfImplementação - Mobile

Perseu2008

Perseu Canvas – Parada

Page 25: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfImplementação - Servidor

Perseu2008

Camadas:

•DataAccessLayer – controle do banco de dados;

•BusinessLogicLayer (BLL) – execução das regras de negócio;

•Model – encapsula modelos do mundo real.

Acima das três: camada de aplicação.

•ProcessSocketRequisition – interface com aplicativo celular dos usuários;

•BusVerification – verificação de proximidade de ônibus.

Page 26: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfImplementação - Servidor

Perseu2008

ProcessSocketRequisition – verificação de usuário

Page 27: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfResultados

Perseu2008

Testes Unitários

ListenerBluetooth – leitura de MAC Address de cada dispositivo ativo;

Streaming de áudio – reprodução de arquivo de áudio no formato mp3;

Comunicação via socket – troca de dados (texto) entre servidor e celular;

Interação via teclado numérico – uso da tecla 5 para chamar rotina de streaming de áudio.

Page 28: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfResultados

Perseu2008

Testes de Integração

•Alinhar os dois aplicativos: celular e servidor;

•Testar comunicação entre aplicativos.

Testes

•Interação e respostas

Tecla 5 – listagem dos ônibus;

Tecla 8 – adição à lista customizada;

Tecla 9, 4 e 6 – exclusão da lista customizada;

Tecla 2 – manual do usuário.

•Áudio – qualidade X tamanho do arquivo

16k amostras/seg, 8 bits/amostra, canal mono, mp3.

Page 29: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfResultados

Perseu2008

Testes de Integração

•Comunicação por Socket

Troca de texto;

Arquivo de áudio único - erro inicial;

4 arquivos de áudio.

•Resposta a eventos

Proximidade de Ônibus;

Proximidade de Parada;

Atualização da Localização de Ônibus.

Page 30: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfResultados

Perseu2008

Testes de Integração

•Usabilidade

Carregamento do sistema – 8 segundos para ônibus e 30 para parada;

Alerta de proximidade ao usuário - 3 segundos nos dois casos;

Interação do usuário – lista customizada – 1 segundo para qualquer manipulação.

Page 31: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfConclusão

Perseu2008

Próximos Passos

•Localização real dos ônibus - projeto piloto;

•Funcionalidades: gravação de arquivos e preferências do usuário no celular;

•Alerta automático ao motorista do ônibus: usuário no ponto querendo subir ou no ônibus querendo descer.

Reutilização do Projeto

•Museus, informações turísticas, entre outros.

Page 32: Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador: Prof. Dr. Paulo Sérgio Cugnasca Escola Politécnica da

sfsdffsdfConclusão

Perseu2008

Gerenciamento de Projeto

•Planejamento Inicial - ↑ Importante;

•Distribuição do tempo – melhorar.

Inclusão Social

•Importante contato com deficientes visuais – ↑projetos de inclusão social X eng. computação;

Conceitos Técnicos

•Consolidação do conhecimento;

•Novos Conceitos – J2ME, Socket, Bluetooth, GPS.

Requisitos do Sistema

•Todos os Funcionais e os Não-Funcionais foram atendidos;