摘要
摘要
随着软件系统日益复杂和庞大,软件开发、维护以及进化的大部分工作和主
要成本集中在对现有系统的理解上。在软件领域中,逆向工程的目标是利用工程
化的方法和技术分析软件系统组件及其之间的相互关联,并以另一种方式或更高
抽象层次的形式来描述该系统。逆向工程是一种辅助程序理解的重要手段。
论文通过对逆向工程规范活动的分析,以模型抽象为研究重点,结合面向对
象软件系统固有的动态特性,采用以动态分析为主、静态分析为辅的研究思路,
提出了一组用于实现面向对象软件逆向工程中动态模型抽取以及动态模型转换的
Reverse
机制和算法。这些机制和算法都已经在逆向工程工具集XDRE(XiDian
Engineering,西电逆向工程)中实现。为了验证算法的正确性、有效性以及相关
综合性能,本文对其还进行了系统的实验研究。作者研究工作的具体内容如下:
(1)为了实现动态模型之间的自动转换,首先分析了UML序列图和状态图之
间的关系,说明在序列图和状态图之间进行自动转换是可行的。其次,对BK算
法的核心思想进行了分析,并给出了BK算法与动态模型转换之间的联系。基于
上述分析,根据动态分析获取的信息以及结合动态模型转换的特点,应用BK算
法从两个不同的抽象层次(对象级和进程级)实现了由多个uML序列图自动合
成状态图的工作,分别得到了对象级状态图和进程级状态图。最后,通过实验结
果验证了动态模型自动转换算法的正确性和有效性;并对该算法的效率进行了分
析。
(2)提出了一种合并模式的匹配算法。由于合成的简单状态图不能适应复杂软
件系统的要求,因此有必要对简单状态图进行进一步地抽象。本文提出了一种根
据用户给定的合并模式对合成的简单状态图进行再抽象的方法。其主要思想是,
用户给定一种合并模式,在简单状态图中寻找与这种模式相匹配的状态和迁移,
并将它们合并,从而进一步提高合成的状态图的抽象层次。
(3)提出了一种基于XOR状态的分层抽象简单状态图的方法。在简单状态图
中引入层次概念,是增加状态图可理解程度的一种重要手段。通过对XOR状态
语义的分析,提出了一种寻找简单状态图中具有异或关系的状态,从而形成超状
态的思想,以提高状态图的抽象层次,并给出了实现算法。
(4)给出了在简单状态图中添加UML概念的方法。无论采用何种算法,所生
成的状态图只能是实际系统的一个近似描述,而且并不完全符合UML的标准。
通过对简单状态图特性的分析,发现在包含两种特殊子图的情况下,可以添加
UML概念,并给出了形成UML中的内部动作、进入动作、退出动作和迁移上的
Ⅱ 摘要
动作的规则和条件。
(5)提出了一种基于类中的非公有方法创建层次状态图的方法。该方法已经在
XDRE中实现。
关键词:逆向工程动态模型程序理解屡次状态图面向对象模式
Abstract 111
Abstract
Forthe ofsoftware mainworksofsoftware
complexity systems,the development,
maintenanceandevolutionhavebeenfocusedonthe of
existing
comprehension
theresearchfield aimofreverse isto
of identify
systems.In software
您可能关注的文档
最近下载
- 光伏电站建设项目管理重点.docx VIP
- 鱼类学复习资料.pdf VIP
- 满帮-货运平台满帮集团上市IPO招股书(英)-2021.6.21-315页.pdf VIP
- 2025-2026学年统编版(新教材)小学道德与法治三年级下册《幸福生活是奋斗出来的》教学设计.pdf VIP
- 七年级数学上期末试卷下载(带参考答案).pdf VIP
- 宠物血液透析中心商业发展计划书.docx
- 建筑智能化系统施工收费标准(完整版).docx VIP
- DMD无掩模数字光刻机:原理、技术与应用创新的深度剖析.docx VIP
- 北京事业单位笔试真题2025.docx VIP
- TCQFX001-2024四川省机动车维修工时定额标准.pptx VIP
原创力文档

文档评论(0)