
正文
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在设计讨论中就显得更为有用 OOA OOD and OOP什么是OO分析和设计?它们与OO编程相比又有什么不同之处?要了解这些 请注意观察一个程序的循环过程第一步 需求收集 首先要规划好系统 计划好系统的实施步骤 通常人们都会通过讨论来萃取出需求 并做详细记录 然后与关键用户或是消费者一起探讨并使他们同意你们已掌握系统正在解决的问题 OOA (Object oriented *** ysis)即是描述系统实施与系统规划相结合一个的进程 解析放大了处于问题中心区域的目标 分析它们的重要作用是什么 分析何种目标与何种目标相联系 另外 解析还决定何种目标从属于公用类别 OOA (Object oriented *** ysis)即是描述系统实施与系统规划相吻合的一个过程 分析放大了处于问题中心区域的目标 分析它们的重要作用是什么 分析何种目标与何种目标相联系 另外 解析还决定何种目标从属于公用类别 特别地是 解析应与现实生活中的问题类似 不需要产生什么新的复杂的问题 你甚至可以与一个不懂技术但懂得这些问题的人员来分享这些解析 他们可以指出你在解析中遗漏了什么 忽略了什么或者哪些地方出错了 OOD 在设计阶段 你得准备将具体问题放大化以便分析 然后你得决定方法的自变量有哪些 以及它们的return类型 你也许可以发现新类将会帮您完成设计 你可以抽象出公用的功能到接口或基类中 一个单一的分析类可以分解成为几个合作类 总而言之 你仍停留在规划阶段 而不是实施阶段 OOP在您搭建好一个框架后 下一步就是实施代码了 在合适的设计后 你可以按以下步骤来实施细节 是使用哈西表或者是二叉树 是使用RMI还是CORBA来完成客户/服务器的通信? 用何种语言?为了更真实的体验到UML是怎样在解析及设计阶段起铺助作用 则需要通过解决一个问题来了解 一旦你将一切都代码化并且处于施行中 你就可以将周而复始的循环运用 随着系统交付日期的临近 更会发现什么地方不足 以及下一步需要完善哪一部份 通过使用交互式的解析 设计 完善及运行 你可以很迅速 稳定地重复运行及完善系统 而不需要担心遗失代码 lishixinzhi/Article/program/Java/gj/201311/27541
相关问答
Q1: 如何从JAVA代码生成UML类图
推荐使用ModelGoon!
*ModelGoon是什么?
它是一个Eclipse插件,用于基于UML图的模型设计,以及逆向工程(即从已有源代码生成类图等,以作为代码分析或者文档使用)。
*适用条件
ModelGoon目前最新的版本是3.0.0,适用于Eclipse3.4+,包括最新的Eclipse 3.6版本
*如何安装
推荐在线安装,site地址是
需要注意的是,有时必须使用代理服务器才能连接成功。
也可以离线安装,下载包的地址是
下载完该jar之后,直接拷贝到Eclipse安装目录下的dropins目录下,重启Eclipse即可
*如何使用
安装成功后,file=new=other菜单里面会多出一项ModelGoon Diagrams,在自己已有的java工程中新建一个class diagram,用以生成类图。创建完成后你会发现生成了一个.mgc后缀的文件,现在你可以用这个文件创建自己的类图了。用法相当直接,你可以把若干个java类拖拽进这个文件视图中,UML类图自然被生成,以及各个类之间的关系。
*参考资料
需要注意的是,有时必须使用代理服务器才能连接成功。
*为什么选择ModelGoon而不是其他的插件
其他的UML插件也能完成类似的功能,但是在安装使用的过程中会碰到种种问题。
常有人推荐EclipseUML这个插件,但是目前这个项目的主页无法打开,似乎已停止维护;
还有Slime UML据说也不错,但是找不到下载源;
此外还有AgileJ口碑也不错,可惜是付费的,没有免费版;
至于papyrusuml,只是单向的,做模型设计、绘制UML图时使用,而并不支持逆向工程;
Q2: 根据UML图,写出Java程序的代码
public interface ILeanable{
public void stuy();
}
public interface ITeacher{
public void teach();
}
public class Person{
String name;
}
public class Student extends Person implements ILeanable{
int age;
String address;
}
public class Teacher extends Person implements ITeacher{
String major;
int age;
}
Q3: Rational Rose怎样把Java源代码生成UML类图
我认为应该如此操作:(我是这样做的)
1、划出类图
2、做一个组件图(选择组建的属性,将language选为java或其他的语言)
3、将组件图拖到该组件所需要组装的类图的模型上(在树形视图中操作)
4、这样,在选中类图的模型点击右键时,就会有java蔡单项,在那里就可以生成java代码。
Q4: 按照下列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代码游戏的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








