1ère partie : Approches théoriques de la relation
1. Les conduites relationnelles « socialisées »
1.1 Modèles sociaux et comportements relationnels .1 Relation et solidarité
1.1.2 La relation sociale entre scission et communication
Neste cap´ıtulo, apresentei a literatura relacionada com a problem´atica do fingerprinting de imagens, tendo estudado diversos algoritmos de detectores e extractores apropriados ao problema proposto. Fiz tamb´em um enquadramento ao trabalho realizado pela equipa de trabalho anterior, relativamente `a soluc¸˜ao de fingerprinting de imagens de matr´ıculas. Essa soluc¸˜ao, no entanto, tinha v´arias limitac¸˜oes que foram ultrapassadas neste PEI.
No pr´oximo cap´ıtulo explico o porquˆe da minha escolha do algoritmo de fingerprinting e justifico todo trabalho que realizei durante o PEI.
Cap´ıtulo 3
Trabalho realizado
Ap´os referidas as problem´aticas que motivam o projecto, assim como feito o estudo de literatura, neste cap´ıtulo apresento o trabalho que realizei para cumprir os objectivos trac¸ados, nomeadamente no que toca `a implementac¸˜ao do fingerprinting de imagens, o desenvolvimento da framework modular IALPR (Intelligent Automatic License Plate Recognition) e o Mobile Tolling Backoffice.
3.1
Enquadramento
Nesta secc¸˜ao, descrevo as ferramentas que utilizei no decorrer do PEI, a organizac¸˜ao de trabalho da equipa de tolling da Accenture e o processo de desenvolvimento de software.
3.1.1
Ferramentas de desenvolvimento de software
As ferramentas de desenvolvimento de software que apresento a seguir est˜ao organizadas em torno dos objectivos do PEI.
Sistema de fingerprinting de matr´ıculas
Utilizei um computador port´atil equipado com processador Intel Core i5, 4 GB de mem´oria RAM e sistema operativo Windows 7 Enterprise Edition de 64 bits. Todo o software foi desenvolvido na linguagem Java, usando o Eclipse IDE1, e utilizei duas bibliotecas para
manipulac¸˜ao de imagens. A OpenCV2(Open Computer Vision) ´e uma biblioteca Open- Sourceque cont´em as funcionalidades necess´arias `a realizac¸˜ao do projecto, nomeadamente no que toca a filtros a serem aplicados nas imagens e a algoritmos de fingerprinting. A JavaCV3 funciona como complemento ao OpenCV, desenhado especificamente para a
linguagem Java, de forma a permitir o uso das suas func¸˜oes nativas.
1http://www.eclipse.org/
2http://opencv.willowgarage.com/wiki/ 3http://code.google.com/p/javacv/
Cap´ıtulo 3. Trabalho realizado 18 Adoptei esta estrat´egia de trabalhar com duas bibliotecas em paralelo para efectuar testes de desempenho e determinar a soluc¸˜ao que oferece maior rapidez de processamento, tendo a escolha final reca´ıdo sobre a biblioteca OpenCV, visto que, por ser uma adaptac¸˜ao directa do c´odigo original (escrito em C++) atrav´es do uso de wrappers Java, torna-se mais eficiente em termos de desempenho.
O sistema de gest˜ao de bases de dados que utilizei foi o MySQL4, servindo para
armazenar os dados relativos aos pontos de interesse e descritores de cada imagem, assim como a localizac¸˜ao em disco das imagens dos ve´ıculos. Estas imagens est˜ao agrupadas por pastas cujos nomes s˜ao n´umeros de matr´ıculas, e imagens da mesma matr´ıcula encontram- se na mesma pasta.
Framework modular
A escolha para o desenvolvimento da framework modular recaiu sobre a ferramenta JBPM55, uma framework de criac¸˜ao e gest˜ao de processos de neg´ocio. Dado que ´e uma
ferramenta baseada em Drools6, um sistema de regras suportado por um motor de decis˜ao, e que permite a alterac¸˜ao do fluxo de processos de uma forma muito acess´ıvel (para inserc¸˜ao de novos processos ou alterac¸˜oes espec´ıficas para um determinado cliente), pareceu uma escolha bastante interessante e adequada para futuras modificac¸˜oes na arquitectura.
A rede Bayesiana, correspondente `a camada de an´alise, foi implementada na framework atrav´es do jSMILE7, uma bibloteca de classes Java que permitiu a criac¸˜ao de modelos probabil´ısticos.
Mobile Tolling Backoffice
A interface do m´odulo de consulta e correcc¸˜ao de dados foi desenvolvida em HTML5 e CSS3, com recurso a func¸˜oes oferecidas por jQuery e Javascript. A componente de backofficefoi totalmente desenvolvida em Java, com recurso a tags JSP, e a sua arquitectura baseou-se no MVC (Model-View-Controller) da framework Struts8.
3.1.2
Organizac¸˜ao do trabalho na equipa
A equipa de trabalho foi composta por duas pessoas, sendo que uma terceira ajudou, quando necess´ario. Todo o trabalho foi supervisionado por um membro s´enior do projecto, que garantiu a execuc¸˜ao do planeamento dentro do previsto. Toda a equipa encontrava- se no mesmo escrit´orio, em ambiente informal, e a comunicac¸˜ao foi sempre efectuada pessoalmente, excepto quando algum elemento estivesse deslocado, sendo que nesse caso
4http://www.mysql.com/ 5http://www.jboss.org/jbpm/ 6http://www.jboss.org/drools/
7http://genie.sis.pitt.edu/wiki/Introduction_to_jSMILE 8http://struts.apache.org/
Cap´ıtulo 3. Trabalho realizado 19 a comunicac¸˜ao foi feita por correio electr´onico. O projecto foi documentado internamente de acordo com as normas do Accenture Delivery Method, de forma a normalizar o formato da documentac¸˜ao.
3.1.3
Processo de desenvolvimento de software
O processo de desenvolvimento que adoptei seguiu o modelo em V [1], sendo este utilizado na maioria dos projectos realizados na instituic¸˜ao de acolhimento (ver Figura 3.1). O modelo em V adopta uma estruturac¸˜ao do projecto em v´arias etapas, mas ao inv´es de seguir uma abordagem linear at´e `a fase de implementac¸˜ao, segue uma estrutura mais flex´ıvel e com v´arias iterac¸˜oes de melhoria em cada etapa. Para al´em disso, este modelo foca-se muito nos testes de software, o que permite uma correcc¸˜ao r´apida de erros.
Do ponto de vista da gest˜ao de projeto, este processo permite, em caso de anomalia, um retorno `as etapas precedentes, o que facilita o desenvolvimento de novos requisitos que possam surgir durante o projecto.
D es en vo lvim en to Test e Especificação de requisitos
Projecto de alto nível
Projecto detalhado Codificação Testes de aceitação Testes de sistema Testes de integração Testes de unidade
Cap´ıtulo 3. Trabalho realizado 20