Desenvolvimento de um Sistema de Transportes de Cargas

Propaganda
Desenvolvimento de um Sistema de Transportes de Cargas
Utilizando Estrutura de Dados em Java
Rafael Spilere Marangoni1, Leandro Jerônimo1,
Leandro Barbosa1, Priscyla Waleska Targino de Azevedo Simões2, Cristiane
Raquel Woszezenki2
1
Acadêmico do curso de Ciência da Computação – Universidade do Extremo Sul
Catarinense (UNESC) – Criciúma, SC – Brasil
2
Professor(a) do curso de Ciência da Computação - Unidade Acadêmica de Ciências,
Engenharias e Tecnologias - Universidade do Extremo Sul Catarinense (UNESC) –
Criciúma, SC - Brasil
{rafaels_marangoni, leandrosjeronimo}@hotmail.com, [email protected],
{cristianerw, pri)@unesc.net
Resumo. Este artigo apresenta um trabalho interdisciplinar apartir de
conceitos de Estruturas de dados e Programação orientada a objetos. Teve
como objetivo, desenvolver um aplicativo voltado a gerenciamento de uma
agência de cargas. Foram utilizados as estruturas lista e pilha, implementados
em linguagem de programação Java, apartir da biblioteca padrão de gabaritos
(SLT). As classes definidas são: Agência, Cliente, Transportadora e Depósito.
Com o desenvolvimento dessa pesquisa, pode-se correlacionar os assuntos e
conhecimentos pertinentes às duas disciplinas desenvolvidas.
Palavras-chave: Estruturas de dados, programação orientada a objetos, coleções em
Java, linguagem Java.
1. Introdução
Hoje em dia, as estruturas de dados são métodos particulares de implementação de tipos
abstratos de dados. Os conceitos de fundamentação teórica desta pesquisa foram:
Estrutura de dados, listas lineares, listas encadeadas, filas, pilhas, filas de prioridades.
Tendo em vista estes conceitos e aplicando um trabalho interdisciplinar usando
estrutura de dados orientada a objetos, foi implementado um aplicativo para o auxílio de
gerenciamento de uma agência de carga.
1.1. Estrutura de dados
Segundo Hyman (1995), estrutura de dados é um método particular de se implementar
um tipo abstrato de dados (TAD).
Tipos de dados pode ser visto como métodos para interpretar o conteúdo da
memória do computador.
Podemos ver o conceito de Tipo de Dados de uma perspectiva: não em termos
do que um computador pode fazer (interpretar os bits), mas em termos do que os
usuários desejam fazer (somar dois inteiros).
Este conceito de Tipo de Dados divorciado do hardware é chamado Tipo
Abstrato de Dados.
A implementação de um tipo abstrato de dados, escolhe uma estrutura de dados
para representá-lo. Cada estrutura de dado é construída dos tipos básicos (int, real,
char) ou dos tipos estruturados (array, record) de uma linguagem de programação.
1.1.1. Listas Lineares
Segundo Sintes (2002), nas listas lineares a prioridade seqüencial funciona da maneira
onde existe um início que se localiza o primeiro elemento e um final onde encontramos
o último elemento. Suas classificações são designadas pela sua disciplina de acesso.
1.1.2. Listas com disciplinas de acesso
Para Lages (1994), listas encadeadas são implementações de listas baseadas em
estruturas ligadas. São formadas por conjuntos de nós que referenciam uns aos outros
em seqüência. Listas encadeadas são ilustradas como grafos.
1.2. Linguagem Java
Segundo Lemay e Cadenhead (1999), Java é uma linguagem de programação orientada
a objetos, desenvolvida por uma pequena equipe de pessoas na Sun Microsystems.
Inicialmente elaborada para ser a linguagem-base de projetos de software para produtos
eletrônicos, Java teve seu grande boom em 1995, devido ao sucesso mundial da World
Wide Web
Um problema no uso de linguagens de programação tradicionais em produtos
eletro-eletrônicos, por exemplo, reside no fato de que o consumidor em geral quer uma
longa vida útil para seu aparelho. De outro lado, ponto pacífico que a maioria dos
softwares são projetados já prevendo-se sua breve obsolência, ou seja, escreva um
programa hoje e em poucos meses ele estará ultrapassado. Desta forma, sempre que
novos processadores para eletrodomésticos fossem desenvolvidos, eles teriam de
apresentar uma espécie de compatibilidade retroativa.
1.3. Programação Orientada a objetos
Para Hubbard (2006), programação orientada a objetos, implementam os conceitos de:
Abstração, classe, objeto, encapsulamento, herança e polimorfismo.
Apesar de estar fortemente presente hoje nas linguagens de programação, é um
conceito antigo na computação, onde surgiu na área acadêmica.
A Programação Orientada a Objetos (POO) e a Programação Orientada a
Eventos (POE) são facilmente confundidas, mas lembre-se que a POO contém a POE,
mas a POE não contém a POO. Um objeto pode existir mesmo que não exista nenhum
evento associado a ele, mas um evento não pode existir se não houver um objeto a ele
associado.
1.4. Estrutura de dados em Java
Biblioteca padrão de gabaritos, mais conhecida como STL - Standard Template Library,
é uma biblioteca de classes container. Elas fornecem muitos algoritmos e iteradores que
contém a maioria dos algoritmos básicos e estruturas de dados da ciência da
computação.
Coleções em Java é uma estrutura de dados que permite armazenar vários
objetos. A coleção é um objeto de agregação. Suas operações variam, mas as mais
usadas são: Adição de elementos, remoção de elementos, pesquisa de elementos, acesso
de elementos.
2. Estudo de caso
O estudo de caso dessa pesquisa aborda o desenvolvimento de um aplicativo de
gerenciamento de uma Agência de Cargas baseado em estrutura de dados.
O aplicativo tem o intuito de coordenar o transporte de mercadorias do
fabricante para seus clientes. O software tem o objetivo de fazer com que a agência de
carga que faz a logística das mercadorias, tenha todos os dados do transporte.
Atravéz de arquivos texto são gravados todos os clientes cadastrados para,
posteriormente, uma melhor performance de busca.
Para cada novo cliente cadastrado, grava-se em uma pasta específica, criada
default no código do programa, o nome do cliente cadastrado com a extensão
RLLAgencia. Ao mesmo tempo, é gravado em outro caminho, também especificado no
código, todos os dados pedidos no cadastramento (Figura 1.1).
Com isso, quando o usuário solicitar o conteúdo do depósito, será mostrado
todos os clientes cadastrados anteriormente, conforme ilustrado na figura 1.3. Clientes
estes que estão contidos no arquivo texto salientado àcima.
As classes utilizadas foram: Agência, Cliente, Transportadora e Deposito. Foram
criadas algumas estruturas para o melhor encapsulamento do programa.
1
1.1
1.2
1.3
Figura 1: Parte gráfica do aplicativo, com os menus e sub-menus para interação e melhor
entendimento do usuário.
Figura 1.1: Tela de cadastramento de clientes.
Figura 1.2: Peso dos caminhões disponíveis na transportadora
Figura 1.3: Tela criada para mostrar todos os clientes cadastrados no depósito da agência.
Estruturas usadas: Pilha e fila.
3. Considerações finais
Apartir do desenvolvimento deste artigo pode-se concluir que teve-se um ótimo
desempenho do conteúdo, com uma nova experiência de unir duas disciplinas. Assim,
utilizamos orientação a objetos e estrutura de dados para o desenvolvimento do
aplicativo, apartir dos conceitos de estruturas como pilhas, filas, listas lineares, listas
encadeadas.
4. Referências
LEMAY, Laura; CADENHEAD, Rogers; Java 21 dias. São Paulo: Ed. Campus, 1999.
HYMAN, Michael I.; Visual C++2: Para Leigos, São Paulo, Ed. Berkeley, 1995.
SZWARCFITER, Jaime L.; Estrutura de dados e seus algorítmos, Rio de Janeiro, Ed.
LTC, 1994.
LAGES, Guimarães; Algorítmos e Estrutura de dados, Rio de Janeiro, Ed. Afiliada,
1994.
DROSDEK, Adam; Estrutura de dados e algorítmos em C++; São Paulo, Ed. Afiliada,
2002.
SINTES, Tony; Aprenda programação orientada a objetos em 21 dias; São Paulo, Ed.
Makron Books, 2002.
HUBBARD, John; Programação com Java; 2. ed; Porto Alegre, Ed. Bookman, 2006.
Download