Mostrar registro simples

dc.contributor.advisorNunes, Ingrid Oliveira dept_BR
dc.contributor.authorZapalowski, Vaniuspt_BR
dc.date.accessioned2021-05-28T04:25:31Zpt_BR
dc.date.issued2021pt_BR
dc.identifier.urihttp://hdl.handle.net/10183/221621pt_BR
dc.description.abstractSoftware architecture is fundamental to clearly present the most important structures, roles, and rules of a software, which collectively are used to guide software design and implementation. Thus, the existence of reliable architecture documentation is critical to develop and maintain software in a controlled way. Despite the importance of architecture documentation, there are systems without proper documentation, as their documentation is often outdated or nonexistent. To help overcome this problem, many studies investigate how to maintain conformity between architecture documentation and the source code. However, most of these studies provide a low precision demanding an expert postverification, which is an error-prone and time-consuming task, to provide useful architecture documentation. To support architecture documentation, we propose the Weightedgraph- based (WGB) method to recover architecture rules. Our method is based on the idea that high-level architecture rules can be derived through the investigation of source code dependencies, thus decreasing the effort of providing useful architecture rules with a reduced need for human verification. To achieve our goals, we investigate the source code dependencies and the architecture differences between them. Based on this investigation, we propose the WGB method that relies on the module dependency strength metric and linear equation solver to provide relevant architecture rules. It is domain-independent because it needs only the source code as information to execute. We evaluate our proposed method with a case study presenting details of how it works, an offline study presenting the application of our method in six subject systems, and a user study analyzing the rules extracted using our method in two commercial systems from the perspective of the developers. The results show that our method extracts useful and appropriate architecture rules using only the source code as information, thus supporting the task of recovering the architecture rules. Furthermore, the results of the user study present the preference of the developers for rules extracted using our method when compared against their manually recovered rules in most of the comparisons.en
dc.description.abstractA arquitetura de software é fundamental para documentar as estruturas, papéis e regras mais importantes de um software, que são usadas no projeto e na implementação. Assim, ter uma arquitetura documentada que reflete o que está implementado é importante para o desenvolvimento e evolução de forma controlada. Apesar da importância de ter a arquitetura documentada corretamente, é comum que os sistemas não tenham uma documentação arquitetural, ou que que ela esteja desatualizada. Para minimizar esse problema, muitos estudos avaliam como manter a conformidade entre a documentação arquitetural e o código-fonte. No entanto, a maioria desses estudos tem uma baixa precisão necessitando uma verificação dos seus resultados, que é uma tarefa demorada e que pode conter erros, para fornecer uma documentação útil. Para dar suporte à documentação da arquitetura, nós propomos o métodoWeighted-graph-based (baseado em grafos com pesos) para recuperar regras arquiteturais. Nosso método é baseado na ideia de que regras arquiteturais de alto nível podem ser derivadas através da análise das dependências do código-fonte. Isso reduz o esforço de documentar as regras arquiteturais por diminuir a necessidade de verificação de um especialista. Para atingir nossos objetivos, nós analisamos as dependências do código-fonte e as diferenças arquiteturais. Com base nessa análise, nós desenvolvemos o método Weighted-graph-based que se baseia na métrica de força de dependência entre módulos, também proposta nesta trabalho, e em um resolvedor de equações lineares para obter regras arquiteturais mais relevantes. Nosso método também é independente de domínio e específico para cada software visto que não depende de parâmetros e documentações. Nós avaliamos nosso método usando um estudo de caso para apresentar como o nosso método funciona, um estudo offline detalhando a aplicação de nosso método em seis sistemas e um estudo com usuários realizado para analisar o uso prático das regras extraídas usando nosso método em dois sistemas comerciais. Os resultados mostram que nosso método extrai regras arquiteturais que são úteis, eficientes e apropriadas. Além disso, os resultados apresentam a preferência dos desenvolvedores por regras extraídas usando nosso método quando comparadas com as regras recuperadas manualmente.pt_BR
dc.format.mimetypeapplication/pdfpt_BR
dc.language.isoengpt_BR
dc.rightsOpen Accessen
dc.subjectArquitetura : Softwarept_BR
dc.subjectArchitecture recoveryen
dc.subjectRegras arquiteturais : Informáticapt_BR
dc.subjectModule dependencyen
dc.subjectDesenvolvimento : Softwarept_BR
dc.titleUnderstanding and recovering architecture rulespt_BR
dc.title.alternativeCompreendendo e recuperando regras de Arquitetura pt
dc.typeTesept_BR
dc.contributor.advisor-coNunes, Daltro Josept_BR
dc.identifier.nrb001125704pt_BR
dc.degree.grantorUniversidade Federal do Rio Grande do Sulpt_BR
dc.degree.departmentInstituto de Informáticapt_BR
dc.degree.programPrograma de Pós-Graduação em Computaçãopt_BR
dc.degree.localPorto Alegre, BR-RSpt_BR
dc.degree.date2021pt_BR
dc.degree.leveldoutoradopt_BR


Thumbnail
   

Este item está licenciado na Creative Commons License

Mostrar registro simples