UNIÃO EDUCACIONAL MINAS GERAIS S/C LTDA FACULDADE DE CIÊNCIAS APLICADAS DE MINAS Autorizada pela Portaria no 577/2000 – MEC, de 03/05/2000 BACHARELADO EM SISTEMAS DE INFORMAÇÃO CONTROLE DE PORTARIA ANGELA PATRICIA ALVES R. MOURA Uberlândia 2005 ANGELA PATRICIA ALVES R. MOURA CONTROLE DE PORTARIA Trabalho de Final de curso submetido à UNIMINAS como parte dos requisitos para a obtenção do grau de Bacharel em Sistemas de Informação. Orientador: Prof. Márcio dos Reis Caetano Co-Orientador: Prof. Msc. Sílvio Bacalá Júnior UBERLÂNDIA - MG 2005 ANGELA PATRICIA ALVES R. MOURA CONTROLE DE PORTARIA Trabalho de Final de curso submetido à UNIMINAS como parte dos requisitos para a obtenção do grau de Bacharel em Sistemas de Informação. Orientador: Prof. Márcio dos Reis Caetano Co-Orientador: Prof. Msc. Sílvio Bacalá Júnior Banca Examinadora: Uberlândia, 02 de julho de 2005. Prof. Márcio dos Reis Caetano (Orientador) Prof. Msc. Sílvio Bacalá Júnior (Co-Orientador) Prof. Dra. Kátia Lopes Silva UBERLÂNDIA - MG 2005 AGRADECIMENTOS Agradeço em primeiro lugar à Deus, que me deu a dádiva da vida e a força para trilhar nesta longa caminhada e concluir mais esta etapa, a meus filhos Eduardo Augusto, Raphael Augusto, pela ausência de grande parte do tempo em busca de um futuro melhor para nossa família, a meu companheiro de todas as horas, Carlos Augusto pela compreensão e incentivo, minha mãe Maria Ozanete pelo esforço e ajuda quando mais precisei, a meu pai João Bosco pelo sonho de ver sua filha formada. Agradeço especialmente ao Professor Mestre Sílvio Bacalá Júnior que com muita dedicação contribuiu em minha formação pessoal e profissional e a Professora Marília Rodrigues pela revisão ortográfica deste trabalho. RESUMO Este trabalho pretende contribuir com controle de acesso à visitantes do DMAE Departamento Municipal de Água e Esgoto de maneira segura, com confiabilidade de disponibilidade do servidor ou serviço. O controle de acesso refere-se às atividades de recepção, verificação do documento, autorização, circulação e permanência de pessoas nas instalações da empresa. Através de pesquisas e estudo foi desenvolvido o sistema CP – Controle de Portaria, cadastrando os visitantes, permitindo o registro da chegada/saída, bem como setor e/ou departamento comparecido e número do crachá. Provê relatórios conforme a data pré-estabelecida ou acesso diário visualizado em tela, contendo as informações necessárias efetuados, além de identificar o tempo de permanência da pessoa dentro da área e a quantidade de visitantes por dia. Possibilita o uso em rede, com restrições impostas através de senhas. ABSTRACT This work intends to contribute with control of access to the visitors of the DMAE Municipal Department of Water and Sewer in safe way, with availability trustworthiness serving it or service. The access control mentions the activities to it of reception, verification of the document, authorization, circulation and permanence of people in the installations of the company. Through research and study system CP was developed - Control of Would carry, registering in cadastre the visitors, allowing the chegada/saída register of, as well as sector and/or the appeared department and number of the indentification badge. To provide reports in agreement the daily payestablished date or visualized daily access in screen, I contend the effected necessary information, besides inside identifying to the time of permanence of the person of the area and the amount of visitors per day. It makes possible the use in net, with restrictions imposed through passwords. LISTA DE FIGURAS 01. NOTAÇÃO DE DIAGRAMA DE CASO DE USO..................................................18 02. DIAGRAMA DE CASOS DE USO PARA O SISTEMA CP...................................20 03. FORMULÁRIO EFETUAR LOGIN........................................................................22 04. ACESSAR FORMULÁRIO PRINCIPAL...............................................................23 05. CADASTRAR VISITANTES.................................................................................24 06. CONSULTAR NOME/NÚMERO DOCUMENTO..................................................25 07. ATUALIZAR INFORMAÇÕES..............................................................................26 08. ALTERAR INFORMAÇÕES.................................................................................27 09. CRIAR NOVO MOVIMENTO...............................................................................28 10. ATUALIZAR SAÍDA..............................................................................................29 11. GERAR RELATÓRIO...........................................................................................30 12. IMPRIMIR RELATÓRIO.......................................................................................31 13. FORNECER INFORMAÇÕES SOBRE O CP......................................................32 14. ESCOLHER OPÇÃO DE SAÍDA..........................................................................33 15. DIAGRAMA DE ENTIDADE-RELACIONAMENTO..............................................36 16. CÓDIGO DO MÓDULO........................................................................................39 17. CONEXÃO COM BANCO DE DADOS.................................................................40 18. FORMULÁRIO PRINCIPAL..................................................................................41 19. REGISTRO DE VISITANTES...............................................................................42 20. CONSULTA..........................................................................................................43 21. CONSULTA POR NOME.....................................................................................44 22. CONSULTA POR NÚMERO DE DOCUMENTO.................................................45 23. ATUALIZAR SAÍDA..............................................................................................46 24. RELATÓRIO.........................................................................................................47 25. IMPRESSÃO........................................................................................................48 26. CONTROLE DE PORTARIA................................................................................49 27. CAIXA DE SAÍDA.................................................................................................50 28. ANEXO A .............................................................................................................56 29. ANEXO B..............................................................................................................57 LISTA DE ABREVIATURAS E SÍMBOLOS 01. ACIUB – ASSOCIAÇÃO COMERCIAL INDUSTRIAL DE UBERLÂNDIA 02. DMAE – DEPARTAMENTO MUNICIPAL DE ÁGUA E ESGOTO 03. CP – CONTROLE DE PORTARIA 04. ODBC – OPEN DATABASE CONECTIVITY 05. T.I. – TECNOLOGIA DA INFORMAÇÃO 06. CPD – CENTRO DE PROCESSAMENTO DE DADOS 07. UML - UNIFIED MODELING LANGUAGE (LINGUAGEM DE MODELAGEM UNIFICADA) 08. B.D. – BANCO DE DADOS 09. FK – FOREIGN KEY (CHAVE ESTRANGEIRA) 10. PK – PRIMARY KEY (CHAVE PRIMÁRIA) SUMÁRIO 1. INTRODUÇÃO ...................................................................................................................................11 1.1 HISTÓRIA DO DMAE .......................................................................................................................11 1.2 MOTIVAÇÃO.................................................................................................................................. 12 2. ESPECIFICAÇÃO DO PROBLEMA...................................................................................................14 3. ESPECIFICAÇÃO E ANÁLISE DOS REQUISITOS DO SISTEMA CP............. ................................16 3.1 TIPOS DE PROCESSO DO SOFTWARE ...............................................................................................16 3.2 MODELAGEM DOS REQUISITOS ........................................................................................................17 3.3 ANALISANDO OS REQUISITOS ..........................................................................................................21 3.4 MODELAGEM DOS DADOS ...............................................................................................................34 4.CONSTRUÇÃO DA INTERFÁCE GRÁFICA ......................................................................................38 4.1 CONSIDERAÇÕES INICIAIS ...............................................................................................................38 4.2 PROTOTIPAÇÃO DAS TELAS DO CP..................................................................................................40 5. CONCLUSÃO.....................................................................................................................................51 REFERÊNCIAS BIBLIOGRÁFICAS.......................................................................................................54 ANEXO A - MODELO DE CONTROLE DE PORTARIA EXECUTADO NO EXCEL .............................56 ANEXO B - MODELO DE CONTROLE DE PORTARIA EXECUTADO NO EXCEL.............................57 11 1. INTRODUÇÃO 1.1. História do DMAE A pedido da ACIUB – ASSOCIAÇÃO COMERCIAL INDUSTRIAL DE UBERLÂNDIA, o ex-prefeito Renato de Freitas, convidou José Pereira Espíndola para ser secretário de Obras, com o objetivo de realizar os sonhos dos uberlandenses de captar água do Rio Uberabinha e de viabilizar a implantação da cidade industrial. Em vinte e três de novembro de 1967, foi criado o DMAE – DEPARTAMENTO MUNICIPAL DE ÁGUA E ESGOTO, pretendendo ser um órgão independente para conseguir empréstimos ou receber repasse de verbas federais ou estaduais. Em 1968 foram iniciadas as obras de captação do Rio Uberabinha por administração direta e com recursos da Prefeitura. O DMAE começou pela construção da barragem e do canal que desviou o Rio para o acionamento das turbinas e ao mesmo tempo pela fabricação das máquinas para confecção de tubos. Em seguida foi iniciada as obras da estação de tratamento de água. Aplicando soluções econômicas, fabricando os tubos, os equipamentos hidráulicos e turbinas em Uberlândia, foi possível inaugurar o sistema de captação e tratamento de água da Cachoeira da Sucupira em agosto de 1970, sem nenhuma ajuda externa. A conquista deste evento foi o marco de desenvolvimento do setor industrial e imobiliário. Hoje os Uberlandesens podem se orgulhar por contar com um dos maiores importantes parques industriais do Brasil.(Fonte: Dmae – A história do Abastecimento de Água de Uberlândia – Agosto de 1993). O DMAE é um órgão público que atende em média setenta pessoas por dia, sendo necessário controlar a entrada de visitantes as dependências internas. A área de T.I.(Tecnologia da Informação) do DMAE, antigo CPD(Centro de Processamento de Dados), é responsável pela elaboração de estudos, pesquisas e implementações de novas tecnologias, bem como a manutenção diária de software e hardware. Dando toda a estrutura de suporte e apoio ao usuário final. 12 1.2. Motivação O DMAE possui um controle de portaria precário e desatualizado. A atendente insere os dados dos visitantes à empresa em planilhas no Microsoft Excel. São fornecidos os dados básicos, além da hora de entrada e saída. Observe no Anexo A e B o controle de portaria executado no Excel. O sistema CP - Controle de Portaria é um protótipo desenvolvido para melhorar a segurança e controle sobre os visitantes no DMAE e implementado utilizando a plataforma Visual Studio 6.0, Banco de Dados SQL Server 7.0 e ODBC (Open Database Conectivity) 32 bits. O CP é projetado para portar uma interface de fácil utilização e, consequentemente, satisfazer às necessidades do usuário. O CP desenvolvido na T.I. tem por objetivo maior controlar o fluxo de entrada e saída de visitantes que freqüentam estas dependências. Além deste controle, o sistema também irá informar quem são essas pessoas, onde moram, número do documento de identidade e quem ou qual departamento irá recebê-los. O sistema ainda irá registrar um número o qual o visitante portará em um crachá. Este projeto não visa diminuir o número de visitas, mas sim identificar cada uma delas e também preservar este patrimônio que é de todos moradores da cidade de Uberlândia. Todos os visitantes que chegarem à portaria serão encaminhados por uma pessoa responsável ao local competente pelo atendimento após serem devidamente cadastrados no sistema. Será fornecido um cartão (crachá) e anotado o número do documento no sistema, além da data, hora da chegada e saída do mesmo ao término da visita. Esses dados serão gravados em um banco de dados para eventuais consultas e relatórios estatísticos. Desta maneira, este trabalho propõe-se a especificar o CP - Controle de Portaria, implementado com as principais funcionalidades especificadas. A idéia básica do protótipo é permitir que seja definido um processo de controle de visitantes projetado e documentado utilizando a linguagem UML(Unified Modeling Language) para ilustrar os processos em ação. Basicamente, a UML permite a visualização do produto em diagramas padronizados. Esse trabalho está estruturado da seguinte maneira: 13 • No Capítulo 2 introduzem-se alguns dos conceitos essenciais para definição de problemas diagnosticados; • O Capítulo 3 abrange a especificação e a análise dos requisitos dos componentes é apresentada; • No Capítulo 4 descreve-se a interface, o seu modo de funcionamento e a tecnologia utilizada no desenvolvimento; • No Capítulo 5 são realizadas as conclusões deste trabalho. 14 2.ESPECIFICAÇÃO DO PROBLEMA A abordagem dos problemas que são tratados pelo aplicativo, focando as resoluções, testes e verificações do sistema CP, serão descritos e visualizados às várias etapas de aperfeiçoamento do aplicativo até a sua efetiva consolidação e utilização. O CP é um sistema de controle de acesso de visitantes, prestadores de serviços, etc., que possibilita identificar e permitir que apenas os cadastrados tenham acesso às dependências do DMAE. É uma ferramenta voltada à segurança patrimonial com propósito de registrar e gerenciar visitantes. Este sistema irá gravar um histórico de todos os visitantes com o seguinte propósito: *Permitir cadastrar todos os dados básicos dos visitantes com possibilidade também de recuperá-los quando for necessário; *Realizar um eficiente controle de horário e disponibilização de crachá permitindo ao usuário o controle de visitas prolongadas/extensas com a pendência da atualização do visitante registrado; *Controlar os contatos por setor; *Fornecer relatórios com disponibilidade de escolha por data escolhida. O sistema CP encontra-se dividido em módulos que manterão um conjunto de informações sobre os visitantes. Os módulos possibilitarão cadastrar e manter estas informações atualizadas, registrando todas as alterações ocorridas e listando um histórico desses dados. Módulos: * Cadastro de visitantes; * Controle das visitas: usuário cadastra destino, hora de chegada, hora de saída e data; * Consultas: rotina que possibilita consultar os visitantes inseridos no banco de dados por nome ou número de documento; * Atualização dos dados para registro da hora de saída; 15 * Comando para criar novo movimento e salvar os dados da movimentação da visita com nova data, hora de chegada, número do crachá, setor e observação; * Alteração de dados do visitante como, por exemplo, mudança de endereço; * Central de relatório: busca/pesquisa por data e quantidade de visitantes por dia; * Informações sobre o sistema CP e suas restrições à acesso; * Escolher opção para saída do sistema CP com alternativa de encerramento ou retorno ao formulário principal; 16 3. ESPECIFICAÇÃO E ANÁLISE DOS REQUISITOS DO SISTEMA CP O desenvolvimento de sistemas de software de grande porte são suportados por métodos de análise e projeto que modelam esse sistema de modo a fornecer para toda a equipe envolvida (cliente, analista, programador, etc.) uma compreensão única do projeto. A UML - Unified Modeling Language é uma linguagem para especificação, documentação, visualização e desenvolvimento de sistemas. Sintetiza os principais métodos existentes, sendo considerada uma das linguagens mais expressivas para modelagem de sistemas orientados a objetos. Por meio de seus diagramas é possível representar sistemas de softwares sob diversas perspectivas de visualização. A linguagem de modelagem facilita a comunicação de todas as pessoas envolvidas no processo de desenvolvimento de um sistema como gerentes, coordenadores, analistas e desenvolvedores por apresentar um vocabulário de fácil entendimento. Com a UML podemos fazer uma modelagem visual de maneira que os relacionamentos entre os componentes do sistema sejam melhor visualizados, compreendidos e documentados. 3.1. Tipos de Processo de Software Segundo (PRESSMAN, 2001), existem vários modelos de processos de software. Os mais conhecidos são: Clássico ou Cascata: é um modelo que requer uma abordagem sistemática, seqüencial ao desenvolvimento do software, que se inicia no nível do sistema e avança ao longo da análise, projeto, codificação, teste e manutenção. Prototipação e incremental: é o desenvolvimento de um modelo vindo do sistema o qual enfatiza a interface com o usuário. É construído para experimentação, para 17 se obter requisitos dos usuários e para se obter uma confirmação sobre os mesmos. Os tipos de prototipação são: Prototipação transitória: utilizada como uma maneira de se obter informações e apresentar essas informações ao usuário. Após o sistema estar aceito em termos de informações, o protótipo é deixado de lado. Prototipação de demonstração: parte do sistema pode ser apresentada aos gerentes e patrocinadores do projeto para aprovação. Protótipo de Pesquisa: parte do sistema pode ser utilizada como maneira de testar a especialidade do domínio, com o objetivo de verificar se todos os conceitos e relacionamentos estão adequados. Este domínio é adquirido do usuário. Protótipo de interface: parte do sistema pode ser utilizada para testar se a interface está adequada. Por exemplo: soluções dadas e suas respectivas explicações. Prototipação evolutiva: utilizada como uma maneira de se obter informações e apresentar essas informações ao usuário. O protótipo vai sendo melhorado até atingir o objetivo final, ou seja, até que o mesmo atinja o sistema. Espiral ou Iterativo: é um processo que abrange as melhores características tanto do modelo Clássico como da Prototipação, acrescentando ao mesmo tempo, um novo elemento: a análise dos riscos que falta nesses outros paradigmas. Para o desenvolvimento deste trabalho foi usado o processo Espiral ou Iterativo por envolver todos os requisitos necessários para facilitar a implementação de um software. 3.2. Modelagem dos Requisitos Associada à técnica de caso de uso está é uma prática fortemente utilizada e bastante importante na captura dos requisitos de um futuro produto de software. A interface com o usuário é a porta de entrada da aplicação, e desempenha um papel fundamental no nível de produtividade. Durante o processo de prototipação, os usuários têm um alto grau de envolvimento nos projetos já que algumas vezes modificações consideradas triviais podem fazer toda a diferença para o usuário em seu dia-a-dia. 18 A técnica de caso de uso serve para identificar, organizar e manter os requisitos alocados ao software. Em vez de uma simples lista de requisitos, a utilização do caso de uso permite documentar a forma como os usuários utilizam o sistema. Isto possibilita a especificação de requisitos de maneira extremamente completa e consistente além de viabilizar o entendimento da importância de um determinado requisito sob a perspectiva do usuário final. Compreender como o sistema opera efetivamente do ponto de vista do usuário final, é uma dificuldade inerente ao desenvolvimento. É necessária uma documentação que oriente e mostre como as peças se encaixam e os casos de uso realizam este papel e são utilizados para orientar todo o ciclo de desenvolvimento de software. Diagrama de Caso de Uso: É um diagrama usado para se identificar como o sistema se comporta em várias situações que podem ocorrer durante sua operação. Descreve o sistema, seu ambiente e a relação entre os dois. Os componentes deste diagrama são os atores e os “Casos de Uso”. A notação usada pelo Diagrama de Caso de Uso é: Caso de Uso Ator FIGURA 1 – NOTAÇÃO DE DIAGRAMA DE CASO DE USO Ator: Representa qualquer entidade que interage com o sistema. Pode ser uma usuário, outro sistema, etc. Algumas de suas características são descritas abaixo: • ator não é parte do sistema. Representa os papéis que o usuário do sistema pode desempenhar. • ator pode interagir ativamente com o sistema. • ator pode ser um receptor passivo de informação. • ator pode representar um ser humano, uma máquina ou outro sistema. 19 Caso de Uso: Como foi exemplificado acima, é uma seqüência de ações que o sistema executa e produz um resultado de valor para o ator. Algumas de suas características são descritas abaixo: • Modela o diálogo entre atores e o sistema. • É iniciado por um ator para invocar uma certa funcionalidade do sistema. • Um Caso de Uso é fluxo de eventos completo e consistente. • O conjunto de todos os Casos de uso representa todos as situações possíveis de utilização do sistema. Documentação de um Caso de Uso: Como apresentado acima, a documentação de um Caso de Uso é composta de uma Descrição textual resumida e dos Fluxos de eventos (Fluxo principal, secundário, alternativos e de exceção). Tipos de cenários: Primários: São os cenários nos quais o fluxo segue normalmente. Não há quebra no fluxo por alguma espécie de erro. Secundários: São os casos que compõem exceção. O fluxo normal de operação é interrompido. A partir do diagrama de casos de uso preliminar muitas vezes temos que definir casos de usos adicionais separadamente pois as operações se encontram duplicadas em outros casos de uso ou são complexas e longas e a separação nos ajuda a compreendê-las. Um relacionamento de herança mostra como um caso de uso herda de outro caso de uso onde a extensão pode ser acrescentar o comportamento da classe extendida. Os relacionamentos possíveis são: Inclusão - Se um caso de uso inicia ou inclui o comportamento de outro, dizemos que ele usa o outro. O relacionamento de inclusão em UML é ilustrado com uma linha de generalização com o rótulo <<include>>. As propriedades básicas da inclusão são: • reduzir a complexidade de um caso de uso; • realizar um decomposição funcional; • O caso de uso básico não pode executar sem a inclusão; • Comportamento comum. 20 2. Extensão - Define pontos de extensão (exceção) que adicionam comportamento a um caso de uso base descrevendo uma variação do comportamento normal. O caso de uso base pode ser executado mesmo sem a extensão. O relacionamento de extensão em UML é ilustrado com uma linha de generalização com o rótulo <<extend>>. Ex: O caso de uso Atualizar Informações pode apresentar a extensão Alterar Informações. 3. Generalização - Indica um caso de base que possui diferentes especializações e inclui comportamento ou sobrescreve o caso de uso base. A seguir é apresentado o diagrama de casos de usos do sistema CP, abrangendo suas funcionalidades. FIGURA 2 – DIAGRAMA DE CASOS DE USO PARA O SISTEMA CP 21 Caso de Uso 1 – Efetuar Login, (loga o sistema) é executado. Caso de Uso 2 – Acessar Formulário Principal, (apresenta a tela principal com opções de menu) é executado. Caso de Uso 3 - Cadastrar Visitantes, (o usuário preenche o formulário de cadastro do visitante) é executado. Caso de Uso 4 - Consultar nome/número documento, (é executado a pesquisa do nome/número documento do visitante) é executado. Caso de Uso 5 - Atualizar informações, (os dados do visitante é recuperado e visualizado na tela) é executado. Caso de Uso 6 - Alterar informações, (modifica as informações do visitante) é executado. Caso de Uso 7 - Criar Novos Movimentos, (insere novos movimentos de visita como: hora de entrada, data movimento, número do crachá, destino e observação ) é executado. Caso de Uso 8 - Atualizar Saída, (atualiza a hora de saída do visitante) é executado. Caso de Uso 9 - Gerar Relatórios, (os relatórios são gerados conforme data escolhida) é executado. Caso de Uso 10 – Imprimir Relatórios, (imprime o relatório da data pedida) é executado. Caso de uso 11 – Fornecer Informações Sobre o CP, (fornece informações sobre o sistema) é executado. Caso de uso 12 – Escolher opção de saída, (sai do sistema com opção em caso de sim ou não) o caso de uso é encerrado ou ignorado. 3.3. Analisando os Requisitos Diagrama de seqüência: captura um cenário ou processamento de tarefa específico da aplicação usando uma descrição em pseudo-código (lado esquerdo do diagrama). O lado direito do diagrama apresenta a estrutura de seqüência de mensagens entre os objetos do sistema. É esta comunicação entre os objetos que implementa os casos de uso. 22 1. Efetuar Login: O usuário fornece o login de acesso (usuário e senha). O sistema verifica se o acesso do usuário é válido. Fluxo Primário: 1.1. O usuário solicita conexão com o sistema; 1.2. O sistema apresenta tela de login; 1.3. O usuário informa (usuário e senha); 1.4. O sistema consulta na base de dados; FIGURA 3 – FORMULÁRIO EFETUAR LOGIN 23 2. Acessar o Formulário Principal: É apresentado ao usuário a tela Principal com opções de menu para a escolha de formulários como: cadastrar, gerar relatório, fornecer informações sobre o CP e sair. Fluxo Principal: 2.1. O sistema exibe as opções do menu; 2.2. O usuário seleciona as opções do formulário principal; 2.3. É executado o acesso ao controle para cadastrar, gerar relatórios, fornecer informações sobre o CP e sair do sistema; 24 3. Cadastrar Visitantes: O usuário preenche os campos do formulário com as informações do visitante. Fluxo Principal: 3.1. O usuário solicita ao sistema o formulário cadastro; 3.2. O sistema solicita o número do documento do visitante; 3.3. O usuário fornece o número do documento do visitante; 3.4. O sistema verifica se existe o número do documento fornecido; 3.4.1. Exibi mensagem: “Visitante já cadastrado!”; 3.5. O sistema solicita criar; 3.6. O sistema solicita as informações básicas ao visitante; 3.7. O usuário entra com as informações; 3.8. O sistema inclui o visitante no banco de dados; 3.8.1. Exibe mensagem: “Visitante cadastrado!”. FIGURA 5 – CADASTRAR VISITANTES 25 4. Consultar nome/número documento: Para realizar a pesquisa referente ao visitante é necessário escolher a opção consulta por nome ou por número de documento. Fluxo Primário: 4.1. O usuário solicita consulta ao sistema; 4.2. O sistema solicita a escolha da consulta por nome ou número de documento; 4.3. O usuário digita o nome ou número de documento para pesquisa; 4.4. O sistema recupera os dados na base de dados; 4.5. O sistema exibe os dados na tela; 26 5. Atualizar informações: Para recuperar as informações na base de dados o usuário fornece o número de documento do visitante ao sistema. Fluxo Primário: 5.1. O sistema solicita o número de documento ao visitante; 5.2. O número de documento é fornecido; 5.3. O sistema solicita recuperação dos dados ao banco de dados; 5.4. A base de dados retorna os dados; 5.5. O sistema fornece a recuperação dos dados do visitante; Fluxo Secundário: 5.6. Alterar informações (altera-se os dados uma vez recuperado para criar um novo movimento na base de dados); 5.7. Consultar informações (pesquisa-se os dados antes de recuperá-lo para criar o novo movimento na base de dados); 27 6. Alterar informações: O sistema após a atualização, ou melhor, após ter recuperado e apresentado os dados básicos na tela de interface cadastro, o usuário poderá modificar os dados. Fluxo Primário: 6.1. Usuário altera informações; 6.2. O sistema solicita a alteração dos dados ao banco de dados; 6.3. A base de dados informa a alteração; Fluxo Secundário: 6.4. Atualizar informações (é recuperado os dados do banco de dados); 6.5. Consultar informações (pesquisa-se os dados antes de recuperá-lo para criar o novo movimento na base de dados); 28 7. Criar Novo Movimento: O sistema requer a recuperação dos dados e insere novos movimentos de visita como: hora de entrada, data de movimento, número do crachá, destino e observação. Fluxo Primário: 7.1. O sistema solicita a recuperação dos dados; 7.2. É recuperado os dados e inserido os dados de hora de entrada, data, número do crachá, destino e observação do visitante; 7.3. Usuário solicita inserção dos dados ao banco de dados; 7.4. A base de dados insere os dados no movimento; 7.5. É realizado a confirmação dos dados inseridos; Fluxo Secundário: 7.6. Atualizar informações (é recuperado os dados do banco de dados); 7.7. Alterar informações (altera-se os dados uma vez recuperado para criar um novo movimento na base de dados); 7.8. Consultar informações (pesquisa-se os dados antes de recuperá-lo para criar o novo movimento na base de dados); 29 8. Atualizar saída: O sistema fornece um formulário com todos os movimentos de entrada dos visitantes como: nome, número documento, data da visita, hora da entrada, crachá e requer a atualização da hora de saída. Fluxo Principal: 8.1. O sistema solicita atualizar a hora da saída; 8.2. É selecionado os dados do visitante na navegação (botão) e informado a hora de saída; 8.3. É atualizado os dados no banco de dados; 8.4. Os dados são inseridos no movimento; 8.5. É confirmado a atualização; Fluxo Secundário: 8.6. Criar Novo Movimento (recupera-se os dados do banco de dados para atualizar o horário de saída do visitante); 30 9. Gerar Relatório: É fornecido um calendário ao usuário para consulta segundo a data desejada e é gerado o relatório correspondente. O mesmo também especifica a quantidade de visitantes cadastrados no dia solicitado. Fluxo Principal: 9.1. O usuário solicita gerar relatório; 9.2. O sistema solicita data; 9.3. É fornecido a data; 9.4. O sistema recupera a data; 9.5. É exibido ou imprimido o relatório; 31 10. Imprimir Relatório: O sistema imprime o relatório escolhido conforme a data inicial e data final fornecida pelo usuário, ficando o mesmo disponível no banco de dados para posteriores consultas ou impressão. Fluxo Principal: 10.1. É solicitado impressão; 10.2. É fornecido a data inicial e final; 10.3. O sistema recupera os dados no banco de dados; 10.4. Imprime-se o relatório; Fluxo Secundário: 10.5. Gerar Relatório (recupera-se os dados para a impressão); 32 11. Fornecer Informações Sobre CP: O usuário poderá verificar informações sobre o sistema Controle de Portaria como: informações sobre o produto de exclusividade do DMAE, nome do desenvolvedor e o e-mail do desenvolvedor em caso de solicitação do mesmo. Fluxo Principal: 11.1. É requerido informações sobre o sistema CP; 11.2. É fornecido; 33 12. Escolher Opção de Saída: Caso o usuário deseje encerrar o sistema é apresentado uma caixa de saída com a mensagem de confirmação ou a não confirmação do encerramento da utilização do sistema. Fluxo Principal: 12.1. Solicita-se sair do sistema; 12.2. O sistema fornece mensagem de confirmação (sim/não); 12.3. Sim, fecha o programa; 12.3.1. Não, continua na tela; 34 Descrição dos Fluxos Secundários para cada Caso de Uso: O usuário fornece (usuário e senha) de acesso inválido: Será exibido uma mensagem do sistema de: “Login e usuário falho” e “Erro ao acessar o BD!” O usuário fornece um número de documento inválido: O usuário pode fornecer um número de documento inválido ou que não consta cadastrado no banco de dados. O usuário não satisfaz todos os requisitos necessários: O usuário é informado que falta algum campo para ser preenchido. O sistema segue adiante. A data escolhida não pode ser imprimida: A data escolhida pelo usuário poderá ser inválido se a mesma coincidir com a data de sábado, domingo, feriado ou recesso. É informado de que o pedido de impressão deve ser repetido por data inválida. O sistema segue a diante. O sistema não pode recuperar as informações de consulta: Caso o usuário forneça dados incoerentes e deverá reiniciar o fluxo para nova consulta. O sistema informa que os dados não podem ser alterados: O usuário é limitado a certas alterações, devendo o mesmo solicitar alteração ao responsável pelo Banco de Dados (servidor). 3.4. Modelagem dos Dados O modelo Entidade-Relacionamento pode ser expresso por um diagrama, o qual, varia na forma de representar as entidades, os atributos e os relacionamentos, como a nomenclatura para identificá-los dependendo da ferramenta ou do livro de pesquisa (LIMA, 1999). O objetivo é descrever o modelo físico do banco de dados, identificando as entidades (tabelas) e seus atributos (campos), otimizando a estrutura de dados e criando o banco de dados. Definição de Entidade: Representa uma entidade que pode ser física, conceitual ou de software. É uma abstração de algo que possui fronteira definida e significado para a aplicação. Toda a informação de um banco de dados relacional é armazenada em tabelas, que na linguagem do modelo relacional, também são chamadas de 35 Entidades. Por exemplo, Tabela “Visitante”, onde serão armazenadas as informações sobre os diversos visitantes. Essas diversas características de cada Visitante são os “Atributos” da entidade Visitante, também chamados de campos da Tabela Visitante. O conjunto de todos os atributos de um cliente os valores dos atributos é o que forma o Registro do Visitante. Com isso temos uma tabela que é constituída por um conjunto de Registros (uma linha completa completa com informações sobre o visitante) e cada Registro formado por um conjunto de atributos (Nome, Endereço, etc). Entidade ou Tabela é um conjunto de Registros e Campos ou Atributos referese as características individuais da tabela. Identificação da Construção Entidade-Relacionamento correspondente a cada Tabela: Para cada tabela define-se qual a construção correspondente ao nível de modelo Entidade- Relacionamento. Assim, uma tabela pode corresponder a uma entidade, um relacionamento n:n, ou uma entidade especializada. Verifica-se que o fator determinante da construção Entidade-Relacionamento que corresponde a uma tabela é a composição de sua chave primária. Conforme o tipo de chave classifica-se as tabelas: Chave primária composta por mais de uma chave estrangeira: A tabela que possui uma chave primária de múltiplas chaves estrangeiras implementa um relacionamento n:n; Toda a chave primária é uma chave estrangeira: A tabela cuja chave primária é toda ela estrangeira representa uma entidade que forma uma especialização da entidade correspondente à tabela referenciada pela chave estrangeira; Demais casos: Quando a chave não for do tipo mencionado nos itens acima, a tabela representa uma entidade. Identificação de relacionamentos 1:n ou 1:1: Toda a chave estrangeira que não faz parte de uma chave primária composta por múltiplas chaves estrangeiras, nem é toda ela uma chave primária, representa um relacionamento 1:n ou 1:1. Para identificar o tipo de cardinalidade é necessário verificar o possível conteúdo do banco de dados. 36 FIGURA 15 – DIAGRAMA DE ENTIDADE-RELACIONAMENTO A Figura 15 é um dos diagramas de entidade-relacionamento para o sistema. O relacionamento é a capacidade de ligação ou comunicação entre as entidades. Sem relacionamento não haveria as entidades lógicas de um modelo que precisam se relacionar – é uma característica básica do modelo relacional. A chave estrangeira é um atributo que migra por meio de um relacionamento entre uma entidade-mãe e uma entidade-filha. Ela não é um atributo original da entidade-filha, mas da entidade-mãe, na qual aparece como chave primária. No modelo Entidade-Relacionamento, é representado pelas siglas FK(de Foreign Key – chave estrangeira) e PK(de Primary Key – chave primária). Toda a chave primária é uma chave estrangeira. A tabela cuja chave primária é toda ela estrangeira representa uma entidade que forma uma especialização da entidade correspondente à tabela referenciada pela chave estrangeira. (FOWLER, 2000). Ao definirmos um campo como sendo uma Chave Primária, informamos ao banco de dados que não podem existir dois registros com o mesmo valor no campo que é a Chave Primária, ou seja, os valores no campo Chave Primária precisam ser únicos. O “número de documento” da tabela Visitante, como sendo um campo de tipo 37 Chave Primária, não podem ser cadastrados dois visitantes com o mesmo valor no campo “número de documento”. Na prática garante que não possam ser cadastrados dois visitantes com o mesmo número de documento. Em outras palavras poderíamos dizer que o campo Chave Primária identifica de maneira única cada Registro de uma Tabela, isto é, de posse do valor da Chave Primária somente localizaremos um registro com aquele valor no campo Chave Primária. 38 4. CONSTRUÇÃO DA INTERFACE GRÁFICA 4.1. Considerações Iniciais A preocupação com a interface dos sistemas informatizados justifica-se pela sua importância e sua complexidade. Para o usuário, a interface é o sistema, portanto uma interface mal projetada pode sacrificar todas as funcionalidades de um sistema. Faz-se, necessário, então, a inclusão de formulários que permitam o gerenciamento da interface com o usuário no ciclo de desenvolvimento de software acompanhando todo o processo de concepção das mesmas e que permitam a sua avaliação. A inclusão desses formulários tem como objetivo produzir interfaces consistentes, aumentar e assegurar a qualidade e verificar a eficiência e eficácia da arquitetura produzida. O sistema C.P. foi implementado com Visual Basic, que consiste em uma linguagem de programação orientada a eventos. Isto significa que todas as ações que ocorrem durante a execução do programa são estruturadas nos eventos dos objetos dispostos nas interfaces. Por exemplo: se existir um Botão chamado Botão1, e o usuário clicar sobre ele, será acionado o evento Botão1.Click do Botão1. Caso seja dado um duplo clique, será acionado o evento Botão1.DblClick do Botão1. O Visual Basic é considerado por muitos como uma revolução no mundo da informática, devido à sua versatilidade e relativa facilidade de aprendizado comparado a outras linguagens. Embora as aplicações de Visual Basic possam ser mais amigáveis para o usuário final, são mais trabalhosas para serem construídas do ponto de vista de sua interface gráfica. Isto deve-se ao fato de que todas as opções possíveis no programa devem ser pensadas e codificadas pelo programador, o que não acontecia com linguagens anteriores. Em síntese, quanto mais o detalhado e fácil de se usar o programa for, mais trabalhoso será o seu processo de codificação. Uma coisa é imprescindível para que um programa em Visual Basic funcione: a presença de um form. Um form nada mais é do que a janela onde programa será exibido. O programador pode acrescentar códigos escritos para determinados eventos do form (como Click, por exemplo, que é executado cada vez que o form é carregado e o usuário clicar uma vez no botão “Conectar” do formulário login). 39 Um programa em Visual Basic consiste basicamente em código escrito e na configuração das propriedades dos objetos e dos eventos. Para modificar as propriedades de um objeto, clica-se nele e depois pressiona-se F4, o que resultará na exibição da Janela de Propriedades. Para adicionar um código escrito a determinado evento de um objeto, clica-se duas vezes neste. Será exibida uma janela apropriada para a inserção de instruções via teclado. O código será adicionado em uma SUB, que poderá ser acessada a qualquer momento pelo mesmo procedimento. É importante ressaltar que as variáveis usadas em um form, se não declaradas da forma correta, serão excluídas de eventos exteriores ao form ou objeto no qual ela está sendo usada. Em outras palavras, uma variável criada em um form deve ser declarada como Global para ser compartilhada entre outros forms e Subs do programa. Essas declarações são feitas na SUB General do form, ou em um módulo adicional que pode ser adicionado ao programa. Neste caso, o módulo seria um arquivo .BAS, onde são declaradas variáveis e constantes, por exemplo. FIGURA 16 – CÓDIGO DO MÓDULO Depois de estabelecer um objetivo claro para o programa, é importante que se reflita sobre qual será a sua aparência e como ele irá processar informações. O conjunto completo de telas e imagens usado em um programa é denominado 40 interface de usuário do programa. Essa interface inclui todos os menus, caixas de diálogo, botões, objetos e figuras que os usuários vêem enquanto operam os aplicativos. 4.2. Prototipação das Telas do CP: FIGURA 17 – CONEXÃO COM BANCO DE DADOS O módulo Conexão com banco de dados permite logar ao sistema CP sendo necessário o preenchimento correto do usuário e senha. Caso o usuário ou a senha sejam digitados incorretamente aparece a mensagem: “Login e usuário falho” e “Erro ao acessar o BD!” 41 Tela do Formulário Principal FIGURA 18 – FORMULÁRIO PRINCIPAL Ao logar, é fornecido a tela de formulário principal, a qual apresenta as opções de menu Visitante, Relatório, Sobre e Sair do sistema, proporcionando a escolha da realização de atividades relevantes pertencentes ao C.P.. 42 Tela de Registro de Visitantes FIGURA 19 – REGISTRO DE VISITANTES Nesta tela de registro de visitantes é realizado o cadastro de dados básicos para identificação e acesso a empresa. É possível alterar as informações, consultar, atualizar, recuperando os dados na tela para criar um novo movimento com hora de entrada, data movimento, número do crachá, destino e observação do visitante já cadastrado em visita anterior. Na parte de movimento encontra-se também o botão de atualizar saída. 43 Tela de Consulta FIGURA 20 - CONSULTA Ao acionar o botão Consulta da tela de registro de visitantes, é fornecido uma nova tela para escolha da pesquisa com as opções por nome do visitante ou pelo número de documento. 44 Tela de Consulta por Nome FIGURA 21 – CONSULTA POR NOME Para a opção de consulta pelo nome do visitante é fornecido a tela de pesquisa em que o usuário digita a primeira letra seguida da porcentagem %, a qual corresponde ao restante do nome do visitante, ou digita-se o nome completo do visitante correspondente a pesquisa. 45 Tela Consulta por Número de Documento FIGURA 22 - CONSULTA POR NÚMERO DE DOCUMENTO Para a opção de consulta pelo número de documento do visitante é fornecido a tela de pesquisa em que o usuário digita o primeiro caracter correspondente ao documento seguido da porcentagem %, a qual corresponde ao restante dos caracteres do número de documento do visitante. 46 Tela Atualizar Saída FIGURA 23 – ATUALIZAR SAÍDA Para atualizar a saída do visitante é fornecido os dados pendentes, constando que o visitante ainda se encontra no interior da empresa, pois não foi dado baixa na saída do mesmo, e para isto é necessário a devolução do crachá. Clica-se no campo hora da saída atualizando as informações pertinentes ao formulário e uma vez atualizadas é dado baixa dos dados do visitante no formulário atualizar saída. 47 Tela Relatório FIGURA 24 - RELATÓRIO No formulário relatório é fornecido todas as informações dos visitantes ao DMAE. Para a consulta é necessário especificar a data e o sistema fornece o total de visitantes cadastrados. 48 Tela de Impressão FIGURA 25 - IMPRESSÃO No formulário relatório consta o botão Imprimir, o mesmo ao ser acessado é fornecido a tela para impressão. Deve-se conter a data inicial e a data final do relatório para ser impresso os dados ou informações contidas dos visitantes. 49 Tela Controle de Portaria FIGURA 26 – CONTROLE DE PORTARIA No formulário Controle de Portaria consta informações básicas sobre o sistema CP, programador responsável, suporte técnico e sobre exclusividade restrita do produto. 50 Tela Caixa de Saída FIGURA 27 – CAIXA DE SAÍDA No formulário principal é fornecido o menu Sair, o mesmo consta uma Caixa de Saída com a opção para o usuário em sair realmente ou não do sistema. 51 5. CONCLUSÃO Este trabalho tem como finalidade a implementação de um protótipo de controle de acesso dos visitantes do órgão público DMAE. O sistema de Controle de Portaria permite cadastrar visitantes, consultar, atualizar, recuperar dados e imprimir relatórios conforme data pré-estabelecida. O sistema CP foi desenvolvido originalmente para ampliar a segurança no acesso de visitantes na empresa, com a identificação dos usuários e registro para liberação automática de entrada e saída dos mesmos, com controle de relatório do movimento. São descritas abaixo algumas das dificuldades encontradas: A implementação dos serviços de acesso a dados e de lógica em um banco de dados SQL Server; Aplicar técnicas básicas de depuração, tratamento de erros e segurança; Construir e depurar uma aplicação em Visual Basic; Chamar um servidor de base de dados, com performance, a partir do sistema executável em Visual Basic. Programação do banco de dados utilizando o drive ODBC; Conhecer a sintaxe básica de SQL; Dominar o ambiente, os recursos e as técnicas que são fundamentais para programadores no ambiente Windows. Instruções claras e detalhadas, preparadas em Visual Basic proporcionando o conhecimento necessário através dos códigos práticos recorridos a tutoriais, livros, apostilas e internet; Criação de um aplicativo independente, personalizado com formulários; Dominar os métodos gráficos e de desenho do Visual Basic; Otimização dos códigos; Com um adequado nível de administração das informações a serem implantadas no sistema, serão atendidas às necessidades da organização para proporcionar a necessária segurança da informação bem como do controle ao acesso às dependências da empresa, definindo um projeto viável. 52 Por outro lado, uma das dificuldades encontradas durante o relato foi a de descrever precisamente os fatos, assegurando que todas as exigências fossem identificadas e atendidas. Outros obstáculos à bem-sucedida implementação desse sistema seriam as insatisfatórias reclamações da atendente e usuários do sistema por incapacidade e falta de treinamento, constatando que, na maioria das vezes, não reconhecem suficientemente a capacidade do software desde o princípio por falta de conhecimentos básicos na área da informática. Para corrigir os pontos fracos constatados, o relatório recomenda que a metodologia seja atualizada, inclusive com a ampla participação dos usuários no processo de análise, a simulação de produção previamente à aprovação do protótipo CP proposto, além, da transferência adequada de conhecimentos, a justa representação dos usuários em todas as comissões de decisão e a aceitação dos usuários finais nas várias fases de desenvolvimento do projeto. Observou-se que as recomendações assentarão os fundamentos para bem-sucedidas implementações e atualizações do sistema no futuro e proporcionará tanto uma base de sistema sólida à empresa, bem como para a gestão de suas atividades como o nível necessário de tranqüilidade aos usuários no que respeita à capacidade do sistema. O sistema foi desenvolvido primordialmente para atender à solicitação formulada na empresa no sentido de que se reexaminassem as finalidades e se assegure a utilização estruturada em conformidade com as exigências, indicações e orientação constante. Entretanto, a necessidade da precisão na indicação de avaliar os controles internos, constatou-se a necessidade do cumprimento das orientações e análises requerendo: treinamento. Houve também adaptação ao código para converter string maiúsculas em minúsculas considerando apenas a primeira string de cada palavra maiúscula, além da eliminação de espaços do campo número de documento para facilitar a atualização ou recuperação das informações do visitante em tela. O crescente uso dos computadores nas empresas bem como a sua importância estratégica, vem fazendo com que as empresas se preocupem em aumentar o controle sobre seus departamentos, já que estes controlam informações vitais à empresa. 53 Finalmente, o aplicativo atende perfeitamente os requisitos básicos referentes a uma monitoração mantendo a segurança nos dados da empresa e verificando se o acesso esta sendo realizado adequadamente. 54 REFERËNCIAS BIBLIOGRÁFICAS Livros: • LIMA, A. S. Aplicações em Visual Basic 6: Bancos de Dados. 5. ed. São Paulo: Érica, 1999. • BOOCH, G.; JACOBSON, I.; RUMBAUGH, J. UML, guia do usuário. Tradução de Fábio Freitas da Silva. 1. ed. Rio de Janeiro: Campus, 2000. • MASIERO, P. C. Análise Estruturada de Sistemas pelo Método de Jackson. 1. ed. São Paulo: Editora Edgard Blucher Ltda, 1992. • GANE, C.; SARSON, T. Análise Estruturada de Sistemas. 1. ed. Rio de Janeiro, LTC – Livros Técnicos e Científicos Editora S.A., 1983. • YOURDON, E.; ARGILA, C. Análise e Projeto Orientados a Objetos. 1. ed. São Paulo: Makron Books, 1999. • FOWLER, M.; SCOTT, K. UML essencial: um breve guia para a linguagempadrão de modelagem de objetos. 2. ed. Porto Alegre: Bookman, 2000; • SOMMERVILLE, I. Engenharia de Software. 6. ed. São Paulo: Addison-Wesley, 2003. • PRESSMAN, R. S. Engenharia de Software. São Paulo: Makron Books do Brasil, 1995. • DATE, C. J. Introdução a sistemas de bancos de dados. 8. ed. Rio Campus, 1990. • SALEMI, J. Guia PC Magazine para banco de dados cliente/servidor. 2. ed. Rio de Janeiro, 1994. • DEMARCO, T. Análise estruturada e especificação de sistema. 10. ed. Rio de janeiro: Campus, 1989. • SILVA, A. M.; PINHEIRO, M.S.F.; FREITAS, N.E.F. Guia para Normalização de Trabalhos Técnicos-Científicos: projetos de dissertações e teses. 4. ed. Uberlândia: EDUFU, 2004. pesquisa, monografias, 55 • RAMOS, P. UML (Unified Modeling Language): Diagrama de Classes. 1. ed. Lisboa: Instituto de Engenharia de Sistemas e Computadores, 2000. 20 p. Disponível em: <http://www.esw.inesc-id.pt/~eac/gpi/uml.pdf> Acesso em: 12 abr. 2005. • CA. Erwin Data Modeler. 4. ed. Nova Iorque: Computer Associates, 2004. Disponível em: <http://www3.ca.com/Solutions/Product.asp?ID=260> Acesso em: 12 abr. 2005. • MELO, A. C. Metodologia de Análise e Projeto de Sistemas: Análise Essencial. 1. ed. Rio de Janeiro: Universidade Estácio de Sá, 2000. 11 p. Disponível em: <http://www.anacristinamelo.eti.br/materialUnesa%5CAnaliseEssencial.doc> Acesso em: 22 abr. 2005. • REZENDE, D. A. Engenharia de Software e Sistemas de Informação. ed. Brasport, Rio de Janeiro, 1999 Disponível em: <http://www.utp.br/informacao/si/si_metodologia%20de%20desenvolvimento%20de% 20SI.htm> Acesso em: 07 mai. 2005. • MACORATTI, J. C. Macoratti.net. 1. ed. VB - Convertendo somente o primeiro caractere para maiúsculas, 2005. Disponível em: <http://www.macoratti.net/> Acesso em: 22 mai. 2005. 56 ANEXO A MODELO DE CONTROLE DE PORTARIA EXECUTADO NO EXCEL FIGURA 28: ANEXO A 57 ANEXO B MODELO DE CONTROLE DE PORTARIA EXECUTADO NO EXCEL FIGURA 29: ANEXO B