12.07.2015 Views

TCC - Andre e Tiago V13.pdf - GSE

TCC - Andre e Tiago V13.pdf - GSE

TCC - Andre e Tiago V13.pdf - GSE

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SULFACULDADE DE INFORMÁTICACURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃOCAFE – Controle Automatizado de Freqüência EscolarporANDRÉ MAURICIO MARQUARDTTIAGO RIBEIRO DE ABREURelatório de Trabalho de ConclusãoProf. Dr. Eduardo BezerraOrientadorPorto Alegre, dezembro de 2007


ANDRÉ MAURICIO MARQUARDTTIAGO RIBEIRO DE ABREUCAFE – Controle Automatizado de Freqüência EscolarTrabalho de conclusão para obtenção dograu de Bacharel, pelo curso de Sistemas daInformação da Faculdade de Informática daPontifícia Universidade Católica do RioGrande do Sul.Orientador Prof. Dr. Eduardo BezerraPorto Alegre, novembro de 2007


ANDRÉ MAURICIO MARQUARDTTIAGO RIBEIRO DE ABREUCAFE – Controle Automatizado de Freqüência EscolarTrabalho de conclusão para obtenção dograu de Bacharel, pelo curso de Sistemas daInformação da Faculdade de Informática daPontifícia Universidade Católica do RioGrande do Sul.Aprovado em ____ de ___________ de ______.BANCA EXAMINADORA:___________________________________Prof. Dr. Eduardo Bezerra – PUCRS___________________________________Prof. Dr. Fabiano Passuelo Hessel – PUCRS___________________________________Prof. Dr. César Augusto Missio Marcon – PUCRS


Este trabalho é a conclusão de uma etapa essencial para o início de todas as outras.O dedicamos a todos que nos impulsionaram nessa direção.


AGRADECIMENTOSAgradecemos ao nosso orientador, Prof. Dr. Eduardo Bezerra, portodo auxílio e dedicação no acompanhamento desse trabalho.Aos demais professores que durante toda a graduação agregaramconhecimentos que foram essenciais para que esse trabalho pudesse ser elaborado.Aos colegas de trabalho, pelos incentivos diretos e indiretos, quesempre apoiaram e acreditaram na concretização dessa etapa.Aos colegas de estudo por todo o suporte técnico e emocional.E principalmente aos nossos familiares, que abdicaram de muito dosseus desejos para que pudéssemos realizar o nosso.


Perseverança é o trabalho duro que você fazdepois de ter se cansado de fazer o trabalho duro que você já fez.Newt Gingrich


RESUMOO sistema eletrônico de controle de freqüência proposto na presentemonografia contempla os componentes necessários para realizar a automação dacoleta e processamento da freqüência escolar.A solução baseia-se em gravar em um Smart Card, o qual é depropriedade do professor, a matrícula de todos os alunos, obtida na leitura do códigode barras de seus cartões, que assistirem à disciplina em um determinado dia ehorário. A coleta dessa informação é realizada através de um sistema, doravante“coletor”, que ficará instalado nas salas de aula e laboratórios.O processamento desses dados é realizado por um sistema, chamadode “processador”, o qual relaciona as disciplinas, professores e presenças, permitindoassim a geração de relatórios resumidos e detalhados sobre a freqüência dos alunosde um determinado professor.A utilização dos dois sistemas de forma integrada proverá aautomação do controle de freqüência, melhorando a utilização do tempo de aula,apurando a qualidade da informação e facilitando o fechamento de semestre eavaliações de faltas.Palavras-chave: controle de freqüência e presença, sistemas embarcados, smart card,código de barras, automação.


ABSTRACTTitle: Automated Control System for School AttendanceThe electronic control system proposed in this monograph encloses allnecessary components to automate the acquisition and the processing of the schoolattendance.The solution is based on writing into the teacher's Smart Card allstudents reference codes once they attend to a specific class. The reference code willbe collected from their barcode cards and each classroom will have a systeminstalled, called "collector". The collector will be responsible for acquiring all thisinformation and writing into the teacher's Smart Card.All this data will be processed by a system called "processor",associating classes, teachers and student's attendance. Therefore, this electroniccontrol system would generate specific and detailed reports about a teacher's classattendance.The integrated use of both systems together, will provide classattendance automation, enhancing the class time usage, the quality of theinformation, and will facilitate the semester's closing process and in-attendanceanalysis.Keywords: frequency and presence control, embedded systems, smart card, barcode,attendance automation.


LISTA DE FIGURASFigura 1: Exemplo de Código de Barras...........................................................................6Figura 2: Carteira de estudante da PUC-RS......................................................................6Figura 3: Diagrama de caso de uso geral ........................................................................11Figura 4: Fluxo para ação de coleta de dados .................................................................12Figura 5: Diagrama de caso de uso do sistema de coleta................................................13Figura 6: Placa basix da Gumstix....................................................................................14Figura 7: Equipamento da Renesas.................................................................................15Figura 8: Funcionamento do protocolo I 2 C.....................................................................20Figura 9: Estrutura de Memória do Smart card...............................................................22Figura 10: Estrutura de início dos dados.........................................................................23Figura 11: Ponteiro de próxima gravação .......................................................................23Figura 12: Ponteiro para última leitura ...........................................................................24Figura 13: Processo de coleta de dados...........................................................................25Figura 14: Estado de memória vazia...............................................................................26Figura 15: Registro de início de aula ..............................................................................27Figura 16: Registro de presença de um aluno .................................................................27Figura 17: Registro de presença de vários alunos...........................................................28Figura 18: Registro de início de aula com cartão já utilizado.........................................28Figura 19: Registro de alunos com cartão já utilizado....................................................29Figura 20: Estado da memória na leitura dos dados .......................................................30Figura 21: Fluxo para extração e gravação de dados no sistema ....................................32Figura 22: Estrutura de camadas do sistema de processamento de dados ......................33Figura 23: Diagrama de caso de uso do sistema de processamento de dados.................35Figura 24: Diagrama de atividade do caso de uso Login ................................................36Figura 25: Diagrama de classe de análise do caso de uso Login ....................................36Figura 26: Diagrama de atividade do caso de uso Administrar Usuários.......................37Figura 27: Diagrama de classe de análise do caso de uso Administrar Usuários ...........38Figura 28: Diagrama de atividade do caso de uso Administrar Professores...................39Figura 29: Diagrama de classe de análise do caso de uso AdministrarProfessores ..............................................................................................................39Figura 30: Diagrama de atividade do caso de uso Administrar Disciplinas ...................40Figura 31: Diagrama de classe de análise do caso de uso AdministrarDisciplinas...............................................................................................................41Figura 32: Diagrama de atividade do caso de uso Administrar Alunos..........................42Figura 33: Diagrama de classe de análise do caso de uso Administrar Alunos..............42Figura 34: Diagrama de atividade do caso de uso Administrar Horários .......................43Figura 35: Diagrama de classe de análise do caso de uso Administrar Horários ...........43Figura 36: Diagrama de atividade do caso de uso Administrar Períodos .......................44Figura 37: Diagrama de classe de análise do caso de uso Administrar Períodos ...........45Figura 38: Diagrama de atividade do caso de uso Importar dados do CartãoSmart Card ..............................................................................................................46Figura 39: Diagrama de classe de análise do caso de uso Importar dados doCartão Smart Card...................................................................................................47Figura 40: Diagrama de atividade do caso de uso Gerar relatórios ................................48


Figura 41: Diagrama de classe de análise do caso de uso Gerar relatórios.....................49Figura 42: Sugestão de relatório detalhado.....................................................................50Figura 43: Sugestão de relatório simplificado por disciplina..........................................51Figura 44: Sugestão de relatório simplificado por professor ..........................................52Figura 45: Diagrama do modelo de dados ......................................................................53Figura 46: Interface IDE de desenvolvimento da Renesas .............................................60Figura 47: Tela de download do software para a placa da Renesas................................61Figura 48: Configuração de uso do barramento da placa principal ................................63Figura 49: Conexão física dos periféricos e a placa da Renesas.....................................63Figura 50: Diagrama de seqüência interno do sistema de coleta ....................................65Figura 51: Configuração do barramento para sistema de descarga.................................66Figura 52: Diagrama de seqüência do sistema de descarga ............................................67Figura 53: Exemplo de dados importados do Smart Card..............................................69


LISTA DE TABELASTabela 1: Comparativo dos relógios-ponto da BSCARD ...............................................10Tabela 2: Critérios e avaliações de equipamentos ..........................................................16Tabela 3: Resumo da avaliação dos equipamentos.........................................................19Tabela 4: Dados extraídos do cartão ...............................................................................30Tabela 5: Dados da base de dados do sistema.................................................................31Tabela 6: Dados extraídos da base de dados do sistema.................................................31Tabela 7: Descrição de nomenclaturas utilizadas no modelo de dados ..........................52Tabela 8: Definição da tabela usuario.............................................................................54Tabela 9: Definição da tabela professor..........................................................................54Tabela 10: Definição da tabela aluno..............................................................................54Tabela 11: Definição da tabela disciplina .......................................................................55Tabela 12: Descrição da tabela disciplina do professor..................................................55Tabela 13: Descrição da tabela período ..........................................................................56Tabela 14: Descrição da tabela horário...........................................................................56Tabela 15: Exemplo de valores para tabela período .......................................................56Tabela 16: Exemplo de valores para tabela horário ........................................................57Tabela 17: Descrição da tabela de horários da disciplina do professor ..........................57Tabela 18: Descrição da tabela de freqüência do professor............................................58Tabela 19: Descrição da tabela de freqüência do aluno..................................................58Tabela 20: Critérios comparativos das soluções .............................................................74Tabela 21: Total resumido dos critérios verificados.......................................................75Tabela 22: Cronograma...................................................................................................79


ACRÔNIMOSANSI – do inglês, American National Standards Institute.API – do inglês Application Programming Interface ou Interface de Programação deAplicativos.ARM – do inglês Acorn RISC Machine.CRM – do inglês Customer Relationship Management ou Gerenciamento deRelacionamento com Cliente.DAO – do inglês, Data Access Object.FACIN – Faculdade de Informática.FSF – do inglês Free Software Foundation ou Fundação de Software Livre.GCC – do inglês GNU Compiler CollectionHTML – do inglês Hypertext Markup Language.I2C – do inglês Inter-Integrated Circuit.IDE – do inglês Integrated Development Enviroment ou Ambiente Integrado deDesenvolvimento.JSP – do inglês Java Server Pages.JVM – do inglês Java Virtual Machine ou Máquina Virtual Java.LCD – do inglês, Liquid Crystal Display.LED – do inglês, Light-Emitting Diode.MEC – Ministério da Educação.MVC – do inglês, Model View Controler.PK – do inglês Primary Key, significa chave primária.RAD – do inglês Rapid Application Development ou Desenvolvimento Rápido deAplicativos.RTC – do inglês, Real-time Clock.


SDK – do inglês Software Development Kit.SO – Sistema Operacional.TCP/IP – do inglês, Tramsission Control Protocol/Internet ProtocolUART – do inglês, Universal Asynchronous Receiver/Transmitter.UK – do inglês Unique Key, significa chave única.USB – do inglês Universal Serial Bus ou Via Serial Universal.


SUMÁRIO1. INTRODUÇÃO.................................................................................................. 11.1 Motivação ................................................................................................................................21.2 Objetivos..................................................................................................................................21.2.1 Objetivos Gerais...................................................................................................................21.2.2 Objetivos Específicos...........................................................................................................31.2.3 Organização do Texto ..........................................................................................................32. FUNDAMENTAÇÃO TEÓRICA .................................................................... 43. SOLUÇÕES RELACIONADAS....................................................................... 94. COLETA DE DADOS ..................................................................................... 114.1 Diagrama de caso de uso do sistema de coleta....................................................................124.2 Seleção do Hardware ............................................................................................................134.2.1 Funcionalidades .................................................................................................................164.2.2 Facilidade de Manuseio......................................................................................................164.2.3 Facilidade de Programação ................................................................................................174.2.4 Confiabilidade....................................................................................................................174.2.5 Disponibilidade ..................................................................................................................184.2.6 Suporte/Garantia ................................................................................................................184.2.7 Custo ..................................................................................................................................184.2.8 Conclusão da Avaliação.....................................................................................................194.3 Estrutura de Armazenamento do Smart Card...................................................................194.4 Funcionamento da Coleta dos Dados ..................................................................................244.5 Funcionamento da Leitura dos Dados.................................................................................295. PROCESSAMENTO DE DADOS COLETADOS........................................ 325.1 Classes de Regras de Negócio...............................................................................................335.2 Classes de Interface...............................................................................................................335.3 Banco de dados......................................................................................................................345.4 Diagramas de Casos de Uso .................................................................................................345.5 Detalhamento dos Casos de Uso ..........................................................................................355.5.1 Login ..................................................................................................................................355.5.2 Administrar Usuários .........................................................................................................375.5.3 Administrar Professores.....................................................................................................385.5.4 Administrar Disciplinas .....................................................................................................40


5.5.5 Administrar Alunos............................................................................................................415.5.6 Administrar Horários .........................................................................................................425.5.7 Administrar Períodos .........................................................................................................445.5.8 Importar dados do Cartão Smart Card................................................................................455.5.9 Gerar relatório ....................................................................................................................475.6 Modelo de Dados...................................................................................................................525.6.1 Tabela Usuário ...................................................................................................................535.6.2 Tabela Professor.................................................................................................................545.6.3 Tabela Aluno......................................................................................................................545.6.4 Tabela Disciplina ...............................................................................................................555.6.5 Tabela Disciplina_Professor ..............................................................................................555.6.6 Tabela Periodo ...................................................................................................................555.6.7 Tabela Horario ...................................................................................................................565.6.8 Tabela Horario_Disciplina_Professor ................................................................................575.6.9 Tabela Frequencia_Professor .............................................................................................575.6.10 Tabela Frequencia_Aluno .............................................................................................586. DESENVOLVIMENTO .................................................................................. 596.1 Sistema de Coleta de Dados .................................................................................................596.2 Sistema de Processamento de Dados ...................................................................................687. CONCLUSÃO .................................................................................................. 71BIBLIOGRAFIA...................................................................................................... 77


11. INTRODUÇÃOA correta utilização do tempo disponível para o ensino é de sumaimportância para um bom aprendizado. Atualmente o controle de freqüência émanual, despendendo em alguns casos uma fatia considerável do tempo de aula. Aomesmo tempo existe a necessidade de realizar o controle da freqüência escolar porparte das instituições de ensino a fim de atender aos requisitos estabelecidos peloMinistério da Educação.Para resolver essa questão podem ser utilizados controlesautomatizados de baixo custo que permitem a coleta das informações no local onde aatividade está ocorrendo e o posterior processamento das informações coletadas. Talproposta é algo que vai ao encontro da busca por tecnologia que auxilie nas tarefasde todos colaboradores de qualquer instituição de ensino.Neste trabalho é apresentado o projeto de uma aplicação paracontrolar a freqüência dos alunos em sala de aula. Esta aplicação é capaz de otimizaro controle de freqüência dos alunos e do professor e o tempo de aulasimultaneamente. A proposta é armazenar em um cartão de propriedade do professora presença de todos os alunos que compareceram à aula. Esses dados armazenadosno cartão podem, posteriormente, ser inseridos de forma automática no sistema decontrole de freqüência da faculdade.A solução proposta é um conjunto de sistemas composto de umcoletor de dados stand alone, um leitor de cartões smart card que funcione namaioria dos PCs e um sistema de controle de presença que gerencia os dadoscoletados e emite os relatórios necessários para se fazer o controle da freqüência.A maior vantagem de um sistema stand alone é o custo e o tempo paraimplantação, pois não demanda uma infra-estrutura complexa, sem contar apossibilidade de fazer os controles em situações eventuais como palestras,congressos, entre outros.A segurança do sistema como um todo é um ponto que será sempreavaliado a cada decisão a respeito do projeto. Entende-se que o sistema tem uma


2grande responsabilidade e qualquer falha poderia acarretar conseqüênciasindesejáveis tanto para o professor quanto para os alunos. Sendo assim, deve-sepensar em um sistema com um nível adequado de confiabilidade com objetivo aevitar tais transtornos.1.1 MotivaçãoA existência de um hardware para leitura e escrita em cartões smartcard com contato, desenvolvido por alunos do curso de Engenharia da Computaçãoda FACIN/FENG da PUCRS, e o protótipo de um sistema para controle defreqüência da empresa Innalogics (FE 1.6), atraíram a atenção do grupo. Ao mesmotempo, verificou-se a necessidade de que o processo de controle de freqüência dosalunos fosse automatizado. Alinhando esses elementos o grupo se motivou aimplementar um aplicativo que utilizasse a proposta do equipamento a fim deresolver o controle de freqüência da faculdade.Além disso, a busca por conhecimentos em programação parasistemas embarcados é desejo do grupo. Trabalhar com uma tecnologia que não évista em profundidade nas disciplinas do curso de Sistemas de Informação vem aagregar conhecimento e representa um desafio para os integrantes do grupo.1.2 Objetivos1.2.1 Objetivos GeraisO objetivo macro do projeto é fornecer um sistema funcional decontrole automatizado de freqüência de alunos em sala de aula. Para tanto foinecessário criar um aplicativo embarcado específico para o hardware escolhido.Outro objetivo é desenvolver um aplicativo para leitura egerenciamento dos dados coletados.


31.2.2 Objetivos Específicos• Compreender os conceitos, tecnologias e ambientes dedesenvolvimento de aplicações para sistemas embarcados. Com isso,desenvolver um sistema completo baseado no estudo destastecnologias.• Adquirir conhecimento em uma área de trabalho que não é vista nasdisciplinas do curso de Sistemas de informação.• Selecionar uma plataforma de hardware para desenvolver o sistema.• Realizar a modelagem do sistema como um todo.• Entender o processo de desenvolvimento de sistemas embarcados.1.2.3 Organização do TextoEste documento descreve o projeto e implementação do sistema paraautomação do controle de freqüência escolar, e está organizado da seguinte forma.O capítulo 2 introduz tecnologias e assuntos estudados, visandofornecer o embasamento necessário para um melhor entendimento do sistemadesenvolvido.O capítulo 4 apresenta a parte embarcada do sistema, ou seja, osmódulos de software e hardware responsáveis pela coleta de dados do sistema.O capítulo 5 descreve os módulos de software necessários para oprocessamento dos dados coletados.No capítulo 6 são apresentados detalhes sobre a implementação dosistema, compreendendo a coleta e processamento dos dados.E por fim, no capítulo 7, estão as conclusões e trabalhos futuros.


42. FUNDAMENTAÇÃO TEÓRICAPor controle de freqüência entende-se a análise da ocorrência de umdeterminado evento em um determinado período. No contexto do trabalho o controlede freqüência precisa ser visto como o número total de aulas nas quais os alunoscompareceram individualmente.A freqüência escolar em qualquer nível é de grande importância para oum bom aprendizado. O simples fato de comparecer à aula e visualizar a explanaçãodo professor agrega muito mais valor do que uma simples leitura do material deestudo. E além dos conceitos técnicos adquiridos, a participação nas atividadesescolares propicia a transmissão de normas, valores, e atitudes relacionadas à vidasocial. [1].Por esses motivos que o artigo 205 da Constituição [2] diz que afinalidade da educação é “o pleno desenvolvimento da pessoa, seu preparo para oexercício da cidadania e sua qualificação para o trabalho”. Entende-se dentro dessepleno desenvolvimento a aquisição de conhecimentos e a socialização em matéria denormas e valores em vista do convívio social. Estamos, pois, dentro de umaarticulação entre o trabalho e a cidadania.O controle de freqüência é tarefa obrigatória de todas as instituiçõesde ensino reconhecida pelo MEC, de acordo com a Lei de Diretrizes e Base daEducação Nacional de 20 de dezembro de 1996 [2]:“O art. 47, § 3o da Lei das Diretrizes e Bases da Educação Nacional (LDB) nº9.394, de 20 de dezembro de 1996, dispõe que é obrigatória a freqüência de alunose professores, salvo nos programas de educação à distância, que se regem poroutras disposições, não existe legalmente abono de faltas. É admitida, para aaprovação, a freqüência mínima de 75% da freqüência total às aulas e demaisatividades escolares, em conformidade com o disposto na Resolução nº 4 de16/9/86, do extinto Conselho Federal de Educação.”O aprendizado está relacionado, dentre outros fatores, ao tempodisponível para estudo [1]. Atualmente nos cursos de graduação o tempo dededicação aos estudos resume-se, em muitos casos, apenas ao tempo da aula.


5Baseado nessa afirmação torna-se necessário otimizar o tempo disponível para ensinopresencial, possibilitando assim uma melhor compreensão dos assuntos abordadosnas disciplinas. Além disso, o tempo alocado para o ensino é de responsabilidade dainstituição em parceria com os professores, de acordo com Robert E. Slavin em suapublicação para Partnership for Educational Revitalization in the Américas,intitulada “Salas de Aula Eficazes, Escolas Eficazes: uma base de pesquisa parareforma da educação na América Latina” [1].“O volume de tempo disponível para aprendizado depende em larga escala de doisfatores: tempo alocado e tempo engajado. Tempo alocado é o tempo estabelecidopelo professor para uma lição ou assunto particular e, então, efetivamente utilizadopara atividades instrucionais. O tempo alocado está, em grande parte, sob controledireto do professor e da escola.”Atualmente a automação informatizada de processos tem conseguidoreduzir o tempo gasto nas atividades que não necessitam de habilidades intelectuais.O desenvolvimento da tecnologia aliado à redução dos custos de equipamentosinformatizados permite a criação de incontáveis novos mecanismos utilizados paraaumentar o desempenho de atividades manuais.Então, visto que o controle de freqüência escolar é parte essencial doprocesso de ensino e que o tempo disponibilizado é essencialmente responsabilidadeda instituição de ensino é necessário encontrar uma forma de melhorar essa situação.Sabendo que essa é uma atividade puramente operacional e que pode ser realizadaautomaticamente é natural pensar que a solução é a automação do controle defreqüência.Para tanto, faz-se necessário relacionar a presença de um aluno a umadisciplina e persistir essa informação para que possa ser processada quando houver anecessidade. A principal aplicação do processamento desses dados é a emissão derelatórios de aproveitamento que serão utilizados para alimentar as restriçõesimpostas pelo MEC.Na PUC-RS todos os alunos matriculados em alguma disciplinapossuem um cartão de identificação utilizado para diversas finalidades que vão desde


6a retirada de livros na biblioteca e acessar os laboratórios até o pagamento doestacionamento. Neste cartão existe um código, impresso em forma de barras, querepresenta o código do aluno na universidade. Tal representação alfanumérica emforma de uma impressão utilizando barras é conhecida como Código de Barras [3].Um exemplo de código de barras é exibido na Figura 1:Figura 1: Exemplo de Código de BarrasAs linhas paralelas e verticais escuras e os espaços entre elas têmdiferentes larguras em função das várias técnicas de codificação de dados empregada,como EAN, 3-de-5, 2-de-9, entre outras [4]. A decodificação dos dadosrepresentados é realizada por um equipamento dotado de uma fonte luminosa que,por contraste das barras e seus espaços, convertem a representação gráfica em "bits"(seqüências de 0 ou 1), compreendidos pelo computador, que por sua vez converte-osem letras ou números legíveis para os usuários.No caso da PUC-RS o código de barras representando o código doaluno é encontrado na carteira escolar. No verso é impresso o código, visualizado naFigura 2:Figura 2: Carteira de estudante da PUC-RS


7Idealmente, a coleta das presenças dos alunos deve ocorrer na sala deaula onde é ministrada a disciplina, evitando deslocamentos desnecessários nafaculdade. Essa situação leva a pensar em uma forma economicamente viável dearmazenamento das presenças coletadas. Uma solução interessante é utilizar algumdispositivo de armazenamento de baixo custo com memória.Como a característica da proposta é armazenar pequenas quantidadesde dados é possível direcionar a escolha para equipamentos com baixa quantidade dememória, o que reduz drasticamente o valor de implantação, como os Smart Cards[5].Smart card é um cartão que geralmente assemelha-se em forma etamanho a um cartão de crédito convencional de plástico com tarja magnética. Alémde ser usado em cartões bancários e de identificação pessoal, é encontrado tambémnos celulares GSM (o "chip" localizado normalmente atrás da bateria). A grandediferença é que alguns deles possuem capacidade de processamento, pois embute ummicroprocessador e memória (que armazena vários tipos de informação na formadigital). Outros possuem apenas memória [6].Existem dois tipos de smart cards: com contato e sem contato. Oprimeiro deles, com contato, possui na superfície pinos com aproximadamente1,27cm de diâmetro para contato de um pequeno chip. Quando inseridos em umleitor, os pinos encostam nos conectores elétricos, que fornecem o acesso aequipamentos de leitura e escrita no chip.Já os sem contato possuem um chip que se comunica com o leitoratravés de um sinal de rádio. Tais cartões exigem somente uma proximidade a umaantena para a transação de dados. Seu funcionamento é simples. Quando aproximadoo leitor (antena) carrega eletricamente o cartão por indução. Quando este estácarregado envia os dados internos para a antena, se descarregando [7].O acesso ao smart card pode ser feito através de um protocoloconhecido como I 2 C [8], acrônimo de Inter-Intergrated Circuit. É basicamente umbarramento serial para computadores cujo protocolo especifica dois sinais de


8comunicação, um com o sinal de clock (gerado pelo mestre) e outro de dados,bidirecional.Para permitir a gravação dos códigos dos alunos (códigos de barras)no smart card, é necessário um hardware específico para esta tarefa. No contexto dotrabalho entende-se por hardware o equipamento escolhido para fazer a coleta dosdados no smart card do professor para cada cartão de aluno que for processado. Talequipamento pode funcionar de diversas maneiras, mas uma forma interessante e debaixo custo são equipamentos stand alone.Considera-se stand alone qualquer entidade que não esteja ligada ouconectada a um sistema maior. No caso do projeto, o sistema de coleta de dados deverodar sem a dependência de uma infra-estrutura externa, tais como cabeamento derede, servidores ou outros serviços. A única necessidade será uma fonte de energiaque pode vir de uma tomada ou outro tipo de fonte de alimentação (bateria, energiasolar, entre outros).Em equipamentos que não rodam sistemas operacionais como Linux,Windows, MAC OS etc, existe a necessidade de desenvolver sistemas dedicados emum formato específico. Tais equipamentos tendem a ser mais baratos do quemáquinas que rodam sistemas operacionais pesados, pois precisam de menosrecursos para realizar as atividades.Um sistema embarcado é um sistema microprocessado ou não no qualo sistema operacional é completamente encapsulado ou dedicado ao dispositivo ousistema controlado [9]. Diferente de computadores de propósito geral, como ocomputador pessoal, um sistema embarcado realiza um conjunto de tarefas prédefinidas,geralmente com requisitos específicos. Já que o sistema é dedicado àstarefas específicas, através de engenharia pode-se otimizar o projeto reduzindotamanho, recursos computacionais e custo do produto.


93. SOLUÇÕES RELACIONADASNeste capítulo são listadas soluções de mercado que possuem algumarelação com o trabalho proposto.O Ministério da Educação, MEC, promoveu no ano de 2005 umprojeto de controle eletrônico de freqüência escolar nas escolas da rede pública. Esteprojeto faz parte do Sistema de Acompanhamento de Freqüência Escolar (Safe) quetem como finalidade controlar a evasão escolar, otimizar os recursos públicos etornar a gestão da rede pública de ensino mais eficiente.TASK SISTEMASA empresa Task Sistemas [http://www.tasksistemas.com.br] possuiduas soluções: Forponto e Foracesso. O Foracesso é um sistema de controle deacesso e o Forponto é um sistema de apuração de ponto e gerenciamento de mão deobra. Ambos fazem parte de uma solução que está sendo utilizado tanto em empresasquanto em escolas, neste caso fazendo também o controle de freqüência escolar [14].A solução consiste em ter um coletor de dados, ou bloqueador físicocomo uma roleta, nas áreas restritas conectado em tempo real ao sistema. No caso dasolução estar implementada em uma escola, os coletores de dados controlam o acessoàs salas de aula. Gravando que o aluno esteve em uma determinada sala de aula emuma data e hora específica. O sistema é flexível, pode bloquear o acesso a umadeterminada área, caso a pessoa não tenha permissão, ou pode só registrar que apessoa entrou em uma área específica. A solução da Task Sistema se adapta acoletores de diversos tipos, como biométricos, leitores de código de barras, leitoresde Smart Card, entre outros.Os coletores funcionam conectados ao sistema, a comunicação podeser implementada usando protocolo TCP/IP ou serial. Dessa forma, quando umapessoa acessa uma área imediatamente o sistema registra o acesso.Um caso de sucesso da solução da Task Sistemas foi implementado naUniversidade de São Paulo, USP, a maior instituição de ensino do Brasil e a terceira


10da América Latina. A USP possui cerca de 5000 professores, 15000 funcionários e40000 alunos de graduação.BSCARDA empresa BSCARD [http://www.bscard.com.br] desenvolvesoluções para controle de ponto e acesso, com relógio ponto e um sistema de controlepara tratamento de ponto eletrônico. Este sistema é distribuído gratuitamente para oscompradores de relógio ponto. O foco do produto é para empresas, mas pode seadequar à necessidade de uma universidade, ou escola, e fazer o controle defreqüência escolar [15].A coleta dos dados é feita através de relógio ponto eletrônico, quepode trabalhar stand alone ou conectado ao sistema para controle do ponto. O relógioponto possui três versões, que se diferenciam pelas tecnologias de coleta e pelotamanho da memória, a Tabela 1 mostra os detalhes de cada uma. No caso do coletorestar conectado ao sistema os dados coletados são enviados ao sistemaimediatamente. Caso o coletor trabalhar stand alone, a coleta dos dados deve ser feitade tempos em tempos levando o coletor para próximo de um computador, ou levandoum computador para próximo do coletor. Em ambas as situações a comunicação docoletor com o sistema é feita através de protocolo serial ou TCP/IP.Tabela 1: Comparativo dos relógios-ponto da BSCARDCritério Card II Super Fácil Super Fácil BiométricoTecnologia Leitor de código de Leitor de código de Leitor de código de barras,debarras, leitor magnético, barras, leitor magnético, leitor magnético, leitor deidentificação leitor de proximidade, leitor de proximidade, proximidade, leitor Smartleitor Smart CardMemória Mínima de 10000registro, podendo serexpandida para 50000Tipo decomunicaçãoModo decomunicaçãoRS 232, RS 485,TCP/IP, via cartucho dememória ou atravéscoletor manualOff-line ou On-line viaTCP/IP e serialleitor Smart CardCartucho USBremovível; 3capacidades: 1Mb (5975registros), 2Mb (11950registros), 8Mb (47800registros)Cartucho USB, ou serialRS 232Off-lineCard e BiométricoCartucho USB removível; 3capacidades: 1Mb (5975registros), 2Mb (11950registros), 8Mb (47800registros)Cartucho USB, ou serial RS232Off-line


114. COLETA DE DADOSOs objetivos deste trabalho de conclusão podem ser separados em doisgrandes sistemas: de coleta de dados e de processamento de dados coletados.Optou-se por fazer essa separação em grupos, pois entende-se que acoleta dos dados é relativamente complexa de ser desenvolvida e não deve termaiores regras. Foi definido, então, um sistema de coleta de dados simples, porémeficaz, com poucas regras de negócio. Com isso, transfere-se para o sistema deprocessamento, o trabalho mais complexo sobre os dados coletados. A vantagemdessa abordagem é que o sistema de processamento pode ser desenvolvido maisrapidamente em uma linguagem conhecida reduzindo o tempo e o custo deimplementação. Já o sistema de coleta deve ser implementado em uma linguagemespecífica de acordo com o hardware escolhido, o que torna o desenvolvimentomuito mais complexo e em alguns casos mais restrito.Figura 3: Diagrama de caso de uso geral


12Na Figura 3 consta o diagrama de caso de uso geral de todo o projeto.Todos os casos de uso que devem ser implementados estão contidos nesse diagrama.O detalhamento dos casos de uso será apresentado na seqüência do documento.O sistema de coletas de dados é o conjunto de hardware e softwareque será responsável por fazer a leitura dos dados dos cartões dos alunos e agravação no smart card do professor. Na Figura 4 encontra-se um diagrama queilustra o fluxo de ações para a coleta das informações.Figura 4: Fluxo para ação de coleta de dados4.1 Diagrama de caso de uso do sistema de coletaNa Figura 5 pode ser conferido o diagrama de caso de uso quecompreende o sistema de coleta de dados.


13Figura 5: Diagrama de caso de uso do sistema de coleta4.2 Seleção do HardwareForam analisados cinco equipamentos diferentes que podem serutilizados como coletor de dados. Todos foram avaliados em critérios iguais a fim dedeterminar a melhor escolha a ser adotada.O primeiro equipamento chama-se FE 1.6 e está sendo criado pelaempresa Innalogics Sistemas Computacionais Ltda. [http://www.innalogics.com.br].Seu funcionamento baseia-se em uma placa de circuito impresso contendo umprocessador 8051. Essa placa tem um baixo custo de componentes e montagem e éde propriedade da Innalogics. Um dos pontos negativos dessa solução é que ohardware ainda está em fase de testes e não existe uma data confirmada para a provafinal. Além disso, o desenvolvimento da primeira versão do aplicativo coletor dedados foi feito em linguagem de baixo nível (assembly), aumentando a complexidadedo desenvolvimento, manutenção do código, e conseqüentemente o tempo total detrabalho. Isso é outro problema, pois os integrantes do grupo não têm conhecimentonessa área, já que não existem disciplinas que aprofundem tanto esse conhecimentono curso de Sistemas de Informação.O segundo equipamento é conhecido como “OX” e foi desenvolvidopelos alunos do curso de Engenharia da Computação da FACIN/FENG, no grupo desistemas embarcados (<strong>GSE</strong>), da PUC-RS [http://www.inf.pucrs.br/gse]. Estehardware já existe, funciona e inclusive já foi utilizado anteriormente na faculdade


14para fazer o controle de freqüência na Jornada Acadêmica 2006. A vantagem dessaproposta é que o equipamento já existe e está homologado. A grande desvantagem éo custo desse equipamento é muito mais elevado do que o FE 1.6 devido aoprocessador utilizado.O terceiro é um equipamento de uma empresa chamada Verifone. Esseequipamento é vendido em larga escala para empresas como Visa e Mastercard. Esseequipamento traz consigo duas grandes vantagens em relação aos outros dois. Aprimeira é o custo, que apesar de não ter sido criado dentro da faculdade consegue terum valor equivalente aos outros por ser produzido em grande quantidade. Alémdisso, é um equipamento muito mais completo do que OX ou o FE 1.6, pois dispõede alguns recursos adicionais que se fossem incorporados a esses dois equipamentoso custo aumentaria significativamente. O segundo ponto positivo é a facilidade deprogramação do equipamento. A linguagem utilizada se assemelha às de mercado,como PHP, por exemplo. Com esse nível de abstração do hardware a implementaçãoda aplicação se torna muito semelhante ao tipo de conhecimento aprendido nasdisciplinas do curso de Sistemas de Informação.Outro equipamento analisado foi a placa Basix da empresa americanaGumstix [http://www.gumstix.com], exibida na Figura 6. Essa placa roda umadistribuição de Linux sobre um processador ARM de 200MHz. Dispõe de 4MB dememória flash e um slot para expansão através de cartão do tipo secure digital. Avantagem desse equipamento é o fato de rodar Linux, permitindo que se programeem C ANSI sem se preocupar com as especificidades de acesso ao hardware. Elapossui diversas placas de extensão, sendo uma delas composta por uma porta USB eduas portas seriais RS-232. Com essa combinação pode ser implementada a soluçãodesejada.Figura 6: Placa basix da Gumstix


15O último equipamento analisado é da empresa japonesa Renesas[http://www.renesas.com]. O equipamento, exibido na Figura 7, possui portas seriais,I 2 C, um display e permite expansão de portas através de um barramento. A diferençadesse equipamento para os outros é a IDE fornecida com o equipamento, que permiteo desenvolvimento de aplicações de forma ágil. Além disso, o SDK da Renesascontém uma vasta API de abstração de acesso ao hardware.Figura 7: Equipamento da RenesasA fim de tomar uma decisão embasada na definição do hardware [9] aser utilizado para coleta dos dados foram definidos 7 critérios baseados nos quaistodos os equipamentos serão avaliados em estudo comparativo que está resumido naTabela 2. As avaliações são pontuadas de 1 a 5, sendo 1 a nota mais baixa e 5 a maisalta. Os critérios tem o mesmo peso entre si, logo a melhor avaliação será a doequipamento com maior soma de pontos.


16Tabela 2: Critérios e avaliações de equipamentosCritério FE 1.6 OX Verifone Gumstix RenesasFuncionalidades 2 2 5 4 3Facilidade de2 3 4 3 4ManuseioFacilidade de1 2 4 4 4ProgramaçãoConfiabilidade 3 3 5 4 4Disponibilidade 1 4 3 3 5Suporte/Garantia 1 2 4 4 5Custo 3 2 3 4 5Somatório 13 18 28 26 304.2.1 FuncionalidadesNeste critério são avaliados os recursos oferecidos pelosequipamentos. Tais recursos permitem a implementação do coletor mais intuitivocom melhor usabilidade, sempre avaliando os recursos necessários para atender ademanda do projeto. O eleito nesse critério foi o Verifone com nota máxima pordisponibilizar, além de todos os recursos dos concorrentes, impressora, tecladonumérico, display gráfico e conector Ethernet.4.2.2 Facilidade de ManuseioSabe-se que a interação entre os usuários e o equipamento é restrita,na maioria do tempo, apenas à passagem do cartão tanto pelos alunos quanto peloprofessor. Porém, no âmbito de configuração e tarefas administrativas, os recursosadicionais fornecidos são importantes. Nessa categoria tivemos um empate entre osequipamentos da Verifone e da Renesas. O equipamento da Verifone possui váriosrecursos adicionais que facilitariam a administração, porém tais controles demandamuma implementação complexa. O equipamento da Renesas possui três botões naprópria placa que podem ser facilmente acessados pela aplicação o que facilita aimplementação do software de administração.


174.2.3 Facilidade de ProgramaçãoEste critério é de fundamental importância, pois definirá o custo deimplementação do sistema de coleta e também de todas as futuras manutençõesnecessárias. O FE 1.6 é programado em assembly, enquanto o OX utiliza comolinguagem de programação o C num nível ainda mais baixo do que o conhecido pelamaioria das pessoas, pois precisa trabalhar diretamente com os endereços e pinos doscircuitos eletrônicos utilizados no hardware.O equipamento da Renesas depende de uma programação parecidacom a dos equipamentos citados anteriormente, porém a grande diferença é que trazconsigo uma API bastante completa para acesso aos recursos da placa, além de umaIDE bastante completa.Já o Verifone implementa uma linguagem de alto nível, parecida comPHP e Javascript, que é muito mais natural para quase todos os profissionais da área.Porém, ainda assim, é uma linguagem proprietária que não é de conhecimentocomum.O Gumstix permite uma programação C ANSI. Isso facilita o trabalhode desenvolvimento, pois é uma linguagem muito difundida e globalmenteconhecida, além de ser extremamente flexível.Nesse critério temos um triplo empate dos equipamentos da Verifone,Gumstix e Renesas. Apesar dos motivos serem totalmente diferentes, os benefíciosde cada um valem 4 pontos para todos.4.2.4 ConfiabilidadeEste critério avalia a confiabilidade do hardware, utilizando comobase o reconhecimento do equipamento pelo mercado e/ou comprovação de usoprévio com sucesso.O equipamento da Verifone é utilizado amplamente em diversosestabelecimentos comerciais há muito tempo. Essa informação garante nota máximapara o equipamento. O FE 1.6 e o OX levam nota três porque foram muito pouco


18utilizados e por esse motivo não temos como validar sua confiabilidade. Já osequipamentos da Renesas e da Gumstix empatam com nota 4 porque apesar de seremequipamentos comerciais ainda não foram encontradas aplicações reais que asutilizam.4.2.5 DisponibilidadeEntende-se, neste contexto, por disponibilidade a facilidade deadquirir os equipamentos dos fornecedores. Apesar do FE 1.6 ter origem na PUC eleexiste apenas em protótipo e não há previsão para que se torne comercial. O OX, porsua vez, já é produzido e utilizado na universidade. Os equipamentos da Verifone, eGumstix por serem equipamentos comerciais, estão disponíveis mediante a umpedido para o fornecedor e por esse motivo empatam. Porém nesse quesito ovencedor é o equipamento da Renesas, pois dispomos de 40 placas dessas noslaboratórios da PUC-RS.4.2.6 Suporte/GarantiaOs equipamentos FE 1.6 e OX não possuem um fluxo desuporte/garantia definido, por isso ficam com avaliações baixas. Os equipamentos daVerifone e Gumstix possuem um suporte garantido e por isso levam nota 4. Porém ovencedor nesse quesito é o equipamento da Renesas, pois possui representante noBrasil e o suporte é de boa qualidade.4.2.7 CustoO custo monetário para aquisição dos equipamentos é um fator críticopara definição da escolha. Entre os cinco equipamentos o que tem maior custo é oOX, pois foi implementado para tarefas mais complexas do que as desejadas e porisso utiliza componentes mais caros. O FE 1.6 tem um preço inferior em relação aosoutros, pois foi implementado exclusivamente para o propósito de coleta dos dadosdefinidos nesse trabalho. Ambos os equipamentos são feitos “artesanalmente” e comisso seu custo de confecção é bem mais alto do que se fosse feito em uma linha de


19montagem industrializada. O equipamento da Verifone tem um preço similar aosoutros dois citados, apesar de ser fabricado em larga escala. O que justifica essasituação é a quantidade de recursos adicionais disponíveis e que não serãonecessários para o projeto. O equipamento da Gumstix fica em segundo lugar porcustar muito menos e disponibilizar uma boa gama de recursos. Porém, oequipamento da Renesas ainda é o de menor custo e que atende aos requisitos.4.2.8 Conclusão da AvaliaçãoBaseado nos critérios determinados chegamos a um somatório depontos por equipamento, de acordo com a Tabela 3.Tabela 3: Resumo da avaliação dos equipamentosEquipamentoAvaliação FinalOX 18FE 1.6 13Gumstix 26Verifone 28Renesas 30O equipamento da Renesas tem a melhor pontuação em comparaçãocom os concorrentes, apesar da diferença ser pequena. Por todos os motivosapresentados anteriormente essa é a escolha do hardware que será utilizado comocoletor de dados.4.3 Estrutura de Armazenamento do Smart CardO Smart Card utilizado no sistema é propriedade do professor. Cadaprofessor precisa ter o seu cartão onde todas as presenças são armazenadas. Além daspróprias presenças, outras informações de controle são necessárias para fazer osistema funcionar. Esta seção descreve a estrutura lógica de armazenamento internodos dados no cartão e o mecanismo de acesso proposto para o sistema.


20O protocolo I 2 C é um protocolo para comunicação serial com diversosperiféricos, destinado a aplicações de baixo custo e transferência de dados de volumemediano. Ele possui a característica de permitir o envio de mensagens broadcast(para todos os periféricos). Além disso, diversos microcontroladores possuem oprotocolo I 2 C implementados.Pode-se realizar a conexão entre o leitor/gravador de Smart Card e ohardware através de dois fios. O DL contém os dados a serem transferidos. O fio CLé o clock do sistema.O endereçamento do periférico é feito em 7 bits. O oitavo indica se aoperação é de escrita ou leitura. O endereçamento 0000000 envia a mensagem atodos os periféricos.O protocolo I 2 C é caracterizado pela utilização de vários marcos noenvio dos dados. Alguns desses sinais são: ack, start e stop, além dos envios de bytesque indicam a escrita ou leitura no periférico. Os sinais básicos funcionam conformeFigura 8.Figura 8: Funcionamento do protocolo I 2 CO processo de escrita funciona da seguinte forma. É enviado um bit destart. Seguido desse bit são enviados outros 7 bits que endereçam o dispositivo a seracessado. Em seguida é enviado outro bit com valor 1 informando que é uma escrita.Então é enviado um byte que endereça a posição de memória a ser escrita. Os bytesseguintes são os dados a serem escritos. Aguarda-se a chegada de um ack, e entãoenvia-se os bytes a serem gravados. A cada byte deve-se aguardar por um ack. Ofinal do envio é marcado por um bit de stop.O processo de leitura é similar ao de escrita. A única diferença é queapós o ack de endereçamento os dados devem ser lidos e não gravados.


21No que diz respeito à memória, a estrutura básica divide-se em doisgrupos: área de controle e área de dados [10]. Na área de controle são armazenadasinformações internas utilizadas pelos sistemas. Na área de dados ficam os dadoscoletados dos alunos e marcações do professor.Inicialmente pensou-se em armazenar os dados no formato bináriopara reduzir o espaço ocupado na memória, isto é, para gravar um número qualquer,seria armazenado a representação binária equivalente a um inteiro no cartão, o queocuparia 4 bytes. Porém essa solução traz inconvenientes relacionados com ainteroperabilidade da informação. Esse problema ocorre em função da representaçãodos tipos em sua forma binária poder ser diferente entre arquiteturas computacionaisdiferentes (exemplo: sistemas 32 e 64 bits). Por esse motivo optou-se por representarcada um dos algarismos dos números que serão armazenados em forma de um byte.O armazenamento desses dados baseia-se em uma estrutura de filacircular, ou seja, quando a fila chegar ao seu final o próximo registro seráarmazenado na primeira posição válida. Com isso podemos utilizar todo o espaçodisponível na memória e o processo de coleta de dados não precisa se preocupar coma limpeza dos dados do cartão.A quantidade de presenças que poderá ser armazenada depende dacapacidade da memória do cartão. No projeto serão utilizados cartões de 256Kbits decapacidade, o que permite o armazenamento de mais de 1820 presenças semnecessidade de descarregamento. Estimando uma média de 60 presenças por dia deaula um professor poderia ficar aproximadamente 30 dias sem a necessidade deesvaziar o cartão.Ainda assim, uma preocupação do projeto é a segurança dos dados[11]. É importante que não ocorra perda de marcações de presenças. Tal problemapoderia ocorrer caso o cartão fosse utilizado com uma freqüência muito grande de talmodo que sua memória fosse totalmente ocupada. Neste caso o sistema de coleta iránotificar erro visual ou sonoro informando que a chamada não foi computada porproblemas no cartão.


22Para suportar essa funcionalidade são necessárias estruturasespecíficas, armazenadas no cartão, que farão o controle da integridade dos dados.Tais estruturas são exibidas na Figura 9.Figura 9: Estrutura de Memória do Smart cardCódigo do ProfessorConforme acrescentado na Figura 6 o código do professor é o seuidentificador na universidade. Esse código é utilizado em dois momentos. O primeiroé para que a coleta dos dados possa associar as presenças com as disciplinas que oprofessor ministra. O segundo é para controle de início e fim de aula que serádetalhado no próximo capítulo.Ponteiro para início dos dadosEste campo é um apontador para o primeiro campo de armazenamentode presença, ou seja, o endereço a partir do qual as informações coletadas passarão aser gravadas, conforme mostrado na Figura 10. A utilização desse campo permiteque o sistema seja estendido no futuro adicionando mais informações internas decontrole no cartão sem a necessidade de alterar todos os pontos de leitura e gravaçãodo cartão. O endereço apontado por esse campo é o que diferencia a estrutura decontrole com a estrutura de dados da memória do cartão.


23...Figura 10: Estrutura de início dos dadosPonteiro para próxima gravaçãoToda a vez que uma presença precisa ser registrada no cartão essecampo é consultado para saber em que ponto da memória essa informação pode sergravada. Quando o dado é gravado esse número é somado a fim de apontar para apróxima posição válida. A representação gráfica de um cartão recém inicializado éexibida na Figura 11....Figura 11: Ponteiro de próxima gravaçãoPonteiro para última leituraEsta informação é gravada pelo sistema de coleta e informa qual foi aúltima posição de memória descarregada do cartão. Este dado é utilizado comomarcação para que o sistema de processamento de dados coletados não carreguedados repetidos. Além disso, essa informação, junto com o ponteiro para próximagravação, servem como trava para que os dados não sejam perdidos.Como o armazenamento dos dados é feito em forma de uma filacircular, quando o ponteiro para a última leitura dos dados for igual ao valor doponteiro de próxima gravação significa que o cartão está cheio e precisa ser


24descarregado. Nessa situação o sistema de coleta notificará o usuário com um avisosonoro e visual informando que a coleta não pode ser feita com sucesso.Na inicialização do cartão o valor do ponteiro é igual à posição dememória do próprio campo. Na Figura 12 é exibida a estrutura de memória....Figura 12: Ponteiro para última leituraÁrea de DadosCada um dos blocos da área de memória de 18 bytes é composto pordois conjuntos de dados: registro de data e hora e código do aluno. O registro de datae hora será o padrão adotado no Unix, que é o número de segundos contados a partirda hora zero de 01/01/1970. Esse formato é interessante, pois ocupa apenas 10 bytese representa com exatidão o momento em que o aluno registrou sua presença. Ocódigo do aluno, composto por 8 bytes é armazenado em forma de uma seqüência denúmeros.4.4 Funcionamento da Coleta dos DadosO processamento interno do sistema de coleta dos dados é descrito naFigura 13. O estado inicial é definido como sendo o equipamento ligado sem o cartãodo professor inserido.


25Figura 13: Processo de coleta de dados


26O mesmo fluxo da Figura 12 é representado a seguir do ponto de vistada memória interna do cartão do professor. Vamos simular a ocorrência de duasaulas com 3 alunos em cada para facilitar o entendimento. O estado inicial do cartãorecém inicializado é representado na Figura 14.A: Professor B: 4C: 4 D: 3Figura 14: Estado de memória vazia......No momento em que o professor coloca o cartão no equipamentoverifica-se se existe memória disponível para gravação, verificando se o “Ponteiropara Última Leitura” (D), cujo valor inicial é 3, é diferente do “Ponteiro paraPróxima Gravação (C)” cujo valor é 4. Se forem diferentes, então é realizado oregistro dessa ação na próxima posição de gravação apontada pelo campo “C”, quena situação atual aponta para a posição 3. Neste campo será gravada a data daocorrência da operação e o código do professor, extraído do campo “A”.Com esse registro realizado atualiza-se o campo “C” para a posiçãoseguinte. Como a próxima posição em relação ao valor de “C” ainda não passou dolimite da memória do cartão então basta somar 1 em “C” e gravar esse valor nocartão. Caso o valor de “C” fosse maior que a capacidade do cartão então eleassumiria o valor de “B” que é o “Ponteiro para primeira posição da área de dados”.Com essas alterações a memória passa ter a configuração representada na Figura 15.


27A: Professor B: 4C: 5 D: 3Datahora & Professor......Figura 15: Registro de início de aulaQuando o primeiro aluno passar o cartão pelo leitor o processo deverificação de memória cheia explicado anteriormente será realizado. Caso existamemória disponível então o registro do aluno é gravado na posição de memóriaapontada por “C”. O campo “C” é atualizado, sempre seguindo o critério de filacircular explicado anteriormente, deixando a memória conforme a Figura 16.A: Professor B: 4Datahora & Aluno1C: 6 D: 3Datahora & Professor......Figura 16: Registro de presença de um alunoEste mesmo processo se repete para cada cartão do aluno passado. Aofinal de três alunos terem registrado sua presença a memória do cartão está conformea Figura 17.


28A: Professor B: 4 C: 8 D: 3 Datahora & ProfessorDatahora & Aluno1 Datahora & Aluno2 Datahora & Aluno3Figura 17: Registro de presença de vários alunos......Seguindo o fluxo de coleta de dados, quando o professor terminar aaula e retirar o cartão nada precisa ser registrado no cartão. Na aula seguinte doprofessor, quando o cartão for inserido na máquina, a memória irá se alterarconforme apresentado na Figura 18.A: Professor B: 4 C: 9 D: 3 Datahora & ProfessorDatahora & Aluno1 Datahora & Aluno2 Datahora & Aluno3Datahora & Professor...Figura 18: Registro de início de aula com cartão já utilizado...Após a entrada de outros três alunos os registros serão feitos seguindoo mesmo processo citado anteriormente, fazendo com que a memória agora estejacom o estado mostrado na Figura 19.


29A: Professor B: 4 C: 12 D: 3 Datahora & ProfessorDatahora & Aluno1 Datahora & Aluno2 Datahora & Aluno3Datahora & Professor Datahora & Aluno4Datahora & Aluno6......Datahora & Aluno5Figura 19: Registro de alunos com cartão já utilizado4.5 Funcionamento da Leitura dos DadosO processo de leitura dos dados compreende as operações necessáriaspara extrair os dados do cartão e alterar as estruturas internas de controle a fim deque a leitura não reprocesse dados já extraídos [12].Partindo do estado da memória da Figura 19, a leitura dos dadosprecisaria coletar a presença de 6 alunos em duas disciplinas diferentes realizadaspelo mesmo professor. As duas disciplinas são marcadas pelos dois registros de“Professor” encontrados nas posições 4 e 8. A relação entre essas marcações e asdisciplinas é feita pelo sistema de processamento de dados coletados e será explicadacom detalhes mais adiante.Quando o cartão for inserido para leitura dos dados serão extraídostodos os registros a partir do “Ponteiro de última leitura” (D) mais uma posição até ovalor do “Ponteiro de Próxima Gravação” (C) menos uma posição, semprerespeitando a implementação de uma fila circular.Quando a leitura for terminada o campo “D” precisa ser igualado aovalor de “C” menos uma posição a fim de que as próximas leituras ocorramcorretamente. Assim, a memória ficaria conforme a Figura 20.


30A: Professor B: 4 C: 12 D: 11 Datahora & ProfessorDatahora & Aluno1 Datahora & Aluno2 Datahora & Aluno3Datahora & Professor Datahora & Aluno4Datahora & Aluno6......Datahora & Aluno5Figura 20: Estado da memória na leitura dos dadosComo apresentado anteriormente não existe uma relação direta entre apresença e a disciplina que o aluno está cursando, porém essa é uma atividadeessencial para que possam ser gerados os relatórios necessários para executar otrabalho. Essa atividade é responsabilidade do sistema de processamento de dadosque manipulará os dados conforme a Tabela 4.Tabela 4: Dados extraídos do cartãoIdentificador Data e HoraCódigo do Registro1 25/06/2007 19:32 Código do Professor 12 25/06/2007 19:33 Aluno 13 25/06/2007 20:52 Aluno 24 25/06/2007 20:55 Aluno 35 26/06/2007 21:13 Código do Professor 16 26/06/2007 21:20 Aluno 47 26/06/2007 21:24 Aluno 58 26/06/2007 22:40 Aluno 6Partimos do caso em que tem-se a lista de freqüências extraídas docartão do exemplo anterior, demonstradas na Tabela 4, no sistema de processamentode dados existe a informação de quais são as disciplinas ministradas pelo professorno semestre bem como o horário em que elas ocorrem. Suponhamos então a situaçãona base de dados representada pela Tabela 5.


31Tabela 5: Dados da base de dados do sistemaProfessor Disciplina Data e HorárioProfessor 1 Disciplina A 2LM – 2007/01Professor 1 Disciplina B 3NP – 2007/01No próprio modelo de dados é possível extrair a informação de cadaum dos horários de início e fim das disciplinas ministradas pelo professor, ou seja,extrair a informação da Tabela 6.Tabela 6: Dados extraídos da base de dados do sistemaProfessor Disciplina Data e HorárioProfessor 1 Disciplina A 2007/01 – Segundas-feiras – 19:30 às 21:00Professor 1 Disciplina B 2007/01 – Terças-feiras – 21:15 às 22:45Agora é preciso casar o horário de cada uma das marcações do cartãocom os horários das disciplinas. Para isso primeiramente pega-se a primeiramarcação do professor da lista de presenças pendentes de processamento, no caso doexemplo é o identificador 1. Baseado na data concluí-se que é uma segunda-feira doprimeiro semestre de 2007/01, utilizando cálculos simples de datas.Com o código do professor extraído desse registro, lista-se todas asdisciplinas por ele ministradas que ocorrem às segundas-feiras do semestre 2007/01.Baseado nessa lista procura-se a disciplina cuja diferença do horário de início seja amais próxima da data do registro do professor, para mais ou para menos. Com issoconsegue-se, baseado nos horários, concluir a disciplina que o professor estálecionando no momento (Disciplina A), e com isso registrar as presenças dos alunosda lista. Serão registradas todas as presenças que foram gravadas até o próximoregistro do professor, que ocorrerá apenas quando este inserir seu cartão novamentena aula seguinte, no caso apontada pelo identificador 5.O mesmo processo se repete para o identificador 5 e para as presençasseguintes, que serão registradas para a Disciplina B.


325. PROCESSAMENTO DE DADOSCOLETADOSO sistema de processamento de dados coletados consiste em doisaplicativos que trabalhando em conjunto permitem extrair os dados gravados nosmart card (descarregar a memória), armazenar essas informações em um servidor egerar relatórios de freqüência dos alunos por professor, disciplina, aluno, entreoutros. A Figura 21 apresenta o fluxo para extração dos dados e gravação no sistema.Figura 21: Fluxo para extração e gravação de dados no sistemaA arquitetura proposta para esse sistema é baseada em um sistema detrês camadas, conforme diagrama da Figura 22. A camada de interface baseia-se emJSP para interação com o usuário. A camada de negócio é em Java. A camada dedados é implementada via Oracle com acesso via JDBC. Tanto Java, quanto banco dedados Oracle são utilizados em sala de aula e fizeram parte de inúmeras disciplinasdo curso de Sistemas de Informação. Essa proximidade com essas tecnologias é omotivo de sua escolha.


33Figura 22: Estrutura de camadas do sistema de processamento de dados5.1 Classes de Regras de NegócioAs classes de regras de negócio são a implementação das regras denegócio necessárias para o sistema funcionar e classes de controle parafuncionamento das interfaces.Além disso, a comunicação com o banco de dados é implementadaatravés de classes desse nível da arquitetura.5.2 Classes de InterfaceAs classes de interface permitem a comunicação dos clientes com asclasses de regras de negócio. Para tanto existem classes de interface e JSPs queacessam as classes de controle de interfaces.Existe um caso especial que faz necessário a utilização de um JavaApplet que é a leitura dos dados do cartão. Como o projeto baseia-se em umainterface WEB, não existe um mecanismo padrão implementado pelo browser que


34permita o acesso direto à periféricos como leitores de Smart Cards. Para tanto seráutilizado o Java Applet que realizará a integração entre o cartão e as classes denegócio.5.3 Banco de dadosSerá utilizado como banco de dados a versão gratuita do Oracle,Express Edition. Existem dois principais motivos para o uso dessa tecnologia. Oprimeiro é o fato de haver uma versão gratuita para uso com a mesma confiabilidadede um banco Oracle pago. O segundo é o fato da PUC já utilizar banco de dadosOracle em suas aplicações, o que permite no futuro uma integração mais simplesentre o seu sistema de CRM e o sistema de controle de freqüência. Além disso,optando por um banco que já é suportado não será necessário realizar investimentoscom novas plataformas para suporte desse serviço.5.4 Diagramas de Casos de Usoprocessamento de dados.Na Figura 23 está o diagrama de caso de uso do sistema de


35Figura 23: Diagrama de caso de uso do sistema de processamento de dados5.5 Detalhamento dos Casos de UsoO detalhamento dos Casos de Uso do Sistema de processamento dedados coletados é realizado a seguir.5.5.1 LoginEste caso de uso representa a funcionalidade de iniciar uma sessão dosistema de processamento de dados coletados. Para isso os usuários devem fornecerao sistema as informações de senha e nome do usuário cadastrados e o sistema validaessas informações. As imagens apontadas pela Figura 24 e Figura 25 mostram osdiagramas de atividade e de classe de análise deste caso de uso.


36Figura 24: Diagrama de atividade do caso de uso LoginFigura 25: Diagrama de classe de análise do caso de uso Login


375.5.2 Administrar UsuáriosEste caso de uso representa a funcionalidade de administrar osusuários do sistema. Dentro desta funcionalidade será possível criar, remover e editarusuários.Os diagramas de atividade e de classe de análise deste caso de usoencontram-se na Figura 26 e Figura 27, respectivamente.Figura 26: Diagrama de atividade do caso de uso Administrar Usuários


38Figura 27: Diagrama de classe de análise do caso de uso Administrar Usuários5.5.3 Administrar ProfessoresEste caso de uso representa a funcionalidade de administrar osprofessores do sistema. Dentro desta funcionalidade será possível criar, remover eeditar professores.Na Figura 28 e Figura 29 estão os diagramas de atividade e de classede análise deste caso de uso.


39Figura 28: Diagrama de atividade do caso de uso Administrar ProfessoresFigura 29: Diagrama de classe de análise do caso de uso Administrar Professores


405.5.4 Administrar DisciplinasEste caso de uso representa a funcionalidade de administrar asdisciplinas do sistema. Dentro desta funcionalidade será possível criar, remover eeditar disciplinas.Na Figura 30 e Figura 31 estão os diagramas de atividade e de classede análise deste caso de uso.Figura 30: Diagrama de atividade do caso de uso Administrar Disciplinas


41Figura 31: Diagrama de classe de análise do caso de uso Administrar Disciplinas5.5.5 Administrar AlunosEste caso de uso representa a funcionalidade de administrar os alunosdo sistema. Dentro desta funcionalidade será possível criar, remover e editar alunos.Na Figura 32 e Figura 33 estão os diagramas de atividade e de classede análise deste caso de uso.


42Figura 32: Diagrama de atividade do caso de uso Administrar AlunosFigura 33: Diagrama de classe de análise do caso de uso Administrar Alunos5.5.6 Administrar HoráriosEste caso de uso representa a funcionalidade de administrar oshorários do sistema. Dentro desta funcionalidade será possível criar, remover e editarhorários.


43de análise deste caso de uso.Na Figura 34 e Figura 35 estão os diagramas de atividade e de classeFigura 34: Diagrama de atividade do caso de uso Administrar HoráriosFigura 35: Diagrama de classe de análise do caso de uso Administrar Horários


445.5.7 Administrar PeríodosEste caso de uso representa a funcionalidade de administrar osperíodos do sistema. Dentro desta funcionalidade será possível criar, remover e editarperíodos.Na Figura 36 e Figura 37 estão os diagramas de atividade e de classede análise deste caso de uso.Figura 36: Diagrama de atividade do caso de uso Administrar Períodos


45Figura 37: Diagrama de classe de análise do caso de uso Administrar Períodos5.5.8 Importar dados do Cartão Smart CardEste caso de uso representa a funcionalidade de importar os dados docartão smart card para o sistema. Assim os dados de freqüência dos alunos serãoarmazenados.Na Figura 38 e Figura 39 encontram-se os diagramas de atividade e declasse de análise deste caso de uso.


46Figura 38: Diagrama de atividade do caso de uso Importar dados do Cartão Smart Card


47Figura 39: Diagrama de classe de análise do caso de uso Importar dados do Cartão Smart Card5.5.9 Gerar relatórioEste caso de uso representa a funcionalidade de gerar relatórios defreqüência do sistema. Dois tipos de relatórios serão possíveis de ser gerados, umdetalhado por disciplina, e outro simplificado que pode ser por disciplina ou porprofessor.Na Figura 40 e Figura 41 estão os diagramas de atividade e de classede análise deste caso de uso.


48Figura 40: Diagrama de atividade do caso de uso Gerar relatórios


49Figura 41: Diagrama de classe de análise do caso de uso Gerar relatóriosO relatório de freqüência detalhado por disciplina será similar ao que éhoje a folha de chamada do professor. Este relatório apresentará as seguintesinformações:• Codcred da Disciplina• Nome da disciplina• Horário da disciplina• Nome do professor• Número de aulas previstas• Número de aulas dadas• Ano/Semestre• Lista dos alunos matriculados na disciplina• Indicação de cada presença e cada falta para cada dia de aula dada


50• Soma de todas as faltasNa Figura 42 encontra-se uma sugestão de relatório detalhado.Figura 42: Sugestão de relatório detalhadoO relatório de freqüência simplificado por disciplina apresentará asseguintes informações:• Codcred da disciplina• Nome da disciplina• Nome do professor• Número de aulas dadas• Lista dos alunos• Somatório das presenças• Somatório das faltas


51disciplina.Na Figura 43 encontra-se uma sugestão de relatório simplificado porFigura 43: Sugestão de relatório simplificado por disciplinaO relatório simplificado do professor é sobre todas as disciplinas queo mesmo ministra e apresentará as seguintes informações:• Nome do professor• Matrícula do professor• Lista com as disciplinas que ministra• Somatório de faltas para cada disciplina• Somatório de presenças para cada disciplinaprofessor.Na Figura 44 é exibida uma sugestão de relatório simplificado do


52Figura 44: Sugestão de relatório simplificado por professor5.6 Modelo de DadosO modelo de dados do sistema de processamento de dados coletadosincorpora todas as entidades necessárias para permitir a importação dos dadoscoletados e geração de relatórios de freqüência, detalhado e simplificado, tanto paraos alunos quanto para os professores.Utilizou-se por padrão de nomenclatura das colunas os seguintescódigos a fim de facilitar a leitura do modelo, conforme a Tabela 7.CódigoIdCdNmNrDtTabela 7: Descrição de nomenclaturas utilizadas no modelo de dadosDescriçãoIdentificador da tabela (chave primária)Código de identificação do objeto conhecido por entidades externasao sistema. Normalmente é uma (chave estrangeira).Nome descritivo do objetoCampo numéricoData e horaNa Figura 45 é apresentado o diagrama do modelo de dados.


53PeriodoHorarioHorario_Disciplina_ProfessorPKid_periodoPKid_horarioPKid_horario_disciplina_professorcd_periododt_iniciodt_fimFK1id_periodonr_diaFK1FK2id_horarioid_disciplina_professorPKFrequencia_Alunoid_frequencia_alunoPKDisciplina_Professorid_disciplina_professorPKProfessorid_professorFK1FK2id_alunodt_presencaid_disciplina_professorFK2FK1id_disciplinaid_professorcd_semestrenr_aulas_previstascd_matriculanm_professorAlunoDisciplinaFrequencia_ProfessorPKid_alunoPKid_disciplinaPKid_frequencia_professorcd_matriculanm_alunonm_disciplinacd_disciplinaFK1id_disciplina_professordt_presencaUsuarioPKid_usuarionm_loginnm_senhacd_perfilFigura 45: Diagrama do modelo de dados5.6.1 Tabela UsuárioEsta tabela possui a lista de usuários do sistema com os seusrespectivos níveis. Optou-se por fazer uma tabela à parte do resto da modelagem,pois esse tipo de controle pode ser implementado utilizando recursos externos aosistema que já estejam em uso na faculdade. O detalhamento das colunas é listado naTabela 8.


54Tabela 8: Definição da tabela usuarioNome do Campo Tipo Descriçãoid_usuario Numérico Código interno de identificação do usuáriono sistema.nm_login Varchar Username do usuárionm_senha Varchar Senha do usuáriocd_perfil Varchar Código do perfil do usuário5.6.2 Tabela ProfessorEsta tabela armazena a lista de todos os professores da universidade.Sua estrutura, apresentada na Tabela 9, contém apenas o nome do professor e seucódigo de matrícula. O identificador dessa tabela é um código numérico que seráutilizado para realizar os relacionamentos com as outras entidades.Tabela 9: Definição da tabela professorNome do Campo Tipo Descriçãoid_professor Numérico Código interno de identificação do professorno sistema.cd_matricula Varchar Código de matrícula do professor nauniversidade.nm_professor Varchar Nome do professor5.6.3 Tabela AlunoEsta tabela registra os alunos matriculados cuja freqüência deve sercontrolada. A tabela contém o nome do aluno, o código de matrícula e um número deidentificação que é a chave primária desta tabela, apresentada na Tabela 10.Tabela 10: Definição da tabela alunoNome do Campo Tipo Descriçãoid_aluno Numérico Código interno de identificação do aluno nosistema.cd_matricula Varchar Código de matrícula do aluno nauniversidade.nm_aluno Varchar Nome do aluno


555.6.4 Tabela DisciplinaEsta tabela é um cadastro simples de disciplinas composto pelo códigoda disciplina, nome da disciplina e o identificador interno da disciplina no sistema.Seu detalhamento é apresentado na Tabela 11.Tabela 11: Definição da tabela disciplinaNome do Campo Tipo Descriçãoid_disciplina Numérico Código interno de identificação da disciplinano sistema.cd_disciplina Varchar Código da disciplina na universidade.nm_aluno Varchar Nome da disciplina5.6.5 Tabela Disciplina_ProfessorÉ um relacionamento associativo entre professor e disciplina queocorre em um determinado semestre. Este conjunto de informações representa umasérie de informações, tais como as disciplinas de um semestre, as disciplinasministradas por um professor em um determinado semestre, dentre outros. Oscampos da tabela são apresentados na Tabela 12.Tabela 12: Descrição da tabela disciplina do professorNome do Campo Tipo Descriçãoid_disciplina_professor Numérico Código interno de identificação dadisciplina do professor no sistema.id_disciplina Numérico Chave estrangeira para tabela Disciplinaid_professor Numérico Chave estrangeira para tabela Professorcd_semestre Varchar Código do semestre5.6.6 Tabela PeriodoEsta tabela registra o período do dia que a disciplina será ministrada,seguindo o padrão da PUCRS, por exemplo: LM ou NP. A tabela contém a datainicial e final (com horário) dos períodos, o código do período e um número deidentificação do período. Na Tabela 13 é apresentada a tabela período com detalhes.


56Tabela 13: Descrição da tabela períodoNome do Campo Tipo Descriçãoid_periodo Numérico Código interno de identificação doperíodo no sistema.dt_inicio Datetime Data e hora de início do períododt_fim Datetime Data e hora de fim do períodocd_periodo Varchar Código do período5.6.7 Tabela HorarioEsta tabela registra os dias da semana em que a disciplina seráministrada e relaciona com os períodos nas quais ela ocorrerá. Na Tabela 14 seuscampos são detalhados.Tabela 14: Descrição da tabela horárioNome do Campo Tipo Descriçãoid_horario Numérico Código interno de identificação dohorário no sistema.nr_dia Numérico Dia da semana representando o dia daaulaid_periodo Numérico Chave estrangeira para tabela PeríodoPara cada período possível haverá uma linha nessa tabela, ou seja, setivermos uma disciplina que é ministrada todas as terças e quintas-feiras, das 19:30às 21:00 horas, teremos 4 linhas nessa tabela, com os valores apresentados na Tabela15 e Tabela 16.Tabela 15: Exemplo de valores para tabela períodoTabela PeríodoColunas id_periodo cd_periodo dt_inicio dt_fimValores1 L 19:30 20:152 M 20:15 21:00


57Tabela 16: Exemplo de valores para tabela horárioTabela HorárioColunas id_horario nr_dia id_periodo1 3 1Valores2 3 23 5 14 5 25.6.8 Tabela Horario_Disciplina_ProfessorEsta é uma tabela associativa que relaciona os horários, econseqüentemente os períodos, em que uma determinada disciplina de um semestreministrada por um determinado professor ocorre. Na Tabela 17 são detalhados oscampos.Tabela 17: Descrição da tabela de horários da disciplina do professorNome do Campo Tipo Descriçãoid_horario_disciplina_professor Numérico Código interno de identificaçãodo horário da disciplina doprofessor no sistema.id_disciplina_professor Numérico Chave estrangeira para tabelaDisciplina_professorid_horario Numérico Chave estrangeira para tabelaHorário5.6.9 Tabela Frequencia_ProfessorEsta tabela registra a freqüência dos professores nas disciplinas emque estão ministrando. Essa informação é extraída do cartão do professor, com basenos registros de freqüência cujo código seja igual ao código do professor que seencontra no cartão. Na Tabela 18 os campos estão detalhados.


58Tabela 18: Descrição da tabela de freqüência do professorNome do Campo Tipo Descriçãoid_frequencia_professor Numérico Código interno de identificação dohorário da disciplina do professorno sistema.id_disciplina_professor Numérico Chave estrangeira para tabelaDisciplina_professordt_presenca Datetime Data e hora do registro dapresença do professor5.6.10 Tabela Frequencia_AlunoEsta tabela registra a freqüência dos alunos nas disciplinas em queestão matriculados. Os dados que são inseridos nessa tabela são provenientes docartão smart do professor. Cada presença de cada um dos alunos que foi registrada nocartão é armazenada nessa tabela, como é apresentado na Tabela 19.Tabela 19: Descrição da tabela de freqüência do alunoNome do Campo Tipo Descriçãoid_frequencia_aluno Numérico Código interno de identificação dohorário da disciplina do professorno sistema.id_disciplina_professor Numérico Chave estrangeira para tabelaDisciplina_professorid_aluno Numérico Chave estrangeira para alunodt_presenca Datetime Data e hora do registro dapresença do professor


596. DESENVOLVIMENTOApesar do projeto do sistema ter sido bem documentado aimplementação dos componentes do projeto sofreu algumas alterações em função deproblemas encontrados. Neste capítulo serão descritas as soluções adotadas para osmódulos do sistema bem como as dificuldades encontradas na sua implementação.6.1 Sistema de Coleta de DadosA primeira intenção foi desenvolver o sistema de coletas utilizando oequipamento da Gumstix, apesar de não ter sido a plataforma com maior pontuaçãonas comparações. O motivo dessa decisão foi baseado no fato da placa da Renesasnão estar disponível na data em que o desenvolvimento precisaria começar, deacordo com o cronograma do Anexo 1.A leitura dos dados dos cartões de código de barras seria feita atravésde um leitor de código de barras padrão RS-232. O acesso ao Smart Card tambémdeveria ser feito através do mesmo protocolo.A criação do ambiente para esse desenvolvimento demandou acompilação de um GCC cross-plataform que consegue compilar C ANSI para oformato requerido pelo processador da Gumstix. Com esse ambiente a geração docódigo nativo funcionou corretamente e não se notou diferenças iniciais com códigossimples entre um programa que roda em um computador convencional e a plataformaGumstix Basix.Quanto ao hardware, houveram dificuldades para adquirir os cabosseriais necessários para a comunicação entre a placa extensora e os leitores decódigos de barras e de Smart Card. O conector de 8 pinos da placa não é um padrãomuito difundido o que obrigou a confeccionar artesanalmente os cabos. Se o padrãodo conector fosse de 11 pinos teria sido mais fácil encontrá-los.Depois de conseguir os cabos foi possível começar os testes de acessoàs portas seriais. Para tanto foi simulado o uso de uma leitora de códigos de barrasconectando a placa em uma porta serial de um computador convencional. Este teste


60falhou, apesar de várias tentativas diferentes, não sendo possível fazer o equipamentose comunicar com a porta utilizando o mecanismo padrão do Linux.No momento em que foi descoberto este problema de acesso às portasseriais a placa da Renesas estava disponível, então o desenvolvimento começou a serfeito como planejado.A Renesas fornece juntamente com o hardware uma IDE dedesenvolvimento. Essa IDE, exibida na Figura 46, intitulada High-performanceEmbedded Workshop, possui um conjunto de funcionalidades que facilitam otrabalho de implementação.Figura 46: Interface IDE de desenvolvimento da RenesasNa criação de um novo projeto o sistema disponibilizaautomaticamente uma série de componentes que facilitam o acesso aos recursos dehardware. Dentre esses recursos estão o controle total do LCD, controle dos LEDsindicativos, acesso aos botões e portas UARTs.


61O desenvolvimento é realizado dentro de uma janela do sistema epode ser realizado sem a conexão da placa. A compilação dos módulos é realizadaatravés de um dos botões disponibilizados na interface. Pode-se optar por compilarapenas o fonte que está sendo alterado, a fim de verificar isoladamente seus erros, outodo o projeto.A conexão do hardware com o computador se dá através de uma portaUSB. Uma vez conectado no computador, o Windows detecta automaticamente onovo hardware e o deixa pronto para o uso.No caso do projeto compilar com sucesso é exibida uma tela na qual épossível realizar o download do programa para a placa, exibida na Figura 47. Nessemomento a placa precisa estar conectada ao computador.Figura 47: Tela de download do software para a placa da RenesasCom o software corretamente carregado na placa é possível controlartoda a execução. Dentre os recursos disponibilizados pelo IDE estão: iniciar aexecução a partir do início, depurar passo-a-passo, pausar a execução, exibir valoresde memória e registradores em tempo real, definir posição de execução do programae encerrar sua execução.


62No que diz respeito ao hardware existe a necessidade de conectar osperiféricos adicionais a fim de permitir a implementação da solução final.O primeiro componente é um leitor de código de barras que trabalhecom o padrão RS-232. Este componente transfere os dados lidos em formato ASCIIjá decodificados. Através dessa leitora é realizada a leitura do código presente nacarteira do estudante.O segundo é uma interface de acesso ao Smart Card. Essecomponente realiza leituras e gravações de dados no cartão do professor. O protocolode acesso utilizado é o I 2 C. Poderia ser utilizado o padrão RS-232, mas interfaces queimplementam esse padrão têm um custo significativamente mais elevados que as I 2 C.O terceiro é um relógio de tempo real. A placa da Renesas não possuium relógio interno, apenas um clock. Então existe a necessidade de haver um relógiobaseado no qual o horário dos eventos (início da aula e presença dos alunos) éregistrado. O protocolo de acesso a esse componente também é I 2 C.A conexão desses dispositivos ao hardware principal é realizadoatravés de um barramento de expansão existente na placa. Esse barramento contémuma série de portas, dentre elas 3 UARTs e 39 pinos de entrada e saída. Paraimplementar a solução proposta é necessário utilizar 2 UARTs e uma porta deentrada e saída (I/O). Na Figura 48 pode ser visualizada a ligação dos periféricos naplaca principal. Na Figura 49 é exibida a conexão física entre os periféricos e a placada Renesas.


63Figura 48: Configuração de uso do barramento da placa principalPlaca daRenesasLeitora I 2 Cde SmartCardSmart CardsInterfaceRS-232CLeitora decódigo debarras RS-232Cartões decódigos debarrasFigura 49: Conexão física dos periféricos e a placa da Renesas


64A implementação do sistema embarcado pode ser visualizada nodiagrama de seqüência apontado pela Figura 50. O sistema começa a funcionar nomomento em que o hardware é ligado. No processo de inicialização o acesso àsportas é configurado, definindo paridade e velocidade, dentre outros, de acordo como padrão do periférico.Uma vez que as portas estão funcionais o sistema entra em um loopinfinito. Assim, não existe final de processamento, pode-se apenas desligar ohardware ou reiniciá-lo, através de uma chave de reset ou desligando a fonte deenergia, respectivamente.Então o processo verifica continuamente a existência de um cartãoinserido na leitora de Smart Card (UART1). O sistema fica preso nesse ponto até queo professor insira seu cartão. No momento em que o sistema detecta o cartão é criadoum registro de início de aula. O horário corrente é consultado no RTC utilizando oprotocolo I 2 C.Com o cartão do professor inserido no equipamento é inciado oprocesso de coleta das presenças dos alunos. O sistema, então, limpa possíveis dadosremanescentes dos buffers da leitora de código de barras e fica aguardando por dadosna UART0. A cada ciclo de leitura onde não houverem dados a serem lidos o sistemaverifica se o cartão do professor ainda está inserido. Caso não esteja, significa que aaula foi encerrada e o sistema volta a aguardar por um cartão do professor.Quando houverem dados a serem lidos, oriundos da leitora de códigode barras (UART0), o sistema consome esses dados e consulta o RTC para descobriro horário. Com essas informações, registra a presença do aluno no Smart Card doprofessor. Caso o processo de gravação tenha ocorrido com sucesso o sistema exibeuma mensagem informando que os dados foram registrados e volta a aguardar pornovos alunos. No caso de haver um erro na gravação o sistema verifica se existe umcartão de professor inserido. Se houver, assume que ocorreu um erro temporário nagravação e retorna à leitura dos cartões dos alunos. Caso não exista mais um cartãode professor inserido o sistema volta ao estado inicial, aguardando um novo SmartCard.


65Figura 50: Diagrama de seqüência interno do sistema de coleta


66Existe uma segunda implementação de sistema que roda na placa daRenesas. Esse sistema é responsável pela descarga dos dados do cartão do professor.Inicialmente a intenção era realizar essa operação através de um Java Applet, mas emfunção de mudanças do projeto optou-se por utilizar o mesmo equipamento tantopara coletar quanto para descarregar os cartões. Os motivos dessa decisão estãolistados no capítulo 6.2.O sistema para descarga de dados utiliza como periféricos umcomputador pessoal, conectado na placa principal pela interface serial e um leitor deSmart Card padrão I 2 C. As conexões podem ser visualizadas na Figura 51.Figura 51: Configuração do barramento para sistema de descargaO funcionamento interno do sistema de descarga é exibido na Figura52. Ele se baseia no uso dos três botões disponíveis na placa principal, que controlamas funcionalidades disponíveis. O botão S0 é responsável por ler do Smart Cardtodos os registros ainda não descarregados e enviar pela porta serial. Esses dados sãoformatados no padrão de entrada do sistema de processamento de dados coletados.Portanto, qualquer sistema de comunicação serial, tal como o hyperterminal doWindows, pode ser utilizado para essa atividade.


67O botão S1 é pressionado quando os dados do cartão já foraminseridos no sistema de processamento. Ele é utilizado para marcar todos os registrosdo cartão como descarregados. O botão S2 é utilizado para confirmação da operaçãodo S1. Como os dados serão descartados, optou-se por obrigar o usuário a confirmara operação solicitada.Figura 52: Diagrama de seqüência do sistema de descargaQuando inicializado o sistema fica aguardando pela inserção de umSmart Card na leitora conectada na UART1. Quando um cartão é inserido o sistema


68aguarda pelo pressionamento do botão S0 ou S1. Normalmente os três botões serãopressionados em seqüência, mas nada impede o usuário de simplesmente esvaziar umcartão.Caso o botão S0 seja pressionado o sistema envia para a serialconectada na UART0 todos os registros do cartão do professor que ainda não foramdescarregados (baseado no funcionamento interno da memória do cartão descrito nocapítulo 4) lidos da UART1.Caso o botão S1 seja pressionado é solicitada uma confirmação viaS2. Caso o botão S2 seja pressionado todos os registros são marcados comodescarregados. Essa operação não pode ser desfeita, por isso a preocupação com aconfirmação.6.2 Sistema de Processamento de DadosAssim como no sistema de coleta o desenvolvimento do sistema deprocessamento de dados coletados não pôde ser implementado exatamente comohavia sido projetado. Houveram algumas dificuldades que obrigaram a mudar algunspontos do sistema.A proposta inicial do projeto direcionava a implementação da leiturados dados do Smart Card do professor através de um Java Applet executado viaWEB. Nesta solução cada professor que dispusesse de um leitor de Smart Cardconectado no computador, fosse USB, externo ou interno, poderia realizar a descargadas presenças a qualquer momento.Houveram dois problemas relacionados a esse item. O primeiro dizrespeito ao conhecimento adquirido no curso, pois em nenhuma disciplina sãocitados modelos de desenvolvimento voltados à Java Applets. Mesmo assim forambuscadas soluções para resolver o problema mas não foi encontrado um mecanismosimples e gratuito de acesso ao cartão que funcionasse via Java Applet. Apesar de


69existirem soluções como essa no mercado (ex.: recarga de vale refeição da VR) aimplementação do acesso aos dados do cartão se mostrou bastante complexa.Para contornar esse problema a solução foi alterada para que oequipamento de coleta de dados também funcionasse como extrator de dados docartão (descarga de dados). A proposta então é implementar um módulo que roda noequipamento da Renesas, acionado através de um dos seus botões, que lê o cartão doprofessor e envia para a porta serial todas as presenças em formato texto separadopor ponto-e-vírgula. Esses dados podem ser lidos por qualquer terminal serial (ex.:hyperterminal do Windows) e enviados para a interface do sistema de processamentode dados através de um simples “copiar/colar” ou através da leitura de arquivospreviamente salvos.Isso traz como benefício o total desacoplamento do sistema deprocessamento com o de coleta, permitindo que no futuro seja trocado o equipamentode coleta sem precisar alterar nenhum ponto do sistema de processamento, desde queo formato do resultado das presenças seja mantido. Além disso, todo o acesso aocartão é feito sempre por um único equipamento, restringindo o acesso de gravaçãodos dados a um único ponto da arquitetura proposta.Segue abaixo um exemplo do formato dos dados enviados peloequipamento Renesas e lido em um terminal serial:14/11/2007 19:31:01;P;002888171;14/11/2007 19:35:01;A;002800653;14/11/2007 19:36:02;A;123123123;14/11/2007 19:40:01;A;128389000;14/11/2007 20:15:01;A;912831981;14/11/2007 19:31:01;P;002888172;14/11/2007 19:35:01;A;002800655;14/11/2007 19:36:02;A;123123121;14/11/2007 19:40:01;A;128389002;14/11/2007 20:15:01;A;912831982;Figura 53: Exemplo de dados importados do Smart Card


70Cada evento é composto por uma data e hora, uma letra onde ‘P’significa evento do professor e ‘A’ significa evento do aluno, e por último amatrícula do usuário. O evento do professor é sempre um registro de início da aula, eo evento do aluno é sempre um registro de presença. Assim o sistema identifica ofinal da aula através do evento de início da próxima.O sistema de processamento de dados foi desenvolvido na linguagemJava utilizando JSP, com servidor WEB Tomcat. Os padrões de desenvolvimento desoftware usados foram MVC e DAO. O MVC tem por objetivo separar odesenvolvimento do aplicativo em três camadas: modelo, interface e controle. ODAO cria uma camada específica para persistência dos dados, separando as regras denegócio das regras de acesso ao banco de dados. [13]No MVC, entende-se por modelo os dados que a aplicação opera, ainterface é a camada de visualização da aplicação (interface com o usuário) e ocontrole é onde são processadas todas as requisições feitas pelo usuário através dainterface. Essa separação faz com que as modificações em uma camada não interfirana outra, facilitando o trabalho do programador e criando uma organização para oprojeto. [13]Como IDE de programação utilizamos o NetBeans 5.5.1, que é a IDErecomendada pela SUN, empresa criadora da linguagem Java. O Tomcat foiescolhido como servidor WEB, pois acompanha o NetBeans 5.5.1, o que facilita aconfiguração do ambiente. Além disso, esse servidor é largamente utilizado e podeser facilmente configurado para funcionar fora do ambiente do Netbeans.


717. CONCLUSÃOA implantação de um sistema automatizado tem por objetivo principalmelhorar o aproveitamento de tempo em uma atividade específica. Qualquermudança em um processo já em execução traz consigo benefícios e prejuízos. Osegredo está em fazer com que os benefícios superem largamente os prejuízos,tornando assim a aplicação da mudança válida.No caso da automação do controle de freqüência na PUC-RS,podemos elencar algumas implicações relacionadas à implantação desse novoprocesso. Os itens avaliados estão descritos a seguir.Tempo gasto na realização da “chamada”Calcula-se que o tempo gasto para realizar a chamada de cada um dosalunos é de aproximadamente 2,5 segundos. Este tempo foi medido em disciplinasaleatórias, dividindo o tempo total gasto na atividade pelo número de alunos. Nestetempo está compreendido apenas a chamada e a resposta, descontando o tempo depreparação das folhas. Baseado em uma turma de 60 alunos, o tempo total utilizadoseria de 1 minuto e 30 segundos.O tempo para preparação da folha de chamada ocorre emaproximadamente um minuto em média. Já o tempo gasto no final da aula pararegistrar a presença dos alunos atrasados é de aproximadamente 5 minutos, com umdesvio padrão alto, pois a quantidade de alunos que se atrasam variaconsideravelmente em cada disciplina. Parte deste tempo é utilizado para que osalunos verifiquem suas presença a fim de controlar suas faltas.A soma de todos os tempos corresponde a 7 minutos e 30 segundosgastos apenas na realização da chamada. O tempo total de aula, baseado emdisciplinas de 2 créditos por dia é de 1 hora e 30 minutos. Ou seja, temos 8,33% dotempo gasto em aula apenas com o controle manual de freqüência. Isso levando emconsideração que a chamada dos dois períodos é realizada apenas uma vez. Casofosse realizada uma chamada por período o tempo iria dobrar no exemplo citado.


72O tempo gasto no processo automatizado é de menos de 20 segundos,pois o único trabalho do professor na aula é inserir o cartão na leitora e retirá-lo aofinal da aula. O registro das presenças é feito por cada aluno, diluindo o tempo semcausar uma interrupção que afeta a todos.Sendo assim, a automatização traz uma economia considerável detempo que pode ser melhor utilizado nas atividades de ensino.Integração Professor-AlunoA relação entre os professores e alunos é importante para o bomandamento e aprendizagem da disciplina. A chamada realizada manualmentefunciona bem como um primeiro mecanismo de integração entre professores e alunose também permite que os colegas se conheçam por nome.No mecanismo automatizado essa relação não mais existe, perdendoum pouco essa característica de relação humana que faz parte do ensino daUniversidade. Nesse aspecto a automação vem a prejudicar um elemento que éimportante no ensino, precisando ser compensada de alguma outra forma.Confiabilidade das InformaçõesPor confiabilidade das informações entende-se a qualidade dasmarcações realizadas pelos professores nas folhas de chamada. Considera-se falha naqualidade marcações de presenças nas quais os alunos não compareceram,esquecimento da realização da chamada, marcações incorretas involuntárias, dentreoutras.No processo manual podem ocorrer falhas humanas de marcação pelosmotivos citados anteriormente. Também pode ocorrer tentativas de fraude por partedos alunos, que podem vir a responder à chamada em nome de um dos seus colegas.No sistema automatizado o professor não tem como prejudicar oubeneficiar voluntariamente um aluno, o que torna a avaliação muito mais justa eacurada. O sistema não tem como ser influenciado ou burlado, simplesmente realizaas marcações dos códigos que foram informados. Por outro lado, pode-se nesse novoparadigma ocorrer um novo tipo de fraude, simplesmente emprestando a carteira


73escolar para que outro colega registre a presença. Essa prática é similar à fraude deresponder à chamada em nome de outro colega, porém devido à ausência de relaçãohumana com o professor, fica mais simples de realizá-la. Uma solução para esseproblema é utilizar outro tipo de identificador de aluno em substituição à carteiraescolar como, por exemplo, uma leitora biométrica (fingerprint).Por esses motivos, considera-se que nesse quesito a automação nãobeneficia nem prejudica o processo existente.Tempo para Fechamento de AtasO processo de fechamento das atas de aproveitamento ocorre ao finaldo semestre. Nessa atividade a folha de chamada é transportada para o sistemainterno da faculdade manualmente, tornando sua realização exaustiva e demorada.No sistema automatizado, pode-se implementar uma integração dosistema proposto com o da Universidade, acabando com a necessidade de umaintervenção manual.Porém, não existe hoje tal integração, então conclui-se que novamentea automação não traria benefícios diretos, mas com a implementação da integração asvantagens são evidentes.Controle e OrganizaçãoA respeito de controle e organização comentamos a respeito danecessidade de haver uma quantidade consideravelmente grande de folhas de papelque o professor precisa manter ao longo do semestre. Qualquer dano nas folhas podeacabar comprometendo os dados nelas contidos.Com o controle automatizado o professor só precisa manter consigo osmart card que não necessita de atenção demasiadamente cautelosa. Basta tratá-locom o mesmo cuidado que um cartão de banco que irá funcionar corretamente.organização.Por esse motivo a automação auxiliaria o processo de controle e


74Consulta do Número de FaltasUma prática bastante comum por parte dos alunos é a consulta dassuas faltas. Isso é necessário para que possam se organizar a fim de não extrapolar oslimites determinados. No processo manual essa atividade é realizada consultando osprofessores, normalmente ao final das aulas.O controle automatizado proposto nesse trabalho não provê em seuescopo uma interface de consulta de presenças para uso dos alunos. Ou seja, essapossibilidade é perdida com a implantação do sistema. Por isso o controle manualleva vantagem nesse quesito, porém a implementação dessa interface é relativamentesimples de ser executada e caso venha a ser implementado trará um grande benefício.SegurançaEntende-se por segurança a garantia que as presenças armazenadasnão serão perdidas. No processo manual qualquer dano à folha de chamada ou suaperda causa a perda das presenças nela anotadas. Porém apenas os alunos que estavanessa folha serão afetados.Na proposta automatizada a perda do cartão compromete todas aspresenças de todas as turmas que ainda não foram descarregadas para o sistema deprocessamento. Neste critério, então, a rotina do professor influencia diretamente aavaliação. Porém, o cartão não é tão suscetível à problemas como as folhas de papel.Aliando-se a maior resistência do cartão à uma prática segura de upload dos dados docartão considera-se que a automação traz benefícios.Análise dos CritériosNa Tabela 20 os critérios avaliados anteriormente foram listados e aconclusão à respeito da automação foi resumida a fim de avaliar se tal evolução trarámais benefícios do que problemas.Tabela 20: Critérios comparativos das soluções


75CritérioTempo gasto na realização da “chamada”Integração Professor-AlunoConfiabilidade das InformaçõesTempo para Fechamento das AtasControle e OrganizaçãoConsulta do Número de FaltasSegurançaMelhor MétodoAutomatizadoManualEmpateAutomatizadoAutomatizadoEmpateAutomatizadoTabela 21.O total aglutinado de acordo com o método pode ser visualizado naTabela 21: Total resumido dos critérios verificadosMétodoTotal de CritériosManual 1Empate 2Automatizado 4Torna-se evidente, depois da análise comparativa entre os processos,que a automação é uma saída interessante para melhorar o controle de freqüência.A tecnologia empregada no hardware adotado teve algumas surpresasindesejáveis. Já nos testes iniciais houveram complicações no equipamento daGumstix. O que parecia ser simples – ler a porta serial de um Linux padrão – não semostrou tão trivial. Não foi possível realizar testes básicos de comunicação com aporta o que inviabilizou a seqüência dos testes.Acredita-se que a placa funciona, pois é possível utilizar as portasseriais como terminal, mas que a programação para a distribuição Linux embarcadono equipamento existam algumas peculiaridades que não estão documentadas.Além disso, há uma grande defasagem de conhecimento entre onecessário para programar essa solução e as tecnologias aprendidas durante o cursode Sistemas de Informação. Essa situação pode ter sido um dos fatores queprejudicou a execução dos testes.Já no sistema processamento de dados coletados (WEB) nãohouveram surpresas. A escolha da tecnologia empregada foi muito influenciada pelo


76aprendizado acadêmico. O terno composto de Java, JSP e Oracle é quase padrão nodesenvolvimento de trabalhos do curso. A única análise realizada foi verificar se asolução poderia ser desenvolvida nesse padrão. Como não foi encontrado nada que seopusesse à tal solução optou-se por essa arquitetura.Verificou-se que pode ser desenvolvida uma série de novos recursospara o trabalho. Alguns são melhorias nos sistemas que já existem, outros são novasfuncionalidades que vêm a auxiliar o trabalho diário.O primeiro é desenvolver o sistema de processamento dos dadoscoletados comunicando diretamente com um leitor de smart card paraarmazenamento dos dados de freqüência. A proposta para esse caso é criar um JavaApplet que leia um leitor de smart card via USB, substituindo a opção de carga dosdados existente no sistema.Outra proposta interessante é integrar o sistema de processamento dedados com o sistema interno da PUC, no qual é registrado o número de presençasconsolidado de cada um dos alunos. Isso facilita o trabalho de fechamento das atas deaproveitamento que ocorrem ao final de cada semestre.Enquanto os sistemas não são integrados seria interessante que osalunos tivessem acesso à uma página de consulta da ferramenta que permitisseconsultar as presenças a fim de controlar o seu número de faltas. Atualmente isso éfeito consultando diretamente o professor e o sistema atual não disponibiliza ummecanismo para suprir essa necessidade.Até o momento da conclusão da escrita dessa monografia o processode leitura e escrita dos dados no Smart Card via I 2 C ainda encontra-se em fase dedesenvolvimento e testes. Apesar dos esforços, não existe ninguém na FACIN comconhecimento aprofundado nesse tópico, e espera-se que até o dia da apresentaçãoesteja funcional. Caso contrário sugere-se como trabalho futuro, a implementaçãodessa funcionalidade a fim de concluir esse módulo do sistema.


77BIBLIOGRAFIA[1] SLAVIN, Robert. Salas de aula eficazes, escolas eficazes: uma base depesquisa para reforma da Educação na América Latina. Baltimore,Maryland, 1996.[2] GROSSMANN, Zyngier. Código de barras: da teoria à prática. São Paulo:Nobel, 1991.[3] FERNANDES, Jorge. Constituição da República Federativa do Brasil –Atualizada até Abril/2007. Minas Gerais: Forum, 2007.[4] BUSHNELL, Richard. Getting Started With Bar Codes: A SystematicGuide. Cutter Information Corp; 5th edition, 1998.[5] RANKL, Wolfgang. Smart Card Handbook. Wiley, 2004.[6] GUTHERY, Scott & JURGENSEN, Timothy. Smart Card Developer's Kit.Macmillan Technical Pub, 1998.[7] PARET, Dominique. RFID and Contactless Smart Card Applications.Wiley, 2005.[8] PARET, Dominique. The I2C Bus from Theory to Practice. John Wiley &Sons Ltd, 1997.[9] BERGER, A. Embedded Systems Design. CMP, 2002.[10] RIGBY, William. Computer interfacing: a practical approach to dataacquisition and control. Englewood Cliffs, 1995.[11] LAPRIE, J.C. Dependable computing and fault-tolerance: concepts andterminology. International Symposium On Faulttolerant Computing, 1985.[12] NORTON, Peter. Desvendando periféricos e extensões. Rio de Janeiro:Campus, 1993.[13] LARMAN, Craig. Utilizando UML e Padrões. Bookman, 2004.


78ANEXO 1 - ATIVIDADES E CRONOGRAMADetalhamento das atividadesA. Levantamento de requisitos: identificar as necessidades do sistemabaseado no projeto proposto.B. Projeto do sistema: analisar, projetar e modelar o sistema através de casosde uso, detalhamento de casos de uso, modelos de classes e de banco dedadosC. Implementação da aplicação do Sistema de Coleta dos Dados: apósdefinirmos qual o melhor Sistema de Coleta de Dados teremos quedesenvolver a aplicação para o mesmo. Direcionando o sistema escolhidopara a nossa necessidade.D. Implementação do Banco de Dados Coletados: criar as tabelasnecessárias para poder começar o desenvolvimento do sistema deprocessamento de dados coletados.E. Implementação do Sistema de Processamento de Dados Coletados:tendo definido o melhor sistema para processar os dados coletados temosque desenvolvê-lo.F. Teste dos módulos desenvolvidos: atividade constante a partir do início dequalquer implementação.G. Redação do Trabalho de Conclusão: consiste na elaboração de todadocumentação do Trabalho de Conclusão.


79Cronograma de atividadesTabela 22: CronogramaAtividadea) Levantamento de Requisitosb) Projeto do Sistemac) Imp. Sistema de Coletad) Imp. Banco de Dadose) Imp. Sis. Processamentof) Testes dos módulosg) Redação do Trabalho2007Mar Abr Mai Jun Jul Ago Set Out Nov DezRecursosproposto neste documento.Os seguintes recursos foram utilizados para a realização do trabalhoSoftware• Linguagem Java para o sistema de processamento de dados• Linguagem C para o equipamento da Renesas• Windows XP ou superior• IDE Netbeans 5.5.1• Java JDK 1.6.0 ou superior (com API, JRE e documentação)• SDK da Renesas.• Webserver Tomcat 5.5 ou superior• Banco de dados OracleHardware• Máquinas do LAPRO da FACIN


80• Equipamento da Renesas• Computadores pessoais dos integrantes do grupo• Cartões Smart Card• Leitor Smart Card I 2 C• Leitor serial RS-232 de código de barras• Real-time ClockFontes de Pesquisa• Biblioteca Central• Internet


81ANEXO 2 – DEFINIÇÕESAPIAPI, de Application Programming Interface (ou Interface deProgramação de Aplicativos) é um conjunto de rotinas e padrões estabelecidos porum software para utilização de suas funcionalidades por programas aplicativosDe modo geral, a API é composta por uma série de funções acessíveissomente por programação que permitem utilizar características do software menosevidentes ao usuário tradicional.No caso de sistemas operacionais, a API costuma ser dissociada detarefas mais essenciais, como manipulação de blocos de memória e acesso adispositivos. Estas tarefas são atributos do Kernel ou núcleo do sistema, e raramentesão programáveis.IDEIDE, do inglês Integrated Development Environment ou AmbienteIntegrado de Desenvolvimento, é um programa de computador que reúnecaracterísticas e ferramentas de apoio ao desenvolvimento de software com oobjetivo de agilizar este processo.Geralmente os IDEs facilitam a técnica de RAD (de Rapid ApplicationDevelopment, ou "Desenvolvimento Rápido de Aplicativos"), que visa a maiorprodutividade dos desenvolvedores.GCCO GNU Compiler Collection (chamado usualmente por GCC) é umconjunto de compiladores de linguagens de programação produzido pelo projetoGNU. É software livre distribuído pela Free Software Foundation (FSF) sob ostermos da GNU GPL, e é um componente-chave do conjunto de ferramentas GNU. É


82o compilador padrão para sistemas operativos UNIX e Linux e certos sistemasoperativos derivados tais como o Mac OS X.Originalmente designado por GNU C Compiler (compilador C GNU),por suportar somente a linguagem de programação C, foi mais tarde estendido parasuportar a compilação de C++, Fortran, Ada, Java e Objective-C, entre outros.Java AppletNo contexto de Java, applets são aplicativos que se servem da JVM(Java Virtual Machine) existente na máquina cliente ou embutida no próprionavegador do cliente para interpretar o seu bytecode. Criados pela Sun em 1995, sãogeralmente usados para adicionar interatividade a aplicações web que não podem sergeradas pelo HTML. Eles são executados numa "caixa de areia" (sandbox) pelamaioria dos navegadores, impedindo-os de acessarem os dados da máquina na qualestão sendo executados. O código do applet é baixado de um servidor web e onavegador ou o embute dentro de uma página web ou abre uma nova janela exibindoa interface do programa.USBUniversal Serial Bus (USB) é um tipo de conexão Plug and Play quepermite a conexão de periféricos sem a necessidade de desligar o computador.O USB foi concebido na óptica do conceito de Plug and Play,revolucionário na altura da expansão dos computadores pessoais, bem comominimizar o esforço de concepção de periféricos, no que diz respeito ao suporte porparte dos sistemas operacionais (SO) e hardware. Assim, surgiu um padrão quepermite ao SO e à placa-mãe diferenciar, transparentemente, diversas característicasdos equipamentos que são plugados na porta.


83ANEXO 3 – MANUAL DO USUÁRIO

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!