You are on page 1of 17

UFAL-PROPEP CNPq UNIVERSIDADE FEDERAL DE ALAGOAS PR-REITORIA DE PS-GRADUAO E PESQUISA NCLEO DE INOVAO TECNOLOGICA

PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAO EM DESENVOLVIMENTO TECNOLGICO E INOVAO

PIBITI - 2011 2012


CNPq UFAL PROJETO DE DESENVOLVIMENTO TECNOLGICO E EXTENSO INOVADORA-RELATRIO FINAL

TTULO DO PROJETO:

ORIENTADOR RESPONSVEL: BOLSISTA 1 BOLSISTA 2 OUTROS PESQUISADORES ENVOLVIDOS

SOFTWARE DE TOMAR DECISO FINANCEIRA BASEADA EM RECOMENDAO HUMANA IG IBERT BITTENCOURT SANTANA PINTO Francisco Dalton Barbosa Dias Paulo Victor Vieira de Melo Ibsen Mateus Bittencourt Santana Pinto

DATA DE INCIO:

01/09/2011

DATA DA CONCLUSO:

31/08/2012

ORIENTADOR(A) LDER DO PROJETO: UNIDADE ACADMICA LOCAL DE EXECUO (Laboratrio) FONTES DE FINANCIAMENTO GRANDE REA DO CONHECIMENTO (CNPq): REA DO CONHECIMENTO (CNPq): SUBREA DO CONHECIMENTO (CNPq): ESPECIALIDADE DO CONHECIMENTO (CNPq): NOME DO GRUPO DE PESQUISA REGISTRADO NO CNPq

IG IBERT BITTENCOURT SANTANA PINTO INSTITUTO DE COMPUTAO NESS CNPq Cincias Exatas e da Terra Cincia da Computao Sistemas de computao Arquitetura de sistemas de computao NESS

Este trabalho pode gerar uma patente ou registro de software? Este trabalho necessita de

Sim ( x )

No ( )

apresentao reservada?

Sim ( )

No ( x )

RESUMO (mx 1 pgina arial 12)

Com a premissa de tentar inserir na populao brasileira uma cultura voltada para investimentos, foi planejada e posta em execuo a construo de um software capaz de auxiliar um usurio, completamente leigo, a determinar e manter planejamentos financeiros que iro ser benficos para suas finanas pessoais. Teve como foco principal fazer com que o usurio liste possveis metas que queira realizar futuramente, para que atravs desses dados o software busque lev-lo a enxergar os benefcios advindos de uma boa estruturao financeira, atrelados a realizao de investimentos provenientes de aplicaes na poupana ou em fundos de renda fixa, seriam exemplos. O usurio guiado pelo sistema de gerenciamento financeiro. Esse gerenciador financeiro tem como foco principal acompanhar intimamente as finanas do usurio. Assim, o usurio ser aconselhado automaticamente pelo software quando o sistema avaliar como necessrio, por exemplo, em que for detectado casos de excessos de despesas em reas que no so tidas como prioridades (diverso, roupas, sapatos etc). Atravs desse aconselhamento, o usurio ser levado a transformar o dinheiro desperdiado em forma de obteno de lucro futuro, atravs de pequenas aplicaes que coincidam com sua capacidade financeira, identificada atravs de dados fornecidos pelo usurio e/ou previses do sistema.

OBJETIVOS DO PRODUTO OU SERVIO TECNOLGICO OU DA EXTENSO INOVADORA PROPOSTA (mx 10 linhas arial 12)

O principal objetivo para o desenvolvimento do software em questo a tentativa de ajudar o usurio leigo em suas finanas e facilitar a insero dele no mercado de fundos de investimento. Aps ter respondido a uma serie de questionrios, o software capaz de indicar qual categoria de fundos mais adequada ao perfil do usurio e em seguida encaminh-lo para a realizao de uma real aplicao financeira. Logo em seguida, o software realiza um acompanhamento passo-apasso do usurio, possibilitando que ele gerencie suas finanas de forma detalhada e simples, com a apresentao de relatrios indicando excessos em suas despesas bem como possveis solues para transformar o que antes era desperdcio em lucro.

METODOLOGIA (mx 2 pginas arial 12) O desenvolvimento do software feito atravs de aplicao de metodologias geis de desenvolvimento de software. Como dito por SOMMERVILLE (2011), Abordagens geis de desenvolvimento de sof tware consideram o projeto e a implementao como atividades centrais no processo de software. A partir da utilizao dessas metodologias possvel ter o rpido desenvolvimento de um sistema.

Figura 1

A quantidade de etapas no desenvolvimento simplificada para torna-lo mais dinmico, proporcionando rpida tomada de decises. Tendo avaliado diversas arquiteturas de software, foi definido um padro arquitetural a ser seguido no software. Esse padro o Model-View-Controller (MVC). O MVC um padro de arquitetura de software que permite a diviso de um sistema em camadas (BASTOS, 2011) aumentando, desta maneira, a produtividade e a confiabilidade relacionada ao desenvolvimento do software. A utilizao desse padro torna o software dividido em camadas que so feitas de forma isolada, ou seja, a modificao de uma camada no compromete as funcionalidades da outra, permitindo maior liberdade e facilidade em relao adio de novos recursos e manuteno de software, alm de proporcionar uma maior integrao entre os membros da equipe de desenvolvimento. Em seguida, deu-se incio ao estudo referente s funcionalidades do software. Tcnicas de engenharia de requisitos foram empregadas para identificar quais funcionalidades inicialmente seriam includas no software. SOMERVILLE (2011) aborda a seguinte definio:
Os requisitos de um sistema so as descries do que o sistema deve fazer, os servios que oferece e as restries a seu

funcionamento. Esses requisitos refletem as necessidades dos clientes para um sistema que serve a uma finalidade determinada. O processo de descobrir, analisar, documentar e verificar esses servios e restries chamado Engenharia de requisitos.

A partir das informaes coletadas, foi possvel modelar o sistema com a criao de diversos tipos de diagramas, dentre os quais podemos citar o diagrama de casos de uso1, que, de uma forma simples, capaz de transmitir a informao necessria sobre as funcionalidades do software. Com isso foi possvel obter uma viso mais abrangente do escopo do software, facilitando a deciso de como projetar e elaborar de forma mais eficiente o projeto. A engenharia de software baseada em componentes foi escolhida para a implementao das funcionalidades do software. Pois como dito em SOMERVILLE (2011) :
1. Componentes so independentes, ento eles no interferem na operao uns dos outros. Detalhes de implementao so ocultados. Implementao dos componentes pode ser alterada sem afetar o restante do sistema. 2. Os componentes comunicam-se por meio de interfaces bem definidas. Se essas interfaces forem mantidas, um componente poder ser substitudo por outro, que fornea funcionalidade adicional ou aumentada. 3. As infraestruturas dos componentes oferecem uma gama de serviospadro que podem ser usados em sistemas de aplicaes, o que reduz a quantidade de cdigos novos a serem desenvolvidos.

Dessa forma, criou-se um sistema robusto e ao mesmo tempo flexvel, permitindo que alteraes de qualquer natureza sejam facilmente aplicadas, testadas e postas em execuo.

UFCG. Casos de Uso. Disponvel em <http://www.dsc.ufcg.edu.br/~sampaio/cursos/2007.1/Graduacao/SIII/Uml/diagramas/usecases/usecases. html>. Acesso em 12 de Agosto. 2011.

DESCRIO DO PRODUTO/PROCESSO OU EQUIVALENTE DESENVOLVIDO (mx 1 pgina arial 12)

O software em desenvolvimento a representao digital de um analista financeiro em que o usurio capaz de traar objetivos (ex: casa, casamento etc) em um perodo de trinta anos subsequentes.

TimeLine dos sonhos Imagem do software desenvolvido

Atravs de coleta de dados relacionados ao perfil do usurio, e profunda anlise destes, o software realiza simulaes visando definir a melhor forma de ajudar o usurio a conseguir realizar seus objetivos da forma como fora definido. Aps as baterias de simulaes, a melhor estratgia definida pelas simulaes apresentada ao usurio, que logo em seguida indicado a se dirigir a alguma instituio capaz de realizar realmente as transaes definidas pelo software. O acompanhamento ao usurio realizado durante todo o processo, do investimento at a concluso do objetivo do usurio. Um gerenciador financeiro foi desenvolvido especificamente para acompanhar o usurio durante toda a jornada at a conquista de seu objetivo. Tal gerenciador financeiro capaz de indicar em quais categorias de despesas (ex: diverso, transporte, etc) o usurio poderia ter melhor aproveitamento de suas finanas e dar solues para que ele possa de fato se conscientizar e passe a utilizar melhor seu dinheiro. Transformando o que antes era desperdcio em formas de aumentar sua receita.

ASPECTOS COMERCIAIS/MERCADO QUE CARACTERIZAM O DESENVOLVIMENTO TECNOLGICO OU EXTENSO INOVADORA DO PRODUTO OU PROCESSO (mx 10 linhas arial 12) Um software capaz de indicar formas de investimento de um modo extremamente particular buscando coincidir perfeitamente com o perfil do usurio nunca foi desenvolvido, o que torna esse projeto um grande desafio e bastante inovador. O desenvolvimento da ferramenta proporciona que qualquer pessoa possa realizar investimentos sem sair de uma zona de segurana compatvel com seu perfil, visto que cada pessoa possui um perfil de investidor nico. O software busca selecionar quais formas de investimento melhor se adequam a cada usurio de uma forma nica, alm de realizar um acompanhamento detalhado das finanas do usurio e de aconselh-lo, quando necessrio, sobre como tornar sua situao financeira melhor. FORMAS DE DIFUSO DO PRODUTO/SERVIO, APS PLENO DESENVOLVIMENTO (mx 10 linhas arial 12) A difuso ser dada principalmente atravs do boca-a-boca, pela utilizao de redes sociais como facebook e twitter. Em menor parte, existir a iniciativa de tentar parcerias com sites e blogs especializados na rea financeira.

IMPACTOS ALCANADOS OU ESPERADOS PARA A UNIVERSIDADE (mx 10 linhas arial 12)

A insero dos prprios alunos da Universidade ao conhecimento das vantagens advindas de uma boa estruturao financeira e de possuir investimentos, mesmo que de pequeno porte, visando projetos pessoais a serem realizados e, dessa forma, criando a cultura nesses alunos de que investir e possuir um bom planejamento financeiro essencial para uma velhice segura e confortvel, bem como para o desenvolvimento do pas .

IMPACTOS ALCANADOS OU ESPERADOS PARA A REGIO/ESTADO (mx 4 linhas cada arial 12) Aumento expressivo de investidores iniciantes aps a divulgao do projeto. Criao de uma cultura voltada ao planejamento e investimento ao invs de uma viso apenas de parcelamentos, como acontece atualmente. Maior conscientizao da populao sobre os impactos negativos de uma m administrao financeira.

DESTAQUES E IMPORTNCIA DA(S) COTA(S) DE BOLSA/PARTICIPAO DO(S) BOLSISTA(S) NO DESENVOLVIMENTO DO PRODUTO/PROCESSO (mx 10 linhas arial 12)

Graas s bolsas, possvel manter o estudante focado, sem ter a necessidade de buscar outras formas de rendimento para poder se manter no projeto, visto que a alimentao e transporte so de grande impacto financeiro para um estudante, tendo ainda a necessidade da aquisio de livros para o estudo, tanto voltado ao projeto, quanto voltado ao desenvolvimento acadmico. Ainda que o valor destinado ao estudante seja baixo, ele proporciona uma boa ajuda e incentivo para o estudante continuar o desenvolvimento do projeto de forma eficiente e com qualidade. PREVISO DE PARTICIPAO DOS PESQUISADORES E BOLSISTAS ENVOLVIDOS NO PROJETO NOS GANHOS ECONMICOS RESULTANTES DA EXPLORAO DA TECNOLOGIA/CONHECIMENTO GERADOS (mx 10 linhas arial 12)

A definir.

DIFICULDADES ENFRENTADAS NO DESENVOLVIMENTO DO PROJETO (mx 15 linhas arial 12)

Algoritmos envolvidos na anlise de perfil do usurio como a determinao de fundos a serem investidos, avaliao e planejamento futuro, sistemas de recomendao, entre outros, possuem um alto nvel de complexidade. Tornar as previses realizadas por esses algoritmos

condizentes com a realidade so verdadeiros desafios. Contudo, relatrios gerados pelos algoritmos so constantemente avaliados por especialistas, que contribuem para o aprimoramento e desenvolvimento das tcnicas a serem empregadas. Outra dificuldade se deve s propores que o projeto tomou e pouca quantidade de estudantes envolvidos, o que acabou por sobrecarregar os estudantes com uma quantidade relativamente grande de atividades.

REVISO PATENTRIA OU BIBLIOGRFICA (mx 2 PGINAS arial 12)

BASTOS, Daniel Flores. O que Model View-Controller (MVC)? 2011. Disponvel em: <http://www.oficinadanet.com.br/artigo/desenvolvimento/o_que_e_model-viewcontroller_mvc> Acesso em: 9 de agosto. 2012. SOMMERVILLE, Ian. Engenharia de software. 9 Edio, So Paulo: Pearson Prentice Hall, 2011 SHAW, Mary; GARLAN, David. Software Architecture: Perspectives on an emerging discipline. 1 Edio, New Jersey: Prentice Hall, 1996. UFCG. Casos de Uso. Disponvel <http://www.dsc.ufcg.edu.br/~sampaio/cursos/2007.1/Graduacao/SIII/Uml/diagramas/usecases/usecases.html> Acesso em 12 de Agosto. 2011 Oracle. Enterprise JavaBeans Technology. Disponvel em <http://www.oracle.com/technetwork/java/index-jsp-140203.html> Acesso em 05 de Maro. 2012.

em:

CRONOGRAMA/PLANO DE TRABALHO DO ESTUDANTE DA COTA 01 NOME DO BOLSISTA: FRANCISCO DALTON BARBOSA DIAS TTULO DO PLANO DE ATIVIDADES: SISTEMA DE RECOMENDAO

Meses ATIVIDADES 2011 x x x x x x x x x x x x x x x 2012 AGO x x x x x x x x

SET OUT NOV DEZ JAN FEV MAR ABR MAI JUN JUL

Projeto Implementao Estudo de Algoritmos de compresso

RELATRIO DAS ATIVIDADES ESPECFICAS DO BOLSISTA 1 (MXIMO 2 PGINAS)

As atividades tiveram incio com a elaborao dos requisitos do sistema, desenvolvimento de diversos diagramas necessrios para documentar e facilitar a evoluo do projeto, seguido pelo esboo da arquitetura a ser utilizada no desenvolvimento do software. Aps avaliao e anlise do software a ser desenvolvido e as vantagens advindas das mais diversas arquiteturas, se deu a escolha pela juno da arquitetura Model-View-Controller (MVC), que se trata de um padro de uso bastante comum em desenvolvimento de softwares dos mais variados portes, como a arquitetura cliente-servidor, em que o cliente seria criado assumindo a forma de um site da web, visto as vantagens e facilidades de acessibilidade provindas dessa forma de acesso. O desenvolvimento prosseguiu mantendo sempre o aperfeioamento da arquitetura e dos requisitos. Na implementao foi definido que seria utilizado a arquitetura de componente EJB,
Enterprise Java Beans uma tecnologia server-side para a plataforma Java Enterprise Edition. A tecnologia EJB habilita o rpido e simples desenvolvimento de distribudas, transacional, segura, e portveis aplicaes baseadas na tecnologia Java. 2.

Dessa forma est sendo possvel desenvolver um software com as melhores qualidades de produtos de grandes empresas de forma simples, rpida e robusta. Aps o desenvolvimento do projeto server-side ter chegado a um estagio avanado, foram realizados testes unitrios e de integrao, visando encontrar falhas e deficincias do software. Ao final da bateria de testes, o foco principal tornou-se desenvolver o lado cliente (site web), entretanto, sem parar o continuo aperfeioamento e desenvolvimento do server-side. O desenvolvimento do software torna imprescindvel a constante atualizao e estudo por parte do desenvolvedor. Apenas para o

desenvolvimento do lado cliente da aplicao (site da web) foi necessrio o


2

Oracle. Enterprise JavaBeans Technology. Disponvel em <http://www.oracle.com/technetwork/java/index-jsp-140203.html> Acesso em 05 de Maro. 2012.

aprendizado de diversas tecnologias para suprir diferentes necessidades, entre algumas dessas tecnologias podem ser citadas como exemplos: PHP, JavaScript, JQuery, HTML 5, CSS, Ajax, XML, Json. O site desenvolvido para ser o lado cliente da aplicao conta com recursos de interao com usurio de ultima gerao, apresentando e processando informaes sempre de um modo bastante dinmico.

Gerenciador financeiro Imagem do software desenvolvido

grande

quantidade

de

tecnologias

necessrias

para

desenvolvimento completo da aplicao, tanto server-side, quanto cliente, tornam o projeto um verdadeiro desafio, visto que a quantidade de envolvidos bastante reduzida para o total de tarefas. Entretanto a aplicao se encontra em estgio bastante avanado, necessitando apenas de refinamentos para que uma verso final seja lanada ao pblico.

CRONOGRAMA/PLANO DE TRABALHO DO ESTUDANTE DA COTA 02 NOME DO BOLSISTA: PAULO VICTOR VIEIRA DE MELO TTULO DO PLANO DE ATIVIDADES: INTELIGNCIA ARTIFICIAL Meses ATIVIDADES
Estudo de algoritmos de compresso Projeto Implementao

2011

2012 AGO

SET OUT NOV DEZ JAN FEV MAR ABR MAI JUN JUL

x x x x x x x x x x x x x x x x x x x x x x x

RELATRIO DAS ATIVIDADES ESPECFICAS DO BOLSISTA 2 (MXIMO 2 PGINAS)

No incio do projeto houve intensos estudos focando a parte terica da implementao do software. Tcnicas de desenvolvimento e metodologias de soluo de problemas foram estudadas, e esto sendo colocadas em prtica no momento, em especial a Inteligncia Artificial. A Inteligncia Artificial (IA) uma rea de pesquisa da cincia da computao e Engenharia da Computao dedicada a buscar mtodos ou dispositivos computacionais que possuam ou multipliquem a capacidade racional do ser humano de resolver problemas, pensar ou, de forma ampla, ser inteligente. Tambm pode ser definida como o ramo da cincia da computao que se ocupa do comportamento inteligente, ou ainda, o estudo de como fazer os computadores realizarem coisas que, atualmente, os humanos fazem melhor. Tamanho estudo justifica-se, pois o problema a ser solucionado no trivial; no existe soluo parecida no mercado nem concepes as quais podemos derivar. O estudo de algoritmos de Inteligncia Artificial pode ser uma tarefa complicada. Existem muitos algoritmos que solucionam os mais diversos tipos de problemas, e a onde est o principal: classificar o problema. Depois de muito estudo, foi possvel classificar o problema e depois disso, definir um algoritmo para solucion-lo ficou mais simples, mas no menos trivial. Com o algoritmo definido, deu-se incio a fase de projeto, onde surgiram as adaptaes necessrias aos algoritmos para mold-lo ao nosso problema. Esta uma etapa relativamente fcil, porm no menos importante, uma vez que um erro nessa etapa pe em risco o restante do projeto. Usamos, entre outros algoritmos, um algoritmo de busca em rvore de deciso. Uma rvore de deciso uma maneira de expressar quais conjuntos de condies que so

necessrias

para

dada

ao

ocorrer.

rvore de deciso

Acima est o diagrama de uma das vrias rvores de deciso desenvolvidas para ser utilizadas em conjunto com os algoritmos de Inteligncia Artificial. Dessa forma, podemos apresentar uma deciso bastante precisa, independente do perfil apresentado por cada usurio.

You might also like