- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1
一种利用动态信息迭加生成用例模型的方法
曹翀,陈平
西安电子科技大学软件工程研究所, 陕西 西安(710071 )
E-mail:caochong@
摘 要:在逆向工程中,逆向生成的用例模型可以有效的帮助用户在系统的整体结构上理解
软件的功能和行为特点,因此对于理解面向对象的软件系统具有重要意义。本文提出了一种
利用动态信息迭加生成用例模型的方法。该方法可以利用多次收集到的动态信息,迭加生成
目标系统的用例模型并以UML 用例图的形式呈现。通过实验测试,使用该方法恢复出来的用
例模型接近于实际模型,证明了该方法的有效性。
关键词:逆向工程;UML;用例模型;程序分析;迭加生成
1 引 言
软件逆向工程是分析软件构件和它们的关系,以另一种形式或在更高抽象层次上描述该
软件的过程 [1]
。UML (Unified Modeling Language )用例图是对系统进行动态建模的五种图
之一,它主要用于对系统、子系统和类的行为进行建模,描述一组用例、参与者以及它们之
间的关系。在逆向工程中,用例模型的恢复技术仍是一个全新领域,但它的重要性却十分突
出。通过逆向生成的用例模型,用户能够从系统的整体结构上理解软件的功能和行为特点;
在此基础上,用户能够来完成自己所要进行的活动,如系统的维护和升级、系统文档的维护
和恢复、再工程以及系统的移植等。
目前已有一些针对用例模型逆向生成的研究成果 [2,3,4]
,但这些方法主要基于研究目
的,使用比较复杂,实用化难度较高。经过实验研究,曾提出一种基于动态信息并结合静态
信息的用例模型恢复方法,该方法能够比较有效的恢复用例模型,且具有较高的生成效率。
但是,由于该方法是以单次收集到的动态信息为基础,受限于单次收集到的动态信息的不全
面性,导致了该方法不能生成完整的用例模型。经过进一步的实验研究,本文以上述的用例
模型恢复方法为基础,提出了一种利用动态信息迭加生成用例模型的方法,该方法可以迭加
多次收集到的动态信息,然后以此为基础,并结合适当的静态信息重新生成用例模型。相对
于旧有的方法,该方法生成的用例模型更为全面和合理,而且生成效率仍然较高,恢复出的
用例模型有助于用户的理解。
1基金支持:国家自然科学基金(项目编号, 国家教育部博士点基金(项目编号:20030701009)及“十
五”国防预研项目(项目编号:41306060106)
2 已有的用例模型恢复方法
[2] [3]
基于线索的用例模型恢复方法 和分支调用图方法 ,这两种方法都是通过对目标系
统的源代码进行静态分析从而恢复用例模型,因此对于规模较大的目标系统效率较为低下。
通过对系统-用户交互界面的追踪来发掘用例的方法 [4]
,该方法通过动态分析从系统和用
户的交互过程中来发掘用例模型,由于该方法要求系统存在大量的用户交互接口,这样就限
制了它的适用范围,对于批处理系统或者是那些不存在或者存在很少用户接口的系统则不能
使用该方法来逆向出系统的用例模型。
一种基于动态信息并结合静态信息的用例模型恢复方法,此方法利用从目标系统单次运
行中收集到的动态信息,并适当结合主要记录类间关系的静态信息,逆向生成用例模型。首
先,从收集到的单次动态信息中提取出基本用例序列;其次,按照相应的用例抽取和合并规
则,分别抽取出循环、顺序、分支和独立用例;再次,对得到的用例进行适当的调整,补充
必要的用例以及对用例分层;最后,以UML 用例图的
文档评论(0)