Etiqueta: visualeditor |
|||
| (11 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
| Linha 102: | Linha 102: | ||
[[Arquivo:DER_UdiBus.pdf]] | [[Arquivo:DER_UdiBus.pdf]] | ||
= | == DD - Dicionário de Dados == | ||
= DD - Dicionário de Dados = | [[Arquivo:DD UdiBus.pdf]] | ||
== A. Processos == | == A. Processos == | ||
00. Funcionamento Offline: [Usuário] | |||
[[Arquivo:Udibus_00_spash.png|457x457px]] | [[Arquivo:Udibus_00_spash.png|457x457px]] | ||
| Linha 113: | Linha 112: | ||
* Irá promover o funcionamento do aplicativo em modo-offline utilizando o banco de dados do dispositivo móvel e o web storage. | * Irá promover o funcionamento do aplicativo em modo-offline utilizando o banco de dados do dispositivo móvel e o web storage. | ||
<br> | <br> | ||
01. Buscar por linhas | |||
[[Arquivo:Udibus 01 busca por linhas.png|457x457px]] | |||
** Neste processo, o sistema irá realizar a busca de linhas de ônibus por entrada de texto de deverá: | ** Neste processo, o sistema irá realizar a busca de linhas de ônibus por entrada de texto de deverá: | ||
*** Listar todas as linhas de ônibus disponíveis; | *** Listar todas as linhas de ônibus disponíveis; | ||
| Linha 120: | Linha 123: | ||
*** Apresentar icone que simbolize o usuário em sua dada posição no mapa. | *** Apresentar icone que simbolize o usuário em sua dada posição no mapa. | ||
<br> | <br> | ||
02. Apresentação de linhas e rotas | |||
[[Arquivo:Udibus_08_linhas_e_rotas.png|457x457px]] | |||
** Neste processo, o sistema irá apresentar as linhas e rotas de ônibus previamente selecionadas e deverá: | |||
*** Apresentar trajeto da rota selecionada no mapa; | |||
*** Apresentar veículos animados sobre a rota selecionada, posicionados para coincidir com o local previsto no tempo estimado; | |||
*** Apresentar ícone do veículo com a cor destinada a cada tipo de rota (troncais, interbairros); | |||
*** Apresentar sobre o ícone do veículo o sentido da rota (IDA, VOLTA); | |||
*** Apresentar ícone de paradas de ônibus (pontos, estações, terminais, entre outros); | |||
*** Ao clicar sobre um ponto de ônibus apresentar as rotas que passam neste ponto e os horários estimados; | |||
*** Apresentar ícone de acesso ao itinerário da rota; | |||
*** Apresentação de pontos comerciais próximos do usuário previamente demarcados através do site de interação com o anunciante; | |||
*** Apresentação do Botão “Entrei no Ônibus!” para enviar a base dados para as previsões. | |||
<br> | |||
03. Apresentação do Itinerário | |||
[[Arquivo:Udibus_07_itinerario.png|457x457px]] | |||
** Neste processo, o sistema irá apresentar o itinerário de uma linha previamente selecionada e deverá: | |||
*** Apresentar tela de itinerário da rota; | |||
*** Apresentar lista dos pontos de parada da rota; | |||
*** Apresentar horários previstos e posição dos veículos; | |||
*** Apresentar avaliação de qualidade da rota; | |||
*** Apresentar o ícone de favoritos; | |||
*** Apresentar o ícone comentários. | |||
<br> | |||
04. Apresentação dos favoritos | |||
[[Arquivo:Udibus_05_favoritos.png|457x457px]] | |||
** Neste processo, o sistema irá apresentar a listagem de linhas de ônibus favoritas e deverá: | |||
*** Apresentar lista de linhas marcadas como favoritas; | |||
*** Disponibilizar links para as linhas ao clicar sobre uma favorita; | |||
*** Remover linha dos favoritos. | |||
<br> | |||
05. Anunciante | |||
[[Arquivo:Udibus_09_ponto_comercial.png|457x457px]] | |||
** Neste processo, o sistema irá apresentar os anúnciantes comerciais locais: | |||
*** Apresentação dos dados cadastrados pelo anunciante no site; | |||
*** Disponibilizar avaliação do comerciante e apresentar sua nota; | |||
*** Apresentar posição do estabelecimento no mapa. | |||
<br> | |||
06. Como chegar | |||
[[Arquivo:Udibus_02_como_chegar.png|457x457px]] | |||
** Neste processo, o sistema deverá buscar e apresentar melhores linhas de ônibus e paradas necessárias para o usuário sair de um ponto de origem e chegar a um ponto de destino. | |||
<br> | |||
07. FeedBack | |||
[[Arquivo:Udibus 06 feedback.png|457x457px]] | |||
** Neste processo, o sistema irá disponibilizar ao usuário enviar um comentário para determinada linha. | |||
<br> | |||
== B. Depósitos == | |||
<br> | |||
* Depósito: Linha | |||
** CodLinha: Número Sequencial a partir de 1 | |||
** Nome: String | |||
** DataRegistro: Data | |||
** Versão: Número sequencia a partir de 1 | |||
** Cidade: Código da cidade a qual pertence a Linha | |||
<br> | |||
* Depósito: Veículo | |||
** CodVeiculo: Número Sequencial a partir de 1 | |||
** Cor: [#String] (Código de cor hexadecimal. Ex: #0000FF) | |||
** Adaptado: [true, false] | |||
** CodLinha: Código da linha a qual pertence o Veículo | |||
<br> | |||
* Depósito: Rota | |||
** TrajetoGeoJSON: Estrutura GeoJSON | |||
*** Definida pela GeoJSON Specification (RFC 7946) encontrada em http://geojson.org/ | |||
** TipoRota: ["Semanal","Feriados","Domingos" ,"Especial"] | |||
** CodLinha: Código da linha a qual pertence a Rota | |||
<br> | |||
* Depósito: PontoDeOnibus | |||
** CodPonto: Número Sequencial a partir de 1 | |||
** Nome: String | |||
** TipoPontoDeOnibus: [“convencional”, “terminal”, “plataforma”] | |||
** Latitude: String | |||
** Longitude: String | |||
<br> | |||
* Depósito: Itinerário | |||
** CodItinerario: Número Sequencial a partir de 1 | |||
** CodLinha: Código da linha a qual pertence o Itinerário | |||
<br> | |||
* Depósito: ItemDoItinerário | |||
** PosicaoHorariaDia: Número inteiro entre 1 e 86.400 (representa o minuto que o ônibus estará no ponto de ônibus associado) | |||
** CodPontoDeOnibus: Código do ponto de ônibus a qual referência o ItemDoItinerário | |||
** CodItinerario: Código do Itinerário a qual pertence o ItemDoItinerário | |||
<br> | |||
* Depósito: Anunciante | |||
** CodAnunciante: Número Sequencial a partir de 1 | |||
** Nome: String | |||
** Email: String@String | |||
** Telefone: Inteiro | |||
<br> | |||
* Depósito: Banner | |||
** CodBanner: Número Sequencial a partir de 1 | |||
** Imagem: Mídia | |||
** DataPublicacao: DataHora | |||
** DataVigencia: DataHora | |||
** Descricao: String | |||
** Link: String | |||
** CodAnuciante: Código do Anunciante a qual pertence o Banner | |||
<br> | |||
* Depósito: Endereco | |||
** Logradouro: String | |||
** Numero: Inteiro | |||
** Bairro: String | |||
** CodCidade: Código da Cidade a qual pertence o Endereço | |||
<br> | |||
* Depósito: Cidade | |||
** CodCidade: Número Sequencial a partir de 1 | |||
** Nome: String | |||
** CodEstado: Código do Estado a qual pertence a Cidade | |||
<br> | |||
* Depósito: Estado | |||
** CodEstado: Número Sequencial a partir de 1 | |||
** Nome: String | |||
<br> | |||
== C. Entidades Externas == | |||
<br> | |||
* Entidade Externa: Usuário do Aplicativo Móvel | |||
** Interface gráfica composta com as seguintes telas: | |||
* Carregamento – Splash Screen | |||
[[Arquivo:Udibus_00_spash.png|457x457px]] | |||
* Busca por Linhas | |||
[[Arquivo:Udibus_01_busca_por_linhas.png|457x457px]] | |||
* Listagem de Favoritos | |||
[[Arquivo:Udibus_05_favoritos.png|457x457px]] | |||
* Tela de Anúncio Comercial | |||
[[Arquivo:Udibus_09_ponto_comercial.png|457x457px]] | |||
* Buscar Melhor Rota (Origem - Destino) | |||
[[Arquivo:Udibus_02_como_chegar.png|457x457px]] | |||
[[Arquivo:Udibus 02 como chegar-rotas.png|457x457px]] | |||
[[Arquivo:Udibus_02_como_chegar-rotas-lista.png|457x457px]] | |||
* Enviar FeedBack | |||
[[Arquivo:Udibus_06_feedback.png|457x457px]] | |||
* Entidade Externa: Usuário Editor de Rotas | |||
** Interface gráfica composta com a seguinte tela: | |||
[[Arquivo:Udibus_editor_rotas.png|764x764px]] | |||
== D. Requisitos não-funcionais == | |||
* O aplicativo deverá funcionar em um smartphone ou tablet com os sistemas operacionais Android 4.0+ ou iOS7+. | |||
* O tempo de resposta para a busca de uma rota deverá ser de no máximo 3 segundos; | |||
* O usuário deverá conseguir realizar uma tarefa em no máximo 4 ações; | |||
* Possibilitar o usuário utilizar o sistema em modo off-line; | |||
* O aplicativo deverá se conectar com a internet ao menos uma vez por semana para otimizar as previsões de tempos de chegada e * evitar equívocos de previsão; | |||
* A previsão do horário de chegada do ônibus em determinado ponto informado para o usuário deverá manter uma margem de erro de no máximo 5 minutos. | |||
= Protótipo = | = Protótipo = | ||
Edição atual tal como às 17h27min de 10 de dezembro de 2017
5W2H
What
- 1. Qual o nome do seu projeto?
- UdiBus
- 2. Qual o objetivo deste projeto?
- Desenvolver um sistema inteligente que contém dados enviados pelos usuários, informações fornecidas pelas empresas de transporte, dados de GPS (quando disponível) e várias outras fontes para estimar e prever a chegada do ônibus com precisão e qualidade auxiliando cidadãos de qualquer cidade do mundo.
- 3. Quais os maiores desafios, na sua opinião, para se realizar este trabalho?
- Reunir e consolidar informações sobre o transporte público.
- 4. Quais os conhecimentos básicos que devemos ter para se implementar este projeto?
- Conhecimentos sobre desenvolvimento de sistemas web/mobile;
- Arquitetura cliente/servidor;
- Processamento de informações geoespaciais;
- 5. Quais soluções similares existem no mercado?
- Diversos sistemas de transporte público específicos para várias cidades;
Why
- 1. Porque é interessante desenvolver este projeto?
- Pela crescente procura de facilidades que podem otimizar o tempo das pessoas utilizando aplicativos.
- 2. Porque deve usar a tecnologia escolhida?
- Será um aplicativo híbrido (web/mobile) para possibilitar agilidade no desenvolvimento e ao finalizar o projeto poder entregar um produto que rode em diferente sistemas operacionais móveis. S
- 3. Porque usar o hardware específico?
- A solução será desenvolvida para smartphones, pois hoje no mundo todo, são mais de 1 bilhão e 600 milhões de pessoas usando smartphone, e houve um crescimento de 25% apenas no último ano.
- 4. Porque usar o sistema específico?
- Para facilitar o uso do transporte público.
Who
- 1. Quem pode se beneficiar deste projeto?
- Qualquer usuário de transporte público em todo o mundo.
- 2. Quem poderá operar o sistema?
- Qualquer pessoa que possuir um smartphone.
- 3. Quem deverá participar do desenvolvimento do sistema?
- Profissionais com habilidade em desenvolvimento web/mobile.
Where
- 1. Onde os dados serão inseridos?
- Os dados serão inseridos através de aplicação backend (site) que possibilita a entrada de diversas fontes.
- 2. Onde os dados serão externalizados, publicados?
- Os dados serão publicados no aplicativo mobile.
- 3. Onde esta aplicação poderá ser usada?
- Em qualquer dispositivo smartphone.
- 4. Onde os dados serão armazenadas?
- No servidor e no aplicativo.
- 5. Onde o software deverá ser hospedado?
- O sistema backend será hospedado em um servidor virtual privado (VPS).
When
- 1. Em quanto tempo pretende desenvolver o sistema?
- 4 meses.
- 2. Quais serão as fases e em quanto tempo cada uma?
- Análise (2 semanas), Projeto (2 semanas), Implementação (8 semanas), Testes(3 semanas) e Implantação (1 semana).
- 3. Qual o tempo de resposta do dispositivo ou do sistema?
- Imediato (Inferior a 1,3 segundos);
- 4. Quanto tempo para responder a uma entrada?
- Imediato (Inferior a 1,3 segundos);
- 5. Quanto tempo para gerar a saída?
Imediato (Inferior a 1,3 segundos);
How
- 1. Como será dividido o desenvolvimento do sistema?
- Será dividido em aplicação backend e aplicativo mobile.
- 2. Como será feita a entrada de dados?
- Através de dados imputados no backend de forma manual/automática e dados recolhidos dos usuários através do aplicativo móvel.
- 3. Como será feita a saída de dados?
- Os dados serão apresentados no aplicativo móvel.
- 4. Descreva a 1a. funcionalidade?
- Previsão de chegada dos ônibus realizada por um sistema inteligente que utiliza os dados enviados pelos usuários, roteiro de viagem das empresas, padrões de deslocamento que consideram horário, dia da semana e quando disponível o sistema de GPS da frota.
- 5. Descreva a 2a. funcionalidade?
- Apresentação de todas as rotas, pontos e horários da frota de ônibus de Uberlândia.
- 6. Descreva a 3a. funcionalidade?
- Disponibilidade dos serviços em modo offline.
- 7. Descreva a 4a. funcionalidade?
- Modo viagem: O usuário informa onde quer parar, nós avisamos a hora de descer.
- 8. Descreva a 5a. funcionalidade?
- Divulgação de pontos comerciais e marketing contextualizado.
- 9. Descreva a 6a. funcionalidade?
- Apresentação de Feiras livres e telefones de principais serviços do município.
How much
- 1. Quanto custa cada parte do sistema?
- Servidor de Aplicação - R$ 17.280,00
- Aplicativo Móvel - R$ 11.520,00
- 2. Quanto deverá custar todo o sistema?
- R$ 28.800,00
- 3. Quantas pessoas deverão ser usadas (Equipe) ?
- Ainda não definido.
- 4. Quanto custa cada profissional?
- R$ 45,00/hora.
- 5. Qual deverá ser o preço de aquisição do seu software para o usuário final (Valor de mercado)?
- O aplicativo será gratuito para o usuário final, será "moneytizado" através de publicidade.
Modelo Estruturado
DFD
- Diagrama Fluxo de Dados UdiBus:
DER
DD - Dicionário de Dados
A. Processos
00. Funcionamento Offline: [Usuário]
Erro ao criar miniatura: Arquivo não encontrado
- Irá promover o funcionamento do aplicativo em modo-offline utilizando o banco de dados do dispositivo móvel e o web storage.
01. Buscar por linhas
Erro ao criar miniatura: Arquivo não encontrado
- Neste processo, o sistema irá realizar a busca de linhas de ônibus por entrada de texto de deverá:
- Listar todas as linhas de ônibus disponíveis;
- Apresentar mapa centralizado na posição do usuário;
- Apresentar icone de centralização do mapa no icone do usuário;
- Apresentar icone que simbolize o usuário em sua dada posição no mapa.
- Neste processo, o sistema irá realizar a busca de linhas de ônibus por entrada de texto de deverá:
02. Apresentação de linhas e rotas
Erro ao criar miniatura: Arquivo não encontrado
- Neste processo, o sistema irá apresentar as linhas e rotas de ônibus previamente selecionadas e deverá:
- Apresentar trajeto da rota selecionada no mapa;
- Apresentar veículos animados sobre a rota selecionada, posicionados para coincidir com o local previsto no tempo estimado;
- Apresentar ícone do veículo com a cor destinada a cada tipo de rota (troncais, interbairros);
- Apresentar sobre o ícone do veículo o sentido da rota (IDA, VOLTA);
- Apresentar ícone de paradas de ônibus (pontos, estações, terminais, entre outros);
- Ao clicar sobre um ponto de ônibus apresentar as rotas que passam neste ponto e os horários estimados;
- Apresentar ícone de acesso ao itinerário da rota;
- Apresentação de pontos comerciais próximos do usuário previamente demarcados através do site de interação com o anunciante;
- Apresentação do Botão “Entrei no Ônibus!” para enviar a base dados para as previsões.
- Neste processo, o sistema irá apresentar as linhas e rotas de ônibus previamente selecionadas e deverá:
03. Apresentação do Itinerário
- Neste processo, o sistema irá apresentar o itinerário de uma linha previamente selecionada e deverá:
- Apresentar tela de itinerário da rota;
- Apresentar lista dos pontos de parada da rota;
- Apresentar horários previstos e posição dos veículos;
- Apresentar avaliação de qualidade da rota;
- Apresentar o ícone de favoritos;
- Apresentar o ícone comentários.
- Neste processo, o sistema irá apresentar o itinerário de uma linha previamente selecionada e deverá:
04. Apresentação dos favoritos
- Neste processo, o sistema irá apresentar a listagem de linhas de ônibus favoritas e deverá:
- Apresentar lista de linhas marcadas como favoritas;
- Disponibilizar links para as linhas ao clicar sobre uma favorita;
- Remover linha dos favoritos.
- Neste processo, o sistema irá apresentar a listagem de linhas de ônibus favoritas e deverá:
05. Anunciante
- Neste processo, o sistema irá apresentar os anúnciantes comerciais locais:
- Apresentação dos dados cadastrados pelo anunciante no site;
- Disponibilizar avaliação do comerciante e apresentar sua nota;
- Apresentar posição do estabelecimento no mapa.
- Neste processo, o sistema irá apresentar os anúnciantes comerciais locais:
06. Como chegar
- Neste processo, o sistema deverá buscar e apresentar melhores linhas de ônibus e paradas necessárias para o usuário sair de um ponto de origem e chegar a um ponto de destino.
07. FeedBack
Erro ao criar miniatura: Arquivo não encontrado
- Neste processo, o sistema irá disponibilizar ao usuário enviar um comentário para determinada linha.
B. Depósitos
- Depósito: Linha
- CodLinha: Número Sequencial a partir de 1
- Nome: String
- DataRegistro: Data
- Versão: Número sequencia a partir de 1
- Cidade: Código da cidade a qual pertence a Linha
- Depósito: Veículo
- CodVeiculo: Número Sequencial a partir de 1
- Cor: [#String] (Código de cor hexadecimal. Ex: #0000FF)
- Adaptado: [true, false]
- CodLinha: Código da linha a qual pertence o Veículo
- Depósito: Rota
- TrajetoGeoJSON: Estrutura GeoJSON
- Definida pela GeoJSON Specification (RFC 7946) encontrada em http://geojson.org/
- TipoRota: ["Semanal","Feriados","Domingos" ,"Especial"]
- CodLinha: Código da linha a qual pertence a Rota
- TrajetoGeoJSON: Estrutura GeoJSON
- Depósito: PontoDeOnibus
- CodPonto: Número Sequencial a partir de 1
- Nome: String
- TipoPontoDeOnibus: [“convencional”, “terminal”, “plataforma”]
- Latitude: String
- Longitude: String
- Depósito: Itinerário
- CodItinerario: Número Sequencial a partir de 1
- CodLinha: Código da linha a qual pertence o Itinerário
- Depósito: ItemDoItinerário
- PosicaoHorariaDia: Número inteiro entre 1 e 86.400 (representa o minuto que o ônibus estará no ponto de ônibus associado)
- CodPontoDeOnibus: Código do ponto de ônibus a qual referência o ItemDoItinerário
- CodItinerario: Código do Itinerário a qual pertence o ItemDoItinerário
- Depósito: Anunciante
- CodAnunciante: Número Sequencial a partir de 1
- Nome: String
- Email: String@String
- Telefone: Inteiro
- Depósito: Banner
- CodBanner: Número Sequencial a partir de 1
- Imagem: Mídia
- DataPublicacao: DataHora
- DataVigencia: DataHora
- Descricao: String
- Link: String
- CodAnuciante: Código do Anunciante a qual pertence o Banner
- Depósito: Endereco
- Logradouro: String
- Numero: Inteiro
- Bairro: String
- CodCidade: Código da Cidade a qual pertence o Endereço
- Depósito: Cidade
- CodCidade: Número Sequencial a partir de 1
- Nome: String
- CodEstado: Código do Estado a qual pertence a Cidade
- Depósito: Estado
- CodEstado: Número Sequencial a partir de 1
- Nome: String
C. Entidades Externas
- Entidade Externa: Usuário do Aplicativo Móvel
- Interface gráfica composta com as seguintes telas:
- Carregamento – Splash Screen
Erro ao criar miniatura: Arquivo não encontrado
- Busca por Linhas
Erro ao criar miniatura: Arquivo não encontrado
- Listagem de Favoritos
- Tela de Anúncio Comercial
- Buscar Melhor Rota (Origem - Destino)
- Enviar FeedBack
Erro ao criar miniatura: Arquivo não encontrado
- Entidade Externa: Usuário Editor de Rotas
- Interface gráfica composta com a seguinte tela:
D. Requisitos não-funcionais
- O aplicativo deverá funcionar em um smartphone ou tablet com os sistemas operacionais Android 4.0+ ou iOS7+.
- O tempo de resposta para a busca de uma rota deverá ser de no máximo 3 segundos;
- O usuário deverá conseguir realizar uma tarefa em no máximo 4 ações;
- Possibilitar o usuário utilizar o sistema em modo off-line;
- O aplicativo deverá se conectar com a internet ao menos uma vez por semana para otimizar as previsões de tempos de chegada e * evitar equívocos de previsão;
- A previsão do horário de chegada do ônibus em determinado ponto informado para o usuário deverá manter uma margem de erro de no máximo 5 minutos.
Protótipo
- Dinâmica: Criar projeto e de,demonstração
- Projeto: DFD , DER e DD postados na Wiki
- Demonstração: Desenvolvimento das funcionalidades abaixo:
- Buscar itinerario
- Visualizar anúncio
- Apresentar linhas e pontos de ônibus
