Produtos gerados: - 2018

A REFACTORING ARCHITECTURE FOR MEASURING AND IDENTIFYING SPOTS OF DESIGN PATTERNS INSERTION IN SOURCE CODE

This work presents an architecture for detecting insertion spots of design patterns in an object-oriented source code. The proposed architecture contains a Service that implements Detection Methods (DMS) present in the literature such as identification of precursors, prolog rules and facts, among others. The DMS notifies the Metrics Service (MS) which patterns can be used. The evaluation of the application of the patterns undertaken by the MS is performed by means of quality metrics such as maintainability, flexibility, and so forth. The MS notifies the Client App (CA) of the advantages and disadvantages of using the eligible patterns. The CA interacts with the user to retrieve decisions about which changes to perform in source code according to the design pattern real benefit and notifies the Applier Service (AS), that applies the patterns in the source code. The difference between the proposed architecture and the literature is that it allows a thorough interaction with the user and it creates an extendable environment to cover several pattern detection/insertion methods. The architecture allows automated support to users engaged in the refactoring process based on design patterns.

ABORDAGEM PARA AVALIAR E DETECTAR PONTOS DE INSERÇÃO E APLICAÇÃO DE PADRÕES DE PROJETO EM CÓDIGO-FONTE

A refatoração tem a finalidade de melhorar o código-fonte em relação aos requisitos de qualidade como: manutenibilidade, flexibilidade, legibilidade, entre outros. Dentre os trabalhos encontrados na literatura voltados a refatoração de software baseada em padrões de projetos foram analisados os que abordam métodos e ferramentas. Constatou-se que estes trabalhos aplicam somente um processo de refatoração construído pelos próprios autores, as ferramentas possuem pouca ou nenhuma interação com o usuário e não existe a preocupação de se avaliar antecipadamente os benefícios de se aplicar um determinado padrão no código-fonte. Por isto, este trabalho criou uma abordagem para detecção de pontos de inserção e aplicação de padrões de projeto que reúne em um mesmo ambiente os métodos da literatura, além de fornecer informações sobre os benefícios de se usar um determinado padrão antes de sua aplicação efetiva. Estas informações são obtidas por meio de métricas de software relacionadas aos atributos de qualidade como a manutenibilidade, confiabilidade e reusabilidade. A abordagem proposta foi inicialmente avaliada aplicando cenários de testes providos pelos métodos da literatura e posteriormente foram usados cinquenta projetos open-source encontrados na web para testes. Como resultado, verificou-se que a abordagem é capaz de retornar candidatos a refatoração de mais de um método da refatoração, além de apresentar ao usuário uma avaliação do candidato a refatoração baseada em métricas e atributos de qualidade.

AN APPROACH FOR MODELING POLYGLOT PERSISTENCE

The emergence of NoSQL databases has greatly expanded database systems in both storage capacity and performance. To make use of these capabilities many systems have integrated these new data models into existing applications, making use of multiple databases at the same time, forming a concept called ”Polyglot Persistence”. However, the lack of a methodology capable of unifying the design of these integrated data models makes design a difficult task. To overcome this lack, this paper proposes a modeling methodology capable of unifying design patterns for these integrated databases, bringing an overview of the system, as well as a detailed view of each database design.

MAPEAMENTO ONTOLÓGICO PARA CLASSIFICAR MENSAGENS SIGNIFICATIVAS EM ATIVIDADES COLABORATIVAS

A colaboração permite que os indivíduos possam compartilhar objetos, informações e ideias na tomada de decisão, mas é difícil mensurar a participação de cada pessoa. As informações em um ambiente colaborativo, em sua maioria, são modeladas em diferentes pontos de vista sobre o conhecimento do contexto. Normalmente, cada sistema possui sua própria linguagem e sintaxe para a representação do conhecimento, formando uma semântica local para cada um deles o que dificulta o processamento de dados. As ontologias ajudam a resolver problemas relacionados a semântica porque são capazes de representar, compartilhar e reutilizar conhecimento em comum. Este trabalho tem a finalidade de realizar o mapeamento de interações entre os indivíduos em um ambiente de atividades colaborativas com o uso de ontologias para avaliar as mensagens significativas. A aplicação da ontologia proposta foi aplicada nas mensagens trocadas entre os participantes do Collabora, que é um ambiente de aprendizagem colaborativa para promover a colaboração entre estudantes por meio de um chat e permite a troca de mensagens, links e arquivos para a resolução de atividades. A ontologia proposta consegue identificar a partir das interações entre os participantes quais mensagens podem ser classificadas como significativas.

PROJETO DE LETRAMENTO DIGITAL INFANTIL: METODOLOGIA DE ENSINO DE INFORMÁTICA PARA CRIANÇAS COM NECESSIDADES ESPECIAIS

As ferramentas da tecnologia aliadas a prática de atividades lúdicas auxiliam no aprendizado de crianças com necessidades educacionais especiais. Este artigo relata a metodologia de ensino adotada para avaliar os conhecimentos dos com deficiência intelectual na aprendizagem de informática. A metodologia adotada para a execução do projeto apresentado neste artigo é realizada por 5 (cinco) passos que são executados de forma iterada e alguns de forma concomitante. Os critérios de avaliação são obtidos por meio de pesquisa e que estejam relacionados a área de informática. Os resultados deste trabalho foram observados do ponto de vista acadêmico quanto do ponto de vista social.

PROPOSTA DE UM MODELO USANDO AGENTES PARA REFATORAÇÃO DE SOFTWARE

A refatoração de software tem como finalidade aumentar a qualidade do projeto em relação aos atributos de reusabilidade, manutenibilidade e legibilidade. Existem métodos de refatoração que são capazes de ler um código-fonte e detectar e inserir padrões de projeto. As ferramentas automatizadas implementam somente um método de refatoração, por isto, o desenvolvedor deve executar seu projeto em várias ferramentas para conseguir detectar e inserir todos os possíveis padrões de projeto em seu código-fonte. Este trabalho propõe a modelagem de um sistema multiagentes para unificar os métodos de refatoração em um único ambiente contemplando um modelo de agente capaz de ler um código-fonte e refatorá-lo usando padrões de projeto. A metodologia Prometheus foi utilizada na criação do modelo proposto. Como resultado, é apresentado um cenário de teste no qual o modelo criado é capaz de ler um código e aplicar padrões de projeto.

REFATORAÇÃO DA CAMADA DE PERSISTÊNCIA DO FRAMEMK

O FrameMK é um framework de domínio que tem como objetivo estabelecer o preço de venda de um produto ou serviço. Como o software vem sendo desenvolvido por acadêmicos desta instituição ao longo dos anos, diferentes grupos de desenvolvedores acabam trabalhando no projeto o que pode gerar um sistema com o código de difícil entendimento, dificultando a manutenção e evolução do software. As técnicas de refatoração de software catalogadas por especialistas da área surgem como um meio de amenizar esse tipo de problema, tornando o software mais legível, flexível e de manutenção menos custosa. Para auxiliar no processo de refatoração surgem na literatura os métodos de refatoração, que são constituídos por uma sequência de passos definidos que envolvem em sua maioria, análise de projeto e aplicação de técnicas de refatoração. Na literatura existem métodos de refatoração que tratam de diferentes aspectos, podendo ser voltado para uma determinada linguagem de programação, diferentes domínios ou mesmo os que podem ser utilizados de forma geral. Este trabalho realizou um estudo de três métodos de refatoração: baseado em padrões de projeto para sistemas desenvolvidos em linguagem Java, usado de forma geral e o voltado para frameworks de domínio, que é baseado nos dois métodos citados anteriormente e foi utilizado neste trabalho. O método fundamentado em framework de domínio foi adaptado para melhor atender as necessidades encontradas durante a análise da camada de persistência do framework, visando aproveitar o processo já definido. A adaptação do método se mostrou eficiente para os objetivos deste trabalho, tendo em vista que o mesmo auxiliou na detecção de códigos com sintomas de má concepção ou implementação de escolhas, os bad smells em todas as classes da camada trabalhada. A aplicação da refatoração gerou dados quantitativos que possibilitaram analisar o impacto causado pelas técnicas aplicadas em cada uma das classes da camada de persistência do framework. Ao final do processo de refatoração foram aplicadas seis técnicas diferentes, separadas em 5 categorias distintas. As classes refatoradas apresentaram mudanças referentes a quantidade de métodos e linhas de códigos, porém, os resultados relevantes foram as melhorias implementadas na camada trabalhada, reduzindo a complexidade e aumentaram a manutenibilidade do código.

SELEÇÃO DE ATRIBUTOS USANDO A ABORDAGEM WRAPPER PARA CLASSIFICAÇÃO HIERÁRQUICA MULTIRRÓTULO

O avanço tecnológico traz como consequência um grande desafio, que é o de encontrar uma forma de armazenar e extrair conhecimento útil de uma massa de dados. Uma alternativa para esse cenário é a utilização de ferramentas da Mineração de Dados, sendo uma das técnicas empregadas, a Seleção de Atributos. A Seleção de Atributos é uma das técnicas que podem ser utilizadas para a redução de dimensionalidade de base de dados, tendo como objetivo principal identificar os atributos relevantes aumentando assim o poder preditivo do classificador. Basicamente, são três as abordagens para a Seleção de Atributos: Embutida, Filtro e Wrapper. No contexto de classificação hierárquica multirrótulo, onde as classes a serem preditas estão estruturadas de acordo com uma hierarquia, poucos trabalhos na literatura apresentam propostas de técnicas de seleção de atributos. Desse modo, neste trabalho propõe-se um novo método de seleção de atributos baseado na abordagem Wrapper para classificação hierárquica multirrótulo global. Para a realização dos experimentos são utilizados dados biológicos de 10 bases de dados da Ontologia Gênica, sendo que as classes das mesmas estão estruturadas em uma hierarquia no formato de um Grafo Acíclico Direcionado (DAG). A análise estatística demonstrou que o método proposto conseguiu encontrar um subconjunto que representa a base de dados hierárquica com uma medida de avaliação preditiva igual ou superior em todos os conjuntos de dados.

Laboratório de Engenharia de Software e Inteligência Computacional

Siga-nos