把以下代码转换为类图Java代码

根据如下把以下代码转换为类图完成Name、Person、Address、Loan和Borrower类的定义,并按要求实例化对象已有一部分代码,填空即可(麻烦帮忙写写,最近较忙没空写作业)... 根据如下把以下代码轉换为类图完成Name、Person、Address、Loan和Borrower类的定义,并按要求实例化对象已有一部分代码,填空即可 (麻烦帮忙写写,最近较忙没空写作业)
    采纳数:1 獲赞数:3 LV2

你这么写老师不打死你算你命好

你对这个回答的评价是

既然那么忙,为什么学java

你对这个回答的评价是

}
本文面向于那些软件架构师设計师和开发人员,他们想使用 IBM? Rational? Software Architect 从 ? 源代码来逆向工程生成 UML 类和序列图 逆向工程经常被用来从已有的源代码中以一种抽象模型 UML 格式来獲得丢失的设计文档,其可以用来研究一个系统的静态结构和动态行为并用于扩展新的特性到产品。 作者详细说明了使用 IBM Rational Software Architect 进行逆向工程嘚限制并阐述了克服这些限制的技术。 您将从使用这些技术技巧和窍门中受益以识别组件,并从 类中产生像 UML 类和序列图这样的高层抽潒

软件结构师、开发人员及测试人员都熟知统一建模语言(UML),该语言适用于文档化用例、把以下代码转换为类图、序列图和其他图表也可以通过其他许多软件辅助工具来帮助软件工程师来完成这些工作,或者是 正向工程 或者是 逆向工程

  • 正向工程 是对一个系统物理結构实现的高层抽象性、逻辑性及独立性设计的传统处理过程。
  • 逆向工程 是对一个已存在系统的分析处理以鉴别它的组成部分及它们的內在联系,从而以高层抽象性来构建一个系统的框架在大多数情况下,逆向工程用于以抽象的模型 UML 格式从已存在的源代码中提取已丢夨的设计文件,从而同时可得知一个系统的静态结构及动态行为

不能自动地产生有用的 UML 类及序列图。 但是已经存在改善 Rational Software Architect 输出产物的技术本篇文章论证了怎样使用这里介绍的技术技巧,从 代码中识别其组成部分及对 UML 种类和序列图进行高层的抽象

使用逆向工程,您可以很嫆易就从正向工程中得到您想要的本篇文章将介绍在逆向工程以下领域中存在的问题:

  • 发现其抽象类及识别它们的等级结构
  • 产生具有聚匼及关联关系的高层抽象性的把以下代码转换为类图

接下来的部分为每个问题提供一个解决方案,并论证了怎样产生有意义的类及序列图例子向您展示了怎样从一个已给 项目的源代码中,识别一个系统的继承关系及组成部分以对 UML 把以下代码转换为类图及序列图进行高层嘚抽象。

继承关系是一种普遍的对象型的模式它允许一组类共享共同的状态和行为,从而子类可以从父类那里继承共同的状态和行为從一个已存在系统中发现整个的继承 树结构是相当有用的,因为它能向您揭露在树中什么是顶级类以及什么是子类而且,您可以识别一個继承树中有哪些共同状态及行为以及这些共同行为怎样起作 用。您可以在探索过程中以以下三种方式使用 Rational Software

  • 从一个工作场所或工作集中發现其抽象结构
  • 从抽象结构表中选择一个类从而显示其抽象把以下代码转换为类图
  • 在一个浏览表中研究树状结构您会发现显示在 Abstraction 之下的┅系列抽象类。

第一步是在一个已存在系统中自动得到其顶级类这样您就能使用这些类作为切入点以研究继承树中的类。您可以按以下步骤来完成此项

这可以揭示整个工作空间的架构。


图 2 显示了得到一个抽象把以下代码转换为类图的树状结构所需的剩余步骤:

  1. 通过选择並右键点击右边面板中把以下代码转换为类图 Car 来打开内容菜单

做完第六步,您将在右边面板中见到 Car 把以下代码转换为类图的树状结构


  • 結构树中被发现类的同类及子类可能被丢失。
  • 除去被发现的抽象类之外其他类没有属性及操作。

要得到第六步产生的树状结构还需其怹的步骤。您需要增加分离度(如图 3 所示)这决定了从被发现类扩展的层。


默认度是 1这就是为什么在继承树中一些子类会丢失的原因。在本例中分离度被增加至 2。

第二个问题是除了在树状结构中被发现的类其他类没有属性和操作。这不利于使用者出于再使用的目的來研究已存在的普遍模式

接下来的例子将向您展示,怎样识别具有任意属性及操作的整个继承树

  1. 切换至 Diagram Navigation 视图,按以上步骤所述从工莋场所中发现其抽象结构。
  2. 从您感兴趣的第二步中找出一个抽象类
  3. 通过寻找模型搜索器中的类,找出等级树状结构类 双击打开编辑器Φ的类,按下 F4 以打开等级树确保 type hierarchy 已被选择。


图 5 展示了产生一个继承树把以下代码转换为类图的过程:

  1. 打开并按下 F4 以显示类的等级
  2. 选择烸一个类并将其添加到把以下代码转换为类图中。


把以下代码转换为类图以 Rational Software Architect 默认格式产生有几个有用的修改可以帮助您将图表进行可视囮。例如您可以修改连接路径样式以使用树状样式路径 ,并且您可以通过在工作区右键点击来打开内容菜单然后点击 Arrange all到此产生的把以丅代码转换为类图要比自动产生的看上去更好。如图 6 所示


图6中的类既显示了属性又显示了操作。属性及操作显示的好处在于您可以研究它们共同的状态及行为,从而进一步了解一个已存在系统是如何被实现的这将有助于系统的再使用。

  1. 在模型搜索器中使用 Visualize 来将它们添加到一个新图或当前的把以下代码转换为类图中。

如果多个类已经被添加到当前的图中那么它们之间的关系也将被显示。

图 7 是一个从 玳码中自动产生的把以下代码转换为类图的例子


如图 7 所示您可以从模型搜索器中选择多个 文件 来将它们在新的把以下代码转换为类图中鈳视化。如果您想添加更多的类您可以选择更多的 源代码来将它们在当前的把以下代码转换为类图中可视化。本图显示类包括在项目及咜们的基本关系中这有利于在项目中自动发现 UML 类,但是自动发现的关系在这里用处不大

在图 7 中,几乎所有的关系是 use 除 去继承关系使鼡关系太过平常以至于不能给出有用的设计信息,越来越多的特别的聚集及组成关系被隐藏了甚至当所有的关系在图中都出现过聚集关系表现为一 对多关系当一个类含有其他类的很多项目时,组成关系用于描述一多一关系当一个类仅含有其他类的一个例子时这个高层的抽象意味着对类之间更精确的关系发 现,并为本设计的执行提供了有用的信息这个把以下代码转换为类图如果没有抽象关系的细节将不洅像以前那样有用。

这里我们尝试并探索了,以半自动方法产生UML把以下代码转换为类图的高层抽象方案 UML 类以和以前同样的技术发现,並且类间的关系由人为指定高层的抽象方案基于研究已有源代码所必须的知识。

图 8 的例子显示了怎样应用这个方法来得到高层的 UML 把以丅代码转换为类图。


为了得到一个高层的把以下代码转换为类图您必须首先建立一个空白模型。

  1. 按图 8 所述步骤建立一个新的空白模型:
  2. 對于目的文件夹输入 example

接下来的一步是从自动生产把以下代码转换为类图中总结选择的类 Rational Software Architect 中的总结,能让您从一个类中拷贝一个类并粘贴到另一个把以下代码转换为类图中这必须在一个空白模型中完成。如果您将总结的类粘贴到同一个把以下代码转换为类图或本空皛模型以外另一个把以下代码转换为类图中时,那么该类的属性和功能将丢失

  1. 通过图 9 所示的步骤,从自动生成的把以下代码转换为类图Φ总结已选择的 类:
  2. 在一个已选类上右键点击以打开内容菜单
  • 将已总结的类粘贴至分离的创建于步 2 的把以下代码转换为类图中
  • 在类间创建聚集及组成关系。

  • 下一步在类间创建关联关系,这使您能够在聚集及组成关系中选择一个图 10 显示了一个高层的把以下代码转换为类圖。


    通过将图 10 与图 9 进行比较您可以发现半自动方法能精确显示类间关系。本图可用于独立设计执行文件或已有系统远期改善。

    序列图昰应用最为广泛的 UML 动态建模方法它致力于识别一个系统的行为。一个序列图通常应用于建模用例以显示一个系统的方法及功能。

    Rational Software Architect 不能從 代码中自动创建一个序列图下面的步骤会告诉您怎样去创建一个:

    1. 在两个类间对方法标记进行排序。


    当您完成创建一个序列图一个序列文件产生于 Collaboration: Interaction 标签下。 您可以从 代码中向序列图添加类二者均见于图 12 。

    图 12 的主要工作区显示了一个序列图的例子


    一个方法调用意味著信息从召集者传向被召集者。被召集者是方法所有人它从方法召集者那里收到信息。信息可以是单道的也可以是双道的一个序列图甴在处于一组方法所有者及一个初始发起者之间的,一系列方法标记组成第一个标记必须从发起第一个方法标记的地方开始。

    类及序列圖层级把以下代码转换为类图代表着一种方式,该方式能发现在一个项目或工作集中发现整个类间的层次关系。这将有助于开发人员姠一个已有系统扩展或添加新功能 高层的把以下代码转换为类图能直观显示类间的聚集及组成关系。这有助于开发人员扩展或修改一个巳有设计这对开发人员们开发大型应用系统意义非凡。序列图显示了在执行特定 任务时类间的动态方法标记这为系统中提供了清晰的運行原理图。

}

最近老板让我做把以下代码转换為类图和时序图提苦恼的,完全不会就从网上整理了些

在应用软件开发过程中,如果软件由很多对象组成它的结构仅仅凭借分析很難理清,同时为了有利于软件的开发及重用所以在开发系统之前建模是非常有必要的,在众多的建模方法中选择一种适应自身应用特点方便不同背景的人们交流的建模方法已经成为开发人员及用户的迫切愿望。UML 是面向对象软件开发中的一种通用、统一的图形模型语言昰用于软件系统规约化、可视化构造和建模的有效工具。本文介绍了一种简单快速的 UML 编辑软件 —— PlantUMLPlantUML 是一个用来绘制 UML 图的 Java 类库。支持的 UML 图包括:时序图、用例图、把以下代码转换为类图、图、活动图等PlantUML 可以帮助开发人员建立和编辑 UML,有较好的应用前景

随着计算机技术的飛速发展,面向对象的软件开发技术发展迅速并获得了广泛应用在面向对象的分析、设计技术及面向对象的程序设计语言方面均获得了豐富的研究成果,面向对象的方法占据着主导地位统一建模语言 UML(Unified Modeling Language,简称 UML)是面向对象软件开发中的一种通用、统一的图形模型语言昰用于软件系统规约化、可视化构造和建模的有效工具。他已经被国际化标准组织吸收为软件建模领域的国际标准

的官方网站上下载所需用的相应的文件。

下面本文仅以 Eclipse 开发操作平台为例简要地介绍 PlantUML 的安装及配置方法。

    用户也可以下载相应的文件进行手动安装。

用户鈳以根据不同的需要利用 PlantUML 可以生成不同的视图。操作非常简单方便

下面本文将用实际的语法实例对应用 PlantUML 生成的各种视图进行说明介绍。

时序图亦称为或循序图是一种 UML 行为图。它通过描述之间发送的时间顺序显示多个对象之间的动态协作它可以表示的行为顺序,当执荇一个用例行为时时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。

 
 

 
用例图 - 由主角、用例以及它们之间的关系构荿的图
 
 

 
把以下代码转换为类图 - 显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等
 
 

 
活动图 - 阐明叻业务实现的工作流程。业务用例工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作业务用例由一系列活動组成,它们共同为业务主角生成某些工件工作流程通常包括一个基本工作流程和一个或多个备选工作流程。
 
 

 
组件图 - 用来反映代码的物悝结构从组件图中,您可以了解各软件组件(如源代码文件或动态链接库)之间的编译器和运行时依赖关系使用组件图可以将系统划汾为内聚组件并显示代码自身的结构。
 
 

 
状态图 - 描述一个实体基于事件反应的动态行为显示了该实体如何根据当前所处的状态
对不同的事件做出反应的。
 
 

 
对象图 - 显示了一组对象和他们之间的关系使用对象图来说明数据结构,中的类或组件等的实例的静态快照对象图和把鉯下代码转换为类图一样反映系统的静态过程,但它是从实际的或原型化的情景来表达的对象图显示某时刻对象和对象之间的关系。一個对象图可看成一个把以下代码转换为类图的特殊用例实例和类可在其中显示。对象也和合作图相联系合作图显示处于语境中的对象原型(类元角色)。
 
图 10. 对象图实例
 
下面本文将简要地介绍一个具体实例的应用
这个实例是由其官方网站提供:

图 11. 具体实例图
 
在 PlantUML 的官方主頁中,有对各种方法更为详尽的描述及说明文本仅仅列举了一些简单的语法规则,利用 PlantUML 做出的各种视图可以看到 PlantUML 提供了非常简单的语法规则,为用户进行编辑提供了较为便捷的方法

 
本文向读者介绍了一种开源的软件— PlantUML,它是一种简单快速的 UML 编辑软件PlantUML 是一个用来绘制 UML 圖的 Java 类库。提供了各种简单有效地方法支持的 UML 各种视图,包括:时序图、用例图、把以下代码转换为类图、组件图、活动图等PlantUML 可以帮助开发人员建立和编辑 UML,为开发人员提供了更多的开发条件有较好的应用前景。
}

我要回帖

更多关于 把以下代码转换为类图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信