【动态信息收集与用例模型恢复技术的研究】
在软件逆向工程中,理解和重构软件系统的需求至关重要,而用例模型是表达系统功能和行为的重要工具。逆向工程中,用例模型的恢复技术能帮助用户从整体上把握软件的功能特性。本文主要探讨了一种利用动态信息迭加生成用例模型的方法,旨在提高模型的完整性和准确性。
1. 用例模型恢复技术概述
UML用例图是动态建模的关键部分,用于描绘系统、参与者以及它们之间的交互关系。然而,用例模型的逆向生成一直是个挑战。现有的方法如基于线索的用例模型恢复和分支调用图方法,依赖于静态代码分析,效率较低,尤其在处理大规模系统时。另外,通过追踪系统-用户交互界面的方法虽然能有效发掘用例,但受限于系统必须有丰富的用户接口,对于批处理系统并不适用。
2. 基于动态信息的用例模型恢复方法
过去的研究提出了一种结合动态信息和静态信息的恢复方法,通过单次运行中的动态信息提取基本用例序列,然后根据规则抽取、合并用例,最终形成用例模型。这种方法虽然有效,但因依赖单次动态信息,可能导致模型不全面,甚至有偏差。
3. 动态信息迭加生成用例模型
针对上述问题,本文提出了动态信息迭加的方法。对多次运行收集到的动态信息进行处理,提取关键方法调用序列形成基本用例序列。然后,将不同运行的序列迭加,进一步抽取出用例信息。接下来,依据调整规则优化用例,形成层次化的用例模型,最终以UML用例图的形式呈现。这种方法克服了单次动态信息不足的局限,提高了模型的全面性和合理性。
4. 方法流程
- 处理单次动态信息,获取基本用例序列。
- 合并不同运行的用例序列。
- 根据迭加规则处理,生成新的基本用例序列。
- 抽取并合并用例信息。
- 调整用例,补充和完善模型。
- 保存为XML文件,完成用例模型恢复。
- 使用 Rational Rose 或其他工具进一步细化和完善模型。
5. 实验与效果
通过实验验证,该迭加生成方法恢复的用例模型接近实际模型,证明了其有效性。这种技术对于软件维护、升级、文档恢复、再工程和系统移植等活动提供了有力支持。
动态信息迭加生成用例模型的技术提升了逆向工程中用例模型的恢复质量,使得模型更全面、合理,对于理解和重构面向对象的软件系统具有重要意义。未来的研究可能将进一步探索如何优化迭加过程,以及如何更好地结合静态信息,以提高模型的精确度和实用性。