StartUML自动生成代码
2015-07-28 10:26
281 查看
在用StartUML工具生成类图后,在类图上单击鼠标右键弹出如下界面:
![](http://img2.ph.126.net/12Quj9c7uYVfrzK53UK1HQ==/3862681105500506759.jpg)
图1
当选择“Generate Code...”菜单时,会弹出如下错误对话框:
![](http://img1.ph.126.net/5T8uZyRxAzbElVdDCILrxw==/4788733778878485991.jpg)
图2
解决方法:
在StartUML菜单栏中找到如下菜单:
![](http://img0.ph.126.net/dLO1jQ_xWH5vHhgb2tIkzA==/1402871284025973156.jpg)
图3
选择“Profiles...”菜单,在弹出的如下对话框:
![](http://img0.ph.126.net/VR6zgshp4ppXoa4F0Ta5nQ==/3012063725880820758.jpg)
图4
将左侧的C++ Profile加入到右侧后,单击"Close"关闭该对话框,之后按图1便可生成代码了
一、显示
1、默认情况下,一个interface的属性和方法都是不可见的,是一个圆加一条线,通过下面的方式可以让它的属性和方法都显示出来:
选中interface,点击上方快捷操作栏的:Suppress Attributes和Suppress Operations,让方法和属性都显示出来了。但现在还是显示着一个圆,当把这个interface与其它元素连接起来时,会发现连线显示有问题。这时需要点击Stereotype Display,发现选项聚集在Iconic上面,更改为None就好了。
2、如果一个属性是final的,怎么样在图上显示出来?选中类,点击快捷栏中的“Show Properties”
3、如何显示属性/方法的可见性?选中类,点击快捷栏中的“Show Compartment Visibility”
二、注释
在图上添加注释:点击Annotation->Note,再用Annotation->Notelink把Note和目标连接起来。这种注释只能在Diagram上面显示出来,不能被导到代码中。
添加代码注释:选中要添加注释的类/方法/属性,然后点击右下角的Documents。这种注释无法在Diagram中看到,但可以被导到生成的代码中。
三、关系
如何分清比较纠结的聚合、组合、依赖这几种常见关系,参见这个网址:
http://blog.csdn.net/a345017062/article/details/8082238
四、编辑
想删除一个元素时,如果只是在Diagram上面选择“右键->Edit->Delete”的话,只是把Diagram上面显示出来的元素删除了,并没有把源删除。需要使用“右键->Edit->Delete From Model”
五、导出代码
导出代码操作:Tools->Java->Generate Code。在导出过程中可以选择导出的代码范围、导出代码放在哪里等信息。
默认情况下,导出的代码文件顶部会包含StartUML加入的注释,可以在这个地方修改:
Tools->Operations->Java->Code Generation->File Header,点击进去就可以修改。可以是选择否包含项目名称、时间、文件名字、作者等信息。
每一个package,在导出代码后都对应着一个文件夹。
有时候Tools选项下面看不到Java这个菜单,这种情况一般是兼容性问题,在网上看到过一篇这样的文章。作者说Win7上面有兼容性问题,换到XP后就好了。但我在XP下也出现这样的问题了,最后重装了一下StarUML就没事了。
六、示例
安装目录下有一个名字叫samples的文件夹,里面放了一些例子,可以参考。
学习过程中遇到的问题:
Type类型少,解决方案:使用快捷键ctrl+F8或者单击菜单栏的Model,在弹出的下拉列表中单击Profiles,单击“java profiles”,然后单击中间的"Include"即可,此时再打开Type选择框时就会有很多类型了。
![](http://img2.ph.126.net/12Quj9c7uYVfrzK53UK1HQ==/3862681105500506759.jpg)
图1
当选择“Generate Code...”菜单时,会弹出如下错误对话框:
![](http://img1.ph.126.net/5T8uZyRxAzbElVdDCILrxw==/4788733778878485991.jpg)
图2
解决方法:
在StartUML菜单栏中找到如下菜单:
![](http://img0.ph.126.net/dLO1jQ_xWH5vHhgb2tIkzA==/1402871284025973156.jpg)
图3
选择“Profiles...”菜单,在弹出的如下对话框:
![](http://img0.ph.126.net/VR6zgshp4ppXoa4F0Ta5nQ==/3012063725880820758.jpg)
图4
将左侧的C++ Profile加入到右侧后,单击"Close"关闭该对话框,之后按图1便可生成代码了
StarUML小技巧汇总
一、显示1、默认情况下,一个interface的属性和方法都是不可见的,是一个圆加一条线,通过下面的方式可以让它的属性和方法都显示出来:
选中interface,点击上方快捷操作栏的:Suppress Attributes和Suppress Operations,让方法和属性都显示出来了。但现在还是显示着一个圆,当把这个interface与其它元素连接起来时,会发现连线显示有问题。这时需要点击Stereotype Display,发现选项聚集在Iconic上面,更改为None就好了。
2、如果一个属性是final的,怎么样在图上显示出来?选中类,点击快捷栏中的“Show Properties”
3、如何显示属性/方法的可见性?选中类,点击快捷栏中的“Show Compartment Visibility”
二、注释
在图上添加注释:点击Annotation->Note,再用Annotation->Notelink把Note和目标连接起来。这种注释只能在Diagram上面显示出来,不能被导到代码中。
添加代码注释:选中要添加注释的类/方法/属性,然后点击右下角的Documents。这种注释无法在Diagram中看到,但可以被导到生成的代码中。
三、关系
如何分清比较纠结的聚合、组合、依赖这几种常见关系,参见这个网址:
http://blog.csdn.net/a345017062/article/details/8082238
四、编辑
想删除一个元素时,如果只是在Diagram上面选择“右键->Edit->Delete”的话,只是把Diagram上面显示出来的元素删除了,并没有把源删除。需要使用“右键->Edit->Delete From Model”
五、导出代码
导出代码操作:Tools->Java->Generate Code。在导出过程中可以选择导出的代码范围、导出代码放在哪里等信息。
默认情况下,导出的代码文件顶部会包含StartUML加入的注释,可以在这个地方修改:
Tools->Operations->Java->Code Generation->File Header,点击进去就可以修改。可以是选择否包含项目名称、时间、文件名字、作者等信息。
每一个package,在导出代码后都对应着一个文件夹。
有时候Tools选项下面看不到Java这个菜单,这种情况一般是兼容性问题,在网上看到过一篇这样的文章。作者说Win7上面有兼容性问题,换到XP后就好了。但我在XP下也出现这样的问题了,最后重装了一下StarUML就没事了。
六、示例
安装目录下有一个名字叫samples的文件夹,里面放了一些例子,可以参考。
学习过程中遇到的问题:
Type类型少,解决方案:使用快捷键ctrl+F8或者单击菜单栏的Model,在弹出的下拉列表中单击Profiles,单击“java profiles”,然后单击中间的"Include"即可,此时再打开Type选择框时就会有很多类型了。
相关文章推荐
- Spring MVC学习-----------对Action做JUnit单元测试
- java基础之 switch
- StartUML自动生成代码 分类: 开发工具 2015-07-28 10:26 11人阅读 评论(0) 收藏
- C#- 实用的Log4Net日志记录例子
- 为什么我们应该为Ruby2.0的GC感到excited!
- Lua实现的Base64编码
- C# 自带的.net类库 实现得到本机IP以及网关地址
- Spring MVC学习-----------异常处理以及日志记录
- 关于Eclipse的 功能图
- Spring MVC学习------------使用拦截器
- GoogleApis 屏蔽
- Qt浅谈之三十一数据表格(QTableWidget)
- Spring MVC学习-----------Spring中的拦截器
- Spring MVC学习--------------请求映射到action的方法
- 读书笔记MoreEffectiveC++(23)
- Deploying Qt or how to avoid “could not find or load the Qt platform plugin”
- java 值传递 引用传递的理解 言简意赅 一字千金
- python更新列表的方法
- rtpengine源码结构分析及交互流程
- 用eclipse 开发play