DESENVOLVIMENTO DE UM SISTEMA DE APOIO A` … · no seu estado. A PRF de l´a entao encaminharia o...
Transcript of DESENVOLVIMENTO DE UM SISTEMA DE APOIO A` … · no seu estado. A PRF de l´a entao encaminharia o...
Bruno Ventorim Gabrielli
DESENVOLVIMENTO DE UM
SISTEMA DE APOIO A
INTELIGENCIA POLICIAL
Florianopolis – SC
/
Bruno Ventorim Gabrielli
DESENVOLVIMENTO DE UM
SISTEMA DE APOIO A
INTELIGENCIA POLICIAL
Trabalho de Conclusao de Curso apresen-tado a Universidade Federal de Santa Cata-rina como parte dos requisitos para obtencaodo grau de Bacharel em Ciencias da Com-putacao
Orientador:
Prof. Dr. Leandro Jose Komosinski
Bacharelado em Ciencias da ComputacaoDepartamento de Informatica e Estatıstica
Centro TecnologicoUniversidade Federal de Santa Catarina
Florianopolis – SC
/
Trabalho de Conclusao de Curso apresentado ao Curso de Ciencias da Computacao,
como requisito a obtencao do tıtulo de Bacharel em Ciencisa da Computacao, da Univer-
sidade Federal de Santa Catarina
Prof. Dr. Leandro Jose KomosinskiDepartamento de Informatica e Estatıstica - UFSC
Orientador
Prof. Dr. Ricardo Pereira e SilvaDepartamento de Informatica e Estatıstica - UFSC
Eng. Marcelo Roberto Paiva WinterDepartamento de Polıcia Rodoviaria Federal
Lista de Figuras
1 Antiga organizacao do clipping . . . . . . . . . . . . . . . . . . . . . . p. 19
2 Atores do subsistema de clipping . . . . . . . . . . . . . . . . . . . . . p. 20
3 Casos de uso do subsistema de clipping . . . . . . . . . . . . . . . . . . p. 21
4 Casos de uso do Modulo de Notıcias . . . . . . . . . . . . . . . . . . . . p. 22
5 Casos de uso do Modulo de Ocorrencias . . . . . . . . . . . . . . . . . . p. 23
6 Relacionamentos da classe VOBase . . . . . . . . . . . . . . . . . . . . p. 25
7 Log das alteracoes no Banco de Dados . . . . . . . . . . . . . . . . . . p. 26
8 Log das inclusao no Banco de Dados . . . . . . . . . . . . . . . . . . . p. 26
9 Tela de pesquisa de notıcias . . . . . . . . . . . . . . . . . . . . . . . . p. 27
10 Resultado da pesquisa de notıcias . . . . . . . . . . . . . . . . . . . . . p. 28
11 Tela de visualizacao dos dados da notıcia . . . . . . . . . . . . . . . . . p. 29
12 Tela de visualizacao dos anexos da notıcia . . . . . . . . . . . . . . . . p. 30
13 Tela de cadastro de notıcia . . . . . . . . . . . . . . . . . . . . . . . . . p. 31
14 Tela de cadastro de notıcia, insercao de anexos . . . . . . . . . . . . . . p. 32
15 Tela de cadastro de fontes de notıcias . . . . . . . . . . . . . . . . . . . p. 33
16 Resenha diaria, escolha da data . . . . . . . . . . . . . . . . . . . . . . p. 34
17 Resenha diaria, escolha dos destinatarios ou visualizacao . . . . . . . . p. 35
18 Resenha diaria, parte de notıcias . . . . . . . . . . . . . . . . . . . . . p. 36
Lista de Abreviaturas
AOP Aspect Oriented Programming, programacao orientada a aspectos
BD Banco de Dados
NUINT Nucleo de Inteligencia da Polıcia Rodoviaria Federal
PRF Polıcia Rodoviaria Federal
UML Unified Modeling Language
Sumario
1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 7
1.1 Descricao do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 9
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 9
1.2.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 9
1.2.2 Objetivos Especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 9
1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 10
1.4 Estrutura do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 10
2 Referencial Teorico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 12
2.1 Inteligencia Policial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 12
2.2 Clipping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 12
3 Referencial Tecnologico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 14
3.1 Linguagem de programacao Java . . . . . . . . . . . . . . . . . . . . . . . p. 14
3.2 Banco de dados PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . p. 15
3.3 Java Server Faces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 15
3.4 NetBeans IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 15
3.5 Spring Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 16
3.6 Hibernate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 16
3.7 UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 16
4 Projeto e Modelagem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 17
4.1 Requisitos Nao-Funcionais . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 17
4.2 Clipping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 18
4.2.1 Requisitos funcionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 19
4.2.2 Atores do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 19
4.2.3 Casos de Uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 20
4.2.3.1 Modulo de Notıcias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 20
4.2.3.2 Modulo de Ocorrencias . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 21
4.2.3.3 Modulo de Relatorios . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 22
5 Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 24
5.1 Infra-estrutura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 24
5.1.1 Login e controle de usuarios . . . . . . . . . . . . . . . . . . . . . . . . . p. 24
5.1.2 Controle de Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 24
5.1.2.1 LogAlteracaoAdvice . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 25
5.1.2.2 LogInclusaoAdvice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 25
5.2 Subsistema de Clipping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 26
6 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 37
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 39
7
1 Introducao
As organizacoes policiais no Brasil sofrem uma grande defasagem tecnologica em
relacao aos seus pares em outros paıses. Em diversos estados brasileiros ainda se encon-
tram delegacias onde as ocorrencias sao feitas em maquinas de datilografia ou a proprio
punho pelos escrivaos. Contudo, existe uma forte tendencia de mudanca nesse quadro.
Em alguns estados, como Rio Grande do Sul e Santa Catarina, as polıcias estaduais (Civil
e Militar) ja possuem um razoavel aparato tecnologico.
No Rio Grande do Sul existe um sistema de pesquisa de indivıduos muito evoluıdo,
contando ate com consulta de fotos dos cidadaos que tiraram sua Carteira Nacional de
Habilitacao (CNH) no estado. Em Santa Catarina, pode-se citar tres bons sistemas em
uso pelas polıcias: de consulta de veıculos (DetranNet), de consulta indivıduos (CIASC)
e o sistema de cadastro de ocorrencias da Polıcia Civil.
Na esfera federal tambem existem grandes avancos na area de Tecnologia da In-
formacao. Um bom exemplo e o Infoseg, mantido pela Secretaria Nacional de Seguranca
Publica(SENASP). O Infoseg e um sistema de consulta de veıculos, pessoas e armas de
nıvel nacional que trabalha integrado com as informacoes mantidas por cada unidade da
federacao. Antes do lancamento deste sistema, no final de 2004, para que um policial
de Santa Catarina conseguisse informacoes sobre um suspeito do Acre eram necessarias
muitas ligacoes telefonicas entres as polıcias dos estados envolvidos. Hoje tudo se resume
a uma consulta de alguns segundos no sistema.
Neste contexto a Polıcia Rodoviaria Federal (PRF) se encaixa como uma coorporacao
bastante avancada no desenvolvimento e utilizacao de sistemas eletronicos, tendo como
seu carro chefe o sistema BR-Brasil. Este software foi idealizado como um gerenciador
de todo o trabalho diario do policial rodoviario. Ate o momento, o seu uso tem sido
exclusivamente no cadastro de acidentes rodoviarios, mas no futuro ele devera ser capaz
de gerenciar todos os tipos de ocorrencias policiais. Apesar de ainda estar em fase de
desenvolvimento, o BR-Brasil ja vem sendo usado em todos os estados da federacao e no
1 Introducao 8
Distrito Federal.
E sensıvel a diferenca no atendimmento da PRF a populacao depois do lancamento
desse sistema. Anteriormente, os boletins de acidentes eram redigidos a mao ou a maquina
de escrever (com a excecao de Santa Catarina, que possuıa um sistema de cadastro de
acidentes desde 2002). Essa forma de registro de acidentes era muito demorada e nao
havia uma integracao entre os dados dos estados, o que dificultava muito a emissao de
um boletim de um acidente ocorrido em outra unidade da federacao. Um exemplo e
um acidentado em Santa Catarina que quisesse uma copia do seu Boletim de Acidente
em outro estado. Com a falta de um sistema integrado, ele deveria solicitar o boletim
no seu estado. A PRF de la entao encaminharia o pedido a PRF de SC, que emitiria
uma copia do boletim e a mandaria de volta via correio. Todo esse tramite demoraria
aproximadamente duas semanas. Hoje bastaria que ele fosse a qualquer posto da PRF
no Brasil para que um policial imprimisse uma segunda via do boletim, em questao de
segundos.
Alem do BR-Brasil, a PRF possui varios sistemas que sao usados em nıvel nacional,
como o Sistema de Protocolo, de Multas, de Recursos Humanos, dentre outros e ainda os
sistemas desenvolvidos regionalmente por alguns estados e nao usados nacionalmente.
Na PRF os estados sao divididos em unidades administrativas chamadas de Regionais,
que por sua vez sao separadas em Superintendencias e Distritos. No total sao 21 Superin-
tendencias e 5 Distritos. Sao classificados como Distritos os estados com poucas rodovias
federais (BR´s) e assim consecutivamente, menores necessidades administrativas. Ja as
Superintendencias sao estados com maiores necessidades administrativas. Por exemplo,
Santa Catarina e a 8a Superintendencia Regional (8a SRPRF) e o Distrito Federal e o 1o
Distrito Regional (1o DRPRF). Alem das 26 Regionais, ainda existe a sede administra-
tiva nacional do Departamento de Polıcia Rodoviaria Federal (DPRF), que se localiza em
Brasılia. Cabe ao DPRF gerir a Polıcia Rodoviaria Federal em todo o paıs.
Apesar de estar evoluindo bastante na quesito da informatizacao, a PRF ainda possui
alguns problemas basicos, dentre os quais podemos citar:
1. Sistemas que nao se comunicam entre si: existem muitos sistemas em que nao ha
nenhum tipo de compartilhameno de dados. Gerando alguns inconvenientes como
ter que lancar os mesmo dados em mais de uma base. Esse problema tem sido
atacado nos novos sistemas, que possuem uma grande integracao, principalmente
nos desenvolvidos pelo DPRF, em Brasılia.
1.1 Descricao do Problema 9
2. Desenvolvimento de sistemas ”tapa-buraco”: sao feitos, principalmente nas region-
ais, muitos ”mini-sistemas”para resolver problemas menores, o que acaba gerando
uma infinidade de bancos de dados Access ou planilhas Excel. Isso acaba levando
ao problema anterior.
3. Area de atuacao muito grande: o fato da polıcia ter muitas areas de atuacao na
sociedade faz com que alguns dessas areas estejam defasadas em relacao a outras no
quesito informatizacao.
1.1 Descricao do Problema
Na PRF, uma area muito defasada em termos de Tecnologia da Informacao e a In-
teligencia. Em cada Regional existe um Nucleo de Inteligencia (Nuint), coordenados pela
Coordenacao Geral de Inteligencia (Coint) sediada em Brasılia, no DPRF. Os Nuint’s sao
responsaveis pelas investigacoes de crimes e compilacao de estatısticas criminais no amibto
da Polıcia Rodoviaria Federal. Atualmente os Nuint’s nao possuem nenhum software que
os auxilie em suas tarefas diarias.
Tendo em vista essa carencia por parte dos Nucleos de Inteligencia, a proposta desse
Trabalho de Conclusao de Curso e o desenvolvimente de um sistema que possa auxilia-los
no desempenho de suas atividades de investigacao bem como automatizar alguns de suas
tarefas diarias, tendo como usuarios iniciais os policiais do Nuint de Santa Catarina.
1.2 Objetivos
Estao descritos a seguir o objetivo geral e objetivos especıficos.
1.2.1 Objetivo Geral
Desenvolver um sistema que apoie os Nucleos de Inteligencia da Policıa Rodoviaria
Federal nos seus trabalhos diarios, melhorando assim a qualidade e produtividade de suas
investigacoes.
1.2.2 Objetivos Especıficos
Sao objetivos especıficos deste trabalho:
1.3 Metodologia 10
• Analisar a melhor forma de resolver os problemas da area de Inteligencia da PRF;
• Desenvolver um sistema que se adeque as necessidades desse nucleo e que tenha
como requisitos basicos a simplicidade de uso, a seguranca das informacoes e a
disponibilidade em ambiente web;
• Depois dos devidos testes locais, disponibilizar esse sistema para uso nacional junto
ao Departamento de Polıcia Rodoviaria Federal (DPRF).
1.3 Metodologia
Segundo Silva e Menezes (2005, p. 20 a 22), as pesquisas podem ser classificadas de
diversas formas. Do ponto de vista da natureza do problema, esse trabalho e classificado
Pesquisa Aplicada, pois ”objetiva gerar conhecimentos para aplicacao pratica e dirigidos a
solucao de problemas especıficos. Envolve verdades e interesses locais.”(SILVA; MENEZES,
2005, p. 20)
Ainda segundo os mesmos autores, mudando-se o foco para os procedimentos tecnicos,
a esta pesquisa seria classificada como Pesquisa-Acao, pois ”concebida e realizada em
estreita associacao com uma acao ou com a resolucao de um problema coletivo”(SILVA;
MENEZES, 2005, p. 21). Esse tipo de pesquisa tambem se caracteriza pela forte interacao
entre os pesquisadores e as pessoas envolvidas no problema, trabalhando de maneira
cooperativa ou participativa. Esse fator e marcante nessa pesquisa devido ao fato de o
autor estar inserido nestes dois mundos.
1.4 Estrutura do Trabalho
Este trabalho esta estruturado em 6 capıtulos. No capıtulo 1 sao apresentados o tema
abordado, a problematizacao, os objetivos e justificativas para realizacao da pesquisa.
Nos capıtulos 2 e 3 sao abordados conhecimentos necessarios para a tomada de decisao
no projeto, como saber qual tecnologia usar ou por qual caminho levar o projeto para que
possa ser concluıdo com sucesso.
No capıtulo 2 sao apresentados e definidos dois conceitos essenciais a analise do
domınio: clipping e Inteligencia Policial.
No capıtulo 3 descrevem-se as tecnologias que serao utilizadas no desenvolvimento
1.4 Estrutura do Trabalho 11
do projeto, como a linguagem de programacao utilizada, metodologia seguida para a
modelagem do sistema e a forma de armazenamento dos dados.
A modelagem e projeto do sistema sao apresentadas e descritas no capıtulo 4.
O desenvolvimento e implantacao do sistema objeto dessa monografia sao descritos
no capıtulo 5, bem como a validacao do mesmo.
No capıtulo 6 sao apresentadas as conclusoes obtidas com o desenvolvimento do pro-
jeto.
12
2 Referencial Teorico
2.1 Inteligencia Policial
Segundo Dantas (2006a), o termo intelligence em ingles, equivale a servico de in-
teligencia ou de producao de conhecimento sensıvel (geralmente sigiloso) de interesse do
Estado. Tal servico abrange temas que vao do terrorismo ao crime organizado, passando
pelo narcotrafico e lavagem de dinheiro. Considerando a busca e manutencao do Bem
Comum, as nacoes fazem uso de diversos meios para obter as informacoes consideradas
vitais para sua seguranca e defesa. A propria legislacao torna lıcita, em casos especıficos,
a invasao da privacidade de indivıduos e organizacoes que sejam um risco potencial para
a paz e a tranquilidade coletiva. Sao as acoes vulgarmente chamadas de espionagem.
A definicao acima se aplica a atividade de Inteligencia de uma maneira geral, mas
o escopo deste trabalho se restringe a Inteligencia Policial. De acordo com o Consultor
Legislativo do Senado Federal, Joanisval Brito Goncalves (2006) a Inteligencia Policial e a
atividade de Inteligencia que atua na prevencao, obstrucao, identificacao e neutralizacao
das acoes criminosas, com vistas a investigacao policial e ao fornecimento de subsıdios ao
Poder Judiciario e ao Ministerio Publico nos processos judiciais.
2.2 Clipping
Clipping e uma expressao em ingles derivada de clip, que significa ’grampo’. O clip
nada mais e do que o popular pedaco de arame muito usado nos escritorios para prender
folhas.
O clipping ganhou significado nas grandes organizacoes, onde existiam pessoas encar-
regadas de folhear diversos jornais e revistas a procura de notıcias relacionadas com as
atividades dessas organizacoes. Os recortes eram agrupados atraves de um clip e colo-
cados em circulacao nas organizacoes de tal forma que as pessoas (especialmente os que
2.2 Clipping 13
tomavam decisoes) ficassem inteiradas sobre o que a imprensa andava dizendo sobre as or-
ganizacoes, reduzindo bastante o tempo que teriam de usar se cada pessoa fosse procurar
na mıdia os assuntos de interesse da organizacao. (IPIBNET, 2006)
No ambito do trabalho policial o clipping e feito visando selecionar dos jornais diarios
todas as ocorrencias policiais que possam ter algum relacionamento com o trabalho da
PRF, ou que tem a identificacao por foto de pessoas presas. Isso e importante por dois
motivos:
1. Mapear a ocorrencia da cada tipo de crime em cada localidade. Com isso pode-se
tracar o perfil da criminalidade em cada regiao e assim poder planejar melhor as
operacoes policiais naquele local.
2. Montar um banco de dados local de fotos de criminosos. E interessante manter
esta base para poder fazer uma rapida identificacao dos suspeitos em alguma inves-
tigacao.
Alem do clipping de notıcias e feito tambem a compilacao de todas as ocorrencias aten-
didas pela PRF no estado. Esse clipping de ocorrencias funciona de maneira semelhante
ao de notıcias e possui os mesmos objetivos.
14
3 Referencial Tecnologico
3.1 Linguagem de programacao Java
Lancada pela Sun Microsystems em 1995, Java e uma linguagem de programacao
orientada a objetos projetada para ser multiplataforma. A principal diferenca entre Java
e as linguagens de seu tempo e o fato dessa nao ser compilada para codigo nativo, e sim
para um tipo de codigo chamado bytecode, que e executado por uma maquina virtual.
Isso faz com que a linguagem se torne independente de sistema operacional(SO), ja que
todo SO que possuir uma maquina virtual implementada poderia executar o codigo.
A sintaxe da linguagem foi definida de maneira a ser o mais parecido possıvel com
C++, linguagem orientada a objetos mais usada na epoca. Mas os projetistas tiveram um
cuidado especial em retirar da linguagem os problemas encontrados em C++. Segundo
Cornell e Horstmann (2000):
Os projetistas da linguagem Java pensaram muito sobre o que faz ocodigo C++ tao sujeito a erros e acrescentaram recursos ao Java queeliminam a possibilidade de criar codigo com os tipos mais comum aerros. Algumas estimativas afirmam que, por alto, a cada 50 linhas decodigo em C++ ha pelo menos um erro. (CORNELL; HORSTMANN,2000, p. 3)
Essas caracterısticas, aliadas ao crescimento da internet, fizeram do Java uma lin-
guagem muito popular e usada pelas maiores empresas do mundo da computacao, como
IBM e ORACLE.
Devido as caracterısticas acima citadas e ao fato de o Departamento de Polıcia
Rodoviaria Federal(DPRF) ja usar Java como linguagem de programacao padrao, ela
foi escolhida como a linguagem a ser usada nesse projeto.
3.2 Banco de dados PostgreSQL 15
3.2 Banco de dados PostgreSQL
O gerenciador de banco de dados objeto-relacional conhecido como PostgreSQL e
derivado do projeto Postgres desenvolvido pela Universidade da California em Berke-
ley. Como mais de uma decada de desenvolvimento, o PostgreSQL e considerado o mais
avancado banco de dados open source da atualidade (POSTGRESQL, 2007).
O codigo fonte do PostgreSQL esta protegido e registrado como open cource pela Uni-
versidade da California. Ele e mantido e atualizado por universitarios e programadores
experientes e e patrocinado por diversas empresas, como Skype, Sun, entre outras (POST-
GRESQL, 2007).
O PostgreSQL foi escolhido para ser usado nesse projeto devido ao fato de a Polıcia
Rodoviaria Federal em Santa Catarina ja possuir um servidor deste banco em execucao e
manifestarem preferencia por ele.
3.3 Java Server Faces
Java Server Faces (JSF) e o novo framework MVC da Sun para o desenvolvimento
de aplicacoes web. Ele foi desenvolvido para facilitar o desenvolvimento de interfaces com
usuario (UI) de sistemas web.
O JSF inclui:
• Um conjuntos de APIs para: representar compontentes de UI e gerenciar seus esta-
dos, manipulando eventos e validacao de dados, definindo a navegacao de paginas,
e suportando internacionalizacao e acessibilidade(JSF, 2007);
• Uma biblioteca de tags JSP para expressar uma pagina JSF dentro de uma pagina
JSP(JSF, 2007).
3.4 NetBeans IDE
COLOCAR AQUI TEXTO NETBEANS
3.5 Spring Framework 16
3.5 Spring Framework
COLOCAR AQUI TEXTO SOBRE SPRING
3.6 Hibernate
COLOCAR AQUI TEXTO SOBRE HIBERNATE
3.7 UML
COLOCAR AQUI TEXTO SOBRE UML
17
4 Projeto e Modelagem
Depois de entrevistas com os futuros usuarios do sistema, ficou definido que o projeto
seria dividido em dois subsistemas:
Clipping - subsistema responsavel pela manutencao de uma base dados de ocorrencias
criminais e de notıcias relacionadas a criminalidade no ambito da PRF;
Investigacoes - subsistema de apoio ao trabalho investigativo desenvolvido pelos poli-
ciais do Nuint. Esse subsistema se apoiara bastante nas informacoes mantidas pelo
sistema de Clipping.
A seguir sao descritos os passos para modelagem do sistema. Serao apresentados os
casos de uso. Dos casos de usos que sao mais do que simples cadastros serao apresen-
tados os demais diagramas UML que se julgar necessario, como diagrama de dequencia,
diagramas de robustez ou diagrama de atividade.
Devido as grandes diferencas nas caracterısticas dos subsistema, eles serao apresenta-
dos separadamente. A unica excecao na modelagem sao os requisitos nao-funcionais, que
sao os mesmo para todo o sistema e, por isso mesmo, serao apresentados antes.
4.1 Requisitos Nao-Funcionais
Requisitos nao-funcionais sao necessidades que o sistema deve satisfazer para que
possa funcionar corretamente. Sao requisitos nao funcionais do projeto:
• O sistema sera executado num servidor Linux;
• Devera ser utilizado o banco de dados PostgreSQL 8.2;
• O sistema devera rodar nos seguintes navegadores: Internet Explorer 6.x ou superior
e Mozilla 1.5 ou superior;
4.2 Clipping 18
• Devera ser utilizado um servidor Apache Tomcat 5.5 ou superior;
• Nenhuma informacao pode ser excluıda, ficando todas armezanadas na base de
dados. Nesse caso as informacoes excluıdas por usuarios so devem ficar ocultas;
• Armazenamento dos logs com todas as alteracoes feitas no sistema, contendo: uma
descricao do valor alterado, o usuario, o momento da alteracao e a identificacao do
micro que fez a alteracao;
• Disponibilizacao do sistema para que possa ser acessado por qualquer micro que
esteja na rede do DPRF de Santa Catarina;
• Envio dos relatorios por e-mail atraves do proprio sistema;
• Somente terao acesso aos dados usuarios cadastrados e habilitados;
4.2 Clipping
O sistema de Clipping funciona como um cadastro de ocorrencias criminais e notıcias
de interesse do Nuint.
Esse cadastro ja era feito pelo Nuint antes do inıcio desse projeto, mas era realizado
de uma maneira improdutiva. Basicamente o membro do Nuint responsavel pelo clipping
lia varios jornais disponıveis na internet e selecionava as materias que eram de interesse
do Nucleo, as salvando em arquivos .doc. Esses arquivos ficavam salvos em pastas cujo
nome era o assunto das notıcias, e essas pastas ficavam dentro de outras representando a
data. Veja exemplo desse estrutura esta representada na figura 1.
Com esse tipo de estrutura ficava muito difıcil de se realizar uma pesquisa por uma
notıcia especıfica. Tambem havia o problema de que, ao associar uma notıcia (ou ocorrencia)
a um unico assunto, perdia-se muito em flexibilidade, pois diversas vezes uma ocorrencia
se encaixa em mais de um dos assuntos usados.
Por exemplo, pode haver uma ocorrencia de um roubo de carga em que houve sequestro
dos motorista do caminhao assaltado. Essa e uma ocorrencia de sequestro ou de roubo
de carga? O que fazer nesse caso? Colocar uma copia da ocorrencia na pasta sequestro
e outra na roubo de carga? Para evitar esse tipo de situacao, foi extinta a ideia de um
assunto para cada ocorrencia/notıcia e foi adotada a ideia de usar ındices. Cada assunto
agora foi transformado em um ındice e cada ocorrencia/notıcia pode possuir um ou mais
ındices.
4.2 Clipping 19
Figura 1: Antiga organizacao do clipping
4.2.1 Requisitos funcionais
Requisitos funcionais sao as funcionalidades explicitas que o sistema deve atender, ou
seja, as funcionalidades que aparecem no software.
Os requisitos funcionais encontrados para o sistema de Clipping sao:
• Cadastro de ocorrencias policiais, com atributos e a possibilidade de incluir fo-
tografias e demais anexos;
• Cadastro de notıcias, com atributos e a possibilidade de incluir fotografias e demais
anexos;
• Agrupamento dos dados de maneira que a pesquisa seja uma tarefa simples de ser
realizada;
• Emissao de relatorio com o balanco diario para envio a outros Nuint’s ou ao Coint;
4.2.2 Atores do Sistema
E chamado de ator qualquer elemento externo que interaja com o sistema atraves do
envio/recebimento de informacoes.
O Estagiario Nuint e um estagiario responsavel pela leitura diaria das notıcias que
possam interessar ao Nuint e por lanca-las no sistema.
O ator Policial representa os policiais que trabalham na fiscalizacao nas rodovias
federais e que teriam um acesso de leitura aos dados.
4.2 Clipping 20
Figura 2: Atores do subsistema de clipping
O ator Membro Nuint representa os policiais lotados no Nucleo de Inteligencia, que
sao os usuarios principais do sistema. Eles possuem o poder de cadastrar notıcias e
ocorrencias e tambem gerar relatorios e envia-los por e-mail pelo sistema.
O usuario Administrador tem os mesmo poderes que o Membro Nuint e ainda controla
as permissoes dos demais usuarios, assim como a criacao de novos usuarios.
4.2.3 Casos de Uso
Casos de uso sao modulos em que sao realizadas as interacoes entre o ator e sistema. Os
casos de uso do subsistema de Clipping estao representados na figura 3 e serao explicados
ao longo deste capıtulo.
A seguir sao apresentados os casos de uso divididos em 3 modulos: Notıcias, Ocorrencias
e Relatorios.
4.2.3.1 Modulo de Notıcias
Os casos de usos encontrados no Modulo de Notıcias sao:
UC08 - Pesquisa Notıcia - Este caso de uso tem por objetivo realizar pesquisa de
notıcias. A partir dele e possıvel fazer a visualizacao, inclusao, exclusao e alteracao
de uma notıcia.
UC10 - Visualizacao Notıcia - Este caso de uso possibilita a visualizacao de uma
notıcia.
4.2 Clipping 21
Figura 3: Casos de uso do subsistema de clipping
UC04 - Cadastro Notıcia - Este caso de uso e responsavel pelas operacoes com notıcias
que acarretem mudancas no banco de dados. Essas operacoes sao: inclusao, exclusao
e alteracao.
UC03 - Cadastro Indice - E de responsabilidade deste caso de uso a operacoes de
inclusao, exclusao e alteracao de ındices.
UC02 - Cadastro Fonte Notıcia - Este caso de uso permite a inclusao, exclusao e
alteracao dos jornais e demais fontes de notıcias.
4.2.3.2 Modulo de Ocorrencias
Os casos de usos especificados para o Modulo de Ocorrencias sao:
UC09 - Pesquisa Ocorrencia - Este caso de uso tem por objetivo realizar pesquisa
de ocorrencias. A partir dele e possıvel fazer a visualizacao, inclusao, exclusao e
alteracao de uma ocorrencia.
4.2 Clipping 22
Figura 4: Casos de uso do Modulo de Notıcias
UC11 - Visualizacao Ocorrencia - Este caso de uso possibilita a visualizacao de uma
ocorrencia.
UC05 - Cadastro Ocorrencia - Este caso de uso e responsavel pelas operacoes com
ocorrencias que acarretem mudancas no banco de dados. Essas operacoes sao: in-
clusao, exclusao e alteracao.
4.2.3.3 Modulo de Relatorios
4.2 Clipping 23
Figura 5: Casos de uso do Modulo de Ocorrencias
24
5 Desenvolvimento
Depois de feitas a analise e o projeto do sistema foi dado inıcio ao desenvolvimento
do mesmo. Esse desenvolvimento foi dividido em tres etapas: infra-estrutura, clipping e
investigacoes.
5.1 Infra-estrutura
Esse etapa abrange as funcionalidades que serao utilizadas pelos dois subsistemas.
5.1.1 Login e controle de usuarios
Foi desenvolvido um cadastro de usuarios com a possibilidade do amdinistrador con-
trolar cada permissao do usuario. Atraves desse controle o administrador pode definir ate
que itens de menu e opcoes estarao disponıveis (e visıveis) aos usuarios.
5.1.2 Controle de Logs
Utilizando conceitos de orientacao a objetos e a aspectos foi desenvolvido um sistema
de logs para o projeto.
A figura 6 mostra os relacionamentos da classe VOBase. Essa classe implementa o
comportamento basico desejado de todos os objetos do sistema. Todos as classes persis-
tentes do sistema herdam diretamente de VOBase.
Cada instancia dessa classe possui uma referencia a uma instancia de DadosCriacao.
Esta por sua vez representa os dados sobre a insercao no BD de um referido objeto, por
um Usuario.
Ja a classe Alteracao representa as alteracoes que esse objeto (VOBase) sofreu ao
longo dos tempos.
5.1 Infra-estrutura 25
Figura 6: Relacionamentos da classe VOBase
Para controlar a criacao e insercao destes dados no BD foram criados dois aspectos,
implementados pelas classes LogAlteracaoAdvice e LogInclusaoAdvice.
5.1.2.1 LogAlteracaoAdvice
Esse aspecto encapsula todas as chamadas a metodos que alterem dados no BD. Ele
basicamente captura o usuario que fez a alteracao, seu ip, a data e hora, o que foi alterado
e os valores antigo e novo. Com esses dados ele cria uma instancia da classe Alteracao e
a insere no BD.
A figura 7 mostra um exemplo de como os dados sao organizados no Banco de Dados,
nem todos os campos sao exibidos nessa figura. Observando o log da alteracao na linha
selecionada da figura, le-se o texto ”ativo foi alterado de: true para: false;”. Pois esse e o
log que representa a exclusao de um item, no caso uma Notıcia. Ou seja, um objeto nunca
e excluıdo do BD, ele e somente ocultado e pode ser recuperado em caso de necessidade.
5.1.2.2 LogInclusaoAdvice
A funcao deste aspecto e encapsular os metodos que incluem objetos no Banco de
Dados e adicionar a esses metodos a inclusao dos dados relativos a criacao do objeto. A
5.2 Subsistema de Clipping 26
Figura 7: Log das alteracoes no Banco de Dados
figura 8 da um exemplo do log de inclusao de alguns dados.
Figura 8: Log das inclusao no Banco de Dados
5.2 Subsistema de Clipping
5.2 Subsistema de Clipping 27
Figura 9: Tela de pesquisa de notıcias
5.2 Subsistema de Clipping 28
Figura 10: Resultado da pesquisa de notıcias
5.2 Subsistema de Clipping 29
Figura 11: Tela de visualizacao dos dados da notıcia
5.2 Subsistema de Clipping 30
Figura 12: Tela de visualizacao dos anexos da notıcia
5.2 Subsistema de Clipping 31
Figura 13: Tela de cadastro de notıcia
5.2 Subsistema de Clipping 32
Figura 14: Tela de cadastro de notıcia, insercao de anexos
5.2 Subsistema de Clipping 33
Figura 15: Tela de cadastro de fontes de notıcias
5.2 Subsistema de Clipping 34
Figura 16: Resenha diaria, escolha da data
5.2 Subsistema de Clipping 35
Figura 17: Resenha diaria, escolha dos destinatarios ou visualizacao
5.2 Subsistema de Clipping 36
Figura 18: Resenha diaria, parte de notıcias
37
6 Conclusao
Os objetivos propostos para essa monografia foram parcialmente atingidos. Foi de-
senvolvido um sistema para auxiliar a atividade de Inteligencia Policial no ambito dos
Nucleos de Inteligencia da Polıcia Rodoviaria Federal. Como mostrado no restante do
documento, o sistema foi dividido em dois subsistemas, Clipping e investigacoes, que
iriam interagir entre si. Priorizou-se realizar primeiro o subsistema de Clipping pois essa
era uma necessidade mais urgente para os usuarios.
Este subsistema foi disponibilizado para uso em nıvel de producao em 3 de abril
de 2007. Desde entao vem sendo usado diariamente pelos policiais do Nuint-SC e tem
auxiliado muito em seus trabalhos. O nıvel de satisfacao com o sistema e alto, inclusive
despertando o interesse de outras Regionais da PRF. Exemplo disso e que ja estao sendo
agendados encontros com policiais do Parana e da Bahia para a implantacao do sistema
nesses estados.
O desenvolvimento do subsistema de investigacoes foi atrasado por determinacao da
administracao da PRF em Santa Catarina, que definiu outras prioridades. Depois de dois
meses foi retomada a analise de seus requisitos.
Em 26 de junho deste ano, foi decidido em Brasılia iniciar o desenvolvimento de um
sistema nacional de Inteligencia. Devido a experiencia adquirida com o tema durante o
desenvolvimento deste projeto, o autor foi convidado a participar da equipe de analise e
projeto do novo sistema. Este software sera responsavel por gerenciar as Investigacoes
nao so dos Nuint’s de todo o paıs como tambem da Coordenacao Geral de Inteligencia,
em Brasılia.
Com isso, o subsistema de investigacoes nao sera mais desenvolvido como um sistema
local por um unico desenvolvedor. Agora suas ideias iniciais servirao de base para um
grande sistema a ser desenvolvido por uma equipe de programadores e analistas ja tendo
como publico alvo policiais de todo o Brasil.
Apesar de o subsistema de investigacoes nao ter ficado pronto, pode-se afirmar que
6 Conclusao 38
esta monografia veio a ajudar, e muito, a informatizacao da area de Inteligencia da
Polıcia Rodoviaria Federal e que os bons resultados da mesma serao sentidos por policiais
rodoviarios federais de todas as 27 unidades da federacao.
39
Referencias
BLAHA, M.; RUMBAUGH, J. Modelagem e Projetos Baseados em Objetos com UML 2.Traducao de Daniel Vieira. 2. ed. Rio de Janeiro: Elsevier, 2006.
CORNELL, G.; HORSTMANN, C. S. Core Java 2: Fundamentos. 1. ed. [S.l.]: MakronBooks, 2000.
DANTAS, G. F. de L. A inteligencia e sua aplicacao na seguranca publica. 2006.Disponıvel em: <http://www.fenapef.org.br/htm/com tribuna exibe.cfm?Id=487>.Acesso em: 29 mai 2007.
DANTAS, G. F. de L. Novos rumos da inteligencia policial. 2006. Disponıvel em:<http://www.peritocriminal.com.br/novosrumos.htm>. Acesso em: 30 mai 2007.
DANTAS, G. F. de L.; SOUZA, N. G. de. As bases introdutorias daanalise criminal na inteligencia policial. p. 19, 2004. Disponıvel em:<http://www.mj.gov.br/senasp/biblioteca/bibliot artigos.htm>.
DEITEL, H. M.; DEITEL, P. J. Java: Como Programar. 4. ed. [S.l.]: Bookman, 2002.
FERREIRA, M. M. et al. Projeto de Gestao por Competencias da Subsecretariade Inteligencia (SSINTE) da Secretaria de Estado de Seguranca Publica do Rio deJaneiro (SSP/RJ). Monografia (Especializacao) — Coordenacao dos Programas dePos-graduacao de Engenharia (COPPE), Universidade Federal do Rio de Janeiro, Rio deJaneiro, 2004.
GONcALVES, J. B. A atividade de inteligencia no combate ao crime organizado: o casodo brasil. 2006. Disponıvel em: <http://jus2.uol.com.br/doutrina/texto.asp?id=8672>.Acesso em: 24 ago 2006.
IPIBNET, C. O que e um clipping? 2006. Disponıvel em:<http://www.ipib.org/clipib/oque.asp>. Acesso em: 10 jun 2007.
JuNIOR, A. M. E. OPERA - Sistema de triagem de informacoes para formacao deoperacoes especiais, para o setor de inteligencia da Polıcia Rodoviaria Federal - SC.106 f. Monografia (Graduacao em Ciencia da Computacao) — Universidade do Vale doItajaı, Itajaı - SC, 2006.
JSF. Sıtio oficial do java server faces. 2007. Disponıvel em:<http://java.sun.com/javaee/javaserverfaces/>. Acesso em: 30 mai 2007.
MARTINS, J. E.; ADRIANO, S. D. Informatizacao do setor de seguranca da ColoniaAgrıcola de Palhoca. 112 f. Monografia (Graduacao em Ciencia da Computacao) —Universidade do Sul de Santa Catarina, Palhoca - SC, 2005.
Referencias 40
PACHECO, D. F. Atividades de inteligencia e processo penal. 2005. Disponıvel em:<http://www.militar.com.br/modules.php?name=Juridico&file=display&jid=123>.Acesso em: 31 mai 2007.
POSTGRESQL. Sıtio oficial do postgresql. 2007. Disponıvel em:<http://www.postgresql.org/>. Acesso em: 30 mai 2007.
SANTOS, R. F. dos. Desenvolvendo um prototipo para integrar Gerencia doRelacionamento com o Cliente (CRM), Mineracao de Dados e uma base deconhecimento. 105 f. Monografia (Graduacao em Ciencia da Computacao) —Universidade do Sul de Santa Catarina, Palhoca - SC, 2005.
SILVA, E. L. da; MENEZES, E. M. Metodologia da pesquisa e elaboracao de dissertacao.4a ed. rev. atual. ed. Florianopolis: Laboratorio de educacao a distancia da UFSC, 2005.