Java系统软件架构图的可视化:管理传播的低级依赖关系

L. Schrettner, Lajos Jeno Fülöp, R. Ferenc, T. Gyimóthy
{"title":"Java系统软件架构图的可视化:管理传播的低级依赖关系","authors":"L. Schrettner, Lajos Jeno Fülöp, R. Ferenc, T. Gyimóthy","doi":"10.1145/1852761.1852783","DOIUrl":null,"url":null,"abstract":"The availability of up-to-date documentation of the architecture is crucial for software maintenance tasks, but it is often missing or differs from the implemented architecture. An increasingly popular and feasible way to get a clear picture of the architecture is to reconstruct it from the source code. The result of the reconstruction procedure is a graph with special, architecture-specific properties. Nowadays software systems are typically very large, so the reconstructed architecture contains a lot of details and is really difficult to interpret. It is important therefore to have efficient methods that help in understanding and managing the architecture graph. The purpose of these methods is to try to present the information so that it is comprehensible to the users. Two important methods are selective subtree collapsion and lifting low level dependencies of the system into higher, visible levels. These enable an architect to investigate the dependencies of system components at higher levels, without the need to deal with an enormous quantity of low-level details.\n In this paper, first we overview the concepts related to lifting and present a conceptual framework that combines subtree collapsion with lifting to enable users to interactively explore and manipulate a software architecture graph. Then we define a set of algorithms that can be used to efficiently propagate dependency edges of a graph to higher levels. We also describe how the results can be integrated into SourceInventory, a software quality monitoring and visualization framework.","PeriodicalId":169989,"journal":{"name":"Principles and Practice of Programming in Java","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2010-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Visualization of software architecture graphs of Java systems: managing propagated low level dependencies\",\"authors\":\"L. Schrettner, Lajos Jeno Fülöp, R. Ferenc, T. Gyimóthy\",\"doi\":\"10.1145/1852761.1852783\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The availability of up-to-date documentation of the architecture is crucial for software maintenance tasks, but it is often missing or differs from the implemented architecture. An increasingly popular and feasible way to get a clear picture of the architecture is to reconstruct it from the source code. The result of the reconstruction procedure is a graph with special, architecture-specific properties. Nowadays software systems are typically very large, so the reconstructed architecture contains a lot of details and is really difficult to interpret. It is important therefore to have efficient methods that help in understanding and managing the architecture graph. The purpose of these methods is to try to present the information so that it is comprehensible to the users. Two important methods are selective subtree collapsion and lifting low level dependencies of the system into higher, visible levels. These enable an architect to investigate the dependencies of system components at higher levels, without the need to deal with an enormous quantity of low-level details.\\n In this paper, first we overview the concepts related to lifting and present a conceptual framework that combines subtree collapsion with lifting to enable users to interactively explore and manipulate a software architecture graph. Then we define a set of algorithms that can be used to efficiently propagate dependency edges of a graph to higher levels. We also describe how the results can be integrated into SourceInventory, a software quality monitoring and visualization framework.\",\"PeriodicalId\":169989,\"journal\":{\"name\":\"Principles and Practice of Programming in Java\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2010-09-15\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Principles and Practice of Programming in Java\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/1852761.1852783\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Principles and Practice of Programming in Java","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1852761.1852783","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

摘要

体系结构的最新文档的可用性对于软件维护任务是至关重要的,但它经常缺失或与实现的体系结构不同。一种越来越流行且可行的清晰架构图的方法是从源代码重构它。重建过程的结果是一个具有特定于体系结构的特殊属性的图。现在的软件系统通常非常大,因此重构的体系结构包含很多细节,很难解释。因此,重要的是要有有效的方法来帮助理解和管理架构图。这些方法的目的是尽量呈现信息,以便用户能够理解。两个重要的方法是选择性子树折叠和将系统的低级依赖关系提升到更高的可见级别。这使得架构师能够在更高的层次上调查系统组件的依赖关系,而不需要处理大量的低级细节。在本文中,我们首先概述了与提升相关的概念,并提出了一个将子树折叠与提升相结合的概念框架,使用户能够交互式地探索和操作软件架构图。然后,我们定义了一组算法,可以有效地将图的依赖边传播到更高的层次。我们还描述了如何将结果集成到SourceInventory中,这是一个软件质量监控和可视化框架。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Visualization of software architecture graphs of Java systems: managing propagated low level dependencies
The availability of up-to-date documentation of the architecture is crucial for software maintenance tasks, but it is often missing or differs from the implemented architecture. An increasingly popular and feasible way to get a clear picture of the architecture is to reconstruct it from the source code. The result of the reconstruction procedure is a graph with special, architecture-specific properties. Nowadays software systems are typically very large, so the reconstructed architecture contains a lot of details and is really difficult to interpret. It is important therefore to have efficient methods that help in understanding and managing the architecture graph. The purpose of these methods is to try to present the information so that it is comprehensible to the users. Two important methods are selective subtree collapsion and lifting low level dependencies of the system into higher, visible levels. These enable an architect to investigate the dependencies of system components at higher levels, without the need to deal with an enormous quantity of low-level details. In this paper, first we overview the concepts related to lifting and present a conceptual framework that combines subtree collapsion with lifting to enable users to interactively explore and manipulate a software architecture graph. Then we define a set of algorithms that can be used to efficiently propagate dependency edges of a graph to higher levels. We also describe how the results can be integrated into SourceInventory, a software quality monitoring and visualization framework.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信