一种基于关注点用例模型逆向生成方法.pdfVIP

一种基于关注点用例模型逆向生成方法.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1 一种基于关注点的用例模型的逆向生成方法 邬丽红,李青山,陈平,曹翀,陈伟 (西安电子科技大学软件工程研究所, 陕西 西安 710071) E-mail: wulihong@ 摘 要:用例作为展现程序系统级行为的有效手段,可以辅助理解程序的功能特征。本文针 对面向对象系统提出了一种基于关注点的用例模型逆向生成方法。该方法分析目标系统运行 时的动态信息,把其中方法调用序列的起始方法看作基本用例,使用一定的规则识别出基本 用例间的关系来合并生成用例,然后依据从用户的关注点中获取到的有用信息,对生成用例 进行改进,从而实现了用例模型的逆向生成。通过实验分析,表明该方法在恢复用例模型并 提高其准确性方面是有效的。 关键字:逆向工程,用例模型,关注点,动态分析 1 引言 随着计算机应用范围的发展,软件系统变得日益复杂,从零开始进行软件开发已很少见, 更多的是集成已有系统实现要求功能[1],这要求软件开发人员要正确理解已有系统。作为程 序理解的一种重要方法,逆向工程分析目标系统,认定系统的构件及其交互关系,并提供高 层抽象或其他形式来展现目标系统[2,5] 。UML 中的各种模型可以在逆向工程中用于展现目标 系统,用例模型便是其中之一。 在软件开发中使用用例的思想最初源于 Jacobson 的OOSE (面向对象的软件工程)方法 [3] 。作为UML 中最基础的部分,用例主要用来表达系统的功能性需求或行为。通常,一个 用例代表一个系统或系统一部分的行为,是对一组动作序列的描述[3] 。在正向工程中,用例 的使用非常普遍,它不仅可以用来对系统需求建模,也可以用来测试可执行的系统;在逆向 工程中,用例的逆向研究还比较少,但它的意义却不可忽视:逆向恢复的用例模型可以用于 展现程序系统级的行为,从而可以辅助用户从整体结构上理解系统的功能特征。 本文针对面向对象系统,提出了一种基于关注点的用例模型逆向生成方法,该方法已经 [4,5] 在逆向工程工具XDRE (XiDian Reverse Engineering )中实现 。它首先分析面向对象系统 运行时的动态信息,抽取出其中蕴涵的用例,然后利用用户提供的关注点获取相关信息,对 抽取出的用例进行改进,使其能够更准确地体现系统的行为特点。 2 相关的研究工作 目前,逆向工程中用例模型的逆向生成技术还处于研究试验阶段,相关的方法主要有以 1基金支持:国家自然科学基金(项目编号, 国家教育部博士点基金(项目编号:20030701009)及“十 五” 国防预研项目(项目编号:41306060106) 1 下三种: · 基于线索的方法[6],该方法适用于面向对象系统,它在分析系统静态结构的基础上, 构造方法消息图 (Method-Message Graph, M-M Graph ),从中识别出线索 (Threads ) 用于用例模型的恢复; · 基于系统-用户交互轨迹的方法[1],该方法通过分析系统的动态行为,记录系统- 用户的交互轨迹,使用数据挖掘和模式匹配技术从中挖掘用例模型; · 基于分支调用图(Branch-Reserving Call Grap h, BRCG )的方法[7],该方法使用 BRCG 作为程序代码的中间表示,通过遍历 BRCG 抽取出可能的执行轨迹作为用例。 在这三种方法中,基于线索的方法属于静态分析方法,它很明显的一个不足之处是没有 考虑分支语句;基于系统-用户交互轨迹的方法属于动态分析方法,它要求目标系统本身存 在大量的用户交互,这样就限制了它的适用范围;基于 BRCG

文档评论(0)

nnh91 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档