java什么是UML?

Python011

java什么是UML?,第1张

Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置

UML规范用来描述建模的概念有,类(对象的)、对象、关联、职责、行为、接口、用例、包、顺序、协作,以及状态

推荐使用ModelGoon!

*ModelGoon是什么?

它是一个Eclipse插件,用于基于UML图的模型设计,以及逆向工程(即从已有源代码生成类图等,以作为代码分析或者文档使用)。

*适用条件

ModelGoon目前最新的版本是3.0.0,适用于Eclipse3.4+,包括最新的Eclipse 3.6版本

*如何安装

推荐在线安装,site地址是http://www.modelgoon.org/update

需要注意的是,有时必须使用代理服务器才能连接成功。

也可以离线安装,下载包的地址是http://modelgoon.googlecode.com/files/org.modelgoon-3.0.0-20101211-1807.jar

下载完该jar之后,直接拷贝到Eclipse安装目录下的dropins目录下,重启Eclipse即可

*如何使用

安装成功后,file=>new=>other菜单里面会多出一项ModelGoon Diagrams,在自己已有的java工程中新建一个class diagram,用以生成类图。创建完成后你会发现生成了一个.mgc后缀的文件,现在你可以用这个文件创建自己的类图了。用法相当直接,你可以把若干个java类拖拽进这个文件视图中,UML类图自然被生成,以及各个类之间的关系

*参考资料

http://www.modelgoon.org

需要注意的是,有时必须使用代理服务器才能连接成功。

*为什么选择ModelGoon而不是其他的插件

其他的UML插件也能完成类似的功能,但是在安装使用的过程中会碰到种种问题。

常有人推荐EclipseUML这个插件,但是目前这个项目的主页无法打开,似乎已停止维护;

还有Slime UML据说也不错,但是找不到下载源;

此外还有AgileJ口碑也不错,可惜是付费的,没有免费版;

至于papyrusuml,只是单向的,做模型设计、绘制UML图时使用,而并不支持逆向工程;

UML是统一建模语言。流程图类似于顺序图。

UML定义了5类,10种模型图

UML提供的基本模型图包括:

(1)、用例图:展示系统外部的各类执行者与系统提供的各种用例之间的关系

(2)、类图:展示系统中类的静态结构(类是指具有相同属性和行为的对象,类图用来描述系统中各种类之间的静态结构)

(3)、对象图:是类图的一种实例化图(对象图是对类图的一种实例化)

(4)、包图:是一种分组机制。在UML1.1版本中,包图不再看作一种独立的模型图)

(5)、状态图:描述一类对象具有的所有可能的状态及其转移关系(它展示对象所具有的所有可能的状态以及特定事件发生时状态的转移情况)

(6)、顺序图:展示对象之间的一种动态协作关系(一组对象组成,随时间推移对象之间交换消息的过程,突出时间关系)

(7)、合作图:从另一个角度展示对象之间的动态协作关系(对象间动态协作关系,突出消息收发关系)

(8)、活动图:展示系统中各种活动的执行流程(各种活动的执行顺序、执行流程)

(9)、构件图:展示程序代码的物理结构(描述程序代码的组织结构,各种构件之间的依赖关系)

(10)、配置图:展示软件在硬件环境中(特别是在分布式及网络环境中)的配置关系(系统中硬件和软件的物理配置情况和系统体系结构).