Definição dos grupos - POO2015
Preencham o grupo escolhido com as suas informações de acordo com o modelo. É permitido haver de 2 a 3 integrantes por grupo.
Abaixo, estão as sugestões de grupos com seus respectivos pacotes já presentes no repositório do GOD.
Novos temas também são bem-vindos! Para isto, envie um e-mail para diegoamc@ime.usp.br,danielpa@ime.usp.br com o tema, equipe e uma pequena justificativa, explicando o valor que ele traria ao projeto :)
Arquivos de Texto - GODTextIO
Nome, e-mail e iniciais dos Integrantes:
Evandro Fernandes Giovanini, efgiovanini@gmail.com, EFG
André Meneghelli Vale, andredalton@gmail.com, AMV
Nós iremos trabalhar no módulo GODTextIO, que converte arquivos de texto para a classe GODData e vice-versa. A implementação atual chama comandos externos Abiword e pdflatex para trabalhar com os formatos suportados atualmente. Nós vamos usar uma implementação nativa em Smalltalk ao invés de um comando externo para os formatos onde isso for possível (provavelmente PDF e RTF, pelo menos), o que deve otimizar o módulo e aumentar sua segurança. Além disso, iremos substituir o uso do Abiword, cuja última versão não mais inclui uma interface compatível com o GOD, pelo programa unoconv, que faz parte do Libreoffice, e assim é compatível com Linux/Mac/Windows, e com mais formatos de texto, como ODT, DOC e DOCX.
Planilhas - GODSpreadsheet
Gabriel Ogawa, ogawa.gabriel@gmail.com, GO
Thomas Ryu Sameshima, thomasryusameshima@gmail.com, TRS
Thiago Gomes, thi.gomes95@gmail.com, TG
Nesta porção do projeto o que já está feito é a manipulação de dados no formato de planilhas, controlando a entrada e a saída das mesmas dentro da estrutura do programa e também a sua alteração no processo caso necessário. O que pretendemos fazer é adicionar a escrita em XLSX (por enquanto esta se escrevendo em CSV e ODS), e o tratamento de caracteres especiais que tenham representações diferenciadas em arquivos xml (utilizados para exportar em ODS). Além disso, uma refatoração do código atual pode ser feita para melhorar a padronização, e os testes devem ser melhorados.
E/S Emails - GODEmail
João Henrique Luciano, jao.luciano8@gmail.com, JOHL
Daniel Jorge Renjiffo, djrenjiffo@gmail.com, DJ
Fabio Brzostek Muller, fabio.muller@usp.br, FM
Esta parte do projeto é responsável pelo envio de dados do programa e também pelo recebimento de dados dos usuários por email de forma segura (protegida). Seguindo a documentação do grupo anterior e continuando então sua metodologia, sugerimos como proposta:
- Revalidação/Melhoramento dos algoritmos de envios
- Revalidação/Melhoramento dos algoritmos de recepção
- Revalidação/Melhoramento dos testes automatizados
- Implementar envio de arquivos como anexos
- Envios de dados do programa convertidos para HTLM
Portanto, iremos implementar opções que faltam e ao mesmo tempo julgar refatorações do código que sejam relevantes para um melhor desempenho desta parte do projeto, juntamente com testes.
Redes Sociais - GODSocialNetIO
Bruno Sofiato, bruno.sofiato@gmail.com, BS
Rafael Milller, rmmillerxd@gmail.com, RM
Ronaldo Yang, ronaldo.yang@yahoo.com.br, RY
Implementação de mecanismos de agendamento de buscas do twitter, tento como critério as buscas mais realizadas durante um periodo. As informações obtidas através destas buscas serão armazenadas e após um período de inatividade excluídos do banco de dados do GOD.
Alterar o mecanismo de busca para suporte à buscas com mais de 100 tweets. Em primeira análise, poderia-se quebrar a busca em sub-buscas, cujos resultados compõem o resultado da busca original, porém questões de throttling da API devem ser consideradas.
Buscar videos de um determinado assunto e analisar números de "gostei", "não gostei", comentários, inscritos em um canal, etc.
Fazer a mineração dos comentários de videos.
O YouTube apresenta uma lista de vídeos relacionados ao vídeo que está sendo assistido. Uma possível abordagem é realizar uma mineração sequencial com estas listas de vídeos relacionados, com um limite de vídeos a serem minerados.
Melhoria na busca de usuários, eventos do facebook e principalmente em páginas de algum interesse específico. Como existem várias "comunidades" de assuntos diversos, como política e lazer, seria interessante analisarmos os dados contidos nos posts tanto dos usuários como do próprio moderador dessas páginas.
Implementar uma contagem de "curtidas" das página e de comentários. Com isso seria possível observar quais comentários se destacam em uma página e fazer comparações entre páginas de um mesmo assunto, como número de curtidas em páginas de e-commerce (Amazon, Submarino, etc.), por exemplo.
Filtros - GODFilter
Artur André Almeida de Macedo Oliveira, arturpossible@gmail.com, AA
Viviane Bonadia, vivianebonadia@gmail.com, VB
Os filtros atualmente se preocupam em buscar conteudos que começam com alguma string definida pelo usuário.
Nossa proposta consiste em permitir ao usuário fazer outros tipos de filtragem de outras duas formas:
- Por similaridade (Longest Common Subsequence)
- Por caracteres ao final
Desta forma a busca pode retornar resultados parecidos os quais podem auxiliar outros processos que se baseiam em palavras chaves.
Além disto também iremos implementar as seguintes sugestões do grupo anterior:
- Uso de expressões regulares.
- Filtro completo: Criar um método de filtro da classe FILTMainFilter que receberia como parâmetro uma coleção de GODData e uma lista de Strings e retornaria todas as coleções de GODData que contém alguma das Strings em qualquer um dos seus atributos. Ou seja, o filtro buscaria em 'content', 'tags', 'title' e 'origin' ao mesmo tempo, sem precisar especificar em qual campo buscar.
Processadores - GODProcessors
Interface Web - GODWeb
Joelma Cristina Costa e Silva , joelmacscosta@gmail.com, JCCS
Eric Kenji Yoshikawa, erickenji@hotmail.com, EKY
Eric Lee, ericghlee@hotmail.com, EL
A interface web é importante porque ela apresenta o sistema ao usuário e pode ser o ponto decisivo entre a aceitação ou rejeição de um sistema.
Todo sistema que exige uma interação direta com o usuário, deve possuir uma interface amigável, pois, para o usuário, pouco importa a complexidade do sistema, o que importa é o que ele enxerga e o que ele pode fazer com o sistema.
O projetista da interface web também atua como um "usuário teste" pois se o sistema não está correto, isso reflete diretamente nas funcionalidades exibidas, assim ele acaba validando cada etapa no processo de desenvolvimento.
Uma boa interface web é compacta, tem como função principal conduzir corretamente o usuário, evitando ao máximo ações equivocadas ou acidentais e além disso, cada funcionalidade do sistema deve ser disposta de acordo com sua pertinência e relevância.
Iremos implementar os seguintes itens:
- Criar classes para tags html que ainda não tenham sido criadas.
- Receber CSSs específicos para cada aplicação: Permite personalizar cada aplicação.
Além disso, também vamos implementar as melhorias e modificações que os outros grupos forem fazendo ao longo do projeto. Para isso, devemos estar a par das mudanças feitas pelos grupos e quais deles exigem modificações diretas na Interface Web.
Gráficos - GODGraphGenerator
Glaucio Alves de Oliveira, glaucioaorj@gmail.com, GAO
Gabriel Eiji Nomura, gabriel.nomura@gmail.com, GN
Vinicius Nascimento Silva, vinicius.silva@pandora.com.br, VNS
Foi verificado o diagrama de Classes do equipe passada e expeditamente os seus diversos arquivos pertencentes ao repositorio.Inicialmente, contatou-se algumas sugestoes do grupo que desenvolveu este modulo no ano de 2014, ou seja, estudo e implementacoes direcionadas para a geracao de graficos tipo Pizza (Pie), a utilizacao de um pacote de geracao de grafico para melhorar a qualidade visual e, salvar os graficos como byteArray no Squeak, utilizando a classe WAFileLibrary do Seaside. De qualquer forma, o atual grupo podera' verificar a possibilidade de implementar outros tipos de graficos pois, por exemplo, tanto o programa Excell do pacote Office quanto o seu correspondente do LibreOffice oferecem a possibilidade de geracao de varios tipos de graficos para um usuario comum. Assim, a razao desta pretencao e' enriquecer ou fornecer mais opcoes de visualizacoes graficas de dados. No que se refere a possivel melhoria da qualidade visual por meio de um pacote, o grupo vislumbra a possibilidade de aperfeicoar metodos de manipulacao de fontes e cores durante o processo de geracao grafica.
Banco de Dados - GODBases
Caio Bos Loureiro, caiobos@gmail.com, CB
Ademar Oliveira, ademar111190@gmail.com, AO
Bruno Tenório, bruno.tenorio1@gmail.com, BT
O nosso grupo se propõe a abstrair a implementação do GODBases realizada pelo grupo de 2014 de maneira à permitir a migração para outros bancos de dados tais como MySQL, PostgreSQL, etc.
Nosso grupo também analisou que na atual implementação há oportunidade de melhoria de código que iremos realizar através de refatoração, inclusive adicionando testes em partes do código onde não há teste atualmente de maneira a melhorar a coerência do GODBases.
Todos os grupos do GOD que precisarem manipular informação em memoria secundaria.
Análise de Sentimento para Consumo - GODSentimentAnalysis
Anderson Meirelles Freitas, anderson.amf@gmail.com, AMF
Maciel Calebe Vidal, macielcalebe@gmail.com, MCV
A proposta de trabalho no projeto GOD consiste em alterar o módulo de análise de sentimento, primeiro, para incorporar algoritmos mais elaborados visando melhorar a qualidade da análise. Conforme observado no código fonte do GODSentimentAnalysis, a classificação do texto é feita de forma simples, utilizando apenas palavras atribuídas manualmente a um peso, sem considerar o contexto da frase ou uma base de treinamento específica. Além disso, a apresentação dos resultados também pode ser aprimorada, com diferentes formas de gráficos e leiaute mais amigável.
Preparar uma base de treinamento a partir de dados coletados dentro do próprio GOD
Implementar algoritmos de classificação (a definir – apresentar revisão bibliográfica)
Desenvolvimento guiado por testes SUnit para garantir o funcionamento
Validar soluções propostas
Documentação para turma futura.
Análise de Sentimento Político - GODSentimentAnalysis
Karyn Silva de Azevedo karyn.saz@gmail.com KSA
Felipe Duarte Rios felipedrios2@gmail.com FDR
Agregador de informações acadêmicas - GODAcademics
António Castro Júnior, to.junior.25@gmail.com, ACJ
António Martins Miranda, amartmiranda@gmail.com, AMM
Pedro Bruel, pedro.bruel@gmail.com, PB
Nossos objetivos são continuar o desenvolvimento das funcionalidades do GODAcademics, que já incluem análises de perfis no GoogleScholar e de periódicos no CAPES-Qualis. A ideia é que esse módulo possa obter informações de currículos de pesquisadores na Plataforma Lattes, e realizar análises de, por exemplo, publicações, áreas de interesse e orientações.
Dada a ubiquidade da Plataforma Lattes entre os pesquisadores e instituições brasileiras, essas análises teriam o potencial de permitir realizar observações sobre as relações de pesquisa entre pesquisadores, grupos e universidades, sobre a concentração e distribuição de áreas e subáreas de pesquisa por região geográfica ou universidade, e sobre a evolução temporal da pesquisa no Brasil.
Tendo em conta a seção de sugestões e requisitos não implementados no GODAcademics, decidimos substituir o método de busca por journals atual, por um método de busca fuzzy, por exemplo, "plos comp biology"seria encontrado como "plos computational biology".
GOD's Call - GODCall
Eduardo Felipe Zambom Santana, ezambomsantana@gmail.com, EFZS
Marcelo Hiroshi Noguti, marcelonoguti@gmail.com, MHN
Thiago D'Martin Maia, tdmaia@ecomp.uefs.br, TDM
Esse módulo do GOD é responsável por coletar informações de conferências e organizá-las de maneira a auxiliar o usuário a decidir de qual conferência participar.
Pela documentação, atualmente o módulo é capaz de capturar os dados de algumas fontes e sugerir algumas conferências.
Pretendemos aumentar as fontes das quais o GODCall é capaz de recuperar dados e nas quais implementar filtros. Assim, o usuário poderá obter uma lista mais refinada de conferências futuras ou abertas e até um histórico de conferências do seu interesse que já se encerraram.
Outra pretensão é uma funcionalidade nova em que o usuário salva o seu email e a busca que fez, e o GODCall periodicamente envia os resultados atualizados da busca, por email, para esse usuário.
Por fim, e seguindo o que o grupo do ano passado sugeriu, talvez possa ser implementada a busca por certas informações típicas da cidade onde ocorrerá um evento, tais como o clima, hotéis, restaurantes, demais pontos turísticos etc.