【24h】

Software Engineering

机译:软件工程

获取原文
获取原文并翻译 | 示例

摘要

Over the years, visualization tools have evolved to meet the increasing demands of the software industry. Yet, as software projects grow to monumental size and complexity, the need for a new generation of tools is more pressing than ever. Most of the existing construction tools offer nothing more but sophisticated graphical editors for visualization. While these tools help in the analysis and design of small to medium software projects, they are useless for large, complex applications. In this case, it is imperative to complement them with powerful layout features, such as the ones developed by the graph drawing community (see section 2.3). In addition, very few construction tools offer dynamic visualizations, i.e., animation and simulation. It is apparent that more research is needed in this area. Finally, even though some visual programming environments are available on the market, these tools are still not widely used by the software engineering community. It may be interesting to assess these tools and determine the features that will make them more appealing to software engineers. With respect to analysis tools, it seems that most of the work has concentrated on the development of elaborate information extraction methods. Most of the analysis tools rely on general purpose graph layout tools to visualize information. Because these tools are generic, they do not take into account the drawing conventions of accepted software engineering notations (e.g., UML, data flow diagrams, etc). Additionally, these layout tools do not scale. In re-engineering, software artifacts may necessitate the visualization of graphs consisting of tens of thousands of nodes. Hence, in addition to improving the existing layout algorithms, it is necessary to develop new navigation mechanisms to browse through complex representations of code. Or better, it may be the time to investigate new visualization techniques. This chapter starts with a paper by Rainer Koschke from the University of Stuttgart discussing visualization tools for reverse engineering. The author describes Bauhaus, a system which recovers architectural designs from C programs. The visualization of the recovered information is produced by the generic graph editor of Rigi, and the general purpose graph layout tools Graphed and Graphlet. Wim De Pauw et al. from IBM Watson Research Center describe Jinsight, a tool that visualizes the run-time behavior of Java programs. Jinsight allows the user to explore program execution through several linked views (e.g., histogram view, reference pattern view, execution view, etc.). Katherina Mehner from the University of Paderborn discusses a visualization and debugging environment for concurrent Java programs. The UML-based visualization is achieved by integrating the tool with Together. Rainer Oechsle and Thomas Schmitt from the Universities of Trier and Saarbruecken describe JAVAVIS, a system used to visualize the dynamic behavior of sequential JAVA programs. The tool displays the object and sequence diagrams of a running program. Thomas Zimmermann and Andreas Zeller from the Univerity of Passau discuss the visualization of memory graphs. A memory graph is a construct that captures the state of a running program at specific times during its execution. This paper discusses an analysis and extraction method. The visualization is produced by the generic graph layout tool Graphviz.
机译:多年来,可视化工具已经发展起来,可以满足软件行业不断增长的需求。但是,随着软件项目的规模和复杂性不断增长,对新一代工具的需求比以往任何时候都更为紧迫。现有的大多数构造工具只提供用于可视化的复杂图形编辑器。尽管这些工具有助于中小型软件项目的分析和设计,但对于大型,复杂的应用程序却毫无用处。在这种情况下,必须用强大的布局功能(例如,由图形绘制社区开发的功能)对其进行补充(请参见第2.3节)。另外,很少有构造工具提供动态可视化效果,即动画和仿真。显然,在这一领域需要更多的研究。最后,尽管市场上有一些可视化编程环境,但这些工具仍未被软件工程界广泛使用。评估这些工具并确定使它们对软件工程师更具吸引力的功能可能很有趣。关于分析工具,似乎大多数工作都集中在开发详细的信息提取方法上。大多数分析工具都依赖于通用图形布局工具来可视化信息。由于这些工具是通用工具,因此它们没有考虑公认的软件工程符号的绘图约定(例如,UML,数据流程图等)。此外,这些布局工具无法缩放。在重新设计中,软件工件可能需要可视化包含成千上万个节点的图。因此,除了改进现有的布局算法外,还必须开发新的导航机制来浏览复杂的代码表示形式。更好的是,可能是时候研究新的可视化技术了。本章以斯图加特大学的Rainer Koschke的论文作为开始,讨论逆向工程的可视化工具。作者介绍了Bauhaus,这是一个从C程序中恢复体系结构设计的系统。恢复的信息的可视化由Rigi的通用图形编辑器以及通用图形布局工具Graphed和Graphlet产生。 Wim De Pauw等。 IBM Watson研究中心的作者介绍了Jinsight,它是一种可视化Java程序运行时行为的工具。 Jinsight允许用户通过几个链接的视图(例如直方图视图,参考模式视图,执行视图等)探索程序执行情况。帕德博恩大学的Katherina Mehner讨论了并发Java程序的可视化和调试环境。通过将工具与Together集成在一起,可以实现基于UML的可视化。特里尔大学和萨尔布吕肯大学的Rainer Oechsle和Thomas Schmitt描述了JAVAVIS,该系统用于可视化顺序JAVA程序的动态行为。该工具显示正在运行的程序的对象图和序列图。帕绍大学的Thomas Zimmermann和Andreas Zeller讨论了内存图的可视化。内存图是一种在执行期间的特定时间捕获正在运行的程序状态的构造。本文讨论了一种分析和提取方法。可视化由通用图形布局工具Graphviz产生。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号