• 1. Rational Rose建模实践指南 1
  • 2. 导读 Rational Rose是面向对象分析与设计建模最好的工具,它的应用领域宽,应用时间长,也较为成熟。当前,它是IT企业常用的CASE工具之一,计算机及软件专业方向的大学生、研究生和软件工程师必须学会它,掌握它,并用它来解决面向对象分析与设计建模的实际问题。 Rational Rose的理论基础是统一建模语言UML,在学习Rational Rose之前,必须对UML有所了解。2
  • 3. 学习要求 要 求 具 体 内 容 了 解 1)Rational Rose的发展历史 2)Rational Rose的安装与启动 3)Rational Rose的工作界面及图标 理 解 1)Rational Rose与UML之间的关系 2)Rational Rose逆向工程 3)Java代码逆向工程 掌 握 1)用Rational Rose设计用况模型 2)用Rational Rose设计领域模型 3)用Rational Rose设计类模型和包图 4)用Rational Rose设计系统动态模型 5)用Rational Rose进行数据建模 3
  • 4. Rational Rose概述解决面向对象问题的核心是建模,即建立系统的Rose模型。软件系统内部的高内聚、低耦合程度以及维护成本是软件设计的所关注的问题,Rational Rose是基于UML而产生的,是软件开发过程中的不可或缺的一个建模工具。 4
  • 5. Rational Rose主要特点支持多种语言,如Ada、CORBA、Visual Basic、Java等; 支持模型的Internet发布; 可以生成简单、清晰且定制灵活的文档; 双向工程保证了模型和代码高度一致; 支持逆向工程,建立代码框架; 支持多种关系型数据库的建模; 从需求分析到测试,在整个软件生命周期中,都为团队开发提供强有力的支持。5
  • 6. Rational Rose的作用整个开发团队可以使用用况图,来获得一个系统高层次的视图,并且可以协商项目的范畴; 项目经理可以使用用况图和文档,把项目分解成便于管理的多个模块; 系统分析员和客户在看到用况规格描述文档的时候,就可以明白系统将会提供什么样的功能; 技术编写者在看到用况规格描述文档时,就可以着手编写用户手册和培训计划; 系统分析员和软件开发者在看到时序图和协作图时,就可以明白整个系统的逻辑流程、对象以及对象之间的消息;6
  • 7. Rational Rose的作用质量检测员可以使用用况文档、时序图、协作图获得测试脚本所需要的信息; 软件开发人员使用类图和状态图,可以获得系统模块的详细视图以及模块之间的关系; 部署人员在使用组件图和部署图时,就可以明白哪些是可执行文件或DLL文件,以及其他的一些组件是如何创建的,这些组件该部署在网络中哪些地方; 整个团队使用Rose模型,就可以确定从需求到编码的整个过程,并且从编码到需求这个逆过程也是可以追踪的。7
  • 8. 安装Rational Rose (1) 双击Rational Rose 2003的安装程序,进入安装界面,如图2-1所示; (2) 单击【下一步】按钮,进入如图2-2所示界面,此时用户可以选择要安装的产品,一般选择“Rational Rose Enterprise Edition” ; (3) 单击【下一步】按钮,进入如图2-3所示界面,在图2-3中选择“Desktop installation from CD”选项,表示创建一个本地的应用程序而不是网络的; (4) 单击【下一步】按钮,进入安装向导界面,如图2-4所示; (5) 单击【Next】按钮,进入产品声明界面,如图2-5所示; (6) 单击【Next】按钮,进入协议许可界面,如图2-6所示; (7) 单击【Next】按钮,进入安装路径设置界面,如图2-7所示,单击“Change”按钮设置安装路径; (8) 单击【Next】按钮,进入安装设置界面,如图2-8所示; (9) 单击【Next】按钮,进入开始安装界面,如图2-9所示; (10) 单击【Install】按钮,开始拷贝文件到安装目录,如图2-10所示; (11) 安装完毕,将自动弹出如图2-11所示对话框,用户必须对该软件进行注册方能使用该软件; (12) 安装成功,进入Rational Rose界面,如图2-12所示。 8
  • 9. 安装界面 9
  • 10. Rational Rose的使用 Rose 是菜单驱动式的CASE工具,可以通过工具栏使用其常用功能,如图2-13所示。 Rose支持8种不同类型的UML图: 用况图(Use Case Diagram) 活动图(Activity Diagram) 时序图(Sequence Diagram) 协作图(Collaboration Diagram) 类图(Class Diagram) 状态图(Statechart Diagram) 组件图(Component Diagram) 部署图(Deployment Diagram)。 10
  • 11. Rose界面简介 Rose主界面如图2-13所示,它由5个部分组成: (1) Browser窗口: 浏览器窗口,用于快速启动模型; (2) Documentation窗口:文档窗口,用于快速访问通用命令; (3) Diagram窗口:编辑区,用于显示和编辑多个UML图; (4) 日志窗口:用于观看错误和各种各样命令的结果报告; (5) 工具栏窗口:显示有关工具图标。 11
  • 12. 图2-13 Rose的主界面 12
  • 13. Rose建模简介 Rose创建的模型文件后缀名为.mdl,模型的创建的一般步骤: (1) 创建模型 点击菜单栏中【File】项,选择【New】选项,或者直接点击标准菜单栏中的【Create New Model or File】按钮; 弹出如图2-13所示的对话框,选择要用到的框架,单击【OK】按钮,或者【Cancel】按钮。 (2) 保存模型 保存模型是创建模型的逆过程,点击菜单栏中【File】项,选择【Save】选项,或者直接点击标准菜单栏中的【Save Model,File,or Script】按钮; (3) 发布模型 点击菜单栏中的【Tools】项,选择【Web Publisher...】项,跳出如图2-14所示对话框; 在图2-14中,选择要发布到web页面上的内容和HTML页面要保存的位置,单击【Publish】按钮,Rose模型就发布到web页面上,打开所保存的.html文件,就可以看到Rose模型,如图2-15所示。 13
  • 14. 发布模型和保存.html文件的窗口 14
  • 15. 用Rational Rose设计用况模型 用况模型(Use Case Model)又称为用例模型,它是所有用况、参与者以及相关关系的集合,是关于系统功能和环境的模型。一个用况就是系统要实现的一项功能,即使用用况来描述系统要做什么。用况模型是软件需求分析结果的可视化表示。 另外,业务模型、功能模型、数据模型”这三个模型的建模思想与建模方法论,也可以用建模工具Rational Rose来加以实现。 15
  • 16. 理解用况模型中的元素 1.用况图(Use Case Diagram) 确定系统中所包含的参与者、用况和两者之间或其自身的关系,用况图是基于系统要实现的功能的一个可视化描述。 (1) 参与者(Actor) (2) 用况(Use Case) 用况是用来描述参与者使用系统,以达到某个目标时所涉及到的一系列的场景的集合。一个用况的核心并不是上述的图标,而是一个规格化的叙述型文档,它描述了参与者要实现某项功能的事件流程,展示和体现了其所描述的过程中的需求情况。用况名称一般以“做什么”即“动宾词组”形式来命名。 (3) 用况和参与者及自身的关系 泛化关系(generalization) 包含关系(include) 扩展关系(extend) 16
  • 17. 理解用况模型中的元素2. 用况规约(Use Case Specification) 所谓规约,就是业务规则的规格说明。针对每一个用况,都应该有一个用况规约文档与之相对应,以描述该用况的细节内容。每一个用况的用况规约,都应该包含以下内容: (1) 用况名称(Use Case Name).用况的名称一般由“动词+名词”构成,简单说明“做什么”。 (2) 简要说明(Brief Description).简要介绍该用况的作用和目的。 (3) 前置条件(Previous Condition).系统在执行该用况前必须处在的状态。 (4) 事件流(Flow of Event) (5) 用况场景(Use Case Scenario).包括成功场景和失败场景,场景主要由基本流和备选流组合而成。 (6) 特殊需求(Special Requirement).描述与该用况相关的非功能性需求(性能、可靠性、可用性和可扩展性等)以及涉及约束(所使用的操作系统、开发工具等)。 (7) 后置条件(Post Condition).系统在执行完该用况之后应该处在的状态 。 17
  • 18. 用况建模 1.创建用况图 (1) 选定浏览器窗口中的【Use Case View】; (2) 单击鼠标右键,在弹出的快捷菜单中选择【New】; (3) 在菜单【New】产生的下级菜单中选择要新建的图——【Use Case Diagram】。 以上步骤如图2-19所示,生成的用况图,如图2-20所示。 18
  • 19. 用况图 19
  • 20. 用况建模2.设定编辑区工具栏 用户可以根据自己的需要,往当前编辑区工具栏中添加按钮,用户可以根据以下两种方法打开“自定义工具栏”: (1) 选定编辑区工具栏,单击鼠标右键,选择【Customize...】,即跳出如图2-21的对话框; (2) 选择菜单【View】,单击【Toolbars】,在出现的下级菜单中选择【Configure...】, 弹出如图2-21所示对话框。 3.创建参与者、用况 参与者、用况、以及两者的关系,是用况图的主要组成元素。 下面有两种方式创建用况图所需的元素: (1) 单击编辑区工具栏的图标,然后在编辑区单击鼠标左键; (2) 在浏览器窗口中创建所需要的元素,将浏览器中的元素拖动编辑区 20
  • 21. 图2-21 定义工具栏 21
  • 22. 网上求职招聘系统用况建模案例分析 1.对系统的求职者模块进行用况建模 22
  • 23. 2.对系统的招聘者模块进行用况建模 23
  • 24. 3.对系统的管理员模块进行用况建模 24
  • 25. 4.对系统总体功能进行建模 25
  • 26. 5.建立用况规约(Use Case Specification) 下面以求职者模块中的“修改密码”用况为例,创建它的用况规约: 在用况“修改密码”上单击鼠标右键,选择菜单【Open Specification...】,从而打开如图2-26所示对话框。用户可以在用况属性设置标签中对一些属性进行设置。 Name(名称):设置用况的名称; Stereotype(类型):用况的类型; Rank(级别):对用况进行层次划分; 在图2-26所示的用况属性设置窗口中,我们通常将用况规约写在【Documentation】对象窗口中,用况——“修改密码”的用况规约如表2-3所示。 26
  • 27. 图2-26用况属性设置窗口 27
  • 28. 6.创建活动图描述用况 28
  • 29. 用Rational Rose设计领域模型 领域模型是什么?它是某行业领域内现实世界概念类的一种表示,而不是软件组件的一种表示。领域模型不是描述软件类的图集,也不是有着职责的软件对象。通俗地说,领域模型是某行业领域相关的实体的集合,是某行业领域中的任何事物或者是人的可视化的表示,它关注的是实体本身,而不在于它们的属性和操作。 领域模型是概念类或者系统相关的对象的可视化表示。领域模型一般包含的元素有:概念类、概念类之间的关联、概念类的基本属性。 由此可见,领域模型有点类似于概念数据模型,即有点类似于实体关系图(或E-R模型)。 创建领域模型,实际上就是在建立类图(Class Diagram),操作方法如下: 选定浏览器窗口中的用况视图,单击鼠标右键,选择菜单【New】,在下级菜单中选择【Class Diagram】菜单项 29
  • 30. 使用Rational Rose建立领域模型 打开新建的领域模型,即类图,在编辑区工具栏中单击【Class】按钮,在编辑区单击任何位置。如果要对类进行划分,可以在浏览器窗口中创建类所在的包,然后在包中创建相关的类。类图如图2-28所示。 类之间的最为常见的关系有4种:关联、泛化、聚合、依赖。关联是描述相关的两个事物之间进行通信的一种关系。类之间的关联(Association)关系具有一些属性,用户可以根据需要,在图2-29所示的关联关系属性设置对话框中进行设置。 30
  • 31. 领域模型窗口 31
  • 32. 网上求职招聘系统的领域模型案例分析 1.创建求职者领域模型 32
  • 33. 2.添加属性,完整的求职者领域模型如图2-31所示 33
  • 34. 用Rational Rose设计类模型和包图 建立类模型和包图,是静态角度来分析系统的。因此,类图和包图实际上都属于系统的静态模型。这一节我们将讨论如何在Rational Rose的逻辑视图中,创建类以及如何将类组织成包。 类图(Class Diagram)是面向对象系统的核心,它的主要元素包括类、对象、接口以及它们之间的关系。 对一个复杂的面向对象的系统进行建模,我们需要建立大量的类、接口、关联以及UML图,以达到确定系统需求以及系统设计的目的。如果将这些元素凌乱、分散地放在用况视图(Use Case View)、逻辑视图(Logical View)、组件视图(Component View)中,就会对维护和控制系统的需求和总体结构造成很大的麻烦。设计一些良好的包,将建模过程中的元素有效地组织起来,就可以保证高内聚和低耦合。同时通过控制包的可见性,就能有效地控制对包中的内容的访问。 包图的元素包括包、包与包之间的联系,包图实际上是通过类图(Class Diagram)来实现。 34
  • 35. 创建类图 35
  • 36. 创建包图 36
  • 37. 网上求职招聘系统类图和包图案例分析 该类图有7个实体类: UserBean(用户实体) PersonBean(求职者实体) CompanyBean(企业实体) AdminBean(管理员实体) ApplyInfoBean(求职信息实体) NewsBean(新闻实体) JobInfoBean(招聘信息实体) 图中只展示了它们之间存在的主要关系:对于PersonBean、CompanyBean、AdminBean而言,他们首先都是用户,因此他们与UserBean之间存在泛化关系。PersonBean与ApplyInfoBean之间存在“(release)发布”关联关系;AdminBean与NewBean之间存在“manage(管理)”关联关系;CompanyBean与JobInfoBean之间存在“发布(putout)”关联关系。 37
  • 38. 38
  • 39. 类与代码的对应关系在Rational Rose中,上述的实体类可以使用正向工程生成与之对应的代码。操作过程如下: (1) 选择类框图中需要生成代码的类; (2) 单击【Tools】菜单,选择【Java/J2EE】菜单项,在其下级菜单中选择【Generate Code】,可以看到如图2-35所示对话框; (3) 单击【Assign】按钮,将Rose中的类部署到类路径(该路径可以通过单击【Edit...】按钮来设置); (4) 单击【OK】按钮,生成代码框架; (5) 代码生成完毕。 网上求职招聘系统分为三个模块:求职者模块、招聘者模块、管理员模块。每个模块的设计都是按照MVC架构设计的:边界类包集合了表现层的所有类(边界类);控制包集合了控制层的所有类(控制类);实体包集合了所有业务逻辑层和数据的类(实体类)。 39
  • 40. 图 2-35 生成代码 40
  • 41. 用Rational Rose设计系统动态模型 系统的动态模型有点类似于“业务模型”,它描述了系统随时间变化的行为,这些行为是用从静态模型中抽取的系统的瞬间值的变化来描述的。 在UML的表现上,动态模型主要是建立系统的交互图(Interaction Diagram)和行为图。 交互图包括时序图和协作图; 行为图包括状态图和活动图。 交互图描述了一个交互,它由一组对象和它们之间的关系组成,并且还包括在对象之间传递的消息。 41
  • 42. 动态模型系统的动态模型有点类似于“业务模型”,它描述了系统随时间变化的行为,这些行为是用从静态模型中抽取的系统的瞬间值的变化来描述的。 在UML的表现上,动态模型主要是建立系统的交互图(Interaction Diagram)和行为图。 交互图包括时序图和协作图;行为图包括状态图和活动图。交互图描述了一个交互,它由一组对象和它们之间的关系组成,并且还包括在对象之间传递的消息。 42
  • 43. 理解时序图 时序图又叫顺序图,它是强调消息时间顺序的交互图,描述了类以及类间相互交换以完成期望行为的消息。时序图一般包括如下元素:类角色、生命线、激活期和消息。 (1) 类角色(Class Role). 类角色代表时序图中的对象在交互中所扮演的角色。类角色一般代表实际的对象。 (2) 生命线(Lifeline). 生命线代表时序图中的对象在一段时期内的存在。每个对象底部中心都有一条垂直的虚线,这就是对象的生命线,对象间的消息存在于两条虚线间。 (3) 激活期(Actiation). 激活期代表时序图中的对象执行一项操作的时期。每条生命线上的窄的矩形代表活动期。 (4) 消息(Message). 消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模。信息用于在实体间传递信息,允许实体请求其他的服务,类角色通过发送和接收信息进行通信。 43
  • 44. 网上求职招聘系统的登录操作时序图 44
  • 45. 时序图建模要点 (1) 设置交互的语境,这些语境可以是系统、子系统、操作、类、用况和协作的一个脚本。 (2) 通过识别对象在交互中扮演的角色,根据对象的重要性,将其从左向右的方向放在时序图中。 (3) 设置每个对象的生命线。一般情况下,对象存在于交互的整个过程,但它也可以在交互过程中创建和撤销。 (4) 从引发某个交互的消息开始,在生命线之间按自上而下的顺序画出随后的消息。 (5) 设置对象的激活期,这可以可视化实际计算发生时的时间点、可视化消息的嵌套。 (6) 如果需要设置时间或者空间的约束,可以为每个消息附上合适的时间和空间的约束。 (7) 给某控制流的每个消息附上前置条件或者后置条件,这可以更详细地说明这个控制流。 45
  • 46. 理解协作图 。协作图只对相互间有交互作用的对象和这些对象间的关系建模,而忽略了其他对象和关联。 协作图一般包括如下元素:类角色、关联角色和消息流。 (1) 类角色(Class Role) 类角色代表协作图中对象在交互中所扮演的角色,矩形中的对象代表类角色。类角色的代表参与交互的对象,它的命名方式和对象的命名方式一样。 (2) 关联角色(Association Role) 关联角色代表协作图中连接在交互中所扮演的角色。连接(即连线或路径)代表关联角色。 (3) 消息流(Message Flow) 消息流代表协作图中对象间通过连接发送的消息。 46
  • 47. 网上求职招聘系统的登录操作协作图 47
  • 48. 协作图建模要点(1) 设置交互的语境,语境可以是系统、子系统、操作、类、用况或用况的脚本。 (2) 通过识别对象在交互中所扮演的角色,开始绘制协作图,把这些对象作为图的顶点放在协作图中。 (3) 在识别了协作图对象之后,为每个对象设置初始值,如果某对象的属性值、标记值、状态或角色在交互期发生变化,则在图中放置一个复制对象,并用变化后的值更新它,然后通过构造型<>或<>的消息将两者连接。 (4) 设置了对象的初始值后,根据对象间的关系开始确定对象间链接。一般先确定关联的链接,因为这是最主要的,它代表了结构的链接。 (5) 从引起交互的消息开始,按消息的顺序,把随后的消息附到适当的链接上,这描述了对象之间消息传递,可以用带小数点的编号来表达嵌套。 (6) 如果需要说明时间或空间的约束,可以用适当的时间或空间约束来修饰每个消息。 (7) 在建模中,如果想更详细地描述这个控制流,可以为交互过程的每个消息附上前置条件和后置条件。 48
  • 49. 理解状态图状态图是UML中对系统动态方面建模的图之一。状态图是通过类对象的生命周期模型,来描述对象随时间变化的动态行为。状态图显示了一个状态机,它基本上是一个状态机中的元素的一个投影,这就意味着状态图包括状态机的所有特性。状态图和其他图的区别在于它的内容。状态图通常包括如下内容:状态、转换 。 (1) 状态 状态定义对象在其生命周期中的条件或状况,在此期间,对象满足某些条件,执行某些操作或等待某些事件。状态用于对实体在其生命周期中的状况建模。 (2) 转换 转换包括事件和动作。事件是发生在时间空间上的一点值得注意的事情。动作是原子性的,它通常表示一个简短的计算处理过程(如赋值操作或算术计算)。 49
  • 50. 使用Rational Rose建立用户登陆状态图 50
  • 51. 状态图建模要点 (1) 识别一个要对其生命周期进行描述的参与行为的类; (2) 对状态建模,即确定对象可能存在的状态; (3) 对事件建模,即确定对象可能存在的事件; (4) 对动作建模,即确定当转变被激活时,相应被执行的动作; (5) 对建模结果进行精化和细化。 51
  • 52. 理解活动图 活动图(Activity Diagram)主要描述操作(方法)实现中所完成的工作及用况实例或对象中的活动。它是状态图的一个变种,与状态图的区别是:活动图的主要目的是描述动作(执行的动作和活动)及对象改变的结果;活动图中的动作可以放在泳道中,泳道聚合一组活动,并指定负责人和所属组织。 主要元素有: (1) 泳道(Swimlane) (2) 活动(Activity) (3) 状态转移(State Transition) (4) 决定(Decision) 52
  • 53. 用Rational Rose建立求职者模块中的“搜索工作”活动图 53
  • 54. 活动图建模要点 在建模的过程中,我们通常通过以下步骤实现: (1) 识别要对其工作流进行描述的类; (2) 对动态状态建模; (3) 对动作流建模; (4) 对对象建模; (5) 对建模结果进行细化。 系统的动态模型建模,有点类似于“业务模型”建模。在“功能模型、业务模式、数据模型”中,我们已经介绍了两个,剩下的数据模型建模,将在下一节中介绍。 54
  • 55. 用Rational Rose进行数据建模 Rational Rose不仅支持需求阶段对系统进行功能建模,支持设计阶段对系统进行详细设计,而且还支持持久层数据库建模,即“数据模型” 建模。利用Rational Rose中的 Data Modeler,可以进行数据库建模,它允许将UML对象模型用作逻辑模型,将数据模型用作物理模型,并协助用户保持这两者之间的同步。 55
  • 56. 创建数据模型的主要步骤 (1) 创建一个数据库; (2) 创建一个支持数据建模的schema,并且将该计划指派给数据库; (3) 创建域包和域; (4) 创建表; (5) 在表中创建一些详细的要素(约束、触发器、索引、主键); (6) 添加表之间的关系和外键; (7) 创建视图(view); (8) 基于数据模型生成对象模型; (9) 生成数据库; (10) 在更新一些元素过程中保持数据库和数据模型的同步。 上述步骤不是都是必须的,但创建数据库和计划是必须要做的。 56
  • 57. 对网上招聘系统的用户进行数据建模 57
  • 58. 数据模型和对象模型的转换 Rational Rose可以由一个数据模型自动生成一个对象模型,同时也可以由一个对象模型自动生成一个数据模型。Rational Rose的这一特性保证了数据的一致性。 由数据模型生成对象模型的一步骤如下: (1) 展开浏览器窗口中的逻辑视图,打开【Schemas】包,选定要进行转化的数据模型所在的计划(schema); (2) 单击鼠标右键,选择【Data Modeler】选项,在下级菜单中选择【Transform to Object Model】选项,出现如图2-52所示对话框; (3) 在对话框中输入目标对象模型包的名字以及它的前缀; (4) 单击【OK】按钮,生成对象模型,如图2-53所示; 由对象模型生成数据模型,是数据模型生成对象模型的逆过程,请读者自行练习一下。 58
  • 59. 图2-52 数据模型生成对象模型 59
  • 60. 由数据模型生成数据库 使用Rational Rose,可以在任何时候从数据模型中导出数据库或者是数据库定义语言DDL的脚本。由数据模型生成数据库的一般过程为: 1.展开浏览器窗口中的逻辑视图,打开【Schemas】包,选定要进行转化的数据模型所在的计划(schema); 2.单击鼠标右键,选择【Data Modeler】选项,在下级菜单中选择【Forward Engineer...】选项,出现如图2-54所示对话框; 3.单击【Next】按钮,进入如图2-55所示对话框; 4. 在对话框中选择所需要的数据库元素; 5. 单击【Next】按钮,进入图2-56对话框; 6. 单击【Browse】按钮,保存DDL脚本,单击【Next】按钮,进入如图2-57所示对话框(注:如果要立即执行脚本文件,选中【Execute】选项,填写所有数据库连接信息); 7. 单击【Finish】按钮,保存成功。 60
  • 61. 从数据模型中导出数据库的窗口 61
  • 62. Rational Rose逆向工程 逆向工程(Reverse Engineer)是从现有系统的代码,逆向生成软件开发周期中原先的模型。其目的是通过生成的模型,可以了解系统原来的组织和结构,方便团队的讨论和进一步的改进,从而实现了通过Rational Rose可以得到系统代码所对应的UML框图(类图、数据模型图、组件图等)。 Rational Rose所支持的逆向工程功能强大,它不仅可以支持多种高级语言(Java、C++、VB、VC、CORBA等)的逆向工程,而且还支持多种数据库(SQLServer、Oracle、DB2、Sybase等)数据库的逆向工程。 62
  • 63. 网上求职招聘系统 Java代码逆向工程 (1) 单击菜单栏上的【Tools】选项,选择子菜单【Java/J2EE】,在其子菜单中选择【Reverse Engineer...】选项,弹出如图2-58所示的对话框; (2) 单击【Edit CLASSPATH...】按钮,弹出如图2-59所示对话框;添加需要进行逆向工程的代码的路径; (3) 单击“Classpaths”栏上的“New(Insert)”,新建一个路径,如图2-60所示; (4) 单击【…】按钮,添加要进行逆向工程的代码所在的路径; (5) 路径添加完毕,返回图2-58所示对话框,在“Classpaths”区的路径中选择进行逆向工程的代码; (6) 点击【Add All】按钮,再点击【Select All】按钮,如图2-61所示; (7) 点击【Reverse】按钮,开始进行逆向工程; (8) 逆向工程结束,点击【Done】按钮,在浏览器窗口中可以看到如图2-62所示的树. 63
  • 64. 逆向工程操作窗口 64
  • 65. 设置全局选项 全局选项可以通过单击『Tools』菜单,选择[Options。。。]菜单项来设置(1) 设置字体 在如图2-63所示的窗口中,单击【Font】按钮,弹出如图2-64所示对话框,可以设置字体。 (2) 设置颜色 在如图2-63所示的窗口中,单击【Line Color】按钮,设置所选对象的边框的颜色,单击【Fill Color】按钮,可以在图2-65中选择要填充的颜色。 65
  • 66. 设置全局选项的窗口66