
正文
java代码uml JAVA代码生成器
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Java开发为什么需要UML的理由
知道UML造成了怎样的局面大混乱吗?知道什么样的功能是UML拥有但JAVA不具备的吗?知道我们为什么需要除JAVA外的另一种电脑语言吗?UML并不仅仅只是JAVA或者其它什么语言的替代品 UML并不仅仅只是JAVA或者其它什么语言的替代品 UML是面向对象的分析及设计的注释 UML是独立于那些传统设计语言之外的一种语言 因为UML并不依附于某种语言 而且它被用作是联系沟通Java C++ Smalltalk等语言的基础工具 通过使用UML 可以在开始编码之前规划好整个系统 并且开发人员清楚自己所负责的模块在整个系统中所起的作用 更为重要的是 UML可以帮你记录下从设计就开始出现的错误 要知道糟糕的设计会带来一系列的麻烦 设想一下 在源代码编制到一半的时候 你突然发现你所需要的信息已经枯竭了 但你却没有办法重新取得信息 因为你没有引用OBject 甚至于你引用了object 然而信息确是非public的 显然的 你将花费数天时间来找出代码的变化 UML可以帮您摆脱如下一些困境 代码随着细节的增多而累积 因此 查找哪些是系统的基本要素 了解objects之间的关系如何以及它们之间怎么联系都会变得困难起来 当大量的代码产生出来的时候 做一些改变也变得困难 因此决定一个对象的功能被分配到协作中的设置是一项主要的工作 甚至有时只是改变一个方法的名称那样简单事情 也很可能导致一个很长的编辑 编译 错误循环 在编码之前高水平的设计是进行正确的需求分析和精确的定义 UML的自动化工具固然重要 但UML在设计讨论中就显得更为有用 lishixinzhi/Article/program/Java/gj/201311/27420
相关问答
Q1: 如何从JAVA代码生成UML类图
推荐使用ModelGoonjava代码uml!
*ModelGoon是什么?
它是一个Eclipse插件java代码uml,用于基于UML图的模型设计,以及逆向工程(即从已有源代码生成类图等,以作为代码分析或者文档使用)。
*适用条件
ModelGoon目前最新的版本是3.0.0,适用于Eclipse3.4+,包括最新的Eclipse 3.6版本
*如何安装
推荐在线安装,site地址是h
需要注意的是,有时必须使用代理服务器才能连接成功。
也可以离线安装,下载包的地址是
下载完该jar之后,直接拷贝到Eclipse安装目录下的dropins目录下,重启Eclipse即可
*如何使用
安装成功后,file=new=other菜单里面会多出一项ModelGoon Diagrams,在自己已有的java工程中新建一个class diagram,用以生成类图。创建完成后java代码uml你会发现生成java代码uml了一个.mgc后缀的文件,现在你可以用这个文件创建自己的类图了。用法相当直接,你可以把若干个java类拖拽进这个文件视图中,UML类图自然被生成,以及各个类之间的关系。
*参考资料
需要注意的是,有时必须使用代理服务器才能连接成功。
*为什么选择ModelGoon而不是其他的插件
其他的UML插件也能完成类似的功能,但是在安装使用的过程中会碰到种种问题。
常有人推荐EclipseUML这个插件,但是目前这个项目的主页无法打开,似乎已停止维护java代码uml;
还有Slime UML据说也不错,但是找不到下载源;
此外还有AgileJ口碑也不错,可惜是付费的,没有免费版;
至于papyrusuml,只是单向的,做模型设计、绘制UML图时使用,而并不支持逆向工程;
Q2: Rational Rose怎样把Java源代码生成UML类图
我认为应该如此操作:(我是这样做的)
1、划出类图
2、做一个组件图(选择组建的属性,将language选为java或其他的语言)
3、将组件图拖到该组件所需要组装的类图的模型上(在树形视图中操作)
4、这样,在选中类图的模型点击右键时,就会有java蔡单项,在那里就可以生成java代码。
Q3: 按照下列UML图,用java实现代码?
Point2D.java
/**
* Title: Point2D.javabr
* Description:
*
* @author 王凯芳
* @date 2020年3月5日 下午7:09:35
* @version 1.0
*/
public class Point2D {
protected float x;
protected float y;
public Point2D() {
super();
}
public Point2D(float x, float y) {
super();
this.x = x;
this.y = y;
}
public float getX() {
return x;
}
public void setX(float x) {
this.x = x;
}
public float getY() {
return y;
}
public void setY(float y) {
this.y = y;
}
public float[] getXY() {
return new float[] { x, y };
}
public void setXY(float x, float y) {
this.x = x;
this.y = y;
}
@Override
public String toString() {
return "(" + x + "," + y + ")";
}
}
Point3D.java
/**
* Title: Point3D.javabr
* Description:
*
* @author 王凯芳
* @date 2020年3月5日 下午7:09:35
* @version 1.0
*/
public class Point3D extends Point2D {
private float z;
public Point3D() {
super();
}
public Point3D(float x, float y, float z) {
super();
this.x = x;
this.y = y;
this.z = z;
}
public float getZ() {
return z;
}
public void setZ(float z) {
this.z = z;
}
public float[] getXYZ() {
return new float[] { x, y, z };
}
public void setXYZ(float x, float y, float z) {
this.x = x;
this.y = y;
this.z = z;
}
@Override
public String toString() {
return "(" + x + "," + y + "," + z + ")";
}
}
java代码uml的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于JAVA代码生成器、java代码uml的信息别忘了在本站进行查找喔。








