- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Rational从 Java 代码逆向工程生成 UML 类图和序列图
从 Java 代码逆向工程生成 UML 类图和序列图
本文面向于那些软件架构师,设计师和开发人员,他们想使用 IBM? Rational? Software Architect 从 Java? 源代码来逆向工程生成 UML 类和序列图。 逆向工程经常被用来从已有的源代码中以一种抽象模型 UML 格式来获得丢失的设计文档,其可以用来研究一个系统的静态结构和动态行为,并用于扩展新的特性到产品。 作者详细说明了使用 IBM Rational Software Architect 进行逆向工程的限制,并阐述了克服这些限制的技术。 您将从使用这些技术技巧和窍门中受益,以识别组件,并从 Java 类中产生像 UML 类和序列图这样的高层抽象。
软件结构师、开发人员及测试人员都熟知统一建模语言(UML),该语言适用于文档化用例、类图、序列图和其他图表。也可以通过其他许多软件辅助工具来帮助软件工程师来完成这些工作,或者是正向工程或者是逆向工程的。
正向工程是对一个系统物理结构实现的高层抽象性、逻辑性及独立性设计的传统处理过程。
逆向工程是对一个已存在系统的分析处理,以鉴别它的组成部分及它们的内在联系,从而以高层抽象性来构建一个系统的框架。在大多数情况下,逆向工程用于以抽象的模型 UML 格式从已存在的源代码中,提取已丢失的设计文件,从而同时可得知一个系统的静态结构及动态行为。
类及序列图问题的实质
IBM? Rational? Software Architect 在很多工业中得以广泛采用,因为它提供了很多的特性以帮助逆向工程师。 问题是当您以 Java? 代码逆向构建 UML 类及序列图时,Rational Software Architect 不能自动地产生有用的 UML 类及序列图。 但是已经存在改善 Rational Software Architect 输出产物的技术。本篇文章论证了怎样使用这里介绍的技术技巧,从 Java 代码中识别其组成部分及对 UML 种类和序列图进行高层的抽象。
使用逆向工程,您可以很容易就从正向工程中得到您想要的,本篇文章将介绍在逆向工程以下领域中存在的问题:
发现其抽象类及识别它们的等级结构
产生具有聚合及关联关系的高层抽象性的类图
构建序列图
接下来的部分为每个问题提供一个解决方案,并论证了怎样产生有意义的类及序列图。例子向您展示了怎样从一个已给 Java 项目的源代码中,识别一个系统的继承关系及组成部分,以对 UML 类图及序列图进行高层的抽象。
注意:本篇文章中的例子产生于 Rational Software Architect 7.0 版本
识别一个 UML 类图的继承树
继承关系是一种普遍的对象型的模式。它允许一组类共享共同的状态和行为,从而子类可以从父类那里继承共同的状态和行为。从一个已存在系统中发现整个的继承树结构是相当有用的,因为它能向您揭露在树中什么是顶级类以及什么是子类。而且,您可以识别一个继承树中有哪些共同状态及行为,以及这些共同行为怎样起作用。您可以在探索过程中以以下三种方式使用 Rational Software Architect。
从一个工作场所或工作集中发现其抽象结构
从抽象结构表中选择一个类从而显示其抽象类图
在一个浏览表中研究树状结构,您会发现显示在Abstraction之下的一系列抽象类。
第一步是在一个已存在系统中自动得到其顶级类。这样您就能使用这些类作为切入点以研究继承树中的类。您可以按以下步骤来完成此项。
打开 Rational Software Architect 中Diagram Navigation视图。
在Object-oriented Pattern下,右键点击Abstraction,然后点击Discover Architecture(如图 1 所示)。
这可以揭示整个工作空间的架构。
图 1.发现整个工作空间的架构
图 2 显示了得到一个抽象类图的树状结构所需的剩余步骤:
通过右键点击位于Abstraction之下的类Car来打开内容菜单。
显示右边面板中Car类图,通过选择菜单中的Show Diagram选项。
通过选择并右键点击右边面板中类图Car来打开内容菜单。
通过选择内容菜单中Explore in Browse Diagram选项来产生抽象类图的树状结构。
做完第六步,您将在右边面板中见到Car类图的树状结构。
图 2. 从整个工作场所中发现其抽象结构
结果有以下缺陷:
结构树中被发现类的同类及子类可能被丢失。
除去被发现的抽象类之外,其他类没有属性及操作。
要得到第六步产生的树状结构,还需其他的步骤。您需要增加分离度(如图 3 所示),这决定了从被发现类扩展的层。
图 3. 改变分离度
默认度是 1,这就是
您可能关注的文档
最近下载
- 党员“一带一”活动J计划、实施方案及协议书4.doc VIP
- 05G511:梯形钢屋架 国标图集.pdf VIP
- 东北电力大学2022-2023学年《数据结构》期末考试试卷(A卷)附参考答案.docx
- 2022年广州工商学院退役军人综合考察真题.pdf
- 05-G511 梯形钢屋架 标准图集.pdf VIP
- 成人住院患者静脉血栓栓塞症的预防护理-中华护理学会团体标准2023.pptx
- 线下沙龙策划方案.docx VIP
- 2023年浙江中医药大学数据科学与大数据技术专业《数据库原理》科目期末试卷A(有答案).docx VIP
- 设计说明书(履带式行走底盘).pdf
- 2024华医网继续教育脑卒中的全面康复题库答案.docx VIP
文档评论(0)