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 Assunto "Arquitetura de software"
Agora exibindo 1 - 4 de 4
- 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 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 estudo de avaliação e documentação de arquiteturas de software na indústria(2016-08-25) Silva, Júlio César Leôncio da; Kulesza, Uira; Pinto, Felipe Alves Pereira; ; http://lattes.cnpq.br/6163607072712192; ; http://lattes.cnpq.br/0189095897739979; ; http://lattes.cnpq.br/6687140805305537; Guerra, Eduardo Martins; ; http://lattes.cnpq.br/3413978291577451; Figueira Filho, Fernando Marques; ; http://lattes.cnpq.br/6874649375434646Muitas vezes o arquiteto de software responsável pela definição e avaliação da arquitetura de software não consegue estabelecer quais requisitos não-funcionais devem ser priorizados no desenvolvimento de seus sistemas. Com isso, falhas podem ocorrer durante a execução do sistema demandando mais tempo e recursos para que seja corrigido. Em muitos casos, com a inexperiência dos arquitetos ou a necessidade de disponibilização rápida de um sistema, os requisitos não-funcionais não são considerados durante a definição da arquitetura de software e também não é feita a devida documentação da arquitetura, tornando difícil o acesso e entendimento da arquitetura pelos demais integrantes da equipe e dificultando a manutenção de componentes/módulos da arquitetura e respectivos relacionamentos. Este trabalho buscou levantar junto às empresas de software, públicas e privadas, quais as principais estratégias utilizadas na definição e avaliação da arquitetura, principalmente na obtenção e cumprimento dos requisitos não-funcionais, e documentação arquitetural. Nosso estudo contou com a participação de 17 arquitetos de software para responder o questionário proposto. Com a realização do questionário identificamos que os requisitos não-funcionais de desempenho e confiabilidade são os mais importantes a serem atendidos pela arquitetura e que mesmo com a existência de algumas abordagens para a avaliação de arquiteturas, elas não parecem estar bem difundidas e/ou utilizadas entre os arquitetos. Ao tratar especificamente o requisito de desempenho, os arquitetos julgaram que em uma análise de desempenho de um sistema de software a informação mais importante a ser exibida deve ser o tempo de resposta das requisições a um determinado cenário, acompanhado do tempo de execução dos métodos que fazem parte desse cenário. Em relação à documentação arquitetural, a maioria dos entrevistados afirmaram utilizar, no mínimo, algum tipo de documentação no momento de criação de um sistema de software, destacando-se a utilização de diagramas de classe e de componentes como as formas mais comuns de documentação utilizadas pelos arquitetos. Além disso, o trabalho propõe a utilização de um guia que busca auxiliar arquitetos de software na atividade de avaliação do cumprimento dos requisitos não-funcionais pela arquitetura durante a evolução do sistema, priorizando o requisito não-funcional de desempenho. Ao avaliar a aplicação do guia, os entrevistados apontaram a abordagem de análise de logs para identificar os cenários prioritários numa avaliação de desempenho como uma das principais contribuições do guia e que poderia facilitar na identificação e comparação das versões dos seus sistemas.