论文部分内容阅读
目前,一些软件规模庞大,结构复杂,这些给后继的维护工作带来了很多困难。一般来讲,维护阶段的关键,也是最大的难点在于阅读并且真正理解他人编写的程序。根据这种需求,我们针对面向对象语言Java,设计一个分析Java源代码,以UML类图和抽象逻辑结构图(ALSD)来可视化表示分析结果的逆向工具。 UML已成为设计面向对象系统的一种标准。它使用面向对象的概念来分析、描述软件系统并构造系统模型。逆向工程的目标是在高层抽象层次上抽取程序的有关信息,逆向工程的过程是复杂的。逆向工程可以从源程序抽取出设计信息,但是,抽象的层次、文档的完整性、工具和分析人员一起工作的程度,以及过程的方向性却是高度可变的。 本文主要对逆向变换方法的核心问题—逆向变换规则与机制进行了研究,提出了Java语言向UML的映射规则以及JAVA过程蓝图到抽象逻辑结构图的逆向映射机制。重点研究了在ALSD的三层结构基础上,通过分析Java源代码,首先构造Java语言到ALSD实现层的映射机制;然后构造实现层到逻辑层的语义聚集;最后构造逻辑层到概念层的逆向映射规则。我们所设计的工具着重于通过相关的分析,抽取程序信息并可视化信息,辅助程序理解。这对于减轻维护的工作量,加快产品的更新具有重要意义。