Você está na página 1de 85

UNIVERSIDADE DE TAUBAT

Ana Paula Mller Giancoli

PROPOSTA DE SISTEMA PARA REGISTRO ELETRNICO


DE PONTO COM GERENCIAMENTO REMOTO

Taubat - SP
2011

Ana Paula Mller Giancoli

PROPOSTA DE SISTEMA PARA REGISTRO ELETRNICO


DE PONTO COM GERENCIAMENTO REMOTO

Dissertao apresentada para obteno do


Ttulo de Mestre pelo Curso de Ps-Graduao
do Departamento de Engenharia Mecnica da
Universidade
de
Taubat.
rea
de
Concentrao: Automao.
Orientador: Prof. Dr. Francisco Carlos Parquet
Bizarria.

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.

ANA PAULA MLLER GIANCOLI

PROPOSTA DE SISTEMA PARA REGISTRO ELETRNICO DE PONTO COM


GERENCIAMENTO REMOTO

Dissertao apresentada para obteno do


Ttulo de Mestre pelo Curso de Ps-Graduao
do Departamento de Engenharia Mecnica da
Universidade de Taubat.
rea de Concentrao: Automao

Data: 31/janeiro/2011
Resultado: Aprovado

BANCA EXAMINADORA

Prof. Dr. Francisco Carlos Parquet Bizarria

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.

Palavras-Chave: Registrador Eletrnico de Ponto, Cdigo Aberto, Plone, Portaria 1510.

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

Tabela 1: Requisitos exigidos pela Portaria 1510 primeira fase............................................33


Tabela 2: Requisitos exigidos pela Portaria 1510 segunda fase ............................................34

LISTA DE FIGURAS

Figura 1: Componentes da arquitetura proposta.......................................................................30


Figura 2: Caso de Uso Grfico para o acesso local ..................................................................36
Figura 3: Caso de Uso Grfico para o acesso remoto ..............................................................37
Figura 4: Diagrama de Classes .................................................................................................46
Figura 5: Equipamentos utilizados nos testes prticos .............................................................47
Figura 6: Arquitetura do prottipo............................................................................................48
Figura 7: Fluxograma de acesso local ......................................................................................51
Figura 8: Fluxograma de acesso remoto...................................................................................57
Figura 9: Hierarquia de Interfaces disponveis no sistema mdulo remoto ..........................58
Figura 10: Hierarquia de Interfaces disponveis no sistema mdulo local............................59
Figura 11: Interface grfica do sistema de registro eletrnico de ponto...................................60
Figura 12: Interface grfica do sistema remoto interface inicial ...........................................60
Figura 13: Interface grfica do sistema remoto menu principal............................................61
Figura 14: Interface grfica do menu cadastros........................................................................62
Figura 15: Interface grfica do cadastro de tipos de usurios ..................................................62
Figura 16: Interface grfica de edio de tipos de usurios .....................................................63
Figura 17. Interface grfica do menu de consultas...................................................................64
Figura 18. Interface grfica utilizada para consultar os tipos de usurios................................65
Figura 19. Interface grfica do menu de relatrios...................................................................65
Figura 20: Informaes de usurios registradas na memria de trabalho ................................66
Figura 21: Informaes registradas na memria permanente...................................................67
Figura 22: Interface grfica de confirmao de registro eletrnico de ponto...........................67
Figura 23: Comprovante de registro eletrnico de ponto .........................................................68
Figura 24: Interface grfica do sistema de registro - acesso remoto ........................................68
Figura 25: Interface grfica para gerao dos arquivos da fiscalizao ...................................70

LISTA DE ABREVIATURAS E SIGLAS

AFD

Arquivo Fonte de Dados

BIO.

Leitor Biomtrico de digital

CLT

Consolidao das Leis de Trabalho

COMP. LOCAL

Computador Local

COMP. REMOTO

Computador Remoto

CNPJ

Cadastro Nacional de Pessoa Jurdica

COD.

Leitor de Cdigo de Barras

CPF

Cadastro de Pessoa Fsica

GPL

General Public Lincese

INT.

Internet

IP

Internet Protocol

IPH.

Telefone Celular Iphone

MRP

Memria de Registro de Ponto

MT

Memria de Trabalho

MTE

Ministrio do Trabalho e Emprego

NOTE.

Notebook

PDF

Printable Document Format

PHP

Hypertext Preprocessor

PIS

Programa de Integrao Social

RAD

Rapid Application Development

RDBMS

Relational Database Management System

REP

Registrador Eletrnico de Ponto

RLOC.

Rede Local

ROT.

Roteador

SERV.

Servidores

SGBD

Sistema Gerenciador de Banco de Dados

SQL

Structured Query Language

SREP

Sistema de Registro Eletrnico de Ponto

TCP

Transmission Control Protocol

UC

Use Case

UML

Unified Modeling Language

UPS.

Uninterruptible Power Supply

USB

Universal Serial Bus

WEB

World Wide Web

SUMRIO

CAPTULO 1. INTRODUO ...........................................................................................15


1.1
1.2
1.3
1.4
1.5

Descrio do Problema................................................................................................15
Soluo Proposta .........................................................................................................16
Objetivos......................................................................................................................17
Reviso Bibliogrfica ..................................................................................................17
Estrutura do Trabalho ..................................................................................................19

CAPTULO 2. CONCEITOS BSICOS.............................................................................21


2.1 Portaria nmero 1510, de 21 de agosto de 2009 .........................................................21
2.2 Modelagem de software...............................................................................................22
2.3 Software Livre .............................................................................................................23
2.3.1 Licena GPL .............................................................................................................24
2.4 Python, Zope e Plone...................................................................................................24
2.5 Redes ...........................................................................................................................26
2.5.1 Conectividade ...........................................................................................................27
2.5.2 Protocolo de comunicao........................................................................................28
CAPTULO 3. DESENVOLVIMENTO ..............................................................................30
3.1 Arquitetura fsica proposta ..........................................................................................30
3.2 Requisitos de hardware e software..............................................................................32
3.3 Arquitetura lgica ........................................................................................................35
3.3.1 Requisitos exigidos pela portaria e implementados pelo trabalho ...........................35
3.3.2 Casos de uso grficos ...............................................................................................36
3.3.3 Casos de uso textuais................................................................................................37
3.3.3.1 Casos de uso do mdulo local ...............................................................................37
3.3.3.1.1 UC Efetuar login.................................................................................................38
3.3.3.1.2 UC Validar acesso...............................................................................................38
3.3.3.1.3 UC Registrar entrada/sada.................................................................................38
3.3.3.1.4 UC Gerar comprovante.......................................................................................39
3.3.3.1.5 UC Ajustar relgio..............................................................................................39
3.3.3.2 Casos de uso do mdulo remoto............................................................................39
3.3.3.2.1 UC Efetuar login.................................................................................................40
3.3.3.2.2 UC Validar acesso...............................................................................................40
3.3.3.2.3 UC Manter tipos de usurios ..............................................................................40
3.3.3.2.4 UC Manter tipos de operaes ...........................................................................41
3.3.3.2.5 UC Manter tipos de identificao.......................................................................42
3.3.3.2.6 UC Manter tipos de identificao de registros ...................................................42
3.3.3.2.7 UC Manter grupos de usurios ...........................................................................43
3.3.3.2.8 UC Manter usurios............................................................................................43
3.3.3.2.9 UC Enviar mensagem.........................................................................................44
3.3.3.2.10 UC Gerar arquivos da fiscalizao ...................................................................44
3.3.3.2.11 UC Gerar espelho de ponto...............................................................................45
3.3.4 Diagrama de classe ...................................................................................................46
3.4 Prottipo ......................................................................................................................47
3.4.1 Arquitetura do prottipo ...........................................................................................47
3.4.2 Programa de gerenciamento .....................................................................................49


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

Segundo BRASIL (2010), o procedimento de controle de freqncia amplamente


utilizado por empresas de todo o mundo para registro dos horrios de entrada e sada de seus
funcionrios. Esse tipo de registro importante para o empregador e para seus colaboradores,
uma vez que garante para ambos o cumprimento dos direitos e deveres das partes envolvidas.
Existem basicamente trs tipos principais de registradores de ponto: o manuscrito, os
baseados em registradores mecnicos e os eletrnicos. Os dois primeiros, apesar de estarem
tecnologicamente defasados, ainda so muito utilizados, em especial por empresas de pequeno
porte. Os principais limites da adoo do tipo manuscrito e do tipo mecnico nos dias atuais
so: a precariedade com que as informaes so armazenadas e a facilidade com que esses
podem ser burlados, em funo da fragilidade dos mtodos e mecanismos empregados. Alm
disso, essa metodologia se resume a somente registrar o horrio de entrada e sada dos
funcionrios, sem nenhuma possibilidade de expanso de funcionalidades, tratamento de
dados ou mesmo cpia de segurana. O registrador eletrnico de ponto por sua vez, muito
mais moderno e possui mecanismos de segurana que dificultam a alterao de informaes e
registros, tornando a informao armazenada muito mais confivel do que as obtidas nos

16

outros dois mtodos. At pouco tempo atrs, os fornecedores de registrador eletrnico de


ponto, que neste trabalho ser referenciado por registrador eletrnico de ponto (REP), tinham
total autonomia para desenvolver seus sistemas de hardware1 e software2, agregando
funcionalidades de maneira indiscriminada. No entanto, no dia 21 de agosto de 2009, o
Ministrio do Trabalho e Emprego (MTE), emitiu a portaria 1510, que regulamenta a
utilizao e a produo de registradores eletrnicos de ponto. De acordo com a portaria,
registradores eletrnicos de ponto que estejam em funcionamento, devero obrigatoriamente
possuir especificaes de software e hardware particulares, compatveis com as especificadas
em sua descrio. Registradores eletrnicos de ponto que porventura estiverem em uso sem a
devida adaptao sero considerados ilegais, podendo a empresa que os utiliza ser penalizada
por meio da aplicao de multas e processos judiciais. Cabe mencionar que os registradores
mecnicos e sistemas de ponto manuscritos podem continuar sendo utilizados sem nenhum
tipo de adaptao.
Com a publicao dessa portaria, o Ministrio do Trabalho e Emprego (MTE) passou a
regulamentar as especificaes dos Registradores Eletrnicos de Ponto (REP) e dar nfase ao
registro fiel das marcaes efetuadas, a existncia de uma mdia local de armazenamento
independente de conexo remota, a emisso de comprovante para cada registro de ponto e a
existncia de um ponto de comunicao padro Universal Serial Bus (USB), utilizada para a
transferncia dos dados armazenados no REP em eventuais fiscalizaes realizadas por
auditores fiscais do trabalho. Desse modo, funes que outrora estariam incorporadas aos
REPs, passaro a ser implementadas nos Sistemas de Registro Eletrnico de Ponto (SREP),
que, quando utilizados, devero ser instalados em servidores especficos independentes dos
REPs.

1.2

Soluo Proposta

Adotar um sistema baseado em software livre com estrutura capaz de atender as


principais prescries da portaria de nmero 1510 do Ministrio do Trabalho e Emprego
(MTE) e que permita a expanso e independncia de fornecedores em adequaes futuras.
1

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

Segundo PAPIZAN (2006), o PHP Timeclock, como o prprio nome sugere,


desenvolvido em linguagem PHP3 e voltado para web4. O projeto teve incio em 2006 e no
possui verses recentes, pois um sistema norte-americano/EUA e, por esse motivo, no
considera a normatizao brasileira de leis trabalhistas. Como um projeto antigo, citado
como referncia por outros projetos, como por exemplo o Sisponto.
De acordo com MONTEIRO (2008), a aplicao Conep completa, pois integra uma
soluo de software a uma implementao de hardware de custo baixo e compatvel com
padres livres. O Conep desenvolvido utilizando o GAMBAS-25 de uso semelhante a uma
alternativa utilizada comercialmente. Infelizmente a aplicao proposta pelo autor datada de
meados de 2008 e, por esse motivo, no atende aos requisitos exigidos pela portaria nmero
1510. Nesse sentido, no foi observado atualizao do projeto.
Conforme AGUIAR (2008), o S1 Ponto desenvolvido em linguagem Python e
funciona em uma interface baseada em desktop. um projeto validado, mas no foi
encontrada nenhuma meno ao software e conseqentemente verses atualizadas que
poderiam atender portaria 1510, no site de seu desenvolvedor.
Segundo LEAL (2008), o Sisponto mais um sistema web desenvolvido em
linguagem PHP, que segundo seu autor, teve na simplicidade do PHP Timeclock, o maior
incentivo para ter sido desenvolvido. Cabe mencionar que alm das informaes apresentadas,
outras podero ser encontradas no arquivo LEIAME.txt, presente na verso 0.1 do Sisponto.
A ltima, e nica verso disponvel, datada de meados de 2008 e no h meno a nenhuma
atualizao no site do projeto.
De acordo com FUZZER (2009a), o wPonto um fork6 do projeto Sisponto e seu
desenvolvimento foi motivado, segundo seu autor, pela inexistncia de um mtodo de
controle de verso no projeto original, dificultando dessa forma, o gerenciamento de
contribuies e correo de bugs. A verso atual a 1.1.3, lanada em meados de 2009, no
entanto, existe no blog do autor, FUZZER (2009b), uma meno verso 2.0, ainda em
desenvolvimento, que a princpio possui somente correo de bugs encontrados nas verses

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

O Captulo 1: Introduo composto pela descrio do problema, pela soluo


proposta, pelos objetivos do trabalho e por uma reviso bibliogrfica. Na descrio do
problema so apresentados os principais itens citados na portaria de nmero 1510 do
Ministrio do Trabalho e Emprego e os diferentes mecanismos de registro de ponto, dentre
eles, o eletrnico. Na soluo proposta apresentada uma arquitetura de sistema capaz de
atender os principais itens dessa portaria. Nos objetivos do trabalho so determinadas as
principais metas que devero ser alcanadas com o desenvolvimento deste trabalho, ou seja, a
elaborao de proposta de arquitetura de sistema e sua validao por meio de testes em
prottipo. Na reviso bibliogrfica, so relacionados os sistemas mais relevantes de registros
eletrnicos de ponto existentes que guardam relao com o tema desta dissertao.
No Captulo 2: Conceitos Bsicos, so descritos os principais requisitos da portaria
1510, os conceitos bsicos da infra-estrutura de hardware proposta para o desenvolvimento
7

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

do trabalho, as linguagens de programao utilizadas para a elaborao do programa de


gerenciamento e registro eletrnico de ponto, a plataforma e framework11 utilizados para
desenvolvimento do prottipo de software. O entendimento desses conceitos substanciar a
base para o leitor deste trabalho compreender as definies, os termos, os conceitos e os
componentes utilizados nesta dissertao.
No Captulo 3: Desenvolvimento, apresentado o diagrama representativo da
arquitetura proposta e a descrio de seus componentes. Entretanto, apresenta a modelagem
do software, o prottipo desenvolvido e as interfaces grficas, o fluxograma analtico de
funcionamento, o detalhamento dos testes realizados e os seus resultados obtidos.
No Captulo 4: Concluses e Trabalhos Futuros, so apresentados as concluses
obtidas no desenvolvimento do trabalho, e as propostas para trabalhos futuros a partir dos
elementos envolvidos nesta dissertao.
No Captulo 5: Referncias, so apresentados pesquisas bibliogrficas que guardam
relao com o desenvolvimento do presente trabalho.
No Apndice A Codificao: esto includos sees do cdigo fonte da aplicao
desenvolvida. Sendo que as demais codificaes so inerentes ao gerenciador de contedo.

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

CAPTULO 2. CONCEITOS BSICOS

Este captulo tem como objetivo principal apresentar de forma resumida,


visando aplicao executada neste trabalho, os conceitos sobre a portaria de nmero 1510, a
modelagem de software, o Software Livre, a Licena GPL, a Linguagem de Programao
Python, o servidor de aplicao Zope e gerenciador de contedo Plone. Esses conceitos
formaro a base mnima necessria para compreenso das terminologias e sistemas utilizados
nesta dissertao.

2.1

Portaria nmero 1510, de 21 de agosto de 2009

No dia 21 de agosto de 2009, o Ministrio do Trabalho e Emprego (MTE) publicou a


portaria nmero 1510 que tem como objetivo disciplinar o registro eletrnico de ponto e a
utilizao do Sistema de Registro Eletrnico de Ponto (MTE, 2009). Nessa portaria, composta
por 31 artigos, as caractersticas necessrias para a produo do hardware dos registradores
eletrnicos de ponto e implementao dos softwares associados ao mesmo so detalhadas. De
maneira geral, a portaria estabelece padres e normativas que garantem o cumprimento dos
direitos e deveres do empregador e de seus colaboradores, bem como a confidencialidade,
integridade e disponibilidade das informaes armazenadas nesse tipo de dispositivo.
O trabalhador no pode por exemplo, ser impedido de registrar o ponto. O
equipamento deve, obrigatoriamente, fornecer a seu utilizador comprovantes individuais de
marcao de ponto logo aps o registro, tanto no procedimento de entrada como no de sada.
Arquivos pr-formatados especficos para fiscalizao tambm devem estar disponveis em
ocasies especficas, utilizando-se para tanto, uma porta padro USB externa.
De maneira geral, a portaria descreve com detalhes os pontos anteriormente
mencionados, entre outros, bem como as particularidades de cada um. Desse modo, a leitura
na ntegra da portaria, disponvel gratuitamente na internet, recomendada.
importante salientar que a utilizao de dispositivos eletrnicos de registro de ponto
no obrigatria e nem imposta pela portaria. No entanto, todas as empresas que atualmente
utilizam esse tipo de sistema eletrnico e tem contratos de trabalho e registros normatizados

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

Segundo BOOCH (2005), a construo de modelos para compreender melhor o


sistema que est sendo desenvolvido uma prtica que deve ser aplicada em diversas reas,
pois a modelagem de um software a simplificao da realidade, de forma que os modelos
fornecem uma cpia do projeto de um sistema. Com a modelagem, possvel visualizar o
sistema como ele , permitir especificar a estrutura ou o comportamento do mesmo,
proporcionar um guia de construo, e documentar decises tomadas. A viso tradicional no
desenvolvimento de software adota a perspectiva de um algoritmo. Porm, a viso
contempornea no desenvolvimento de software adota uma perspectiva orientada a objetos, de
forma que o principal bloco de construo de todos os sistemas o objeto ou a classe. Todos
os objetos tm uma identidade, um estado e um comportamento. Sendo assim, o mtodo
orientado a objetos para desenvolvimento de software uma parte do fluxo principal,
simplesmente porque tem sido provado seu valor para a construo de sistemas em todos os
tipos de domnios de problemas, abrangendo todos os graus de tamanho e de complexidade.
Para a elaborao de estruturas de projetos de software, BOOCH (2005) props a
utilizao de uma linguagem-padro, conhecida como Unified Modeling Language (UML). A
UML poder ser utilizada para visualizar, especificar, construir e documentar desde sistemas
simples at os mais complexos. parte de um mtodo para desenvolvimento de software. E

23

por meio de diagramas, representaes grficas, permite-se a visualizao do sistema como


todo sob diversas perspectivas.
Nesse trabalho, utilizou-se das tcnicas de modelagem com UML para levantamento
de requisitos ou necessidades de software, para a identificao das funcionalidades, sendo que
essas so representadas pelos diagramas de caso de uso e posteriormente, o diagrama de
classes.

2.3

Software Livre

A utilizao de computadores, dispositivos eletrnicos e processos de automao


industrial, em geral requerem a utilizao de plataforma baseada em sistema operacional e
softwares de gerenciamento, desenvolvidos com o uso de uma ou mais linguagens de
programao.
A escolha da plataforma adequada, bem como de seus componentes, um fator
decisivo para o sucesso e continuidade de um projeto e deve ir alm do imediatismo
necessrio para o desenvolvimento de uma aplicao, considerando tambm aspectos de
segurana, documentao disponvel, adequao com o objetivo proposto, preservao do
investimento e sobretudo, o quesito de independncia tecnolgica. Em muitos casos, as
empresas que adotam esse tipo de tecnologia no possuem pessoal tcnico qualificado para o
desenvolvimento de software e, por esse motivo, a terceirizao das solues adotadas tornase necessria. Grande parte das empresas que desenvolvem software, individualmente ou
associados a algum tipo de hardware, utilizam o modelo de desenvolvimento de software com
cdigo fechado, onde o desenvolvedor no fornece o cdigo-fonte da aplicao ao cliente,
impedindo que esse realize adequaes no software e garantindo assim, contratos de
manuteno do sistema, situao que torna o cliente dependente do fornecedor e de
imprevistos e ocorrncias que essa relao pode causar. Nos ltimos anos entretanto, um novo
modelo de desenvolvimento tem se tornado popular, o modelo de desenvolvimento baseado
em software livre, conforme abordado nas subsees seguintes.

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):

A liberdade para executar o programa, para qualquer propsito.

A liberdade de estudar como o programa funciona, e adapt-lo para as suas


necessidades.

A liberdade de redistribuir, inclusive vender, cpias de modo a ajudar ao


prximo.

A liberdade de modificar o programa, e liberar essas modificaes, de modo


que toda a comunidade se beneficie.

Em muitos casos, existem projetos livres com cdigo-fonte e documentao


disponveis na internet que atendem a um grande nmero de pessoas e necessidades. Nesse
caso, apesar de se tratar de uma aplicao inicialmente sem custo, o usurio obrigatoriamente,
precisa se adequar ao software e no o contrrio. No entanto, a adoo de solues baseadas
em software livre permite ao usurio personalizar seu sistema por meio da implementao de
suas prprias contribuies, atendendo dessa forma, s suas necessidades especficas. Essa
contribuio pode ser implementada pelo prprio usurio, ou por sua equipe de
desenvolvimento, caso exista essa habilidade/possibilidade, ou ainda, pode ser repassada a um
desenvolvedor terceirizado da preferncia do usurio, caso o desenvolvedor original, por
algum motivo, deixar de ser a melhor opo. Nesse caso especfico, o desenvolvedor ir
receber somente pelo trabalho realizado, sendo enquadrado assim, no modelo tradicional de
prestador de servios, garantindo ao usurio todas as liberdades citadas anteriormente.

2.4

Python, Zope e Plone

Atualmente, existem diversas linguagens de programao disponveis, bem como,


vrios paradigmas de desenvolvimento, plataformas de sistemas operacionais e arquiteturas de

25

hardware. No entendimento do autor, tecnologias atuais, tipicamente utilizadas e com vasta


documentao tm maior chance de sucesso, pois essas caractersticas tendem a perpetuar sua
aceitao e conseqente continuidade, bem como, atrair novos usurios.
Aplicativos e solues de software desenvolvidos para ambiente web ou para intranets
so comuns. As razes para tanto, so vrias: independncia de clientes, tanto em relao ao
navegador utilizado como ao sistema operacional utilizado, a variedade de dispositivos que
possuem esse tipo de cliente disponvel, a abrangncia que esse tipo de tecnologia atinge, no
restringindo a soluo a somente um mbito local entre diversos outros. As tecnologias
utilizadas em ambiente de desenvolvimento web em geral, so multiplataforma, sendo
compatveis com diferentes arquiteturas de hardware e sistemas operacionais. No entanto, em
grande parte dos casos, o desenvolvimento de uma aplicao voltada internet ou intranet
exige cuidados minuciosos relacionados segurana. Para tanto, o programador precisa ter
um cuidado especial com os elementos de segurana da aplicao, alm de submet-la a um
conjunto considervel de testes antes de tornar disponvel para uso.
Existem frameworks que oferecem facilidades nesse sentido, no entanto, em geral,
exigem equipamentos robustos para funcionar adequadamente e um alto grau de
especializao do desenvolvedor. Outras linguagens, ainda que bastante populares, oferecem
riscos de segurana em funo das vulnerabilidades existentes em sua implementao e/ou
arquivos de iniciao. Por esses motivos, teve-se o cuidado de escolher uma linguagem de
programao estvel, segura, com vasta documentao, amplamente utilizada e sobretudo
atual para o desenvolvimento deste trabalho.
Para atender as caractersticas anteriormente mencionadas, optou-se pela utilizao da
linguagem python. Essa foi desenvolvida por Guido Van Rossum no incio da dcada de 90.
A linguagem de fcil entendimento, pode ser utilizada em diferentes paradigmas de
desenvolvimento (programao funcional, procedural, orientada a objetos, orientada a
aspectos), diferentes arquiteturas de hardware, diferentes sistemas operacionais e
compatvel com diversos tipos de ambientes distintos (interfaces modo texto, modo grfico,
web, celulares e dispositivos mveis, entre outros). Uma outra vantagem que python uma
linguagem que no exige softwares de desenvolvimento Rapid Application Development
(RAD) para que possa ser utilizada, alm de se fundamentar em boas prticas de
programao, como por exemplo, a identao. Uma outra vantagem que levou escolha do
python foi a disponibilidade de aplicaes adicionais que agregam funcionalidades excelentes
a esse tipo de ambiente. As mais utilizadas nesse trabalho para o gerenciamento de contedo e

26

armazenamento de aplicaes web, so as aplicaes Plone e Zope, ambas desenvolvidas


respectivamente em python.
Aplicativos de gerenciamento de contedo como o Plone, so utilizados para que
vrios usurios possam interagir com um site ou aplicao web sem conhecimento
aprofundado de programao. O desenvolvimento da aplicao, conforme necessidade dos
usurios, requer programao por parte do desenvolvedor. Outro fator importante agregado
por esse tipo de aplicativo o suporte a mtodos e procedimentos de segurana, por meio da
utilizao de sesses e mtodos de criptografia. Desse modo, h um ganho de tempo, pois o
programador no necessita desenvolver essa implementao, minimizando as dificuldades de
elaborao das codificaes exigidas. J o servidor de aplicao, neste caso denominado
Zope, armazena o gerenciador de contedo e as informaes da aplicao nele contida. Alm
disso, possibilita a utilizao de sistemas gerenciadores de banco de dados, que permitem que
grandes volumes de dados sejam armazenados, consultados, alterados e removidos com
eficincia e agilidade, complementando ainda mais a funcionalidade das aplicaes. Para
tanto, utiliza a linguagem padro para esse tipo de finalidade, o SQL. O sistema gerenciador
de banco de dados utilizado nesse trabalho o MySQL (MYSQL, 2010), em funo de sua
diversidade de recursos, reconhecimento no mercado, tipo de licena de uso e tradio.

2.5

Redes

A utilizao de computadores para auxiliar na resoluo de problemas uma tendncia


mundial que j vem sendo utilizada desde a dcada de 80. Em geral, a ajuda provida por esse
tipo de equipamento fornecida por meio do desenvolvimento de softwares, ou de programas,
denominados aplicativos. Esses aplicativos por sua vez, tm funcionalidades especficas e so
comercializveis, ou ainda podem ser desenvolvidos por empresas especializadas, adequados
s necessidades do cliente. O fato que, de maneira geral, as empresas possuem um nmero
reduzido de computadores.
Segundo BARROS (1997), com o advento da informtica, que obteve uma maior
popularizao com a abertura de reserva de mercado e a conseqente queda de preos desse
tipo de equipamento, as empresas naturalmente se informatizaram. No entanto, para que todos
os computadores adquiridos possam ser utilizados plenamente, so necessrias cpias de um

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

Um dos requisitos necessrios para que computadores possam trabalhar em rede a


conectividade entre eles. Conectividade pode ser descrita como a forma ou mtodo como os
computadores se interligam. Em geral, so necessrios equipamentos de interconexo de rede
e um meio fsico pelo qual as informaes sero transmitidas.
Os equipamentos de interconexo mais populares so os switches e os roteadores. Os
switches possibilitam que computadores pertencentes a uma mesma rede sejam fisicamente
interligados via cabo. Esse tipo de equipamento normalmente possui oito, dezesseis ou vinte e
quatro portas. O nmero de computadores que podem ser interligados equivalente ao
nmero de portas disponveis nesse tipo de equipamento. Cada porta do switch est associada
a um computador distinto por meio de um cabo de rede. Cabe ressaltar que essas associaes
caracterizam um caminho nico e exclusivo entre o switch e o computador, ao contrrio de

28

dispositivos menos seguros e de baixo rendimento utilizados anteriormente denominados


hubs.
Os roteadores possibilitam que redes distintas se comuniquem entre si, permitindo
assim, que uma matriz se comunique com suas filiais entre inmeras outras possibilidades.
Os meios fsicos mais comuns utilizados atualmente so cabos, fibras ticas e
radiofreqncia. A diferena entre cada um deles, alm obviamente da natureza de cada um,
so a velocidade e a eficincia da transmisso de dados e o custo de implementao. Os meios
mais comuns so os cabos de par tranado e radiofreqncia, pois possuem custo
relativamente baixo e rendimento aceitvel para ambientes domsticos e comerciais de
pequeno e mdio porte e redes locais. Porm, as empresas de grande porte ou de grande
volume de trfego de dados e na interconexo entre matriz e filiais, em geral, optam por
conexes de fibra tica, muito mais rpidas, mas com custo muito mais elevado.
Os equipamentos de rede necessrios para o pleno funcionamento da soluo proposta
so os normalmente utilizados em uma rede local padro: um switch, para interconexo dos
equipamentos pertencentes a uma mesma rede local e um gateway12, que possibilita a
comunicao entre eles.

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

Este captulo apresenta a arquitetura proposta para o sistema de registro eletrnico de


ponto com gerenciamento remoto. apresentada, ainda, a arquitetura lgica e o prottipo
desenvolvido para validar os componentes previstos nesse trabalho, as interfaces grficas e o
registro dos testes executados.

3.1

Arquitetura fsica proposta

Os principais elementos sistmicos presentes na arquitetura proposta neste trabalho


so mostrados na Figura 1.

Figura 1: Componentes da arquitetura proposta

31

Na Figura 1 esto previstos mdulos para atender as especificidades regulamentadas


pela portaria nmero 1510 do Ministrio do Trabalho e Emprego (MTE), sendo que esses so
baseados em software livre e cdigo aberto. As interfaces previstas na mencionada arquitetura
possibilitam que o usurio utilize e acesse os recursos do sistema por diversos meios. A
portaria 1510 do MTE exige somente a utilizao de um registrador eletrnico de ponto
(COMP.LOCAL) que utilizado exclusivamente para esse fim, com capacidade de
funcionamento ininterrupto por um perodo mnimo de mil quatrocentos e quarenta horas na
ausncia de energia eltrica, recurso esse fornecido na arquitetura proposta por meio de uma
unidade ininterrupta de energia eltrica (UPS). O registrador eletrnico de ponto deve estar
conectado diretamente a uma impressora interna ou externa (IMP.) a fim de possibilitar a
impresso dos comprovantes individuais de registro de ponto. O mdulo local representado
pelo registrador eletrnico de ponto, pela impressora e pela fonte de energia secundria
(UPS).
O mdulo remoto complementa as funcionalidades do registrador eletrnico de ponto
que esto relacionadas com o acesso remoto, o qual denominado gerenciamento remoto.
Esse mdulo composto por outros componentes que foram previstos com a finalidade de
permitir o acesso remoto aos recursos do sistema proposto. Esse recurso possibilita o acesso
s informaes cadastrais, referentes aos registros armazenados em uma base de dados
instalada em um servidor especfico (SERV.) na rede local. O meio para acessar essas
funcionalidades pode ser de modo local, via rede local (RLOC.), ou ainda por meio da rede
mundial de computadores (internet INT.). Esse ltimo com a utilizao de programas que
permitem aos usurios a interagirem com documentos virtuais por meio de navegadores web
(browser), disponveis em computadores (COMP.REMOTO), notebooks (NOTE.), celulares
(IPH.) ou qualquer outro tipo de equipamento eletrnico com possibilidades de acesso
internet.
O roteador (ROT.) presente na arquitetura tem por finalidade permitir que as
informaes sejam acessadas por meio dos padres de hardware e software definidos para
utilizar a rede mundial de computadores (INT.).
Em sistemas de registro de presena comum a utilizao de dispositivos
biomtricos13. Atualmente, este termo tambm associado medida de caractersticas fsicas
ou comportamentais das pessoas como forma de identific-las unicamente. usada na
13

Biometria:[bio (vida) + metria (medida)]. o estudo estatstico das caractersticas fsicas ou comportamentais
dos seres vivos

32

identificao criminal, no controle de acesso a reas restritas, entre outras aplicaes. Os


sistemas chamados biomtricos podem basear o seu funcionamento em caractersticas de
diversas partes do corpo humano, como por exemplo: os olhos, a palma da mo, as digitais do
dedo, a retina ou ris dos olhos. A premissa em que se fundamentam a de que cada indivduo
nico e possu caractersticas fsicas e de comportamento distintas.
A arquitetura do prottipo elaborada para esse trabalho no prev a utilizao de
mecanismos biomtricos como tipo de identificao, pois este tipo de mecanismo no
exigido pela portaria 1510 do MTE. Os mecanismos de autenticao utilizados neste trabalho
so triviais e sobretudo, funcionais, pois so baseados na utilizao de usurio e senha, como
a grande maioria dos servios oferecidos atualmente. importante destacar que a utilizao e
o suporte aos mecanismos de identificao biomtrica podem ser incorporados a aplicao
apresentada nesse trabalho, bastando para tanto, efetuar a adequao do mdulo de registro de
usurio. O mesmo conceito poder ser aplicado a utilizao de crachs com cdigos de barras,
cujos problemas de uso no se limitam somente ao equipamento de leitura, mas tambm a
fragilidade e o desgaste dos cdigos de barras impressos que tambm podem impossibilitar o
registro de ponto. Apesar desses tipos de equipamentos no serem exigidos pela portaria 1510
do MTE, a arquitetura proposta nesse trabalho elucida em qual contexto esses dispositivos
estariam inseridos se fossem necessrios inclu-los. Para tanto, foram especificados um leitor
biomtrico de impresses digitais (BIO.) e um leitor de cdigo de barras (COD.), ambos
presentes no mdulo local.

3.2

Requisitos de hardware e software

Segundo MTE (2009), os requisitos de hardware e software necessrios para


funcionamento e comercializao dos registradores eletrnicos de ponto so listados na
Tabela 1 e Tabela 2. Nessas tabelas, os requisitos de software indicados com a letra X na
coluna apto so atendidos pelo sistema desenvolvido neste trabalho.

33

Tabela 1: Requisitos exigidos pela Portaria 1510 primeira fase

Item

Descrio de requisitos

O sistema de registro eletrnico de ponto deve


registrar fielmente as marcaes efetuadas.
Para a utilizao de sistema de registro eletrnico de
ponto obrigatrio o uso do registrador eletrnico de
ponto (REP) no local de prestao de servio.
O REP dever apresentar relgio interno de tempo
real com preciso mnima de um minuto por ano.
O REP dever apresentar mostrador do relgio de
tempo real contendo hora, minutos e segundos.
O REP dever dispor de mecanismo impressor em
bobina de papel, integrado e de uso exclusivo do
equipamento.
O REP dever dispor de um meio de armazenamento
permanente, denominado Memria de Registro de
Ponto (MRP), onde ficaro armazenados os dados
necessrios operao de REP.
Na memria permanente (MRP) dever ser gravado
as operaes de incluso ou alterao das
informaes do empregador na MT.
Na memria permanente (MRP) dever ser gravado
as marcaes de ponto.

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

Tabela 2: Requisitos exigidos pela Portaria 1510 segunda fase

Item

Descrio requisitos

Na memria permanente (MRP) dever ser gravado


os ajustes do relgio interno.
Na memria permanente (MRP) dever ser gravado
as operaes de incluso, alterao e excluso de
dados do empregado na MT.
O REP dever dispor de um meio de armazenamento,
denominado Memria de Trabalho (MT), onde
ficaro armazenados os dados necessrios operao
de REP.
Na memria de trabalho (MT) dever ser armazenado
os dados referentes ao empregado.
Na memria de trabalho (MT) dever ser armazenado
os dados referentes ao empregador.
O REP dever ter uma porta padro USB externa,
denominada porta fiscal.
O REP no dever depender de qualquer conexo
com outro equipamento externo para a marcao do
ponto.
A marcao de ponto ficar interrompida quando for
feita qualquer operao que exija a comunicao com
o REP com qualquer outro equipamento, seja para
carga ou leitura de dados.
A marcao do ponto dever ocorrer na seguinte
ordem: receber diretamente a identificao do
trabalhador, sem interposio de outro equipamento;
obter a hora do relgio de tempo real; registrar a
marcao de ponto na MRP; imprimir o comprovante
do trabalhador.
Gerao do arquivo-fonte de dados (AFD) a partir
dos dados armazenados na MRP.
Gravao do AFD em dispositivo externo de
memria, por meio da porta fiscal.
Emisso da relao instantnea de marcaes com as
marcaes efetuadas nas vinte e quatro horas
precedentes.
Emisso do comprovante de registro de ponto do
trabalhador para o empregado acompanhar, a cada
marcao, o controle de sua jornada de trabalho.

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

Nesta seo apresentada a arquitetura de lgica, contendo o comparativo dos


requisitos exigidos e os atendidos, os casos de uso grfico e textuais e o diagrama de classes
que foram identificados e analisados para a implementao do sistema, sendo validados por
meio de testes prticos.

3.3.1

Requisitos exigidos pela portaria e implementados pelo trabalho

Na subseo 3.2, nas Tabelas 1 e 2, so listados os 21 requisitos identificados durante


o levantamento de requisitos exigidos pela portaria no. 1510, dos quais 14 so implementados
por esse trabalho.
Na Tabela 1, o requisito item 1 implementado pelo mdulo de acesso local, por meio
do qual o usurio ao efetuar o registro eletrnico de ponto, no tem acesso algum s
informaes registradas na memria permanente (MRP). O mesmo ocorre para os usurios
que possuem acesso ao mdulo remoto, tambm no h disponvel uma interface grfica que
possibilite alterao dos dados registrados nos devidos meios de armazenamento, memria de
trabalho (MT) e permanente (MRP).
Os requisitos no funcionais: item 6 da Tabela 1 e item 3 da Tabela 2 so atendidos
por meio da utilizao de um banco de dados, contendo as tabelas MRP e MT,
respectivamente.
Os requisitos funcionais: item 7 e 8 da Tabela 1 e item 1, 2, 4 e 5 da Tabela 2 so
atendidos por scripts especficos de insero na tabela MRP.
O requisito funcional: item 9 da Tabela 2 atendido pelo script de registro do ponto
executado a partir do mdulo de acesso local.
O requisito funcional: item 10 da Tabela 2 atendido pela interface grfica Arquivos
de Fiscalizao por meio de acesso remoto no menu de Cadastros.
O requisito funcional: item 12 da Tabela 2 atendido pela interface grfica Espelho de
Ponto por meio de acesso remoto no menu de Relatrios.

36

O requisito funcional: item 13 da Tabela 2 atendido pelo script de registro do ponto


executado a partir do mdulo de acesso local.

3.3.2

Casos de uso grficos

As principais funcionalidades identificadas e implementadas so representadas por


meio do diagrama de caso de uso local e remoto do sistema, conforme apresentado na Figura 2
e Figura 3, respectivamente.

Acesso Local

Figura 2: Caso de Uso Grfico para o acesso local

37

Na Figura 3 representado as funcionalidades identificadas para o acesso remoto.

Acesso Remoto

Figura 3: Caso de Uso Grfico para o acesso remoto

3.3.3

Casos de uso textuais

Baseado no levantamento de requisitos de software, apresentados na subseo 3.3.1


so identificados os casos de uso (Use Case - UC) listados nessa subseo. Os casos de uso
textuais formalizam as funcionalidades identificadas e descrevem o comportamento do
sistema sob a viso dos usurios finais, analistas e equipe de testes.

3.3.3.1 Casos de uso do mdulo local

Nessa subseo so descritos os casos de uso necessrios para o desenvolvimento do


mdulo local.

38

3.3.3.1.1 UC Efetuar login

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.

3.3.3.1.2 UC Validar acesso

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.

3.3.3.1.3 UC Registrar entrada/sada

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

Em seguida, o caso de uso UC Gerar comprovante acionado, conforme apresentado na


subseo 3.3.3.1.4. Esse caso de uso finalizado.

3.3.3.1.4 UC Gerar comprovante

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.

3.3.3.1.5 UC Ajustar relgio

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.

3.3.3.2 Casos de uso do mdulo remoto

Nessa subseo so descritos os casos de uso necessrios para o desenvolvimento do


mdulo remoto.

40

3.3.3.2.1 UC Efetuar login

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.

3.3.3.2.2 UC Validar acesso

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.

3.3.3.2.3 UC Manter tipos de usurios

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.

3.3.3.2.4 UC Manter tipos de operaes

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

3.3.3.2.5 UC Manter tipos de identificao

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.

3.3.3.2.6 UC Manter tipos de identificao de registros

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

O usurio seleciona a opo de consulta no menu de opes. Escolhe a interface


grfica referente a tipos de identificao de registro. 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 de registro 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.

3.3.3.2.7 UC Manter grupos de usurios

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.

3.3.3.2.8 UC Manter usurios

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.

3.3.3.2.9 UC Enviar mensagem

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.

3.3.3.2.10 UC Gerar arquivos da fiscalizao

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.

3.3.3.2.11 UC Gerar espelho de ponto

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

Na Figura 4 representado o diagrama de classe conceitual simplificado do sistema


proposto. Contm as principais classes e suas respectivas multiplicidades identificadas nessa
etapa. Os mtodos identificados so descritos no fluxograma analtico de acesso local e
remoto.

Figura 4: Diagrama de Classes

47

3.4

Prottipo

Nesta seo so apresentadas a arquitetura de hardware e software que foram


utilizados nos testes prticos para validao do proposto sistema de registro eletrnico de
ponto, conforme apresentado na Figura 5. A representao do mdulo local utilizado para
efetuar o registro eletrnico de ponto realizada pelo item 1 e a representao do mdulo de
acesso remoto utilizado para gerenciamento pelo item 2. A conectividade de rede
proporcionada pelo uso de roteador, representado pelo item 3. A impresso do comprovante
de registro de ponto feita por meio do item 4.

Item 2
Item 1

Item 4

Item 3

Figura 5: Equipamentos utilizados nos testes prticos

3.4.1

Arquitetura do prottipo

Neste prottipo foram realizados os testes para validar os principais blocos da


arquitetura proposta neste trabalho, os quais esto representados na Figura 6. A arquitetura

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.

Figura 6: Arquitetura do prottipo

Na Figura 6, o computador servidor utilizado possui os seguintes softwares instalados


para o funcionamento do sistema desenvolvido, a saber: sistema operacional GNU/Linux
distribuio Debian Lenny verso 5.06 (DEBIAN, 2010) compilado para a plataforma Intel

49

x86 de 32 bits, linguagem de programao python (PYTHON, 2010) e o servidor de aplicao


Zope (ZOPE, 2010) com o framework web Plone (PLONE, 2010). Alm disso, no mdulo
local, o computador local foi configurado com o sistema operacional principal que reproduz
os requisitos de hardware exigidos pela portaria 1510 para a produo do dispositivo de
registro eletrnico de ponto.
Os softwares utilizados so os mesmos do computador servidor. Cada uma das
mquinas possui um endereo de rede distinto e o ambiente prov conectividade de rede entre
elas pela utilizao de roteadores ou outro tipo de equipamento de infra-estrutura de redes. A
impressora (IMP.) utilizada tem como nica finalidade a impresso dos comprovantes de
registro de ponto, conforme previsto na portaria do MTE.

3.4.2

Programa de gerenciamento

O sistema proposto baseado na linguagem de programao python. A interface


grfica disponvel nos navegadores web, local ou remotamente, provida pelo framework
web plone, que por sua vez, instalado no servidor de aplicaes Zope. Ambos os softwares
so desenvolvidos em linguagem python, compatveis entre si. Os softwares utilizados nesta
arquitetura de prottipo (python, zope, plone e mysql) so multiplataforma, e sua utilizao
garante a compatibilidade com uma grande variedade de sistemas operacionais e arquiteturas
de computadores. Esse fator traz como conseqncia direta a capacidade de expanso nas
possveis solues de hardware e software suportadas.
No mdulo local, a interface com o usurio baseada em um navegador web. A
impresso dos comprovantes de registro de entrada e sada gerada em Formato de
Documento para Impresso (Printable Document Format - PDF) diretamente para a
impressora.
As principais funcionalidades exigidas pela portaria nmero 1510 esto presentes na
soluo proposta e so realizadas com a execuo de scripts python associados a aes
especficas, previstas previamente, disparadas pela interao do usurio com os formulrios.
Algumas funcionalidades tambm so disparadas por tarefas agendadas do sistema, tais como,
sincronizao do banco de dados da aplicao com a memria de trabalho (MT) disponvel no
registrador eletrnico de ponto.

50

O algoritmo do programa de gerenciamento de acesso local neste trabalho executa,


principalmente, os seguintes passos:

Passo 1 Iniciar acesso a sistema local?


No, verificar algoritmo de acesso remoto.
Sim, acessar o sistema de registro eletrnico de ponto.
Executar Passo 2.

Passo 2 Informar usurio e senha.

Passo 3 Acesso vlido?


No, retorna ao Passo 2.
Sim, validar usurio na memria de trabalho (MT).
Executar Passo 3.

Passo 3 Usurio vlido na memria de trabalho?


No, retorna ao Passo 2.
Sim, efetuar o registro eletrnico de ponto, gravando na memria de registro de
ponto (MRP). Emitir o comprovante de entrada e sada.
Executar Passo 4.

Passo 4 Efetuar o logout.


Finaliza a operao.
Executar Passo 1.

O fluxograma analtico que representa essas operaes representado na Figura 7. A


operao em modo de acesso local, tem por objetivo efetuar o registro eletrnico de ponto. O
usurio informa o seu nmero de identificao e senha respectivamente. O programa de
gerenciamento local valida essas informaes na memria de trabalho (MT) do banco de
dados da aplicao disponvel no registrador eletrnico de ponto, registra o ponto e emite o
comprovante de registro. Efetua logout , permitindo o registro de ponto do prximo usurio.

51

Vide Figura 8

Figura 7: Fluxograma de acesso local

No mdulo de gerenciamento remoto esto disponveis informaes referentes aos


colaboradores, empregadores, registro de ponto. Esses dados so armazenados em tabelas do
tipo Linguagem Estruturada de Pesquisa (Structured Query Language - SQL). Para que esses

52

dados possam ser manipulados, organizados e consultados de maneira eficiente, necessria a


utilizao de um Sistema Gerenciador de Banco de Dados (SGBD). Nessa arquitetura do
prottipo, optou-se pelo SGBD livre MySQL (MYSQL, 2010). As janelas de cadastro, edio,
remoo e consulta de dados foram elaboradas com a utilizao de mdulos de software
disponveis para o framework web Plone. Um desses plugins adicionais, o PloneFormGen,
utilizado para a elaborao e personalizao de formulrios. A instalao de um plugin
denominado MySQLdb tambm foi necessrio, uma vez que o framework web Plone no
possui suporte a esse SGBD originalmente.
O algoritmo do programa de gerenciamento de acesso remoto neste trabalho executa,
principalmente, os seguintes passos:

Passo 1 Iniciar acesso a sistema local?


No, acessar o sistema de gerenciamento remoto.
Executar Passo 2.
Sim, verificar algoritmo de acesso local.
Executar Passo 1 do sistema de registro eletrnico de ponto, acesso local.

Passo 2 Informar usurio e senha.

Passo 3 Acesso vlido?


No, retorna ao Passo 2.
Sim, exibir pgina com opes de gerenciamento remoto.
Executar Passo 4.

Passo 4 Pgina com opes de menus.

Passo 5 Opo escolhida Menu de Cadastros?


No, executar Passo 6.
Sim, executar Passo 8.

Passo 6 Opo escolhida Menu de Consultas?


No, executar Passo 7.
Sim, executar Passo 9.

53

Passo 7 Opo escolhida Menu de Relatrios?


No, executar Passo 28.
Sim, executar Passo 10.

Passo 8 Exibe opes do Menu de Cadastros.


Executar Passo 11.

Passo 9 Exibe opes do Menu de Consultas.


Executar Passo 20.

Passo 10 Exibe opes do Menu de Relatrios.


Executar Passo 27.

Passo 11 Opo escolhida Arquivos de Fiscalizao?


No, executar Passo 12.
Sim, extrair os arquivos de Fiscalizao.
Retorna Passo 4.

Passo 12 Opo escolhida Tipos de Usurios?


No, executar Passo 13.
Sim, exibir a interface grfica para cadastro e alterao de tipos de usurios.
Retorna Passo 4.

Passo 13 Opo escolhida Grupos de Usurios?


No, executar Passo 14.
Sim, exibir a interface grfica para cadastro e alterao de grupos de usurios.
Retorna Passo 4.

Passo 14 Opo escolhida Tipos de Identificao?


No, executar Passo 15.
Sim, exibir a interface grfica para cadastro e alteraes de tipos de identificao.
Retorna Passo 4.

54

Passo 15 Opo escolhida Usurios?


No, executar Passo 16.
Sim, exibir a interface grfica para cadastro e alteraes de usurios.
Retorna Passo 4.

Passo 16 Opo escolhida Mensagens Gerais?


No, executar Passo 17.
Sim, exibir a interface grfica para cadastro de mensagens gerais.
Retorna Passo 4.

Passo 17 Opo escolhida Tipos de Mensagens?


No, executar Passo 18.
Sim, exibir a interface grfica para cadastro e alteraes de tipos de mensagens.
Retorna Passo 4.

Passo 18 Opo escolhida Tipos de Identif. Registros?


No, executar Passo 19.
Sim, exibir a interface grfica para cadastro e alteraes de tipos de identificao de
registros.
Retorna Passo 4.

Passo 19 Opo escolhida Tipos de Operaes?


No, executar Passo 28.
Sim, exibir a interface grfica para cadastro e alteraes de tipos de operaes.
Retorna Passo 4.

Passo 20 Opo escolhida Tipos de Usurios?


No, executar Passo 21.
Sim, exibir a interface grfica para consulta e excluso de tipos de usurios.
Retorna Passo 4.

Passo 21 Opo escolhida Grupos de Usurios?


No, executar Passo 22.
Sim, exibir a interface grfica para consulta e excluso de grupos de usurios.

55

Retorna Passo 4.

Passo 22 Opo escolhida Tipos de Identificaes?


No, executar Passo 23.
Sim, exibir a interface grfica para consulta e excluso de tipos de identificaes.
Retorna Passo 4.

Passo 23 Opo escolhida Usurios?


No, executar Passo 24.
Sim, exibir a interface grfica para consulta e excluso de usurios.
Retorna Passo 4.

Passo 24 Opo escolhida Tipos de Identif. de Registros?


No, executar Passo 25.
Sim, exibir a interface grfica para consulta e excluso de tipos de identificao de
registros. Retorna Passo 4.

Passo 25 Opo escolhida Tipos de Operaes?


No, executar Passo 26.
Sim, exibir a interface grfica para consulta e excluso de tipos de operaes.
Retorna Passo 4.

Passo 26 Opo escolhida Tipos de Mensagens?


No, executar Passo 28.
Sim, exibir a interface grfica para consulta de tipos de mensagens.
Retorna Passo 4.

Passo 27 Opo escolhida Espelho de Ponto?


No, executar Passo 28.
Sim, extrair o relatrio de Espelho de Ponto.
Retorna Passo 4.

Passo 28 Efetuar o logout.


Finaliza a operao.

56

O fluxograma analtico que representa essas operaes representado na Figura 8. A


operao em modo de acesso remoto, tem por objetivo permitir a manuteno dos dados
cadastrais, bem como, a gerao dos relatrios de espelho de ponto. A operao efetuada
conforme o modo de acesso local, porm, uma vez autenticado, o programa de gerenciamento
remoto habilita os menus de cadastros, consultas e relatrios.

57

Figura 8: Fluxograma de acesso remoto

58

3.4.3

Interface grfica

Nessa subseo so apresentadas as interfaces grficas obtidas durante diferentes


etapas de execuo do software em questo. As interfaces grficas disponveis no sistema
proposto so auto-explicativas e conseqentemente, intuitivas.
As interfaces correspondentes s funes de autenticao, cadastro, atualizao,
consulta, excluso e relatrios, so apresentadas a seguir da seguinte maneira: registro do
ponto, inicial, acesso, menu principal, cadastros, consultas e relatrios com respectivas
descries.
A Figura 9 apresenta a hierarquia de interfaces disponveis no sistema e que esto
representadas nessa subseo.

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

Figura 9: Hierarquia de Interfaces disponveis no sistema mdulo remoto

59

A Figura 10 apresenta a hierarquia das interfaces disponveis no mdulo local para


efetuar o registro eletrnico de ponto. As interfaces destacadas esto representadas nessa
subseo.

Con1irmao
deRegistro
Efetuado

Comprovante
Emitido

Figura 10: Hierarquia de Interfaces disponveis no sistema mdulo local

A Figura 11 mostra a interface utilizada pelo usurio no mdulo local de registro


eletrnico de ponto, sendo necessria efetuar a autenticao do usurio. Aps a validao do
acesso do usurio, o comprovante de entrada e/ou sada gerado automaticamente e
direcionado para a impressora conectada ao sistema, conforme apresentado na arquitetura
proposta.

60

Figura 11: Interface grfica do sistema de registro eletrnico de ponto

A Figura 12 apresenta a interface grfica inicial disponvel para qualquer usurio e


para o administrador com possibilidade de acesso remoto. Nesse contexto necessria uma
autenticao para que o usurio tenha acesso a informaes de registro de ponto, informaes
essas consideradas confidenciais e de visualizao controlada.

Figura 12: Interface grfica do sistema remoto interface inicial

A Figura 13 mostra o usurio, j autenticado, tendo acesso aos mdulos disponveis de


cadastro, consultas e relatrios no menu principal do sistema. O acesso feito remotamente.

61

Na parte superior direita da Figura 13 possvel observar o nome do usurio


autenticado e a opo para efetuar sada do sistema de gerenciamento remoto.

Figura 13: Interface grfica do sistema remoto menu principal

A Figura 14 mostra um usurio j autenticado, com acesso aos menus de cadastros


disponveis no sistema. Por meio deste possvel fazer o acesso a opo de extrao de dados
referentes aos registros eletrnicos de ponto exigidos pela portaria 1510 e efetuar os cadastros
relativos a usurios, grupos de usurios, mensagens gerais, tipos de identificao de registros
e usurios, tipos de operaes, usurios e mensagens.

62

Figura 14: Interface grfica do menu cadastros

A Figura 15 mostra o cadastro de tipos de usurios, no qual possvel inserir novos


tipos de usurios, registrando o usurio e data de criao do registro no banco de dados do
servidor (SERV.) representado na Figura 1.

Figura 15: Interface grfica do cadastro de tipos de usurios

63

A Figura 16 mostra um usurio j autenticado, com acesso aos menus de atualizao de


tipos de usurios para editar as propriedades de um cadastro desse tipo, que j tenha sido
armazenado no sistema.

Figura 16: Interface grfica de edio de tipos de usurios

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

Figura 17. Interface grfica do menu de consultas

A Figura 18 mostra um usurio j autenticado, com acesso aos menus de consulta de


tipos de usurios. apresentada a lista de tipos de usurios cadastrados no sistema com as
suas devidas descries. Por meio dessa janela possvel excluir um tipo de usurio, desde
que o mesmo no tenha sido utilizado anteriormente. Essa integridade mantida pelo SGBD.

65

Figura 18. Interface grfica utilizada para consultar os tipos de usurios

A Figura 19 mostra um usurio j autenticado, com acesso aos menus de relatrios. O


usurio poder extrair o relatrio de espelho de ponto disponvel nessa janela.

Figura 19. Interface grfica do menu de relatrios

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.

3.4.4.1 Acesso local e operao dedicada

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.

Figura 20: Informaes de usurios registradas na memria de trabalho

67

Aps o usurio informar os dados de usurio e senha vlidas, as informaes


necessrias para identificao do registro eletrnico de ponto so gravadas na memria
permanente (MRP), conforme mostrado na Figura 21. Essas informaes so utilizadas na
gerao do relatrio de espelho do ponto, pois possvel recuperar o nome do usurio e os
horrios registrados de trabalho.

Figura 21: Informaes registradas na memria permanente

Em seguida, o sistema apresenta a janela principal com a mensagem de registro


eletrnico efetuado com sucesso, conforme mostrado na Figura 22.

Figura 22: Interface grfica de confirmao de registro eletrnico de ponto

68

Na Figura 23 apresentado o comprovante de registro eletrnico de ponto emitido por


meio de impressora acoplada ao equipamento local com informaes fictcias.
Retorna interface grfica de acesso, conforme apresentada na Figura 11 para que o
prximo usurio efetue o registro eletrnico do ponto.

Figura 23: Comprovante de registro eletrnico de ponto

3.4.4.2 Acesso remoto e mdulo de gerenciamento

Para ter acesso ao mdulo de gerenciamento e acesso remoto, necessrio que o


usurio do sistema informe a identificao e senha, conforme apresentado na Figura 24.

Figura 24: Interface grfica do sistema de registro - acesso remoto

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.

Aps o usurio informar os dados de usurio e senha vlidas, o sistema apresenta a


janela com as opes de acesso a menus conforme Figura 12.
Permite que os usurios cadastrados no sistema possam extrair o relatrio de espelho
de ponto por meio da opo de menu relatrios.
Esse recurso apresentado na Figura 14, permite ao usurio administrador efetuar
diversos cadastros, principalmente, de novos usurios para que os mesmos possam efetuar o
registro eletrnico de ponto.
Na opo de cadastro de:
Tipos de usurios, so inseridas os tipos de usurios pr-definidos que podero acessar
o sistema, como por exemplo, Empregador, Empregado, Administrativo etc.
Grupos de usurios, so inseridos os grupos de usurios que utilizaro o sistema, como
por exemplo, Tcnicos, Administradores etc.
Tipos de identificao, so inseridos os tipos de documentos que podero ser
utilizados como identificadores do usurio, como por exemplo, CNPJ, CPF, PIS, login etc.
Usurios, so cadastrados os usurios que podero efetuar o registro eletrnico de
ponto, bem como o acesso remoto para extrao do relatrio de espelho de ponto, conforme
previsto na portaria 1510.
Mensagens, so cadastradas as mensagens de emails para serem enviadas internamente
aos usurios do sistema.
Tipos de identificao de registros, so inseridos os tipos de registros que so
modificados. Ao incluir ou alterar informaes de registros do tipo empregador, registros do
tipo empregado, registros do tipo de marcao de ponto e registros de ajuste de relgio, os
dados devem ser atualizados na MRP, identificados conforme o tipo de registro alterado.
Tipos de operao, so inseridas as operaes possveis, como por exemplo, incluso,
atualizao ou excluso de informaes pertinentes ao empregador, empregado, ajuste do
relgio e marcao de ponto.
Na Figura 25 apresentado a interface grfica de gerao de arquivos de fiscalizao,

70

referentes s marcaes dos horrios de entrada e sada dos funcionrios, exigidos pela
portaria.

Figura 25: Interface grfica para gerao dos arquivos da fiscalizao

3.4.5

Resultados

Os resultados obtidos com o prottipo do software foram satisfatrios, pois atenderam


aos requisitos de software listados e identificados como aptos nas Tabelas 1 e 2 da subseo
3.2. Os fatores levados em considerao nessa avaliao foram os quesitos de desenho e
usabilidade da interface grfica, a funcionalidade oferecida pela soluo e sua
correspondncia com os requisitos exigidos pelo portaria numero 1510 e as possibilidades de
atualizao e manuteno dos mdulos que compem a aplicao.
A proposta de arquitetura apresentada vivel para a aplicao a qual se destina e
atende a maioria dos requisitos funcionais exigidos pela portaria que regulamenta o registro
eletrnico de ponto, requisitos esses destacados nas Tabelas 1 e 2, da subseo 3.2. Alm de
ser baseada em software livre a soluo proposta tambm faz uso de tecnologias e linguagens
com documentao disponvel.

71

CAPTULO 4. CONCLUSES E TRABALHOS FUTUROS

Os sistemas baseados em software livre para registros eletrnicos de ponto disponveis


esto em sua grande maioria descontinuados e so anteriores publicao da portaria do
Ministrio do Trabalho e Emprego de nmero 1510. As opes que supostamente continuam
em desenvolvimento tambm no so compatveis com essa portaria.
A arquitetura proposta nesse trabalho, no mbito de software e hardware, capaz de
efetuar o registro eletrnico de ponto em conformidade com o previsto na mencionada
portaria. Os recursos necessrios para a utilizao do sistema so triviais, no exigem
interfaces grficas e softwares de desenvolvimentos com esforo computacional significativo,
ou nem mesmo um grande nmero de bibliotecas especficas. A interface com o usurio pode
ser implementada mediante o uso de navegadores disponveis no mercado, baseado em texto,
por exemplo.
A validao do software referente soluo de hardware adotada como registrador
eletrnico de ponto foi realizada em um computador local com o sistema operacional
principal que reproduz os requisitos de hardware exigidos pela portaria de nmero 1510,
situao que no impe perda expressiva ao desempenho do sistema.
A soluo proposta atende aos requisitos da portaria 1510, especificados nas Tabela 1
e 2, das subseo 3.2 e possibilita aos seus utilizadores independncia de fornecedores de
software, uma vez que o trabalho foi todo implementado utilizando software livre. Desse
modo, futuras atualizaes da portaria, com novas exigncias, podem ser implementadas pela
equipe de tecnologia da informao da empresa que adota essa soluo ou ainda, por
desenvolvedores terceirizados contratados sem a necessidade da dependncia de um
desenvolvedor especfico responsvel pela venda do equipamento e/ou sistema.
A maior dificuldade encontrada no desenvolvimento do trabalho foi a utilizao ainda
limitada da plataforma Zope/Plone nesse tipo de aplicao. Desse modo, a soluo de
problemas por meio de pesquisas ou de maneira autodidata foi de grande valia para o
aprendizado das tecnologias envolvidas na confeco do trabalho. A obteno de informaes
e trocas de experincias no foi realizada somente via consulta de livros ou material na
internet, mas tambm com o contato direto com a comunidade de desenvolvedores de python

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

AGUIAR, T. L., S1 ponto, Outubro 2008. Disponvel em <http://sites.google.com/a/opens1.


com/s1ponto/install>. Consultado em 28 de setembro de 2010.
BARROS, J. R. M., Abril-Junho 1997. Avaliao do Processo de reestruturao Industrial
Brasileira. Disponvel em <http://geein.fclar.unesp.br/bibliografia/avaliacao_do_processo
_de_reestruturacao_industrial.pdf>. Consultado em 11 de dezembro de 2010.
BOOCH, G.; RUMBAUGH, J.; JACOBSON I., Uml Guia do Usurio. Editora Campus,
Segunda Edio, 2005.
BRASIL, Transporta - Portaria 1510, com novas normas para os relgios de ponto, deve ter
grande impacto na economia brasileira, Fevereiro 2010. Disponvel em <http://www.
transportabrasil.com.br/2010/02/portaria-1510-com-novas-normas-para-os-relogios-de-pontodeve-ter-grande-impacto-na-economia-brasileira/>. Consultado em 10 de dezembro de 2010.
DEBIAN. The universal operating system. Disponvel em <http://www.debian.org>.
Consultado em 28 de setembro de 2010.
FUZZER, I. B., wponto, Fevereiro 2009b. Disponvel em <http://www.ubuntero.com.br/?p=
650>. Consultado em 28 de setembro de 2010.
FUZZER, I. B., wponto, sistema de ponto eletrnico em php com suporte a vrios bancos de
dados, Junho 2009a. Disponvel em <http://sourceforge.net/projects/wponto/files/>.
Consultado em 28 de setembro de 2010.
G1, Adiado para maro de 2011 o prazo para adoo do novo ponto eletrnico, Agosto 2010.
Disponvel em <http://g1.globo.com/concursoseemprego/noticia/2010/08/mteadiaparamarco
de2011oprazoparaadocaodonovopontoeletronico.html>. Consultado em 28 de agosto de 2010.
LEAL, B. C., Sisponto - sistema de ponto eletrnico via browser em php e postresql, Junho
2008. Disponvel em <http://sourceforge.net/projects/sisponto/>. Consultado em 28 de
setembro de 2010.
MONTEIRO, J., Fim do ponto eletrnico somente com software livre, Junho 2008.
Disponvel
em
<http://www.guiadohardware.net/comunidade/ponto-montar/874769/>.
Consultado em 28 de setembro de 2010.
MTE, Ministrio do Trabalho e Emprego, 21 de agosto de 2009, Portaria nmero 1510.
Disponvel em <http://www.mte.gov.br/legislacao/portarias/2009/p_20090821_1510.pdf>.
Consultado em 28 de setembro de 2010.
MTE, Rep registrados no mte, Agosto 2010. Disponvel em <http://www.mte.gov.br/ponto
eletronico/rep.asp>. Consultado em 28 de setembro de 2010.

74

MYSQL, MySQL 5.5. Disponvel em <http://www.mysql.org>. Consultado em 28 de


setembro de 2010.
PAPIZAN, K., Php timeclock, 01 2006. Disponvel em <http://timeclock.sourceforge.net>.
Consultado em 28 de setembro de 2010.
PLONE CMS, Open Source Content Manager. Disponvel em <http://www.plone.org>.
Consultado em 28 de setembro de 2010.
PYTHON PROGRAMMING LANGUAGE, Official Website.
<http://www.python.org>. Consultado em 28 de setembro de 2010.
STALLMAN, R. M., Free software foundation, Agosto
<http://www.fsf.org>. Consultado em 28 de setembro de 2010.

2010.

Disponvel

Disponvel

em

em

WAGNER, R., Fingerfx2 - sistema de gerenciamento de ponto eletrnico com suporte a


biometria, Junho 2010. Disponvel em <http://www.linuxfx.org>. Consultado em 28 de
setembro de 2010.
ZOPE COMMUNITY, The Web Site for the Zope Community. Disponvel em
<http://www.zope.org>. Consultado em 28 de setembro de 2010.

75

APNDICE A Codificao

SCRIPT DE REGISTRO ELETRNICO DO PONTO NO MDULO LOCAL

#!/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

"Argumentos referentes a conexao: "


"-------------------------------- "
"ip: " + ip
"usuario: " + usuario
"senha: " + "(omitida por seguranca)"
"nome do banco: " + nomeDoBanco

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

def fecharConexao (conexao) :

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

def consultarUsuarioMT (conexao, usuario) :


try :
# Definindo o cursor
cursor = conexao.cursor()
# Consultando o usuario e a senha
sql = "SELECT loguser from mt"
cursor.execute(sql)
resultSet = cursor.fetchall()
chaveUsuario = False
for resultados in resultSet :
if (resultados[0] == usuario) :
chaveUsuario = True
if (chaveUsuario == True) :
print "Usuario logado com sucesso!"
else :
print "Dados invalidos!"
return chaveUsuario
except :
print
print "****************************************"
print "* Erro ao consultar a base de dados! *"
print "****************************************"
print

def gravarRegistroMRP (conexao, usuario) :


try :
# Definindo o cursor
cursor = conexao.cursor()
# Trazendo os dados do usuario da MT
sql = "SELECT * from mt WHERE loguser='" + usuario + "'"
cursor.execute(sql)
resultSet = cursor.fetchall()
# Passando os dados para as variaveis
for resultados in resultSet :
idmt = resultados[0]

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

"idmt: " + str(idmt)


"ididentreg: " + str(ididentreg)
"idtpidentif: " + str(idtpidentif)
"numidentif: " + str(numidentif)
"nropispasep: " + str(nropispasep)
"nrocei: " + str(nrocei)
"loguser: " + str(loguser)
"nomecompleto: " + str(nomecompleto)
"localserv: " + str(localserv)
"nrpfabricacao: " + str(nrofabricacao)

# Gravando registro na MRP


try :
sql = "INSERT INTO mrp (ididentreg, idtpoper, idtpidentif,
numidentif, nomecompleto, nropispasep, localserv, nrocei, idmt) VALUES (" +
str(ididentreg) + ", " + "1" + ", " + str(idtpidentif) + ", " + str(numidentif)
+ ", '" + str(nomecompleto) + "', " + str(nropispasep) + ", '" + str(localserv)
+ "', " + str(nrocei) + ", " + str(idmt) + ")"
cursor.execute(sql)
except :
print "Dados nao gravados na MRP!"
print
print "*************************************"
print "* Dados salvos com sucesso na MRP *"
print "*************************************"
print
except :
print
print "**************************************"
print "* Erro ao gravar na base de dados! *"
print "**************************************"
print

# Inicio do programa principal


# Importando as bibliotecas necessarias
import os
os.system("clear")
usuario = raw_input("Digite seu nome: ")
conexao = abrirConexao("127.0.0.1","root","","RegistroPonto")
validador = consultarUsuarioMT(conexao, usuario)
if (validador == True) :
gravarRegistroMRP(conexao, usuario)
else :

78
print
print "******************************"
print "* Nenhum dado salvo na MRP *"
print "******************************"
print
fecharConexao(conexao)

SCRIPT DE AJUSTE DE RELGIO NO MDULO LOCAL

#!/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
#
##########################################

def abrirConexao (ip, usuario, senha, nomeDoBanco) :


print
print
print
print
print
print
print
print

"Argumentos referentes a conexo: "


"-------------------------------- "
"ip: " + ip
"usuario: " + usuario
"senha: " + "(omitida por seguranca)"
"nome do banco: " + nomeDoBanco

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

def fecharConexao (conexao) :


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

def consultarUsuarioMT (conexao, usuario) :


try :
# Definindo o cursor
cursor = conexao.cursor()
# Consultando o usuario e a senha
sql = "SELECT loguser from mt"
cursor.execute(sql)
resultSet = cursor.fetchall()
chaveUsuario = False
for resultados in resultSet :
if (resultados[0] == usuario) :
chaveUsuario = True
if (chaveUsuario == True) :
print "Usuario logado com sucesso!"
else :
print "Dados invalidos!"
return chaveUsuario
except :
print
print "****************************************"
print "* Erro ao consultar a base de dados! *"
print "****************************************"
print

def gravarRegistroMRP (conexao) :


try :
# Definindo o cursor
cursor = conexao.cursor()
from datetime import date
hoje = date.today()

80
agora = time.strftime('%H:%M:%S')
print
print
print
print
print
print

"Data armazenada no banco de dados:


"---------------------------------hoje
"Hora armazenada no banco de dados:
"---------------------------------agora

"
"
"
"

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

# Inicio do programa principal


try :
os.system("clear")
print "Verificando rede..."
os.system("sudo /usr/sbin/ntpdate ntp.usp.br")
os.system("/bin/date")
print
print "*************************************"
print "*
Relogio atualizado com exito!
*"
print "*************************************"
print
except :
print
print "**************************************"
print "*
Erro ao atualizar relogio!
*"
print "**************************************"
print
# Importando as bibliotecas necessarias
import os
os.system("clear")
conexao = abrirConexao("127.0.0.1","root","","RegistroPonto")
gravarRegistroMRP(conexao)
fecharConexao(conexao)

SCRIPT PARA INCLUIR OU ALTERAR O TIPO DE USURIO NO MDULO REMOTO

81

from Products.PythonScripts.standard import url_quote


request = container.REQUEST
response = request.RESPONSE
form = request.form
try:
if request.desctpuser=='' and int(form.get('idtpuser', '-1')) < 0:
destination = 'http://localhost:8080/Plone/paginas/erro'
request.response.redirect(destination)
else:
if int(form.get('idtpuser', '-1')) >= 0:
#
if form.has_key('idtpuser'):
res = context.testReadRow().dictionaries()
if len(res) == 1:
row = res[0]
for key in row.keys():
form[key] = row[key]
id = row['idtpuser']
parameter = url_quote(id)
destination
'http://localhost:8080/Plone/atualizacoes/Tipos de Usuarios Update'
request.response.redirect(destination + "?idtpuser="
parameter)
else:

=
+

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 PARA ALTERAR O TIPO DE USURIO NO MDULO REMOTO

from Products.PythonScripts.standard import url_quote


request = container.REQUEST
response = request.RESPONSE
form = request.form
try:
if int(form.get('idtpuser', '-1')) >= 0:
context.testUpdateRow(idtpuser=request.idtpuser,
usercriacao=request.usercriacao,desctpuser=request.desctpuser)
destination = 'http://localhost:8080/Plone/paginas/sucesso'
request.response.redirect(destination)
else:
destination = 'http://localhost:8080/Plone/paginas/erro'
request.response.redirect(destination)
except:
destination = 'http://localhost:8080/Plone/paginas/erro'
request.response.redirect(destination)

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">

Os scripts referentes aos cadastros e alteraes das funcionalidades de tipos de usurios,


grupos de usurios, tipos de operao, tipos de identificao, tipos de identificao de registros,
tipos de mensagens e usurios so similares a estes, alterando-se os parmetros e tabelas do banco

83
de dados a serem utilizadas.

SCRIPT PARA CONSULTAR O TIPO DE USURIO

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>

Os scripts referentes s consultas e excluses das funcionalidades de tipos de usurios,


grupos de usurios, tipos de operao, tipos de identificao, tipos de identificao de registros,
tipos de mensagens e usurios so similares a esses, alterando-se os parmetros e tabelas do banco
de dados a serem utilizadas.

Você também pode gostar