MPES - Mestrado Profissional em Engenharia de Software

URI Permanente para esta coleçãohttps://repositorio.ufrn.br/handle/123456789/20951

Navegar

Submissões Recentes

Agora exibindo 1 - 20 de 38
  • Dissertação
    Uma plataforma distribuída de mineração de dados para big data: um estudo de caso aplicado à Secretaria de Tributação do Rio Grande do Norte
    (2018-12-07) Santos, Diego Soares dos; Xavier Júnior, João Carlos; Campos, André Mauricio Cunha; ; ; ; Madeira, Charles Andrye Galvão; ; Signoretti, Alberto;
    O volume de dados armazenados e acessados diariamente vem crescendo em escala geométrica. Todos os dias são gerados cerca de 2,5 bilhões de gigabytes. Além disso, 90% dos dados no mundo foram produzidos nos últimos dois anos. Muitos termos têm sido utilizados para descrever esse volume gigante de dados armazenados de forma estruturada ou não. Big Data é um desses termos. Para muitos pesquisadores, Big Data é o fenômeno em que os dados são produzidos em vários formatos e armazenados por uma grande quantidade de dispositivos e equipamentos. Muito também tem sido feito para oferecer ferramentas e frameworks de código aberto que possam lidar ou oferecer funcionalidades capazes de manipular e minerar esse enorme volume de dados. Contudo, como a natureza dos dados é bastante diversa, escolher ou desenvolver ferramentas para lidar com esses dados se torna um problema nada trivial. Além disso, poucas ferramentas conseguem extrair conhecimento dos dados. Isso torna a tarefa de manipulação de dados difícil, principalmente devido às características muito específicas, tais como a descrição de um produto, que é totalmente flexível e sem validação. Por essa razão, em certos domínios de problema, é necessário aplicar técnicas de mineração de dados em atributos textuais para extrair valores padronizados. O objetivo principal deste trabalho é propor uma plataforma distribuída de mineração de dados para a Secretaria de Tributação do Rio Grande do Norte, que possa extrair conhecimento de maneira variada, considerando as características específicas das notas fiscais eletrônicas (NFC-e’s).
  • Dissertação
    PlayEduc: um framework conceitual para desenvolvimento de jogos educacionais digitais
    (2018-12-21) Barbosa, Jorge Felliphe Rodrigues; Madeira, Charles Andrye Galvão; ; ; Campos, André Mauricio Cunha; ; Aranha, Eduardo Henrique da Silva; ; Alves, Lynn Rosalina Gama;
    Pesquisas apontam que quase metade dos jovens que estão fora da escola no Brasil se encontram nesta situação por falta de interesse e motivação. Assim, o país tem como grande desafio a criação de condições para que a escola se modernize e volte a cativar os jovens. Atentos a esta problemática da necessidade de renovação do sistema de ensino, muitos educadores estão buscando colocar em prática a utilização de metodologias e instrumentos de apoio à aprendizagem mais contemporâneos, sendo os jogos educacionais digitais um deles. No entanto, muitos desses jogos não têm se mostrado eficientes, tanto no quesito pedagógico quanto em jogabilidade, resumindo-se em atividades de fixação de conteúdo meramente apresentadas de forma digital. A essa problemática adiciona-se a escassez de metodologias de desenvolvimento especializadas para quem deseja construir o seu próprio jogo educacional digital. Diante desta realidade, apresentamos o PlayEduc, um framework conceitual fundamentado nas áreas da psicologia, pedagogia e design, idealizado para apoiar processos de desenvolvimento de jogos educacionais digitais. Utilizando elementos essenciais de cada uma dessas áreas, o framework guia o usuário no processo de construção de soluções mais eficazes: jogos que aliem o entretenimento com o design instrucional. A validação do framework PlayEduc foi efetuada nos seguintes cenários: (1) na concepção de jogos educacionais digitais e (2) na produção de quests educacionais para jogos do gênero MMORPG (Massively multiplayer online role-playing game).
  • Dissertação
    Avaliação arquitetural do Sistema SUAP: uma análise sistematizada sobre desempenho
    (2018-12-07) Casadei, Tarso Latorraca; Silva, Carlos Eduardo da; ; ; Almeida, André Gustavo Duarte de; ; Barbosa, Eiji Adachi Medeiros;
    Sistemas de informação têm se tornado cada vez mais robustos, trabalhando com altos volumes de dados, objetos e, consequentemente, processos. No contexto do Instituto Federal do Rio Grande do Norte (IFRN), foi desenvolvido um sistema próprio para atender a todas as atividades administrativas e acadêmicas da instituição: o SUAP, Sistema Unificado de Administração Pública. Ao longo de 11 anos, a aplicação evoluiu de apenas um módulo para mais de 40, além do crescimento vertiginoso de usuários – que hoje permeia o número de 35 mil. Esses aspectos muitas vezes impactam diretamente no desempenho de sistemas, levando os arquitetos de software a buscarem alternativas para melhor escalar suas aplicações. No caso do IFRN, mesmo após altos investimentos realizados em infraestrutura, os problemas de desempenho do SUAP persistem. Buscando um melhor aproveitamento da estrutura de hardware disponível, faz-se necessário compreender as razões destes problemas de desempenho, a fim de que estes recursos computacionais sejam utilizados de forma dinâmica e crescente, geridos de forma mais eficiente e capazes de suportar cargas excedentes sem prejuízo de desempenho da aplicação. Surge, assim, a necessidade de se avaliar aspectos mais abrangentes da arquitetura atual da aplicação, para que possam ser conhecidos elementos que prejudiquem seu desempenho. Este trabalho tem o objetivo de realizar uma análise sistematizada de desempenho do SUAP através da aplicação do método de avaliação arquitetural ATAM (Architecture Trade-off Analysis Method) e da execução de um conjunto de testes de desempenho que possibilitem a identificação de seus principais pontos de lentidão. Com isso, espera-se contribuir para a definição de uma estratégia para testes de desempenho que possam ser incorporados ao processo de desenvolvimento do SUAP.
  • Dissertação
    Derivação e implantação semiautomática de produtos de software no contexto da Secretaria de Estado da Agricultura, da Pecuária e da Pesca do RN
    (2019-01-31) Canuto, Jackson Meires Dantas; Lopes, Frederico Araújo da Silva; Kulesza, Uira; ; ; ; Barbosa, Eiji Adachi Medeiros; ; Cirilo, Elder;
    A engenharia de Linhas de Produto de Software (LPS), possui em uma de suas áreas a derivação de produtos, que utiliza a estratégia de implementação de produtos a partir de uma determinada seleção de features. Os seus artefatos desenvolvidos, podem ter sido gerados ou compostos durante a etapa de implementação do domínio. Apesar de sua importância, a atividade de derivação de produtos continua sendo cara e propensa a erros, que ainda é difícil de automatizar e ter suporte por meio de ferramentas. Além disso, poucos trabalhos têm sido dedicados ao processo de derivação de produtos e a aplicação de estratégias no contexto prático. Há uma falta de relatórios empíricos descrevendo a derivação de produtos em ambientes industriais e, em geral. Este trabalho de dissertação de mestrado, propõe a sistematização do processo de distribuição e implantação de sistemas em aplicações Web clonadas, através da derivação semiautomática de produtos de softwares existentes, refatorados para uma LPS. Bem como a utilização do apoio ferramental para realizar a implantação de uma instância do sistema configurado, fazendo com que o produto de software fique disponível e pronto para uso em um servidor. Além disso, foi realizado um estudo empírico para analisar quantitativamente o processo de derivação de produtos, antes e depois da utilização desta abordagem com e sem o apoio ferramental. Esta abordagem especifica um conjunto de atividades sistemáticas e bem definidas, que auxiliam aos analistas de sistemas e programadores a derivarem os produtos que foram refatorados para LPS, a partir de sistemas existentes. Através do uso desta abordagem com o apoio ferramental, será possível gerenciar os produtos e suas features, deixando-os preparados para serem produtos configuráveis de forma semiautomática, e prontos para serem derivados e implantados. O estudo realizado, fornece informações acerca dos conceitos e ações explorados na literatura, tais como: derivação de produtos de software, implantação de software, clonagem de LPS, reengenharia de software para LPS, refatoração de LPS e geração de códigos-fonte. Profissionais podem utilizar este trabalho como base para definir, adaptar ou avaliar suas próprias abordagens de derivação com implantação de produtos. Enquanto os pesquisadores podem usar este trabalho como ponto de partida para novos relatórios industriais, apresentando suas experiências com a derivação de produtos. Os resultados obtidos neste estudo mostraram que ao usar a abordagem proposta, foi possível contribuir com a derivação e implantação de produtos de software de forma mais ágil, produtiva e satisfatória. Mesmo em situações em que o usuário tenha poucas experiências com derivação e implantação de softwares, as ações realizadas para tal, ocorrerão em menos tempo e com uma boa corretude durante este processo.
  • Dissertação
    SmartNode Dashboard: um framework front-end baseado em NodeRED para criação de City Dashboards
    (2019-01-28) Dias, Cesimar Xavier de Souza; Lopes, Frederico Araújo da Silva; Leite, Jair Cavalcanti; ; ; ; Almeida, André Gustavo Duarte de; ; Silva, Gustavo Girão Barreto da;
    Atualmente diversas cidades têm se envolvido com pesquisas no intuito de fomentar a criação de soluções que dispõe os dados e informações à população, são os chamados City Dashboards. Estes projetos possibilitam aos cidadãos acompanhar os acontecimentos da cidade em tempo real, possibilitando a essas pessoas planejarem suas rotinas baseado no conhecimento gerado sobre o seu contexto local. Mesmo com o número crescente de projetos sendo desenvolvidos com essa finalidade, não há, ainda, trabalhos que sejam voltados a criar estruturas reaproveitáveis ou metodologias que utilizem outros produtos de softwares de código aberto com vistas à padronização de produção de dashboards. Diante disso, esse trabalho se propôs em criar um framework utilizando o Bootstrap. O framework teve a intenção de implementar padrões de projetos e de interface web, focados em conteúdos com estruturas reaproveitáveis, utilizando o Node-RED como plataforma de execução. Como resultados deste trabalho, foi possível conceber o SmartNode Dashboard, um framework para criação de interfaces padronizadas e customizáveis. Além de oferecer aos desenvolvedores de dashboards uma metodologia de utilização do SmartNode Dashboard junto ao Node-RED para facilitar e ampliar a capacidade das equipes no tocante ao desempenho, tempo e qualidade no desenvolvimento de dashboards.
  • Dissertação
    Detecção de problemas de design em aplicações Model-Template-View
    (2018-12-10) Correia, Renieri Rayron da Silva; Barbosa, Eiji Adachi Medeiros; ; ; Kulesza, Uira; ; Medeiros Neto, Francisco Dantas de;
    A arquitetura de software retrata um conjunto de decisões de design, geralmente tomadas antes da implementação do sistema, com o objetivo de alcançar níveis desejados de atributos de qualidade de software. Um padrão arquitetural fornece um conjunto de decisões de design específicas que são aplicáveis a problemas de design recorrentes. A quebra dessas decisões, além de impactar negativamente nos atributos de qualidade de software, podem levar o sistema a iniciar um processo de degradação arquitetural. O padrão arquitetural Model-Template-View (MTV), implementado pelo framework Django, contém um conjunto de decisões tomadas para incentivar o baixo acoplamento e a separação rigorosa entre as partes da aplicação. No entanto, no processo de evolução da aplicação, decisões de design podem ser quebradas. Nesse sentido, investigamos a detecção de problemas de design relacionados ao padrão arquitetural MTV com o objetivo de manter os níveis desejados de qualidade de aplicações MTV. As principais contribuições deste trabalho foram a elaboração de um catálogo de problemas de design específicos do padrão arquitetural MTV e a construção de uma ferramenta para detecção automatizada destes problemas através da análise estática. O catálogo e a ferramenta de detecção foram validados no contexto do Sistema Unificado de Administração Pública (SUAP) desenvolvido pelo Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte – IFRN.
  • Dissertação
    Uma abordagem metaheurística para o problema de alocação de horário escolar no IFRN
    (2018-12-11) Dantas, Lucas Hiago de Azevêdo; Bezerra, Leonardo César Teonacio; Cavalcante, Everton Ranielly de Sousa; ; ; ; Madeira, Charles Andrye Galvão; ; Cabral, Lucídio dos Anjos Formiga; ; Andrade, Romerito Campos de;
    AA cada novo período letivo, instituições de ensino se deparam com a necessidade de realizar a alocação dos seus horários de aulas. O desafio reside na capacidade de alocar aulas conciliando requisitos pedagógicos, limitações de recursos organizacionais e preferências pessoais. Motivado pelo alto grau de complexidade proveniente da combinação de disponibilidades de professores, alunos, salas de aula e necessidade de satisfação de variadas restrições, o problema de alocação de horários escolares, também conhecido como high school timetabling problem, há tempos é objeto de estudo pela comunidade acadêmica, que tem buscado o auxílio de métodos (meta)heurísticos para a consecução de soluções satisfatórias em um espaço de tempo viável. Com o objetivo de auxiliar a montagem de grades de horários dos cursos técnicos ofertados pelo Instituto Federal de Educação Ciência e Tecnologia do Rio Grande do Norte (IFRN), assegurando o atendimento dos diferentes requisitos institucionais, o presente trabalho apresenta uma solução baseada na metaheurística greedy randomized adaptative search procedure (GRASP). Para a validação da solução, foram desenvolvidas instâncias a partir de dados reais coletados de diferentes unidades da referida instituição. Os resultados obtidos apontam um desempenho satisfatório para o método utilizado, evidenciados a partir da geração de grades de horários que atendem a todas as restrições de viabilidade inicialmente impostas, como também pelo elevado grau de qualidade apresentado.
  • Dissertação
    FASTSF: uma ferramenta de geração de código para o incremento da produtividade no desenvolvimento de sistemas de informação web
    (2017-08-29) Martins Filho, Dinarte Alves; Lima, Gleydson de Azevedo Ferreira; Xavier Júnior, João Carlos; ; ; ; Burlamaqui, Aquiles Medeiros Filgueira; ; Mendes Neto, Francisco Milton; ; Kulesza, Uira;
    O desenvolvimento de software envolve um complexo processo de produção, incluindo a gestão das variáveis tempo, custo e pessoal. A evolução da tecnologia e a competitividade da indústria tem elevado, cada vez mais, a necessidade por maior produtividade, combinada com eficiência e qualidade. Neste cenário, há uma tendência crescente do uso de técnicas, padrões e ferramentas que possam tornar o desenvolvimento mais rápido e consequentemente mais barato. Além do uso de frameworks, ferramentas e padrões de projetos, gerar automaticamente partes do código é uma forma de retirar do desenvolvedor o trabalho de codificações repetitivas, além de dinamizar e aumentar a produtividade na implementação do software. Esta prática vem evoluindo e se difundindo nos últimos anos, com a sua popularização em diversos frameworks de desenvolvimento de aplicações, principalmente voltados para desenvolvimento web. Este trabalho apresenta uma ferramenta de geração de código chamada FASTSF e o estudo dos impactos obtidos na capacidade produtiva dos desenvolvedores. A FASTSF tem por objetivo o incremento de produtividade no desenvolvimento de sistemas de informações web, concentrando o foco da equipe na codificação de problemas mais complexos.
  • Dissertação
    Quest Design Canvas: um modelo de criação de quests para jogos digitais de gênero RPG
    (2018-12-13) Lima, Erick Bergamini da Silva; Madeira, Charles Andrye Galvão; ; ; Campos, André Mauricio Cunha; ; Schwartz, Gilson; ; Tavares, Rogério Junior Correia;
    Desde os primórdios da civilização, o ser humano sempre foi fascinado por jogos devido a serem divertidos. Dentre os gêneros de jogos digitais disponíveis no mercado atualmente, o RPG (do inglês Role-Playing Game) tem chamado a atenção, pois seus títulos estão há vários anos na lista dos mais vendidos. Isso se dá devido a muitas de suas características como personalização e progressão de personagem, interação com um mundo novo e fictício e a resolução de problemas deste mundo. Dentro deste cenário encontramos o conceito de quest, que é uma saga histórica (ou parte dela) com tarefas dadas ao jogador que devem ser realizadas para a conclusão do jogo ou para evolução da narrativa. Na tentativa de facilitar o processo de criação de quests, este trabalho propõe uma metodologia chamada Quest Design Canvas, que permite uma produção mais rápida e com etapas de processo criativo bem definidas, a fim de obter uma linha narrativa inserida em um conjunto de missões dentro de um mapa mental. Assim, pretende-se facilitar a produção de jogos deste gênero, sejam eles de propósito educacional, motivacional ou promocional. A título de validação, a metodologia proposta foi empregada na produção de quests para um jogo de gênero RPG massivo multiplayer online (MMORPG), chamado UFRN: The Video Game, que está sendo desenvolvido com o objetivo de gerar forte impacto social.
  • Dissertação
    Do monolito aos microsserviços: um relato de migração de sistemas legados da Secretaria de Estado da Tributação do Rio Grande do Norte
    (2018-08-07) Justino, Yan de Lima; Silva, Carlos Eduardo da; ; ; Barbosa, Eiji Adachi Medeiros; ; Mendonça, Nabor das Chagas;
    A Orientação a Serviço fornece um paradigma de projeto baseado em um conjunto de metas estratégicas para o alinhamento entre tecnologia da informação (TI) e negócios, promovendo eficiência, agilidade e produtividade. Nesse contexto, a reengenharia de sistemas legados para uma arquitetura orientada a serviços (SOA) pode ser justificada para resolver problemas como a demanda por interoperabilidade e a necessidade de fornecer uma interface robusta de serviço de alta disponibilidade. No entanto, a implantação de SOA em um ambiente corporativo é uma tarefa desafiadora, pois pode envolver o uso de diferentes técnicas, como a modernização de sistemas com alto endividamento técnico e altos custos de manutenção. Para isso, é necessário um processo que forneça um conjunto apropriado de técnicas que minimizem os riscos e, ao mesmo tempo, garantam a qualidade dos sistemas durante o processo de migração. Neste sentido, este trabalho apresenta a aplicação de um processo de reengenharia de sistemas legados para suportar a implementação de um projeto SOA. O SPReaD (Service-oriented process for Reengineering and Devops) é uma instanciação da Mainstream SOA Methodology, com foco na reengenharia de sistemas legados, integrando os aspectos de DevOps para o direcionamento de SOA. Esse processo foi criado durante um projeto real de reengenharia de software para evolução de sistemas legados de uma Secretaria de Estado de Tributação. O uso do SPReaD tem apresentado resultados significativos em relação à conquista de importantes metas de qualidade como a padronização de contratos de serviços para efeitos de interoperabilidade; a gestão da dívida técnica, tendo em vista uma melhor manutenibilidade e portabilidade de componentes; uma maior escalabilidade e melhora no desempenho como um todo para suportar uma grande carga de requisições.
  • Dissertação
    SecAuthAPI: uma abordagem para suportar infraestruturas de autorização auto-adaptativas
    (2018-10-30) Medeiros, Welkson Renny de; Silva, Carlos Eduardo da; ; ; Sampaio, Silvio Costa; ; Motta, Gustavo Henrique Matos Bezerra;
    Mecanismos de controle de acesso tem sido utilizados em sistemas de informação para restringir o acesso a informações sensíveis. Tais mecanismos são capazes de lidar com ameaças de agentes externos à instituição, porém são ineficientes quando consideramos ataques envolvendo usuários internos. Políticas de controle de acesso costumam ser estáticas, e incapaz de lidar com comportamento anômalos de usuários maliciosos que possuem permissão de acesso ao sistema. Sistemas auto-adaptativos têm se mostrado como uma possível resposta para esta situação, uma vez que são capazes de analisar a si próprio e ao ambiente em que estão inseridos, e se modificar sobre variadas e imprevisíveis condições. Para isso, é necessário um conjunto de operações bem definidas que possam ser utilizadas na definição de planos de adaptação. Neste sentido, este trabalho propõe o SecAuthAPI, uma abordagem de suporte a infraestruturas de autorização auto-adaptativas, que expõe um conjunto de operações para manipulação de políticas de controle de acesso ABAC (Attribute-Based Access Control). As operações definidas são baseada em uma especificação funcional formal do modelo ABAC, e são expostas através de uma API REST, e são utilizadas para se permitir a adaptação dinâmica de políticas de controle de acesso. Considerando a aplicação desta abordagem em um sistema real, este trabalho também propõe e implementa a externalização dos mecanismos de autorização para o sistema SUAP, desenvolvido e usado no IFRN. Com isso, restrições de acesso que antes eram fixadas diretamente no código (hard-coded) são agora definidas através de um servidor de autorização, desacoplando a preocupação de controle de acesso da lógica de negócio da aplicação. Além disso, ao aplicar o SecAuthAPI neste servidor de autorização, possibilitamos que as políticas possam ser manipuladas dinamicamente. As operações do SecAuthAPI foram avaliadas através de testes unitários que atestam a sua aderência à especificação funcional formal, enquanto que a externalização de controle de acesso do SUAP teve seu desempenho avaliado e comparado com a abordagem legada. Os resultados alcançados demonstram que, embora tenha um custo computacional adicional, o impacto no desempenho da aplicação é desprezível. Adicionalmente, nossa solução mostra-se altamente viável diante dos benefícios trazidos pelo desacoplamento de preocupação de controle de acesso do código fonte da aplicação.
  • Dissertação
    O impacto da utilização de uma ferramenta de feedback contínuo na produtividade: um estudo de caso em equipes de desenvolvimento de software
    (2018-08-29) Rodrigues, Pedro Vitor Lima; Lima, Gleydson de Azevedo Ferreira; Kulesza, Uira; ; ; ; Aranha, Eduardo Henrique da Silva; ; Moura, Hermano Perrelli de;
    Cada vez mais as empresas têm prezado pelo bem-estar, motivação e satisfação dos seus colaboradores, tendo em vista que eles constituem o recurso mais importante de uma organização. Colaboradores motivados tendem a produzir com mais qualidade e produtividade, auxiliando na resolução dos problemas com melhor desempenho. Quando a empresa atua com êxito para influenciar positivamente na motivação e no ambiente de trabalho dos colaboradores, ela não apenas recebe em troca um maior engajamento deles, mas também realiza um marketing externo para atrair novos talentos sendo vista pela sociedade como uma empresa onde “muitos querem trabalhar”. Para que isso seja possível se faz necessário reconhecer e fornecer feedback aos colaboradores quanto ao seu desempenho. Dependendo da complexidade organizacional, quantidade de colaboradores e diversidade de cargos da empresa, a avaliação do desempenho pode representar um grande desafio, sendo necessário o emprego de uma quantidade considerável de recursos investidos para realizá-la em um tempo aceitável. Esse trabalho apresenta um software chamado Motus, com intuito de analisar e fornecer um feedback de desempenho contínuo aos membros das equipes de uma empresa de desenvolvimento de software através de indicadores, além de analisar o impacto da sua utilização em relação a produtividade dos desenvolvedores. Para tal, um estudo foi conduzido para verificar o conceito de produtividade dentro da organização como conjunto de indicadores de desempenho, além de medir seus valores antes e depois da utilização da ferramenta com intuito de analisar suas variações.
  • Dissertação
    IMAM: uma ferramenta para monitoramento de sistemas e dispositivos em infraestruturas críticas de IoT baseada em Aprendizado de Máquina
    (2018-08-24) Santos, David Coelho dos; Xavier Júnior, João Carlos; Aquino Júnior, Gibeon Soares de; ; ; ; Pinheiro, Marcos Cesar Madruga Alves; ; Silla Júnior, Carlos Nascimento;
    Problemas em sistemas críticos e dispositivos devem ser tratados com agilidade e de maneira eficiente. Períodos de inatividade podem custar caro e ter consequências bastante significativas em diversos contextos. É fundamental que sistemas de informação estejam sempre disponíveis e sejam confiáveis. Embora a maioria das ferramentas de monitoramento de infraestrutura consigam identificar falhas, é importante, sobretudo, obter conhecimento a partir de dados coletados dessa infraestrutura nas mais diversas situações, incluindo falhas e, sobretudo, situações que antecedem tais falhas. Esse conhecimento torna-se muito mais importante à medida que, deseja-se prever possíveis comportamentos anômalos a partir de dados de logs de monitoramento de sistemas e equipamentos e, isto posto, promover a realização ações de suporte proativas visando garantir disponibilidade e tolerância a falhas. Visando atacar esses desafios, este trabalho apresenta o IMAM, uma ferramenta capaz de monitorar a disponibilidade de sistemas e coletar, armazenar e analisar, através de técnicas de Aprendizado de Máquina, registros de logs de monitoramento de infraestruturas críticas baseadas em IoT.
  • Dissertação
    OpenEasier: a CKAN extension to enhance open data publication and management
    (2018-08-07) Macêdo, Jonas Jordão de; Lopes, Frederico Araújo da Silva; Cacho, Nelio Alessandro Azevedo; ; ; ; Lóscio, Bernadette Farias; ; Leite, Jair Cavalcanti;
    Open Data is an important concept for our society, and it is being adopted by public and private entities. When embracing Open Data, the companies generate more transparency and collaboration in our society, this enables the enhancement and creation of services, helping to improve many aspects of our lives. Despite the existence of data catalogue platforms to support Open Data, e.g. CKAN, the complexity and costs of achieving the publication of Open Data are still a challenge, hampering the adoption of the activity of publishing Open Data. The existing tools that support Open Data publication demands deep knowledge of IT tools to publish the data, leaving this important task in the hands of few. Hence, the existing tools are not able to properly achieve the main goal which is to make anyone able to publish and maintain Open Data. In this context, this work aims to design and implement a new tool to decrease the complexity and costs, and to make possible non-IT technicians to publish and manage their Open Data. We believe that this strategy will engage the real data producers in the Open Data movement, helping to improve the quality of Open Data.
  • Dissertação
    Uso de técnicas de aprendizado de máquina para identificação de perfis de uso de automóveis baseado em dados automotivos
    (2018-08-24) Barreto, Cephas Alves da Silveira; Xavier Júnior, João Carlos; Silva, Ivanovitch Medeiros Dantas da; ; ; ; Silva Júnior, Carlos Nascimento; ; Araújo, Daniel Sabino Amorim de;
    A violência no trânsito tem causado grandes prejuízos e, acima de tudo, vitimado muitos cidadãos, usuários ou não de automóveis. Segundo estudos do Observatório Nacional da Segurança Viária (ONSV, 2017), 90% dos acidentes de trânsito são causados por imprudência dos condutores, 5% por defeitos nos automóveis e mais 5% por má condição das rodovias. Uma das alternativas para embasar ações que enfrentam esses problemas é entender como se comportam os condutores de automóveis quando estão ao volante. Usar as informações do veículo para entender o comportamento dos motoristas é uma questão que tem ganhado importância nos últimos anos e, diante dos problemas envolvidos, identificar perfis de utilização de automóveis tem sido, cada vez mais, um tema de pesquisa em todo mundo. Este trabalho apresenta um modelo de utilização de técnicas (descritivas e preditivas) de Aprendizado de Máquina sobre dados de veículos obtidos via On-Board Diagnostics II (OBD-II) para identificação de possíveis perfis de uso automotivo. O modelo criado obteve, após todo o processo de refinamento, mais que 99% de acurácia na identificação de 3 perfis (low, mid e high). Para aplicar o modelo, foi criada uma plataforma baseada numa arquitetura distribuída (Servidor Web, Aplicativo Móvel e API de serviço). Essa plataforma é capaz de capturar os dados de um automóvel e devolver o seu perfil de uso de seu condutor (motorista).
  • Dissertação
    OpenData Processor: uma ferramenta para a automatização do processo de extração e publicação de Dados Abertos
    (2018-07-30) Vilela, Allyson Bruno Campos Barros; Lopes, Frederico Araújo da Silva; Almeida, André Gustavo Duarte de; ; ; ; Medeiros Neto, Francisco Dantas de; ; Aquino Júnior, Gibeon Soares de;
    O acesso público à informação do governo é um aspecto importante da sociedade moderna que permite a participação ativa da população no monitoramento das ações governamentais. O decreto no 8.777, assinado pela Presidência da República em 11 de maio de 2016, institui a Política de Dados Abertos do Poder Executivo Federal. A partir dele, os órgãos e entidades da administração pública federal direta, autárquica e fundacional são obrigados a disponibilizarem os dados no formato aberto. No entanto, grande parte dessas instituições estão descumprindo os compromissos definidos no Decreto. Uma possível explicação para esse número é a necessidade dos responsáveis técnicos terem bons conhecimentos de seus sistemas de informação e das legislações vigentes aliada com a dificuldade na extração dos dados visto que na maioria das instituições, todo o processo de extração, publicação e atualização dos dados abertos é feito de forma manual. Nesse sentido, este trabalho propõe o desenvolvimento de uma ferramenta de automatização do processo de extração, publicação e atualização dos dados abertos. Para demonstrar a viabilidade dessa automatização foi utilizado, como estudo de caso, a integração entre o SUAP e o CKAN.
  • Dissertação
    TeamBridge: Middleware para adaptação de games e controles de reabilitação motora
    (2018-04-16) Alves, Alan Klinger Sousa; Dantas, Rummenigge Rudson; ; ; Burlamaqui, Aquiles Medeiros Filgueira; ; Tavares, Tatiana Aires;
    A terapia ocupacional e a fisioterapia vêm ganhando nos últimos anos apoio da tecnologia aplicada em games. Dispositivos para VR tem sido utilizados juntamente com exergames para motivar o paciente a frequentar a terapia, entretendo-o ao mesmo tempo que realiza a terapia. Porém os consoles ainda não apresentam sensores capazes de identificar todos os movimentos necessários para os vários tipos de terapia, por exemplo, o Wii não é capaz de identificar se a mão do jogador estava fechada ou não. Dessa forma o TEAM (Laboratório de Tecnologias Educacionais, Assistivas e Multimídia), iniciou o desenvolvimento de tecnologias e exergames para aplicação em terapia física e ocupacional. Durante o desenvolvimento de novos dispositivos de interação, foi observado que a cada novo hardware era necessário modificar o código-fonte dos games já produzidos ou criar um novo game para tal dispositivo. Esse problema caracteriza um forte acoplamento entre o hardware e os exergames, bem como retrabalho, consequentemente havia dispositivos completamente desenvolvidos, mas que não era possível utilizá-los com um exergame. Logo notou-se a necessidade de uma ferramenta para intermediar tais artefatos. Este trabalho apresenta o TeamBridge, um middleware que tem por finalidade intermediar a comunicação entre dispositivos de interação para VR e exergames com foco em terapia física e ocupacional. Este middleware foi testado com um game comercial, provando que não há necessidade de modificação do código-fonte. Ele também passou por testes de performance, a fim de garantir que a experiência do jogador não seja comprometida. Ao final a ferramenta foi disponibilizada no GitHub.
  • Dissertação
    Um método para extração e evolução de linhas de produto de software a partir de sistemas Web existentes
    (2017-08-25) Pontes, Erick Sharlls Ramos de; Kulesza, Uira; Silva, Carlos Eduardo da; ; ; ; Barbosa, Eiji Adachi Medeiros; ; Cirilo, Elder;
    Uma Linha de produto de software (LPS) representa uma família de sistemas relacionados que compartilham similaridades e variabilidades visando atender às necessidades de um segmento de mercado específico. A adoção de LPS tem sido aplicada em diversas áreas na indústria de software devido aos benefícios alcançados, tais como, redução dos custos no desenvolvimento, aumento da qualidade e redução do tempo de comercialização. No entanto, cenários distintos podem ser encontrados para implementação de uma linha de produtos, caracterizando 3 abordagens para adoção de LPS: (1) abordagem proativa: não existe softwares em produção, e uma LPS é desenvolvida do zero; (2) abordagem reativa: já existe uma LPS em produção que vai sofrer incremento para atender novos requisitos; (3) abordagem extrativa: a LPS é desenvolvida a partir dos artefatos de um sistema ou conjunto de sistemas relacionados que já estão em produção. No contexto de abordagens extrativa e reativa, este trabalho propõe um método de extração e evolução de LPSs a partir de sistemas existentes implementados na linguagem Java. O método foi extraído a partir da condução de um estudo empírico de desenvolvimento de uma LPS para o domínio de sistemas de controle de espaços físicos utilizados em diferentes centros da Universidade Federal do Rio Grande do Norte (UFRN) e define três atividades que apresentam um conjunto de diretrizes para refatoração e modularização de features em sistemas implementados em Java: (i) Modelar features da LPS, (ii) Projetar e implementar LPS através da refatoração de um sistema existente, e (iii) Realizar testes para cada um dos produtos atuais existentes. Em seguida, o método foi avaliado por meio da sua aplicação durante evoluções da LPS para atender novos requisitos demandados pelos clientes. Por fim, foi constatado um aumento de linhas de código dos produtos da LPS, no entanto, o núcleo da LPS possui uma quantidade de linhas de código menor que qualquer produto antes e depois da extração da LPS. Com isso, os artefatos da LPS ficaram melhor modularizados em termos de features, o que pode facilitar a evolução tanto do código do núcleo quanto dos artefatos variantes de cada aplicação.
  • Dissertação
    CodeTrack: uma ferramenta para análise contínua de conflitos indiretos de software
    (2017-08-31) Oliveira Neto, João Victor de; Lima, Gleydson de Azevedo Ferreira; Kulesza, Uira; http://lattes.cnpq.br/0189095897739979; http://lattes.cnpq.br/4986614168117334; http://lattes.cnpq.br/5736903367841961; Medeiros, Sérgio Queiroz de; http://lattes.cnpq.br/0310395336626784; Pinto, Felipe Alves Pereira; http://lattes.cnpq.br/6163607072712192
    A necessidade de evolução nos softwares tornou-se cada vez mais frequente e a engenharia de software precisou se adaptar para entregar produtos de qualidade em prazos cada vez menores. Para que o software continue sendo útil ao longo do tempo, para o propósito ao qual foi desenvolvido, é necessário que sejam realizadas mudanças ou incluídas novas funcionalidades para que este acompanhe as mudanças no contexto do negócio. Com essas mudanças, é inevitável que o software passe a aumentar de tamanho e, consequentemente, em complexidade. Essa expansão do software cria relacionamentos de dependência entre componentes do código-fonte e essas dependências se propagam em uma cadeia de dependências à medida que a aplicação cresce. Reescrever o mesmo trecho de código é uma prática não recomendada no desenvolvimento de software, pois implica em replicar código de forma distribuída e desordenada. Ao fazer o reuso, o mesmo trecho já escrito é referenciado em diferentes funcionalidades do sistema através da cadeia de dependência e chamadas de métodos, fazendo com que diferentes partes do código que estejam associadas a diferentes funcionalidades passem a depender de um mesmo componente. Alterações de trechos de código que possuem relação direta ou indireta com diferentes casos de uso podem levar a falhas imprevistas da aplicação, pois dependendo do número de artefatos envolvidos e da extensão da cadeia de dependências relacionada ao código alterado, uma mudança pode impactar um outro caso de uso que aparentemente não tem relação com o trecho de código modificado. Prever impactos decorrentes de alterações em um artefato é uma tarefa que exige tempo para análise, profundo conhecimento do código-fonte e esforço de teste. Este trabalho apresenta uma abordagem para automatizar a identificação de possíveis conflitos indiretos através de uma ferramenta, capaz de determinar quais casos de uso possuem maior probabilidade de serem impactados por mudanças no código-fonte, podendo assim direcionar os esforços de testes de forma mais eficaz. Foi elaborado um estudo para avaliar um projeto real de dimensão extensa que não possui uma suíte de testes automatizados e a ferramenta desenvolvida mostrou-se eficiente para detectar conflitos indiretos em diferentes cenários e também provou, através de um experimento empírico, que a maior parte das falhas decorrentes de conflitos indiretos teriam sido evitadas caso a ferramenta tivesse sido utilizada ainda na fase de desenvolvimento.
  • Dissertação
    Hermod: uma plataforma de e-mail para apoiar a comunicação institucional
    (2017-08-24) Dutra, Henrique André Barbosa Bittencourt; Medeiros, Sérgio Queiroz de; Kulesza, Uira; http://lattes.cnpq.br/0189095897739979; http://lattes.cnpq.br/0310395336626784; http://lattes.cnpq.br/6740303400503489; Silva, Carlos Eduardo da; Silvestre, Bruno Oliveira; http://lattes.cnpq.br/9449437915418534
    As organizações que oferecem serviços à sociedade, sejam elas públicas ou privadas, precisam com frequência estabelecer um canal de comunicação para enviar conteúdo, tais como notícias, ofertas de serviços ou outros tipos de informações. Entre as diversas formas de comunicação institucional, o serviço de e-mail possui papel predominante. Os Sistemas SIG – como são chamados os sistemas desenvolvidos pela SINFO/UFRN que utilizam a Arquitetura SIG como base — tornaram a tecnologia de e-mail como padrão para a comunicação institucional, devido ao baixo custo, facilidade de uso e a popularidade. A preocupação da SINFO em prover a comunicação institucional decorre das metas do Plano Diretor de Tecnologia da Informação (PDTI), onde uma das metas é prover os meios para melhoraria da comunicação institucional. Apesar do esforço da SINFO/UFRN, constantemente os usuários reclamavam que e-mails não estavam sendo entregues, o que gerou dúvida se os sistemas realmente conseguiam cumprir seu papel na comunicação institucional. Esta dissertação fez um estudo sobre o módulo de envio de e-mail da Arquitetura SIG onde foi possível expor os problemas deste módulo. Esta dissertação também apresenta o Hermod, uma plataforma de e-mail criada para apoiar as necessidades da comunicação institucional da UFRN. Essa plataforma propõe resolver os problemas que foram encontrados na solução de e-mail da Arquitetura SIG, atuando como um middleware oferecendo para outros sistemas (incluindo os Sistemas SIG) serviços de envio e rastreio de e-mail, por exemplo. A plataforma foi modelada pensando nos seguintes requisitos: interoperabilidade, alta disponibilidade, tolerância a falhas e elasticidade. Os experimentos atestaram que o Componente de envio de e-mail com a configuração de uma thread o tempo de envio é linear em relação ao número de mensagens. Este componente foi implementado através de um pool de threads, impedindo que o consumo de memória (monitorado pelo Zabbix) aumente na mesma proporção que a carga que o sistema recebe, fazendo com que o Hermod escale bem mesmo em situações de alta carga. Cada nó do cluster é independente e mesmo após falha em algum nó, o cluster continua disponível e recebendo requisições. Com a elasticidade através da análise da carga recebida, foi possível aumentar a vazão de e-mails enviados através da criação de instâncias em tempo de execução.