Post on 13-Oct-2018
FACULDADES INTEGRADAS DO VALE DO IVAÍ
Mantida pela Instituição Cultural e Educacional de Ivaiporã – ICEI
Recredenciada pela Portaria nº. 545 de 11/05/2012 – D.O.U. – 14/05/2012
Tecnologia em Análise e Desenvolvimento de Sistemas
RODRIGO ROHLING CRUZ
SANDRO DUTRA DO NASCIMENTO JUNIOR
BIOMETRIA APLICADA A SEGURANÇA RESIDENCIAL
IVAIPORÃ/PR
2013
RODRIGO ROHLING CRUZ
SANDRO DUTRA DO NASCIMENTO JUNIOR
BIOMETRIA APLICADA A SEGURANÇA RESIDENCIAL
Trabalho de conclusão de curso apresentado
ao curso superior de Tecnologia em Análise
e Desenvolvimento de Sistemas, das
Faculdades Integradas do Vale do Ivaí como
requisito parcial para obtenção do título de
tecnólogo em Análise e Desenvolvimento de
Sistemas.
Orientador: Prof. RobsonL.Zambroti
IVAIPORÃ/PR
2013
RODRIGO ROHLING CRUZ
SANDRO DUTRA DO NASCIMENTO JUNIOR
BIOMETRIA APLICADA A SEGURANÇA RESIDENCIAL
Trabalho de Conclusão de Curso apresentado
a Faculdades Integradas do Vale do Ivaí, como
requisito parcial para obtenção do título de
Tecnólogo em Análise e Desenvolvimento de
Sistemas, sob apreciação da seguinte banca
examinadora:
Aprovado(a) em 30/11/2013
COMISSÃO EXAMINADORA
_______________________________
Guilherme de Lemos
_______________________________
Pedro Henrique de Sousa
_______________________________
Robson de Lacerda Zambroti
“A tarefa não é tanto ver o que ninguém viu ainda, mas pensar o que ninguém
pensou sobre algo que todos vêem” (Arthur Schopenhaurer)
AGRADECIMENTOS
Primeiramente agradecemos a Deus por nos ter dado força nos
momentos de dificuldades (que não foram poucos) e também nos ajudou a suportar
os pessimistas que disseram que não íamos dar conta do recado. Queremos
agradecer, também, todas as pessoas, que, de alguma forma, contribuíram para a
produção deste projeto. Seja com palavras de incentivo ou com dicas que
agregaram melhorias.
CRUZ, Rodrigo Rohling; NASCIMENTO JUNIOR, Sandro Dutra do, 70 páginas. Biometria Aplicada a Segurança Residencial. Trabalho de conclusão de curso (superior de tecnologia em Análise e Desenvolvimento de Sistemas) - Faculdades Integradas do Vale do Ivaí. Ivaiporã, 2013.
RESUMO
Atualmente, o índice de furtos a residência vem aumentando. Em 2012, a PM
(Policia Militar) registrou uma elevação de 44% na taxa de furtos a residência no
Brasil (SILVA, 2012), por isso surge a necessidade de ter um sistema que possibilite
um controle de acesso mais seguro que seja acessível a maior parte da população,
já que o uso de chaves e fechaduras simples não são tão eficazes contra os furtos.O
objetivo deste projeto é desenvolver um sistema similar aos já existentes, porém,
com preço mais reduzido, possibilitando o controle de acesso para uma camada da
população, que em sua maioria, não possui condições de adquirir um dos já
existentes. Para isso, será utilizado um leitor biométrico em conjunto com uma trava
elétrica que, ligada a um computador, através da porta paralela, por intermédio de
um software, realizará o controle de acesso. O resultado esperado com este projeto
é desenvolver um sistema com componentes de custo baixo, utilizando a biometria,
para realizar o controle de acesso a uma residência. Desta forma, este projeto inova
ao trazer uma alternativa eficiente, que com a utilização de alguns recursos de preço
reduzido, atinge o objetivo central de todo o projeto, a utilização da biometria
aplicada à segurança residencial.
Palavras-chave: Biometria; Porta Paralela; Segurança; Software; Hardware.
CRUZ, Rodrigo Rohling; NASCIMENTO JUNIOR, Sandro Dutra do, 70 páginas. Biometria Aplicada a Segurança Residencial. Trabalho de conclusão de curso (superior de tecnologia em Análise e Desenvolvimento de Sistemas) - Faculdades Integradas do Vale do Ivaí. Ivaiporã, 2013.
ABSTRACT
Currently, the rate of thefts has increased the residence. In 2012, the MP (Military
Police) showed an increase of 44% in the rate of thefts residence in Brazil (Silva,
2012), so there is a need to have a system that allows an access control safer that is
accessible to most of the population, since the use of simple keys and locks are not
as effective against thefts. The objective of this project is to develop a system similar
to the existing, but with lower price, enabling the access control for a segment of the
population that mostly does not have a position to acquire one of the existing ones.
To this end, a reader will be used in conjunction with a biometric electric lock that
connected to a computer through the parallel port, through software, to perform
access control. The expected outcome of this project is to develop a system with low
cost components, using biometrics to perform access control to a residence. Thus,
this project breaks new ground by bringing an efficient alternative, that the use of
some resources, reaches the central purpose of the entire project, the use of
biometrics applied to residential security.
Keywords: Biometrics, Parallel Port, Security, Software,Hardware.
SUMÁRIO
1. INTRODUÇÃO ...................................................................................................... 13
2. DESCRIÇÃO DO TEMA .............................. ......................................................... 14
3. JUSTIFICATIVA .................................. .................................................................. 15
4. OBJETIVOS ...................................... .................................................................... 16
4.1. Objetivos Gerais ................................................................................................. 16
4.2. Objetivos Específicos ......................................................................................... 16
5. FUNDAMENTAÇÃO TEORICA .......................... .................................................. 17
5.1. Biometria ............................................................................................................ 17
5.2. Porta Paralela ..................................................................................................... 18
5.3. Porta Pararela X Porta Serial ............................................................................. 20
6. ENGENHARIA DE SOFTWARE ......................... .................................................. 21
6.1. Técnica De Coleta De Dados ............................................................................. 21
6.2. Observação Natural ........................................................................................... 22
6.3. Entrevistas .......................................................................................................... 23
7. LEVANTAMENTO DO SISTEMA ........................ ................................................. 24
7.1. Levantamento De Requisitos ............................................................................. 24
8. REQUISITOS FUNCIONAIS ................................................................................. 25
9. ESPECIFICAÇÃO DE CASO DE USO ................... .............................................. 26
9.1. Manter Usuário – Cadastro ................................................................................ 26
9.2. Manter Usuário – Alterar .................................................................................... 26
9.3. Manter Usuário – Exclusão ................................................................................ 27
9.4. Efetuar Login ...................................................................................................... 27
10. REQUISITOS NÃO FUNCIONAIS ..................... ................................................. 29
10.1. Requisitos Não Funcionais – Descrição ........................................................... 29
10.1.1. Portabilidade ................................................................................................. 29
10.1.2. Segurança ..................................................................................................... 29
10.1.3. Usabilidade .................................................................................................... 30
11. REGRAS DE NEGÓCIO ..................................................................................... 31
11.1. Regras de negócio do administrador ................................................................ 31
11.2. Regras de negocio do usuário morador ........................................................... 31
12. CICLO DE VIDA DE SOFTWARE ...................................................................... 32
13. METODOLOGIA DE DESENVOLVIMENTO ................ ...................................... 33
14. ESTUDO DE VIABILIDADE (ECONÔMICA - TÉCNICA) ... ................................ 34
14.1. Viabilidade Econômica ..................................................................................... 34
14.2. Viabilidade Técnica .......................................................................................... 34
15. CRONOGRAMA DE CONFECÇÃO ....................... ............................................ 36
16. MAPA CONCEITUAL ............................... .......................................................... 37
17. FASE DE PLANEJAMENTO E ANÁLISE ................ .......................................... 38
17.1. Planejamento do projeto................................................................................... 38
17.2. EAP (ESTRUTURA ANALÍTICA DE PROJETO) .............................................. 38
17.3. Estrutura Analítica do Projeto (EAP) ................................................................ 39
17.4. Plano de gerenciamento de tempo ................................................................... 39
18. ESPECIFICAÇÃO DO SOFTWARE ..................... .............................................. 42
18.1. Diagrama De Caso De Uso .............................................................................. 42
18.2. Diagrama De Classe ........................................................................................ 42
18.3. Diagrama de Sequência ................................................................................... 43
19. MODELO DE CASO DE USO ......................... .................................................... 44
19.1. Diagrama de Caso de Uso ............................................................................... 44
20. MODELO DE CLASSES ............................. ........................................................ 45
21. MODELO DE INTERAÇÕES .......................... .................................................... 46
21.1. Diagrama de Sequência Login ......................................................................... 46
21.2. Diagrama de Sequência Cadastro ................................................................... 47
21.3. Diagrama de Sequencia Editar ......................................................................... 48
21.4. Diagrama de Sequência Excluir ....................................................................... 49
22. PROJETO DE INTERFACE GRÁFICA (PROTÓTIPOS) ..... ............................... 50
22.1. Protótipo tela de Login...................................................................................... 50
22.2. Protótipo Manter Morador ................................................................................. 51
22.3. Protótipo Tela de Validação ............................................................................. 52
23. PROJETO DE BANCO DE DADOS ..................... .............................................. 53
23.1. Der.................................................................................................................... 53
23.2. Der Inicial ......................................................................................................... 53
23.3. Der Final ........................................................................................................... 54
24. COMANDOS SQL .................................. ............................................................. 56
25. VALIDAÇÃO BIOMÉTRICA .......................... ..................................................... 58
26. TECNOLOGIAS UTILIZADAS ........................ .................................................... 59
26.1. Componente Finger .......................................................................................... 59
26.2. Firebird – Banco De Dados .............................................................................. 59
26.3. Delphi - Ambiente De Programação ................................................................. 59
26.4. IBExpert – Sistema Gerenciador De Banco De Dados (SGBD) ....................... 60
26.5. SDK Nitgen– Kit De Desenvolvimento ............................................................. 60
26.6. Fing Key Hamster Dx – Leitor Biométrico ......................................................... 61
26.7. InpOut32.dll ...................................................................................................... 61
26.8. Astah Community – Diagramação .................................................................... 61
26.9. Case Studio – Modelagem Do Banco De Dados .............................................. 62
27. LIMITAÇÕES DO SISTEMA ......................... ...................................................... 63
28. EXPERIMENTOS REALIZADOS ....................... ................................................. 64
29. TRABALHOS FUTUROS ............................. ....................................................... 65
30. CONCLUSÃO ..................................... ................................................................ 66
APÊNDICE................................................................................................................ 67
REFERENCIAS......................................................................................................... 68
LISTA ABREVIAÇÕES
SQL - Structured Query Language ou Linguagem de Consulta Estruturada
UML –UnifiedModelingLanguage ou Linguagem de Modelo Unificado
DCU – Diagrama de Caso de Uso
UC – Use Case ou Caso de Uso
RC – Requisitos de Confiabilidade
RD – Requisitos de Desempenho
RF – Requisito Funcional
RN – Regra de Negócio
RP – Requisitos de Portabilidade
RS – Requisitos de Segurança
RU – Requisitos de Usabilidade
SDK – Software Development Kit ou Kit de Desenvolvimento
LISTA DE QUADROS
Quadro 1 - Requisitos funcionais...............................................................................23
Quadro 2 - Requisito de portabilidade........................................................................26
Quadro 3 - Requisitos segurança...............................................................................26
Quadro 4 - Requisitos usabilidade......................................................................... ...27
Quadro 5 – Regras de negócio do administrador.......................................................28
Quadro 6 - Regras de negócio do usuário morador...................................................28
Quadro 7 – Cronograma Inicial..................................................................................30
LISTA DE ILUSTRAÇÕES
Figura 1 – Mapa Conceitual.......................................................................................31
Figura 2 – EAP...........................................................................................................33
Figura 3 – Diagrama de Caso de Uso........................................................................37
Figura 4 – Diagrama de Classe..................................................................................38
Figura 5 – Diagrama de Sequência – Login...............................................................39
Figura 6 – Diagrama de Sequência – Cadastro.........................................................40
Figura 7 – Diagrama de Sequência – Editar..............................................................41
Figura 8 – Diagrama de Sequência – Excluir.............................................................42
Figura 9 – Protótipo – Tela de Login..........................................................................43
Figura 10 – Protótipo – Manter Morador....................................................................44
Figura 11 – Protótipo – Validação..............................................................................45
Figura 12 – DER Inicial...............................................................................................46
Figura 13 – DER Final................................................................................................47
13
1. INTRODUÇÃO
A carência de uma tecnologia eficaz eacessível para o controle de
acesso, no mercado, é algo evidente. Existem, porém, sistemas similares que
oferecem maior segurança a residências, entretanto, possuem custo muito alto, e,
grande parte da população, não possui condições de adquirir.
O uso da biometria traz uma inovação ao mercado de segurança
residencial, pois a digital é algo pessoal e intransferível que não corremos o risco de
perder ou esquecer. Segundo MARTINS, 2009 “O termo biometria significa medição
biológica, ou seja, é o estudo das características físicas e comportamentais de cada
pessoa. O princípio básico desta técnica para identificação é: seu corpo, sua
senha.”.
A prosperidade que a tecnologia biométrica vem tendo, visando a
segurança residencial, é um fato. Esta ascensão esta ligada ao fato da facilidade da
autenticação via digital. Segundo Giuseppe "O grande atrativo é trocar as senhas
por uma chave mais segura e protegida, onde você é sua própria chave, que
ninguém pode roubar ou pegar emprestada", afirma.
Neste sentido, o objetivo deste projeto, é desenvolver um sistema que
possibilita o controle de acesso a uma residência, utilizando a digital, por intermédio
da leitura biométrica, porém, com um diferencial: o baixo custo.
14
2. DESCRIÇÃO DO TEMA
O tema proposto visa agregar mais segurança aos domicílios que
utilizarão o sistema. A biometria vai auxiliar de forma que, em um sistema que utiliza
esta tecnologia, só é possível o acesso à residência se determinado usuário for
cadastrado, ou seja, esta certificação biométrica traz mais confiabilidade.
Um sistema biométrico para esta área de mercado auxilia na diminuição
de roubos a casas que estão vulneráveis porque ainda não contam com um sistema
de autenticação automatizado.
A biometria é uma tecnologia usada para fazer uma validação, neste caso
específico, usando a digital dos dedos. A aplicação desta tecnologia resultará em
uma diminuição dos índices de roubos, pois a biometria oferece uma verificação de
alto nível, onde somente pessoas cadastradas no sistema podem ter acesso a
residência, através de uma chave única, neste caso, o dedo.
Conceitualmente, biometria é a medida de características únicas do
indivíduo que podem ser utilizadas para reconhecer sua identidade (LIU &
SILVERMAN, 2001). Este conceito aplica-se à identificação de pessoas, pois seus
padrões físicos tornam-se seus métodos de autenticação.
Para garantir um nível aceitável de segurança o sistema possuirá travas
que serão acionadas e desacionadas pelo usuário através do sistema. O usuário
efetuará o cadastro de pessoas autorizadas ao acesso da residência através de uma
interface simples e de fácil manuseio que ficará localizada dentro da residência,
podendo alterar, excluir, acrescentar cadastros quando quiser, de modo que para se
fazer alterações o indivíduo precisa autenticar-se perante o sistema.
15
3. JUSTIFICATIVA
Devido ao alto índice de violência a que estamos sujeitos é imprescindível
que haja um sistema que faça o controle de acesso residencial de qualidade. Para
realizar esse controle a biometria seria um meio muito útil, pois só seria permitida a
entrada de pessoas cadastradas no sistema.
Desenvolver um sistema que utiliza a biometria para fazer uma
autenticação resolverá os problemas supracitados. Para controlar a entrada e/ou
saída com maior facilidade e agilidade propõe-se a utilização da biométrica para
sanar os problemas. Este sistema visa dar maior garantia de que a pessoa que entra
ou sai de sua casa é realmente alguém que você conhece e que estava previamente
cadastrada em seu sistema, ou seja, o risco de um ladrão entrar em sua casa pelo
fato de ter roubado suas chaves fica reduzido, pois dificilmente as chaves serão
utilizadas, apenas em casos de extrema urgência, como por exemplo, uma eventual
queda de energia, onde os mecanismos de autenticação perdem a funcionalidade
por serem dependentes deste recurso. E a chave pode ser utilizada com ou sem
energia elétrica.
16
4. OBJETIVOS
4.1. Objetivos Gerais
Conforme Oliveira (2011, p. 36) “o objetivo geral precisa dar conta da
totalidade do problema da pesquisa, devendo ser elaborado com um verbo de
precisão, evitando ao máximo uma possível distorção na interpretação do que se
pretende pesquisar.”. Abaixo segue o objetivo geral deste presente projeto:
O intuito central deste presente projeto é desenvolver um sistema que
utiliza a tecnologia da biometria a fim de auxiliar na segurança residencial e agregar
qualidade na forma de acesso do usuário, tornando mais fácil e rápido uma
autenticação biométrica, pelo fato da ‘chave’ está sempre disponível.
4.2. Objetivos Específicos
De acordo com Oliveira (2011, p. 37) “os objetivos específicos fazem o
detalhamento do objetivo geral e devem ser iniciados com o verbo no infinitivo.”
Abaixo segue os objetivos específicos para este projeto:
• Analisar os requisitos;
• Verificar a existência de sistemas similares;
• Desenvolver uma interface de comunicação entre Hardware e Software;
• Desenvolver uma base de dados que suporte o cadastro dos usuários;
• Utilizar a trava elétrica como forma de abertura de uma porta;
• Utilizar a leitura biométrica, diminuindo o uso da chave;
• Identificar o usuário pela leitura biométrica;
• Identificar como forma alternativa, o acesso do usuário, por senha
cadastrada;
17
5. FUNDAMENTAÇÃO TEORICA
5.1. Biometria
Qual é a verdadeira vantagem de se utilizar a leitura biométrica como um
meio de autenticação, substituindo o uso da venha chave?
Atualmente, a biometria vem tendo notoriedade no mercado de segurança
residencial, visto que a digital é algo pessoal e intransferível que não corremos o
risco de perder ou esquecer. Segundo WILSON, 2004 “A biometria é a tecnologia
que identifica a pessoa baseando-se em suas características físicas ou
comportamentais”.
Uma impressão digital é composta por vários sulcos, que em sua
formação manifestam diferenças que são chamadas de pontos de minúcias (partes
em que os sulcos se dividem ou onde terminam abruptamente). Nestes pontos,
existem características únicas, que podem ser medidas. De acordo com GIUSEPPE,
que trabalha para o Serviço Federal de Processamento de Dados (Serpro), onde são
desenvolvidas soluções em segurança e autenticação de redes. "Na Europa,
judicialmente, são necessárias 12 minúcias para saber quem é uma pessoa. Os
leitores biométricos são capazes de identificar mais de 40 minúcias de uma
impressão digital", conclui.
Em tese, o processo de análise biométrica não é tão complexo quanto
parece. Quando o scanner é acionado, a principal função dele é obter uma imagem
nítida e de alta resolução do objeto em estudo: no caso a digital. Após este processo
concluído, o próximo passo é colocar a imagem captada para a análise em um
software que faça a leitura biométrica, o qual deve analisar e extrair as
características mais relevantes da figura.
Podemos citar o DETRAN como um exemplo de utilização da digital como
forma de confirmar a presença do usuário em suas aulas de trânsito. Outra
tecnologia que vem sendo utilizada, e, em paralelotestada pelo UNIBANCOé o
reconhecimento da íris (CUNHA, 2008).
A ascensão desta tecnologia com o intuito de controlar o acesso
residencial, é uma realidade. Esta ascensão esta ligada ao fato da facilidade da
autenticação via digital, segundo GIUSEPPE "O grande atrativo é trocar as senhas
18
por uma chave mais segura e protegida, onde você é sua própria chave, que
ninguém pode roubar ou pegar emprestada", afirma.
Quando falamos em biometria, devemos rememorar que a biometria é
classificada em duas categorias: físicas e comportamentais. Dentro da física
podemos elencar as formas de identificação: veias da mão, impressão digital,
reconhecimento facial, Íris, retina e geometria da mão. Já na
comportamental,existem estudos complexos sobre as atitudes tomadas pelas
pessoas, pois os cientistas acreditam que, futuramente será possível distinguir uma
pessoa no meio da multidão apenas pelo jeito de caminhar, a forma que ela mexe as
mãos ou identificando alguma “mania” dele.
5.2. Porta Paralela
Uma porta paralela é uma interface de comunicação entre o computador e
um periférico. Logo quando foi criada, pela IBM, a sua ideia era conectar essa porta
a uma impressora, mas atualmente, existem vários periféricos que utilizam a porta
paralela tanto para enviar, quanto para receber dados de um computador, como por
exemplo: unidades de disco removível e scanners.
A porta paralela é uma interface de comunicação entre o computador e um periférico. Quando a IBM criou seu primeiro PC (Personal Computer) ou Computador Pessoal, a idéia era conectar a essa porta uma impressora, mas atualmente, são vários os periféricos que utilizam-se desta porta para enviar e receber dados do computador(MESSIAS, 2006).
Segundo SILVA: “[...] a porta paralela transmite 8bits de dados, ou seja, 1
byte de uma só vez pelo fato dos 8 bits serem transmitidos em paralelo uns aos
outros, através de fios diferentes.”
Para desenvolver um software que controle um aparelho conectado a
porta paralela, basicamente, precisa-se de conhecimentos de eletrônica e de uma
linguagem de programação, podendo ser em C/C++/C++Builder, Pascal/Delphi ou
Visual. Através de um cabo paralelo, e de um pouco eletrônica aliada com a
programação, é possível realizar determinada funcionalidade. Segundo MESSIAS,
2006 “O DB25 é um conector que fica na parte de trás do gabinete do computador, e
é através deste, que o cabo paralelo se conecta ao computador para poder enviar e
receber dados”relata.
19
Esta porta tem ligação direta com a placa mãe do computador, sendo
necessário extremo cuidado ao conectar circuitos eletrônicos a essa porta, visto que
uma descarga elétrica ou um componente com sua polaridade invertida poderá
causar sérios danos ao computador.
A porta paralela possui dois modelos de transmissão, o unidirecional e o
bidirecional. O unidirecional, como o próprio nome sugere, a comunicação é
realizada utilizando um BUS de dados de 8bits, transmitindo 4bits por vez com o
periférico, este modelo é conhecido como SPP (Standard ParallelPort), podendo
chegar a 150kb/s. O modelo bidirecional utiliza um BUS de dados (ou barramento)
de 32 bits e a transmissão para periféricos se dá 8bits por vez, a velocidade de
transferência pode chegar 2mb/s, necessitando de cabeamento especial para atingir
o melhor desempenho.
No projeto será usado o modelo unidirecional, pois devido a necessidade
estabelecida, a intenção do projeto e a quantidade de dados existentes no sistema
não se faz necessário demanda maior do que o modelo unidirecional suprirá. A porta
paralela, neste sistema, não ficará responsável por grande volume de transmissão
de dados, e sim ficará responsável pelo envio do sinal capaz de destravar a tranca
elétrica. Sendo assim, este fato comprova o uso do modelo unidirecional.
Por padrão, os computadores que utilizamos nomeiam as portas paralelas
com a seguinte nomenclatura: LPT1. Podem existir mais portas, como por exemplo,
LPT2, LPT3, etc. Mudando apenas os endereços onde elas são encontradas por
seus controladores.
Quanto à extensão do cabo paralelo, este pode ser de no máximo de 8m
de comprimento, sendo que quanto maior o cabo, maior é o índice de interferência
na transmissão de dados. Deduz-se então, que quanto menor o cabo conector,
melhor será a integridade da informação transmitida por ele.
Tendo esta limitação do comprimento do cabo paralelo, a saída
encontrada para contornar este problema será utilizar controle remoto, que já veio
integrado com a fechadura, que trabalham com ondas de rádio para a comunicação
entre sistema e hardware, fazendo-se assim possível aumentar esta limitação de
8m.
A comunicação se dá através do conector DB25, é através dele que os
dados são transferidos. Tudo se resume em comandos elétricos, onde cada pino
recebe determinada voltagem para saber qual tarefa deverá ser seguida. A
20
linguagem de programação tem o papel de controlar a porta, através de códigos-
fonte de escrita de alto nível, que mais tarde, serão convertidos em sinais elétricos,
respeitando toda a hierarquia e camadas de um computador.
5.3. Porta Pararela X Porta Serial
Por que usar a porta paralela e não a serial?
Para entender a vantagem na utilização da porta paralela, primeiramente,
precisamos explicar o funcionamento de uma porta serial e de uma porta paralela,
posteriormente, devem-se confrontar as duas definições, e, diante disso, fica clara a
escolha da porta paralela para este projeto.
A porta serial é considerada umas das conexões externas básicas para o computador e esta inserida nos computadores a anos. Seu nome se deriva do fato dessa porta transmitir os bitsem séries. A vantagem dessa porta é que utiliza somente um fio para transmitir os 8bits, diferente da porta paralela que necessita de oito fios. Isso faz com que cabos seriais sejam menores, diminuindo seu custo. Inicialmente, a porta serial atingia a velocidade de 9600 bitspor segundo, sua ultima versão chegou a 115 kbytes. Quanto a desvantagem, está o fato de levar oito vezes mais tempo para transmitir os dados. (SILVA, 2009, pg.37)
Segundo a mesma autora, a vantagem da porta paralela é a transmissão
mais rápida.
A porta paralela transmite 8bits de dados, ou seja, 1 byte de uma só vez pelo fato dos 8 bitsserem transmitidos em paralela uns aos outros, através de fios diferentes. Sua velocidade inicial era de 150 kbytes por segundo, chegando a atingir num segundo momento 1,2 MB pelas ultimas impressoras paralela fabricadas. (SILVA, 2009, pg.37).
A partir das definições supracitadas, podemos entender a vantagem da
utilização da porta paralela e a não utilização de uma porta serial. O ponto forte da
porta paralela está na transmissão dos dados, de modo que, uma porta serial não
tem esta capacidade de transmissão maior.
Devemos considerar que a porta serial possui um tamanho menor
comparada a uma porta paralela, consequentemente, possui também menor custo,
entretanto, o que marca a utilização da porta paralela neste projeto, é, justamente, a
velocidade na transmissão dos dados. É importante ressaltar, que a porta serial leva
oito vezes mais tempo para transmitir os dados (SILVA, 2009, pg.37), fato este que
justifica a utilização da porta paralela neste projeto.
21
6. ENGENHARIA DE SOFTWARE
A Engenharia de software é voltada ao desenvolvimento, finalização e
manutenção de um software, que visa organização, qualidade e produtividade, que
atendam as necessidades solicitadas pelo cliente. Para atingir estas necessidades, o
softwaredeve ser considerado de alta qualidade, possuindo bom tempo de resposta
bem como, de processamento, tendo como sua principal característica a usabilidade
no seu alto nível, atendendo as expectativas.
A engenharia de software é uma disciplina de engenharia relacionada com todos os aspectos da produção de software, desde os estágios iniciais de especificação do sistema até sua manutenção, depois que este entrar em operação.(SOMMERVILLE, 2007, p.05).
A ideia da Engenharia de software é agregar organização ao projeto, pois,
com esta organização, consegue-se produzir um software de alta qualidade.
Sommerville(2007, p.5), diz que ”[...] os engenheiros de software adotam uma
abordagem sistemática e organizada em seu trabalho, que é, frequentemente, a
maneira mais eficaz de produzir softwarede alta qualidade”.
Na construção de sistemas de software, assim como na construção de sistemas habitacionais, também a uma graduação de complexidade. Para a construção de sistemas de software mais complexos, também é necessário planejamento inicial (BEZERRA, 2007, p.2)
Como visto acima, Bezerra faz uma analogia entre a engenharia civil e a
engenharia de software, abordando a necessidade de planejamento do projeto, a fim
de garantir que em projetos complexos, a sua conclusão seja atingida com sucesso.
6.1. Técnica De Coleta De Dados
A coleta de dados é utilizada para capturar informações relevantes e
corretas a cerca de um sistema. A etapa de coleta de dados auxilia na etapa de
levantamento dos requisitos de um projeto. É uma etapa que exige muita cautela e
empenho, pois dados coletados de forma incorreta ou incoerente resulta, no
produtos final, uma funcionalidade falha, ou em um sistema que foge da
necessidade do usuário.
O propósito da coleta de dados é reunir informações suficientes, relevantes e apropriadas, de forma que um conjunto de requisitos estável possa ser produzido. Mesmo no caso de existir um conjunto de requisitos iniciais, será
22
exigido que a coleta de dados expanda, esclareça e confirme esses requisitos iniciais. (PREECE, 2005, pg.230).
Na fase de coleta de dados necessita-se descobrir algumas questões
essenciais sobre o projeto.
“Precisamos descobrir dados sobre as tarefas que os usuários realizam atualmente e seus objetivos associados, o contexto em que as tarefas são realizadas e as razões por que as coisas são damaneira que são.” (PREECE, 2005, pg. 230).
6.2. Observação Natural
A definição desta técnica de coleta de dados para este projeto foi
motivada pela necessidade de análise do comportamento de usuários, bem como, o
cenário de violência que se encontra. Através da observação, levantou-se que o
método utilizado pela maioria dos usuários, era um método falho. A fechadura
antiga, que utiliza uma simples chave, não oferece a segurança e comodidade
necessária para os usuários. Diante desta observação, podem-se levantar alguns
requisitos que seriam necessários para sanar os problemas dos usuários.
Segundo PREECE, 2005, pg.233 a observação natural: “[...] implica
passar algum tempo com os stakeholdersenquanto realizam suas tarefas diárias,
observando o trabalho como ele realmente acontece, em seu ambiente natural.”.
Além de ajudar a atestarpormenoresque as outras técnicas de coleta de
dados não apresentam, a técnica de observação natural auxilia na identificação do
comportamento que uma máquina deve expressar.
A observação natural pode não apenas ajudar a preencher detalhes e nuanças, que simplesmente não aparecem em outras investigações, mas também oferecer um contexto para as tarefas. Contextualizar o trabalho ou o comportamento que uma máquina deve apresentar fornece dados que outras técnicas não fornecem – dados dos quais podemos extrair requisitos (PREECE, 2005, pg. 234).
É importante sobrelevar que esta técnica resulta em um grande volume
de dados, exigindo mais tempo e comprometimento por parte dos membros, a fim de
extrair o maior numero possível de requisitos valendo-se deste grande quantidade
de dados.
23
6.3. Entrevistas
Outra forma, dentre várias outras, de coleta de dados, que são realizadas
em conjunto são as entrevistas. As entrevistas podem ser pensadas como
“conversação com um propósito” (Kahn e Canneli, 1957). São perguntas realizadas
a um determinado público para entender as opiniões, necessidades e restrições à
um determinado produto. Com intuito de dar uma justificativa plausível para o
projeto, que defende uma forma de baixo custo de autenticação, foram feitas
entrevistas, onde foram abordadas perguntas como: “Porque você não possui uma
forma de autenticação biométrica?”. As respostas na maioria dos casos foram a
respeito do elevado custo de aquisição e manutenção. Tendo isto como base, o
projeto visa diminuir esta justificativa dos usuários de classes menos favorecida.
24
7. LEVANTAMENTO DO SISTEMA
7.1. Levantamento De Requisitos
De forma direta e resumida, os requisitos são as funcionalidades do
sistema, estes requisitos são extraídos após todo um processo de análise da
necessidade do cliente e através das coletas de dados.
Um requisito, basicamente, é uma condição que ou capacidade que um
sistema deve atender para satisfazer (ARAUJO, 2012).
Os requisitos de um sistema são descrições dos serviços fornecidos pelo sistema e as suas restrições operacionais. Esses requisitos refletem as necessidades dos clientes de um sistema que ajuda a resolver algum problema, por exemplo, controlar um dispositivo, enviar um pedido ou encontrar informações. O processo de descobrir, analisar, documentar e verificar esses serviços e restrições é chamado de engenharia de requisitos. (SOMMERVILLE, 2007, pg. 79).
A atividade de levantamento de requisitos (também conhecida como elicitação de requisitos) corresponde a etapa de compreensão do problema aplicada ao desenvolvimento de software. O principal objetivo do levantamento de requisitos é que usuários e desenvolvedores tenham a mesma visão do problema a ser resolvido. Nessa etapa, os desenvolvedores, juntamente com os clientes, tentam levantar e definir as necessidades dos futuros usuários do sistema a ser desenvolvido. Essas necessidades são geralmente denominadas requisitos (BEZERRA, 2007, pg.22)
25
8. REQUISITOS FUNCIONAIS
Os requisitos funcionais descrevem as funções que um softwaredeverá
desempenhar.
Os requisitos funcionais descrevem o que o sistema deve fazer. Esses requisitos dependem do tipo de software que está sendo desenvolvido, dos usuários a que o software se destina e da abordagem geral considerada pela organização ao redigir os requisitos. Eles descrevem as funções do sistema detalhadamente (SOMMERVILLE, 2007, p.81).
Segundo FILHO, 2011, p.7, requisitos funcionais: “[...] representam os
comportamentos que um programa ou sistema deve apresentar diante de certas
ações de seus usuários.”.
Conforme supracitado, um bom detalhamento dos requisitos, é um ponto
forte para obter as funcionalidades que se deseja do sistema.
Quadro 1 - Requisitos funcionais:
RF01 – Manter Morador
Funcionalidadeque compete única e exclusivamente pelo usuário
ADMINISTRADOR;
RF02 – Efetuar Login
Funcionalidadedesempenhada por usuários comuns e administrador;
RF03 – Visualizar Log
Funcionalidadeque compete única e exclusivamente pelo usuário
ADMINISTRADOR;
26
9. ESPECIFICAÇÃO DE CASO DE USO
9.1. Manter Usuário– Cadastro
Ator: Usuário Administrador
Objetivo: Realizar a inclusão de um cadastro
Pré-condições
O usuário administrador deve estar logado e na tela de cadastro..
Fluxo Principal
1 - O usuário seleciona a opção “Incluir”;
2–O usuário administrador insere o nome do morador;
3 - O usuário seleciona a opção de “Ler a Digital”;
4 - O sistema exibe a tela do SDK;
5 - O SDK valida a digital;
6- O usuário insere a senha alternativa;
7- O usuário seleciona “Gravar”;
8- O sistema salva o cadastro no banco de dados;
Fluxo Alternativo
4.1A - Se o usuário já for cadastrado, o sistema do SDK informa o erro.
9.2. Manter Usuário– Alterar
Ator: Usuário Master
Objetivo: Realizar a alteração de um cadastro.
Pré-condições
O usuário administrador deve estar logado e na tela de cadastro.
27
Fluxo Principal
1 - O usuário seleciona o registro;
2 –O usuário seleciona alterar;
3 –O usuário edita os campos que deseja;
4- O usuário seleciona “Gravar”
5- O sistema salva os dados no banco.
9.3. Manter Usuário– Exclusão
Ator: Usuário Administrador
Objetivo: Realizar a exclusão de um cadastro.
Pré-condições
O usuário administrador deve estar logado e na tela de cadastro.
Fluxo Principal
1 - O usuário seleciona o registro;
2 – O usuário seleciona a opção Excluir;
3 – O sistema exclui o registro do banco;
9.4. Efetuar Login
Ator: Usuário Administrador e Morador
Objetivo: Realizar ao login no sistema
Fluxo Principal
1 –Usuário clica em Verificar;
28
2 – Usuário coloca o dedo no leitor biométrico;
3 – Sistema valida se usuário já está cadastrado;
4- Sistema envia comando que destrava a porta.
29
10. REQUISITOS NÃO FUNCIONAIS
De forma simplificada, pode-se dizer que os requisitos não funcionais
descrevem as qualidades globais do sistema. Vale-se lembrar, ainda, que a
avaliação dos requisitos não funcionais começa na fase de desenvolvimento e vai
até a fase de testes finais do projeto.
Os requisitos não funcionais são aqueles não diretamente relacionados às funções específicas fornecidas pelo sistema. Eles podem estar relacionadosàspropriedades emergentes do sistema, como confiabilidade, tempo de resposta e espaço de armazenamento (SOMMERVILLE, 2007, p.82).
Segundo Wilson de Pádua Paula Filho, 2011, p.7, requisitos não
funcionais: “[...] quantificam determinados aspectos do comportamento.”.
10.1. Requisitos Não Funcionais – Descrição
10.1.1. Portabilidade
A portabilidade de um programa de computador, é a capacidadedele ser
executado ou compilado em diferentes arquiteturas de software ou hardware.
Segundo Bezerra(2007 p.24) Portabilidade é “restrições sobre as
plataformas de hardware e de software nas quais o sistema será implantado e sobre
o grau de facilidade para transportar o sistema para outras plataformas” .
Quadro 2 - Requisito de portabilidade:
RP01 O sistema deverá rodar na plataforma Windows
10.1.2. Segurança
De acordo com Sommerville (2007, p.32), “Segurança é o julgamento da
probabilidade de que um sistema possa resistir a intrusões acidentais ou
intencionais. Essas intrusões têm como alvo a base de dados, onde ficam
armazenadas as informações da empresa em questão”.
30
Segundo Bezerra(2007 p.24) segurança “é limitações do sistema em
relação a acessos não autorizados”.
Quadro 3 -Requisitos segurança:
RS01 -O banco de dadosé protegido com usuário e senha.
RS02 -Todo usuário, seja ele morador ou administrador, que tentar acessar o sistema
deverá passar pela identificação biométrica ou inserir a senha alternativa.
RS03 -Para cada ação que o usuário fizer no sistema, será gravado um log, ou seja,
será armazenado um registro da ação que ele realizou. Neste log, deve constar
o nome do usuário, a ação desempenhada por ele, data e hora.
10.1.3. Usabilidade
SegundoBezerra (2007 p.24) usabilidade: “são requisitos que se
relacionam ou afetam a usabilidade do sistema. Incluem requisitos sobre facilidade
de uso e a necessidade ou não de treinamentos dos usuários”.
Quadro 4 - Requisitos usabilidade:
RU01 O sistema deve ter uma interface simples e objetiva
RU02 As cores que compõem o sistema serão leves, evitando o cansaço do usuário.
O estudo de usabilidade é uma parte essencial de todo processo de projeto de software. Se um sistema de software deve atingir todo seu potencial, é essencial que sua interface com o usuário seja projetada para combinar as habilidades, experiências e expectativas dos usuários. Muitos doschamados ‘erros deusuário’são causados pelo fato de que as interfaces de usuário não consideram as capacidades dos usuários reais e seu ambiente de trabalho (SOMMERVILLE, 2007, p.241).
31
11. REGRAS DE NEGÓCIO
Também conhecida como domínio da aplicação, asregras de negocio
definem restrições e quesitos que devem ser seguidos no projeto.
De acordo com Alenquer, 2002.
Sob o ponto-de-vista de sistemas de informações, regra de negócio é “uma sentença que define ou restringe algum aspecto do negócio (...) sua intenção é manter a estrutura do negócio, ou controlar ou influenciar algum aspecto do negócio”. Nesse contexto, as regras de negócio dizem respeito aos “dados que podem ser cadastrados em um sistema de informação”.
11.1. Regras de negócio do administrador
Quadro 5 – Regras de negócio do administrador:
RN01 A área de cadastro, alteração, inclusão e exclusão do morador só pode
ser acessada mediante logine senha pré-cadastrados do usuário
administrador.
RN02 O usuário administrador deve cadastrar, necessariamente, senha
biométrica e senha alternativa.
11.2. Regras de negocio do usuário morador
Quadro 6 -Regras de negócio do usuário morador
RN01 O usuário morador não poderá cadastrar outros moradores.
32
12. CICLO DE VIDA DE SOFTWARE
“O desenvolvimento de um sistema envolve diversas fases, a um
encadeamento especifico dessas fases para a construção do sistema dá-se o nome
de Modelo de Ciclo de Vida. (BEZERRA, 2007, p.35)”.
O Ciclo de Vida de um software expõe as fases que um sistema passa de
sua concepção até seu fim, é a verificação do processo do desenvolvimento dos
métodos aplicados que permite detectar os erros do software com mais rapidez e
assim dominar a qualidade do software.
33
13. METODOLOGIA DE DESENVOLVIMENTO
A metodologia de desenvolvimento que será adotada para a execução do
presente projeto, será a Espiral. Com esta metodologia torna-se possível a
visualização interativa durante o projeto, o que facilita a reavaliação constante dos
requisitos e dados do processo.Segundo FILHO, 2011, p.94, no modelo espiral: “O
produto é desenvolvido em uma série de iterações. Cada nova iteração corresponde
a uma volta na espiral.”.
Ainda segundo o mesmo autor:
O ciclo de vida em espiral permite que os requisitos sejam definidos progressivamente, e apresenta alta flexibilidade e visibilidade. Esse modelo permite que, em pontos bem-definidos, os usuários possam avaliar partes do produto e fornecer realimentação quanto as decisões tomadas (Wilson de Pádua Paula Filho, 2011, pg.94).
34
14. ESTUDO DE VIABILIDADE (ECONÔMICA - TÉCNICA)
Para entender a necessidade de se desenvolver um estudo de
viabilidade, devemos primeiramente saber para que serve este estudo e como ele é
feito.
Em todos os sistemas novos, o processo de engenharia de requisitos deve começar com um estudo de viabilidade. A entrada para o estudo de viabilidade consiste de um conjunto preliminar de requisitos de negócios, um esboço da descrição do sistema e como o sistema pretende apoiar os processos de negócios. (SOMMERVILLE, 2007, pg.97).
Este estudo tem como objetivo analisar se a viabilidade de implantação
do sistema realmente existe, neste estudo são levantadas as necessidades técnicas
e econômicas.
14.1. Viabilidade Econômica
14.1.1.1. Aquisições de equipamentos e itens
Depois de uma análise feita sobre os requisitos mínimos de software e
hardwareque serão necessários para implantação do sistema, verificou-se a
necessidade de adquirir alguns equipamentos e itens:
• Uma fechadura elétrica com controle remoto, de 12Volts;
• Um leitor biométrico Nitgen;
• 3 (três) metros de fio;
• Um cabo paralelo;
• Controle remoto(incluso na fechadura);
14.2. Viabilidade Técnica
Será necessário a utilização dos equipamentos e ferramentas
(hardwareesoftware) que darão suporte à implantação do sistema, não havendo
35
nenhum requisitoourestrição que afete o desempenho ou a capacidade de se
obterumsistema aceitável.
• Porta (podendo ser de Madeira ou ferro);
• Micro-computador(Dual Core (ou superior), 1GB RAM, 360HD,WindowsXP
(ou superior);
• Leitor biométrico Nitgen;
• Fechadura elétrica
36
15. CRONOGRAMA DE CONFECÇÃO
Quadro 7 – Cronograma Inicial
Atividades
MÊS E ANO DO PROJETO
MAR
2013
ABR
2013
MAI
2013
JUN
2013
JUL
2013
AGO
2013
SET
2013
OUT
2013
NOV
2013
DEZ
2013
A1- Leitura de Livros X X X X X X X X X X
A2- Análise de Requisitos X X X
A3-Documentaçãodo Sis. X X X
A4-Desenvolvimento X X X X
A5- Testes X X X X
A6-Implantação X X
A7- Conclusão X
37
16. MAPA CONCEITUAL
Um mapa conceitual é uma ferramenta gráfica que visa organizar e
representar o conhecimento. Sua estrutura é feita a partir de conceitos fundamentais
e suas relações. Normalmente, os conceitos são destacados em caixas de texto. A
relação entre dois conceitos é representada por uma linha ou seta, contendo uma
"palavra de ligação" ou "frase de ligação". Desta forma, um mapa conceitual tem por
objetivo reduzir, de forma analítica, a estrutura cognitiva subjacente a um dado
conhecimento, aos seus elementos básicos. Neste mapa estão contidos os usuários
que terão acesso ao sistema e suas respectivas denominações perante o sistema,
ficando bem claros e visíveis a ponto de entender quais são as incumbências de
cada tipo de usuário no sistema.
A figura abaixo representa o mapa conceitual deste projeto.
Figura 1 – Mapa Conceitual
38
17. FASE DE PLANEJAMENTO E ANÁLISE
17.1. Planejamento do projeto
A fase de planejamento de um projeto apresenta, de forma organizada,
toda a concepção, fundamentação, planejamento e meios de acompanhamento e
avaliação do projeto, sendo referência básica para sua execução.
O plano de projeto estabelece os recursos disponíveis para o projeto, a estrutura analítica do projeto e um cronograma para realizar o trabalho. Em algumas organizações, o plano de projeto é um único documento que inclui diferentes tipos de plano. Em outros casos, o plano está relacionado apenas ao processo de desenvolvimento (SOMMERVILLE, Ian, 2007, p.64).
17.2. EAP (ESTRUTURA ANALÍTICA DE PROJETO)
A EAP é uma ferramenta visual que permite a estruturação de um projeto
de forma simples e contém todo o trabalho necessário para conclusão do projeto. “A
estrutura analítica de um projeto é a base para definir o trabalho relacionado aos
objetivos do projeto. Trata-se do processo de criar uma estrutura capaz de conter a
subdivisão do produto em componentes menores (subprodutos), mais
gerenciáveis”(Passos,2008, pag.110).
Joseph Phillips (2002, p.131) define a estrutura analítica de um projeto
como “o trabalho necessário à conclusão do projeto.” A seguir, abordaremos a
estrutura analítica do projeto proposto.
17.3. Estrutura Analítica do Projeto (EAP
A figura abaixo demonstra a EAP para este projeto:
17.4. Plano de gerenciamento de tempo
Para definir o gerenciamento de tempo é necessário definir as atividades,
a duração delas, a sucessão de eventos e depois disso, desenvolver o cronograma.
Segundo PASSOS (2008, pag.117): “os
temposão divididos em quatro subprocessos:
das atividades, duração das atividades e contr
supracitados, são descritos a seguir.
Estrutura Analítica do Projeto (EAP )
A figura abaixo demonstra a EAP para este projeto:
Figura 2 - EAP
Plano de gerenciamento de tempo
Para definir o gerenciamento de tempo é necessário definir as atividades,
a sucessão de eventos e depois disso, desenvolver o cronograma.
Segundo PASSOS (2008, pag.117): “os processos de gerenciamento de
em quatro subprocessos: Definiçãodas atividades,sequ
das atividades, duração das atividades e controle de cronogramas.”
supracitados, são descritos a seguir.
39
Para definir o gerenciamento de tempo é necessário definir as atividades,
a sucessão de eventos e depois disso, desenvolver o cronograma.
de gerenciamento de
efiniçãodas atividades,sequência
ole de cronogramas.” Os processos
40
• Definição de atividades
Trata-se de decompor os níveis mais baixos da estrutura analítica do projeto
em um conjunto de atividades que, quando executadas, produzem
ossubprodutospropostos na EAP.
• Sequência das Atividades
Trata-se da identificação e documentação da interdependência entre as
atividades de modo a suportar o desenvolvimento de cronogramas realistas
para o projeto.
• Duração das atividades
A elaboração de estimativas de duração de uma atividade depende muito da
experiência de quem estima o tempo de realização da tarefa. Necessita de
discernimento e experiência adquirida com trabalhos semelhantes.
• Controle de cronogramas
Trata-se do processo de controlar a duração e a sequência de cada atividade
doprojeto. Cumpre examinarmos neste passo que o controle rígido dos
cronogramas é fundamental para o sucesso do projeto.
Após as noções citadas anteriormente, a seguir, abordaremos a tabela que descreve
os processos do plano de gerenciamento de tempo deste projeto.
TabelaGerenciamento de tempo
Item EAP Atividades Descrição Prazo
Estudo de
Viabilidade
Desenvolver o
estudo de
viabilidade do
projeto
Neste estudo, aborda-se a
viabilidade técnica e econômica
do projeto.
1 Mês
Levantamento de
Requisitos
Definir Técnica de
Coleta de Dados.
Analisar e Definir
Nesta fase, é definida a técnica
utilizada para coletar os
requisitos e posteriormente é
2 Meses
41
os requisitos feita a analise e definição dos
mesmos.
Documentação e
Planejamento
Construir o DER.
Construir
Diagramas.
Nesta fase, é construído o DER
do sistema, bem como os
diagramas que servirão de base
para a próxima fase
1 Mês
Desenvolvimento Desenvolver o
sistema.
Testar
Nesta fase, o sistema é
desenvolvido e posteriormente
testado
3 Meses
Implantação Instalação do
Sistema.
Treinar Usuário
Nesta fase é feita a instalação
do sistema proposto, bem como
é feito o treinamento do usuário
1 Mês
42
18. ESPECIFICAÇÃO DO SOFTWARE
18.1. Diagrama De Caso De Uso
Dentro da engenharia de software, os casos de uso são utilizados para
captar o comportamento pretendido de um sistema, sem ter a necessidade de
especificar como o comportamento será implementado. Pode-se dizer, que o
documento de caso de uso descreve uma sequência de eventos de um ator que
interage com o sistema para completar um processo.
O DCU é um dos diagramas da UML e corresponde a uma visão externa de alto nível do sistema. Esse diagrama representa graficamente os atores, casos de uso e relacionamento entre esses elementos. O DCU tem o objetivo de ilustrar em um nível alto de abstração quais elementos externos interagem com que funcionalidade do sistema. (BEZERRA, 2007, p.70).
Booch, Rumbaugh, Jacobson (2005, p.241) afirmam que:
Os diagramas de caso de uso são aplicados para modelar a visão de caso de uso do sistema. Eles são muitos importantes para visualizar,especificaredocumentaro comportamento de um elemento. Essesdiagramasfazemcomque sistemas, subsistemas e classes fiquem acessíveis e compreensíveis, por apresentarem uma visão externa sobre como esses elementos podem ser utilizados no contexto.
18.2. Diagrama De Classe
Os diagramas de classe são representações da estrutura das classes,
que serviram como modelo para objeto. Expõem características e comportamentos
comuns a um conjunto de objetos. Considera-se que esta modelagem é muito útil
para o sistema, uma vez que define todas as classes que o sistema necessita
conter. Alémdisso, é a base para a construção dos diagramas de comunicação,
sequência e estados.
O diagrama de classes se encontra no centro do processo de modelagem de objetos. Ele é o diagrama principal para capturar todas as regras que governam a definição eo uso de objetos. Como o repositório para todas as regras, ele também é a principalfonte para a engenharia direta (transformar um modelo em código) e o alvo para aengenharia reversa (transformar código em um modelo). [...] O diagrama de classesprovavelmente é o diagrama mais utilizado da UML. (PENDER, 2004, p.83). Os diagramas de classes são os diagramas encontrados com maior freqüêncianamodelagem de sistemas orientados a objetos. Um diagrama de
43
classes mostra umconjunto de classes, interfaces e colaborações e seus relacionamentos. [...] Sãousados para fazer a modelagem estática do projeto de um sistema. São importantes não só para a visualização, a especificação e a documentação de modelos estruturais,mas também para a construção de sistemas executáveis por intermédio deengenharia de produção e reversa (Booch, Rumbaugh, Jacobson, 2005, p.107).
Dentre os diagramas da UML(UnifiedModelingLanguage), ou seja,
Linguagem de Modelagem Unificada pode-se considerar o diagrama de classe, um
dos diagramas mais abastado em termos de notações.
Para BEZERRA, 2007, pg. 122: “O diagrama de classes é utilizado na
construção do modelo de classes desde o nível de análise até o nível de
especialização. De todos os diagramas da UML, esse é o mais rico em termos de
notação.”, afirma.
18.3. Diagrama de Sequência
Este diagrama tem o objetivo de mostrar como as mensagens entre
objetos são trocadas no decorrer do tempo para a realização de uma operação.
O diagrama de seqüência é um diagrama de interação que dá ênfase à ordenação temporal das mensagens. Um diagrama de seqüência mostra um conjunto de papéis e as mensagens enviadas e recebidas pelas instâncias que representam os papéis. Use o diagrama de seqüência para ilustrar a visão dinâmica de um sistema (Booch, Rumbaugh, Jacobson, 2005, p.98).
Pender, 2004, p.49, define que:
O foco do diagrama está na identificação de interações entre os objetos com otempo. O maior benefício do diagrama é que ele ajuda a identificar as mensagenstrocadas entre os objetos. A troca de mensagem exige um transmissor e um receptor.
Para BEZERRA, 2007, pg. 193: “O objetivo do diagrama de sequência é
apresentar as interações entre objetos na ordem temporal em que elas acontecem.
Assim como os outros diagramas da UML, o diagrama de sequência possui um
conjunto de elementos gráficos.”, relata.
46
21. MODELO DE INTERAÇÕES
21.1. Diagrama de Sequência Login
Figura 5 – Diagrama de Sequência –Login
22. PROJETO DE INTERFACE
22.1. Protótipo tela de Login
PROJETO DE INTERFACE GRÁFICA (PROTÓTIPOS)
Protótipo tela de Login
Figura 9 – Protótipo – Tela de Login
50
53
23. PROJETO DE BANCO DE DADOS
23.1. Der
O Diagrama de Entidade e Relacionamento descreve, na forma de
diagramas, como a base de dados está estabelecida, ele informa em um grau de
abstração muito elevado as tabelas do banco de dados, suas colunas e os
relacionamentos entre elas.
23.2. Der Inicial
No início do projeto, foi abstraída uma determinada necessidade, que
segue representada abaixo:
54
Figura 12 – DER Inicial
23.3. Der Final
Durante o desenvolvimento, foram identificadas tabelas que,
desnecessariamente estavam contidas no DER, pois não agregavam valos algum ao
projeto e sim somente demandava mais trabalho.
A equipe de desenvolvimento reformulou o DER, deixando-o mais simples
e de modo que atendesse os requisitos do projeto.
A nova proposta defende a tese de que um DER não precisa ser
complexo e difícil entender. O projeto realizado propõe um controle de acesso, que
55
por intermédio de interface gráfica, o usuário possa destrancar sua porta através de
autenticação. Subentende-se que, para este cenário, não se faz necessário um
banco com inúmeras tabelas, até mesmo porque elas não seriam utilizadas de forma
útil.
Figura 13 – DER Final
56
24. COMANDOS SQL
Abaixo segue a representação dos comandos efetuados para a criação do
banco de dados, tabelas e suas devidas manipulações:
Create Table "USUARIIO" (
"ID_USUARIO" Integer NOT NULL UNIQUE,
"NOME" Varchar(90) NOT NULL,
"SENHA_ALTERNATIVA" Char(12) NOT NULL,
"ADM" Smallint Default 0,
Primary Key ("ID_USUARIO")
);
Create Table "EVENTOS" (
"ID_EVENTO" Integer NOT NULL UNIQUE,
"DATA_HORA" Timestamp NOT NULL,
"TIPO" Char(1) NOT NULL,
"ID_USUARIO" Integer NOT NULL,
Primary Key ("ID_EVENTO")
);
Alter Table "EVENTOS" add Foreign Key ("ID_USUARIO") references "USUARIIO"
("ID_USUARIO") on update no action on delete no action;
A tabela USUÁRIO foi definida para suportar os cadastros de usuários
que vão interagir com o sistema. Nestas tabelas foram definidas colunas onde as
57
informações relevantes serão armazenadas. A tabela USUARIO é composta pelas
colunas:
• ID_USUARIO: Coluna responsável pela chave primária do registro,
cada registro é diferenciado por esta chave.
• NOME: Coluna responsável pelo armazenamento do nome do
indivíduo. É de extrema importância, pois quem irá interagir com o
sistema, irá diferenciar os registros pelo nome, ao contrário do
bando de dados.
• SENHA_ALTERNATIVA: Coluna responsável pelo armazenamento
da senha alternativa, que é utilizada caso a autenticação
biométrica falhe.
• ADM: Coluna que indica o tipo de USUARIO, diferindo se ele é
administrador ou usuário comum. Por padrão, todos os registros
terão valor 0, ou seja, usuário comum. O usuário administrador é
definido na base de dados e recebe valor 1. Lógica esta que
permite agregar permissões.
Visto que um sistema de autenticação necessita de um registro de
eventos realizados, foi implementada a tabela EVENTOS, onde quem passa pela
autenticação perante o sistema, fica registrado esta assim. As colunas da tabela
EVENTOS foram definidas da seguinte forma:
• ID_EVENTO: Coluna responsável pelo armazenamento da chave
primária do evento registrado.
• DATA_HORA: Coluna onde serão armazenadas data e hora do
evento registrado.
• TIPO: Define o tipo de evento, ou seja, se foi um login ou um logout
do usuário administrador ou apenas uma passagem de qualquer
usuário.
• ID_USUARIO: Chave estrangeira onde fica definido o usuário que
realizou determinada ação. Esta chave ficou definida no código
pela alteração da tabela EVENTOS, como demonstrada no código
acima que referencia a chave estrangeira ao campo definido.
58
25. VALIDAÇÃO BIOMÉTRICA
Como já foi dito anteriormente no projeto, a validação biométrica é
realizada pelo leitor biométrico(hardware) que captura a digital inserida pelo usuário,
em conjunto com o SDK(software), e em seguida esta captura é analisada por seus
pontos de minúcias, diferindo um indivíduo do outro. Mas esta leitura está passível
de erros por diversos motivos, e eventualmente um usuário pode não obter êxito na
leitura biométrica. São vários os motivos que podem ocasionar um mau
funcionamento na leitura biométrica, um dedo cortado, desgastado ou algo
semelhante. Para amenizar este funcionamento indesejado, o sistema possui
alternativas de autenticação, como por exemplos, a senha alternativa. Ao realizar o
cadastro, o morador é obrigado a inserir uma senha numérica como forma
alternativa de autenticação e também pode cadastrar mais de um dedo na leitura
biométrica. Estes dois passos contribuem para uma melhor qualidade e reduz as
chances de erros quando uma validação está sendo efetuada.
59
26. TECNOLOGIAS UTILIZADAS
26.1. Componente Finger
Como já foi abordada anteriormente, neste projeto, a validação via
biometria é feita pela captação do leitor biométrico e o tratamento dos dados
armazenados é realizado através do SDK fornecido pelo fabricante, de forma
gratuita. Porém, este SDK não está totalmente ‘tratado’, está utilizando sintaxes e
conhecimentos de alto nível, onde demandaria muito atenção e estudo perante a
documentação deste SDK. Tendo isto como fato, o Srº. Robson de Lacerda
Zambroti, orientador deste trabalho, forneceu um componente, criado por ele, em
Delphi, que permite realizar as validações e leituras através de procedimentos
confeccionados por ele. Neste componente há vários métodos onde utiliza recursos
do SDK para realizar a leitura armazenamento dos dados extraídos.
26.2. Firebird – Banco De Dados
O banco de dados é um recipiente para uma coleção de arquivos de
dados computadorizados. Segundo DATE “Um sistema de banco de dados é
basicamente apenas um sistema computadorizado de manutenção de registros. O
banco de dados, por si só, pode ser considerado como o equivalente eletrônico de
um armário de arquivamento.”.
Para este projeto, o banco de dados escolhido foi o Firebird 2.5, pois
atende a necessidade do projeto e é gratuito.
O Firebird é derivado do código do Borland InterBase 6.0. Ele tem o código aberto e não possui licença dupla, portanto você pode utilizá-lo em qualquer tipo de aplicação, seja ela comercial ou não, sem pagar nada por isso.(Carlos H. Cantu, 2010).
26.3. Delphi - Ambiente De Programação
O Delphi é um compilador, uma IDE e uma linguagem de programação,
produzido antigamente pela Borland e atualmente produzido pela
Embarcadero.Largamente utilizado no desenvolvimento de aplicações desktop,
60
aplicações multicamadas e cliente/servidor, compatível com os bancos de dados
mais conhecidos do mercado. (SOMERA, 2007).
Foi eleito para o desenvolvimento da interface do projeto por ser capaz de
comunicar-se facilmente com o hardware e possui uma forma útil de trabalhar com
projetos, ficando de forma organizada e ágil o desenvolvimento.
26.4. IBExpert – Sistema Gerenciador De Banco De Da dos (SGBD)
Para o gerenciamentodos registros inseridos pelos usuários e também as
eventuais consultas efetuadas, será utilizado um SGBD (Sistema Gerenciador de
Banco de Dados) chamado IBExpert. Este SGBD será utilizado para manipular
tabelas, relacionamentos e eventuais procedures e triggers que estão contidas na
base de dados. Será utilizado em conjunto com o banco de dados Firebird, que
possui licença gratuita e supre a demanda de volume. Esta ferramenta é
inteiramente livre, ou seja, sua licença para uso não é cobrada pela empresa
fornecedora. É uma eficiente ferramenta para manutençãoda base de dados.
26.5. SDK Nitgen– Kit De Desenvolvimento
SDK significa Software Development Kit, ou seja, é um kit de
desenvolvimento fornecido pela fabricante, a Nitgen, para auxiliar no
desenvolvimento de softwares. O código é totalmente aberto, de modo com que
possa ser feitas alterações a qualquer momento no escopo do código-fonte, bem
como o reaproveitamento de procedimentos e funções contidas no código. Para o
projeto foi utilizado o SDK da Nitgen, a mesma fabricante do leitor biométrico
utilizado no projeto. Com este recurso, a verificação e validação da digital são feitas
de forma ágil e eficaz. No projeto possui um botão de realizar a validação da digital,
tanto para cadastramento, quanto para verificação para autenticar, neste botão é
acionado este SDK, que por meio de alterações no código, faz busca em um banco
de dados específico e analise se é permitido o acesso ou não.
61
26.6. Fing Key Hamster Dx – LeitorBiométrico
O FingKeyHamster DX é um eficiente e moderno leitor biométrico, sua
leitura é concisa e raramente falha. Este equipamento foi eleito por sua extrema
qualidade e preço acessível, que agrega ao intuito do projeto.
26.7. InpOut32.dll
É uma DLL utilizada para obter acessoa porta paralela via programação.
Com a adição deste recurso, fica mais fácil a manipulação e comunicação entre
código e hardware. O InpOut32 recebe parâmetros para encontrar o destino
desejado, no caso a porta paralela. Atua com a seguinte sintaxe:
“outportb($378,255);”. Onde é passado um caminho hexadecimal ($378) que
corresponde ao endereço designado à porta paralela, e que recebe valores binários
para comandar os pinos da porta. No exemplo acima, está recebendo o valor 255.
No código-fonte foi utilizado da seguinte maneira:
outportb($378,255);
sleep(1000);
outportb($378,0);
Onde é acionado e desacionado em um intervalo de um segundo.
26.8. AstahCommunity – Diagramação
Dentre várias ferramentas de UML existentes, a eleita para realizar a
parte de diagramas do projeto foi o Astah, que anteriormente era chamado de Jude.
É uma poderosa ferramenta de modelagem UML criada em Java. Esta ferramenta
permite o manuseio dos diversos diagramas previstos na engenharia de software e
que são de vital importância para um projeto bem definido e para agregar qualidade
no produto final.
62
26.9. Case Studio – Modelagem Do Banco De Dados
Case Studio se enquadra nas ferramentas de desenvolvimento, que
auxiliam desenvolvedores a modelar suas aplicações de forma prática e de fácil
manipulação. Esta ferramenta foi utilizada para modelar a base de dados onde serão
inseridas as informações e registros dos usuários. Ela permite fazer o DER
(Diagrama de Entidade e Relacionamento), ou seja, todas as tabelas do banco de
dados e seus respectivos relacionamentos. Através de uma interface gráfica é
possível criar as tabelas com seus campos, definindo os tipos de dados e limitações.
Após toda a ilustração gráfica é possível realizar a extração do código SQL para
exportar para o banco de dados, fazendo com que não haja retrabalho e facilite o
andamento do projeto.
63
27. LIMITAÇÕES DO SISTEMA
Para o pleno funcionamento do sistema, necessita-se utilizar eletricidade,
a fim de, alimentar a fechadura e o sistema como um todo. Todavia, existe a
possibilidade da falta da mesma, podendo-se dizer que o sistema de controle de
acesso é prejudicado caso ocorra uma queda na eletricidade.
Para contornar esta problemática, a chave física não foi eliminada no
projeto.
64
28. EXPERIMENTOS REALIZADOS
Para inicialização do projeto e para conseguir controlar a porta paralela
via sistema foi feitas algumas formas de teste. Primeiramente foram utilizados LEDs
(Light EmittingDiode), no português, Diodo Emissor de Luz, soldados juntamente aos
pinos da porta paralela com intuito de testar os comandos elétricos enviados via
programação.
Estes testes foram feitos com êxito, de modo que toda vez que era
emitido o comando para o pino via software, o led que se localizava no respectivo,
ascendia. Porém a equipe de desenvolvimento conseguiu enviar estes comandos
somente via um sistema fabricado por terceiros. Entretanto, com os estudos e as
buscas realizadas foi encontrada uma forma gratuita e prática de realizar esta
comunicação, utilizando o componente IoPort, instalado no Delphi. Componente este
capaz de enviar comandos em específicos pinos, definidos na linguagem de
programação.
No decorrer das tentativas, foi tentado implantar um relê que ficara
incumbido de fazer o intermédio entre porta paralela e fechadura e controlaria
sobrecargas, a fim de evitar eventuais transtornos, como queimar a porta. Porém,
este equipamento perdeu espaço no projeto, pois a trava elétrica utilizada no projeto,
estava acompanhada de um controle remoto. Com este recurso, apenas soldamos o
controle à porta paralela, eliminando cabos entre porta paralela e fechadura.
Fazendo assim, com que o comando fosse enviado de forma mais eficaz, através de
sinais de rádio ao receptor.
De forma resumida, o comando enviado à porta paralela simula um
‘apertar de botão’ no controle remoto.
65
29. TRABALHOS FUTUROS
A ideia do projeto foi necessariamente atendido, utilizando os recursos
propostos e fazendo com que, em conjuntos, todas as partes funcionassem. Porém,
há muito mais que pode ser feito com estes mesmos recursos, no que se refere à
automação residencial. Por exemplo, pode ser implementado um modelo de
consulta via web (não suportado no projeto atual), onde o usuário pode obter acesso
à sua residência do seu trabalho, escola, entre vários outros lugares. Esta ideia pode
virar realidade, se o sistema for integrado com webcams, ele pode ter acesso visual
em áreas estratégicas de sua casa, aumentando e valorizando a segurança.
Pode ser implementado, também, recursos de SMS (Short Message
Service), ou seja, serviço de mensagens curtas, para simplificar mais, a famosa
‘Mensagem de Celular’. Ela pode ser utilizada para mandar comandos ao sistema
via telefonia celular.
Com os recursos utilizados no projeto atual, pode-se também comandar
mais setores e objetos da residência. A porta paralela possui vários pinos, e via
linguagem de programação é possível designar em qual pino mandar comandos
elétricos. Com esta possibilidade, faz-se possível controlar janelas, elaborar um
recolhimento inteligente de varal de roupas, bem como acionar e desacionar
equipamentos eletrônicos.
O campo onde estes recursos podem ser aplicados, à fim de reduzir os
custos, é bem abrangente. Com disponibilidade e tempo hábil, a automação
residencial pode ser realizada de forma simplificada e de menor custo final para o
consumidor.
Nesta seção foram citadas algumas formas de aproveitar os mesmo
recursos usados neste trabalho, porém as ideias não ficam restritas apenas a estas.
66
30. CONCLUSÃO
Com o projeto, concluiu-se que um sistema de controle de acesso pode
ser desenvolvido com recursos de baixo custo, que, em conjunto, oferecem maior
segurança residencial, como qualquer tranca elétrica biométrica existente. Os
hardwares utilizados neste projeto possibilitam uma expansão de uso, que não se
restringe apenas a um simples controle de acesso, com trabalhos futuros surge a
possibilidades de agregar outras funções, e, não apenas a abertura de uma porta.
Conclui-se também, que as dificuldades encontradas no decorrer do
desenvolvimento, ofereceram novos caminhos, novos métodos para atingir o
objetivo do presente projeto. Para ultimar, a tecnologia biométrica que foi utilizada
facilita e agiliza uma atividade tão comum desempenhada diariamente, o abrir de
uma porta, com o préstimo da segurança, com a digital que é algo pessoal e
intransferível e muito mais difícil de ser falsificado, se comparada com uma simples
chave.
68
REFERÊNCIAS
SILVA, Ceccatto Camila da.Manutenção completa em computadores .
MARTINS, Elaine. O que é biometria? Publicado em Novembro de 2009.
Disponivelem:http://www.tecmundo.com.br/o-que-e/3121-o-que-e-biometria-.html.
Acessado em 18/05/2013 às 14:15
CUNHA, Rodrigo.Com a biometria, a senha somos nós. Publicado em 2008.
Disponivelem:http://cienciaecultura.bvs.br/scielo.php?pid=S0009-
67252008000100003&script=sci_arttext. Acessado em 18/05/2013 às 15:56
BOOCH,Grady,RUMBAUGH, James, JACOBSON, Ivar, UML Guia do Usuário,
2ª edição , tradução de Fabio Freitas da Silva e Cristina de Amorim Machado – Rio
de Janeiro, editora: Campus, 2005
PAULA FILHO, Wilson de Pádua. Engenharia de software: fundamentos,
métodos e padrões . 3. ed. Rio de Janeiro: Reimpr, 2011.
PREECE, Jennifer; ROGERS, Yvonne; SHARP, Helen.Design de interação: Além
da interação homem-computador. Porto Alegre: Bookman, 2005. 548 p.
MESSIA, Antônio Rogério. Introdução a porta paralela. Disponível em:
<http://www.rogercom.com/pparalela/introducao.htm>. Acesso em: 01 jul. 2013.
GONÇALVES, José Artur Teixeira. Objetivos gerais e específicos. Disponível em:
<http://metodologiadapesquisa.blogspot.com.br/2008/11/objetivos-gerais-e-
especficos.html>. Acesso em: 08 jun. 2013.
WILSON, Tracy. Como funciona a biometria. Disponível em:
<http://informatica.hsw.uol.com.br/biometria.htm>. Acesso em: 01 ago. 2013.
SILVA, Marcos Aurélio. Furtos à residência têm alta de 44%, revela Polícia
Militar. Disponível em:
69
<http://www.jornalestadodegoias.com.br/noticias_detalhe.php?id_noticia=3012&&id_
editoria=4>. Acesso em: 28 mar. 2012.
SOMERA, Guilherme. Treinamento Profissional em Delphi . Digerati Books, São
Paulo, 2007.
ALENQUER, Pablo Lopes. Regras de Negócio para Análise em Ambientes
OLAP. Disponível em:
<http://www.cin.ufpe.br/~sfa/Regras%20de%20Neg%F3cio%20para%20An%E1lise
%20em%20Ambientes%20OLAP.pdf>. Acesso em: 22 set. 2013.
SOMMERVILLE, Ian, Engenharia de Software , 8ª edição, tradução de Selma
Melnikoff, Reginaldo Arakaki e Edilson de Andrade Barbosa– São Paulo, Editora:
Pearson Addison Wesley, 2007.
ROMAGNOLI, Giuseppe Dos Santos. Biometria: você é a senha. Disponível em:
<http://www1.serpro.gov.br/publicacoes/tematec/pubtem61.htm>. Acesso em: 11 jun.
2013
ARAUJO, Everson Santos. Desenvolvimento de Software. 2012. Disponível em:
<http://everson.com.br/files/Desenvolvimento_de_Software_-_impressao.pdf>.
Acesso em: 19 jul. 201
LIU, S.; SILVERMAN, M.A practical guide to biometric security technology . IT
Pro, 2001.
OLIVEIRA, Maria Marly de. Como fazer projetos, relatórios, monografias,
dissertações e teses. 5. ed. São Paulo: Elsevier, 2010.