CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM BANCO DE DADOS MAURO MENDES BATISTA MICHEL ANTONIO PILLA SISTEMA DE GESTÃO PARA O CONSELHO CENTRAL DE LINS DA SOCIEDADE SÃO VICENTE DE PAULO LINS/SP 2º SEMESTRE/2013 CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM BANCO DE DADOS MAURO MENDES BATISTA MICHEL ANTONIO PILLA SISTEMA DE GESTÃO PARA O CONSELHO CENTRAL DE LINS DA SOCIEDADE SÃO VICENTE DE PAULO Trabalho de Conclusão de Curso apresentado à Faculdade de Tecnologia de Lins para obtenção do Título de Tecnólogos em Banco de Dados. Orientador: Prof. Me. Anderson Pazin. LINS/SP 2º SEMESTRE/2013 MAURO MENDES BATISTA MICHEL ANTONIO PILLA SISTEMA DE GESTÃO PARA O CONSELHO CENTRAL DE LINS DA SOCIEDADE SÃO VICENTE DE PAULO Trabalho de Conclusão apresentado à de como Lins, necessários de Faculdade para Tecnólogos em parte a de de Tecnologia dos obtenção Banco Curso de requisitos do título Dados sob orientação do Prof. Me. Anderson Pazin. Data de aprovação: _____/_____/_____ _____________________________________ Orientador (Prof. Me. Anderson Pazin) _____________________________________ Examinador 1 (Prof. Me. Luiz Fernando de Oliveira Silva) _____________________________________ Examinador 2 (Prof. Me. Gisele Becari Molina) A minha família, em especial a minha esposa Ana Daniele Leão Batista e minha filha Izabella Leão Batista pelo apoio e incentivo durante esta jornada. Mauro Mendes Batista Aos meus pais, Antonio Donizete Pilla e Marlene Alves Sirqueira Pilla pelo incentivo, cooperação e apoio durante esta importante etapa em minha vida. Michel Antonio Pilla AGRADECIMENTOS Inicialmente agradeço a Deus que me conduziu durante todo este árduo e longo trajeto, dando-me condições e capacitando-me para a conquista e realização deste sonho. Gostaria de agradecer também ao meu orientador Me. Anderson Pazin pela paciência para sanar minhas dúvidas e pelo comprometimento para com o meu trabalho, o que sem dúvidas foi peça fundamental para a sua conclusão. Ao companheiro de autoria Michel Antonio Pilla, meu agradecimento e respeito pela parceria neste trabalho. Aos demais Professores e amigos de turma deixo também meus agradecimentos pela amizade, companheirismo e conhecimentos transmitidos. Mauro Mendes Batista AGRADECIMENTOS Primeiramente agraço a Deus pela saúde e pela força que me concedeu, para que conseguisse chegar até aqui. Gostaria de agradecer também ao meu orientador Me. Anderson Pazin pela paciência na orientação e incentivo que tornaram possível a conclusão desta monografia. Ao amigo e companheiro de trabalho Mauro Mendes Batista, pelo respeito e comprometimento com o trabalho desenvolvido. Aos demais Professores e amigos de turma deixo também meus agradecimentos pela amizade, companheirismo e conhecimentos transmitidos. Michel Antonio Pilla RESUMO O presente trabalho consiste no desenvolvimento de um sistema de gestão utilizando a plataforma web para o Conselho Central de Lins. Inicia-se descrevendo um pouco sobre a história, hierarquia e controles da Sociedade São Vicente de Paulo. O objetivo deste trabalho é permitir que os membros da SSVP na área de abrangência do Conselho Central de Lins tenham acesso a informações concisas e atualizadas, além de um controle sobre as diretorias de suas unidades vicentinas e principalmente sobre as famílias assistidas pelas conferências. Tal trabalho justificase pelo fato de atualmente o Conselho Central de Lins não dispor de nenhuma ferramenta que possa lhe disponibilizar tais informações e controles. Para que fosse possível desenvolver o sistema em questão, foi preciso realizar pesquisas sobre ferramentas próprias para o desenvolvimento web, além de um levantamento de sistemas similares existentes em outros conselhos centrais e também sobre os requisitos necessários para a implementação. Palavras-chave: SSVP, plataforma web, Java, Hibernate, JSF, Primefaces. ABSTRACT The present work is the development of a management system using the web platform for the Central Council of Lins. Starts Up by describing a little bit about the history, hierarchy and controls of the Society of St. Vincent de Paul. The objective of this work is to allow members of the SSVP in the area of comprehensiveness of Central Council of Lins, having access to concise and updated information,and a control on the directorships of its units Vincentians and mostly about on the families assisted by conferences. This work is justified by the fact that currently the Central Council of Lins does not have any tool that can provide you such information and controls. To make it possible develop the system in question was necessary accomplish research on own tools for web development, besides a survey about of similar systems existing in other councils centrals and also about the requirements necessary for implementation. Keywords: SSVP, System web, Java, Hibernate, JSF, Primefaces. LISTA DE ILUSTRAÇÕES Figura 1.1 – Hierarquia da SSVP .............................................................................. 19 Figura 3.1 – Diagrama de classes ............................................................................. 37 Figura 3.2 – Modelo Lógico do Banco de Dados....................................................... 38 Figura 3.3 – Modelo Relacional do Banco de Dados ................................................ 39 Figura 3.4 – Diagrama de caso de uso ..................................................................... 40 Figura 3.5 – Diagrama de atividade. Cadastrar membro ........................................... 40 Figura 3.6 – Diagrama de sequência. Cadastrar membro ......................................... 41 Figura 3.7 – Diagrama de atividade. Alterar informações ......................................... 41 Figura 3.8 – Diagrama de sequência. Alterar membro .............................................. 42 Figura 3.9 – MVC. Cadastrar membro ...................................................................... 42 Figura 3.10 – Diagrama de atividade. Registrar visitas ............................................. 43 Figura 3.11 – Diagrama de sequência. Registrar visitas ........................................... 44 Figura 3.12 – MVC. Registrar visitas ......................................................................... 44 Figura 3.13 – Diagrama de atividade. Cadastrar conferência ................................... 45 Figura 3.14 – Diagrama de sequência. Cadastrar conferência ................................. 45 Figura 3.15 – Diagrama de atividade. Inserir/atualizar diretoria de conferência ........ 46 Figura 3.16 – Diagrama de sequência. Inserir/atualizar diretoria conferência ........... 46 Figura 3.17 – Diagrama de atividade. Inserir/atualizar membro diretoria .................. 47 Figura 3.18 – Diagrama de sequência. Inserir/atualizar membro diretoria ................ 47 Figura 3.19 – MVC. Gerenciar Conferência .............................................................. 48 Figura 3.20 – Diagrama de atividade. Gerar relatório diretorias ................................ 49 Figura 3.21 – Diagrama de sequência. Gerar relatório diretorias .............................. 49 Figura 3.22 – MVC. Gerar relatório diretorias............................................................ 49 Figura 4.1 – Página Inicial e Layout Padrão .............................................................. 50 Figura 4.2 – Informações do Conselho Central de Lins ............................................ 51 Figura 4.3 – Atualizar dados do Conselho Central de Lins ....................................... 51 Figura 4.4 – Diretorias do Conselho Central de Lins ................................................. 52 Figura 4.5 – Membros da Diretoria ............................................................................ 53 Figura 4.6 – Conferências ......................................................................................... 54 Figura 4.7 – Dados Conferências .............................................................................. 54 Figura 4.8 – Vicentinos .............................................................................................. 55 Figura 4.9 – Dados Vicentinos .................................................................................. 56 Figura 4.10 – Voluntários .......................................................................................... 56 Figura 4.11 – Assistidos ............................................................................................ 57 Figura 4.12 – Informações Assistido ......................................................................... 58 Figura 4.13 – Visitas.................................................................................................. 58 Figura 4.14 – Cargos da SSVP ................................................................................. 59 Figura 4.15 – Relatório Assistido por Conferência .................................................... 60 Figura 4.16 – Relatório Vicentinos por Conferência .................................................. 60 LISTA DE QUADROS Quadro 3.1 – Resumo dos envolvidos ...................................................................... 33 LISTA DE ABREVIATURAS E SIGLAS ASF - Apache Software Foundation; DCL – Data Control Language; DDL – Data Definition Languagem; DML – Data Manipulation Language; DQL – Data Query Language; FTP – File Transfer Protocol; HTTP – Hypertext Transfer Protocol; HTTPS – HyperText Transfer Protocol Secure; IDE – Integrated Development Environment; IMAP – Internet Message Access Protocol; JCP – Java Community Process; JDK – Java Development Kit; JSF – Java Server Faces; JRE – Java Runtime Environment; JSP – Java Server Pages; JVM – Java Virtual Machine; MVC – Model View Controller; ORM – Mapeamento Objeto/Relacional; POP – Post Office Protocol; SGBD – Sistema Gerenciador de Banco de Dados; SMTP – Simple Message Transfer Protocol; SSL – Secure Socket Layer; SSVP – Sociedade São Vicente de Paulo; SQL – Structured Query Language; TCP – Transport Communication Protoco. SUMÁRIO INTRODUÇÃO ..................................................................................... 16 1 A SOCIEDADE SÃO VICENTE DE PAULO ...................................... 18 1.1 HISTÓRIA DA SSVP ............................................................................ 18 1.2 HIERARQUIA DA SSVP ....................................................................... 18 1.3 UNIDADES VICENTINAS ..................................................................... 19 1.3.1 Conferências.................................................................................... 19 1.3.2 Obras Unidas ................................................................................... 20 1.3.3 Conselhos ....................................................................................... 20 1.3.3.1 Conselhos Particulares .................................................................... 20 1.3.3.2 Conselhos Centrais ........................................................................ 21 1.3.3.3 Conselhos Metropolitanos ................................................................ 21 1.3.3.4 Conselho Nacional do Brasil ............................................................. 21 1.3.3.5 Conselho Geral Internacional ............................................................ 22 1.4 CONTROLES DA SSVP ....................................................................... 22 2 REFERENCIAL TECNOLÓGICO ...................................................... 24 2.1 PLATAFORMA WEB ............................................................................ 24 2.2 LINGUAGEM JAVA ............................................................................. 25 2.3 O SERVIDOR APACHE TOMCAT .......................................................... 26 2.4 AS TECNOLOGIAS JAVA SERVLETS E JSP ........................................... 27 2.4.1 Servlets........................................................................................... 27 2.4.2 JSP ................................................................................................ 27 2.5 JAVA SERVER FACES (JSF) ................................................................ 28 2.5.1 PrimeFaces ..................................................................................... 29 2.6 JASPERREPORTS.............................................................................. 29 2.7 HIBERNATE ....................................................................................... 30 2.8 ORACLE DATABASE 10g EXPRESS EDITION ........................................ 30 3 ANÁLISE E PROJETO DE SISTEMA ................................................ 32 3.1 DESCRIÇÕES DO PROBLEMA ............................................................. 32 3.2 ANÁLISE DE MERCADO ...................................................................... 32 3.2.1 Sistemas de informação que auxiliam a SSVP no Brasil ........................... 32 3.3 ATORES E ENVOLVIDOS NO PROCESSO ............................................. 33 3.4 DESCRIÇÃO DO AMBIENTE ATUAL ...................................................... 34 3.5 PERSPECTIVA DO PRODUTO ............................................................. 34 3.6 PREMISSAS E DEPENDÊNCIAS ........................................................... 34 3.7 CARACTERÍSTICAS............................................................................ 35 3.7.1 Requisitos do Sistema ....................................................................... 35 3.7.2 Outros Requisitos do Produto .............................................................. 36 3.8 DIAGRAMA DE CLASSES .................................................................... 37 3.9 MODELO LÓGICO DO BANCO DE DADOS............................................. 38 3.10 MODELO RELACIONAL DO BANCO DE DADOS ................................... 39 3.11 DIAGRAMA DE CASOS DE USO ......................................................... 40 3.12 ESPECIFICAÇÕES DE HISTÓRIAS E DIAGRAMAS................................ 40 3.12.1 Gerenciar Membros ......................................................................... 40 3.12.2 Gerenciar Voluntários ...................................................................... 42 3.12.3 Gerenciar Assistidos ........................................................................ 43 3.12.4 Gerenciar Unidades ......................................................................... 44 3.12.5 Gerenciar Cargos ............................................................................ 48 3.12.6 Gerar Relatórios.............................................................................. 48 4 IMPLEMENTAÇÃO ........................................................................... 50 4.1 LAYOUTS DE TELAS E TESTES ........................................................... 50 4.1.1 Conselho Central .............................................................................. 50 4.1.2 Diretorias ........................................................................................ 52 4.1.3 Unidades Vicentinas .......................................................................... 53 4.1.4 Vicentinos ....................................................................................... 55 4.1.5 Voluntários ...................................................................................... 56 4.1.6 Assistidos ........................................................................................ 57 4.1.7 Cargos da SSVP............................................................................... 59 4.1.8 Relatórios ........................................................................................ 59 CONCLUSÃO ....................................................................................... 62 REFERÊNCIAS BIBLIOGRÁFICAS ..................................................... 64 16 INTRODUÇÃO A Sociedade São Vicente de Paulo (SSVP) é uma comunidade cristã espalhada pelo mundo inteiro, fundada em Paris, França, em 1833, por um grupo de jovens leigos católicos. A SSVP serve àqueles que estão em necessidade, qualquer que seja a sua religião, meio social ou étnico, ou estado de saúde. No Brasil, a SSVP é constituída por unidades vicentinas ligadas diretamente umas às outras da seguinte forma: conferências vicentinas, a um conselho particular, de âmbito local; conselhos particulares e obras unidas, a um conselho central, de âmbito restrito a uma parte de determinada região; conselhos centrais, a um conselho metropolitano, de âmbito regional; e os conselhos metropolitanos, ao Conselho Nacional do Brasil, de âmbito nacional e este, está vinculado à Confederação Internacional da SSVP, de âmbito mundial, representada pelo Conselho Geral. (CNB - SSVP, 2007) Nas cidades de Lins, Promissão e Sabino, as conferências vicentinas, conselhos particulares e obras unidas, estão vinculados ao Conselho Central de Lins, e este conselho central esta vinculado ao Conselho Metropolitano de Bauru. Essas unidades vicentinas são dirigidas por diretorias formadas por vicentinos, para ocupar o cargo de presidente nestas diretorias, os membros das conferências precisam cumprir uma série de exigências descritas na Regra da SSVP. Além disso, as conferências vicentinas ajudam famílias carentes, os chamados assistidos. Atualmente o controle das diretorias bem como os de assistidos são feitos de forma manual por cada unidade, causando problemas, como por exemplo, um presidente ser eleito sem cumprir as regras da SSVP, ou um assistido ser ajudado por mais de uma conferência. O uso de um sistema de informação poderá ajudar o Conselho Central de Lins a diminuir esses problemas. A proposta deste trabalho é o desenvolvimento de um sistema de gestão para o Conselho Central de Lins da Sociedade São Vicente de Paulo, chamado de “Sys_CCLins-SSVP”, onde os membros da SSVP na região de Lins possam gerenciar as informações sobre os assistidos, unidades vicentinas, vicentinos e voluntários da SSVP. Para este desenvolvimento será utilizada a plataforma web, permitindo que o acesso a essas informações sejam feitas de qualquer lugar por meio da internet. 17 No primeiro capítulo, será feita uma pesquisa sobre a história, hierarquia e controles da SSVP, com foco em conferências vicentinas, conselhos particulares e conselhos centrais. Já no segundo capítulo será realizado o levantamento do referencial tecnológico a ser utilizado para o desenvolvimento deste trabalho, Terceiro capítulo, a análise de mercado visando encontrar sistemas semelhantes em outros conselhos centrais, nesse capitulo ainda será feita a parte de análise do sistema com levantamento de requisitos e diagramas. Por fim, o quarto capítulo contempla a implementação e testes do “Sys_CCLins-SSVP”. Após a implementação do “Sys_CCLins-SSVP”, e feito os testes finais, poderá concluir se este sistema de gestão realmente poderá ajudar ou não a resolver os problemas descritos acima que ocorrem hoje no Conselho Central de Lins. 18 1 A SOCIEDADE SÃO VICENTE DE PAULO Neste capítulo é apresentada a história, hierarquia e principais controles realizados pela SSVP, com foco em conferências vicentinas, conselhos particulares e conselhos centrais. 1.1 HISTÓRIA DA SSVP A Sociedade São Vicente de Paulo é conhecida pela sigla SSVP. Trata-se de uma comunidade cristã, espalhada pelo mundo, fundada em Paris, França, em abril de 1833, por um grupo de jovens leigos católicos, que se reuniram para criar a primeira conferência vicentina. O grupo adotou São Vicente de Paulo como patrono, inspirados no pensamento e nas obras daquele santo, conhecido como o Pai da Caridade, pela sua dedicação a serviço dos necessitados. (SSVP, 2012) Esse grupo era liderado por Antônio Frederico Ozanam, estudante de direito na Universidade de Sorbonne e os outros integrantes eram: Jules Devaux, Auguste Le Tailladier, François Lallier, Paul Lamache, Félix Clavé e Emmanuel Bailly, esse veio a ser o primeiro Presidente Geral da SSVP. (CNB - SSVP, 2007) A missão da SSVP é aliviar a miséria espiritual e material de pessoas carentes. Ela serve àqueles que estão em necessidade, qualquer que seja a sua religião, meio social ou étnico, ou estado de saúde, sexo e particularidades culturais ou opiniões políticas. Esta ajuda que os membros da SSVP prestam às pessoas com algum tipo de necessidade é feita sempre em sigilo. Ainda, os vicentinos tentam ajudar os pobres a serem independentes, investindo na promoção integral do assistido. (CNB - SSVP, 2007) De acordo com o Site Oficial da SSVP no Brasil, atualmente a SSVP está presente em 143 países e conta com mais de 700 mil membros. Além disso, no Brasil, as atividades vicentinas iniciaram-se no ano de 1872, com a Conferência São José, no Rio de Janeiro, sendo hoje o maior país vicentino com cerca de 250 mil vicentinos, organizados em 20 mil conferências e 33 conselhos metropolitanos. 1.2 HIERARQUIA DA SSVP A estrutura hierárquica administrativa da SSVP é formada por unidades 19 vicentinas, sendo estas: conferências, conselhos particulares, obras unidas, conselhos centrais, conselhos metropolitanos, conselhos nacionais e Conselho Geral, a figura 1.1 mostra como as unidades vicentinas estão vinculadas diretamente umas às outras. (CNB - SSVP, 2007) Figura 1.1 – Hierarquia da SSVP Fonte: Elaborado pelos autores, 2012. Por fim, a SSVP constitui uma unidade espiritual, dispensando a estrutura de pessoa jurídica, que é assumida pelos conselhos centrais; metropolitanos e Nacional, e também pelas Obras Unidas. (CNB - SSVP, 2007) 1.3 UNIDADES VICENTINAS 1.3.1 Conferências Os membros da SSVP se organizam em grupos de pessoas em diferentes setores comunitários, a esses grupos se dá o nome de conferências. A SSVP está 20 aberta a todos aqueles que queiram participar como membros, os chamados vicentinos, que estejam dispostos a amparar o próximo em necessidade. Ela não faz distinção de sexo, condição, situação social ou origem étnica no seio de suas conferências, a única restrição, é que os membros devem ser católicos. No Brasil, usa expressões distintas para definir o membro do sexo masculino, e do sexo feminino, sendo confrade e consócia, respectivamente. (CNB - SSVP, 2007) Além disso, as conferências vicentinas são à base da SSVP, através delas que os vicentinos chegam aos necessitados. Elas são nomeadas por nomes de santos, santas ou invocações católicas aceitas pela Igreja Católica, não podendo ter o nome de São Vicente de Paulo ou Bem Aventurado Antônio Frederico Ozanam. Estão vinculadas e subordinadas diretamente a um conselho particular mais próximo do local em que funcionam, e indiretamente, a todos os conselhos superiores na hierarquia da SSVP e não possui personalidade jurídica, sendo representada juridicamente pelo conselho central a que esta vinculada. (SSVP, 2012) 1.3.2 Obras Unidas Já as obras unidas, são unidades vicentinas juridicamente independentes com personalidade jurídica própria. São vinculadas ao conselho central de sua área de atuação. Elas podem ser: creches, educandários, asilos, hospitais, albergues, entre outras instituições, todas administradas por vicentinos. (SSVP, 2012) 1.3.3 Conselhos Como visto anteriormente, os conselhos são divididos em diversos níveis na estrutura hierárquica da SSVP. (CNB - SSVP, 2007) 1.3.3.1 Conselhos Particulares Os conselhos particulares compõem o quarto nível hierárquico na SSVP. São subordinados a um conselho central, e formados por no mínimo 04 (quatro) conferências agregadas, e por no máximo 10 (dez) em funcionamento, titula-se pelo nome da localidade onde funciona ou nome de santos, santas ou invocações católicas. Dentre suas atribuições estão unir, animar e coordenar as atividades 21 vicentinas, também deve incentivar a prática de caridade. Estão à disposição das conferências e obras unidas de sua área para auxiliá-las quando necessário e assim como as conferências, não possui personalidade jurídica. (SSVP, 2012) 1.3.3.2 Conselhos Centrais Também segundo o Site Oficial da SSVP no Brasil, os conselhos centrais compõem o terceiro nível da hierarquia vicentina no Brasil, ficam abaixo dos conselhos metropolitanos e são responsáveis pela coordenação, promoção e execução de atividades vicentinas em suas respectivas áreas. Também são responsáveis por representar as conferências vicentinas e os conselhos particulares de sua área como personalidade jurídica e são subordinados a um conselho metropolitano são formados por no mínimo 05 (cinco) conselhos particulares instituídos, e por no máximo 15 (quinze) em funcionamento, titulam-se pelo nome da cidade onde está instalado, exemplo Conselho Central de Lins – SSVP. 1.3.3.3 Conselhos Metropolitanos Ainda conforme o Site Oficial da SSVP no Brasil, os conselhos metropolitanos representam o segundo nível da hierarquia vicentina no Brasil, ficando abaixo apenas do Conselho Nacional do Brasil. A responsabilidade dos conselhos metropolitanos é de orientar e fiscalizar as unidades vicentinas e representar o Conselho Nacional do Brasil na sua área de atuação. Um conselho metropolitano é formado por no mínimo 06 (seis) conselhos centrais instituídos, e por no máximo 15 (quinze) em funcionamento, como os conselhos centrais, também se titula pelo nome da cidade onde está instalado, exemplo Conselho Metropolitano de Bauru – SSVP. 1.3.3.4 Conselho Nacional do Brasil Já o Conselho Nacional do Brasil, é instituído pelo Conselho Geral Internacional, representa a SSVP no Brasil perante todos os setores. São atribuições do Conselho Nacional do Brasil, animar e coordenar o trabalho dos conselhos; publicar relatório anual de suas atividades para conhecimento de todos os vicentinos 22 e do Conselho Geral Internacional; informar sobre a vida da SSVP no Brasil e no mundo a todas as unidades vicentinas do país; zelar pela manutenção dos princípios fundamentais da SSVP; encaminhar com a devida aprovação ao Conselho Geral Internacional, os pedidos de agregação de conferências e instituição de conselhos. O Conselho Nacional do Brasil é dividido em 07 (sete) regiões para poder ficar mais integrado aos conselhos metropolitanos, cada região desta, tem 01 (um) vicepresidente. (SSVP, 2012) 1.3.3.5 Conselho Geral Internacional Por fim, segundo o CNB - SSVP (2007), todas as unidades vicentinas pertencem a SSVP, e devem ser agregadas e instituídas pelo Conselho Geral Internacional da SSVP, sua sede fica em Paris, França, onde foi estabelecido desde a sua criação. É responsável por instituir novos conselhos e agregar novas conferências a SSVP. Igualmente anima e coordena as atividades da SSVP em todo o mundo. 1.4 CONTROLES DA SSVP Cada unidade vicentina possui uma diretoria formada por vicentinos. Para ocupar o cargo de presidente em uma unidade vicentina o confrade ou consócia deverá ser membro ativo da SSVP no Brasil por no mínimo: 01 (um) ano, para conferências; 02 (dois) anos, para obras unidas e conselhos particulares; 04 (quatro) anos, para conselhos centrais e metropolitanos; e 07 (sete) anos, para Conselho Nacional do Brasil. Nas obras unidas o mandato terá duração de 02 (dois) anos, podendo o presidente ser reeleito por mais um mandato. Nas conferências o mandato terá duração de 03 (três anos) e nos conselhos esse prazo será de 04 (quatro) anos, não podendo os presidentes serem reeleitos no mandato seguinte. (CNB - SSVP, 2007) Ainda, as conferências vicentinas recebem indicações da comunidade de pessoas que estão em necessidade, após esta indicação é feita uma triagem para saber se aquela pessoa ou família realmente precisa de auxílio, sendo aprovada a ajuda, esta pessoa é incluída no cadastro da conferência vicentina, e passa a receber visitas semanais dos membros da conferência. Sendo a visita domiciliar a 23 principal atividade dos vicentinos. (CNB - SSVP, 2007) Além disso, todas as unidades vicentinas da hierarquia da SSVP devem repassar uma contribuição mensal à unidade que está diretamente vinculada. Em relação às obras unidas, essa contribuição será de 2,5% (dois e meio por cento), de sua arrecadação bruta, que será dividida da seguinte forma: 25% (vinte e cinco por cento) ao conselho central que está vinculada; 50% (cinquenta por cento) ao conselho metropolitano de sua área de atuação; e 25% (vinte e cinco por cento) ao Conselho Nacional do Brasil. As demais unidades vicentinas deverão repassar mensalmente à unidade que está diretamente vinculada a contribuição da décima, ou seja, 10% (dez por cento) de sua arrecadação bruta. (CNB - SSVP, 2007) Finalizando, essas informações, bem como todas outras informações financeiras e sobre as diretorias de cada unidade vicentina, são informadas aos conselhos por meio de um documento chamado de mapa, que deve ser preenchido mensalmente. (SSVP BRASI, 2012) 24 2 REFERENCIAL TECNOLÓGICO Neste capítulo, serão apresentadas as tecnologias a serem utilizadas para o desenvolvimento do trabalho proposto. 2.1 PLATAFORMA WEB Segundo Gonçalves (2007), a web é uma plataforma cliente/servidor, na qual o lado cliente é um navegador de internet e o lado servidor, como o próprio nome diz, serve as informações requeridas pelo lado cliente. Assim, o cliente se conecta ao servidor através de protocolos e o mais comum desses protocolos é o Hypertext Transfer Protocol (HTTP), no qual o cliente requisita uma informação e é devolvida pelo servidor em forma de textos ou imagens. Esse protocolo trabalha com pedidos e respostas, os pedidos são feitos por meio de métodos que podem ser: GET (solicita um recurso chamado de solicitação URL ao servidor, é o método mais usado), POST (Similar ao GET, é mais usado para a submissão de formulários), HEAD (também similar ao GET, o servidor retorna apenas a linha de resposta e os cabeçalhos), PUT (permite o envio de arquivos para o servidor), DELETE (possibilita excluir documentos dentro do servidor), OPTIONS (consultar quais comandos estão disponíveis para um determinado usuário), e TRACE (devolve o cabeçalho de um documento). A resposta HTTP retorna uma linha de status e cabeçalhos de resposta. (GONÇALVES, 2007) Também existem outros protocolos tão importantes quanto o HTTP disponíveis na internet, que são: Transport Communication Protocol (TCP) representa a camada de transporte de dados e comunicação entre máquinas, cliente/servidor; HyperText Transfer Protocol Secure (HTTPS), parecido com o HTTP mas com Secure Socket Layer (SSL), possui criptografia, que permite uma troca de dados segura entre o cliente e o servidor; File Transfer Protocol (FTP), usado para transmissão de arquivos para um servidor; Simple Message Transfer Protocol (SMTP), disponibiliza comandos necessários para envio de mensagens a um servidor de E-mail; Post Office Protocol (POP), permite o cliente acessar e manipular mensagens de correio eletrônico disponíveis no servidor; Internet Message Access Protocol (IMAP), similar ao POP. (GONÇALVES, 2007) Enfim, ainda segundo Gonçalves (2007), atualmente existem diversas 25 tecnologias disponíveis para implementação de aplicações web, entre elas estão o PHP, ASP, ASP.NET, CGI, Ruby on Rails, Python, Java e etc. 2.2 LINGUAGEM JAVA A tecnologia Java oferece diversas vantagens em relação às outras citadas acima. As principais vantagens são herdadas da própria linguagem Java, como: Portabilidade (a aplicação desenvolvida pode ser executada em diversas plataformas); Orientação a Objetos (programação orientada a objetos simplifica o desenvolvimento de sistemas complexos); Flexibilidade (existem diversas comunidades de desenvolvedores, diversas bibliotecas e códigos prontos, com ampla documentação, onde os desenvolvedores podem usar sem a necessidade de gastar algum valor); Integrated Development Environment (IDE) (as melhores IDEs do mercado em qualquer ramo de atividade em que você queira usar a linguagem Java). (GONÇALVES, 2007) Conforme Luckow e de Melo (2010), a Linguagem Java começou a surgir em 1991 na Sun Microsystems, ela fazia parte de um projeto chamado Green Project, que buscava a possibilidade da convergência entre computadores, equipamentos eletrônicos e eletrodomésticos, na época a linguagem se chamava Oak. O resultado desse projeto foi um controle remoto chamado *7 (StarSeven), tinha uma interface gráfica sensível ao toque e era capaz de interagir com outros equipamentos. A linguagem Oak surgiu para controlar internamente esse equipamento, Entretanto o controle remoto não vingou, pois era muito tecnológico para a época e as empresas que poderiam se beneficiar desta tecnologia não tinham condições de viabilizar o negócio. Sendo assim em 1995, James Gosling que fazia parte do projeto Green Project, foi encarregado de adaptar a linguagem Oak para a internet, surgindo então a plataforma Java. (LUCKOW; DE MELO, 2010) De acordo com Gonçalves (2007), o que chamava atenção para a linguagem Java na época, era sua portabilidade, pois o Java é executado sobre uma Java Virtual Machine (JVM), assim, podia ser executada em diversos sistemas operacionais, bastando ter instalado uma JVM. A internet estava em pleno crescimento e essa nova linguagem proporcionou a criação de diversos efeitos, que até então não eram possíveis em páginas existentes na World Wide Web. As duas principais versões do Java estão disponíveis para download em 26 http://www.oracle.com/technetwork/java/javase/downloads/index.html. A versão Java Runtime Environment (JRE) é o pacote necessário para a execução de aplicativos desenvolvidos em Java. Já a versão Java Development Kit (JDK) é o pacote necessário para o desenvolvimento de aplicativos Java. (LUCKOW; DE MELO, 2010) Por fim, para aplicações web, o Java precisará de um Servidor de Aplicações Java, ou seja, um container Servlet. Existem muitos servidores e container no mercado, os mais famosos são: Apache Tomcat, Red Hat JBoss, IBM WebSphere, GlassFisch e etc. (GONÇALVES, 2007) 2.3 O SERVIDOR APACHE TOMCAT O servidor Apache Tomcat é um servidor robusto e que permite, ainda, a integração com servidores dedicados web como Apache HTTP e IIS da Microsoft, fornecendo uma capacidade maior de trabalho. Além disso, ele é um container Java e um servidor web ao mesmo tempo. Executa as tecnologias Java Servlet e Java Server Pages (JSP), o que permite que o Java funcione para um ambiente web. (LUCKOW; DE MELO, 2010) Conforme Gonçalves (2007), a origem do servidor Tomcat, se deu no início da tecnologia Java Servlet. A Sun Microsystems criou o primeiro container servlet, o Java Web Server, mas não foi um servidor web como se esperava. A Apache Software Foundation (ASF) criou ao mesmo tempo o JServ, um servelet engine que integrava com o servidor web Apache. No final da década de 90, a Sun Microsystems doou o código do Java Web Server para a ASF, unindo os dois projetos e criando o Tomcat. A versão 3.x foi a primeira da série Tomcat, e teve a descendência direta do código original. Em 2001 a ASF liberou a versão 4.0 do Tomcat, com uma arquitetura totalmente redesenhada e um novo código base, que é preciso ter instalado o Java JRE para executar aplicações, ou o Java JDK para desenvolver aplicações usando o Tomcat. Enfim, segundo o site oficial do Apache Tomcat, ele é uma implementação de software open source do Java Servlet e JSP, atualmente o Tomcat está na versão 8.0, o download desta versão e das versões mais antigas podem ser feitos gratuitamente através do site http://tomcat.apache.org/. 27 2.4 AS TECNOLOGIAS JAVA SERVLETS E JSP Segundo Gonçalves (2007), as tecnologias Servlets e JSP foram desenvolvidas pela Sun Microsystems para desenvolvimento de aplicações web a partir de componentes Java que funcionam do lado servidor. Essas tecnologias são relativamente fáceis de aprender, eficazes, reutilizáveis e de fácil manutenção e são open source, ou seja, gratuitas. Servlets e páginas JSP funcionam da seguinte maneira: o cliente (navegador) faz uma solicitação para o servidor, este envia a solicitação para o servlet, que constrói uma resposta e essa é devolvida ao servidor, que é entregue ao cliente. (MAHMOUD, 2003) 2.4.1 Servlets De acordo com Gonçalves (2007), servlets são classes Java desenvolvidas com uma estrutura bem definida e quando instaladas junto com um servidor de aplicações Java, podem tratar os pedidos recebidos do lado cliente. Também são a base do desenvolvimento de aplicações escrita em Java para a web, o Tomcat citado anteriormente, é um container servlet. Ainda segundo Gonçalves (2007), o ciclo de vida de um servlet é composto por 3 fases: Inicialização (ocorre quando o container servlet carrega o servlet); Atendimento às requisições (o servlet atende aos pedido da aplicação, e permanece na fase 2 de seu ciclo, enquanto a aplicação que contém o servlet estiver ativa, o que é uma vantagem em relação a outras tecnologias); e Finalização (ocorre quando a aplicação é tornada inativa pelo container servlet). 2.4.2 JSP A tecnologia JSP foi criada para facilitar o desenvolvimento de páginas web que exigem um alto grau de design. Isto é, paginas JSP são páginas web escritas em código Java misturadas a HTML tradicionais, as páginas escritas em JSP tem a extensão .jsp ao invés de .html ou .htm, assim, o servidor sabe que esta página requer um tratamento especial. (MAHMOUD, 2003) Uma das vantagens de se desenvolver em JSP é que o código não precisa ser compilado. A página é criada, e colocada para rodar no container servlet, este se 28 encarrega de compilar a página JSP, se for preciso fazer alguma alteração no código, é só salvar a alteração e já está pronto. O container servlet verifica a data que o arquivo JSP foi alterado, caso a data seja diferente da última compilação, é feita uma nova compilação para que as alterações sejam visíveis na aplicação. Assim, sempre que uma página JSP é alterada, ela é carregada mais lentamente do que os próximos acessos. (GONÇALVES, 2007) Por fim, como as páginas JSP são convertidas em um servlet, faz com que estas páginas tenham o mesmo ciclo de vida de um servlet. (GONÇALVES, 2007) 2.5 JAVA SERVER FACES (JSF) De acordo com Gomes (2008), JSF é uma tecnologia do Java Enterprise Edition, foi criado para simplificar e facilitar o desenvolvimento de aplicações web. Ele herda das tecnologias JSP e Servlets um conjunto de componentes e recursos sofisticados. Esta tecnologia foi definida pelo Java Community Process (JCP), tornando assim um padrão de desenvolvimento, o que facilita na criação de produtos que valorizam a produtividade no desenvolvimento de interfaces visuais. (ALGAWORKS, 2010) Ainda, JSF é baseado no padrão de projeto Model View Controller (MVC), separando o sistema em três camadas (modelo, visão e controle), onde modelo é a camada responsável por representar os objetos de negócios, manter o estado da aplicação e fornecer a camada controle o acesso aos dados. Visão é responsável pela interface do usuário, define a forma como os dados são visualizados, e encaminha as ações do usuário para o controle. Enfim, o controle é responsável por ligar a camada modelo e a camada visão, interpreta as solicitações dos usuários, traduzindo para uma operação na camada de modelo, e retornando na camada visão uma resposta para o usuário. (ALGAWORKS, 2010) Por fim, os componentes utilizados em JSF são simples em questão de interfaces gráficas, mas para auxiliar os desenvolvedores com componentes mais sofisticados existem várias bibliotecas, entre elas estão: Primefaces, RichFaces e IceFaces. Todas elas definem componentes JSF, mas muito além da especificação. (CAELUM, 2012) 29 2.5.1 PrimeFaces Segundo Kapelonis (2012) o PrimeFaces é uma biblioteca de componentes open source para JSF2, possui um conjunto vasto de controles com suporte a Ajax. Fornece os componentes mais utilizados pelos desenvolvedores. Além disso, inclui alguns componentes únicos que não são encontrados em seus concorrentes. Ainda segundo Kapelonis (2012), a empresa responsável pelo PrimeFaces é a Prime Tecknoloji e a razão para a diversidade de componentes disponíveis é que esta empresa não vende software, ela é uma empresa de consultoria e usa o PrimeFaces em seus clientes. Devido aos problemas que a consultoria tinha com o JSF, decidiram criar uma biblioteca de componentes mais fácil de usar. Por fim, os componentes do Primefaces e suas funcionalidades estão disponíveis no showcase, podendo ser acessado por meio do endereço http://www.primefaces.org, podem ser vistos na demo online uma lista de componentes muito além da especificação JSF, porém mantendo a facilidade de uso. (CAELUM, 2012) 2.6 JASPERREPORTS O JasperReports é uma biblioteca escrita em Java para geração de relatórios, foi criada por Teodor Danciu em 2001 quando encontrou dificuldades em encontrar que se encaixava no orçamento do projeto em que trabalhava. (GONÇALVES, 2008) Esta biblioteca foi desenvolvida para auxiliar o desenvolvedor na criação de relatórios para aplicações web ou desktop, apesar de simples, ainda exige que o desenvolvedor conheça o formato XML utilizado para criar os relatórios, mas em 09 de outubro de 2002, Giulio Toffoli de forma independente, criou uma ferramenta para gerar relatórios visuais chamada iReports para desenvolver relatórios gerando o formato XML no padrão JasperReports. (GONÇALVES, 2008) Ainda segundo Gonçalves (2008), o iReports é um programa open source capaz de criar os relatórios mais complexos de forma simples e rápida, por meio de uma interface gráfica intuitiva no formato da biblioteca JasperReports. Além disso seus códigos fontes são distribuídos gratuitamente de acordo com a General Public Licence. 30 2.7 HIBERNATE Segundo Gonçalves (2007), Hibernate é um framework que se relaciona com o banco de dados, relacionamento este, conhecido como mapeamento objeto/relacional (ORM). Ele surgiu porque enquanto as informações são armazenadas em tabelas no sistema gerenciador de banco de dados (SGBD), nas aplicações Java estas informações são apresentadas em forma de objetos, por isso a persistência dos dados era muito trabalhosa para os desenvolvedores Java. Também com o Hibernate é possível trocar o SGBD mudando apenas algumas configurações. Seu papel é transformar as requisições de manipulação do banco de dados por classes Java em comandos Structured Query Language – Linguagem Estruturada de Consulta (SQL) que são enviados ao SGBD. (GOMES, 2008) 2.8 ORACLE DATABASE 10g EXPRESS EDITION Conforme Manzano (2007), Oracle Database 10g Express Edition é uma ferramenta gratuita de gerenciamento de banco de dados relacional, também conhecido como Oracle Database XE, ele pode ser usado por desenvolvedores de software e principalmente estudantes de Tecnologia da Informação (TI). Por se tratar de uma versão gratuita, existem algumas limitações em relação às versões comerciais deste produto, sendo: disponível apenas para sistemas operacionais Windows e Linux 32 bits, suporta no máximo 4 Giga Bytes (GB) de dados, utiliza somente 1 GB de memória RAM da máquina onde esta instalado, não importando se esteja disponível um número maior de memória, cria e utiliza apenas uma instância de servidor, e não possui suporte técnico. Ainda segundo Manzano (2007), a linguagem SQL, utilizada no Oracle Database XE é composta por quatro subconjuntos que formam a estrutura básica das instruções, sendo eles: Data Manipulation Language (DML), formado pelos comandos DELETE, DO, INSERT, JOIN, LOAD DATA, UNION e UPDATE, é o maior subconjunto da linguagem SQL, estes comando oferecem os recursos necessários para manutenção das tabelas e manipulação dos dados; Data Definition Languagem – (DDL), é formado pelos comandos ALTER DATABASE, ALTER TABLE, ALTER VIEW, CREATE DATABASE, CREATE INDEX, CREATE TABLE, CREATE VIEW, 31 DROP DATABASE, DROP INDEX, DROP TABLE, DROP VIEW e RENAME TABLE, comandos esses, responsáveis pela definição e controle dos dados; Data Control Language (DCL), formado pelos comandos ALTER USER, CREATE USER, DROP USER, GRANT e REVOKE, comandos esses que controlam o acesso de usuários ao programa e aos dados; Data Query Language (DQL), formado apenas pelo comando SELECT, que por ser utilizado em conjunto com outros comandos DML alguns autores o consideram um comando do subconjunto DML. Mas há uma parcela de profissionais que não classifica o comando SELECT como um comando DML, e Manzano (2007) faz parte deste segundo grupo de profissionais. 32 3 ANÁLISE E PROJETO DE SISTEMA Este capítulo apresenta uma visão geral sobre o Conselho Central de Lins, seus problemas, suas necessidades e as propostas de soluções, mostrando a análise de negócios desenvolvida para a implementação do sistema “Sys_CCLinsSSVP”. 3.1 DESCRIÇÕES DO PROBLEMA O Conselho Central de Lins – SSVP precisa aprimorar o processo de obtenção das informações relevantes referentes a unidades vicentinas vinculadas a ele, informações sobre: As famílias carentes assistidas; Os membros da SSVP na região de Lins; As diretorias das unidades vicentinas; Os voluntários que auxiliam a SSVP. Atualmente não há um controle para identificar quantos assistidos cada conferência auxilia, quantos são ao todo, se alguma família carente é assistida por mais de uma conferência ou se a família não precisa mais de ajuda e deixou de ser assistida; o número de membros por conferência e o total na área de abrangência do Conselho Central de Lins e quais voluntários podem ajudar em determinados assuntos relacionados a assistidos ou unidade vicentina. Outra questão é a dificuldade em controlar os processos eleitorais das diretorias das unidades vicentinas vinculadas a ele. Esses problemas afetam de maneira direta ou indireta todos os participantes da SSVP na região de Lins. Com o uso de um sistema de gestão desenvolvido em plataforma web esses problemas poderão ser amenizados, pois os usuários do sistema poderão manter as informações das unidades vicentinas atualizadas por meio da internet. 3.2 ANÁLISE DE MERCADO 3.2.1 Sistemas de informação que auxiliam a SSVP no Brasil 33 De acordo com o site oficial da SSVP no Brasil, está sendo desenvolvido um sistema de banco de dados no qual serão cadastradas todas as unidades vicentinas do Brasil, e segundo uma consulta realizada junto ao Conselho Metropolitano de Bauru, conselho este, ao qual o Conselho Central de Lins está vinculado, no momento não existe nenhum sistema de informação que auxilie as unidades vicentinas vinculadas a este conselho nos controles citados acima, sendo feitos atualmente de forma manual. Ainda por meio de uma pesquisa na internet foi localizado um trabalho de graduação elaborado por Favam (2009) na qual foi desenvolvido um sistema web semelhante ao proposto neste trabalho para o Conselho Central de Botucatu, conselho esse, também vinculado ao Conselho Metropolitano de Bauru. Em resumo o Conselho Central de Botucatu contava com um sistema de informação desenvolvido na plataforma Microsoft Access, de modo que as informações ficavam restritas a alguns membros da SSVP daquele conselho central, e essas informações eram diferentes umas das outras por estarem em computadores diferentes. Assim, a proposta do novo sistema desenvolvido na plataforma web era que todos os vicentinos pertencentes ao Conselho Central de Botucatu conseguissem inserir, atualizar, visualizar e excluir informação referentes as suas unidades vicentinas, pois todas as informações estavam centralizadas em um banco de dados residente na internet. (FAVAN, 2009) Entretanto, segundo o Presidente do Conselho Central de Botucatu, Paulo Roberto Fontes Junior, após começarem a usar o sistema, perceberam que começaram a aparecer muitas informações incorretas, pois como o sistema era acessado por meio da internet, qualquer pessoa podia se cadastrar e manipular as informações contidas naquele sistema. Sendo assim, resolveram não usar mais o sistema web desenvolvido por Favam (2009). 3.3 ATORES E ENVOLVIDOS NO PROCESSO Quadro 3.1 – Resumo dos envolvidos Usuário Pessoa responsável por O usuário será responsável por (Membros das manter atualizadas as alimentar o sistema com as informações Conferências) informações do sistema. sobre: os assistidos, membros das conferências e gerenciar informações referentes as unidades vicentinas, também poderá emitir relatórios com 34 todas as informações citadas acima. Fonte: Elaborado pelos autores, 2013. 3.4 DESCRIÇÃO DO AMBIENTE ATUAL O Conselho Central de Lins – SSVP é formado por 02 (duas) obras unidas, 05 (cinco) conselhos particulares e 20 conferências, na qual o objetivo principal é ajudar famílias carentes através das conferências. Os membros das conferências visitam estas famílias semanalmente, ajudando no que for possível e registrando informações sobre as visitas. Todo o controle destas informações como o tipo, data e quem fez a visita atualmente é feito de forma manual, sendo que cada conferência faz o seu controle de uma forma. Toda unidade vicentina é formada por uma diretoria, no caso das obras unidas o mandato da diretoria é de 02 (dois) anos, podendo ser reeleito para mais um mandato, no caso de conferências o mandato da diretoria é de 03 anos e nos conselhos particulares e conselho central, o mandado é de 04 (anos) não podendo ser reeleito. Será função do sistema em desenvolvimento centralizar e organizar todas essas informações afim de que qualquer membro da SSVP possa acessá-las a qualquer momento. 3.5 PERSPECTIVA DO PRODUTO O sistema desenvolvido será para o Conselho Central de Lins – SSVP, que assim como as demais unidades vicentinas da SSVP no Brasil, carecem de uma solução integrada que atinja todos os seus processos. Sendo assim, o Sys_CCLins-SSVP, buscará uma precisão nas informações necessárias para o desenvolvimento do trabalho da SSVP na região de Lins. Ainda ele será um sistema auto suficiente, pois não possuirá nenhum vínculo com outros sistemas majoritários. Sua finalidade será de melhorar o fluxo dos processos e das informações do Conselho Central de Lins – SSVP. 3.6 PREMISSAS E DEPENDÊNCIAS 35 Como o sistema Sys_CCLins-SSVP é desenvolvido em Java, poderá ser executado no lado cliente em qualquer navegador de internet, bastando para isso possuir uma conexão com a internet. Já a máquina servidora, também deverá possuir conexão com a internet e ainda ter instalado o SGBD Oracle Database 10g Express Edition, o servidor Apache Tomcat 7.3 e ter uma JVM instalada. 3.7 CARACTERÍSTICAS Abaixo serão listadas as funcionalidades implementadas no sistema. 3.7.1 Requisitos do Sistema Acessar sistema, função onde os usuários terão acesso para visualizar e gerenciar informações; Gerenciar membros, responsável por cadastrar novos membros ou alterar informações dos membros da SSVP já cadastrados; Gerenciar voluntários, onde serão cadastrados novos voluntários ou alteradas informações dos voluntários já cadastrados; Gerenciar assistidos, função responsável por gerenciar as seguintes informações referentes aos assistidos: Inserir novos assistidos ou alterar informações dos assistidos e dependentes já cadastrados; Registrar visitas realizadas aos assistidos; Gerenciar unidades vicentinas, funcionalidade responsável por gerenciar as seguintes informações referentes a unidades vicentinas vinculadas ao Conselho Central de Lins: Inserir unidades vicentinas ou editar os dados das unidades já cadastradas; Atualizar informações das diretorias das unidades vicentinas; Gerenciar cargos nas unidades vicentinas, nesta função, o usuário poderá inserir novos cargos, ou alterar os cargos já existentes; Gerar relatórios com informações das unidades vicentinas vinculadas ao Conselho Central de Lins: 36 Relatório de unidades vicentinas; Relatório de diretorias das unidades vicentinas, separados por unidade; Relatório de membros da SSVP separados por conferências; Relatório de assistidos separados por conferência; Relatório de visitas realizadas, separados por conferência e assistido; 3.7.2 Outros Requisitos do Produto Além das características citadas acima, o sistema deverá possuir: Uma interface amigável; Estar disponível 24 horas por dia; Permitir a exportação dos dados emitidos nos relatórios para o formato de arquivo Portable Document Format (PDF); Controlar o processo de cadastro de assistidos, não permitindo que um assistido seja cadastrado por mais de uma conferência; E também deverá controlar o processo de atualizar diretorias nas unidades vicentinas, conforme regras descritas no capítulo 1, item 1.4 Controles da SSVP. 37 3.8 DIAGRAMA DE CLASSES Figura 3.1 – Diagrama de classes Fonte: Elaborado pelos autores, 2013. 38 3.9 MODELO LÓGICO DO BANCO DE DADOS Figura 3.2 – Modelo Lógico do Banco de Dados Fonte: Elaborado pelos autores, 2013. 39 3.10 MODELO RELACIONAL DO BANCO DE DADOS Figura 3.3 – Modelo Relacional do Banco de Dados Fonte: Elaborado pelos autores, 2013. 40 3.11 DIAGRAMA DE CASOS DE USO Figura 3.4 – Diagrama de caso de uso Fonte: Elaborado pelos autores, 2013. 3.12 ESPECIFICAÇÕES DE HISTÓRIAS E DIAGRAMAS 3.12.1 Gerenciar Membros Na funcionalidade gerenciar membros, o usuário poderá cadastrar novos membros nas conferências e alterar as informações referentes a eles. As figuras 3.5 e 3.6 representam os diagramas referentes ao caso de uso cadastrar membros, ao iniciar esta função, será mostrado ao usuário um formulário que deverá ser preenchido, o e-mail informado será verificado para evitar duplicidade de membros cadastrados, se o e-mail não existir, o mesmo será inserido nos sistema. Figura 3.5 – Diagrama de atividade. Cadastrar membro Fonte: Elaborado pelos autores, 2013. 41 Figura 3.6 – Diagrama de sequência. Cadastrar membro Fonte: Elaborado pelos autores, 2013. As figuras 3.7 e 3.8 representam o processo de alterar informações, será apresentada uma lista com os membros cadastrados, depois de selecionar o registro, o usuário poderá alterar as informações do mesmo e atualizá-las no sistema. Figura 3.7 – Diagrama de atividade. Alterar informações Fonte: Elaborado pelos autores, 2013. 42 Figura 3.8 – Diagrama de sequência. Alterar membro Fonte: Elaborado pelos autores, 2013. E a figura 3.9 representa o MVC dos casos de uso cadastrar membros e alterar informações. Figura 3.9 – MVC. Cadastrar membro Fonte: Elaborado pelos autores, 2013. 3.12.2 Gerenciar Voluntários Nesta funcionalidade o usuário poderá cadastrar novos voluntários da SSVP, assim como alterar as informações referentes a eles. Ao iniciar o processo de cadastrar voluntários, será apresentado um formulário, depois de preenchida as informações, o e-mail informado será checado para evitar que o mesmo voluntário seja cadastrado mais de uma vez, se o e-mail não existir, o mesmo será inserido no sistema. Já na função de alterar informações, será mostrada uma lista com os 43 voluntários cadastrados, depois de selecionar o registro, o usuário poderá alterar as informações do mesmo e atualiza-las no sistema. Para este caso de uso não foi elaborado os diagramas, pois os mesmos são similares aos do caso de uso Gerenciar Membros, explicado anteriormente. 3.12.3 Gerenciar Assistidos Esta funcionalidade será responsável por manter as informações dos assistidos das conferências cadastrados no sistema. O processo de inserir novos assistidos será similar ao de cadastrar membros, sendo diferente apenas a forma de validação para evitar duplicidade no sistema, que será feita pelo endereço do assistido. Também será possível registrar as visitas feitas aos assistidos, esse caso de uso é representado nas figuras 3.10, 3.11 e 3.12, ao iniciar a função assistidos, uma lista com os assistidos cadastrados será apresentada, após selecionar a função “Registrar” o sistema mostrará um formulário para que o usuário preencha com os dados referente as visitas realizadas. Figura 3.10 – Diagrama de atividade. Registrar visitas Fonte: Elaborado pelos autores, 2013. 44 Figura 3.11 – Diagrama de sequência. Registrar visitas Fonte: Elaborado pelos autores, 2013. Figura 3.12 – MVC. Registrar visitas Fonte: Elaborado pelos autores, 2013. 3.12.4 Gerenciar Unidades Nesta funcionalidade, o usuário poderá cadastrar novas unidades vicentinas ou alterar informações e também atualizar os dados referentes a diretorias das unidades cadastradas. As figuras 3.13 e 3.14 representam o caso de uso para cadastrar uma nova conferência, o sistema apresentará um formulário onde o usuário deverá selecionar o conselho particular a qual essa ficará vinculada, depois de preenchido o formulário e enviar os dados, será verificado se já existe uma conferência cadastrada com o mesmo nome, se não existir, esta será inserida no sistema, no caso de cadastrar uma obra unida ou conselho particular, o processo será o mesmo, porém não 45 precisará selecionar o conselho particular, pois essa unidade vicentina será vinculada diretamente ao Conselho Central de Lins. Figura 3.13 – Diagrama de atividade. Cadastrar conferência Fonte: Elaborado pelos autores, 2013. Figura 3.14 – Diagrama de sequência. Cadastrar conferência Fonte: Elaborado pelos autores, 2013. Já a função de atualizar informações de diretorias é representada nas figuras 3.15 e 3.16, depois de selecionar a conferência desejada, será apresentado um formulário onde no campo “Presidente” terá uma lista com os vicentinos aptos a ocupar o cargo de presidente de acordo com as regras descritas no capítulo 1, item 1.4 Controles da SSVP e também será exibida uma lista com as diretorias já cadastradas da conferência escolhida, no caso de inserir uma nova diretoria, o usuário deverá preencher o formulário apresentado e selecionar o vicentino que ocupará o cargo de presidente, já para atualizar as informações de uma diretoria já 46 cadastrada, o usuário deverá selecionar a diretoria que se deseja altera e atualizar os dados. Figura 3.15 – Diagrama de atividade. Inserir/atualizar diretoria de conferência Fonte: Elaborado pelos autores, 2013. Figura 3.16 – Diagrama de sequência. Inserir/atualizar diretoria conferência Fonte: Elaborado pelos autores, 2013. Depois de inserida a diretoria no sistema, o usuário poderá inserir/atualizar os membros dessa diretoria, esta função é representada nas figuras 3.17 e 3.18, será 47 exibido um formulário onde deverá selecionar em uma lista os cargos disponíveis para aquela diretoria, assim como o membro que ocupará aquele cargo selecionado, o sistema não permite que exista o mesmo cargo duas vezes e também que o mesmo membro ocupa dois cargos na mesma diretoria, juntamente com esse formulário, será exibida uma lista com os membros já inseridos naquela diretoria, e se optar por atualizar as informações daquele membro ou cargo, basta selecionar ele e alterar as informações. Figura 3.17 – Diagrama de atividade. Inserir/atualizar membro diretoria Fonte: Elaborado pelos autores, 2013. Figura 3.18 – Diagrama de sequência. Inserir/atualizar membro diretoria Fonte: Elaborado pelos autores, 2013. Por fim, a figura 3.19 representa o MVC dos processo explicados nas figuras 48 3.13 à 3.18, o processo de atualizar/inserir diretorias em conselhos e obras unidas será similar ao já explicado para conferências e por isso não serão representados. Figura 3.19 – MVC. Gerenciar Conferência Fonte: Elaborado pelos autores, 2013. 3.12.5 Gerenciar Cargos Esta funcionalidade servirá para cadastrar os cargos referentes a diretorias das unidades vicentinas ou alterar informações dos cargos já existentes. Os diagramas deste processo são similares aos de cadastros e de alterações de informações já explicados nas funcionalidades acima. 3.12.6 Gerar Relatórios Ao iniciar a funcionalidade de gerar relatórios o usuário deverá escolher qual relatório deseja gerar, depois de escolhido, o sistema selecionará nas tabelas correspondentes as informações necessárias e apresentará na tela, então o usuário poderá fazer o download do relatório gerado em formato de arquivo PDF ou imprimir. Os diagramas das figuras 3.20, 3.21 e 3.22 representam o relatório de diretorias de unidades vicentinas, os demais relatórios não serão apresentados por serem similares ao explicado neste tópico. 49 Figura 3.20 – Diagrama de atividade. Gerar relatório diretorias Fonte: Elaborado pelos autores, 2013. Figura 3.21 – Diagrama de sequência. Gerar relatório diretorias Fonte: Elaborado pelos autores, 2013. Figura 3.22 – MVC. Gerar relatório diretorias Fonte: Elaborado pelos autores, 2013. 50 4 IMPLEMENTAÇÃO Neste capítulo serão apresentadas as telas do sistema Sys_CCLins-SSVP juntamente com os testes realizados após o desenvolvimento. 4.1 LAYOUTS DE TELAS E TESTES A figura 4.1 representa a tela “Página Inicial” do sistema Sys_CCLins-SSVP, nela é descrita um pouco da história da SSVP juntamente com alguns dados do Conselho Central de Lins, também são destacados os elementos do layout padrão que é usado em todas as telas do sistema. Figura 4.1 – Página Inicial e Layout Padrão Fonte: Elaborado pelos autores, 2013. 4.1.1 Conselho Central Na figura 4.2 é exibida a tela “Informações” do Conselho Central de Lins, esta tela apresenta os dados em um formulário simples juntamente com o botão “Alterar Dados”. 51 Figura 4.2 – Informações do Conselho Central de Lins Fonte: Elaborado pelos autores, 2013. Ao clicar no botão “Alterar Dados” exibido na figura 4.2, o usuário é direcionado para a tela “Atualizar Dados” do Conselho Central de Lins exibida na figura 4.3, nela é mostrado outro formulário, mas com os campos habilitados para edição, após alterar as informações e clicar no botão “Atualizar” os dados são atualizados no banco de dados. Figura 4.3 – Atualizar dados do Conselho Central de Lins Fonte: Elaborado pelos autores, 2013. 52 Além disso, em todas as operações que são realizadas no banco de dados uma mensagem é exibida no canto superior direito da tela com o status de sucesso ou erro da operação. 4.1.2 Diretorias A figura 4.4 representa a tela “Diretorias” do Conselho Central de Lins, esta tela mostra uma lista com as diretorias cadastradas no banco de dados e também é possível incluir novas diretorias ou alterar as informações das diretorias cadastradas. Por meio dos espaços em branco no topo das colunas “Período” e “Presidente”, é possível fazer buscas específicas digitando partes de um valor que se deseja, este recurso é apenas um dos componentes utilizados com auxílio da ferramenta primefaces. Figura 4.4 – Diretorias do Conselho Central de Lins Fonte: Elaborado pelos autores, 2013. Ao clicar em um dos botões exibidos na coluna “Membros” na figura 4.4, o usuário é direcionado para a tela “Membros da Diretoria” representada na figura 4.5, nela é possível gerenciar os membros da diretoria escolhida. Nesta tela o sistema não permite que seja cadastrado o mesmo cargo duas vezes, assim como o mesmo membro ocupar dois cargos na mesma diretoria. 53 Figura 4.5 – Membros da Diretoria Fonte: Elaborado pelos autores, 2013. As telas referentes às diretorias de conselhos particulares, conferências e obras unidas são parecidas com as telas explicadas acima e por isso não serão exibidas. Por fim, em todas as diretorias das unidades vicentinas, o sistema faz um controle para que sejam respeitadas as regras descritas no capítulo 1, item 1.4 Controles da SSVP. 4.1.3 Unidades Vicentinas A figura 4.6 representa a tela “Conferências”, nela é exibida uma lista com os dados de todas as conferências cadastradas, se o usuário clicar sobre um dos botões exibidos na coluna “Diretorias” será direcionado para a tela “Diretoria” da conferência selecionada, tela esta já explicada no item 4.1.2 Diretorias deste capítulo. 54 Figura 4.6 – Conferências Fonte: Elaborado pelos autores, 2013. Ainda se o usuário clicar sobre o nome da conferência exibido na coluna “Conferências” da figura 4.6 será direcionado para a tela “Dados Conferência” exibida na figura 4.7, nela é possível alterar os dados da conferência escolhida. Além disso, nesta tela também é responsável por inserir novas conferências no sistema, bastando para isso clicar sobre a opção “Incluir” do menu “Conferências”. Figura 4.7 – Dados Conferências Fonte: Elaborado pelos autores, 2013. 55 As telas responsáveis pelo gerenciamento dos Conselhos Particulares e das Obras Unidas não serão mostradas, pois são parecidas com as telas explicadas nas figuras 4.6 e 4.7. 4.1.4 Vicentinos A figura 4.8 representa a tela “Vicentinos”, nela é exibida uma lista em ordem alfabética com os dados de todos os vicentinos cadastrados, assim como explicado anteriormente, por meio dos espaços em branco no topo das colunas “Nome, Conferência e Cidade” é possível buscar o vicentino desejado, facilitando assim a busca. Figura 4.8 – Vicentinos Fonte: Elaborado pelos autores, 2013. Na tela explicada na figura 4.8, se o usuário clicar sobre o nome de algum vicentino, ou clicar na opção “Incluir” do menu “Vicentinos”, será direcionado para a tela “Dados Vicentino” exibida na figura 4.9, esta tela é responsável por alterar os dados dos vicentinos cadastrados ou incluir novos vicentinos. 56 Figura 4.9 – Dados Vicentinos Fonte: Elaborado pelos autores, 2013. 4.1.5 Voluntários A figura 4.10 mostra a tela “Voluntários”, as funcionalidades dela são parecidas com as já explicadas no item 4.1.6 Vicentinos, os voluntários tem o papel de auxiliar as unidades vicentinas quando necessário, assim como um assistido que necessite de ajudas específicas, por exemplo um advogado. Figura 4.10 – Voluntários Fonte: Elaborado pelos autores, 2013. 57 4.1.6 Assistidos A figura 4.11 representa a tela “Assistidos”, nela é exibida uma lista com as informações dos assistidos cadastrados organizados por conferência, assim como já explicado anteriormente, é possível fazer buscas utilizando os espaços em branco no topo das colunas “Assistido, Assistido pela Conferência, Endereço e Status”. Figura 4.11 – Assistidos Fonte: Elaborado pelos autores, 2013. A figura 4.12 exibe a tela “Informações Assistido”, nela existe duas abas, a aba “Assistido” onde é possível gerenciar as informações dos assistidos, o sistema faz um controle verificando o endereço do assistido que está sendo inserido ou atualizado e se já existir outro com o mesmo endereço cadastrado o sistema não permite que as informações sejam salvas e exibe uma mensagem avisando o usuário. Já na aba “Dependentes” o usuário pode gerenciar as informações dos dependentes do assistido em questão ou se o usuário preferir pode também excluir o dependente clicando no botão da coluna “Excluir”. 58 Figura 4.12 – Informações Assistido Fonte: Elaborado pelos autores, 2013. A figura 4.13 representa a tela “Visitas”, nela é exibida uma lista com as visitas realizadas ao assistido em questão, o usuário pode acessar esta tela clicando no botão “Registrar” exibido na coluna “Visitas” na figura 4.11, por meio desta, o usuário pode cadastrar as visitas realizadas pelos membros das conferências vicentinas aos assistidos. Figura 4.13 – Visitas Fonte: Elaborado pelos autores, 2013. 59 4.1.7 Cargos da SSVP A figura 4.14 representa a tela “Cargos da SSVP”, esta tela é responsável por gerenciar os cargos das diretorias das unidades vicentinas, nela é exibida uma lista em ordem alfabética dos cargos disponíveis nas diretorias; a coluna “Referente a Unidade” é responsável por determinam quais cargos as unidades possuem, por exemplo o valor “CENTRAL” na linha do cargo “2º VICE-PRESIDENTE” indica que esse cargo só estará disponível para as diretorias do Conselho Central de Lins. Figura 4.14 – Cargos da SSVP Fonte: Elaborado pelos autores, 2013. 4.1.8 Relatórios Na figura 4.15 é exibido o relatório “Assistidos por Conferência”, neste relatório são exibidos os principais dados dos assistidos cadastrados no banco de dados separados por conferência 60 Figura 4.15 – Relatório Assistido por Conferência Fonte: Elaborado pelos autores, 2013. A figura 4.16 representa o relatório “Vicentinos por Conferência”, este relatório exibe uma lista com os dados dos vicentinos cadastrados no sistema separados por conferência. Figura 4.16 – Relatório Vicentinos por Conferência Fonte: Elaborado pelos autores, 2013. Enfim, por meio do menu “Relatórios” o sistema disponibiliza as seguintes 61 opções de relatórios: Assistidos por Conferência; Conferências por CP; Diretoria Unidades; Unidades Vicentinas; Vicentinos por Conferência. Além de visualizar os relatórios em uma nova aba do navegador, o usuário tem as opções de imprimir ou salvar os relatórios em formato de arquivo PDF, permitindo assim que seja enviado por e-mail. 62 CONCLUSÃO O presente trabalho teve como objetivo desenvolver um sistema de gestão para o Conselho Central de Lins. No início do projeto ficou definido que o sistema seria desenvolvido na plataforma web, pois assim todos os vicentinos ligados ao Conselho Central de Lins poderiam acessar as informações contidas nele e também inserir dados quando necessário. Além disso, o sistema precisaria validar o processo eleitoral nas diretorias das unidades vicentinas vinculadas a este conselho e também ter condições de controlar o cadastro de famílias assistidas não permitindo que um assistido seja ajudado por mais de uma conferência. Ainda, ser possível a consulta dos dados cadastrados no sistema e se necessário a emissão de relatórios em formato de arquivo PDF permitindo assim que se possa imprimir esses relatórios ou até mesmo fazer o download e enviá-los por email. Essas funcionalidades citadas acima foram desenvolvidas durante este projeto, ficando como sugestão para trabalhos futuros melhorias no sistema, tais como: o sistema poderia ter um controle de acessos separados por perfis, permitindo aos usuários realizarem algumas operações especificas tais como consultas em geral, emissão de relatórios e inserir alguns dados, por exemplo, incluir novos membros, assistidos, voluntários e etc. Já o perfil administrador teria acesso total ao sistema, porém esse controle não foi desenvolvido, ficando para trabalhos futuros. Além do controle de perfil citado acima, outra funcionalidade que pode ser implementada é a de preenchimento do mapa financeiro citado no capítulo 1, item 1.4 Controles da SSVP e fazer um ajuste no controle de inclusão dos assistidos, pois atualmente esse controle é feito verificando o endereço digitado e se já existir um endereço igual cadastrado o sistema emite uma mensagem de erro e não deixa que seja inserido o novo assistido, mas da forma que é feita essa verificação atualmente é falha, pois se for digitado o mesmo endereço, mas abreviando uma das palavras, o assistido será inserido normalmente, para resolver esse problema, poderá ser criada uma tabela de logradouro e cadastrar todos os endereços ou por meio do cep 63 informado, fazer uma consulta no site dos Correios e recuperar o endereço correto, evitando que a falha citada anteriormente ocorra. Ainda em trabalhos futuros, poderá criar filtros nos relatórios, evitando que todos os dados cadastrados na tabela consultada seja carregada, melhorando a performance e gerando o relatório apenas com as informações que o usuário realmente precisa e também inserir a condição de verificar o CPF do vicentino e do voluntário para evitar duplicidade de dados no banco de dados. Dessa forma, comprova-se que desenvolver um sistema web apresenta dificuldades e exige dedicação e empenho dos desenvolvedores em termos de documentação e códigos para programação e implementação de tecnologias. Enfim, conclui-se que o trabalho atingiu seu objetivo principal e se for implantado no Conselho Central de Lins poderá diminuir os problemas encontrados hoje com a falta de informações das unidades vicentinas vinculadas a ele. 64 REFERÊNCIAS BIBLIOGRÁFICAS ALGAWORKS. DWJSF - Desenvolvimento Web com JavaServe Faces. 2010, 204p. Apostila do Curso de JavaServer Faces. Algaworks Softwares e Terinamentos. CAELUM. Lab. Java com Testes, JSF, Web Services e Design Patterns. 2012, 188p. Apostila do Curso FJ-22. Caelum Ensino e Inovação. CNB - SOCIEDADE SÃO VICENTE DE PAULO. Regra da Sociedade São Vicente de Paulo. 30. ed. Rio de Janeiro: CNB - SSVP, 2007. FAVAN, J. R. Revista da Fatec Botucatu. Fatec Botucatu, 2009. Disponível em: <http://www.fatecbt.edu.br> Acesso em 06 mai. 2012. GOMES, Y. M. Java na Web com Jsf, Spring, Hibernate e Netbeans 6. Rio de Janeiro: Ciência Moderna Ltda, 2008. GONÇALVES, E. Desenvolvendo Aplicações Web com JSP, Servlets, JavaServer Faces, Hibernate, EJB 3 Persistence e Ajax. 1. ed. Rio de Janeiro: Ciência Moderna, 2007. GONÇALVES, E. Desenvolvendo Relatórios Jasperreposrts com Ireposrts. 1. ed. Rio de Janeiro: Ciência Moderna, 2008. KAPELONIS, K. PrimeFaces 3.x: JSF2, melhorias em Ajax, iOS/Android e suporte a IE9. Tradução Rafael Sakurai. InfoQ Brasil, 22 fev. 2012. Disponível em: <http://www.infoq.com/br/news/2012/02/primefaces-3-1> Acesso em: 15 nov. 2013. KING, G. et al. HIBERNATE – Persistência Relacional para Java Idiomático. HIBERNATE mmunity Documentation, 15 set. 2010. Disponível em: <http://docs.jboss.org/hibernate/core/3.5/reference/pt-BR/html/> Acesso em: 20 set. 2013. LUCKOW, D. H.; DE MELO, A. A. Programação Java para a Web. 1. ed. São Paulo: Novatec Editora Ltda, 2010. MAHMOUD, Q. H. Oracle Technology Network. Oracle. mar. 2003. Disponível em: <http://www.oracle.com/technetwork/articles/javase/servlets-jsp-140445.html> Acesso em: 25 mai. 2012. MANZANO, J. A. Oracle Database 10g Express Edition - Interativo. São Paulo: 65 Érica Ltda, 2007. PRIMEFACES. PrimeFaces Ultimate JSF Component Suite. PrimeFaces, 2013. Disponível em: <http://www.primefaces.org/> Acesso em: 15 ago. 2013. SSVP. Sociedade São Vicente de Paulo. <http://ssvpbrasil.org.br> Acesso em: 19 abr. 2012. 2012. TOMCAT. Apache Software Foundation. 2012. <http://tomcat.apache.org> Acesso em 25 de Maio de 2012. Disponível Disponível em: em: