CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM INFORMÁTICA COM ÊNFASE EM BANCO DE DADOS GLAUCIA APARECIDA BATISTA HENRIQUE DYODI NAKAMURA DESENVOLVIMENTO DE UM SISTEMA WEB DE ORDEM DE SERVIÇOS EM CRONOTACÓGRAFOS LINS/SP 1º SEMESTRE/2014 CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM INFORMÁTICA COM ÊNFASE EM BANCO DE DADOS GLAUCIA APARECIDA BATISTA HENRIQUE DYODI NAKAMURA DESENVOLVIMENTO DE UM SISTEMA WEB DE ORDEM DE SERVIÇOS EM CRONOTACÓGRAFOS Trabalho de Conclusão de Curso apresentado a faculdade de Tecnologia de Lins para obtenção do Título de Tecnólogo em Banco de Dados. Orientador: Prof. Me. Adriano Bezerra LINS/SP 1º SEMESTRE/2014 B333 Batista, Glaucia Aparecida Desenvolvimento de sistema web de ordem de serviço em cronotacógrafo / Glaucia Aparecida Batista e Henrique Dyodi Nakamura – Lins, 2014. 127 f : il. Monografia (Trabalho de Conclusão de Curso de Tecnologia em Banco de Dados) – Faculdade de Tecnologia de Lins Professor Antônio Seabra, 2014. Orientador: Prof. Adriano Bezerra 1.Sistema web. 2.Ordem de serviço. 3.Banco de dados. 4.Cronotacógrafo. I.Nakamura, Henrique Dyodi. II.Bezerra, Adriano. III.Faculdade de Tecnologia de Lins Professor Antônio Seabra. IV.Título. CDD 005.75 Ficha elaboradora pela Biblioteca da Faculdade de Tecnologia de Lins GLAUCIA APARECIDA BATISTA HENRIQUE DYODI NAKAMURA DESENVOLVIMENTO DE UM SISTEMA WEB DE ORDEM DE SERVIÇOS EM CRONOTACÓGRAFOS Trabalho de Conclusão de Curso apresentado à Faculdade de Tecnologia de Lins, como parte dos requisitos necessários para a obtenção para a obtenção do título de Tecnólogos em Banco de Dados sob orientação do Prof. Me. Adriano Bezerra. Data da aprovação: 11 de Junho de 2014 _______________________________________ Orientador Prof. Me. Adriano Bezerra _________________________________________ Prof. Me. Rodrigo Moura J. Ayres __________________________________________ Prof. Me. Fábio Lúcio Meira Dedico este trabalho a Deus por esta grande oportunidade que tive e pela suas mãos me sustentar nos momentos em que mais precisei. Além disso dedico este trabalho a minha família que sempre me apoiou. A minha mãe pela solidariedade prestada para a elaboração deste trabalho. Aos professores e amigos que me acompanharam. Glaucia Aparecida Batista Antes de tudo, dedico este trabalho a Deus, aos meus pais, Terezinha A. Y. Nakamura e Jorge Nakamura, a minha irmã Lidia Nakamura e aos meus avós. Henrique Dyodi Nakamura AGRADECIMENTOS Primeiramente quero agradecer a Deus por me conceder esta conquista. Aproveito também para manifestar a minha gratidão a minha família que sempre me apoiou e me deu o total apoio durante a realização deste trabalho. Agradeço especialmente ao meu orientador e professor Adriano Bezerra pelas orientações proveitosas e competentes, pelo apoio e atenção e acima de tudo, por nos fazer acreditar que este trabalho sempre seria possível. Agradeço ao meu amigo e companheiro Henrique Nakamura pelo esforço e empenho para a realização deste trabalho. Agradeço também aos professores Luiz Fernando de Oliveira Silva, ao Fábio Lúcio Meira pela atenção e apoio. Aos professores Alexandre de Oliveira Ponce, Luciane Noronha e Adriana de Bortoli pelas correções do nosso trabalho e pela disposição para tirar as dúvidas. Por fim, quero expressar a minha gratidão às pessoas que de alguma forma contribuíram para a realização deste trabalho. Glaucia Aparecida Batista AGRADECIMENTOS Neste momento que é tão importante pra mim, eu não poderia deixar de prestar meus agradecimentos às pessoas que, de alguma maneira contribuíram para que este momento acontecesse. Agradeço principalmente ao meu orientador, Prof. Me. Adriano Bezerra, por quem tive a honra de ser orientado, assim como, pelas orientações importantes, e acima de tudo, por me fazer acreditar que este trabalho seria possível. Aproveito também para agradecer a minha família especialmente aos meus pais Jorge Nakamura e Terezinha Nakamura, a minha irmã Lidia Nakamura por sempre me motivar sendo a razão de estar aqui nesse momento tão importante da minha vida. Agradeço a todos os meus professores pela contribuição pelo ensino dado para que eu pudesse conseguir fazer esse trabalho: Prof. Me. Fabio Lúcio Meira, Prof. Me. Luis Fernando de Oliveira Silva, Prof. Me. Mario Henrique S. Pardo, Prof. Me. Luciane Noronha do Amaral, Prof. Me. Adriana de Bortoli, Prof. Me.Adriano Marques, Prof. Me.Alexandre Ponce, Prof. Me.Alexandre Teso, Prof. Me. Elaine V. H. de Morais, Prof. Me. Euclides Reame Junior, Prof. Me. Luis Antonio Cabanãs, Prof. Me. Rogério Pinto Alexandre, pelas observações e ensinamentos. Henrique Dyodi Nakamura “Quando vem a ideia de profissionalismo, faz sentido falar sobre ser profissional em Tecnologia da Informação. Padrões são vitais para que profissionais de TI possam prover sistemas que durem” (Tim Berners-Lee). “Nossa loucura é a mais sensata das emoções, tudo o que fazemos deixamos como exemplos para os que sonham um dia serem assim como nós: LOUCOS... mas FELIZES” (Mário Quintana). RESUMO Este trabalho tem como objetivo desenvolver um sistema Web voltado para as necessidades de oficinas que prestam serviços em cronotacógrafos. Desta forma, podem se beneficiar, realizando atividades mais eficazes e eficientes, como por exemplo, fazer uma busca de selos e lacres utilizados nos serviços por meio de relatórios ou consultar dados de serviços realizados. Para que o objetivo fosse concretizado foram utilizadas as seguintes tecnologias: Oracle Database 10g, Integrated Development Environment (IDE) NetBeans, Java Enterprise Edition (JEE), IReports. Palavras-chave: banco de dados, sistema Web, ordem de serviço, cronotacógrafo. ABSTRACT This work aims to develop a web system designed for the needs of workshops, thus, can benefit by making more effective and efficient activities, such as doing a search for information through reports or consult data services performed. To that goal was achieved the following technologies were used: Oracle Database 10g, Integrated Development Environment (IDE) NetBeans, Java Enterprise Edition (JEE), IReports. Keywords: database, Web system, service order, tachograph. LISTA DE ILUSTRAÇÕES Figura 1.1 – Configuração de um sistema de banco de dados simplificado..............29 Figura 1.2 – Módulos componentes de um Sistema de Gerenciamento de Banco de Dados e suas interações............................................................................................31 Figura 1.3 – Representação simplificada de um sistema de banco de dados...........33 Figura 1.4 – Exemplo de tabelas................................................................................35 Figura 1.5 – Tela de login do banco de dados Oracle 10g.........................................37 Figura 1.6 – Exemplo de uma tela do banco de dados Oracle 10g...........................37 Figura 1.7 – As várias edições do Java......................................................................40 Figura 1.8 – Edições da linguagem Java e seus respectivos alvos de aplicações....41 Figura 1.9 – Camadas da plataforma JEE.................................................................42 Figura 1.10 – Ciclo de vida de um Servlet..................................................................43 Figura 1.11 – Arquitetura Servlet................................................................................47 Figura 1.12 – Ciclo de execução do JSP....................................................................48 Figura 1.13 – Modelo convencional de aplicação......................................................49 Figura 1.14 – Modelo de aplicação Web baseada em Ajax.......................................50 Figura 1.15 – Exemplo de uma tela da ferramenta iReport........................................52 Figura 1.16 – Exemplo de uma tela da ferramenta iReport........................................52 Figura 1.17 – Exemplo de uma tela da ferramenta iReport........................................53 Figura 1.18 – Visão geral da ferramenta NetBeans IDE............................................54 Figura 1.19 – Visão geral da ferramenta NetBeans IDE............................................54 Figura 1.20 – Visão geral da ferramenta Astah Community.......................................56 Figura 1.21 – Exemplo dos modelos..........................................................................57 Figura 1.22 – SQL Developer Data Modeler – Estrutura Modelo...............................59 Figura 1.23 – Modelo Lógico......................................................................................60 Figura 2.1 – Tela de cadastro de Ordem de Serviço do CPT Dedetizadora..............62 Figura 2.2 – Tela de cadastro de uma Ordem de Serviço..........................................63 Figura 2.3 – Tela de cadastro de uma Ordem de Serviço..........................................63 Figura 2.4 – Exemplo de uma Ordem de Serviço......................................................64 Figura 2.5 – Exemplo de um cronotacógrafo.............................................................71 Figura 2.6 – Exemplo de cronotacógrafo digital.........................................................71 Figura 2.7 – Exemplo de cronotacógrafo e suas informações...................................72 Figura 2.8 – Cronotacógrafo selado...........................................................................72 Figura 2.9 – Modelos de lacres e selos......................................................................73 Figura 3.1 – Diagrama de Caso de Uso.....................................................................81 Figura 3.2 – Diagrama de Classe..............................................................................82 Figura 3.3 – Diagrama de atividade Manter Pessoa..................................................83 Figura 3.4 – Diagrama de MVC Manter Pessoa.........................................................84 Figura 3.5 – Diagrama de sequencia Manter Pessoa................................................85 Figura 3.6 – Diagrama de atividade Manter Veiculo...................................................86 Figura 3.7 – Diagrama de MVC Manter Veiculo.........................................................86 Figura 3.8 – Diagrama de sequencia Manter Veiculo.................................................87 Figura 3.9 – Diagrama de atividade Manter Cronotacógrafo.....................................88 Figura 3.10 – Diagrama de MVC Manter Cronotacógrafo..........................................89 Figura 3.11 – Diagrama de sequencia Manter Cronotacógrafo..................................90 Figura 3.12 – Diagrama de atividade Selecionar Ordem...........................................91 Figura 3.13 – Diagrama de MVC Selecionar Ordem..................................................91 Figura 3.14 – Diagrama de sequencia Selecionar Ordem.........................................92 Figura 3.15 – Diagrama de atividade Gerar Relatório................................................93 Figura 3.16 – Diagrama de MVC Gerar Relatório......................................................93 Figura 3.17 – Diagrama de sequencia Gerar Relatório..............................................94 Figura 4.1 – Tela inicial de cadastro do sistema.........................................................96 Figura 4.2 – Tela de login do sistema.........................................................................96 Figura 4.3 – Formulário para impressão mensal de ordem de serviço......................98 Figura 4.4 – Consulta de serviços..............................................................................99 Figura 4.5 – Tela de exclusão do sistema................................................................100 Figura 4.6 – Tela de cadastro de serviço..................................................................100 Figura 4.7 – Tela de alteração de serviço.................................................................101 Figura 4.8 – Função selPessoa() no item do menu Cliente.....................................102 Figura 4.9 – Função selPessoa().............................................................................103 Figura 4.10 – Geração do relatório de Ordem de Serviço........................................104 Figura 4.11 – Relatório mensal de instalação de Cronotacógrafo............................105 Figura 4.12 – Tela de cadastro.................................................................................106 Figura 4.13 – Tela de consultar Cliente....................................................................107 Figura 4.14 – Tela para cadastrar nova pessoa/Cliente...........................................108 Figura 4.15 – Tela de alteração do cadastro de Cliente...........................................109 Figura 4.16 – Novo veiculo para o Cliente...............................................................110 Figura 4.17 – Veículo do cliente...............................................................................110 Figura 4.18 – Alterar dado do Veículo......................................................................111 Figura 4.19 – Cadastrar Ordem de Serviço..............................................................112 Figura 4.20 – Consultar Ordem de Serviço..............................................................112 Figura A.1 – Instalador do banco de dados do Oracle 10g......................................120 Figura A.2 – Preparando a instalação do banco de dados do Oracle 10g...............120 Figura A.3 – Preparando a instalação do banco de dados do Oracle 10g...............121 Figura A.4 – Instalação do banco de dados do Oracle 10g.....................................121 Figura A.5 – Conclusão da instalação do banco de dados Oracle 10g....................122 Figura A.6 – Localização da pasta do banco de dados do Oracle 10g....................123 Figura A.7 – Tela de login do banco de dados do Oracle 10g..................................124 Figura A.8 – Tela de login do banco de dados do Oracle 10g..................................125 Figura A.9 – Tela principal do banco de dados do Oracle 10g.................................126 Figura A.10 – Exemplo de uma tabela criada no banco de dados Oracle 10g........127 LISTA DE TABELAS 2.1 – Estados onde possuem os Postos de Selagem................................................74 2.2 – Estados onde possuem os Postos de Ensaio...................................................75 LISTA DE ABREVEATURAS E SIGLAS AJAX - Asynchronous JavaScript and Extensible Markup Language APIs - Application Programming Interfaces AWT - Abstract Window Toolkit BD - Banco de Dados BDOO - Bancos de Dados Orientados a Objetos CIPA - Comissão Interna de Prevenção de Acidentes CLT - Consolidação das Leis do Trabalho CONTRAN – Conselho Nacional de Trânsito CPU - Central Processing Unit CSS - Cascating Style Sheet CTB - Código de Trânsito Brasileiro CVS - Concurret Version System DB - DataBase DBA - DataBase Administrator DENATRAN - Departamento Nacional de Trânsito DM - Data Mining DTDs - Definição de Tipo de Documentos E/S - Entrada/Saída EJBs - Enterprise JavaBeans EPC - Equipamento de Proteção Coletiva EPI - Equipamento de Proteção Individual FTP - File Transfer Protocol GB - Gigabyte GM - Gabinete do Ministro HTML DB - HyperText Markup Language DataBase HTTP - Hypertext Transfer Protocol IDEs - Integrated Development Envionments IDL - Interface Description Language INMETRO - Instituto Nacional de Metrologia IP - Internet Protocol IPEMPR - Instituto de Pesos e Medidas de Paraná IPEMSP - Instituto de Pesos e Medidas de São Paulo JDBC - Java Database Connectivity JEE - Java Enterprise Edition JME - Java Micro Edition JSE - Java Standard Edition JSP - Java Server Page JSTL - Java Server Pages Standard Library JVM - Java Virtual Machine KG – Kilogramas MVC – Model View Controller NR - Norma Regulamentadora ODBC - Open Data Base Connectivity OLAP - On-line Analytical Processing OLE DB - Object Linking and Embedding DataBase OS - Ordem de Serviço OSMD - Oracle SQL Developer Data Modeling PBT – Peso Bruto Total PC - Personal Computer PHP - Personal Home Page PIB - Produto Interno Bruto PL\SQL - Procedural Linguagem\Structured Query Language RA - Registro do Aluno SESMT - Serviço Especializado em Engenharia de Segurança e em Medicina do Trabalho SGBDR´s - Sistemas de Gerenciamento de Banco de Dados Relacionais SGBDs - Sistemas Gerenciadores de Banco de Dados SO - Sistemas Operacionais SQL - Structured Query Language TCP - Trasmission Control Protocol TI - Tecnologia da Informação UI - User Interfaces UML - Unified Modeling Language UoD - Universe of Discourse XML - eXtensible Markup Language SUMÁRIO LISTA DE ILUSTRAÇÕES..........................................................................................13 LISTA DE TABELAS...................................................................................................16 LISTA DE ABREVEATURAS E SIGLAS.....................................................................17 INTRODUÇÃO...........................................................................................................23 1TECNOLOGIAS DE DESENVOLVIMENTO.............................................................25 1.1 BANCO DE DADOS..............................................................................................25 1.1.2 Funcionalidades dos bancos de dados para novas aplicações......................26 1.1.3 Porque utilizar banco de dados.......................................................................28 1.2 SISTEMA DE BANCO DE DADOS....................................................................28 1.2.1 Dados..............................................................................................................29 1.2.2 Hardware.........................................................................................................30 1.2.3 Software...........................................................................................................30 1.3 BANCO DE DADOS RELACIONAL...................................................................33 1.4 ORACLE DATABASE 10g EXPRESSION EDITION………………………...……36 1.5 TECNOLOGIA JAVA…………………………………………………………………38 1.5.1 Java Standard Edition………………………...……………………………………41 1.5.2 Java Enterprise Edition…………………………………………………………….41 1.5.3 Java Micro Edition………………………………………………………………….42 1.5.4 Java Database Connectivity……………………………..………………………..44 1.5.5 Servlets…..………………………………………………………………………….45 1.5.6 Java Server Pages……………………………………...………………………….47 1.5.7 Ajax…………………………………………………………………………………..48 1.5.8 JQuery……………………………………………………………………………….51 1.6 FERRAMENTA IREPORT………………..………………………………………….51 1.7 NETBEANS……………………………………………………………………………53 1.8 ASTAH COMMUNITY………………………………………………………………..56 1.9 ORACLE SQL DEVELOPER DATA MODELER……………………………….….57 1.9.1 Modelo conceitual……………………….……………………………………….…58 1.9.2 Modelo lógico…………………………………………………………………….....58 1.9.3 Modelo físico………………………..………………………………………………60 1.10 CONSIDERAÇÕES SOBRE O CAPÍTULO...……………………………………..60 2 FUNCIONALIDADES………………………….………………………....................61 2.1 ORDEM DE SERVIÇO (OS)………………………………...…………………....61 2.2 PRA QUE FAZER A OS..................................................................................61 2.3 ESTRUTURA DE UMA OS………………………………….…………………….62 2.4 ELABORAÇÃO DE UMA OS…………………………………………….………..65 2.5 OBRIGATORIEDADE……………..……………………………………………….66 2.6 CRONOTACÓGRAFO O QUE É………………………………………….......….68 2.6.1 Origem do cronotacógrafo…………………….…………………………....……..68 2.6.2 Legislação sobre cronotacógrafo…………………………………………………70 2.6.3 Obrigatoriedade do uso do cronotacógrafo.....................................................71 2.7 SELOS NOS CRONOTACÓGRAFOS............................................................72 2.7.1 Tipo de selagem obrigatória em cronotacógrafos...........................................73 2.7.2 Verificação……..……………………………………………………………….......74 2.7.3 As oficinas……………………...………………………………………………......75 2.7.4 Fiscalização…………………………………………………………………….......76 2.8 3 3.1 CONSIDERAÇÕES SOBRE O CAPÍTULO…………………………………....77 ANÁLISE E PROJETO DO SISTEMA.................................................................78 ANÁLISE DE NEGÓCIO…………………………………………………………..78 3.1.1 Introdução do problema……………………………...…………………………....78 3.1.2 Atores envolvidos no Processo……………………………...……………………78 3.1.3 Descrição do Ambiente……………….……………………………………………79 3.2 VISÃO GERAL…….………………………………………………………………..79 3.2.1 Perspectiva……………………...…………………………………………………..79 3.3 ANÁLISE E PROJETO....................................................................................80 3.3.1 Diagrama de Caso de Uso, visão geral...........................................................80 3.3.2 Diagrama de atividade, MVC e sequencia......................................................82 3.4 4 CONSIDERAÇÕES SOBRE O CAPÍTULO.....................................................94 DESENVOLVIMENTO DO SISTEMA…….…………………………......................95 4.1 DESENVOLVIMENTO DO SISTEMA WEB………….………………………….95 4.2 MÓDULOS DO SISTEMA…...…………………………………………………….97 4.3 CADASTRO DE SERVIÇOS……………………………………………….…..…98 4.4 AJAX E FUNÇÃO LOAD() JQUERY..............................................................101 4.5 RELATÓRIO MENSAL UTILIZANDO A FERRAMENTA IREPORT...............103 4.6 GERANDO ORDEM DE SERVIÇO...............................................................106 4.7 CONSIDERAÇÕES SOBRE O CAPÍTULO...................................................113 CONCLUSÃO...........................................................................................................114 REFERÊNCIAS BIBLIOGRAFICAS.........................................................................116 APÊNDICE A – Instalação do banco de dados Oracle 10g.....................................120 A.1 ETAPA DE INSTALAÇÃO...................................................................................120 A.2 PREPARAÇÃO DA INSTALAÇÃO.....................................................................121 A.3 TELA DE LOGIN DO BANCO DE DADOS........................................................124 A.4 CONSIDERAÇÕES FINAIS...............................................................................127 23 INTRODUÇÃO A informação aliada aos recursos da tecnologia é uma necessidade primária e elementar para a funcionalidade tática, estratégia e operacional em uma organização empresarial. Atualmente a computação vem facilitando os processos de trabalho, reduzindo o tempo, garantindo vantagem no processo de organização, o que antes era organizado manualmente, nos tempos atuais é realizado e é mais satisfatoriamente estruturado e organizado por sistemas desenvolvidos pela computação. Assim, informações podem ser preenchidas através de sistemas que utilizam bancos de dados, tornando essas informações precisas a seus usuários. Deste modo, é possível observar e analisar que o meio de organização do trabalho aliado com a Tecnologia da Informação mudou extremamente se comparado há apenas algumas décadas. A influência mais significativa nas organizações empresariais, nos últimos anos, foi à rápida transformação nos modos de estruturar e utilizar os sistemas de informação. Vista como um componente estratégico, a utilização dos sistemas de informação automatiza processos organizacionais e é fonte de vantagens competitivas por meio da analise de cenário, além de oferecer apoio ao processo de decisão e implementação de novas estratégias de negocio. Nesse cenário, cresce a necessidade de capturar, gerenciar, processar e compartilhar informações. Considerando o cenário destacado, um dos recursos mais importante para qualquer empresa é a sua coleção de dados. Um banco de dados pode ajudar na organização de uma quantidade crescente de informação, maximizando, assim, fontes valiosas de conhecimento. Os bancos de dados também ajudam as empresas a gerar informações que podem auxiliar na redução de custo, no aumento de lucro, no acompanhamento das atividades de negócios e na abertura de novas oportunidades de mercado. Há de se reconhecer que os maiores ganhos organizacionais com os recursos de tecnologia da informação não residem na simples aquisição, disponibilidade e no uso eficaz de tais recursos. Espera-se que as atividades de captura, armazenamento e análise de dados levantem informações relevantes que possam, por sua vez, gerar conhecimento (PUGA; FRANÇA; GOYA, 2013, p.1). Tendo em vista as facilidades proporcionadas pelo uso de sistemas computacionais, torna-se menos viável para uma empresa continuar com as antigas formas de organizações e realizações de suas atividades cotidianas. Belmiro (2012) 24 afirma que o investimento em sistemas e tecnologias da informação são necessários; afirma ainda que uma empresa não sobreviveria sem investir em tecnologia, pois esses recursos são fundamentais para garantir a sua sobrevivência, uma vez que se tornaram de extrema importância. Laudon e Laudon (2011) defende a necessidade de que as organizações empresariais hoje não sobrevivem mais sem as tecnologias de informação, uma vez que essas tecnologias processam, armazenam e distribuem informações que servem para apoiar tomada de decisões, a coordenação e o controle de uma organização. Seguindo esse conceito, constata-se que a oficina SisCrono encontra-se hoje, sem um sistema específico e adequado para controlar e gerenciar o relatório de atividades, pois as informações da Ordem de Serviço (OS) são feitas pro meio de planilhas eletrônicas e quando o responsável quer fazer uma consulta de informação gasta-se muito tempo para procurar os dados requeridos. Assim torna-se complexo a tarefa de organizar e elaborar os relatórios da OS. Acredita-se que o desenvolvimento do sistema Web na oficina SisCrono poderá contribuir para agilizar as realizações das atividades solicitadas pela OS. Pois por meio do desenvolvimento de um sistema específico para a realização dessas atividades, esses serviços poderá vir a ser realizados com maior eficácia e agilidade. Sendo assim, esta monografia tem por objetivo o desenvolvimento de um sistema Web para a realização das atividades de relatórios da oficina com foco nas tecnologias utilizadas. Por meio desse sistema proposto, pretende-se tornar possível uma forma de organização da realização das atividades, contribuindo no desempenho das tarefas desenvolvidas. Para que esse objetivo possa ser concretizado, será utilizada as seguintes ferramentas: Java Enterprise Edition (JEE), o banco de dados Oracle Database 10g Express Edition, IReports e Integrated Development Environment (IDE) Netbeans. Quanto a estruturação do trabalho, no primeiro capítulo serão abordadas as ferramentas e suas tecnologias para a realização deste trabalho. No segundo capítulo será apresentada as principais funcionalidades de uma OS e suas particularidades, bem como, também será abordado os principais aspectos e componentes de um cronotacógrafo. No terceiro constará a análise de sistema. O quarto capítulo apresentará informações sobre o desenvolvimento do sistema Web. 25 1 TECNOLOGIAS DE DESENVOLVIMENTO Neste capítulo abordaremos as ferramentas presentes e suas tecnologias para a realização deste trabalho. 1.1 BANCO DE DADOS A expressão banco de dados originou-se do termo inglês Databanks. Este foi trocado pela palavra Database – Base de dados - devido possuir significações apropriadas (SETZER; CORRÊA DA SILVA, 2005). Segundo Date (2004, p.10), um banco de dados é uma coleção de dados pertinentes, usada pelos sistemas de aplicação de uma determinada empresa. Resumindo, um banco de dados é um local onde são armazenados dados necessários à manutenção das atividades de determinada organização, sendo este repositório a fonte de dados para as aplicações atuais e as que vierem a existir. De acordo com Price (2008), banco de dados é um conjunto de dados coerentes e organizados, devidamente relacionados e que podem ser armazenados, possui um conjunto predefinido de usuários e de aplicações. Para Elmasri e Navathe (2011, p. 4) os dados são fatos que podem ser gravados e que possuem um significado implícito. Por exemplo, considerando nomes, números telefônicos e endereços. Essas informações são uma coleção de dados com um significado implícito, consequentemente, um banco de dados. Um banco de dados representa alguns aspectos do mundo real, sendo chamado às vezes, de minimundo ou de Universo de Discurso - Universe of Discourse (UoD). As mudanças no minimundo são refletidos em um banco de dados. Um banco de dados é uma coleção lógica e coerente de dados com algum significado inerente. Uma organização de dados ao acaso (randômica) não pode ser corretamente interpretada como um banco de dados. Um banco de dados é projetado, construído e povoado por dados, atendendo a uma proposta específica. Possui um grupo de usuário 26 definidos e algumas aplicações preconcebidas, de acordo com o interesse desse grupo de usuários. Um banco de dados possui algumas fontes das quais os dados são derivados, alguns níveis de interação com os eventos do mundo real e um grupo de usuários interessados em seu conteúdo. Conforme Leite (2008, p.2), é importante enfatizar que um banco de dados contém os dados dispostos numa ordem bem determinada em função do projeto do sistema e com um objetivo bem definido e representando aspectos do mundo real. Sendo assim, um banco de dados é uma fonte de onde podemos extrair uma gama de informações derivadas, com um nível de alteração com eventos do mundo real que representa. Para Elmasri e Navathe (2011, p. 3), na expressão banco de dados estão subentendidas as prioridades abaixo: Um banco de dados representa algum aspecto do mundo real, às vezes chamado de minimundo ou de universo de discurso (Universe of Discourse - UoU). As mudanças no minimundo são refletidas no banco de dados. Um banco de dados e uma coleção logicamente coerente de dados com algum significado inerente. Uma variedade aleatória de dados não pode ser corretamente chamada de banco de dados. Um banco de dados é projetado, construído é populado com dados para uma finalidade específica. Ele possui um grupo definido de usuários e algumas aplicações previamente concebidas nas quais esses usuários estão interessados (ELMASRI; NAVATHE, 2011, p3). Sendo assim, um banco de dados é um conjunto organizado de dados relacionados, criado com determinado objetivo e que atende uma comunidade ampla de usuários. 1.1.2 Funcionalidades dos bancos de dados para novas aplicações Conforme afirma Elmasri e Navathe (2004), o sucesso dos sistemas de banco de dados em aplicações tradicionais encorajou os desenvolvedores de outros tipos de aplicações a se esforçarem para usá-los. Essas aplicações tradicionalmente usavam seus próprios arquivos especializados e estruturas de dados. A seguir alguns exemplos dessas aplicações: 27 Aplicações cientificas, que armazenam uma grande quantidade de dados resultantes de experimentos científicos em áreas como física avançada ou mapeamento do genoma humano. Armazenamento e restauração de imagens, de notícias escaneadas ou fotografias pessoais, as imagens fotografadas por satélite e imagens de procedimentos médicos, como raio X ou ressonância magnética. Armazenamentos e recuperação de vídeo, como filmes ou videoclipes de notícia ou de máquinas fotográficas digitais. Aplicações para Data Mining (DM) garimpagem de dados, que analisam grandes quantidades de dados pesquisando as ocorrências de padrões específicos ou relacionamentos. Aplicações especiais, que armazenam as localizações espaciais dos dados, tais como informações a respeito do tempo ou sobre os mapas usados em sistemas de informações geográficas. Aplicações referentes a séries temporais, que guardam informações como dados econômicos em intervalos regulares de tempo, como, por exemplo, vendas diárias ou composições mensais do Produto Interno Bruto – PIB. De acordo com Elmasri e Navathe (2004), os sistemas relacionais básicos não eram adequados para muitas dessas aplicações, por uma ou mais das razões a seguir: As estruturas de dados mais complexas eram necessárias para a modelagem da aplicação do que uma representação relacional simples. Os novos tipos de dados eram imprescindíveis, além dos tipos numéricos básicos e as cadeias de caracteres (strings). As novas operações e construtores de linguagens de consulta eram essenciais para manipular os novos tipos de dados. As estruturas de armazenamento e indexação eram necessárias. Afirma ainda Elmasri e Navathe (2004), esses fatos direcionaram os profissionais envolvidos com o desenvolvimento dos Sistemas Gerenciadores de Banco de Dados (SGBDs) a adicionar funcionalidades aos seus sistemas. Algumas delas eram de propósito geral, como o conceito de incorporação dos Bancos de 28 Dados Orientados a Objetos (BDOO) aos sistemas relacional. Outras funcionalidades eram especificas, na forma de módulos opcionais que poderiam ser usados para aplicações com as séries temporais. 1.1.3 Por que utilizar banco de dados Conforme Date (2004), as vantagens de utilizar um banco de dados se aplicam na intensidade ainda maior a um ambiente multiusuário, no qual o banco de dados provavelmente será muito maior e mais complexo que no caso do ambiente monousuário. Densidade: não há necessidade de arquivos de papel, possivelmente volumosos. Velocidade: a máquina pode obter e atualizar dados com rapidez muito maior que o ser humano, pode também ser respondida com rapidez sem qualquer necessidade de pesquisas manuais ou visuais demoradas. Menos trabalhos monótonos: as tarefas mecânicas são sempre feitas com melhor qualidade por maquina. Atualidade: informações precisas e atualizas estão disponíveis a qualquer momento sob consulta. Proteção: os dados podem ser mais bem protegidos contra perdas não intencionais ao acesso ilegal. Sendo assim, essas vantagens se remetem com intensidade maior levando em conta um ambiente multiusuário. 1.2 SISTEMA DE BANCO DE DADOS De acordo com Date (2004, p.6), um sistema de banco de dados é um sistema computadorizado cuja finalidade geral é armazenar informações e permitir que os usuários busquem e atualizem essas informações quando as solicitar. O banco de dados por si só pode ser considerado como o equivalente eletrônico de um armário de arquivamento, ou seja, ele é um repositório recipiente para uma coleção de arquivos de dados computadorizados. Os usuários de um sistema de banco de 29 dados podem realizar diversas operações envolvendo tais arquivos, como, por exemplo: acrescentar novos arquivos ao banco de dados, inserir, buscar, excluir, alterar e remover arquivos existentes do banco de dados. Para Date (2004), um sistema de banco de dados é composto por dados, hardware, software e usuários. Figura 1.1 – Configuração de um sistema de banco de dados simplificado. Fonte: Elmasri e Navathe, 2011, p. 4 1.2.1 Dados Nesse contexto abordado, os dados referem-se ao próprio banco de dados. Conforme Setzer e Corrêa da Silva (2005) definem os dados como uma representação simbólica (feita por meio de símbolos), quantificada ou quantificável. Já Date (2004), os dados de um banco de dados – pelo menos em um sistema grande estarão integrados e também compartilhados. Integrado: o banco de dados pode ser considerado como uma unificação de vários arquivos, de outro modo, seriam distintos com a 30 eliminação de qualquer redundância parcial ou total entre esses arquivos. Compartilhado: o banco de dados pode ser compartilhado entre diferentes usuários, no sentido de que diferentes usuários possam ter acesso aos mesmos dados, possivelmente ao mesmo tempo. Complementando, Elmasri e Navathe (2011), afirmam que dados são fatos conhecidos que podem ser registrados e possuem significado implícito. Dessa forma, o numero do Registro do Aluno (RA) é um dado, pois para a escola esse mesmo dado é um fato conhecido, pois contém uma semântica, é representado por símbolo (algarismo de 0 a 9 – sistema numérico de base 10, logo é quantificado) sendo assim, é passível de registro. 1.2.2 Hardware Compreendem os elementos físicos que compõe o sistema de banco de dados, como as mídias de armazenamento, os dispositivos de entrada e saída, outros componentes. Conforme Date (2004), os componentes de hardware do sistema consistem em: Volume de armazenamento secundário, normalmente, disco magnético, que são usados para manter os dados armazenados juntamente com os dispositivos de Entrada/Saída (E/S) associados a (unidades de discos), controladores de dispositivos, canais de E/S e assim por diante. Processamento de hardware e memória principal associada, que são usados para dar suporte à execução do software do sistema de banco de dados. 1.2.3 Software Conforme Graves (2003), o sistema de banco de dados é composto de um banco de dados e do ambiente ao seu redor incluindo, o sistema operacional, hardware e as pessoas que o utilizam. O software é composto de um SGBD, que fornece acesso ao banco de dados e outros software que integram com o SGBD. Esses outros softwares podem ser ferramentas do usuário final, de administradores, 31 geradores de relatórios e assim por diante. Para Date (2004), entre o banco de dados armazenados e os usuários há um conjunto de programas denominado SGBD. Conforme Silberschatz, Korth e Sudarshan (1999), o principal objetivo de um SGBD é proporcionar um ambiente um ambiente tanto conveniente quanto eficiente para a recuperação e armazenamento das informações do banco de dados. Figura 1.2 – Módulos componentes de um SGBD e suas interações. Fonte: Elmasri e Navathe, 2004, p. 26 Para Elmasri e Navathe (2005), um SGBD é uma coleção de programas que permite aos usuários criar e manter um banco de dados. O SGBD é, portanto, um sistema de software de propósito geral que facilita os processos de definição, construção, manipulação e compartilhamento de dados entre vários usuários e aplicações. De acordo com Elmasri e Navathe (2011), um SGBD é um software que 32 permite aos usuários a criação e manutenção de um banco de dados. Ele facilita os processos do banco de dados entre diversos usuários como: Definição – É a especificação dos tipos, estruturas e restrições dos dados a serem armazenados e também a definição ou a informação descritiva do banco de dados na forma de um catálogo ou dicionário que são chamados de metadados. Construção – É o processo de armazenar os dados em algum meio controlado pelo SGBD. Manipulação – São funções como consulta ao banco de dados para recuperar dados específicos, atualização do banco de dados e geração de relatórios. Compartilhamento – É o acesso ao banco de dados por diversos usuários e programas simultaneamente. A construção de um banco de dados é o processo de armazenar os dados em alguma mídia apropriada controlada pelo SGBD. A manipulação inclui algumas funções, como pesquisas em banco de dados para recuperar um dado específico, atualização do banco para refletir as mudanças no minimundo e gerar relatórios. O compartilhamento permite aos múltiplos usuários e programas acessar, de forma concorrente, o banco de dados. Outras funções importantes do SGBD são a proteção e a manutenção do banco de dados por longos períodos. A proteção inclui a proteção do sistema contra o mau funcionamento ou falhas (crashes) no hardware e segurança contra acessos não autorizados ou maliciosos. Um banco de dados típico pode ter um ciclo de vida de muitos anos, então, os SGBD devem ser capazes de manter um sistema de banco de dados que permita a evolução dos requisitos que se alteram ao longo do tempo (ELMASRI; NAVATHE, 2005, p. 4). De acordo com Date (2004), todas as requisições de acesso ao banco de dados são tratadas pelo SGBD. Date (2004) afirma que uma função geral fornecida pelo SGBD é, portanto, a de isolar os usuários do banco de dados do nível de hardware. Por tanto, para Elmasri e Navathe (2011), o SGBD disponibiliza recursos para definir, construir, manipular, compartilhar, proteger e manter o banco de dados. Por definição entende-se a especificação das estruturas de armazenamento (definição dos elementos e respectivos tipos de dados que comporão os registros). Construção envolve o 33 armazenamento dos dados (registros e relacionamentos). Manipulação refere-se à recuperação e a atualização – inclusão, exclusão e alteração de dados. Por compartilhamento, a permissão de acesso concorrente a uma base de dados. Proteção diz respeito à segurança contra falhas de hardware, software e contra acesso não autorizado. Por manutenção, o suporte para o crescimento do banco de dados (ELMASRI; NAVATHE, 2011, p. 3) Date (2004) afirma que um sistema em banco de dados é basicamente um sistema computadorizado de manutenção de registros; é um sistema computadorizado cuja finalidade geral é armazenar informações e permitir que os usuários busquem e atualizem essas informações quando as solicitar. Na figura 1.3 é mostrado que o sistema envolve quatro componentes principais são eles: dados, hardwares, softwares e usuários. Figura 1.3 – Representação simplificada de um sistema de banco de dados. Fonte: Date, 2004, p. 6 1.3 BANCO DE DADOS RELACIONAL Afirma Elmasri e Navathe (2011), que um banco de dados relacional representa uma coleção de relações, sendo que cada uma delas é semelhante a uma tabela de valores ou um arquivo de registros. 34 Os bancos de dados relacionais foram originalmente projetados com o objetivo de separar o armazenamento físico dos dados de sua representação conceitual e prover uma fundamentação matemática para os bancos de dados. O modelo de dados relacional também introduziu as linguagens de consulta de alto nível, que são uma alternativa às interfaces para as linguagens de programação; consequentemente ficou mais rápido de escrever novas consultas. Os sistemas relacionais foram a principio, direcionados para as mesmas aplicações dos sistemas pioneiros, mas foi decisivo o fato de oferecerem flexibilidade para o desenvolvimento rápido de novas consultas e para reorganizar o banco de dados quando os requisitos eram alterados. Os primeiros sistemas relacionais experimentais desenvolveram-se no fim dos anos 70 e os sistemas de gerenciamento de banco de dados relacionais (SGBDR´s) introduzidos no inicio dos anos 80 eram muito lentos, pois não usavam ponteiros para o armazenamento físico ou registros de dados relacionados. Com o desenvolvimento de novas técnicas de armazenamentos e indexação, e com o processamento aprimorado de consultas e otimização, seu desempenho melhorou. Assim os bancos de dados relacionais tornaram-se os tipos dominantes, de sistemas para as aplicações tradicionais de banco de dados. Os bancos de dados relacionais agora existem na maioria dos computadores, desde aqueles de uso pessoal até os de grandes servidores (ELMASRI; NAVATHE, 2004, p.16). Para Date (2003), os sistemas relacionais são baseados em um alicerce formal chamado de modelo relacional de dados que é descrito como tendo os seguintes aspectos: Aspecto estrutural – os dados no banco de dados são percebidos pelo usuário como tabela. Aspecto de integridade – as tabelas satisfazem a certas restrições de integridade. Aspecto de manipulação – os operadores disponíveis para o usuário manipular essas tabelas, por exemplos, para a busca de dados. Segundo Dias (2006), os bancos de dados relacionais são bastante utilizados, sendo compostos pelos seguintes conceitos: Tabela – Um banco de dados relacional é constituído de uma tabela de dados formada por colunas, cada uma correspondendo a um fragmento diferente de dados e linhas que representam registros individuais. 35 Colunas – São chamadas também de campos ou atributos. Cada coluna em uma tabela tem um nome único, dados diferentes e tipos de dados associados. Linhas - Também chamadas de registros ou tuplas. Cada linha representa um registro diferente na tabela. Valores – Cada linha consiste em um conjunto de valores individuais que correspondem a colunas. Cada valor deve ter o tipo de dados especificado pela sua coluna. Relacionamentos – São os vínculos das linhas de uma tabela com as linhas de outra tabela, feitos pelas chaves estrangeiras. Na figura 1.3 é mostrada duas tabelas compostas pelos itens acima e o relacionamento entre elas, por meio da chave estrangeira. Figura 1.4 – Exemplo de tabelas. Fonte: Elaborado pelos autores, 2014 36 1.4 ORACLE DATABASE 10g EXPRESSION EDITION O Oracle Database 10g Expression Edition é uma linha de banco de dados Oracle 10g. Totalmente gratuita para desenvolvedores, distribuição, uso comercial. Ele é um banco de dados mais leve e foi desenvolvido utilizando o código base do Oracle Database Server 10g Release 2. De acordo com Gayer (2006), outras caracteristicas de destaque do Oracle são: Estar disponível tanto para Windows como para Linux, ambos na plataforma 32 bits. Todos componentes de conectividade - Open Data Base Connectivity (ODBC), JDBC, Data Provider for.Net e Object Linking and Embedding DataBase (OLE DB), Personal Home Page (PHP), e Call Interface C e C++, fazem parte desta versão. A linguagem Procedural Linguagem\Structured Query Language (PL\SQL), foi mantida com total compatibilidade com a versão comercial. A administração pode ser realizada utilizando o Oracle HyperText Markup Language DataBase (HTML DB), ferramenta de administração de desenvolvimento Web. A limitação imposta a esta versão está no tamanho da base de dados (4 Gigabyte (GB) incluindo a tablespace SYSTEM que é uma sub-divisão lógica de um banco de dados utilizado para agrupar estruturas lógicas relacionadas), utiliza 1 Central Processing Unit (CPU), mesmo que o servidor tenha mais de um processador e a memória máxima alocada é de 1 GB. 37 Figura 1.5 – Tela de login do banco de dados Oracle 10g. Fonte: Elaborado pelos autores, 2014 Figura 1.6 – Exemplo de uma tela do banco de dados Oracle 10g. Fonte: Elaborado pelos autores, 2014 38 1.5 TECNOLOGIA JAVA O surgimento da tecnologia Java se deu em 1991, na empresa Sun Microsystems, com o Green Project, que tinha como mentores Patrick Naughton, Mike Sheridan e o líder do projeto, James Gosling (JAVA, 2006). Para Mendes (2009), Java é uma linguagem de programação orientada a objetos, altamente portátil e com alto desempenho. Constituída pela linguagem de programação propriamente dita, uma plataforma formada por Application Programming Interfaces (APIs) e por uma maquina virtual Java – Java Virtual Machine (JVM). Dentre os fatores de Java ser considerada uma linguagem de alto desempenho, ela conta com um recurso conhecido como garbage collector (coletor de lixo), que trabalha em segundo plano liberando memória que não se encontra mais em uso. Isso permite que a memória desalocada possa ser utilizada por outras partes do sistema, aumentando o seu desempenho. (MENDES, 2009) Segundo Caelum (2013), Java é uma linguagem interpretada, compilada e utiliza o recurso de uma JVM. Esse fato possibilita a sua independência em relação à plataforma utilizada (Sistemas Operacionais (SO), e tipos de dispositivos, por exemplo). Para isso, a JVM funciona como um tradutor entre a aplicação e o SO de forma a realizar chamadas que foram requisitadas pela aplicação. Deste modo, aplicação não se comunica diretamente com o SO, tornando-a independente. Para Deitel e Deitel (2010), programas desenvolvidos em Java possuem cinco fases e são elas: Edição: o código fonte é escrito em um programa editor, também podendo ser utilizado em ambientes de desenvolvimento integrado – Integrated Development Envionments (IDEs) e é armazenado em uma unidades de disco com a extensão Java. Compilação: o código fonte é compilado e produz os bytecodes que são armazenados em um arquivo de extensão class e executados pela JVM. Os bytecodes são independentes das plataformas (hardware e SOs), sendo por isso portáveis. 39 Carga: é o processo em que os arquivos class que possuem os bytecodes são carregados na memória principal. Verificação: enquanto os bytecodes são carregados é feita uma verificação para contatar se eles são válidos e não quebram restrições de segurança do Java. Execução: nesta fase os bytecodes são executados pela JVM. A linguagem Java foi projetada tendo em vista os seguintes objetivos: Orientação a objetos: baseado no modelo de Smalltalk e Simula 67. Portabilidade: independência de plataforma “write once run anywhere – escreva uma vez, execute em qualquer lugar” (MOCHOW, 2004). Recursos de rede: possui extensa biblioteca de rotinas que facilitam a corporação com Protocolo de Controle de Transmissão – Trasmission Control Protocol (TCP) e o Protocolo de Interconexão – Internet Protocol (IP), com Protocolo de Transferência de Hipertexto – Hypertext Transfer Protocol (HTTP), e o Protocolo de Transferência de Arquivos – File Transfer Protocol (FTP). Segurança: pode executar programas via rede com restrições de execução. Além disso, podem-se destacar outras vantagens apresentadas pela linguagem Java, sintaxe similar a linguagem C/C++, facilidades de internacionalização suporta nativamente caracteres unicode. Simplicidade na especificação tanto da linguagem como do ambiente de execução JVM. É distribuída com vasto conjunto de bibliotecas ou APIs. Possui facilidades para criação de programas distribuídos e multitarefas (múltiplas linhas de execução em um mesmo programa). Deslocação de memória automática por processo de coletor de lixo (garbage collector). Carga dinâmica de código – programas em Java. São formados por uma coleção de classes armazenadas independentemente e que podem ser carregadas no momento de utilização. Atualmente estão disponíveis as plataformas Java, são elas: 40 Java Standard Edition (JSE) – projetada para execução em máquinas simples de computadores pessoais e estação de trabalho. Essa plataforma possibilita o desenvolvimento e a implementação de aplicativos Java em desktop e em servidores, oferecendo entre outros recursos, segurança e portabilidade. Java Enterprise Edition (JEE) – com suporte interno para servlets, Java Server Page (JSP) e eXtensible Markup Language (XML), essa edição é destinada a aplicativos baseados no servidor. Essa plataforma tem como alvo aplicações voltadas para a Internet e é muito utilizada em desenvolvimentos de aplicativos empresariais. Java Micro Edition (JME) – projetada para dispositivos como memória, vídeo e poder de processamento limitado. Essa plataforma oferece conjunto de tecnologia que disponibiliza recursos para desenvolvedores criarem aplicações voltadas a dispositivos em que recursos de hardware são limitados. Essa plataforma é utilizada, por exemplo, em dispositivos móveis como Smartphones. Figura 1.7 – As várias edições de Java. Fonte: Mochow, 2004, p. 41 Figura 1.8 – Edições da linguagem Java e seus respectivos alvos de aplicações. Fonte: Conceitos básicos das Plataformas Java e J2ME 1.5.1 Java Standard Edition (JSE) O Java Standard Edition (JSE) é o ambiente de desenvolvimento mais utilizado. Isso porque seu uso é voltado aos computadores pessoais – personal computer (PC) e servidores onde há bem mais necessidade de aplicações. Além disso, pode-se dizer que essa é a plataforma principal, já que, de uma forma ou outra, o JEE e o JME tem sua base aqui. Pode-se também que esses ambientes de desenvolvimento são versões aprimoradas de JSE para as aplicações que se propõem. (PORTAL EDUCAÇÃO, 2009) 1.5.2 Java Enterprise Edition (JEE) Conforme Doederlein (2009) Java Enterprise Edition (JEE) consiste em uma grande coleção de APIs, agrupada e projetada de forma consistente e de forma coerente. A plataforma Java Enterprise Edition surgiu com o objetivo de padronizar e simplificar a criação de aplicações empresariais. Para isso, propõe um modelo onde componentes JEE (páginas JSP, Servlets, Enterprise JavaBeans (EJBs), entre outros escritos pelos usuários da plataforma, podem fazer uso de serviços providos por esta, os quais simplificam sua implementação e possibilitam maior foco no negócio. Um diferencial significativo na arquitetura proposta para a plataforma JEE foi a iniciativa de enfatizar a utilização de padrões de projetos. Tais padrões trazem inúmeras vantagens na modelagem e implementação de um software: Possibilidade 42 de projetar soluções mais rapidamente e com qualidade já que os padrões são soluções comprovadamente eficientes para problemas já conhecidos; visam principalmente flexibilidade, organização e reaproveitamento de código, o que resultam em maior produtividade, qualidade e facilidade de manutenção das aplicações assim desenvolvidas. Os principais serviços disponibilizados pela plataforma JEE destinam-se a suprir as necessidades de aplicações empresariais distribuídas, isto é, aquela que necessitam da flexibilidade de disponibilizar acesso à sua lógica de negócio e dados para diferentes tipos de dispositivos clientes (navegadores, dispositivos móveis, aplicações desktop, entre outros) e para outras aplicações residentes na mesma empresa ou fora desta. (DOEDERLEIN, 2009) Figura 1.9 – Camadas da plataforma JEE. Fonte: Sampaio, 2011, p.19 1.5.3 Java Micro Edition (JME) Java Plataform, Micro Edition (JME) é uma tecnologia que possibilita o desenvolvedor de software para aplicações embarcadas. Segundo Mochow (2004), JME é destinado diretamente aos dispositivos consumidores com poder limitado. Muitos desses dispositivos (por exemplo, celulares ou Pager) não têm opção de download e software de instalação, com introdução do J2M2, os dispositivos micros não precisam mais ter natureza “estética”. Exatamente como um navegador Web 43 fazendo downloads de applets Java, uma implementação de JME em um dispositivo permite a opção de navegar, fazer download e instalar aplicativos Java e conteúdo. 1.5.4 Java Database Connectivity (JDBC) O Java Database Connectivity (JDBC) API Java é o padrão da indústria para conectividade de banco de dados independente entre a linguagem de programação Java e uma vasta gama de base de dados Structured Query Language (SQL) e outras fontes de dados tabulares, como planilhas ou arquivos simples. A API JDBC fornece uma API de nível de chamada para acesso do banco de dados baseado em SQL. No Java, diferentemente de outras linguagens, não é possível fazer uma conexão direta com um BD, por isso ele faz uso de uma Application Programming Interface (API) para cumprir esse objetivo, que é o JDBC. De acordo com Gonçalves (2007), JDBC consiste em um conjunto de classes e interfaces escritas em Java que oferecem uma completa API para programação com BD. Sendo completamente escrito em Java, ele também tem a vantagem de ser independente de plataforma, ou seja, não será necessário escrever um programa para cada tipo de BD, uma mesma aplicação utilizando JDBC poderá trabalhar com diversos BDs. Segundo Bárbara (2008), a função do JDBC é enviar instruções Structured Query Language (SQL) para qualquer BD relacional. Para ele, existem certas semelhanças entre o JDBC e Open Database Connectivity (ODBC), pois ambos funcionam como meio de comunicação Banco x Aplicação, porém, ODBC é uma aplicação restrita ao Windows, enquanto JDBC é multiplataforma. Conforme diz Kurniawan (2002), é necessário um driver funcionando como ponte para a comunicação do aplicativo com o SGBD. O driver JDBC do BD ao qual alguém deseje se conectar é fornecido pelo fabricante de BD ou por outros meios. Segundo Souza (2007), os drivers JDBC foram divididos em quatro tipos que são: Tipo 1 – Ponte JDBC/ODBC – O primeiro tipo criado e atualmente pouco utilizado pelo fato de usar ODBC, que sacrifica a portabilidade. É escrito em linguagem nativa e composto por classes do pacote sun.jdbc.odbc e uma biblioteca de código nativo. 44 Tipo 2 – Driver API-Nativo – Esse tipo eliminou a dependência de ODBC, mas ainda é escrito em linguagem nativa, basicamente traduz as chamadas JDBC para as chamadas da API cliente do BD usado. Para seu uso é necessária à instalação de bibliotecas extras na máquina utilizada. Tipo 3 – Protocolo de Rede – Esse tipo é escrito em Java e, assim, elimina a necessidade de bibliotecas de código nativo. Ele faz a conversão de chamadas JDBC a um protocolo de rede genérico que, então, pode ser traduzido a chamadas à API do SGBD. Tipo 4 – Driver Nativo - Totalmente implementado em Java, converte as chamadas JDBC diretamente no protocolo do banco de dados, dispensando uma API cliente intermediaria. É o tipo de driver mais recomendado. A tecnologia JDBC permite usar a linguagem de programação Java para explorar “write once, run anywhere” capacidades para aplicações que requerem acesso aos dados corporativos. Com um driver JDBC tecnologia habilitada, pode-se conectar a todos os dados corporativos mesmo em um ambiente heterogêneo. 1.5.5 Servlets Segundo Horstmann (2004), os servlets Java são mecanismos alternativos para construir aplicativos da Web. Servlets e JavaServer Pages (JSP) estão relacionados, ambos são utilizados para gerar conteúdo dinâmico e para interação com o cliente. Segundo Horstmann (2004), servlet é um programa Java que executa cálculos, alguns deles geram código HTML. Ao implementar um servlet, o programador utiliza uma classe que estende a classe HttpServlet, a qual contém os seguintes métodos: GET – Método que obtém informações de um servidor e as envia de volta ao navegador. POST – Método que obtém informações que o usuário fornece e as envia a um servidor. Ambos os métodos contêm os seguintes parâmetros: 45 Request - Contém detalhes sobre a solicitação. Response - Permite especificar o que será retornado ao navegador. Para Gonçalves (2007), servlets são classes Java, desenvolvidas de acordo com uma estrutura bem definida, e que, quando instalada junto a um servidor que implemente um servlet container logo podem tratar requisições recebidas de clientes. Por conseguinte, servlets são à base do desenvolvimento de qualquer aplicação escrita em Java para a web. Todo servlet possui um ciclo de vida no qual é composto por três fases, sendo: Inicialização, atendimento as requisições e finalização. Segundo Deitel e Deitel (2005), o ciclo de vida de um servlet se inicia quando o contêiner o carrega na memória, normalmente, em resposta à primeira solicitação ao servlet. Então os seguintes métodos que formam o ciclo de vida do servlet, são executados: init() - O contêiner chama este método uma vez durante o ciclo para inicializar o servlet. service() - O contêiner de servlets chama este método para responder a uma solicitação do cliente para o servlet. destroy() - É um método de limpeza que é chamado quando um servlet é finalizado. Todos os recursos utilizados pelo servlet, como abrir arquivos ou conexões ao BD, são desalocados no momento da execução deste método. 46 Figura 1.10 – Ciclo de vida de um Servlet. Fonte: adaptado de Gonçalves, 2007, p.32 Ainda afirma Gonçalves (2007), nesse contexto, a inicialização do servlet ocorre quando o container carrega o servlet, logo, caso o parâmetro <load-onstatup/> esteja presente e contiver um inteiro positivo, tal carga ocorre quando o servidor é iniciado, pelo contrário, tal carga ocorre, quando é recebida a primeira requisição a ser mapeada para aplicação que contém o servlet. Depois de iniciado, o servlet pode atender requisições e ressalta que enquanto o servidor estiver ativo, e a aplicação que contém o servlet estiver carregada, este permanecerá recebendo as requisições e finalmente, quando o servidor é finalizado ou quando aplicações tornase inativo pelo servlet container, logo, o servlet é finalizado. Segundo Kurniawan (2002), um servlet é uma classe Java que pode ser automaticamente carregada e executada por um servidor web especial, o qual é chamado de contêiner servlet. Os servlets interagem com clientes por meio de um modelo solicitação-resposta baseado em HyperText Transfer Protocol (HTTP). Pelo fato da tecnologia servlet trabalhar sobre HTTP, um contêiner servlet precisa suportá-lo como protocolo para solicitações de cliente e respostas de servidor. 47 Na 1.11 é ilustrada a arquitetura de um aplicativo servlet. Figura 1.11 - Arquitetura Servlet. Fonte: Kurniawan, 2002, p.06 1.5.6 Java Server Pages (JSP) Segundo Deitel e Deitel (2010), JSP é uma extensão da tecnologia servlet e, além disso, cada JSP é um documento que é convertido pelo container JSP em um servlet. Para Gonçalves (2007), JSP são paginas Java introduzidas em HTML, com isso a página dinâmica é gerada pelo código JSP. Horstmann (2004) explica que, ao usuário solicitar uma página HTML de um servidor na Web, este localiza o arquivo e retorna seu conteúdo. O conteúdo exibido é o mesmo cada vez que a página é solicitada, ou seja, é estático. Entretanto, existem sites da Web que oferecem conteúdos mais dinâmicos, cujas informações são alteradas frequentemente; este é o objetivo da tecnologia JSP: implementar páginas dinâmicas. Segundo Gonçalves (2007), uma das vantagens de se desenvolver em JSP é que a primeira vez em que uma página JSP é carregada, o código é compilado gerando um servlet, e nas próximas execuções a página é enviada diretamente ao servlet, sem que haja uma recompilação. Segundo Horstmann (2004), para se utilizar a tecnologia JSP é necessário ter um servidor integrado a um contêiner de JSP, que lê a página JSP solicitada e a transforma em uma página HTML. Existem diversos servidores disponíveis para 48 esse uso, como o Apache Tomcat e o Glassfish. Segundo Deitel e Deitel (2005), os elementos de script, como os scriptlets, possibilitam aos programadores a inserção de códigos Java que interajam com componentes em um JSP, a fim de realizar o processamento de solicitação. A figura abaixo ilustra o ciclo que acontece ao se utilizar JSP, desde a execução de seu arquivo, sua tradução para HTML, passando pelo servidor, até chegar ao navegador do usuário. Figura 1.12 - Ciclo de execução do JSP. Fonte: Horstmann, 2004, p.951 Segundo Gonçalves (2007), pelo fato de uma página JSP ser convertida em servlet, ela passa a ter o mesmo ciclo de vida que o servlet. Em JSP não existem métodos equivalentes ao doGet e doPost de um servlet para o atendimento às requisições, porém, existem os métodos jspInit() e jspDestroy() que possibilitam a implementação de códigos de inicialização e finalização da página. A codificação de uma página JSP, como Horstmann (2004) explica, se parece com a de uma página HTML convencional. Entretanto, dentro do código, há instruções em Java, que são executadas sempre que a página da Web é enviada para um navegador. 1.5.7 Ajax Ao contrário do que muitas pessoas pensam, Ajax não é mais uma linguagem de programação, tratando-se de uma tecnologia que utiliza recursos das linguagens JavaScript e XML para definir solicitações assíncronas feitas do lado cliente da aplicação para o servidor, eliminando o tempo de espera que ocorre no momento em que a página está carregando seu conteúdo. O processo de realizar requisições de informações em uma página sem a necessidade de recarregar por completo foi o fator que mais marcou e fez com que a tecnologia Ajax fosse adotada e aceita por 49 toda a comunidade de programadores Web, o que trouxe também substancial melhora no modelo de interação, pois o processo de recarga de páginas, em alguns casos, quando demorados, deixava o usuário frustrado a ponto de desistir de realizar sua tarefa (NIEDERAUER, 2007; MCLAUGHLIN, 2006). Conforme Niederauer (2007), em uma aplicação convencional, o processo de interação inicia quando o navegador cliente faz uma solicitação através do protocolo HTTP ao servidor requisitando uma página. Esta página retorna, sendo reproduzida ao navegador Web. Se logo após este procedimento, o usuário fizer a submissão de um formulário ou clicar em um link, será necessário que a página seja completamente carregada. Figura 1.13 - Modelo convencional de aplicação. Fonte: Rao, 2008 50 Conforme Mclaughlin (2006), para uma aplicação baseada na tecnologia Ajax, este procedimento é executado apenas na primeira vez que é carregada uma página Web específica. Se o usuário realizar outra requisição na mesma página, uma solicitação é feita através do protocolo HTTP ao servidor, onde processa o pedido e retorna a resposta no formato XML alterando apenas o ponto dentro da página HTML que é necessário, continuando todo o restante estático. A forma como ocorre este processo, é mais bem visualizada na figura abaixo. Figura 1.14 - Modelo de aplicação Web baseada em Ajax. Fonte: Rao, 2008 Conforme Niederauer (2007) outra vantagem da utilização desta tecnologia é a possibilidade de realizar várias requisições ao mesmo tempo, ou seja, sua estrutura de funcionamento, denominada também pelo autor de motor Ajax, permite realizar simultaneamente diversas requisições. 51 1.5.8 JQuery O JQuery é uma biblioteca JavaScript rápida, pequena e rica em recursos. Isso torna as coisas como travessia documento HTML e manipulação de eventos, animação e Ajax muito mais simples com uma API fácil de usar, que funciona através de uma infinidade de navegadores (JQUERY, 2014). 1.6 FERRAMENTA IREPORT A ferramenta iReport visa facilitar a construção de relatórios utilizando a biblioteca JasperReport. O iReport permite definir relatórios com designs modernos simples ou complexos, sem a necessidade de escrever linhas de códigos XML, pois todos os códigos são gerados automaticamente. Além disso, a ferramenta possui um ambiente que oferece atalhos para tarefas de compilação e visualização dos relatórios, permitindo-lhe a realização de teste. Segundo Lima (2009), 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. Para Macedo (2010), o iReport é uma ferramenta desenvolvida pela mesma empresa do JasperReport, a JasperForge, e por isso é muito comum ver os dois sendo utilizados em conjunto. O iReport é um aplicativo gráfico que permite “desenhar” um relatório, utilizando uma palheta e arrastando e soltando componentes, de forma bem parecida com a criação de interfaces e janelas para programas. 52 Figura 1.15 - Exemplo de uma tela da ferramenta iReport. Fonte: Macedo, 2010 Figura 1.16 - Exemplo de uma tela da ferramenta iReport. Fonte: Macedo, 2010 53 Figura 1.17 - Exemplo de uma tela da ferramenta iReport. Fonte: Macedo, 2010 1.7 NETBEANS O NetBeans é um ambiente de desenvolvimento integrado (IDE) gratuito e de código aberto para desenvolvedores nas linguagens Java, C, C++, PHP entre outras. O IDE é executado em muitas plataformas com Windows, Linux, Solaris e Mac OS. O NetBeans IDE oferece aos seus desenvolvedores ferramentas necessárias para criar aplicativos profissionais de desktop, empresariais, Web e móveis multiplataformas. O NetBeans Platform é o runtime das sua aplicações fornecendo uma base sólida para o desenvolvimento de seus projetos e à criação de “modules”. O NetBeans IDE é um ambiente de desenvolvimento integrado gratuito e de código aberto para os desenvolvedores de software. O IDE é executado em muitas plataformas, como Windows, Linux, Solaris e MacOS. É fácil de instalar e usar essa ferramenta. O NetBeans IDE oferece aos seus desenvolvedores todas as ferramentas necessárias para criar aplicativos empresariais, Web e móveis multiplataforma. profissionais de desktop, 54 Figura 1.18 - Visão geral da ferramenta NetBeans IDE. Fonte: Oracle, 2013 Figura 1.19 - Visão geral da ferramenta NetBeans IDE. Fonte: Oracle, 2013 55 A seguir um pequeno resumo dos principais recursos da plataforma: Interface com o usuário – os menus, barras de ferramentas e outros componentes User Interfaces (UI) de apresentação são fornecidos por esta plataforma. Editor – rico em recursos para aplicações visuais Swings ou Abstract Window Toolkit (AWT), para aplicações Web (Servlets e JSP, Java Server Pages Standard Library (JSTL), Enterprise Java Beans (EJBs) XML com suporte a Definição de Tipo de Documentos (DTDs) e XML Schemas entre outros. Gerenciamento – as views gerenciam a estrutura de projeto localmente ou remotamente, podendo também utilizar Projects.Sistema de Versões Concorrente – Concurret Version System (CVS), FTP ou base de dados remota. Cross – Plataform – totalmente escrito em Java, portanto é multiplataforma. Wizards – ferramentas de gerenciamento de códigos, criação de templates entre outros. O NetBeans IDE é um conjunto de bibliotecas, módulos e APIs, formando em ambiente integrado de desenvolvimento visual possibilitando ao desenvolvedor compilar, debugar, efetuar deploying de suas aplicações. Podem-se destacar os seguintes recursos dessa plataforma: debugador e compilador de programas, autocompletar avançado, depurador de erros, depurador de Servlets, synttax highlighting à XML, HTML, Cascating Style Sheet (CSS), JSP, Linguagem de Descrição de Interface – Interface Description Language (IDL), suporta linguagens Java, C, C++. Suporta também a XML e HTML, JSP, JSTL, Servlets. Recursos para desenvolvimento EJBs, Web Service, macros de abreviação, total suporte ao ANT e TomCat integrado na IDE, HTTP Monitor para monitoramento de suas aplicações Web. Indentação automática de códigos disponíveis, refatoração básicas de códigos Java. Suporte a DataBase (DB), Data view, Connection Wizard. Sendo assim é possível integrar os módulos e extensões como o Jfluid e JME Mobility. 56 1.8 ASTAH COMMUNITY A ferramenta Astah Community é open source e é utilizada para o desenvolvimento da modelagem de software. É flexível e extensível e vários diagramas. São eles, diagrama de caso de uso, diagrama de classe, diagrama de sequencia, diagrama de estado, diagrama de atividades, diagrama de componentes, diagrama de implementação, diagrama de estrutura composta, diagrama de comunicação e diagrama de pacote. Figura 1.20 - Visão geral da ferramenta Astah Community. Fonte: Elaborado pelos autores, 2014 O Astah Community é uma ferramenta de modelagem gratuita para projetos de sistemas orientados a objeto. É baseada nos diagramas e na notação da Unified Modeling Language (UML) e pode gerar códigos em Java. 57 1.9 ORACLE SQL DEVELOPER DATA MODELER Segundo Legatti (2008), a Oracle lançou o Oracle SQL Developer Data Modeling (OSMD) que é uma ferramenta gráfica para modelagem de dados. Essa ferramenta utiliza a mesma interface do já conhecido Oracle SQL Developer. Essa ferramenta tem como objetivo facilitar e melhorar a comunicação entre arquitetos, administradores de dados, administradores de banco de dados, desenvolvedores de aplicações e usuários, de forma a simplificar o processo de modelagem de dados como um todo. O OSDM compreende três camadas que podem trabalhar de forma sincronizada; um modelo lógico, um modelo relacional e um modelo físico. Na figura 1.21 e mostrada uma imagem de exemplo de modelo. O OSDM é uma nova ferramenta gráfica de modelagem de dados que facilita e melhora a comunicação entre os dados. Utilizando o OSDM os usuários podem criar, navegar, editar e desenvolver modelo lógico, relacional e físico. O OSDM é um modelo completo para solução de implementação para a modelagem de dados relacionais, seja por novas operações utilizando o banco de dados, capturando implementações para proporcionar uma representação gráfica e metadados relacionados para documentação, adicionando e implementando novos requisitos de dados. Figura 1.21 - Exemplo dos modelos. Fonte: Faleiro, 2007 58 1.9.1 Modelo conceitual Segundo Faleiro (2007), modelo que representa fielmente o negócio em questão, demonstrando caracteristicas fieis ao ambiente observado ou imaginado independente de qualquer limitação imposta por tecnologia, técnicas de implementação ou dispositivo físico. Deve ser utilizada na fase de análise, nunca na fase de projeto, em nível de conversação, representação do negócio, validação de conceito, etc. Um grande diferencial do modelo conceitual é a sua estabilidade, pois permanece sem mudanças independente da escolha futura de implementação em um SGBD relacional ou hierárquico por exemplo. Outro aspecto positivo do modelo conceitual é que como o mesmo não respeita regras e limitações imposta pela tecnologia, os desenvolvedores que estarão desenvolvendo o modelo irão conectar todo seu esforço no aspecto conceitual, obtendo maior detalhamento do conceito nessa fase. 1.9.2 Modelo lógico De acordo com Faleiro (2007), ao contrário dos modelos conceituais, os modelos lógicos são os modelos em que os objetos, suas caracteristicas e relacionamento têm sua representação de acordo com as regras de implementação e limitação impostos por algumas tecnologias, modelo esse utilizado já na fase de projeto, mais independente de dispositivos físicos, implementando conceitos como chave primária, normalização, integridade referencial, chaves compostas e outros. Segundo Martins (2011), esse modelo será criado através do modelo conceitual já construído, teoria essa que alguns autores têm uma visão diferenciada, definindo que o método para obtenção do modelo lógico é o processo criativo, sem haver a necessidade de um modelo conceitual. 59 Figura 1.22 - SQL Developer Data Modeler – Estrutura Modelo. Fonte: Manual do Oracle, 2009 Figura 1.23 - Modelo Lógico. Fonte: Manual do Oracle, 2009 60 1.9.3 Modelo físico Para Faleiro (2007), elaborado a partir do modelo lógico levando em consideração limites impostos por dispositivos físicos e pelos seus requisitos não funcionais dos programas que acessam os dados, cada dispositivo físico (SGBD) diferente poderá definir um modo diferente de implementação física das caracteristicas e recursos necessários para o armazenamento e manipulação das estruturas de dados. Segundo Pressman (2006), o modelo de dados consiste em três peças de informação inter-relacionadas: o objeto de dados, os atributos que descrevem o objetivo de dados e as relações que conectam os objetivos de dados uns aos outros. 1.10 CONSIDERAÇÕES SOBRE O CAPÍTULO Neste capitulo foi abordado as ferramentas e suas tecnologias para a implementação e realização deste trabalho, bem como definir os conceitos e as principais funcionalidade de cada uma delas. No próximo capitulo será abordado as principais funcionalidades de uma Ordem de Serviço (OS) e suas particularidades. Também será abordado sobre os principais aspectos e componentes de um cronotacógrafo. 61 2 FUNCIONALIDADES Neste capítulo abordaremos as principais funcionalidades de Ordem de Serviços (OS) e suas particularidades, bem como, falaremos também sobre os principais aspectos e componentes de um cronotacógrafo para a elaboração deste trabalho. 2.1 ORDEM DE SERVIÇO (OS) Ordem de Serviço (OS) é um contrato a curto prazo entre o fornecedor de serviços e o contratante de serviços, em que os serviços únicos são específicos em uma ordem e para o qual o faturamento relacionado ao recurso é executado na conclusão. OS é uma solicitação de uma atividade de serviços a ser executada em um objeto de manutenção, em uma sociedade do cliente em uma determinada data. Para Vieira (2011), OS é um documento para orientar e informar os trabalhadores de uma determinada organização empresarial, quais os riscos que irá encontrar no ambiente de trabalho e na execução de suas atividades, para que o mesmo possa ter alguns cuidados e realizar procedimentos para sua proteção. 2.2 POR QUE FAZER A OS A OS é um documento de suma importância, onde na hipótese de evento ocorrido sejam registrados esses fatos. A OS serve como utilitário para fornecer a documentação de acompanhamento das atividades de serviços. Uma OS é utilizada para as seguintes requisições: Executar o planejamento de serviços teóricos, com relação à utilização de materiais utilitários e pessoal. Supervisionar a execução de serviços. Entrar e aprimorar os custos provenientes dos serviços em execução. Os dados da OS são transferidos para o histórico e são de grande importância para análise e planejamento futuro. A OS é um documento muito importante que contém informações sobre um determinado serviço, é também um documento que serve para orientar e informar os contratantes. Uma OS contém 62 operações que descrevem as etapas de trabalhos individuais. 2.3 ESTRUTURA DE UMA OS A OS é um documento que tem a função de emitir comunicações internas em uma organização a respeito de um trabalho que precisa ser efetuado (BRASIL ESCOLA, 2013). A OS é um documento realizado para orientar e informar aos colaboradores de uma determinada organização, os riscos que eventualmente irá encontrar no ambiente de trabalho e na execução de suas atividades. Uma OS contém operações que descrevem as etapas de trabalhos individuais. Uma operação pode ser dividida em suboperações se forem necessários para maiores detalhes. As operações podem ser executadas sequencialmente, em paralelo, ou em sobreposição de um ao outro. Sua sequência temporal é definida através de relações. As operações e suboperações podem ser processadas interna ou externamente. Uma operação ou suboperação a ser processada internamente refere-se a um centro de trabalho responsável pela sua execução. As necessidades de capacidade para a execução da operação ou da suboperação podem ser planejadas. Os serviços definidos para uma operação externa são solicitados através do departamento de administração de uma organização empresarial. Os materiais de reposição e os utilitários são necessários para poder planejar os serviços na operação. A seguir mostraremos alguns exemplos de telas utilizando sistemas de OS. Figura 2.1 – Tela de Cadastro de Ordem de Serviço do CPT Dedetizadora. Fonte: CPT Softwares, 2012 63 Figura 2.2 – Tela de Cadastro de uma Ordem de Serviço. Fonte: SoftecSul Inovação, 2013 Figura 2.3 – Tela de Cadastro de uma Ordem de Serviço. Fonte: SoftecSul Inovação, 2013 64 LOGOTIPO DA EMPRESA ORDEM DE SERVIÇO (OS) POR ATIVIDADE – SEGURANÇA DO TRABALHO Função:Gerente de Produção Setor:Produção 1 – DESCRIÇÃO DA FUNÇÃO Auxiliar o operador durante a fabricação. Cuidar de peças necessárias para a manutenção e providenciar a sua compra. Coordenar a manutenção. Enviar peças para o Controle de Qualidade. Calcular tempo de produção dos materiais. Acompanhar o processo in loco. 2 – AGENTES ASSOCIADOS ÁS ATIVIDADES – NR01, 1.7, “c”, I * Agente Físico: Ruído equivalente a 78,8 dB (A), atenuado pelo uso efetivo e rotineiro do protetor auditivo. * Agente Químico: Óleo 3 – EPI’s DE USO OBRIGATÓRIO – NR01, 1.7, “c”, II * Protetor auricular tipo concha ou plug de inserção; * Creme protetor para pele das mãos e braços; * Óculos de segurança. 4 – RECOMENDAÇÕES * Atenção e cuidado com as partes móveis das máquinas, não mantenham contato direto com o equipamento em operação; * Fume somente em locais permitidos que estejam sinalizados; * Comunique a CIPA qualquer irregularidade que possa colocar você ou seus colegas em risco de acidentes; * Não remova ou ultrapasse as proteções existentes nas áreas; * Atenção e cuidado durante a utilização das mangueiras de ar comprimido, não as usem contra o corpo; * Use EPI1s designados a sua função; * Comparecer ao departamento médico para exames periódicos quando solicitados. 5 – PROCEDIMENTOS EM CASO DE ACIDENTES – NR01, 1.7, “e” Todo e qualquer acidente de trabalho, deverá ser comunicado para o superior imediato, na falta deste para o membro da CIPA e/ou ao RH, para que possa ser providenciada a emissão da CAT – Comunicado de Acidente do Trabalho, cujo prazo da abertura é de 24h 6 – PUNIÇÕES (o não cumprimento desta OS) 1º ocorrência: advertência verbal + treinamento 2º ocorrência: advertência escrita + treinamento 3º ocorrência: advertência escrita + treinamento 4º ocorrência: desligamento da empresa 7- OBSERVAÇÕES As orientações aqui contidas não esgotam o assunto sobre prevenção de acidentes, devendo ser observadas todas as instruções existentes, ainda que verbais em especial as Normas e Regulamentos da Empresa APROVAÇÃO: DATA: CIPA: DATA: DATA DA ELABORAÇÃO:15/03/2014 REVISÃO:0 Figura 2.4 – Exemplo de uma Ordem de Serviço. Fonte: Vieira, 2013 65 2.4 ELABORAÇÃO DE UMA OS Conforme a Norma Regulamentadora (NR) 01, o Ministério do Trabalho especificou alguns objetivos que devem conter na OS. Assim a OS deve conter informações bem claras e objetivas sobre: Função (exemplo: Gerente de Produção, Supervisor de Produção, Operador de Máquina, Auxiliar de Produção, etc); Setor (informar o local da aplicação da OS); Descrição da função (descrever todas as atividades exercidas por aquele colaborador); Informar os riscos profissionais que possam originar-se no local de trabalho (NR 01, 1.7, “c”, I); Informar os meios para prevenir e limitar os riscos e as medidas adotadas pela empresa (NR 01, 1.7, “c”, II, (informar quais Equipamento de Proteção Individual (EPI) são de uso obrigatório)); Recomendações (citar algumas recomendações que devem ser seguidas pelo colaborador, para sua segurança e saúde); Determinar procedimentos que devem ser adotados em caso de acidente ou doença relacionada ao trabalho (NR 01, 1.7, “e”); Punição (a possibilidade de punição ao trabalhador em caso de descumprimento das OS expedidas pela empresa); Assinatura e data (de quem aprovou o documento); Comissão Interna de Prevenção de Acidentes (CIPA) (assinatura dos integrantes da CIPA e data); Data da elaboração; Número da revisão (havendo modificação no processo, espaço físico, etc, pode eliminar ou aparecer nos riscos relacionados a saúde e segurança, onde a OS deverá ser revisada e controlada). Para Vieira (2011), a OS sobre segurança do trabalho não deve se limitar à transcrição de textos legais ou redações padrões, o ideal é que a mesma seja elaborada conforme as instalações da organização empresarial, arranjo físico, máquinas, equipamentos, materiais e insumos utilizados na produção. A OS sobre 66 Segurança e Medicina do Trabalho, emitida com base nos riscos reais da organização, é também um documento extremamente útil na realização das integrações dos novos colaboradores, podendo ser também utilizada como material de apoio em treinamentos internos, auditoria e fiscalização (VIEIRA, 2011). Para Gomes (2012), uma OS pode ser compreendida como um documento que estabelece os regulamentos e procedimentos internos de segurança e saúde no trabalho da empresa a cada funcionário e a este cabe cumpri-la plenamente. Afirma Gomes (2012) que o objetivo da OS é estabelecer ao conhecimento do funcionário os riscos que irá encontrar no local de trabalho, as possíveis punições pelo descumprimento da OS, assim como, os regulamentos e procedimentos de segurança. Visando adotar medidas que possam eliminar ou neutralizar as condições de insegurança no ambiente de trabalho. 2.5 OBRIGATORIEDADE Conforme estabelece o artigo 157 da Lei 6.514, de 22 de Dezembro de 1977, que alterou o capítulo V do Título II da Consolidação das Leis do Trabalho (CLT), cabe a empresa: “instituir os empregados, através de ordem de serviço, quanto às precauções a tomar no sentido de evitar acidentes do trabalho ou doenças ocupacionais”. Além disso, de acordo com a norma regulamentadora NR 01 da Portaria Gabinete do Ministro (GM) nº 3.214, de 08 de Junho de 1978, item 1.7, alínea “b”, cabe ao empregador: “elaborar ordens de serviços sobre segurança e saúde no trabalho, dando ciência aos empregados por comunicados, cartazes ou meios eletrônicos”. O funcionário deve ler com atenção sua OS, buscando assim, tirar todas as possíveis dúvidas. Pois, ao assiná-la estará afirmando estar ciente de seus direitos e deveres, dos riscos expostos e procedimentos de segurança adotáveis em sua atividade no ambiente de trabalho (GOMES, 2012). Afirma ainda Gomes (2012) geralmente as organizações emitem OS ao empregado após a palestra ou treinamento de integração do funcionário. Podendo ser feita em duas ou três vias: uma ao funcionário, uma a organização e no caso de três vias, uma cópia ao Serviço Especializado em Engenharia de Segurança e em Medicina do Trabalho (SESMT). A empresa deve sempre atualizar a OS nas ocasiões de alteração do local ou forma de trabalho, assim como, se necessitar de 67 mudanças no tipo de EPI e/ou Equipamento de Proteção Coletiva (EPC). O empregado ao descumprir algum item da OS estará passível de punição, como a demissão por “justa causa”, quando for perfeitamente caracterizada e o descumprimento enquadra-se em algum dos casos descritos no artigo 482 da CLT: a) Ato de improbidade; b) Incontinência de conduta ou mau procedimento; c) Negociação habitual por conta própria ou alheia sem permissão do empregador, e quando constituir ato de concorrência à empresa para a qual trabalha o empregado, ou for prejudicial ao serviço; d) Condenação criminal do empregado, passada em julgado, caso não tenha havido suspensão da execução da pena; e) Desídia no desenvolvimento das respectivas funções; f) Embriaguez habitual ou em serviço; g) Violação de segredo da empresa; h) Ato de indisciplina ou de insubordinação; i) Abandono de emprego; j) Ato lesivo da honra ou da boa fama praticado no serviço contra qualquer pessoa, ou ofensas físicas, nas mesmas condições, salvo em caso de legítima defesa, própria ou de outrem; k) Ato lesivo da honra ou da boa fama ou ofensas físicas praticadas contra o empregador e superiores hierárquicos, salvo em caso de legítima defesa, própria ou de outrem; l) Pratica constante de jogos de azar; E conforme estabelece o artigo 483, da CLT, o empregado poderá considerar rescindido o contrato e pleitear sua devida indenização quando: a) Forem exigidos serviços superiores às suas forças, defesos por lei, contrário aos bons costumes, ou alheios ao contrário; b) For tratado pelo empregador ou por seus superiores hierárquicos com rigor excessivo; c) Correr perigo manifesto de mal considerável; d) Não cumprir o empregador as obrigações do contrato; e) Praticar o empregador ou seus prepostos, contra ele ou pessoas de sua família, ato lesivo da honra e da boa fama; 68 f) O empregador ou seus prepostos ofenderem-no fisicamente, salvo em caso de legítima defesa, própria ou de outrem; g) O empregador reduzir os seu trabalho, sendo este por peça ou tarefa, de forma a afetar sensivelmente a importância dos salários. §1º - O empregador poderá suspender a prestação dos serviços ou rescindir o contrato, quando tiver de desempenhar obrigações legais, incompatíveis com a continuação do serviço. §2º - No caso de morte do empregador constituído em empresa individual, facultando ao empregador rescindir o contrato de trabalho. §3º - Nas hipóteses das letras d e g, poderá o empregado pleitear a rescisão de seu contrato de trabalho e o pagamento das respectivas indenizações, permanecendo ou não no serviço até final decisão do processo. Para Gomes (2012), basicamente a OS deve conter as seguintes informações: os riscos profissionais que possam originar-se nos locais de trabalho. Estabelecer as organizações e proibições que o funcionário deve ter conhecimento e cumprir. Os procedimentos que devem ser adotados em caso de acidente ou doença relacionada ao trabalho. Os EPIs a serem utilizados pelo funcionário e os EPC disponíveis ao (s) empregado (s). Estabelecer ao conhecimento do funcionário de que será passível de punição pelo descumprimento de algum dos itens da OS. Conter as medidas determinadas pelo Ministério do Trabalho aos empregados e em pregadores que deverão ser adotadas e cumpridas por ambos. As medidas e comportamentos a serem adotadas pelo trabalhador para prevenir acidentes no desempenho do trabalho. 2.6 CRONOTACÓGRAFO O QUE É? O cronotacógrafo é o instrumento destinado a indicar e registrar, de forma simultânea, inalterável e instantânea, a velocidade e a distância percorrida pelo veículo, em função do tempo decorrido, assim como os parâmetros relacionados com o condutor do veículo, tais como: o tempo de trabalho e os tempos de parada e de direção. Os veículos de carga com peso bruto acima de 4.536 quilogramas (Kg) e os 69 veículos de passageiros com mais de dez lugares são obrigatórios pelo Código de Trânsito Brasileiro (CTB) a possuir cronotacógrafo. Através dele, é possível monitorar o deslocamento do veículo. O disco diagrama, de papel especial, colocado no cronotacógrafo, registra dados importantes, como as velocidades desenvolvidas pelo veículo, intervalos de tempo parado e em deslocamento e distâncias percorridas. São informações aceitas legalmente como prova em caso de acidentes ou denúncias de má condução do veículo (INMETRO, 2014). O disco diagrama deve ser trocado a cada vinte e quatro horas ou sete dias, de acordo com os modelos aprovados e descritos na portaria Instituto Nacional de Metrologia (INMETRO/DIMEL). O disco diário é único, enquanto o semanal é composto por sete discos intercalados. O disco contém áreas específicas para registro de velocidade, distância percorrida e tempo. Em sua parte central, há espaço apropriado para o nome do condutor, local, data de início e término do percurso, identificação do hodômetro e número da portaria de aprovação de modelo do disco ou fita diagrama. Devem constar ainda outros dados como a marca ou nome do fabricante, velocidade máxima de registro, código de aprovação de modelo e número das portarias de cronotacógrafos. Embora já mencionada no texto, reforçamos que a fita diagrama é outro meio de registro das informações de deslocamento do veículo, usada em alguns modelos do cronotacógrafo (INMETRO, 2014). 2.6.1 Origem do cronotacógrafo Usado para monitorar o trânsito de ônibus e caminhão, o cronotacógrafo inicialmente era utilizado em trens. O instrumento de medição de velocidade, tempo e distância foi criado no século XIX pelo alemão Max Maria von Weber, filho de Carl von Weber. Nos tempos atuais, o cronotacógrafo de Max é mundialmente utilizado como meio de controle e fiscalização de veículos e de seus condutores (INMETRO, 2014). O Brasil está entre os países que tornaram o uso do cronotacógrafo obrigatório em ônibus e caminhões. Desde 1997, quando foi instituído o CTB, veículos de carga com peso bruto superior a 4.536 kilogramas e de passageiros com mais de dez lugares devem ser verificados periodicamente pelo INMETRO, o que 70 aumenta a confiabilidade das medições. A importância do uso do cronotacógrafo vem crescendo ao longo dos anos em sequencia do número de acidentes fatais, envolvendo ônibus e caminhões. O instrumento inibe os excessos e ajuda a reduzir os acidentes, uma vez que registra o histórico das velocidades desenvolvidas, distâncias percorridas e tempo de movimento e parada do veículo (INMETRO, 2014). 2.6.2 Legislação sobre cronotacógrafo O Código de Trânsito Brasileiro (CTB) estabelece a obrigatoriedade do cronotacógrafo para veículos de transporte coletivo de passageiro, escolares e veículos de carga com Peso Total Bruto (PBT) superior a 4.536 kg, conforme descrito no artigo 105: São equipamentos obrigatórios dos veículos, entre outros a serem estabelecidos pelo Conselho Nacional de Trânsito (CONTRAN); para veículos de transporte e de condução escolar, os de transporte de passageiros com mais de dez lugares e os de carga com PBT superior a 4.536 kg, equipamento registrador instantâneo inalterável de velocidade e tempo (INMETRO, 2012). Além do contido no CTB, o CONTRAN estabelece através da Resolução 14/98 e 87/99, a obrigatoriedade do registrador instantâneo e inalterável de velocidade e tempo, nos veículos de transporte e condução escolares, nos de transporte de passageiro licenciados na categoria aluguel com mais de dez lugares que estejam realizando o transporte remunerado de passageiros e nos veículos de carga com capacidade máxima de tração superior a 19 toneladas (fabricação até dezembro de 1990 com PBT inferior a 19 toneladas estão isentos da obrigatoriedade do cronotacógrafo) e veículo que transportam produtos perigosos (INMETRO, 2012). Nas Figuras 2.5 e 2.6 são mostrados os exemplos de cronotacógrafo utilizados em veículos. 71 Figura 2.5 – Exemplo de um cronotacógrafo. Fonte: IPEMSP, 2014 Figura 2.6 – Exemplo de cronotacógrafo digital. Fonte: VDO Brasil, 2014 2.6.3 Obrigatoriedade do uso do cronotacógrafo O cronotacógrafo é um instrumento de medição utilizado para monitorar a velocidade, o tempo e a distância percorrida pelo veículo, assim como os parâmetros relacionados ao condutor do veículo, tais como o tempo de trabalho e os tempos de parada e de direção. Somente alguns veículos são obrigatórios a portar o cronotacógrafo. São eles: os veículos de carga com peso bruto acima de 4.536 kg e os veículos de passageiros com mais de dez lugares. Esta obrigação é uma exigência legal, que consta no artigo 105 do CTB (IPEMPR, 2014). 72 Figura 2.7 – Exemplo de cronotacógrafo e suas informações. Fonte: VDO Brasil, 2014 2.7 SELOS NOS CRONOTACÓGRAFOS O cronotacógrafo é um equipamento instalado em caminhões e ônibus com o objetivo de registrar o tempo de viagem, distância percorrida e a velocidade desenvolvida para fins de controle e monitoramento dos condutores. Para que ocorra o perfeito registro das informações durante o percurso de um veículo, o cronotacógrafo deve ser devidamente vistoriado e selado pelo INMETRO. Figura 2.8 – Cronotacógrafo selado. Fonte: Revista Mundo Trânsito, 2012 73 A vistoria e selagem do cronotacógrafo devem ser realizadas por todos os proprietários de caminhões e ônibus em qualquer oficina autorizada pelo fabricante do equipamento e devidamente cadastrada no INMETRO para que o cronotacógrafo receba a selagem necessária e se submeta à realização de ensaios metrológicos. Se o cronotacógrafo atender aos requisitos previstos no Regulamento Técnico Metrológico aprovado pela portaria INMETRO nº 201/04, que estabelece as especificações a que devem atender os cronotacógrafos, o proprietário do equipamento recebe o certificado de verificação que possui validade de dois anos. 2.7.1 Tipos de selagem obrigatória em cronotacógrafos São dois tipos de selos obrigatórios em um cronotacógrafo. Selo plástico/lacre amarelo com arame para ser colocado na conexão do cabo do cronotacógrafo com a caixa de câmbio, que pode ser obtido diretamente junto ao IPEM do estado em que a oficina cadastrada se localiza. Já o selo adesivo/etiqueta pode ser colocado em pontos do instrumento definido no modelo aprovado pelo INMETRO, que deve ser providenciado pelo fabricante que necessitar. A cor deste selo é igual para todos os fabricantes, na medida em que os mesmos serão diferenciados pela letra identificadora de cada fabricante. A letra precede a numeração sequencial e ambas são definidas pela Coordenação Geral da Rede Brasileira de Metrologia Legal e Qualidade – Cored do INMETRO. Figura 2.9 – Modelos de lacre e selos. Fonte: INMETRO, 2014 74 2.7.2 Verificação Os cronotacógrafos devem ser submetidos à verificação inicial, feita antes do instrumento ser posto a venda. A verificação consiste em observar se o instrumento foi fabricado de acordo com o modelo aprovado pelo INMETRO e se atende ao regulamento técnico metrológico especifico para esse instrumento. Depois de instalado no veículo, o cronotacógrafo precisa passar por verificação subsequente a cada dois anos, ou sempre que sofrer reparo ou manutenção. Esta verificação subsequente é realizada nos Postos de Ensaio, credenciados pelo INMETRO, ou na ausência destes postos, deverá dirigir-se a um Posto de Selagem (IPEMPR, 2014). Tabela 2.1 – Estados onde possuem os Postos de Selagem ESTADO ACRE ALAGOAS AMAPÁ AMAZONAS BAHIA CEARÁ DISTRITO FEDERAL ESPIRITO SANTO GOIÁS MARANHÃO MATO GROSSO MATO GROSSO DO SUL MINAS GERAIS PARÁ PARAÍBA PARANÁ PERNAMBUCO PIAUÍ RIO DE JANEIRO RIO GRANDE DO NORTE RIO GRANDE DO SUL RONDÔNIA RORAIMA SANTA CATARINA SÃO PAULO SERGIPE TOCANTINS Fonte: INMETRO, 201 QUANTIDADE DE POSTOS 1 5 1 6 35 15 6 11 35 6 28 30 113 19 8 90 22 5 69 11 83 9 1 47 297 5 5 75 Tabela 2.2 – Estados onde possuem os Postos de Ensaio ESTADO ALAGOAS AMAPÁ AMAZONAS BAHIA CEARÁ DISTRITO FEDERAL ESPIRITO SANTO GOIÁS MARANHÃO MATO GROSSO MATO GROSSO DO SUL MINAS GERAIS PARÁ PARAÍBA PARANÁ PERNAMBUCO PIAUÍ RIO DE JANEIRO RIO GRANDE DO NORTE RIO GRANDE DO SUL RONDÔNIA SANTA CATARINA SÃO PAULO SERGIPE Fonte: INMETRO, 2014 QUANTIDADE DE POSTOS 1 1 2 8 4 3 7 12 2 6 6 34 4 4 22 6 2 20 4 35 4 28 76 1 O Posto de Selagem coloca os selos plásticos (lacres) e o selo adesivo (etiqueta) nos pontos estipulados para essa finalidade. Já o Posto de Ensaio realiza as inspeções e os ensaios exigidos pelo regulamento técnico metrológico específico para cronotacógrafos. Nos postos de ensaio também são colocados os selos plásticos e o selo adesivo. Uma vez aprovado, é emitido o certificado de verificação com validade de dois anos (IPEMPR, 2014). 2.7.3 As oficinas Não existe qualquer obrigatoriedade definida pelo INMETRO para empresas que atuam no âmbito da manutenção e vendas de peças de tacógrafos. A obrigatoriedade está relacionada exclusivamente com a realização do plano de 76 selagem e dos ensaios nos instrumentos. O processo de cadastramento realizado pelo INMETRO tem a finalidade de conhecer e, em caso de descumprimento das regras estabelecidas, responsabilizar as empresas autorizadas pelos fabricantes de cronotacógrafos para a colocação dos seus selos. O INMETRO não autoriza oficinas para serviços de manutenção de cronotacógrafos, portanto todos os ajustes que o responsável entender necessários realizar antes da apresentação do instrumento à selagem poderá ser realizados em qualquer oficina se sua confiança, não necessariamente cadastrada (IPEMPR, 2014). 2.7.4 Fiscalização A fiscalização não estará restrita ao momento das inspeções, podendo ser exercida em qualquer outro, seja nas estradas ou nas autorizações obtidas pelo poder concedente dos municípios, estados ou união. A competência para fiscalização, na medida em que a exigência de utilização do instrumento é do Departamento Nacional de Trânsito (DENATRAN), a atividade de fiscalização quanto à utilização do instrumento é de competência daquele departamento. As ações de fiscalização do DENATRAN poderão ser apoiadas por exigências do poder público concedente das atividades de transporte, por exemplo: as secretarias municipais e os órgãos estatuais de trânsito que poderão exigir o certificado de verificação para o licenciamento das atividades de transporte em sua área de competência. Assim sendo, a fiscalização poderá ocorrer em duas esferas: quanto a utilização do instrumento pelo DENATRAN; quanto a verificação do instrumento pelo INMETRO e também pelo DENATRAN, já que sem a correta verificação entende-se que o instrumento não está sendo utilizado. A fiscalização, a partir das datas especificadas para cada tipo de veículo, poderá ser feita tanto pelo INMETRO como pelo DENATRAN da forma acima descrita, nas suas esferas de competência. A exigência do certificado poderá ser feita em qualquer um dos casos mencionados (IPEMPR, 2014). 77 2.8 CONSIDERAÇÕES SOBRE O CAPÍTULO Neste capítulo foi abordado as principais funcionalidades de uma OS que se trata de um contrato a curto prazo entre o fornecedor de serviços e o contratante de serviços, pois, uma OS trata-se de uma solicitação de uma determinada atividade de serviço a ser executada em um objeto de manutenção, em uma sociedade do cliente em uma determinada data. Também foi abordado as principais estrutura de um cronotacógrafo, considerando seus principais aspectos: a sua origem, sua obrigatoriedade pois trata de um importante instrumento de medição utilizado para monitorar a velocidade, o tempo e a distância percorrida pelo veículo. O instrumento inibe os excessos e ajudará a reduzir os acidentes, uma vez que registra o histórico das velocidades envolvidas, distâncias percorridas e tempo de movimento e parada do veículo. No próximo capítulo será abordado detalhes do desenvolvimento de um sistema Web de OS para armazenar informações importantes do uso de um cronotacógrafo. 78 3 ANÁLISE E PROJETO DO SISTEMA Neste capítulo encontram-se descritas as etapas de análise e projeto do desenvolvimento do SisCrono: um sistema de gestão de serviços em manutenção em Cronotacógrafos. 3.1 ANÁLISE DE NEGÓCIO 3.1.1 Introdução do Problema Atualmente as oficinas que realizam serviços de cronotacógrafos não possuem um sistema informatizado para que possam agilizar e facilitar as atividades realizadas no cotidiano, bem como gerar os relatórios das OSs que foram realizadas, uma vez que essas atividades, muitas vezes, são descritas manualmente. Sendo assim, as realizações das atividades da geração de relatórios tornam-se onerosa. Com o desenvolvimento de um sistema Web voltado para as necessidades de oficinas, elas podem se beneficiar, realizando atividades mais eficazes e eficientes, como por exemplo, fazer uma busca de informação por meio de relatórios ou consultar dados de serviços realizados. O desenvolvimento do sistema Web conta com um acompanhamento mais detalhado para a geração do relatório, por meio desse sistema, as informações poderão ser visualizadas, alteradas e atualizadas de maneira eficaz. O sistema permite que o cliente faça consultas no relatório da OS, com isso, trás mais dinamismo. 3.1.2 Atores envolvidos no Processo Os atores envolvidos no processo são: Atendente, que é responsável pela geração de relatórios das OSs da oficina. O responsável pela geração de relatório possui permissões para cadastrar cliente, consultar OS, manter veículo, gerar Ordem de Serviço, manter oficina, gerar relatório mensal e manter cronotacógrafo. Além do Atendente, o sistema SisCrono, possui um ator Administrador. 79 Este ator, possui todas as permissões do sistema, incluindo todas as permissões do Atendente. Por fim, o SisCrono também possui um ator Cliente, no qual possui a permissão de consultar as OSs cadastradas no sistema. 3.1.3 Descrição do ambiente Atualmente o ambiente da oficina não é totalmente informatizada, por conta dessa situação, as realizações de suas atividades relacionadas aos cronotacógrafos, são feitas por meio de planilhas eletrônicas e quando o responsável quer fazer uma consulta de informação gasta-se muito tempo para procurar os dados requeridos. Quando ocorre uma alteração de dados, o responsável realiza a alteração manualmente na planilha eletrônica. O mesmo acontece para cadastrar o cliente, veículo e cronotacógrafo. Ao responsável pela geração da OS cabe verificar a documentação e relatórios pendentes e possíveis atualização dos mesmos. Todas as OSs geradas nas planilhas eletrônicas são armazenadas e organizadas em pastas contidas no disco rígido, e toda vez que se necessita fazer uma consulta em alguma OS, existe a necessidade de se procurar por todas essas pastas. Desta forma, gasta-se muito tempo com essas consultas e tornam-se exaustivas tais atividades, além de correr o risco dos arquivos se corromperem ou não serem atualizadas, como por exemplo, se um cliente não faz mais parte da empresa ou atualizar o endereço de um cliente já existente. 3.2 VISÃO GERAL 3.2.1 Perspectiva O sistema SisCrono é um sistema independente, visto que não recebe dados oriundos de outros sistemas ou software. Com base nessa situação, o objetivo do desenvolvimento desse sistema é buscar maior eficiência, rapidez e dinamismo por meio da informatização no setor de gerar relatórios de uma Ordem de Serviço da oficina SisCrono, bem como, facilitar a realização das atividades. 80 Deste modo, busca-se confiabilidade de dados sobre cliente, veículo, cronotacógrafo fazendo com que se tenham informações atuais sobre os mesmos. As necessidades e prioridades do desenvolvimento são: Manter Pessoa, Manter Veículo, Manter Cronotacógrafo, Manter Ordem de Serviço, Consultar Ordem e Gerar Relatório. 3.3 ANÁLISE E PROJETO Nesta seção são explicados os requisitos, o que irão cooperar para melhor compreensão das funcionalidades e que irão compor o desenvolvimento do sistema para controle de geração de relatórios de uma Ordem de Serviço. 3.3.1 Diagrama de Caso de Uso, visão geral Especificação Caso de Uso – Caso de uso gerais aos atores: esses casos de uso tratam de funcionalidades em comum os atores envolvidos no sistema. São eles: Administrador que possui a total permissão, sendo que um deles é cadastrar Atendente e inserir novos serviços. O Atendente é responsável por cadastrar Cliente, Veiculo, Cronotacógrafo, Oficina, Selecionar Ordem de Serviço, Gerar Relatório. Já o Cliente possui permissão para consultar as OSs cadastradas no sistema. 81 Figura 3.1 – Diagrama de Caso de Uso. Fonte: Elaborado pelos autores, 2014 82 Figura 3.2 – Diagrama de Classe. Fonte: Elaborado pelos autores, 2014 3.3.2 Diagrama de Atividade, MVC e Sequência Manter Pessoa: este Caso de Uso apresenta a funcionalidades responsável por Manter pessoa. Esta possibilita também o cadastro de cliente, a consulta, a 83 alteração e a exclusão. Nas Figuras 3.4, 3.5, 3.6 são representadas os Diagramas de Atividade, Diagrama de MVC e o Diagrama de Sequência. Figura 3.3 – Diagrama de Atividade Manter Pessoa. Fonte: Elaborado pelos autores, 2014 84 Figura 3.4 – Diagrama de MVC Manter Pessoa. Fonte: Elaborado pelos autores, 2014 85 Figura 3.5 – Diagrama de Sequência Manter Pessoa. Fonte: Elaborado pelos autores, 2014 Manter Veiculo: este Caso de Uso apresenta a funcionalidades responsável por Manter veículo. O responsável pelo setor realiza o cadastro de veículo. Esta possibilita também o cadastro de veículo, a consulta, a alteração e a exclusão. Nas Figuras 3.7, 3.8, 3.9 são representadas os Diagramas de Atividade, Diagrama de MVC e o Diagrama de Sequência. 86 Figura 3.6 – Diagrama de Atividade Manter Veiculo. Fonte: Elaborado pelos autores, 2014 Figura 3.7 – Diagrama de MVC Manter Veiculo. Fonte: Elaborado pelos autores, 2014 87 Figura 3.8 – Diagrama de Sequência Manter Veiculo. Fonte: Elaborado pelos autores, 2014 Manter Cronotacógrafo: este Caso de Uso apresenta a funcionalidades responsável por Manter Cronotacógrafo. Esta possibilita também o cadastro de cronotacógrafo, a consulta, a alteração e a exclusão. Nas Figuras 3.10, 3.11, 3.12 são representados os Diagramas de Atividade, Diagrama de MVC e o Diagrama de Sequência. 88 Figura 3.9 – Diagrama de Atividade Manter Cronotacógrafo. Fonte: Elaborado pelos autores, 2014 89 Figura 3.10 – Diagrama de MVC Manter Cronotacógrafo. Fonte: Elaborado pelos autores, 2014 90 Figura 3.11 – Diagrama de Sequência Manter Cronotacógrafo. Fonte: Elaborado pelos autores, 2014 Selecionar Ordem: este Caso de Uso apresenta a funcionalidades responsável por Selecionar Ordem. Nas Figuras 3.13, 3.14, 3.15 são representados os Diagramas de Atividade, Diagrama de MVC e o Diagrama de Sequência. 91 Figura 3.12 – Diagrama de Atividade Selecionar Ordem. Fonte: Elaborado pelos autores, 2014 Figura 3.13 – Diagrama de MVC Selecionar Ordem. Fonte: Elaborado pelos autores, 2014 92 Figura 3.14 – Diagrama de Sequência Selecionar Ordem. Fonte: Elaborado pelos autores, 2014 Gerar Relatório: este caso de uso apresenta a funcionalidades responsável por Gerar Relatório. Nas Figuras 3.16, 3.17, 3.18 são representadas os Diagrama de Atividade, Diagrama de MVC e o Diagrama de Sequência. 93 Figura 3.15 – Diagrama de Atividade Gerar Relatório. Fonte: Elaborado pelos autores, 2014 Figura 3.16 – Diagrama de MVC Gerar Relatório. Fonte: Elaborado pelos autores, 2014 94 Figura 3.17 – Diagrama de Sequência Gerar Relatório. Fonte: Elaborado pelos autores, 2014 3.4 CONSIDERAÇÕES SOBRE O CAPÍTULO Neste capítulo foi realizada a análise de requisitos do sistema por meio do levantamento de requisitos, Diagrama de Caso de Uso, Diagrama de Atividade, Diagrama de MVC, Diagrama de Sequencia. Esses processos de análise possibilitam para que possa haver uma visualização geral do sistema. No próximo capítulo serão abordados assuntos que fazem referências ao desenvolvimento do sistema Web. 95 4 DESENVOLVIMENTO DO SISTEMA Para o desenvolvimento desse projeto foram utilizadas as tecnologias já abordadas nos capítulos anteriores. Este presente capítulo tem por finalidade, introduzir e apresentar maneiras de como essas tecnologias foram utilizadas para o desenvolvimento do projeto e sua aplicação Web de relatórios e controle das atividades desenvolvidas na OS de uma oficina. Deste modo, este capítulo abordará as principais telas das funcionalidades desenvolvidas no sistema. 4.1 DESENVOLVIMENTO DO SISTEMA WEB O sistema foi desenvolvido utilizando-se o padrão de projeto Model View Controller (MVC). Adicionalmente com o emprego de algumas tecnologias, dentre as tecnologias Java pode-se citar: Java Database Connectivity (JDBC), Java Server Pages (JSP) e servlets. Também a tecnologia Javascript, no qual utiliza-se o framework JQuery. As páginas de interface com o usuário foram desenvolvidas utilizando o framework JQuery mencionado anteriormente, onde facilita o padrão de interface do sistema, juntamente com as páginas JSP. Vale destacar ainda que, para o desenvolvimento do relatório utilizou-se a ferramenta IReport versão 2.0.1, no qual permite gerar relatórios personalizados e, além disso, relatórios de gráficos. Para ilustrar um exemplo da facilidade de interface obtida pelo uso desses componentes, na Figura 4.1 é ilustrada a tela inicial do sistema, onde possui o menu com os links para todas as funções do mesmo. 96 Figura 4.1 – Tela inicial de cadastro do sistema. Fonte: Elaborado pelos autores, 2014 Na Figura 4.1, pode-se notar o menu principal do sistema, onde pode-se dizer que é passo inicial para a utilização do mesmo. Assim, tal tela também possui um gráfico demonstrando o quantitativo total de alguns cadastros do banco de dados. Figura 4.2 – Tela de login do sistema. Fonte: Elaborado pelos autores, 2014 97 Além do mais, o sistema exige que seus usuários realizem o login, como maneira de ter controle e segurança do sistema, na Figura 4.2 é ilustrada a tela de login do sistema, desde modo, sem a realização do login, não será possível acessar o sistema. É importante ressaltar que, pode-se realizar login para acessar como Atendente e como Cliente no sistema. Com o acesso de clientes pode-se consultar as ordens de serviço referentes ao cliente, entretanto, não pode-se modificar tais dados. 4.2 MÓDULOS DO SISTEMA O sistema para cadastro e controle de oficina, é dividido precipuamente no módulo de controle de cadastros e módulo de geração de relatório mensal de instalação de cronotacógrafos. O módulo de cadastro pode ser composto pelos cadastros de: Cadastro de cliente Cadastro de veículo Cadastro de ordem de serviço Cadastro de marca Cadastro de modelo Cadastro de serviço Nível de acesso Oficina Em síntese, o sistema trata a instalação de cronotacógrafos basicamente como um serviço, que é cadastrado inicialmente no controle de serviços do sistema, assim, para gerar uma ordem de serviço, é preciso buscar o cliente desejado e escolher o veículo de tal cliente para o qual será gerada a ordem. Desta maneira, quando gera-se a ordem de serviço, preenche-se os campos necessários de tal controle e escolhe-se os serviços que serão incluídos em tal ordem. Com isso, o sistema permite através do controle de relatórios mensal, a visualização de todas as ordens de serviço realizadas no mês e ano especificado. Na Figura 4.3 é apresentada a tela no qual especifica-se o formulário para onde pode-se escolher o mês e ao ano para a impressão mensal do relatório. 98 4.3- Formulário para impressão mensal de Ordens de Serviço. Fonte: Elaborado pelos autores, 2014 4.3 CADASTRO DE SERVIÇOS Primeiramente, pode-se dizer que todos os cadastros do sistema estão baseados no mesmo padrão de layout. Assim, pode-se exemplificar especificamente o cadastro de serviço do sistema Siscrono, onde pode-se cadastrar os serviços oferecidos pela oficina, deste modo, tal cadastro é imprecindivel no sistema para a realização do cadastro de OS. Deste modo, na Figura 4.4 é apresentada a tela de consulta de serviços no sistema com tais serviços cadastrados. 99 Figura 4.4 – Consulta de serviços. Fonte: Elaborado pelos autores, 2014 Além disso, pode-se destacar que, quando clica-se no botão excluir, é aberta uma tela aonde no qual pergunta-se ao usuário se deseja realmente excluir o registro, clicando-se no botão sim, tal registro será excluído com sucesso, senão, clicando-se no botão não, nenhuma alteração será feita no registro e tal tela será fechada automaticamente pelo sistema. Na figura 4.5 é apresentada a tela de exclusão do sistema. 100 Figura 4.5 – Tela de exclusão do sistema. Fonte: Elaborado pelos autores, 2014 Figura 4.6 – Tela de cadastro de serviço. Fonte: Elaborado pelos autores, 2014 101 Figura 4.7 – Tela de alteração do serviço. Fonte: Elaborado pelos autores, 2014 E por fim, pode-se apresentar a tela para se cadastrar um novo serviço no sistema, conforme ilustra-se na figura 4.6 e a tela de alteração de serviço na figura 4.7. Deste modo, basta clicar no botão Cadastrar, para salvar as informações. Como mencionado anteriormente, todas as telas de alteração, novo e consulta de registro, estão baseados como são apresentadas nas figuras 4.4, 4.6 e 4.7. 4.4 AJAX E FUNÇÃO LOAD() JQUERY Neste sistema foi utilizado o conceito de Ajax, no qual pode carregar fragmentos de outras páginas dentro de uma div de uma página especificamente, sem necessariamente carregar todo conteúdo de uma página inteira. Na Figura 4.8 é mostrada a chamada da função selPessoa(), que está localizada no menu principal do sistema, na página menu.jsp. Desta maneira, quando clica-se neste item do menu intitulado “Cliente”, o sistema dispara uma ação para função selPessoa() mencionada acima. Vale destacar que, tal função utiliza a 102 função load() do JQuery, no qual pode-se carregar algum conteudo dentro de uma <div></div> qualquer. Figura 4.8 - Função selPessoa() no item do menu Cliente. Fonte: Elaborado pelos autores, 2014 Além disso, na Figura 4.9 é ilustrada o código da função selPessoa(), desta maneira, pode-se destacar a implementação da função load(), no qual carrega todo conteúdo da página selPessoa() dentro da <div id=”conteudo”></div> que está localizada na página menu.jsp. É importante ressaltar que, a página selPessoa.jsp é a página que contém a lista com os clientes cadastrados no sistema e a página de consulta propriamente dita. 103 Figura 4.9 - Função selPessoa(). Fonte: Elaborado pelos autores, 2014 4.5 RELATÓRIO MENSAL UTILIZANDO A FERRAMENTA IREPORT Para gerar o relatório mensal no sistema é preciso acessar a tela no qual contém formulário para selecionar os parâmetros para visualização do relatório conforme ilustra-se na Figura 4.3. Assim, tal formulário possui as propriedades action e method apontado para o método get do servlet RelatorioMensalServico, no qual contém o código para a geração do relatório em pdf. Na Figura 4.10 é ilustrada o código para a visualização do relatório. 104 Figura 4.10 - Geração do relatório de Ordem de Serviço. Fonte: Elaborado pelos autores, 2014 Desta maneira, pode-se destacar principalmente as linhas 36 e 37, no qual recebem os parametros mês e ano do formulário da Figura 4.8. Assim, a linha 51 instância um objeto Map e as linhas 52 e 53 setam os dois parametros no objeto map denominado “parâmetros”, que serão passados para o arquivo .jasper na geração do relatório. E por fim, a linha 60 define que o relatório será aberto em pdf. É importante destacar que, a consulta no banco de dados de tal relatório é realizada no arquivo .jrxml e depende dos dois parametros passados, que após ser compilado se transforma em um arquivo com a extensão .jasper. Em suma, depois de gerado, a visualização do relatório é apresentada conforme é apresentada na Figura 4.11. 105 Figura 4.11 - Relatório mensal de instalação de Cronotacógrafos. Fonte: Elaborado pelos autores, 2014 106 4.6 GERANDO ORDEM DE SERVIÇO O Atendente é responsavel por cadastrar o cliente, veículo e cronotacógrafos, porém só o Admistrador pode ter acesso ao check na pessoa Atendente como é mostrada na figura 4.12. Figura 4.12 - Tela de Cadastro. Fonte: Elaborado pelos autores, 2014 107 Antes de mais nada, para se gerar uma ordem de serviço, deve-se consultar um cliente cadastrado no sistema conforme é mostrado na figura 4.13. Figura 4.13 - Tela de consultar Clientes. Fonte: Elaborado pelos autores, 2014 108 Caso não tenha o cliente desejado cadastrado, clica-se no ícone [+], para se cadastrar um novo cliente, conforme é apresentado na figura 4.14. E após preencher as informações clica-se no botão Cadastrar. Figura 4.14 - Tela para cadastrar nova pessoa/Cliente. Fonte: Elaborado pelos autores, 2014 Entretanto, caso já tenha-se o cliente desejado cadastrado no sistema, clicase no ícone alterar do cliente, conforme é ilustrado na figura 4.13, para o sistema abrir a tela de alteração de cliente conforme ilustra-se a figura 4.15. 109 Figura 4.15 - Tela de alteração do cadastro de Cliente. Fonte: Elaborado pelos autores, 2014 Como pode-se notar na figura 4.15, o cliente Henrique Nakamura, conforme mostra-se na figura, não possui nenhum veículo cadastrado para o mesmo. Assim, clica-se no botão novo veículo para cadastrar um novo veículo no sistema para tal cliente, conforme ilustra-se na figura 4.16. Deste modo, deve-se preencher os dados do veículo propriamente dito e de seu cronotacógrafo, cujos dados são obrigatórios. 110 Figura 4.16 - Novo veículo para o Cliente. Fonte: Elaborado pelos autores, 2014 Após cadastrar um novo veículo neste exemplo, pode-se perceber que foi adicionado um veículo ao cliente Henrique Nakamura, conforme é ilustrada na figura 4.17. Figura 4.17 - Veículos cliente. Fonte: Elaborado pelos autores, 2014 111 Por conseguinte, após cadastrar um veículo ao cliente, pode-se alterar os dados de tal veículo conforme é ilustrada na figura 4.18. Assim, mude os campos caso forem necessários e clique em cadastrar. Figura 4.18 - Alterar dados Veículo. Fonte: Elaborado pelos autores, 2014 E por fim, pode-se cadastrar uma determinada ordem de serviço, a um veículo de algum cliente determinado, assim, clica-se no botão Cadastrar nos itens de veículos de clientes selecionado, deste modo, o sistema irá abrir a tela para cadastrar uma nova ordem de serviço ao veículo do cliente conforme é ilustrado na figura 4.19 e após isso pode-se consultar todas as ordens de serviço do veículo clicando-se no botão Consultar. Na figura 4.20 é apresentada a tela para consultar as ordens de serviço de determinado veículo de cliente. 112 Figura 4.19 - Cadastrar Ordem de Serviço. Fonte: Elaborado pelos autores, 2014 Figura 4.20 - Consultar Ordem de Serviço. Fonte: Elaborado pelos autores, 2014 113 4.7 CONSIDERAÇÕES SOBRE O CAPÍTULO Este capítulo tratou apenas de algumas funcionalidades do sistema. É importante ressaltar que todos os requisitos propostos nos capítulos anteriores foram desenvolvidos. Ressaltando também que existem outras funcionalidades que não foram aqui ilustradas. 114 CONCLUSÃO Neste trabalho foi apresentado o desenvolvimento de um sistema Web para gerar relatórios de atividades de uma OS da oficina SisCrono objetivando a informatização das atividades cotidianas dessa Ordem. O sistema contou com algumas áreas distintas, separando as funcionalidades por usuários de acordo com as rotinas de cada um. As tecnologias utilizadas para a realização desse trabalho mostram-se eficazes para a efetivação dos objetivos propostos. O sistema foi desenvolvido utilizando-se o padrão de desenvolvimento MVC, pois o modelo MVC permitiu também que o sistema fosse desenvolvido de modo claro ao separar as interfaces, controles e modelos. Para o armazenamento de informações e criação de tabelas foi utilizado o banco de dados Oracle Database 10g. Também foram utilizadas as tecnologias Java, podendo citar JDBC, JSP e Servlets. Também a tecnologia Javascript no qual utiliza-se o framework JQuery. Vale ressaltar ainda que, para o desenvolvimento do relatório, utilizou-se o plug-in IReport, no qual permite gerar relatórios personalizados e, além disso, relatórios de gráficos. A ferramenta foi de grande contribuição para a geração dinâmica de documentos por meio do sistema. No sistema também utilizou o conceito de Ajax, no qual pode-se carregar fragmentos de outras paginas dentro de uma div de uma página específica, sem necessariamente carregar todo conteúdo de uma página inteira. O sistema para cadastro e controle da oficina SisCrono, é precipuamente no módulo de controle de cadastros e módulo de geração de relatório mensal de instalação de cronotacógrafos. O módulo de cadastro é composto pelos cadastros de Cliente, Veículo, Ordem de Serviço, Marca, Modelo, Serviços, Nível de Acesso, atualização do cadastro da Oficina. Por derradeiro, acredita-se que após o desenvolvimento do sistema no setor da oficina Syscrono, o mesmo atuará como um facilitador no processo das atividades diárias, contribuindo na agilidade e na realização de cadastros, consultas e geração de relatórios. Apesar de outras dificuldades comumentes encontradas no desenvolvimento de um projeto desse porte, os requisitos levantados nos capítulos foram cumpridos e 115 como trabalhos futuros, outras funcionalidades poderão ser abordadas. 116 REFERÊNCIAS BIBLIOGRÁFICAS BARBARÁ, Saulo. Gestão por Processos – Fundamentos, técnicas e modelos e implementação. 2. ed. Quality Mark, 2011. BATES, B.; SIERRA, K. Use a cabeça Java. 2 ed. São Paulo: Alta Book, 2007. BELMIRO, N. João. Sistemas de Informação. São Paulo: Pearson Education do Brasil, 2012. CAELUM. Apostila Java para Desenvolvimento Web. Capitulo 3 O Java é JavaEE?. Disponível em: <http://www.caelum.com.br/apostila-java-web/o-que-ejavaee/> Acesso em: 09 de set. 2013. DATE, C. J. Intrudução a sistemas de banco de dados. 8. ed. Rio de Janeiro: Elsevier, 2003. DEITEL, P.; DEITEL, H. Java como programar. 6. ed. São Paulo: Pearson, 2005. _______. Java como programar. 8. ed. São Paulo: Pearson, 2010. ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de banco de dados. 4. ed. São Paulo: Addison Wesley, 2011. _______. Sistemas de banco de dados.6. ed. São Paulo: Addison Wesley, 2011. ESCOLA BRASIL: Ordem de Serviço. 2013. Disponível em: <http://www.brasilescola.com/redacao/ordem-de-servico.html> Acesso em: 10 de out. 2013. FALEIRO, Adail T. Lima. Modelo Entidade Relacionamento (MER). 2007. Disponível em: <http://www.devmedia.com.br/modelo-entidade-relacionamentomer/19821> Acesso em: 29 de mar. 2014. FIORESI, C. Conceitos básicos das Plataformas Java e J2ME. Disponível em: <http://www.devmedia.com.br/conceitos-basicos-das-plataformas-java-e-j2me/6484> Acesso em: 09 de set. 2013. GAYER, R. R. Oracle Database 10g Express Edition. 2006. Disponível em: <http://www.devmedia.com.br/space.asp?id=158080> Acesso em: 13 de set. 2013. GOMES, R. O que é Ordem de Serviço? 2012. Disponível <http://www.blogsegurancadotrabalho.com.br/2012/10/o-que-e-ordem-deservico.html> Acesso em: 10 de out. 2013. em: GONÇALVES, E. Desenvolvendo Aplicações Web com JSP Servlet, JavaServerFaces, Hibernate, EJB3 Persistence e Ajax. ed. Rio de Janeiro: Editora Ciência Moderna, 2007. 117 GRAVES, M. Projeto de Banco de Dados com XML. ed. São Paulo: Pearson, 2003. HOSRTMANN, Cay S. Core Java 2. Volume 1 – Fundamentals. 7.ed. Prentice Hall, 2004. INMETRO. Cronotacógrafo ensaios metrológicos e verificação. 2014. Disponível em: < http://www.cronotacografo.inmetro.rs.gov.br> Acesso em: 14 de mar. 2014. IPEMPR. Instituto de pesos e medidas do estado do Paraná. 2014. Disponível em: < http://www.ipem.pr.gov.br/modules/conteudo/conteúdo.php?conteudo=36> Acesso em: 14 de mar. 2014. IPEMSP. Almanaque do IPEM-SP. 2013. Disponível em: < http://www.ipemsp.wordpress.com/cronotacografo-equipamento-que-medevelocidade-tempo-e-distancia-percorrida-por-veiculo> Acesso em: 14 de mar. 2014. JQUERY: O que é jQuery? 2014. Disponível em: <http://www.jquery.com> Acesso em: 02 de abr. 2014. KURNIAWAN, Budi. Java para a Web com Servlets, Jsp e Ejb. Ciência Moderna, 2002. LAUDON, Jane P.; LAUDON, Kenneth C. Sistemas de Informação Gerenciais. 9. ed. São Paulo: Pearson Education do Brasil, 2011. LEGATTI, E. Oracle SQL Developer Data Modeling. 2008. Disponível em: < http://www.eduardolegatti.blogspot.com.br/2008/11/oracle-sql-developer-data.html> Acesso em: 09 de fev. 2014. LEITE, M. Acessando Banco de Dados com ferramentas RAD Aplicações em Delphi. Rio de Janeiro: Brasport, 2008. LIMA, Bruno R. Tutorial de iReport. 2009. Disponível em: < http://www.javafree.oul.com.br/artigo/3154/Tutorial-de-IREPORT.html> Acesso em: 30 de mar. 2014. LOZANO, F. GUIs Nativas com Swings WT. 2011. Disponível em: <http://www.devmedia.com.br/post-9681-Artigo-Java-Magazine-17-GUIs-Nativascom- swingsWT.html> Acesso em: 17 de ago. 2013. MACEDO, Alexandre. Relatórios em Java – JasperReport e iReport. 2010. Disponível em: <www.k19.com.br/artgo/relatorios-em-java-jasperreport-e-ireport/> Acesso em: 30 de mar. 2014. MANUAL DO ORACLE: O Java Database Connectivity (JDBC). Disponível em: <http://www.oracle.com/technetwork/java/javase/jdbc/index.html> Acesso em: 14 de set. 2013. 118 ______.JAVA: O que é a tecnologia Java e por que é necessária?. 2013. Disponível em: <http://www.java.com/pt-BR/download/faq/whatis-java.xml> Acesso em: 22 de set. 2013. ______.Introdução sobre o Oracle SQL Developer Data Modeler . 2009. Disponível em: <http://www.oracle.com/technetwork/developertools/datamodeller/sqldeveloperdatamodelerdeveloper-view-167687.html> Acesso em: 09 de fev. 2014. MARTINS, José C. C. Gerenciando Projetos de Desenvolvimento de Software. 5.ed. 2011. Brasport. MCLAUGHLIN, Brett. Use a cabeça! (Head Rush) Ajax. ed. Alta Books, 2006. MENDES, D. R. Programação em Java com ênfase em Orientação a Objetos. ed. São Paulo: Novatec, 2009. MOCHOW, J. W. Core J2ME Tecnologia e MIDP. ed. São Paulo: Pearson, 2004. NETBEANS: O que é o NetBeans? 2008. Disponível em: <http://www.oficinadanet.com.br/artigo/1061/o_que_e_o_netbeansl> Acesso em: 04 de abr. 2014. NIEDERAUER, Juliano. Web interativa com Ajax e PHP. ed. São Paulo.Novatec, 2007. PORTAL EDUCAÇÃO. JSE, JEE E JME: Uma breve explicação. 2009. Disponível em: <http://www.portaleducacao.com.br/informatica/artigos/7279/jse-jee-e-jme- umabreve-explicacao> Acesso em: 16 de set. 2013. PRESSMAN, Roger S. Engenharia de Software. Uma abordagem profissional. 7. ed. Artmed. PRICE, J. Oracle Database 11g SQL e PLUS/SQL no banco de dados Oracle,Porto Alegre: ArtMed – Grupo A, 2008. PUGA, S.; FRANÇA, E.; GOYA, M. Banco de dados: implementando em SQL, PL/SQL e ORACLE 11g. ed. São Paulo: Pearson Education do Brasil, 2013. RAO, Rajnikant. Ajax: Conversation with na Ajaxian. ed. New Delhi: Tata McGrawHill, 2008. REVISTA MUNDO TRÂSITO: O selo de INMETRO nos tacógrafos. 2012. Disponível em: <http://www.mundotransito.com.br/index.php/2012/04/19/o-selo-doinmetro-nos-tacografos/> Acesso em: 10 de mai. 2014. SAMPAIO, Cleiton. Java Enterprise Edition 6. Desenvolvendo aplicações corporativas. ed. Rio de Janeiro: Brasport, 2011. 119 SETZER, Valdemar W. ; SILVA, Flávio Soares Corrêa da. Banco de dados: Aprenda o que são, melhore seu conhecimento, construa os seus. São Paulo: Edgard Blücher, 2005. SILBERSCHATZ, A.; KORTH, Henry F.; SUDARSHAN, S. Sistema de Banco de dados. 3. ed. Makron Book, 1999. TORTELLO, J. E. N. Aprenda J2EE em 21 dias. ed. São Paulo: Pearson, 2003. VDO BRASIL. Tacógrafo Digital BVDR. 2013. Disponível em: < http://www.vdo.com.br/generator/www/br/pt/vdo/main/productssolutions/tacographs/hidden/tab_tco_bvdr_index_pt.html> Acesso em: 14 de mar. 2014. VIEIRA, G. NR-01: Disposições Gerais – Ordem de Serviço. 2011. Disponível em: <http://www.academiaplatonica.com.br/2011/gestao/nr-01-disposicoes-gerais-ordemde-servico/> Acesso em: 21 de set. 2013. 120 APÊNDICE A – Instalação do banco de dados Oracle 10g Esse apêndice trata-se de um tutorial de instalação do banco de dados Oracle 10g utilizado para armazenar informações no sistema de relatórios e controle de atividades de uma OS. A.1 ETAPA DE INSTALAÇÃO Primeiramente é necessário baixar o instalador do Oracle 10g, isso pode ser realizado através do Oracle “www.oracle.com”. Após baixar o instalador Oracle, a instalação se inicia por etapas. A figura A.1 refere-se ao instalador do banco de dados do Oracle 10g. Figura A.1 – Instalador do banco de dados do Oracle 10g. Fonte: Elaborado pelos autores, 2014. Após iniciar a instalação do banco de dados Oracle 10g, o instalador será particionado em etapas. Na Figura A.2 é apresentada uma janela preparando a instalação. Figura A.2 – Preparando a instalação do banco de dados do Oracle 10g. Fonte: Elaborado pelos autores, 2014. 121 Após a preparação da instalação do Oracle 10g, Na figura A.3 é apresentada duas opções; Reparar e Remover selecione a opção Reparar e clique em Próximo. Figura A.3 – Preparando do banco de dados do Oracle 10g. Fonte: Elaborado pelos autores, 2014. A.2 PREPARAÇÃO DA INSTALAÇÃO Feito as etapas anteriores mostrará uma janela de que o Oracle 10g está sendo estalado, como é mostrada na figura A.4 abaixo. Figura A.4 – Instalação do banco de dados do Oracle 10g. Fonte: Elaborado pelos autores, 2014 122 Para concluiu a instalação do Oracle 10g, clique em Finalizar como é mostrada na Figura A.5. Figura A.5 – Conclusão da instalação do banco de dados do Oracle 10g. Fonte: Elaborado pelos autores, 2014. 123 Ao ser instalado, os ícones e pastas do Oracle 10g ficará fixados na barra de menu clicando no botão Iniciar/ Todos os Programas/ Oracle Database 10g Express Edition como é mostrada na Figura A.6. Figura A.6 – Localização da pasta do banco de dados do Oracle 10g. Fonte: Elaborado pelos autores, 2014. 124 A.3 TELA DE LOGIN DO BANCO DE DADOS Clique em Ir para a Home Page de Banco de Dados na barra de menu em Oracle Database 10g Express Edition aparecerá a tela de login abaixo como é mostrada na Figura A.7. Figura A.7 – Tela de login do banco de dados do Oracle 10g. Fonte: Elaborado pelos autores, 2014. 125 Para logar com o banco de dado é necessário entrar com o Nome do usuário e Senha como é mostrada na Figura A.8. Figura A.8 – Tela de login do banco de dados do Oracle 10g. Fonte: Elaborado pelos autores, 2014. 126 Após o login com o banco de dados aparecerá à tela abaixo como é mostrada na Figura A.9. Nessa tela estão as ferramentas utilizadas para a criação e armazenamento de informações no banco. Figura A.9 – Tela principal do banco de dados do Oracle 10g. Fonte: Elaborado pelos autores, 2014. 127 Na Figura A.10 é mostrada o exemplo de uma tela com tabela criada e seus respectivos valores. Figura A.10 – Exemplo de uma tabela criada no banco de dados do Oracle 10g. Fonte: Elaborado pelos autores, 2014. A.4 CONSIDERAÇÕES FINAIS Neste apêndice foi explicado e ilustrado as etapas de como instalar o banco de dados Oracle 10g e também um exemplo prático de criação de uma tabela.