Escolar Documentos
Profissional Documentos
Cultura Documentos
Taubat - SP
2011
Taubat - SP
2011
Giancoli, Ana Paula Mller
Proposta de sistema para registro eletrnico de ponto
com gerenciamento remoto. / Ana Paula Mller Giancoli.
Taubat: Unitau 2011.
85f.: il.
Dissertao (Mestrado). Curso de Engenharia Mecnica.
nfase em Automao Universidade de Taubat.
Orientador: Francisco Carlos Parquet Bizarria
1. Portaria 1510. 2. Registrador Eletrnico. 3. Cdigo
Aberto.
Data: 31/janeiro/2011
Resultado: Aprovado
BANCA EXAMINADORA
UNITAU
Assinatura ____________________________
Prof. Dr. Jos Carlos Lombardi
UNITAU
Assinatura ____________________________
Prof. Dr. Carlos Henrique Netto Lahoz
Assinatura ____________________________
DCTA/IAE
Dedico este trabalho Deus, aos meus pais, filho e ao meu companheiro pelo apoio,
fora, incentivo, confiana e amizade. Sem eles nada disso seria possvel.
AGRADECIMENTOS
Este trabalho estaria inacabado sem a compreenso de minha famlia e amigos, cujo
apoio e incentivo influenciaram-me durante a sua confeco.
Deus por me amparar nos momentos difceis, me auxiliar a superar as dificuldades e
mostrar o melhor caminho a trilhar.
Aos meus pais, Walter Giancoli Junior e Edianez Mller Giancoli, que sempre me
mostraram o caminho da educao, sabedoria, amor e da verdade.
Ao meu filho, Gabriel, que com ternura e amor foi compreensivo e amigo durante dias
e noites abstendo-se de brincadeiras e diverses em minha companhia.
Ao meu companheiro e amigo de todos os momentos de minha vida, Clayton Eduardo,
que teve compreenso, carinho e amor, e me apoiou nos momentos difceis tornando-os
simples e fceis.
Helena pelos cafs e pelo auxlio nas questes administrativas e pessoais.
Ao professor Dr. Joo Bosco pelo apoio em momentos decisivos no incio desta
jornada.
Aos professores Dr. Carlos Lahoz e Dr. Jos Lombardi pelas sugestes e
direcionamentos propostos durante o exame de qualificao.
Ao professor Dr. Francisco Carlos Parquet Bizarria pela orientao, pacincia e apoio
fornecido durante a confeco deste trabalho.
RESUMO
O presente trabalho prope uma arquitetura de sistema para registro eletrnico de ponto
baseado em software livre e capaz de atender os principais requisitos extrados da portaria
1510 do Ministrio do Trabalho. Essa arquitetura utiliza o sistema operacional Linux, a
linguagem de programao Python, o framework Web Plone e o servidor de aplicaes Zope,
a fim de proporcionar, entre outros benefcios, a segurana, o acesso ao cdigo fonte da
aplicao e a independncia de fornecedores. A validao obtida por meio de testes prticos
realizados em prottipo que adota os elementos do sistema. Os resultados satisfatrios obtidos
nesses testes indicam que a aludida arquitetura adequada para a aplicao em questo.
ABSTRACT
This study aims at proposing a system architecture for electronic clocking in and out based on
free software to fulfill the main requirements extracted from the 1510 regulation from the
Ministry of Labor. This architecture uses the Linux operating system; the Python
programming language; the Web Plone framework and the Zope application server to provide,
among other benefits, the security, the access to application source code, and the
independence from suppliers. The validation is obtained though practical tests on prototypes
that adopt the elements of the system. The satisfactory results obtained in these tests indicate
that the aforementioned architecture is suitable for the application in question.
Keywords: electronic clocking in and out, open code, Plone, 1510 regulation.
LISTA DE TABELAS
LISTA DE FIGURAS
AFD
BIO.
CLT
COMP. LOCAL
Computador Local
COMP. REMOTO
Computador Remoto
CNPJ
COD.
CPF
GPL
INT.
Internet
IP
Internet Protocol
IPH.
MRP
MT
Memria de Trabalho
MTE
NOTE.
Notebook
PHP
Hypertext Preprocessor
PIS
RAD
RDBMS
REP
RLOC.
Rede Local
ROT.
Roteador
SERV.
Servidores
SGBD
SQL
SREP
TCP
UC
Use Case
UML
UPS.
USB
WEB
SUMRIO
Descrio do Problema................................................................................................15
Soluo Proposta .........................................................................................................16
Objetivos......................................................................................................................17
Reviso Bibliogrfica ..................................................................................................17
Estrutura do Trabalho ..................................................................................................19
3.4.3 Interface grfica........................................................................................................58
3.4.4 Testes funcionais.......................................................................................................66
3.4.4.1 Acesso local e operao dedicada .........................................................................66
3.4.4.2 Acesso remoto e mdulo de gerenciamento ..........................................................68
3.4.5 Resultados.................................................................................................................70
CAPTULO 4. CONCLUSES E TRABALHOS FUTUROS..........................................71
REFERNCIAS .....................................................................................................................73
APNDICE A Codificao..................................................................................................75
15
CAPTULO 1. INTRODUO
Este captulo constitudo pela descrio do problema, pela soluo proposta, pelos
objetivos do trabalho, pela reviso bibliogrfica e pela estrutura do trabalho. A descrio do
problema destaca os fatores que motivaram a elaborao do trabalho proposto. Na soluo
proposta apresentada uma arquitetura de sistema para efetivar o registro eletrnico de ponto
conforme previsto na portaria do Ministrio do Trabalho e Emprego (MTE). Nos objetivos do
trabalho estabelecido que a apresentao de um sistema para registro eletrnico de ponto e
sua avaliao por meio de testes prticos so as metas principais deste trabalho. A reviso
bibliogrfica apresenta os trabalhos pesquisados e que guardam relao com a presente
dissertao. Na estrutura do trabalho apresentada a estrutura organizacional utilizada na
confeco dessa dissertao com os respectivos resumos.
1.1
Descrio do Problema
16
1.2
Soluo Proposta
Hardware - conjunto de elementos fsicos de um computador e os dispositivos a ele relacionados, como parte
mecnica, magntica, eltrica e eletrnica. Refere-se capacidade fsica da mquina.
2
Software - conjunto de todos os recursos humanos, lgicos e mesmo de instalao e de organizao, com os
quais se explora uma mquina, equipamento ou sistema.
17
1.3
Objetivos
Este trabalho tem como objetivos: i) propor uma arquitetura de sistema, baseada em
software livre, para efetuar o registro eletrnico de ponto em conformidade com o previsto na
portaria do Ministrio do Trabalho e Emprego (MTE) de nmero 1510, datada de 21 de
agosto de 2009 e, ii) validar as funcionalidades dessa arquitetura por meio de testes prticos
em prottipo que adote os principais blocos desse sistema.
1.4
Reviso Bibliogrfica
Em pesquisas realizadas no ano de 2010, foram observados vrios artigos tcnicos que
guardam relao com o presente trabalho, sendo os mais relevantes apresentados nesta
subseo, porm, no foram encontrados registros de trabalhos acadmicos focados no
desenvolvimento do tema em questo de forma direta.
Atualmente, existem 81 registradores eletrnico de ponto (REP) distintos
homologados pelo Ministrio do Trabalho e Emprego (MTE, 2010). Segundo G1 (2010), as
solues apresentadas custam de R$ 2 mil a R$ 7 mil em mdia. Todas as solues
homologadas so baseadas em software e hardware proprietrios e substituem solues
disponveis at o momento. Aps a publicao desta portaria de nmero 1510, essas solues,
agora descontinuadas, exigem dessa forma, um novo investimento, de valor considervel, por
parte dos utilizadores desse tipo de mecanismo de registro de ponto.
At o presente momento, por meio das pesquisas bibliogrficas no foi identificada
nenhuma aplicao livre de hardware ou software homologada, mesmo porque, para que o
procedimento seja realizado, obrigatoriamente deve existir uma soluo completa disponvel
(hardware + software).
Durante o processo de reviso bibliogrfica, foi possvel encontrar diversos sistemas
livres de registro eletrnico de ponto. Nenhuma entretanto, compatvel com a portaria de
nmero 1510. As principais so listadas seguir:
18
PHP: Hypertext Preprocessor, uma linguagem de programao interpretada utilizada para desenvolvimento
para web.
4
Web: uma pgina web, tambm conhecida pelo equivalente em ingls webpage, e significa uma pgina na
rede de alcance mundial.
5
GAMBAS-2: um ambiente de desenvolvimento visual baseado em linguagem Basic.
6
Fork: em Engenharia de software, o fork de um projeto ocorre quando uma cpia legalizada do cdigo fonte de
um conjunto de softwares realizada e um processo de desenvolvimento independente dessa iniciado
caracterizando assim, uma verso alternativa original.
19
anteriores, sem adio de nenhuma funcionalidade relevante. Essa observao entretanto, leva
a crer que o projeto continua em andamento, ainda que com atualizaes demoradas.
Conforme WAGNER (2010), o sistema FingerFX2 desenvolvido parcialmente em
GAMBAS-2, interface grfica, e em linguagem C++, em especial as rotinas de comunicao
com o leitor biomtrico e demais drivers7 externos. Possui suporte a cadastro com foto
capturada diretamente da webcam8 e utiliza o banco de dados Sqlite9. Suporta tambm
dispositivos touchscreen10. Nesse sentido, esse software suporta o maior nmero de
dispositivos de entrada e sada, comparando-se em funcionalidade inclusive aos concorrentes
de maior custo baseados no modelo de desenvolvimento proprietrio, no entanto, no atende
aos requisitos exigidos pela portaria nmero 1510. Observou-se que no site do desenvolvedor
no h nenhuma meno a qualquer tipo de atualizao que possibilite essa adequao.
1.5
Estrutura do Trabalho
Drivers: so pequenos programas ou rotinas usados para interfacear e gerenciar um dispositivo de entrada e
sada.
8
Webcam: um dispositivo para captura de imagens utilizado principalmente na internet.
9
Sqlite: uma biblioteca em linguagem C que implementa um banco de dados SQL embutido. Programas que
usam a biblioteca SQLite podem ter acesso a banco de dados SQL sem executar um processo Relational
Database Management System sistema de gerenciamento de banco de dados relacional (RDBMS) separado.
10
Touchscreen: um tipo de tela presente em diferentes equipamentos, sensvel a toque e que por isso dispensa o
uso de equipamentos como teclados e mouses.
20
11
Framework: um framework, em desenvolvimento de software, uma abstrao que une cdigos comuns entre
vrios projetos de software provendo uma funcionalidade genrica. Um framework pode atingir uma
funcionalidade especfica, por configurao, durante a programao de uma aplicao. Ao contrrio das
bibliotecas, o framework quem dita o fluxo de controle da aplicao.
21
2.1
22
pela Consolidao das Leis de Trabalho (CLT) possuem o prazo de um ano, a partir da data
de publicao da portaria, para se adequar e continuar a fazer uso desse tipo de tecnologia. Na
hiptese de no atenderem esses requisitos estaro ilegais e podero ser penalizadas de acordo
com a legislao vigente.
A data final para adequao dos registradores e sistemas de registro eletrnico aos
requisitos da portaria, em princpio, ocorreria em 26 de agosto de 2010, no entanto, em funo
de dificuldades tcnicas de implementao e conseqente impossibilidade de produo de
registradores eletrnicos de ponto (REP) em tempo hbil, para toda a comunidade de usurios,
estimada em 700 mil empresas, o Ministrio do Trabalho e Emprego prorrogou o prazo para
01 de maro de 2011.
2.2
Modelagem de software
23
2.3
Software Livre
24
2.3.1
Licena GPL
Um software considerado livre quando possibilita ao seu usurio usufruir dos quatro
tipos de liberdade de software definidas pela Free Software Foundation, (STALLMAN,
2010):
2.4
25
26
2.5
Redes
27
mesmo tipo de software a ser instalada em cada unidade, de modo que cada um dos
equipamentos possa realizar diversos tipos de tarefas. A utilizao de somente um sistema
operacional para todos os computadores da rede, obrigatrio para que o equipamento se torne
funcional, em geral, no possibilita que o computador realize muitas funcionalidades
adicionais, salvo por sistemas da famlia Unix e seus clones, que j possuem uma srie de
aplicativos e softwares distribudos em conjunto com o sistema operacional.
A falta de comunicao entre usurios e os computadores pode ocasionar o
desenvolvimento de trabalhos idnticos em paralelo, resultando dessa forma, na perda de
tempo e atraso no desenvolvimento de tarefas importantes. A utilizao de computadores em
rede possibilita que computadores e perifricos trabalhem em conjunto sem a repetio de
tarefas j realizadas, uma vez que esses possuem acesso a bases de dados e informaes
comuns. Possibilita tambm um melhor aproveitamento de recursos, pois os computadores
podem compartilhar o acesso a recursos de hardware, como impressoras, dispositivos de
armazenamento de dados, entre outros. Desse modo, o fluxo de trabalho torna-se muito mais
produtivo, eliminando a ocorrncia de realizao de tarefas redundantes e economizando-se
recursos na compra de equipamentos ou servios j existentes.
2.5.1
Conectividade
28
2.5.2
Protocolo de comunicao
Para que os dispositivos de interconexo de rede possam trafegar dados gerados pelos
computadores e transmitidos pelo meio fsico escolhido pelo usurio, necessrio que um
procedimento sistemtico e padronizado seja utilizado em todos os dispositivos envolvidos
nesse tipo de comunicao, um protocolo de comunicao.
O protocolo de comunicao mais difundido atualmente o protocolo Transmission
Control Protocol/Internet Protocol (TCP/IP). O protocolo IP permite que os computadores
ligados em rede sejam endereados logicamente e consigam se localizar. O protocolo TCP,
garante que a comunicao entre esses dispositivos endereados pelo protocolo IP troquem
informaes de maneira confivel, garantindo a entrega de todos os dados necessrios para
12
Gateway: ou porta de ligao, uma mquina intermediria geralmente destinada a interligar redes, separar
domnios de coliso, ou mesmo traduzir protocolos. Exemplos de gateway podem ser os routers (ou roteadores)
e firewalls, j que ambos servem de intermedirios entre o utilizador e a rede. Um proxy tambm pode ser
interpretado como um gateway (embora em outro nvel, aquele da camada em que opera), j que serve de
intermedirio tambm.
29
que a comunicao ocorra. Caso algum dado no seja recebido pelo computador de destino, o
protocolo TCP o envia novamente. Isso possvel devido a um mecanismo de sinalizao de
entrega de pacotes estabelecido pelo protocolo.
A abrangncia da comunicao provida pelo protocolo TCP/IP depende das
necessidades de seus utilizadores. possvel desde o fornecimento de um nmero limitado de
servios em abrangncia local, uma empresa por exemplo, at a disponibilidade de uma
grande gama de funcionalidades por meio da interconexo de equipamentos de infra-estrutura
de redes do mundo inteiro, denominados respectivamente de intranet e internet. Em geral,
aplicaes desenvolvidas para um tipo de ambiente funcionam sem a necessidade de
adaptaes em outro de maior ou menor abrangncia. O usurio deve atentar somente para
implicaes de segurana que esse tipo de comunicao acarreta.
30
CAPTULO 3. DESENVOLVIMENTO
3.1
31
Biometria:[bio (vida) + metria (medida)]. o estudo estatstico das caractersticas fsicas ou comportamentais
dos seres vivos
32
3.2
33
Item
Descrio de requisitos
2
3
4
5
7
8
Tipo
Funcional
Apto
X
No funcional
No funcional
No funcional
No funcional
No funcional
X
Funcional
Funcional
X
X
34
Item
Descrio requisitos
4
5
6
7
10
11
12
13
Tipo
Funcional
Funcional
Apto
X
X
No funcional
X
Funcional
Funcional
No funcional
No funcional
No funcional
Funcional
X
Funcional
No funcional
Funcional
Funcional
35
3.3
Arquitetura lgica
3.3.1
36
3.3.2
Acesso Local
37
Acesso Remoto
3.3.3
38
Este caso de uso tem por objetivo permitir o acesso ao mdulo local de forma que o
usurio possa efetuar o registro de ponto. A pr-condio para que este caso de uso se inicie
que o usurio deve estar cadastrado no sistema, na memria de trabalho (MT).
Para se efetuar o login, o usurio deve informar, obrigatoriamente, a sua identificao
de acesso. Em seguida, a sua senha de identificao. O caso de uso UC Validar acesso
acionado conforme apresentado na subseo 3.3.3.1.2. Esse caso de uso finalizado.
Este caso de uso tem por objetivo validar o acesso ao mdulo local permitindo ao
usurio efetuar o registro de ponto. As informaes de identificao e senha recebidos so
utilizados para validar o acesso por meio de comparao com os dados do usurio gravados na
memria de trabalho (MT). Na situao em que esse validado, o caso de uso UC Registrar
entrada/sada acionado, conforme apresentado na subseo 3.3.3.1.3. Na situao em que
esse est incorreto, seja a identificao ou senha, exibida a interface grfica de erro. Esse
caso de uso finalizado.
Este caso de uso tem por objetivo registrar no banco de dados o registro de ponto do
usurio na hora local. Esse caso de uso se inicia, no momento em que recebe as informaes
necessrias para registrar a entrada/sada do usurio na memria permanente (MRP). Os
dados pertinentes ao usurio, data e hora do registro so gravados na memria permanente.
39
Este caso de uso tem por objetivo gerar e emitir o comprovante de registro de ponto ao
usurio. Esse caso de uso se inicia no momento em que acionado, buscando as informaes
salvas no banco de dados, especificamente, na memria permanente (MRP) para impresso do
comprovante. Em seguida, exibida a interface grfica de sucesso ao registrar o ponto,
retornando ao caso de uso UC Efetuar login para que o prximo usurio possa efetuar o
registro, conforme apresentado na subseo 3.3.3.1.1. Esse caso de uso finalizado.
Este caso de uso tem por objetivo registrar as alteraes que possam ocorrer no ajuste
do relgio utilizado para o registro eletrnico do ponto. Esse caso de uso se inicia no
momento em que h necessidade de alterar o horrio do relgio e o administrador informa o
novo horrio, e aps confirmar, os horrios antigo e o novo so registrados no banco de
dados, na memria permanente (MRP). Esse caso de uso finalizado.
40
Este caso de uso tem por objetivo permitir o acesso ao mdulo remoto de forma que o
usurio possa acessar o menu de opes de cadastros, consultas e relatrios. A pr-condio
para que este caso de uso se inicie que o usurio deve estar cadastrado no sistema, na
memria de trabalho (MT).
Para se efetuar o login, o usurio deve informar, obrigatoriamente, a sua identificao
de acesso. Em seguida, a sua senha de identificao. O caso de uso UC Validar acesso
acionado, conforme apresentado na subseo 3.3.3.2.2. Esse caso de uso finalizado.
Este caso de uso tem por objetivo validar o acesso ao mdulo remoto permitindo ao
usurio acessar o menu de opes. As informaes de identificao e senha recebidos so
utilizados para validar o acesso por meio de comparao com os dados do usurio gravados na
memria de trabalho (MT). Na hiptese em que este validado, exibido a interface grfica
com o menu de opes. Mediante a escolha de uma opo dos menus disponveis, o usurio
remetido a um dos casos de uso listados nas subsees 3.3.3.2.3 at 3.3.3.2.11. Na situao
em que o acesso no validado, exibida uma mensagem de erro, sendo que o usurio dever
tentar novamente o acesso. Esse caso de uso finalizado.
Este caso de uso tem por objetivo manter14 os tipos de usurios utilizados no acesso
local, bem como no remoto. O usurio seleciona a opo de cadastro no menu de opes.
Escolhe a interface grfica referente a tipos de usurios. exibida a interface contendo os
14
manter: significa que aplicado as 4 operaes bsicas utilizadas em banco de dados - CRUD (create, read,
update e delete).
41
campos necessrios para inserir ou atualizar os tipos de usurios. Para a situao de insero,
basta informar a descrio do tipo de usurio. exibida uma mensagem de confirmao de
insero com sucesso. Para a situao de atualizao, deve-se informar a identificao do tipo
de usurio a ser atualizado. exibida a interface grfica contendo todos os dados do tipo de
usurio selecionado.
O usurio seleciona a opo de consulta no menu de opes. Escolhe a interface
grfica referente a tipos de usurio. exibida a interface para a situao de consulta, onde o
usurio deve informar a faixa inicial e final da pesquisa. Para a situao de excluso, deve-se
informar a identificao do tipo de usurio a ser excludo. Sendo permitido somente se o
registro ainda no foi relacionado. Essa integridade mantida pelo sistema de gerenciamento
de banco de dados. Fim do caso de uso.
Este caso de uso tem por objetivo manter os tipos de operaes utilizadas no registro
das informaes na memria permanente. O usurio seleciona a opo de cadastro no menu
de opes. Escolhe a interface grfica referente a tipos de operaes. exibida a interface
contendo os campos necessrios para inserir ou atualizar os tipos de operaes. Para a
situao de insero, informar a descrio do tipo de operao. exibida uma mensagem de
confirmao de insero com sucesso. Para a situao de atualizao, deve-se informar a
identificao do tipo de operao a ser atualizada. exibida a interface grfica contendo todos
os dados do tipo de operao selecionada.
O usurio seleciona a opo de consulta no menu de opes. Escolhe a interface
grfica referente a tipos de operaes. exibida a interface para a situao de consulta, onde
o usurio deve informar o range inicial e final da pesquisa. Para a situao de excluso, devese informar a identificao do tipo de operao a ser excluda. Sendo permitido somente se o
registro ainda no foi relacionado. Essa integridade mantida pelo sistema de gerenciamento
de banco de dados. Fim do caso de uso.
42
Este caso de uso tem por objetivo manter os tipos de identificao utilizados no
registro das informaes na memria de trabalho e permanente para o mdulo de acesso local
e remoto. O usurio seleciona a opo de cadastro no menu de opes. Escolhe a interface
grfica referente a tipos de identificao. exibida a interface contendo os campos
necessrios para inserir ou atualizar os tipos de identificao. Para a situao de insero,
basta informar a descrio do tipo de identificao. exibida uma mensagem de confirmao
de insero com sucesso. Para a situao de atualizao, deve-se informar o identificador do
tipo de identificao a ser atualizada. exibida a interface grfica contendo todos os dados do
tipo de identificao selecionada.
O usurio seleciona a opo de consulta no menu de opes. Escolhe a interface
grfica referente a tipos de identificao. exibida a interface para a situao de consulta,
onde o usurio deve informar a faixa inicial e final da pesquisa. Para a situao de excluso,
deve-se informar o identificador do tipo de identificao a ser excluda. Sendo permitido
somente se o registro ainda no foi relacionado. Essa integridade mantida pelo sistema de
gerenciamento de banco de dados. Fim do caso de uso.
Este caso de uso tem por objetivo manter os tipos de identificao de registros
utilizados no registro das informaes na memria permanente para o mdulo de acesso
remoto. O usurio seleciona a opo de cadastro no menu de opes. Escolhe a interface
grfica referente a tipos de identificao de registro. exibida a interface contendo os campos
necessrios para inserir ou atualizar os tipos de identificao de registro. Para a situao de
insero, basta informar a descrio do tipo de identificao de registro. exibida uma
mensagem de confirmao de insero com sucesso. Para a situao de atualizao, deve-se
informar o identificador do tipo de identificao de registro a ser atualizada. exibida a
interface grfica contendo todos os dados do tipo de identificao de registro selecionada.
43
Este caso de uso tem por objetivo manter os grupos de usurios utilizados no registro
das informaes do usurio para o mdulo de acesso remoto. O usurio seleciona a opo de
cadastro no menu de opes. Escolhe a interface grfica referente a grupos de usurios.
exibida a interface contendo os campos necessrios para inserir ou atualizar os grupos de
usurios. Para a situao de insero, basta informar a descrio do grupos de usurios.
exibida uma mensagem de confirmao de insero com sucesso. Para a situao de
atualizao, deve-se informar o identificador do grupos de usurios a ser atualizado. exibida
a interface grfica contendo todos os dados do grupo de usurios selecionada.
O usurio seleciona a opo de consulta no menu de opes. Escolhe a interface
grfica referente a grupos de usurios. exibida a interface para a situao de consulta, onde
o usurio deve informar a faixa inicial e final da pesquisa. Para a situao de excluso, devese informar o identificador do grupos de usurios a serem excludos. Sendo permitido
somente se o registro ainda no foi relacionado. Essa integridade mantida pelo sistema de
gerenciamento de banco de dados. Fim do caso de uso.
Este caso de uso tem por objetivo manter os usurios utilizados no registro das
informaes do usurio para o mdulo de acesso local e remoto. O usurio seleciona a opo
de cadastro no menu de opes. Escolhe a interface grfica referente a usurios. exibida a
44
interface contendo os campos necessrios para inserir ou atualizar os usurios. Para a situao
de insero, informar os dados pertinentes ao cadastro do usurio. exibida uma mensagem
de confirmao de insero com sucesso. Para a situao de atualizao, deve-se informar o
identificador do usurio a ser atualizado. exibida a interface grfica contendo todos os
dados do usurio selecionado.
O usurio seleciona a opo de consulta no menu de opes. Escolhe a interface
grfica referente aos usurios. exibida a interface para a situao de consulta, onde o
usurio deve informar a faixa inicial e final da pesquisa. Para a situao de excluso, deve-se
informar o identificador do usurio a ser excludo. Sendo permitido somente se o registro
ainda no foi relacionado. Essa integridade mantida pelo sistema de gerenciamento de banco
de dados. Fim do caso de uso.
Este caso de uso tem por objetivo permitir aos usurios enviar mensagens de e-mail15
para os usurios do sistema, bem como usurios externos. O usurio seleciona a opo de
cadastro no menu de opes. Escolhe a interface grfica referente a mensagens gerais.
exibida a interface para inserir as informaes desejadas e informar os e-mails destinatrios e
enviar. O caso de uso finalizado.
Este caso de uso tem por objetivo gerar os arquivos exigidos pela portaria. O usurio
seleciona a opo de cadastro no menu de opes. Escolhe a interface grfica referente a
arquivos da fiscalizao. exibida a interface para selecionar as datas iniciais e finais para a
gerao dos arquivos. Informa tambm o identificador do empregador. Solicita a gerao e o
15
Email: correio eletrnico. um meio que permite compor, enviar e receber mensagens atravs de sistemas
eletrnicos de comunicao. O termo e-mail aplicado tanto aos sistemas que utilizam a Internet e so baseados
no protocolo SMTP, como aqueles sistemas conhecidos como intranets, que permitem a troca de mensagens
dentro de uma empresa ou organizao e so, normalmente, baseados em protocolos proprietrios.
45
caso de uso finalizado. Os arquivos ficam disponveis para serem salvos pela porta padro
USB externa.
Este caso de uso tem por objetivo gerar o espelho16 de ponto. O usurio seleciona a
opo de relatrios no menu de opes. Escolhe a interface grfica referente a espelho de
ponto. A pr-condio para que este caso de uso se inicie que o usurio deve estar
cadastrado no sistema. exibida a interface para selecionar as datas iniciais e finais para a
gerao do espelho de ponto. Solicita a gerao, sendo direcionado para a impresso default.
O caso de uso finalizado.
16
Espelho de ponto: relatrio gerado com layout especfico, o qual contm informaes de entrada e sada dos
usurios dos sistemas de registros de ponto.
46
3.3.4
Diagrama de classe
47
3.4
Prottipo
Item 2
Item 1
Item 4
Item 3
3.4.1
Arquitetura do prottipo
48
utilizada para a realizao dos testes prticos de registro eletrnico de ponto, baseada na
arquitetura completa apresentada na Figura 1, no entanto, composta somente por um
computador servidor, representado pelo mdulo remoto e por um computador local e uma
impressora, representados pelo mdulo local na Figura 6.
49
3.4.2
Programa de gerenciamento
50
51
Vide Figura 8
52
53
54
55
Retorna Passo 4.
56
57
58
3.4.3
Interface grfica
Menude
Cadastros
ArquivosdeFIscalizao
MensagensGerais
TiposdeUsurios(consultaealterao)
GruposdeUsurios(consultaealterao)
TiposdeOperaes(consultaealterao)
TiposdeIdentif.(consultaealterao)
TiposdeIdentif.Registros(consultae
alterao)
Usurios(consultaealterao)
Menude
Consultas
Menude
Relatrios
TiposdeUsurios
GruposdeUsurios
TiposdeOperaes
TiposdeIdentif.
TiposdeIdentif.Registros
Usurios
EspelhodePonto
59
Con1irmao
deRegistro
Efetuado
Comprovante
Emitido
60
61
62
63
A Figura 17 mostra um usurio j autenticado, com acesso aos menus de consultas. Por
meio desse menu possvel fazer o acesso as consultas relativas a tipos de usurios, grupos de
usurios, tipos de operao, tipos de identificao, tipos de identificao de registros, tipos de
mensagens e usurios.
64
65
66
3.4.4
Testes funcionais
Na realizao dos testes prticos, necessrios para validar a arquitetura proposta neste
trabalho, foi implementada uma arquitetura de hardware e software apresentada na Figura 6, a
qual capaz de atender as aes contidas no fluxograma analtico mostrado na Figura 7 e
Figura 8.
A execuo dos testes foi dividida em duas etapas, sendo que na primeira foi avaliada
a funcionalidade de registro eletrnico de ponto com uma arquitetura de acesso local e
operao dedicada. Na segunda etapa de testes, foram realizados os cadastros de usurios e
grupos, necessrios para extrao dos relatrios de espelho de ponto, funcionalidade essa
disponvel no mdulo de gerenciamento e acesso remoto.
Para ter acesso ao registro eletrnico de ponto, necessrio que o usurio do sistema
informe a identificao e senha, conforme apresentado na Figura 11.
O recurso de identificao de usurio e senha estabelece o controle de segurana
mnimo para que somente os usurios previamente cadastrados na memria de trabalho (MT)
do sistema possam efetuar o registro de ponto, conforme a Figura 20.
67
68
69
Esse recurso estabelece o controle de segurana mnimo para que somente os usurios
previamente cadastrados na memria de trabalho (MT) do sistema, conforme apresentado na
Figura 20, possam efetuar o registro do ponto por meio da interface grfica.
70
referentes s marcaes dos horrios de entrada e sada dos funcionrios, exigidos pela
portaria.
3.4.5
Resultados
71
72
do Brasil no evento ocorrido no ano de 2010, sendo a dcima primeira edio do Frum
Internacional de Software Livre, principal evento relacionado a essa temtica no pas.
A seqncia natural do presente trabalho a implementao de uma soluo de
hardware integrada com o registrador eletrnico de ponto (REP). A soluo apresentada por
MONTEIRO (2008) poder ser um ponto de partida, com adequaes necessrias para o
funcionamento. Reformulaes na interface grfica e adequaes de funcionalidades so
conseqncias e evolues naturais, que devero ocorrer aps o retorno da comunidade de
usurios, fato esse que possivelmente acontecer assim que a aplicao se tornar amplamente
utilizado.
73
REFERNCIAS
74
2010.
Disponvel
Disponvel
em
em
75
APNDICE A Codificao
#!/usr/bin/python
# coding: utf-8
# Importando as bibliotecas necessarias
import os
##########################################
# Ajuste de Relogio de Ponto Eletronico #
##########################################
#
Ana Paula Muller Giancoli
#
#
Mestrado Unitau
#
#
2011
#
##########################################
def abrirConexao (ip, usuario, senha, nomeDoBanco) :
print
print
print
print
print
print
print
print
try :
# Importando as bibliotecas necessarias
import MySQLdb
# Abrindo a conexao com o banco de dados
conexao = MySQLdb.connect(ip, usuario, senha, nomeDoBanco)
print
print "*************************************"
print "* Base de dados aberta com exito! *"
print "*************************************"
print
# Retorna o objeto de conexao
return conexao
except :
print
print "************************************"
print "* Erro ao abrir a base de dados! *"
print "************************************"
print
76
try :
# Fechando a conexao com o banco
conexao.commit()
conexao.close()
print
print "*************************************"
print "* Base de dados fechada com exito! *"
print "*************************************"
print
except :
print
print "*************************************"
print "* Erro ao fechar a base de dados! *"
print "*************************************"
print
77
ididentreg = resultados[1]
idtpidentif = resultados[2]
numidentif = resultados[3]
nropispasep = resultados[4]
nrocei = resultados[5]
loguser = resultados[7]
nomecompleto = resultados[8]
localserv = resultados[9]
nrofabricacao = resultados[10]
#
#
#
#
#
#
#
#
#
#
print
print
print
print
print
print
print
print
print
print
78
print
print "******************************"
print "* Nenhum dado salvo na MRP *"
print "******************************"
print
fecharConexao(conexao)
#!/usr/bin/python
# coding: utf-8
# Importando as bibliotecas necessarias
import datetime
import os
import time
##########################################
# Ajuste de Relogio de Ponto Eletronico #
##########################################
#
Ana Paula Muller Giancoli
#
#
Mestrado Unitau
#
#
2011
#
##########################################
try :
# Importando as bibliotecas necessarias
import MySQLdb
# Abrindo a conexao com o banco de dados
conexao = MySQLdb.connect(ip, usuario, senha, nomeDoBanco)
print
print "*************************************"
print "* Base de dados aberta com exito! *"
print "*************************************"
print
# Retorna o objeto de conexao
return conexao
except :
print
print "************************************"
print "* Erro ao abrir a base de dados! *"
79
print "************************************"
print
80
agora = time.strftime('%H:%M:%S')
print
print
print
print
print
print
"
"
"
"
sql
=
"INSERT
INTO
mrp
(ididentreg,
idtpoper,
idtpidentif,
dataajuste, horaajuste, dataajustada, horaajustada, idmt) VALUES (3, 2, 1, " +
str(hoje) + ", '1', '1', '1', 5)"
cursor.execute(sql)
print
print "*************************************"
print "* Dados salvos com sucesso na MRP *"
print "*************************************"
print
except :
print
print "**************************************"
print "* Erro ao gravar na base de dados! *"
print "**************************************"
print
81
=
+
context.testCreateRow(usercriacao=request.usercriacao,desctpuser=request.desctpu
ser)
destination = 'http://localhost:8080/Plone/paginas/sucesso'
request.response.redirect(destination)
except:
destination = 'http://localhost:8080/Plone/paginas/erro'
request.response.redirect(destination)
Script: testCreateRow
Parmetros: usercriacao desctpuser
Funo: Comando para insero no banco de dados
insert into tipousuario(usercriacao,desctpuser) values (
<dtml-sqlvar usercriacao type="string">,
<dtml-sqlvar desctpuser type="string">
)
Script: testReadRow
Parmetros: Idtpuser
Funo: Comando para seleo no banco de dados
82
select * from tipousuario where
<dtml-sqltest idtpuser type="int">
Script: formSetup
Funo: Carrega os dados na interface grfica para serem alterados
request = container.REQUEST
form = request.form
if form.has_key('idtpuser') and not form.has_key('form.submitted') :
res = context.testReadRow().dictionaries()
if len(res) == 1:
row = res[0]
for key in row.keys():
form[key] = row[key]
Script: testUpdateRow
Funo: Comando para atualizao no banco de dados
update tipousuario set
<dtml-sqltest desctpuser type="string">,
<dtml-sqltest usercriacao type="string">
where
<dtml-sqltest idtpuser type="int">
83
de dados a serem utilizadas.
Script: Consulta
Funo: Interface grfica para receber o range de seleo inicial e final dos
tipos de usuarios cadastrados no sistema
<html metal:use-macro="here/main_template/macros/master">
<head>
<title tal:content="resultado_da_pesquisa/title">The title</title>
</head>
<body><div metal:fill-slot="main">
<hr>
<h3>Consulta de Tipos de Usurios</h3>
<hr>
<form action="." method=get>
<p>Digite o Identificador do tipo de usurio inicial e final a pesquisar.</p>
<table>
<tr>
<td>Identificador Inicial:</td>
<td><input name=idtpuseri width="5" value="1"></td></tr>
<tr>
<td>Identificador Final:</td>
<td><input name=idtpuserf width="5" value="1"></td></tr>
<tr>
<td><input type=submit value="Pesquisar" name=Pesquisa:method></td>
</tr>
</table></form>
</div></body>
</html>
Script: Pesquisa
Funo: Montar a interface grfica de acordo com o pedido
<html metal:use-macro="here/main_template/macros/master">
<body metal:fill-slot="main" tal:define="results here/sql_consulta; start
request/start|python:0; batch python:modules['ZTUtils'].Batch(results, size=30,
start=start); previous python:batch.previous; next python:batch.next"><br>
<hr><h3>Resultado da Consulta</h3><hr><p>
<a tal:condition="previous" tal:attributes="href
string:${request/URL0}?start:string=${previous/first}"
href="previous_url">previous <span tal:replace="previous/length">30</span>
results</a>
<a tal:condition="next" tal:attributes="href
string:${request/URL0}?start:int=${next/first}" href="next_url">next <span
tal:replace="next/length">20</span>results</a></p>
<table border><tr>
<th>Identificador Usurio</th>
<th>Usurio de Criao</th>
<th>Data Criao</th>
84
<th>Descrio Tipo Usurio</th>
</tr>
<tal:x repeat="result batch" >
<tr>
<td><span tal:content="result/idtpuser"></span><input type="hidden"
name=idtpuser></td>
<td><span tal:content="result/usercriacao"></span></td>
<td><span tal:content="result/datacriacao"></span></td>
<td><span tal:content="result/desctpuser"></span></td>
</tr></tal:x>
</table><p>
<li id="document-action-voltar">
<a href="http://localhost:8080/Plone/consultas/Tipos de
Usuarios/Consulta">voltar</a>
</li>
<li id="document-action-print">
<a href="javascript:this.print();" title="">imprimir</a>
</li>
<div>
<form action="." method=post>
<br><table border><tr>
<hr><h3>Excluso - Coloque as informaes para excluso:</h3><hr><br>
<tr><th>Identificador Tipo Usurio</th>
<td><input type="text" name="idtpuser" maxlength="5" size="5" value=""></td>
<td><INPUT TYPE="submit" VALUE="excluir"
name="ScriptDelete:method"></td></tr>
</table></form></div><p>
</p></body></html>
Script: Resposta
Funo: Exibir a resposta de excluso com sucesso
<html metal:use-macro="here/main_template/macros/master">
<head>
<title tal:content="template/title">The title</title>
</head>
<body><div metal:fill-slot="main">
<h3><span tal:replace="options/mensagem | default">Excluso com
sucesso!</span></h3>
<br>
<a href="http://localhost:8080/Plone/consultas/Tipos de
Usuarios/Consulta">voltar</a>
</div>
</body>
</html>
Script: Erro
Funo: Exibir a resposta de erro na excluso
<html metal:use-macro="here/main_template/macros/master">
<head>
85
<title tal:content="template/title">The title</title>
</head>
<body><div metal:fill-slot="main">
<h3><span tal:replace="options/mensagem | default">Dados no foram excludos!
Verifique se os dados informados so corretos e se existe algum relacionamento
!</span></h3>
<br>
<a href="http://localhost:8080/Plone/consultas/Tipos de Usuarios"> <br>
voltar</a>
</div>
</body>
</html>