Linha 182: Linha 182:
* Descritivos de cada item
* Descritivos de cada item
** Significado
** Significado
-- A tela inicial mostra a parte de autenticação necessária somente dá primeira vez, os outros acessos já mostraria a segunda tela de busca de linhas, mostrada na figura de Tela de buscar. As outras duas telas estariam mostrando a parte de mapas e rotas dos ônibus e os horários, q possivelmente poderiam ser acessadas offline caso necessário. Outras telas seriam e se fazem necessárias essas são mesmo só pra se ter uma ideia de como seria o começo do aplicativo pra que possa-se ter uma visão geral do mesmo. A versão mostrando a parte online do sistema acaba sendo complicada de mostrar, porém é possível assim como as mostradas.
** Conteúdo (Dados compostos)
** Conteúdo (Dados compostos)
-- Nas telas de mapas e horários o conteúdo mostrado seria exatamente algo pronto sem depender tanto da internet.
** Restrições de integridade
** Restrições de integridade
** Chave primária (Depósitos de Dados)
** Chave primária (Depósitos de Dados)

Edição das 17h26min de 2 de dezembro de 2014

5W2H


What


  • 1. Qual o nome do seu projeto?
    • BusTime
  • 2. Qual o objetivo deste projeto?
    • O projeto busca uma solução baseada em Android aplicada ao rastreamento em tempo real de veículos do transporte público para que o usuário possa favoritar suas principais linhas, saiba a exata localização do ônibus que irá esperar, quanto tempo no máximo ele chegará até o usuário.
  • 3. Quais os maiores desafios, na sua opinião, para se realizar este trabalho?
    • Bem possível será problemas relacionados ao contato direto com as empresas responsáveis pelo transporte público da cidade perante a prefeitura, outra dificuldade seria a questão da comunicação just in time com os ônibus sem perca de precisão pela velocidade da internet 3G de cada operadora.
  • 4. Quais os conhecimentos básicos que devemos ter para se implementar este projeto?
    • Programação para celulares, inicialmente projetado em android mas com o protótipo funcionando poderia-se disponibiliza-lo para outros SOs.
  • 5. Quais soluções similares existem no mercado?
    • Atualmente já existe pela prefeitura um aplicativo chamado GeoSIT, mas este não está funcionando mais e teve sua ultima atualização no final de 2013. Fora do âmbito de nossa cidade temos: Bus Tracker, OneBusAway, Busão Curitibano e um outro aplicativo similar mas para trens e metros de São Paulo.


Why


  • 1. Porque é interessante desenvolver este projeto?
    • O problema que será abordado consiste na dificuldade – por parte dos usuários – do acesso à informação concernente ao transporte público nas grandes cidades. Esse tipo de transporte representa um importantíssimo papel na vida de milhares de pessoas. São trabalhadores, estudantes e aposentados, entre outros cidadãos, que dependem desse tipo de transporte para desempenhar suas respectivas atividades. Sua massiva utilização pode acarretar em vantagens como a redução de custos, poluição – tanto sonora quanto atmosférica – e a otimização do uso das vias urbanas
  • 2. Porque deve usar a tecnologia escolhida?
    • Pois hoje em dia é quase unanime o uso do mobile e com certeza usa-lo para facilitar algo tão "simples" como horários, ou até mesmo rotas, que os usuários possuem à disposição, facilitaria e dinamizaria o transporte.
  • 3. Porque usar o hardware específico?
    • Pois é algo que temos um acesso mais fácil que outras plataformas. O celular hoje é a nossa segunda pele quase.
  • 4. Porque usar o sistema específico?
    • A proposta inicial em android veio mais tranquila devido a programação poder ser feita de forma livre sem encargos, ao contrario de iOS e windows phone que cobram para o programador fabricar uma aplicação.


Who


  • 1. Quem pode se beneficiar deste projeto?
    • Usuários do transporte publico em geral da cidade de Uberlândia.
  • 2. Quem poderá operar o sistema?
    • Os agentes autorizados no nível de manutenção e correção em atualizações do aplicativo nas lojas onde estará disponível. Já no nível mais simples os usuários em geral.
  • 3. Quem deverá participar do desenvolvimento do sistema?
    • Os desenvolvedores do aplicativo e os órgãos oficiais pelo transporte publico (no caso específico da cidade a SETRAN)


Where


  • 1. Onde os dados serão inseridos?
    • Quando o usuário instalar o aplicativo as informações virão através do uso da internet móvel quando este estiver procurando saber determinada linha onde se encontra o carro naquele momento, no caso os dados acabaram chegando automaticamente na screen do aplicativo. Nesse caso o banco de dados que será usado será dado por entidade externa responsável pelo transporte público.
  • 2. Onde os dados serão externalizados, publicados?
    • Na tela do dispositivo móvel do usuário.
  • 3. Onde esta aplicação poderá ser usada?
    • A qualquer momento quando o usuário precisar saber onde e quando a linha escolhida está através do uso de seu smartphone.
  • 4. Onde os dados serão armazenadas?
    • Dados sobre as linhas favoritas e rotas visualizadas (caso queira-se aperfeiçoar o aplicativo com o chamado histórico de busca) deverão usar a memória interna ou o cartão SD do dispositivo.
  • 5. Onde o software deverá ser hospedado?
    • Deverá estar disponível na Play Google.


When


  • 1. Em quanto tempo pretende desenvolver o sistema?
    • Com todas as funções offline e online funcionando, usaria-se por volta de 12 meses ou até 8 meses.
  • 2. Quais serão as fases e em quanto tempo cada uma?
    • Teremos pelo menos três fases para conclusão parcial do projeto, a primeira caberá a programação da interface de ambas opções de acesso pela qual desprenderia-se por volta da metade total do tempo estimado ou seja, de 6 a 4 meses. Na segunda fase, já realizada a negociação com a empresa de transporte sobre a disponibilização da geolocalização pelo banco de dados, implementaria-se este ao sistema na função online do aplicativo, realizada por volta de 4 a 2 meses. E uma terceira que seria fase de teste de 2 a 1 mês para corrigir erros iniciais de programação.
  • 3. Qual o tempo de resposta do dispositivo ou do sistema?
    • Teria que ser imediato.
  • 4. Quanto tempo para responder a uma entrada?
    • Depende-se do banco de dados e da qualidade do funcionamento da internet móvel utilizada, mas um padrão de no máximo de um minuto.
  • 5. Quanto tempo para gerar a saída?
    • Mesmo problema da questão de entrada.


How


  • 1. Como será dividido o desenvolvimento do sistema?
    • Fase de programação; criação e implementação dos dois ambientes, offline e online; e a parte de testes, com a ressalva de sempre buscar bugs e mal funcionamentos quando este aplicativo ainda estiver online nas lojas.
  • 2. Como será feita a entrada de dados?
    • Através do uso dos dados móveis. Para entrada de nomes na pesquisa teclado do dispositivo.
  • 3. Como será feita a saída de dados?
    • Na tela do dispositivo, usando dados móveis na versão online, e quando na versão offline uma tabela emitida pelo próprio aplicativo.
  • 4. Descreva a 1a. funcionalidade?
    • Será informar o usuário a localização de determinada linha em relação a ele.
  • 5. Descreva a 2a. funcionalidade?
    • Achar o ponto de ônibus mais próximo do usuário pela localização.
  • 6. Descreva a 3a. funcionalidade?
    • Favoritar rotas mais utilizadas, com histórico de busca.
  • 7. Descreva a 4a. funcionalidade?
    • Consulta de horários offline direto do aplicativo da rota desejada.


How much


  • 1. Quanto custa cada parte do sistema?
    • Parcialmente falando as ferramentas usadas para a criação do software acabam por ser livres, logo monetariamente não seria desprendido nenhum tipo de gasto.
  • 2. Quanto deverá custar todo o sistema?
    • A ideia parte do principio de fornecer gratuitamente o aplicativo nas lojas online com a Play Google.
  • 3. Quantas pessoas deverão ser usadas (Equipe) ?
    • Pode-se usar mais de um programador para que o aplicativo acaba ficando pronto mais rapidamente, porem é valido lembrar que uma só pessoa consiga programar em si. Lembramos aqui também a equipe de pessoas responsáveis para o contato com as empresas e órgãos oficiais do transporte publico.
  • 4. Quanto custa cada profissional?
    • Custará 20 reais a hora de trabalho na programação do aplicativo.
  • 5. Qual deverá ser o preço de aquisição do seu software para o usuário final (Valor de mercado)?
    • Será gratuito e disponível na lojas de cada SO especifico.


Modelo Estruturado

DFD

  • Processso
    • Localizar Usuário: irá buscar no GPS informações (sua localização) sobre o usuário.
    • CRUD Usuário: A autenticação e o cadastro do usuário é realizada através da conta do Google Play. Este foi criado para caso queira implementar propagandas ao aplicativo as informações sobre o usuário já estejam sendo extraídas de alguma lugar.
    • Autenticar Usuário: O usuário é obrigado a se Autenticar para passar a ter acesso ao aplicativo, após a primeira autenticação o processo acontece automaticamente e a tela principal onde se busca as linhas desejadas será apresentada.
    • Programar o aplicativo: Consisti em programar em uma plataforma para extensão .apk
    • Realizar testes e manutenção: como está implícito, entende-se aqui o processo de conferir bugs e quando necessário providenciar uma atualização para corrigi-los.
    • Visualizar tela inicial: quando primeiro acesso exibirá a tela de autenticação, já no segundo acesso a tela de busca da possível linha desejada com acesso direto as linhas favoritas.
    • Adicionar Linha aos favoritos: é quando o usuário escolhe uma linha como favorita e quer marca-la pra facilitar sua visualização posterior.
    • Buscar Linhas: buscar pelo nome da linha de ônibus que deseja, Ex: T131.
    • Visualizar histórico de busca: caso a linha já foi buscada uma vez a busca sugere aquela linha buscada anteriormente sem impedir que o usuário insira uma outra enquanto escreve.
    • Consultar localização do veiculo: busca no banco de dados da SETTRAN a localização do ônibus desejado.
    • CRUD Linha: é responsável por todo processo de codificação das linhas existentes para que se possa consultar horários, mapas e rotas, empresa e tudo mais já descritos nos depósitos. Esse é uma garantia que o aplicativo funcione offline.
    • Visualizar tipo da linha: é unicamente pra saber se o ônibus vai de terminal pra terminal (geralmente marcado com T antes), se vai de algum ponto final pro terminal (geralmente A antes) e etc.
    • Visualizar Empresa: unicamente pra saber qual empresa é responsável pela linha.
    • Visualizar terminal: praticamente é saber em qual terminal vai cada linha.
    • Visualizar Mapas e Rotas: fica aqui mapas com as rotas e pontos onde poderá pegar o ônibus.
    • Visualizar horários: como indica, é simplesmente visualizar os horários.
    • Visualizar linha: quando ela for buscada aparecerá o nome da linha, tipo de linha, empresa, terminais na qual ela vai e horários, com um link para visualizar mapas.
  • Depósitos
    • Usuário: é onde as informações sobre o usuário ficará disponível.
    • Cep: sobre logadouro do usuário.
    • Bairro: guardará o bairro e nome da região da cidade onde esse se encontra, pra no caso do uso offline ele tenha mais rápido acesso das linhas que passam naquela região ou bairro.
    • Histórico de Busca: é guardar as buscas já feitas no sistema.
    • Tipo da Linha: guarda informações sobre o tipo da linha.
    • Empresa: guarda informações sobre a empresa.
    • Terminal: guarda informações sobre todos os tipos de terminais.
    • Mapas e rotas: mantem mapas e rotas disponíveis pra acessar mesmo offline.
    • Horários: guarda informações sobre horários de saída e chegada das linhas em seus pontos finais, dividido entre os dias da semanas, já que o funcionamento não é igual pra todos eles.
    • Linhas: guarda todas as linhas disponíveis pra acesso.
  • Fluxos

DER

  • Entidades
    • Cep: de onde se obtêm os endereços.
    • Usuário: será aquele que terá acesso somente a parte de utilização por completo do sistema, podendo buscar linhas, adicionar aquelas que desejar ao favorito, etc.
    • Bairro: separamos aqui mais por causa da chamada região, já que o transporte publico leva em conta os setores pelos quais a cidade é dividida.
    • Empresa: são as várias empresas que estão responsáveis pelo transporte publico.
    • SETTRAN: é uma entidade externa que possui as informações em seu banco de dados sobre cada linha e sua geolocalização em just in time.
    • Tipo: comporta qual tipo de linha é tipo interbairros, interterminais, etc.
    • Numero da Linha: qual código fora atribuído pra aquela linha.
    • Linhas: são os vários requisitos para nomear aquela determinada linha.
    • Horários: foi utilizado pra separar os horários de cada linha em seus respectivos atributos.
    • Mapas: pra criar uma codificação e facilitar o acesso a cada mapa de linha.
    • Terminal: especificar cada terminal e suas linhas.
  • Relacionamentos
  • Domínios

DD

Tela inicial:

Tela de buscar:


  • Descritivos de cada item
    • Significado

-- A tela inicial mostra a parte de autenticação necessária somente dá primeira vez, os outros acessos já mostraria a segunda tela de busca de linhas, mostrada na figura de Tela de buscar. As outras duas telas estariam mostrando a parte de mapas e rotas dos ônibus e os horários, q possivelmente poderiam ser acessadas offline caso necessário. Outras telas seriam e se fazem necessárias essas são mesmo só pra se ter uma ideia de como seria o começo do aplicativo pra que possa-se ter uma visão geral do mesmo. A versão mostrando a parte online do sistema acaba sendo complicada de mostrar, porém é possível assim como as mostradas.

    • Conteúdo (Dados compostos)

-- Nas telas de mapas e horários o conteúdo mostrado seria exatamente algo pronto sem depender tanto da internet.

    • Restrições de integridade
    • Chave primária (Depósitos de Dados)


Modelo OO

Diagrama de Classes

Diagrama de Estado

Diagrama de Casos de Uso

Diagrama de Sequência

Diagrama de Objetos

Diagrama de Colaboração

Diagrama de Interfaces

Diagrama de Atividades

Diagrama de Componentes

Diagrama de Pacotes

Protótipo

  • Objetivo
  • Recursos utilizados
  • Funcionamento
  • Detalhamento (Imagens, vídeos, ...)
  • Resultados obtidos

Pesquisador