安装AmaterasUML前,需要先安装GEF
采用eclipse在线安装方式安装就好。
eclipse在线安装GEF的地址:http://download.eclipse.org/tools/gef/updates/releases/
安装好GEF后,安装AmaterasUML
先到如下地址下载:http://sourceforge.jp/projects/amateras/downloads/56447/AmaterasUML_1.3.4.zip/
解压后把里面的3个jar文件拷贝到eclipse-plugins目录即可,重新启动Eclipse即可。选择 "File"->"New"->"Other",你就可以看见 AmaterasUML的选项了。
用法:在工程名称右键选择New-Other,弹出新建对话框可以看到AmaterasUML选项,在其中选择Class Diagram,并命名后得到.cld文件,接着我们把工程network包中三个Java文件拖拽到.cld文件视图中,AmaterasUML瞬间帮我们生成了这三个类的关系图。
2.安装和使用ModelSpoon
功能:能将Eclipse中现有的java类生成类图
一:什么是ModelGoon?
它是一个Eclipse插件,用于基于UML图的模型设计,以及****(即从已有源代码生成类图)。
二:安装
下载地址:http://download.****.NET/detail/shizhongwen/7858139
下载ModelGoon-4.4.1-site.zip到电脑,从eclipse中选择help-->install new software.在work with-->Add选择已经下载的ModelGoon-4.4.1-site.zip,一路next完成安装。
三:使用
安装成功后,在eclipse中File-->new-->other-->ModelGoon Diagrams选择Class Diagram,在自己Java工程中创建一个后缀是.mgc的文件,用它来生成类图。用法很简单,直接把Java类拖拽到这个文件视图中,就会自动生成UML类图。
3、想要在Eclipse中自动生成UML图,需要下载eclipse插件:Green UML,
官网是:http://green.sourceforge.net/builds.html
1.按照它的提示,打开Eclipse,Help->install New software->将网址上列出的URLhttp://www.cse.buffalo.edu/faculty/alphonce/green 粘贴上->ADD->Next->Next->Finish
2.重启Eclipse
3.新建UML图:File->New->Green UML Class Diagram->输入UML图名->OK->自己所需的类右键->Green UML->Add to last viewed diagram
4、PlantUML —— 应用于 Eclipse 的简单快速的 UML 编辑软件
PlantUML 的安装及配置
PlantUML 支持在多个平台上安装使用,比如 Eclipse,NetBeans,oneline servlet 等,它也支持多种语言的编辑,例如 C/C++,PHP,Java,Html 等。用户可以从 PlantUML 的官方网站上下载所需用的相应的文件。http://plantuml.sourceforge.net/download.html。
下面本文仅以 Eclipse 开发操作平台为例简要地介绍 PlantUML 的安装及配置方法。
- 下载更新 PlantUML Eclipse 插件,打开 Eclipse,Help-> Install new software...。
填入相应的 URL:
<p><a href="http://basar.idi.ntnu.no/svn/tdt4100/anonymous/trunk/updatesite" rel="nofollow" target="_blank">http://basar.idi.ntnu.no/svn/tdt4100/anonymous/trunk/updatesite/</a></p>
<p><a href="http://plantuml.sourceforge.net/updatesite" rel="nofollow" target="_blank">http://plantuml.sourceforge.net/updatesite/</a></p>
<p><a name="t3" target="_blank"></a>图 1. 下载安装 PlantUML 插件</p>
<img alt="图 1. 下载安装 PlantUML 插件" class="has" src="http://www.2cto.com/uploadfile/Collfiles/20160423/20160423090923947.jpg"></li>
<li>下载安装成功后,重启 Eclipse。会在 Windows->Show View->Other 看到 PlantUML 的图标。
<p><a name="t4" target="_blank"></a>图 2 . PlantUML 图标成功显示</p>
<img alt="图 2 . PlantUML 图标成功显示" class="has" src="http://www.2cto.com/uploadfile/Collfiles/20160423/20160423090923948.jpg"><p>用户也可以下载相应的<a href="http://sourceforge.net/projects/plantuml/files/plantuml.jar/download" rel="nofollow" target="_blank">plantuml.jar</a>文件,进行手动安装。</p>
</li>
回页首
PlantUML 的使用实例
用户可以根据不同的需要,利用 PlantUML 可以生成不同的视图。操作非常简单方便。
图 3. PlantUML 操作界面

下面本文将用实际的语法实例对应用 PlantUML 生成的各种视图进行说明介绍。
时序图
时序图亦称为序列图或循序图,是一种 UML 行为图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。
语法实例:
?
1
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
</td>
<td>
<p><code>@startuml</code></p>
<p><code>title Sequence Diagram Example</code></p>
<p><code>actor Tester1 #red</code></p>
<p><code>actor Tester2 #Yellow</code></p>
<p><code>Tester1 -> Tester2: 发送请求</code></p>
<p><code>Tester2 --> Tester1: 回复请求</code></p>
<p><code>@enduml</code></p>
</td>
</tr></tbody></table></div><p><a name="t8" target="_blank"></a>图 4. 时序图视图</p>
|

用例图
用例图 - 由主角、用例以及它们之间的关系构成的图。
语法实例:
?
1
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
<p>8</p>
<p>9</p>
<p>10</p>
<p>11</p>
<p>12</p>
<p>13</p>
<p>14</p>
</td>
<td>
<p><code>@startuml</code></p>
<p><code>: 管理员 : as Admin << 管理员 >></code></p>
<p><code>( 应用程序 ) as (Use)</code></p>
<p><code>Tester1 -> ( 开始 )</code></p>
<p><code>Tester2 --> (Use)</code></p>
<p><code>Admin ---> (Use)</code></p>
<p><code>note right of Admin : 管理员身份</code></p>
<p><code>note left of (Use)</code></p>
<p><code> </code><code>实现 Notes Domino 的功能</code></p>
<p><code>end note</code></p>
<p><code>note </code><code>"测试人员进行测试工作"</code> <code>as user</code></p>
<p><code>( 开始 ) .. user</code></p>
<p><code>user .. (Use)</code></p>
<p><code>@enduml</code></p>
</td>
</tr></tbody></table></div><p><a name="t10" target="_blank"></a>图 5. 用例图视图</p>
|

类图
类图 - 显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。
语法实例:
?
1
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
<p>8</p>
<p>9</p>
<p>10</p>
<p>11</p>
<p>12</p>
<p>13</p>
<p>14</p>
<p>15</p>
<p>16</p>
</td>
<td>
<p><code>@startuml</code></p>
<p><code>skinparam classAttributeIconSize </code><code>12</code></p>
<p><code>class</code> <code>Test << 主函数 >> {</code></p>
<p><code>-Function1</code></p>
<p><code>+Function2</code></p>
<p><code>#Function3</code></p>
<p><code>~Function4</code></p>
<p><code>~method1()</code></p>
<p><code>+method2()</code></p>
<p><code>#method3()</code></p>
<p><code>~method4()</code></p>
<p><code>}</code></p>
<p><code>Test <|-- Test2</code></p>
<p><code>Test1 o-- Test2</code></p>
<p><code>Test *-- Test3: 调用</code></p>
<p><code>@enduml</code></p>
</td>
</tr></tbody></table></div><p><a name="t12" target="_blank"></a>图 6. 类图视图</p>
|

活动图
活动图 - 阐明了业务用例实现的工作流程。业务用例工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。业务用例由一系列活动组成,它们共同为业务主角生成某些工件。工作流程通常包括一个基本工作流程和一个或多个备选工作流程。
语法实例:
?
1
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
<p>8</p>
<p>9</p>
<p>10</p>
<p>11</p>
<p>12</p>
</td>
<td>
<p><code>@startuml</code></p>
<p><code>(*) --> </code><code>"Start"</code></p>
<p><code>note right: Start Testing</code></p>
<p><code>if</code> <code>"result"</code> <code>then</code></p>
<p><code> </code><code>-->[</code><code>true</code><code>] </code><code>"Next Testing"</code></p>
<p><code> </code><code>--> </code><code>"End"</code></p>
<p><code> </code><code>-right-> (*)</code></p>
<p><code>else</code></p>
<p><code> </code><code>->[</code><code>false</code><code>] </code><code>"Change Testing"</code></p>
<p><code> </code><code>-->[Ending process] (*)</code></p>
<p><code>endif</code></p>
<p><code>@enduml</code></p>
</td>
</tr></tbody></table></div><p><a name="t14" target="_blank"></a>图 7. 活动图视图</p>
|

组件图
组件图 - 用来反映代码的物理结构。从组件图中,您可以了解各软件组件(如源代码文件或动态链接库)之间的编译器和运行时依赖关系。使用组件图可以将系统划分为内聚组件并显示代码自身的结构。
语法实例:
1
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
<p>8</p>
<p>9</p>
<p>10</p>
<p>11</p>
<p>12</p>
<p>13</p>
<p>14</p>
</td>
<td>
<p><code>@startuml</code></p>
<p><code>title Lotus</code></p>
<p><code>interface</code> <code>"IBMDocs"</code> <code>as SC</code></p>
<p><code>package</code> <code>"Test1"</code> <code>{</code></p>
<p><code>SC - [ 第一个组件 ]</code></p>
<p><code>Notes - [ 第一个组件 ]: use</code></p>
<p><code>Symphony - [ 第二个组件 ]</code></p>
<p><code>[ 其他组件 ]</code></p>
<p><code>}</code></p>
<p><code>package</code> <code>"Test2"</code> <code>{</code></p>
<p><code>Connections - [ 第三个组件 ]</code></p>
<p><code>[ 第一个组件 ] --> iNotes</code></p>
<p><code>}</code></p>
<p><code>@enduml</code></p>
</td>
</tr></tbody></table></div><p><a name="t16" target="_blank"></a>图 8. 组件图视图</p>
|

状态图
状态图 - 描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态
对不同的事件做出反应的。
语法实例:
?
1
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
<p>8</p>
<p>9</p>
<p>10</p>
<p>11</p>
</td>
<td>
<p><code>@startuml</code></p>
<p><code>[*] --> Test</code></p>
<p><code>state </code><code>"Test"</code> <code>as Test {</code></p>
<p><code> </code><code>state </code><code>"Testing Module"</code> <code>as TM</code></p>
<p><code> </code><code>state </code><code>"Configuring Module"</code> <code>as CM</code></p>
<p><code> </code><code>[*] --> CM</code></p>
<p><code> </code><code>TM --> CM : Testing1</code></p>
<p><code> </code><code>CM --> TM : Testing2</code></p>
<p><code>}</code></p>
<p><code>note right of Test : 状态图实例</code></p>
<p><code>@enduml</code></p>
</td>
</tr></tbody></table></div><p><a name="t18" target="_blank"></a>图 9. 状态图视图</p>
|

对象图
对象图 - 显示了一组对象和他们之间的关系。使用对象图来说明数据结构,类图中的类或组件等的实例的静态快照。对象图和类图一样反映系统的静态过程,但它是从实际的或原型化的情景来表达的。对象图显示某时刻对象和对象之间的关系。一个对象图可看成一个类图的特殊用例,实例和类可在其中显示。对象也和合作图相联系,合作图显示处于语境中的对象原型(类元角色)。
语法实例:
?
1
<p>2</p>
<p>3</p>
<p>4</p>
</td>
<td>
<p><code>@startuml</code></p>
<p><code>object Test1</code></p>
<p><code>object Test2</code></p>
<p><code>@enduml</code></p>
</td>
</tr></tbody></table></div><p><a name="t20" target="_blank"></a>图 10. 对象图实例</p>
|

下面本文将简要地介绍一个具体实例的应用。
这个实例是由其官方网站提供:
http://plantuml.sourceforge.net/unicode.html
图 11 是由 PlantUML 的方法生成的实例图。
图 11. 具体实例图

在 PlantUML 的官方主页中,有对各种方法更为详尽的描述及说明。文本仅仅列举了一些简单的语法规则,利用 PlantUML 做出的各种视图。可以看到 PlantUML 提供了非常简单的语法规则,为用户进行编辑提供了较为便捷的方法。
PlantUML 提供了多种语言的编辑方式,如 TXT 文本,HTML,Java,C/C++,LaTex,APT,Word 及 URL 等多种方式,满足不同的用户需求。