Font Size: a A A

Recovering Layered Architecture Based On Software Responsibility And Structure For Refactoring

Posted on:2020-09-08Degree:MasterType:Thesis
Country:ChinaCandidate:P C DuFull Text:PDF
GTID:2428330626450740Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Software designers tend to reuse the existing architectural patterns to guide the process of architecture design during the software design phase,especially the widely adopted layered pattern.The layered pattern is often used to construct the system entities into a hierarchy structure to separate concerns of the system,and the rational use of layered pattern could promote a series of quality properties.However,the layered architecture of the system tends to be inconsistent with the initial design due to architectural drift and erosion.Moreover,the layering violations could be introduced as the system undergoes unsystematic and ad-hoc modifications,and as a result,reduce the software system quality.Besides,the architecture documents often suffer from missing and lack of timely update.Problems like the above result in the growing cost to refactor these systems and finally led these systems to unsustainable evolution.To alleviate these problems,it is critical to obtain the actual layered architecture and perform the timely refactoring.The research topics of this thesis include recovery and refactoring of the layered system respectively.This thesis concludes the shortcomings and flaws of the existing approaches,along with the feature of the layered pattern,and proposes the approach to recovery the layered architecture based on software responsibility and the approach to perform architectural refactoring,which the main work includes:·This thesis proposes a complete approach for recovering the actual layered architecture,which is an expansion of the latest approach.The proposed approach introduces the filtration process of the source code,the optimization of preliminary architecture and the visualization process.In addition,the approach introduces the method to extract information from the source code by AST.·This thesis defines three principles relating to the criterion of the usage of the layered pattern,along with the corresponding layering violations.Then this thesis proposes an approach to perform the architecture refactoring based on these definitions.·The proposed approaches have been implemented in a prototype tool called LARRT(Layered Architecture Recovery and Refactoring Tool).Experiments conducted on several open source systems show that the proposed approach outperforms previous methods in terms of accuracy,which means the recovered layered architecture is closer to the actual layered architecture and therefore the result could effectively ease the difficulty to understand the target system.The experiments to verify the effectiveness of architectural refactoring was conducted also and the results show that the proposed approach could locate the actual problems of the system and help designers to perform the activity of refactoring to some extent.
Keywords/Search Tags:Layered Pattern, Recovery of layered architecture, Software Responsibility, Architectural Refactoring
PDF Full Text Request
Related items