.:: ELC119 - Fundamentos de Bancos de Dados ::.

Aluno: Lucas Antunes Tambara
Matrícula: 2710246
E-mail: ltambara@inf.ufsm.br
Disciplina: Fundamentos de Bancos de Dados (ELC119)
Semestre: 2/2008

.:: Trabalho 03 ::.

Alunos: Lucas Antunes Tambara (2710246) e Vinícius Stein Dani (2711169).

Título: Sistema de gerência de linhas de ônibus com logradouros georeferênciados através do Google Maps.

Data: 08/12/2008.

Motivação:
O objetivo deste trabalho é desenvolver um software utilizando os conceitos de bancos de dados expostos em aula.

O software foi desenvolvido na linguagem de programação PHP com orientação à objetos e utilizando-se do gerenciador de bancos de dados MySQL, tendo assim como plataforma base a web.

O tema foi escolhido devido ao fato de que sua abordagem representaria grande utilidade para a cidade de Santa Maria, uma vez que esta é uma cidade essencialmente universitária. Desta forma, tem-se como principal fator para a intensa demanda no transporte urbano o foto de que o campus principal da UFSM está localizado em um bairro afastado da região central da cidade. Também foi relevante a escolha das ferramentas utilizadas (PHP e MySQL), tendo em vista que nós já trabalhamos com estas ferramentas antes de cursarmos a disciplina.

Descrição:
Funcionalidades do sistema:
- Há uma área administrativa (restrita) e uma área aberta aos usuários.
- Mantém dados sobre empresas de ônibus que atuam no transporte urbano.
- É possível o armazenamento de dados sobre as linhas de ônibus de cada empresa. Ressalta-se que uma linha pode ser operada por apenas uma empresa, de forma que cada linha de ônibus possui um único itinerário e um único quadro de horário.
- O itinerário é composto por uma seqüência de logradouros onde se situam as paradas, por exemplo: Universidade: 1 – Praça dos Bombeiros, 2 – Rua Niederauer, 3 – Rua Duque de Caxias. Um mesmo logradouro pode estar presente nos itinerários de diferentes linhas.
- O quadro de horários de cada linha indica os horários de saída dos ônibus em dias úteis. Mantém-se apenas o horário nas paradas de saída, sem registrar as paradas intermediárias. Os quadros de horários não são compartilhados pelas diferentes linhas/itinerários.
- Consultas: Linhas de uma determinada empresa, dado o nome dessa empresa; Itinerário de uma determinada linha, dado o nome dessa linha; Quadro de horários de uma determinada linha, dado o nome dessa linha; Linhas de ônibus que passam por um determinado logradouro, dado o nome desse logradouro; Horários de saída de ônibus de uma linha, dado o nome dessa linha e o intervalo de horários de interesse; Visualização do itinerário de uma linha no Google Maps, dado o nome da empresa e sua linha.

Etapas do desenvolvimento:
1. Primeiramente, vale ressaltar que a escolha do tema se deu com a finalidade de aperfeiçoar o trabalho anterior utilizando ferramentas conhecidas e muito utilizada por nós, adicionando funcionalidades extremamente úteis para uma melhor interação do usuário final com o sistema.
2. Feita a escolha do tema e das ferramentas de desenvolvimento, foi estruturado o bando de dados através de um modelo de dados utilizando o DBDesigner 4. Feito o modelo de dados, gerou-se o script SQL para a criação do banco de dados no gerenciados MySQL.
3. Com o banco de dados já em funcionamento, foi desenvolvido o módulo administrativo do sistema primeiramente, e depois o módulo usuário.
4. A última parte desenvolvimento, e a mais interessante, foi a integração do sistema com a API do Google Maps.

Ferramentas e recursos utilizados:
- Linguagem de programação: Foi utilizada a linguagem de programação PHP com orientação a objetos.
- Sistema gerenciador de bancos de dados: Foi utilizado o MySQL e diversas de seus recursos, como: visões, consultas por uma cadeia de caracteres, consultas com ordenação, consultas com verificação de existência de campos, consultas aninhadas, consultas em intervalos, junções.
- API do Google: Foram utilizadas funções fornecidas pelo Google para a manipulação de dados com o Google Maps.

Fontes de consulta/Bibliografia:
www.php.net
www.mysql.com
www.code.google.com/apis/maps/

Resultados:
- Modelo Entidade-Relacionamento:
JPEG
XML

- Script SQL:
SQL

- Código-fonte do sistema (apenas parcial, a parte de integração com o Google Maps será enviada por e-mail):
RAR

- Exemplo de uso:
LINK
JPEG


Reflexão:
O desenvolvimento deste trabalho foi extremamente útil, pois com ele pode-se aprimorar o desenvolvimento de aplicações “comerciais”, com integração com um banco de dados e utilizando o paradigma de programação orientado a objetos.

Além disso, o uso da API do Google foi muito interessante, pois se pode observar a gama de funcionalidades extremamente úteis que podemos adicionar em sistemas tendo suporte do Google.

Será dada continuidade ao desenvolvimento após a entrega deste, pois, a idéia geral do mesmo se mostra bastante útil para a cidade, inicialmente, de Santa Maria.