ESCOLA ESTADUAL DE EDUCAÇÃO PROFISSIONAL ESTRELA TÉCNICO EM INFORMÁTICA SISTEMA DE LOCADORA Rodrigo Luiz da Rosa Estrela 2012 EIXO TECNOLÓGICO: Informação e Comunicação TÍTULO: SISTEMA DE LOCADORA AUTOR: Rodrigo Luiz da Rosa PROFESSOR ORIENTADOR: Clei Delco Acosta PROFESSOR COORIENTADOR: Fabrício Hartmann Borba INSTITUIÇÃO: Escola Estadual de Educação Profissional Estrela REDE: Estadual CIDADE: Estrela - RS RESUMO A evolução da tecnologia tem se destacado crescentemente em diferentes ramos. Trabalhos que antes eram executados manualmente estão sendo hoje, executados por computadores, surgindo a necessidade do desenvolvimento de um sistema de videolocadora que possa aperfeiçoar os processos, deixando as locações, devoluções, cadastros e principalmente pesquisas, mais eficazes. Este trabalho tem como objetivo desenvolver um sistema de locadora para contribuir para melhoria da produtividade do atendente, solucionando as principais funcionalidades. O sistema foi implementado utilizando a linguagem Java e o banco de dados SQL, com o auxílio de vários softwares, que vão desde a criação das tabelas do banco de dados, até a criação das telas do sistema e a geração de relatórios. Este software oferece várias funcionalidades, como cadastros e pesquisas de filmes e de clientes, que servem para cadastrar e pesquisar filmes e clientes, por todos os dados possíveis, além de locações e devoluções de filmes, que possuem determinada categoria, que servem para o usuário locar e reservar filmes para determinados clientes. Este sistema conta com uma interface muito amigável ao usuário e é um software de uso fácil, por possuir telas simples e de fácil entendimento. Também possui uma tela de relatórios de locações, que é utilizada para gerar relatórios de locações vencidas, dentre vários tipos vencidas entre datas ou vencidas na data atual ou todas as locações vencidas. Palavras-chave: Desenvolvimento de um sistema, Videolocadora, Locação. SUMÁRIO 1 INTRODUÇÃO ......................................................................................................... 5 2 OBJETIVOS ............................................................................................................. 6 2.1 Objetivo Geral ...................................................................................................... 6 2.2 Objetivos Específicos ......................................................................................... 7 3 JUSTIFICATIVA ....................................................................................................... 8 4 REFERENCIAL TEÓRICO ....................................................................................... 9 5 METODOLOGIA .................................................................................................... 10 5.1 Cronograma ....................................................................................................... 10 5.2 Custos ................................................................................................................ 11 5.3 Implementação .................................................................................................. 11 5.4 Ferramentas Utilizadas ..................................................................................... 11 6 RESULTADOS ....................................................................................................... 14 7 CONCLUSÕES ...................................................................................................... 25 REFERÊNCIAS ......................................................................................................... 26 1 INTRODUÇÃO A evolução tecnológica tem se destacado crescentemente em diferentes ramos. Trabalhos que eram realizados manualmente estão sendo hoje, executados por computadores, surgindo a necessidade do desenvolvimento de um sistema de videolocadora, que possa aperfeiçoar os processos, deixando as locações, devoluções, cadastros, que antes eram feitos em blocos de papéis, em fichas cadastrais, mais eficazes. Este trabalho tem como objetivo, analisar e reconhecer o funcionamento e as principais funcionalidades de uma videolocadora e especificar um sistema que possa atender a estas funcionalidades básicas. Sistema desenvolvido para gerenciamento de videolocadora, que pela grande quantidade de locações realizadas no dia, busca a sua informatização para se tornar mais rápido o atendimento a seus clientes, vendo a necessidade de usar ferramentas para a realização de cadastros de filmes e clientes e para gerenciamento da locação e devolução de filmes, utilizando banco de dados relacional, possui interface amigável para o usuário. Com esse sistema se saberá o que está acontecendo na sua videolocadora, com apenas alguns cliques do mouse. Nos próximos capítulos serão apresentados detalhadamente todos os passos realizados durante a efetuação do trabalho, junto aos programas e recursos utilizados, para a sua criação. 2 OBJETIVOS Os objetivos estão divididos em objetivo geral e objetivos específicos, mostrados abaixo. 2.1 Objetivo Geral Desenvolver um sistema de locadora para contribuir para melhoria da produtividade do atendente de uma locadora. 2.2 Objetivos Específicos - Criar um modelo do banco de dados para o sistema; - Criar telas de login para os usuários se logar no sistema e tela principal que conterá botões de acesso rápido, com as principais funções do sistema; - Criar tela de cadastro de usuários, em que eles serão cadastrados conforme sua função; - Criar tela de cadastro de filmes, na qual os usuários irão cadastrar filmes no sistema e editar filmes já cadastrados; - Criar tela de cadastro de clientes, em que os usuários cadastrarão clientes no sistema e editar clientes já cadastrados, com a opção de cadastrar autorizados para um determinado cliente e editar esses autorizados; - Criar tela de pesquisa de filmes, em que o usuário utilizará filtros de pesquisa para buscar por qualquer filme que esteja cadastrado no sistema, para uma possível edição; - Criar tela de pesquisa de clientes, em que o usuário utilizará filtros de pesquisa, através dos quais pesquisará por qualquer filme que esteja cadastrado no sistema, para uma possível edição, informando também se o filme está ou não, disponível no momento; - Criar tela de locação de filmes em que o usuário informará a um cliente ou um autorizado do cliente, já cadastrados no sistema, e os filmes que serão locados, podendo efetuar o pagamento ou não; - Criar tela de devolução de filme, em que o usuário informa o nome do cliente que fará a devolução e o sistema listará os filmes deste cliente e quem deverá efetuar o pagamento dos filmes, caso ainda não tenha sido efetuado; - Criar tela de pesquisa de locações na qual o usuário poderá pesquisar por todas as locações vencidas até a data atual ou pesquisar por locações vencidas na data atual; - Criar tela de relatório de locações na qual poderão ser gerados os relatórios de locações vencidas até a data atual ou de locações vencidas na data atual ou de locações vencidas entre as datas informadas pelo próprio usuário; - Agilizar a locação e devolução de filmes; - Analisar sistemas similares; - Possibilitar maior controle nas locações; 3 JUSTIFICATIVA O desenvolvimento de um software para a informatização das empresas vem apresentando um grande crescimento. Assim, espera-se obter melhor desempenho e lucratividade nos comércios com a utilização de sistemas. Para incrementar o faturamento de uma videolocadora, aumentar os lucros, principalmente, aperfeiçoando os processos e visualizando a continuidade de seu negócio, surgiu a necessidade de desenvolver um sistema que pudesse substituir o trabalho manual. Locações, devoluções, cadastros, deixarão de ser feitos em blocos de papel e fichas cadastrais, passando a ser executados em um sistema próprio para locadora, melhorando o desempenho dos funcionários e, consequentemente, o atendimento aos clientes. Assim, será possível contabilizar o acervo de filmes e buscar um determinado filme para saber se está ou não, na locadora, através de pesquisas que poderão ser realizadas no sistema. 4 REFERENCIAL TEÓRICO Em meados da década de 80, com o lançamento dos primeiros videocassetes e das fitas VHS começou a surgir um novo empreendimento, as videolocadoras. Elas compravam fitas de distribuidores de filmes e locavam a clientes por um preço acessível. As fitas eram divididas em categorias e cada categoria tinha o seu preço específico e a quantidade de dias que o cliente poderia ficar com o filme. Com o intuito de melhorar a capacidade de armazenamento de aplicações multimídia, surgiu por volta de 1990, uma nova tecnologia de compreensão de dados, o chamado DVD. As locadoras, com o surgimento do DVDs, começaram a investir nessa nova tecnologia. A procura por esses discos vinha aumentando cada vez mais em relação às fitas de vídeo. Isso se deve ao fato de que, tanto ao som, quanto à imagem são melhores do que nas fitas VHS. Quase todas as locadoras estão investindo somente em DVDs, deixando de oferecer locações de fitas. Desde o surgimento das primeiras videolocadoras até atualmente, o serviço oferecido por elas vem melhorando a cada dia. Hoje, encontram-se diferentes tipos de empreendimentos, desde os mais sofisticados até os mais simples. Algumas locadoras investem em serviços on-line. Através dos sites, os clientes podem locar e reservar, ler a sinopse dos filmes e realizar pesquisas, dentre outros serviços. As chamadas videolocadoras são locais que se disponibilizam locações de vários filmes, oferecidos na locadora, para clientes cadastrados. Os filmes são divididos em várias categorias, cada uma contendo seu valor específico. O principal intuito da locadora é melhorar e agilizar o processo de locação, e com isso, proporcionar aos clientes um melhor atendimento. Para isso, o proprietário de uma locadora deseja um sistema que possa facilitar as funções de locação, devolução e cadastro de filmes. Para cada locação ou devolução, calcular o valor a ser pago pelo cliente. O sistema deverá também possibilitar a realização de pesquisas. A fim de facilitar os processos que correspondem ao funcionamento de uma videolocadora, o sistema criado servirá para o controle de locações e devoluções, geração de relatórios, cadastros e edições, todos criados com o auxílio de várias ferramentas que serão explicadas a seguir. 5 METODOLOGIA Foram realizadas pesquisas bibliográficas sobre o assunto, para aprofundamento teórico e comparações com sistemas similares, analisando o que tinham de pontos fortes e pontos fracos a serem melhorados. O banco de dados foi criado com o auxílio da ferramenta DBDesigner, responsável por gerar um script de criação das tabelas do banco de dados, e o software, foi desenvolvido através da linguagem Java, com o auxílio do IDE NetBeans. Com todas essas ferramentas e programas, explicados a seguir, para criação das telas, do modelo do banco de dados e geração de relatórios, o software foi desenvolvido. 5.1 Cronograma O cronograma, a seguir, foi criado para manter controle dos passos que foram dados, os que faltam e os que foram concluídos: 5.2 Custos O projeto não apresentou custo algum, pois foram utilizadas apenas ferramentas gratuitas como dbDesigner, WampServer, NetBeans, MySQL Query Browser. 5.3 Implementação O software foi desenvolvido visando uma interface mais amigável e interativa ao usuário, com alguns controles de campos, mostrados a seguir. 5.3.1 Controles Foram criadas classes de validação de campos para não aceitar letras em campos que necessitam somente de números, para formatar datas de String em Date e vice-versa, controlar a devolução de filmes para que não caia em Domingos e para os filmes trocarem de categorias automaticamente. Também foram criadas classes para fazer a conexão com o banco de dados e com funções referentes à ferramenta ireport, como de conexão e de geração de relatórios. 5.3.2 Interface A interface foi desenvolvida toda em Java, com o auxílio da ferramenta NetBeans. As telas possuem botões com funções para ir para todas as demais telas, em uma só, evitando que o usuário precise percorrer um longo caminho até o destino. O software é de fácil entendimento e manuseio, por possuir uma interface amigável e interativa. 5.4 Ferramentas utilizadas Foram utilizadas várias ferramentas para criação do projeto, visando uma melhor qualidade e obtenção dos resultados. Foram utilizadas ferramentas para criação do modelo do banco de dados, uma IDE(Integrated Development Environment) para desenvolver o código e um Plugin para JasperReports. A seguir, um pouco de cada ferramenta utilizada. 5.4.1 Banco de dados - SQL SQL é uma linguagem declarativa utilizada para definição e manipulação de bancos de dados, que sejam aderentes a este padrão. É uma linguagem padrão e normalizada de comunicação, com base de dados. Escolhido por ser o grande padrão de banco de dados e por causa de sua simplicidade e facilidade de uso. 5.4.2 Linguagem de programação – Java Java é uma linguagem de programação e uma plataforma de computação, que capacita muitos programas da mais alta qualidade, como utilitários, jogos e aplicativos corporativos. Java é o mais executado em computadores pessoais e dispositivos em todo o mundo, inclusive em celulares e dispositivos de televisão. Escolhida por ser concisa e simples, portável, segura e pode ser implementada, indiferentemente, da plataforma. 5.4.3 IDE – Netbeans 7.1.1 O Netbeans é um ambiente de desenvolvimento integrado (IDE) gratuito e executado em muitas plataformas, como Windows, Linux, Solaris e Mac OS. Oferece aos desenvolvedores todas as ferramentas necessárias para criar vários tipos de aplicativos. Fornece uma base sólida para a criação de projetos e módulos, possui um grande conjunto de bibliotecas, além de uma documentação bem organizada. Escolhido por ser fácil de instalar e usar, por ser totalmente escrito em Java. 5.4.4 Modelagem do banco de dados – DBDesigner 4 DBDesigner é um editor visual para criação de banco de dados MySql que integra criação, modelagem, desenvolvimento e manutenção dos bancos em um ambiente simples e agradável. Possui interface simples para oferecer uma maneira mais eficiente para administrar o banco de dados e permitir uma modelagem mais detalhada. 5.4.5 WampServer O WampServer é usado para instalar rapidamente no computador os softwares PHP 5, MySql e Apache localmente no Windows, por isso a sigla WAMP (W=Windows, A=Apache, M=MySql, P=PHP). Foi utilizado para fazer as buscas no banco de dados, antes de ser inseridas no software, para um melhor controle. 5.4.6 MySQL Query Browser O MySQL Query Browser é uma ferramenta gráfica fornecida pela MySQL AB para criar, executar e otimizar solicitações SQL em um ambiente gráfico. Criado para auxiliar a selecionar e analisar dados armazenados dentro de um banco de dados MySQL. O MySQL Query Browser permite a execução e edição dos dados de maneira gráfica, que é mais intuitiva para o usuário.Também foi utilizado para fazer as buscas no banco de dados, de maneira mais segura. 5.4.7 iReport 4.5.1 O iReport é uma ferramenta que visa facilitar a construção de relatórios utilizando a biblioteca JasperReports, através de uma interface gráfica desenvolvida em Swing. Ele dispõe de importantes ferramentas para desenvolver relatórios complexos e demorados. Foi utilizado para criar e gerar os relatórios do software. 6 RESULTADOS Nesta parte do projeto, serão explicados e ilustrados todos os resultados obtidos no decorrer do projeto, sendo eles, o funcionamento do sistema, a modelagem do banco de dados e a criação das telas. 6.1 Funcionalidade O funcionamento do projeto consiste em mostrar a facilidade com a qual o usuário pode utilizar o sistema e a forma de como serão os caminhos que ele percorrerá pelo sistema. A figura abaixo mostra a facilidade do sistema e os pequenos caminhos que o usuário irá percorrer. Figura 1 – Funcionamento do sistema Fonte: dados fornecidos pelo autor. Modelagem dos Dados “O modelo entidade-relacionamento (E-R) tem por base a percepção de que o mundo real é formado por um conjunto de objetos chamados entidades e pelo conjunto, dos relacionamentos entre esses objetos.” Cada entidade possui propriedades particulares que são os atributos. Tomando como exemplo a tabela CLIENTES, onde serão armazenadas as informações dos clientes e essas são os chamados atributos ou campos da tabela da entidade cliente. A associação entre uma ou mais entidades é chamada de relacionamento. Por exemplo, a tabela CLIENTES, associa-se com à tabela AUTORIZADOS. A figura 2, ilustra o modelo de dados de uma videolocadora, tema desse trabalho. O banco de dados conta com 12 tabelas relacionadas de acordo com o modelo apresentado na página anterior, abrangendo as principais necessidades de uma videolocadora. A tabela clientes é responsável por armazenar todos os dados referentes ao cliente, que pode ser de um determinado estado (tabela estados) e de uma determinada cidade (tabela cidades). Como os clientes podem ter pessoas autorizadas a locar em sua ficha a tabela autorizados, foi criada com o intuito de armazenar as informações dessas pessoas. Informações como o nome e sobrenome do autorizado, seu RG e o código do cliente ao qual esse autorizado pertence, são os dados que serão inseridos na tabela autorizados. Um cliente pode locar um ou mais exemplares de um filme, a tabela itenslocacao serve para armazenar os itens locados de uma locação (tabela locação). A tabela filmes armazena os dados dos filmes, que possuem um país de produção (tabela paisproducao) e um gênero (tabela genero). O preço de cada locação depende da categoria (super-lançamento, lançamento etc.), para isso foi criada a tabela categoria, na qual o usuário poderá adicionar alterar ou excluir categorias. Essas categorias possuem um tempo de duração e um tempo de locação, ambos informados em dias, pelo usuário, no cadastro ou na edição das categorias, que servem para obter um maior controle na locação e na devolução de filmes. O sistema altera a categoria dos filmes e calcula as multas de atrasos das locações, automaticamente. Na locação também será informado o usuário que a está fazendo, para um determinado cliente. Este usuário pode ter diferentes funções dentro da video locadora, para isso foram criadas as tabelas usuários e função. 6.2 Apresentação das Telas A interface gráfica de um sistema é algo que os desenvolvedores devem se preocupar. É através dela que o usuário irá interagir com as funcionalidades do sistema. As telas devem ser claras e objetivas. A seguir, encontram-se algumas telas utilizadas no sistema de video locadora e suas respectivas funcionalidades. 6.2.1 Tela de Login A figura 3, representa a tela de login do sistema. Através dela que será feita a identificação do usuário, que poderá se logar ao sistema, com suas determinadas funcionalidades. Figura 3 – Tela de Login 6.2.2 Tela Principal Nessa tela que o usuário escolherá a função que pretende executar, sendo elas: cadastro de clientes, cadastro de filmes, pesquisa de clientes, pesquisa de filmes, locação de filmes, devolução de filmes, cadastro de usuários, edição de usuários, pesquisa de locações e relatórios de locações. Esta tela possui um menu com as opções de cadastro de filmes e de clientes, pesquisa de filmes e de clientes, locação e devolução de filmes, pesquisa e relatório de locações e a opção sair. Também possui alguns botões de acesso rápido como: cadastro de clientes, cadastro de filmes, pesquisa de clientes, pesquisa de filmes, locação de filmes, devolução de filmes e sair, que serão os mais utilizados pelo usuário, como mostra a figura 4. Figura 4 – Tela Principal 6.2.3 Cadastro de Clientes A figura 5 representa a tela de cadastro de clientes. Através dela pode-se cadastrar ou alterar dados de clientes e autorizados do próprio cliente. Nessa tela o usuário deve fornecer os dados dos clientes a serem cadastrados. Depois de preenchidos os dados, devem-se salvá-los, clicando no botão cadastrar. Alguns clientes informam pessoas autorizadas a locarem filmes em seu nome. Tais pessoas devem ser cadastradas. Por isso, foram criadas três opções para cadastrar autorizados, no máximo três, que quando clicado permite o preenchimento dos dados tais como: o nome do autorizado, seu sobrenome e seu RG. Feito isso, ele clica no botão cadastrar para salvar todos os dados do cliente e dos autorizados do cliente. Figura 5 – Tela de Cadastro de Clientes 6.2.4 Cadastro de Filmes A figura 6 abaixo, mostra a tela de cadastro de filmes. Através dela pode-se cadastrar e alterar dados de um determinado filme. Nessa tela o usuário deve informar os dados do filme e salvá-los clicando no botão cadastrar. Também possui o botão adicionar imagem que o usuário tem a opção de inserir alguma ao filme. Figura 6 – Tela de Cadastro de Filmes 6.3.5 Pesquisa de Locações A figura 7 mostra a tela de pesquisa de locações. Tal pesquisa pode ser efetuada para saber as locações que estão vencidas ou para saber as locações que estão vencendo na data atual. Ela retornará as seguintes informações: nome e telefone do cliente, o filme que está locado e a data de locação e devolução. O usuário, se desejar, poderá gerar um relatório e imprimi-lo através do botão relatório. Figura 7 – Tela de pesquisa de locações 6.3.6 Pesquisa de Clientes A figura 8 representa a tela de pesquisa de clientes. Através dela pode-se pesquisar um cliente pelo seu código, nome, sobrenome, RG ou endereço e obter seus dados e de seus autorizados, para uma possível edição. Figura 8 – Tela de Pesquisa de Clientes 6.3.7 Pesquisa de Filmes A figura 9 mostra a tela de pesquisa de filmes. Através dela, pode-se pesquisar um filme pelo seu código, nome, categoria, gênero, classificação e lançamento para uma possível edição. Figura 9 – Tela de Pesquisa de Filmes 6.3.8 Locação de Filmes A figura 10 mostra a tela de locação. Essa tela deve informar o nome e o sobrenome do cliente, deve também informar o código do filme que deseja ser locado. Também pode fazer a busca de clientes e filmes pelos botões CLIENTE e FILME. A data de devolução é automaticamente preenchida, dependendo da categoria do filme locado e se o dia de devolução cair em um domingo, ela pula automaticamente para a segunda-feira. Caso o cliente resolva não locar um determinado filme basta clicar no botão excluir. Definidos todos os filmes, o usuário deve clicar no botão finalizar. No canto inferior da tela possui uma opção de pagamento, que o cliente escolhe se deseja efetuar na locação ou na devolução. Quando é um autorizado que deseja fazer a locação, o usuário deve primeiro selecionar o cliente ao qual o autorizado pertence, após isso, o sistema irá autocompletar os campos dos autorizados, com todos os autorizados do cliente e poderá conferir se ele está cadastrado. Figura 10 – Tela de Locações 6.3.9 Devolução de Filmes A figura 11 mostra a tela de devolução. Para efetuar a devolução de determinados filme de um cliente, basta digitar o nome e o sobrenome dele, ou pesquisar pelo botão CLIENTE. Se o cliente tiver feito mais de uma locação ou tiver locado mais filmes na mesma locação, a tabela será automaticamente preenchida com todos esses filmes e com as informações de todos os filmes. O sistema, automaticamente, trará todas as informações referentes, tais como: valor das multas, se foi algum autorizado e se o pagamento já foi efetuado ou não. Para finalizar a devolução, basta clicar no botão Finalizar. Figura 11 – Tela de Devoluções 6.3.10 Usuários A figura 12 mostra a tela de cadastro de usuários. Nessa tela poderão ser feitos o cadastro, a edição e a exclusão de usuários. Figura 11 – Tela de Cadastro e Edição de Usuários 6.3.10 Relatórios A figura 12 mostra a tela de relatório. Para gerar e imprimir as informações das locações, deve-se informar o tipo de pesquisa a ser impressa e clicar no botão imprimir. Figura 12 – tela de relatório de locações Poderão ser impressas, as locações que estão vencendo na data atual, todas as locações vencidas e também as locações que vencerão num intervalo de tempo, informando a data inicial e a data final. 7. CONCLUSÕES O software cumpriu todas as metas descritas na proposta e conforme foram sendo criadas as telas e suas referentes funcionalidades, mais controles e ideias foram surgindo, a fim de melhorar a funcionalidade do software. Futuramente, para melhorar ainda mais o atendimento, poderá ser implementado no sistema leitor de código de barras, que facilitará e agilizará as locações, deixando o sistema mais seguro. Este trabalho foi de grande importância para o aprendizado e aprofundamento nos recursos do Java. Com ele, expandiu-se o conhecimento sobre as ferramentas utilizadas e o banco de dados SQL também aumentou, facilitando mais a forma buscar e inserir informações, no banco de dados e uma maior facilidade em utilizar os recursos destas ferramentas. Assim, todas as metas estipuladas foram cumpridas, fornecendo ao usuário diversas opções que passam desde o cadastro, edição, locação, devolução, pesquisa e geração de relatórios. REFERÊNCIAS CHOFFNES, DEITEL. Sistemas operacionais. 3ª ed.São Paulo:Pearson\Prentice Hall, 2008. GUEDES, T. A.Gilleanes, UML- Uma abordagem prática.São Paulo: Novatec, 2009. SILBERSCHATS, A.; KORTH, H. F.; SUDARSHAN, S. Sistema de banco de dados. 3ª ed. São Paulo: Makron Books, 1999. ANEXOS Anexo 1: Relatório de locações vencidas Fonte: Dados fornecidos pelo autor.