Erosão arquitetural em perspectiva: um estudo sobre as regras arquiteturais, suas violações e como os desenvolvedores lidam com o problema.

Autor: MONTEIRO, João Arthur Brunet.
Jazyk: angličtina
Rok vydání: 2014
Předmět:
Zdroj: Biblioteca de Teses e Dissertações da UFCGUniversidade Federal de Campina GrandeUFCG.
Druh dokumentu: masterThesis
Popis: Submitted by Johnny Rodrigues (johnnyrodrigues@ufcg.edu.br) on 2018-08-07T18:35:53Z No. of bitstreams: 1 JOÃO ARTHUR BRUNET MONTEIRO - TESE PPGCC 2014..pdf: 21469240 bytes, checksum: 4f74671ebb2128d0de8efc9a34c7ffeb (MD5)
Made available in DSpace on 2018-08-07T18:35:53Z (GMT). No. of bitstreams: 1 JOÃO ARTHUR BRUNET MONTEIRO - TESE PPGCC 2014..pdf: 21469240 bytes, checksum: 4f74671ebb2128d0de8efc9a34c7ffeb (MD5) Previous issue date: 2014-07-11
Erosão arquitetural é o processo de degradação da estrutura do software à medida em que se dá a sua evolução. Embora alguns trabalhos nessa área tenham apresentado exemplos de desvio entre a arquitetura planejada e a implementação do software em um momento específico do seu ciclo de vida, pouco se sabe a respeito dessa relação sob uma perspectiva evolutiva, isto é, como se dá esse distanciamento à medida em que o software evolui. Além disso, as abordagens propostas para verificação de conformidade apontam que o número de violações arquiteturais é tipicamente alto. No entanto, não há conhecimento a respeito da relevância dessas violações arquiteturais e como os desenvolvedores lidam com o problema durante o desenvolvimento do software. Esta tese apresenta três estudos empíricos cujo objetivo é aumentar o conhecimento sobre erosão arquitetural e como os desenvolvedores lidam com violações arquiteturais. Como resultado, em um primeiro estudo com quatro sistemas open source, foi possível demonstrar empiricamente o processo de erosão arquitetural em uma perspectiva evolutiva, além de demonstrar que poucas entidades de design são responsáveis pela maioria das violações arquiteturais. Além disso, através de uma análise quantitativa e qualitativa em 3 sistemas (Eclipse, BeeFS e epol), realizou-se i) uma caracterização de regras arquiteturais, ii) um estudo sobre a relevância das violações arquiteturais nesses sistemas e, iii) uma caracterização dos motivos que levam os desenvolvedores a cometerem violações arquiteturais. Por fim. com o intuito de entender a comunicação sobre aspectos de design/arquitetura em projetos open source, através da análise de dados de 77 sistemas, foi identificado que 25% das discussões em projetos mencionam algum aspecto de design e que poucos desenvolvedores contribuem para um espectro amplo de discussões. Esses poucos desenvolvedores são os que mais contribuem para o código projeto, isto é, há uma forte correlação entre commits e a quantidade de discussões que um desenvolvedor participa.
Architectural erosion is the progressive lack of software structure over time. Previous studies on this subject concentrate on presenting conformance checking techniques and tools, and how effective they are in a single version of systems under analysis. However, fitere are still open research questions regarding the evolutionär)' nature of architectural violations. Besides that, little is known about the relevance of architectural violations and their impact on software development activities. This thesis describes three empirical studies performed to expand the current knowledge about architectural erosion phenomenon and how developers deal with architectural violations. As a result, in a first exploratory study with four open source systems, besides providing empirical data that shows the architectural erosion phenomenon in an evolutionary perspective, it is also demonstrated that few entities are responsible for the majority of architectural violations. Besides that, through quantitative and qualitative analysis in three systems (Eclipse. BeeFS and epol). this thesis presents: ij a characterization of architectural rules used in practice, ii) a study on the relevance of architectural violations of such systems, and iii) a characterization of the causes of architectural violations. At last, to provide knowledge on how developers conduct discussions about design/architectural aspects, this thesis presents an analysis on 77 open source systems which shows that on average 25% of the discussions in a project mention some design aspect and that very few developers contribute to a broader range of design discussions.
Databáze: Networked Digital Library of Theses & Dissertations