Dr. Eduardo Perseu de Paiva Departamento de Cirurgia Plástica do Hospital Regional.
Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador:...
Transcript of Perseu PERSEU Diego Casarin Oliveira Pedro Henrique de Lima Gomes Virgílio Vettorazzo Orientador:...
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
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.”
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
sfsdffsdfEspecificação
Perseu2008
Casos de Uso
•Carregar Aplicação;
•Listagem de Ônibus;
•Criar Lista Customizada;
•Apagar Lista Customizada;
sfsdffsdfEspecificação
Perseu2008
Arquitetura•Parada de Ônibus;•Ônibus.
sfsdffsdfEspecificação
Perseu2008
Arquitetura•Parada de Ônibus;•Ônibus.
sfsdffsdfEspecificação
Perseu2008
Banco de Dados
•Dados: linhas, ônibus, paradas, percursos, usuários e rotas;
sfsdffsdfEspecificação
Perseu2008
Classes
•Celular: PerseuCanvas, PerseuMIDlet, Socket, BluetoothListener;
•Servidor: SocketRequisitionProcessor, SocketListener, AsynchroneBusVerification;
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.
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.
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
sfsdffsdfImplementação - Mobile
Perseu2008
Perseu Canvas – Ônibus
sfsdffsdfImplementação - Mobile
Perseu2008
Perseu Canvas – Parada
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.
sfsdffsdfImplementação - Servidor
Perseu2008
ProcessSocketRequisition – verificação de usuário
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.
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.
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.
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.
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.
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;