Escolar Documentos
Profissional Documentos
Cultura Documentos
Banca Examinadora:
_______________________________________
Prof. Wilian Bouvir
_______________________________________
Prof. Me. Andr Fernando Rollwagen
_______________________________________
Prof.. Carmen Vera Scorsatto
________________________________________
Coordenao do Curso
A mim, pela persistncia, a minha noiva, pela pacincia e aos meus amigos pela compreenso,
apoio e o estmulo em todos os momentos.
AGRADECIMENTOS
This paper presents design and development of a management garages system using the Java
programming language, PostgreSQL database, frameworks JavaServer Faces, Primefaces,
Hibernate and other tools needed to develop the system. The system developed based on the
technologies studied consists of a tool that helps the operation of a machine shop and its
employees in customer service, fulfillment services and control of your parts inventory.
1 INTRODUO .............................................................................................................. 13
1.1 MOTIVAO ................................................................................................................ 13
1.2 OBJETIVOS ................................................................................................................... 14
1.2.1 Objetivo Geral .............................................................................................................. 14
1.2.2 Objetivos especficos .................................................................................................... 14
3 METODOLOGIA ........................................................................................................... 28
3.1 PLANEJAMENTO ......................................................................................................... 28
3.2 CONSTRUO.............................................................................................................. 28
3.2.1 Testes ............................................................................................................................ 28
3.2.2 Documentao .............................................................................................................. 28
3.3 IMPLANTAO ............................................................................................................ 29
3.4 AVALIAO E MANUTENO ................................................................................ 29
5 DESENVOLVIMENTO E CONSTRUO.................................................................. 41
5.1 CONFIGURAO INICIAL DO PROJETO ................................................................ 41
5.2 CONFIGURAO DO HIBERNATE ............................................................................ 44
5.3 CRIAO DOS PACOTES JAVA:............................................................................... 46
5.4 TELAS DO SISTEMA ................................................................................................... 46
7 REFERNCIAS .............................................................................................................. 61
13
1 INTRODUO
J sabemos que o uso de computadores indispensvel em todas as reas de atuao do
ser humano, sendo elas comerciais, industriais, governamentais ou residenciais. O que est se
tornando indispensvel o uso da internet, nenhum ramo acima descrito funciona bem sem seu
uso.
A necessidade de consultar informaes, o uso de e-mail para comunicao entre
clientes e fornecedores e at mesmo o uso da nota fiscal eletrnica juntamente com a
estabilidade e velocidade da internet atual, torna praticamente obrigatrio o seu uso.
Este pesquisador vem trabalhando a muitos anos no setor de manuteno na rea de
Tecnologia da Informao (TI), sempre encontrando problemas com mau funcionamento de
computadores em diversos ramos de atividade do setor comercial. Os problemas com os
computadores vo desde uma queda de energia at contaminao por vrus, incluindo tambm
o mau funcionamento da mquina ou do Hard Drive (HD). Devido a necessidade de uma
limpeza ou at mesmo da reinstalao do sistema operacional, o cliente fica um ou mais dias
sem o seu computador pessoal (Personal Computer PC), observando que em alguns casos
existe a perda de dados.
Partindo ento do que foi descrito acima, decidiu-se de que se no lugar de um sistema
instalado no PC fosse feito um sistema na web, no haveria a necessidade de ficar sem o
controle de sua empresa por um ou mais dias e tambm no haveria a perda de dados, pois tudo
estaria salvo na nuvem, ou seja, na internet e poderia ser acessado por qualquer computador,
notebook e, dependendo do sistema desenvolvido, por smartfones e tablets.
Neste trabalho iremos desenvolver um sistema de gerenciamento para a oficina
mecnica Auto Mecnica Pedrinho1, utilizando a linguagem Java e o banco de dados postgresql,
juntamente com os frameworks javaserver faces e primefaces.
1.1 MOTIVAO
De acordo com o Portal Brasil (2013), do governo federal, as Micro e Pequenas
Empresas (MPEs) representam 20% do Produto Interno Bruto brasileiro, so responsveis por
60% dos 94 milhes de empregos no pas e constituem 99% dos 6 milhes de estabelecimentos
formais existentes no pas.
1
Auto mecnica Pedrinho est situada na cidade de Passo Fundo RS e est em atividade a mais de 40 anos
14
1.2 OBJETIVOS
Este trabalho tem por objetivo transcrever todo o procedimento necessrio para a criao
de um software e pr em pratica o conhecimento adquirido no curso de Tecnologia em Sistemas
Para a Internet (TSPI) do Instituto Federal Sul Rio-grandense (IFSul).
2 REFERENCIAL TERICO
Neste captulo apresentado o estudo sobre a anlise e levantamento de requisitos, as
linguagens de programao, em especial a linguagem Java, frameworks JavaServer Faces e
Primefaces e o conceito de Banco de Dados Relacional.
Estes conceitos so relevantes para o desenvolvimento do sistema e auxiliam no bom
andamento de cada etapa.
Procedimento Descrio
Entrevistas no estruturadas Informal ou sem agenda pr-definida
Entrevistas estruturadas Com uma agenda pr-definida
Observao do comportamento Observar os usurios em seu ambiente de
trabalho
Aprendizagem com o usurio Analisa e discute com o usurio a maneira como
feito o trabalho
Prototipagem Desenvolvimento de um modelo que simular o
sistema real
Brainstorming Reunio com vrias pessoas onde todos
discutem um tema central
17
2.1.4.1 Confiabilidade
So medidas quantitativas da confiabilidade do sistema, como por exemplo, o tempo
mdio entre falhas e recuperao de falhas.
2.1.4.2 Portabilidade
Trata-se da facilidade de migrar o sistema para outras plataformas. Que devemos dar
uma ateno, para que o sistema rode em qualquer lugar.
2.1.4.3 Segurana
So descritas as particularidades sobre acessos ao sistema, segurana com o uso de
login, restringir acesso de algumas pessoas, entre outros.
2.1.4.4 Usabilidade
So descritos os requisitos que se relacionam ou afetam a usabilidade do sistema. Coisas
relacionadas facilidade de uso, sobre a necessidade de treinamentos para os usurios.
A anlise e refinamento dos requisitos uma Etapa importantssima do processo de
documentao e projeto.
2.2 UML
A Unified Modeling Language (UML) um modelo de linguagem para modelagem de
dados orientado a objetos, usada para especificar, construir, visualizar e documentar um sistema
de software.
A UML permite que desenvolvedores visualizem os produtos de seus trabalhos em
diagramas padronizados.
importante distinguir entre um modelo UML e um diagrama (ou conjunto de
diagramas) de UML. O ltimo uma representao grfica da informao do primeiro, mas o
primeiro pode existir independentemente. A UML um modo de padronizar as formas de
modelagem.
2.2.1 Diagramas
Casos de Uso:
Diagrama mais geral da UML;
Usado geralmente nas fases de Levantamento e Anlise de Requisito do Sistema;
Mostra como o sistema ir se comportar.
20
Na figura 1, foi criado um ator chamado Usurio que representa os usurios (atores
Cliente, Caixa e Gerente) de um sistema bancrio. O ator Usurio ir executar os casos de uso
Sacar Dinheiro e Depositar Dinheiro. (Devmedia, 2015).
Diagrama de Classes
o diagrama mais utilizado da UML, ele serve de apoio para a maioria dos outros
diagramas. O diagrama de classes define a estrutura de classes do sistema e estabelece como as
classes se relacionam;
o mais importante e o mais utilizado diagrama da UML.
A figura 2 representa como o diagrama de classes permite a visualizao das classes que
comporo o sistema com seus respectivos atributos e mtodos, bem como os relacionamentos
entre as classes.
2.3 JAVA
Existem vrias linguagens de programao para a criao de sistemas e dentre elas se
destaca a linguagem Java, de acordo com o ranking do Instituto de Engenheiros Eltricos e
Eletrnicos (Institute of Electrical and Electronics Engineers - IEEE) ela lidera o ranking das
linguagens de programao sendo a que vem sendo mais utilizada no mundo. (Canaltech, 2015)
O Java aparece em primeiro lugar no ranking, atingindo 100 pontos, mas seguido de
perto pela linguagem C com 99,2 pontos e em terceiro lugar est o C++ com 95,5. Outras
linguagens de programao web tambm muito utilizadas, PHP e Ruby, s aparecem na sexta
e oitava posies, respectivamente, como mostra a figura 3.
Lanada em 1995 pela Sun Microsystems e atualmente mantida pela Oracle, uma
linguagem de programao multiplataforma que, de acordo com a Oracle, executada em mais
de 850 milhes de computadores pessoais e em bilhes de dispositivos em todo o mundo,
inclusive telefones celulares e demais dispositivos mveis.
De acordo com Santos Jnior (2006, p. 3): A linguagem JAVA multiplataforma, esta
afirmao reporta ao fato de que um programa escrito na linguagem JAVA pode ser executado
em qualquer plataforma(sistema operacional) sem necessidade de alteraes no cdigo-fonte.
22
2.5 Primefaces
PrimeFaces uma biblioteca de componentes ricos em JavaServer Faces. A sute de
componentes inclui diversos campos de entrada, botes, tabelas de dados, rvores, grficos,
dilogos, etc. Os componentes do PrimeFaces possuem funcionalidade de Ajax integrado,
baseado na API de Ajax do JSF (Faria, 2015).
Componentes do modelo ER
- Entidades tabelas onde sero salvos os dados do sistema
- Atributos dados das tabelas
- Relacionamentos associaes entre os atributos, ligaes entre as tabelas
As chaves estrangeiras so definidas pelos relacionamentos
Modelo Conceitual
- Relacionamento entre as classes.
Modelo lgico
- Representao das classes, atributos e campos.
Modelo fsico
- Corresponde s restries da tecnologia escolhidas no modelo lgico e sua
implementao em um ambiente operacional com resultado factvel com hardware e
software.
A figura 6 um exemplo de modelo entidade-relacionamento de um sistema
farmacutico.
Tabela 2 - Normatizao
Usuarios
usu_id_pk Serial Not null
usu_nom Varchar, 50 Not null
usu_user Varchar, 20 Not null
usu_senha Varchar, 30 Not null
usu_dat_cad Date Not null
usu_ult_ace Date Not null
Fonte: Elaborado pelo autor (2015)
28
3 METODOLOGIA
O desenvolvimento do sistema est dividido em:
-Planejamento
-Construo
-Implantao
-Avaliao e Manuteno
Neste trabalho ser explicado as 4 etapas, mas, ser mostrado apenas o planejamento e a
construo do sistema de gerenciamento de oficinas mecnicas
3.1 PLANEJAMENTO
necessrio realizar um levantamento dos requisitos do sistema junto com o cliente,
avaliar os problemas e as necessidades do cliente e documentar essas informaes que sero
fundamentais o desenvolvimento do projeto.
A fase de planejamento inclui a identificao do cliente, o levantamento dos requisitos,
a modelagem do sistema, o projeto do banco de dados o levantamento dos recursos e custos,
avaliar a viabilidade e a elaborao do cronograma inicial.
3.2 CONSTRUO
Na construo do sistema necessrio definir nveis de segurana da aplicao,
versionamento do cdigo fonte, construo da aplicao em si, criao de teste, promover carga
de testes extremos e avaliao do produto final. Fazer um levantamento de erros e correes.
3.2.1 Testes
Diversas atividades de testes so executadas a fim de se validar o produto de software,
testando cada funcionalidade de cada mdulo, levando em considerao a especificao feita
na fase de projeto. Ao final dessa atividade, os diversos mdulos do sistema so integrados,
resultando no produto de software.
3.2.2 Documentao
Uma importante tarefa a documentao do projeto interno do software para propsitos
de futuras manutenes e aprimoramentos. As documentaes mais importantes so das
interfaces externas.
29
3.3 IMPLANTAO
Realizar a implantao do sistema junto ao cliente, prover treinamentos para os
operadores do sistema. Verificar possveis problemas e realizar correes da aplicao.
- Desenvolver um plano de implantao da aplicao;
- Pacote de Entrega ao Cliente;
- Diretrizes de entrega do produto;
- Treinamento.
Durante o processo de reparao cada servio informado aos responsveis pelo uso do
sistema, que neste caso so dois atendentes que ficam no balco e que fornecem as peas
necessrias para o referido servio. Durante a reparao podem surgir outros defeitos que so
informados ao cliente e ento so adicionados a ordem de servio. Somente depois de realizado
o conserto e feito um teste, o servio dado por encerrado e o mecnico passa para o prximo
carro. O gerente da oficina comunica o proprietrio ou responsvel pelo veculo que o servio
est pronto. Somente depois de acertado o pagamento do servio que o veculo entregue e o
processo encerrado finalizando assim a ordem de servio.
A maioria das peas utilizadas nos servios so da prpria oficina, que mantem uma
pequena seo de peas, caso no possua as peas ento elas so compradas em outras lojas de
autopeas da cidade. Em alguns casos as peas so compradas por encomenda ou o proprietrio
do veculo traz as peas.
Tendo uma descrio do funcionamento nota-se que a oficina mecnica Auto Mecnica
Pedrinho necessita de um sistema de informao para gerenciar o atendimento aos seus clientes.
O negcio principal da oficina a manuteno e a reparao de veculos.
Clientes levam veculos oficina mecnica para serem consertados, para passarem por
revises peridicas que incluem por exemplo as trocas de correias ou troca de leo. O cliente
pode agendar um concerto ou uma reviso. Sobre um cliente, deseja-se saber: o nome completo,
endereo completo, telefone celular e residencial e cpf ou cnpj, caso o cliente seja pessoa
jurdica.
Cada veculo recebido pelo gerente da oficina que identifica os servios a serem
executados, preenche uma ordem de servio (OS) e prev uma data aproximada de entrega. Os
veculos possuem cdigo, placa, descrio (Fabricante, Modelo e ano de fabricao), nome do
responsvel e o atual proprietrio. Um veculo pode trocar de proprietrio.
A partir da OS, calcula-se o valor de cada servio e o valor de cada pea necessria
execuo do servio.
O cliente necessita autorizar a execuo dos servios.
Cada OS possui um nmero, uma data de emisso, um valor parcial e uma data
aproximada para concluso dos trabalhos, o(s) mecnico(s), assim como servios e peas. Uma
OS pode envolver vrias peas e vrios servios.
Sobre um servio, deseja-se saber: a descrio e o valor.
A descrio apenas o que foi realizado, por exemplo: troca de leo do motor.
32
Os valores dos servios so cadastrados por tipo de servio ou por tempo de realizao
do servio, que por tempo estimado2, ficando a cargo do gerente da oficina. A hora de servio
ter 3 classificaes, a valor maior, b valor intermedirio e c de valor mais baixo, que
ser utilizado de acordo com a dificuldade, nvel de conhecimento ou equipamento utilizado
para a reparao do veculo.
Sobre as peas o gerente da oficina necessita manter um cadastro de todos os itens que
so comprados, catalogando eles por cdigo, cdigo do fabricante, descrio do item (Grupo e
subgrupo), tipo do item, fabricante, aplicao (montadora, modelo, motor, combustvel e ano
do veculo), observaes e quantidade, como demonstra a tabela 5.
2
O mecnico j sabe quanto tempo demora o servio
33
RF3 Funcionrios
O sistema deve permitir o cadastro, a consulta, a excluso e a alterao de funcionrios.
O sistema deve cadastrar os funcionrios, cadastrando nome, CPF, endereo, telefone e
funo.
As funes dos funcionrios sero:
Administrador, gerente e atendente.
RF4 Ordem de Servio
O sistema deve permitir aos usurios a abertura, alterao e finalizao de uma ordem
de servio.
O sistema deve permitir a incluso, excluso e alterao de peas, produtos e servios
em uma determinada OS.
RF5 Venda Avulsa
O sistema dever permitir a venda de produtos e peas sem a necessidade de abertura
de uma OS.
RF6 Relatrios
O sistema dever gerar relatrios de OS em aberto, histrico de um veculo, clientes.
Os relatrios devem ter a opo de visualizao em PDF e XLS.
RF7 Veculos
O sistema deve permitir o cadastro, a consulta, a excluso e alterao de veculos.
O sistema deve registrar a entrada e sada de veculos da oficina.
RF8 Vendas
O sistema deve permitir a baixa automtica do estoque quando da venda de um produto.
RF9 - Controle de acesso
A funo s pode ser acessada por usurio com perfil de gerente ou administrador.
RF10 - Cadastros
Todas as funes relacionadas ao cadastro devem ser efetuadas em uma nica tela.
RF11 - Funcionalidades
As funcionalidades do sistema so acessveis aos usurios de acordo com seu nvel de
privilgio.
RF12 - Relatrios
Os Relatrios devem ter nveis de acesso.
RF13 - Funcionamento do Clientes
O cliente deve ser cadastrado sempre antes de se gerar uma ordem de servio. Dever
constar Nome, Telefone, Endereo.
35
O ator gerente herda do ator atendente as funes de abrir ordem de servio, cadastrar
cliente cadastrar pea e cadastrar servio. Somente o gerente pode cadastrar funcionrio.
Ambos os atores necessitam fazer login.
O gerente herda do atendente a funo de cadastrar cliente, que inclui criar cadastro, alterar
cadastro, excluir cadastro e consultar cadastro.
O gerente herda do atendente a funo de cadastrar pea, que inclui criar cadastro, alterar
cadastro, excluir cadastro, consultar cadastro e gerar relatrio.
38
4.1.7 Modelo ER
O modelo ER completo visto na figura 12.
40
Figura 12 - Modelo ER
5 DESENVOLVIMENTO E CONSTRUO
Para realizar o desenvolvimento do sistema foi utilizado o ambiente de desenvolvimento
integrado (integrated development environment IDE) netbeans.
Na figura 14 o passo da escolha do servidor, que para este projeto foi escolhido o
Apache Tomcat que vinculado a instalao do proprio netbeans.
Figura 14 - Apache Tomcat
Figura 15 - Hibernate
Figura 18 - Xhtml
Figura 19 - hibernate.cfg.xml
Deve-se ficar atento para as configuraes da conexo com o banco de dados correto,
como demonstra a figura 20 e o mapeamento das tabelas na figura 21
Quando o usurio estiver logado ira aparecer um menu completo na arte esquerda da
tela e um logotipo no centro e tambm a mensagem de sucesso como mostra a figura 26.
49
A figura 28 mostra a tela de fabricantes, que tem as opes de excluir, editar ou cadastrar
um novo fabricante. O fabricante poder ser listado por ordem alfabtica ou o usurio poder
digitar o nome.
Figura 28 - Lista de fabricantes
O cadastro de fabricantes ter apenas o nome do fabricante (figura 30) e j dever estar
cadastrado a maioria dos fabricantes conhecidos, a lista de fabricantes apenas para facilitar o
cadastro de novos produtos e caso surja no mercado um novo fabricante o usurio do sistema
poder cadastrar um novo.
Figura 29 - Cadastro de fabricantes
A listagem de funcionrios (figura 30), como somente ser acessada pelo administrador
do sistema, mostrar o cpf e ter as opes de excluir, editar e novo. Poder ser feita uma
pesquisa pelo nome, cpf ou funo.
51
O cadastro de funcionrios (figura 31) ser simples e dever ser preenchido na frente do
usurio para que ele digite uma senha que ser criptografada no banco de dados, por questo de
segurana apenas o usurio saber a sua senha.
A tela de vendas, alm das opes j conhecidas, tem a opo de busca por um
determinado perodo, e tambm a opo de gerao de relatrios em Excel ou pdf.
A venda feita de maneira simples, numa mesma tela (figura 36) est a listagem de
produtos e o carrinho de compras. O usurio vai adicionando ao carrinho e depois finaliza a
venda
54
Na finalizao da venda surge uma janela (figura 37), com o horrio da venda o nome
do usurio e o valor total, para a confirmao da venda.
A soluo foi uma pesquisa na internet para descobrir que no componente <p: dialog>
estava faltando o parmetro modal=true, que corrigiu o problema (figura 38).
Para gerar relatrios em pdf ou Excel (figura 39) basta adicionar ou netbeans as
bibliotecas poi e iText respectivamente.
Figura 39 - Relatrios
Figura 40 - dataexporter
Uma nova ordem de servio (figura 42), segue o modelo do cadastro de funcionrios.
A ordem de servio possui data, uma listagem de clientes, veculos e funcionrios, assim como
os campos Problema informado e Observaes, onde o atendente registra os problemas do
veculo, informados pelo proprietrio e algumas observaes pertinentes ao servio.
57
A figura 46 mostra uma das restries aplicada ao funcionrio gerente, ele tem acesso
a listagem de fabricantes, mas no pode cadastrar, excluir ou editar.
59
6 CONSIDERAES FINAIS
Para desenvolver o sistema proposto neste trabalho foi necessrio, alm de rever todo o
aprendizado obtido durante os anos do curso, estudar novas tecnologias que esto surgindo no
mercado. Isso refora o fato de que a tecnologia da informao est sempre em evoluo,
fazendo com que quem trabalhe nesta rea tenha a necessidade de estar sempre atualizado,
sempre atento para o que est acontecendo no mundo da programao.
Foi aprendido que um sistema nunca estar pronto, havendo sempre a necessidade de
atualizaes.
Notou-se que muita coisa muda e evolui, mas a base a mesma, a etapa de levantamento
de requisitos e de construo do banco de dados mantem-se estvel.
O projeto ter continuidade e provavelmente num prazo de um ano, a seguir, estar
disponvel para comercializao.
61
7 REFERNCIAS
CANALTECH. Java lidera ranking das linguagens de programao mais utilizadas no mundo.
Disponvel em: <http://corporate.canaltech.com.br/noticia/programacao/Java-lidera-ranking-
das-linguagens-de-programacao-mais-utilizadas-no-mundo/>. Acesso em: 11 mar. 2015
DIAS NETO, Arilo Cludio. Bancos de Dados Relacionais - Artigo Revista SQL Magazine 86.
Disponvel em: <http://www.devmedia.com.br/bancos-de-dados-relacionais-artigo-revista-sql-
magazine-86/20401>. Acesso em: 01 dez. 2013
FARIA, Thiago. Java EE 7 com JSF, PrimeFaces e CD. 2. Ed. S.I. s.n. 2015
GEARY, David. Core JavaServerTN Faces. 3. Ed. Rio de Janeiro: Alta Books, 2012
GONALVES, Edson. Desenvolvendo Aplicaes Web com JSP Servlets, JavaServer Faces,
Hibernate, EJB 3 Pesistence e Ajax.1. ed. Rio de Janeiro: Editora Cincia Moderna Ltda., 2007
62
GUEDES, Gilleanes T. A. UML 2: uma abordagem pratica. 2. Ed. So Paulo: Novatec, 2011.
HEUSER, Carlos Alberto. Projeto de Banco de Dados. 6. ed. Porto Alegre: Bookman, 2009.
MACEDO, Diego. Analista de T.I Um pouco de tudo sobre T.I. Disponvel em:
<http://www.diegomacedo.com.br/levantamento-e-analise-de-requisitos/?print=print>. Acesso
em: 12 mar. 2015
MEDEIROS, Ernani Sales de. Desenvolvendo Software com UML 2.0: definitivo.1. ed. So
Paulo, 2004
ROMANATO, Allan. Entenda como funciona a java virtual machine jvm. Disponvel em:
<http://www.devmedia.com.br/entenda-como-funciona-a-java-virtual-machine-jvm/27624>.
Acesso em: 01 dez. 2014
SANTOS JNIOR, Joo B. dos. Linguagem de Programao Java. 2006. Disponvel em:
<http://www.tvdi.inf.br/upload/artigos/apostilalinguagemjava.pdf>. Acesso em: 01 dez. 2014.
TARIFA, Alexandre. Padres de nomenclaturas Guia de consulta rpida. Disponvel em: <
http://www.linhadecodigo.com.br/artigo/253/padroes-de-nomenclaturas-guia-de-consulta-
rapida.aspx>. Acesso em: 26 fev. 2015