Programa de Pós-graduação em Engenharia de Software
URI Permanente desta comunidadehttps://repositorio.ufrn.br/handle/123456789/20949
Navegar
Navegando Programa de Pós-graduação em Engenharia de Software por Autor "Barbosa, Eiji Adachi Medeiros"
Agora exibindo 1 - 5 de 5
- Resultados por página
- Opções de Ordenação
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 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 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 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.