staruml v5.0绿色中文版
分享到:
staruml中文版是一款开放源代码的UML开放工具,它可创建UML类图,生成类图和其他类型的统一建模语言图表工具。程序可绘制出用例图、类图、序列图、状态图等九款UML图形,且支持各类影像文件格式的导入,如JPG、JPEG、BMP等。staruml可根据类图的内容自动生成JAVA、C++和C#代码,当然也能读取Java、C++、C#代码反向生成类图,而此功能的实现得以程序自带的“反向工程”功能,该功能的用途主要有两个,其一是旧有的源码反转成图之后,可以构建UML模型的方式继续将新的设计添加上去,其二是当然用户想要解析源码时,可以通过反转的类图来理解,不再需要查看一行又一行的代码,这将节省大量的时间和精力。但是,虽然staruml的优点很多,但同样也存在着些缺点,它岁支持UML2.0定义的大多数图,但暂不支持对象图、包图、时间图和交互预览图等功能(对象图和包图虽然完全可以通过类图编辑器画出来,但会很麻烦),且它完全很呆板的完全遵守UML的语法规则,所以它不支持违反语法的动作。此外,它支持23种GoF模式,利用这些模式用户可解决软件设计上的特定问题,且它也支持3种EJB模式,包括EntityEJB、MessageDrivenEJB、SessionEJB。无需安装和破解,点击“绿化.exe”完成绿化,再点击“StarUML_中文版.exe”即可完全免费的使用。
2、完全免费:StarUML是一套开放源码的软件,不仅免费自由下载,连代码都免费开放
3、多种格式影像文件:可导出JPG、JPEG、BMP、EMF和WMF等格式的影像文件
4、语法检验:StarUML遵守UML的语法规则,不支持违反语法的动作
5、 正反向工程:StarUML可以依据类图的内容生成Java、C++、C#代码,也能够读取Java、C++、C#代码反向生成类图。反向工程有两个主要用途,其一是旧有的源码反转成图之后,可以构建UML模型的方式继续将新的设计添加上去;另一项用途是想要解析源码时,可以通过反转的类图来理解,不再需要查看一行又一行的代码,这将节省大量的时间和精力
6、支持XMI:StarUML接受XMI 1.1、1.2和1.3版的导入导出。XMI是一种以XML为基础的交换格式,用以交换不同开发工具所生成的UML模型
7、导入Rose文件:StarUML可以读取Rational Rose生成的文件,让原先Rose的用户可以转而使用免费的StarUML。早期,Rational Rose是市场占有率最高的UML开发工具,同时也是相当昂贵的工具。由于Rational Rose非常闻名,后来让IBM给收购了
8、 支持模式:支持23种GoF模式(Pattern),以及3种EJB模式。GoF模式出自于Erich Gamma等4人合著的Design Patterns:Elements of Reusable Object-Oriented Software一书,其内列出了23种软件模式,可解决软件设计上的特定问题。StarUML也支持3种常用的EJB模式,分别为EntityEJB、MessageDrivenEJB、SessionEJB
9、StarUML也结合了模式和自动生成代码的功能,方便落实设计
启动程序,弹出“从模板新建”对话框,可选择创建模板、打开文件或打开最近文件
2、打开模板
随意选择任意模板,如“4+1 View Mode”并点击确定
3、添加模块
在“模型”—“添加”可添加模块,模块添加完成在右侧显示
4、添加类图
通过“Model”主菜单,或右击选定模型,可以“Add Diagram/Class Diagram”
5、设置profile
通过“模型/配置文件”菜单去设置工程所需的profile。这决定了工程所使用的规则和约定。一定要包含"Java Porfile"这一项目
6、保存工程
立即就保存工程,这样在出现问题的时候,您就不会丢失信息。从“文件”菜单,选择“保存” ,并选择一个地方以保存工程。你的StarUML项目现在应该看起来的是这样的
7、创造图表
现在,开始真正创造图表,从默认就在屏幕的左边的“Toolbox”选择“类”图标,然后左键单击diagram窗口的某处。这样就使用通用名字创造了一个新的类。双击,将类改名为Circle
8、添加属性
右击图中的目标,在弹出菜单中选择“Add”中的“Attribute”(被标示为绿色),为其添加一个属性(或者域),填入期望的名字“_radius”。
●具体的数据类型,在属性面板(右下侧的窗口) ,由双打字,在"类型"时段。 在窗体右下边的Properties面板中,找到“Type”输入框,输入double作为_radius属性的类型。
●类的内部数据(域/属性)都是私有的,因为他们是严格由类内部使用的。所以,在Properties面板中将_radius设置为“私有”。
9、创造 IShape interface
●从toolbox中,选择“Interface”,并点击图表的某处。将其改名为IShape。创建以后,选中它。
●在顶部工具栏,选择 “Stereotype Display” 下拉按钮,将值改变为“None”。这将改变以往的圆形形状,使其变为成长方形。
还是在顶部工具栏,取消选中" Suppress Operations "。这将使我们能够看到接口所拥有的方法
●向IShape 接口添加返回值为double的getArea方法。
1.可以通过右击interface的图标,在弹出菜单中点击红色的“Operation”按钮,然后输入getArea。
2.设定返回值类型。在“Model Explorer”中展开IShape节点,右击你刚刚创建的getArea方法,并选择“Add Parameter”。在“Properties”框中,将参数的名子变为空,将“DirectionKind”变为“RETURN”,将“Type”变为dboule。
●将IShape和getArea的IsAbstract属性框打上勾,他们在图标上的名字将变为斜体。这是UML的标准,表示这是接口或者其他纯虚实体。
10、添加类和接口的关系
由于Circle和Rectangle类都实现了IShape接口,就必须有同样的行为(方法)
1.在“Model Explorer”面板中,复制getArea法(按Ctrl-C或者右键点击并选择Copy菜单),并粘贴到Circle和Rectangle类
2.这些实现了的方法在Circle和Rectangle类中都不是抽象的,而是具体的。这是因为他们实际上是执行一些特定行为(例如,为一个圆形和长方形分别计算面积) ,所以不要勾选IsAbstract框
11、添加Pizza类
1.向Pizza添加double型的私有域_price
2.添加返回double类型的共有操作getPrice
12、为Pizza类添加IShape 的引用
●从toolbox中选择" DirectedAssociation "箭头,点击Pizza类,并向IShape拖拽
1.选中箭头,在右边的“Properties”框上,将name一栏改为“has-a”,“End1.Aggregation” 一栏改为“AGGREGATE”(这个图示说明Pizza和shape对象是“聚合“的关系)。
2.将“End2.Name”一栏改为_shape 。这样就自动为Pizza添加一个名字为_shape,使用IShape接口的私有域,的所谓_shape型ishape以pizza饼。
3.将“End2.Visibility”改为私有。
●为_shape创建一个“获得者”方法,名字叫做getShape,返回IShape 。这就是创建一个行为,名字是getShape,返回IShape
13、添加Test_Pizza类
为了说明UML类图更多的功能,又增加了一个叫做“Test_Pizza”的类,它用作测试目的,并使用到Pizza和IShape类
●两个类之间的关系有多种形式。举例来说,一个类可以实例化另一个类,而不是将其作为一个成员。又或,一类的方法可能需要另一个类作为输入参数,保留一个引用仅仅是为这个方法的执行。
●通过从toolbox中选择“Dependency”箭头,从一个类拖向他所以来的类,来添加不通类之间的依赖关系。在这个例子中, Test_Pizza 依赖于Pizza,Circle和Rectangle类,因为它实例化了它们。
●从Properties box选择name属性,或者双击图表上的“依赖线”,可以为依赖关系添加标签。特别的是,当一类实例化另一个类,我们会把依赖线叫做“instantiates”。
●你可以选中并拖动依赖线的标签,以达到更美观的效果。
●依赖关系不会影响代码生成。
14、对你的图随意做些修改
你还可以拖动你的类图,并且使箭头以不通的方式展示(使箭头显示为直线,选择一个箭头,右击它,弹出菜单中选择“Line Style”,并选择“Rectilinear” )。你一定要体验这个工具,并去了解它
15、生成Java stub代码
●点击主菜单的“Tools->Java”菜单,选择“Generate Code”
●从对话框中选择你的模块(这里可能Model1),点击“Next”。
●为了使你的模块或者图标的所有类都生成stub code,选择“Select All”然后按“Next”。
●选择一个有效的输出目录,“Next”。
●In the "Options Setup", be sure to check both "Generate the Documentation by JavaDoc" and "Generate empty JavaDoc". All other checkboxes should be unchecked. Then press "Next".在“Options Setup” ,请务必选中“Generate the Documentation by JavaDoc”,“Generate empty JavaDoc”,所有其他复选框不选中,“Next”。
●现在StarUML将从你的图产生代码,点击“Finish”退出对话框。
●现在,您可以编辑生成的代码,以增加应用。
16、添加实现代码
现在就开始定义程序实际做的事情,例如,为你图标中的类描述添加实现代码
●使用DrJava添加代码,为相关的类,.Java文件添加代码。 代码会和你使用HW02是一样的。(注意:为Test_Pizza些代码,最好由DrJava自动生成,而非手工在StarUML里面创建。我们这里只是为了说明。)
●记得那IShape的getArea()方法是抽象的,因此没有代码。
●请您像代码范例一样添加注释。这种注释是“JavaDoc”风格的。 关于JavaDoc您将会在随后学到更多。
2、右键单击界面中的“Untitled”,选择“添加”—“Model”,命名为3322软件站
3、右键单击3322软件站,选择“添加图形”—“类图”,创建了一个用例图,命名为“WWW.32r.com”
4、点击左边工具栏中的工具,直接在右边空白处单击即可画出相应图形,并且可以为图形命名
5、右键单击所画图形,可以设置图形的属性
2、造成上面的两种错误的原因是一样的。都是因为“Print Spooler”服务没有启动,启动该服务的方法是:Win+R --->在打开的运行框中输入“services.msc"(不包括双引号)后按回车键,打开“服务”窗口
3、在打开的“服务”窗口中找到“Print Spooler”服务,右键单击“启动”即可。服务启动后,再打开StarUML,就会发现原来的错误没有了
1、可绘制9款UML图:用例图、类图、序列图、状态图、活动图、通信图、构件图、部署图以及复合结构图等
2、完全免费:StarUML是一套开放源码的软件,不仅免费自由下载,连代码都免费开放
3、多种格式影像文件:可导出JPG、JPEG、BMP、EMF和WMF等格式的影像文件
4、语法检验:StarUML遵守UML的语法规则,不支持违反语法的动作
5、 正反向工程:StarUML可以依据类图的内容生成Java、C++、C#代码,也能够读取Java、C++、C#代码反向生成类图。反向工程有两个主要用途,其一是旧有的源码反转成图之后,可以构建UML模型的方式继续将新的设计添加上去;另一项用途是想要解析源码时,可以通过反转的类图来理解,不再需要查看一行又一行的代码,这将节省大量的时间和精力
6、支持XMI:StarUML接受XMI 1.1、1.2和1.3版的导入导出。XMI是一种以XML为基础的交换格式,用以交换不同开发工具所生成的UML模型
7、导入Rose文件:StarUML可以读取Rational Rose生成的文件,让原先Rose的用户可以转而使用免费的StarUML。早期,Rational Rose是市场占有率最高的UML开发工具,同时也是相当昂贵的工具。由于Rational Rose非常闻名,后来让IBM给收购了
8、 支持模式:支持23种GoF模式(Pattern),以及3种EJB模式。GoF模式出自于Erich Gamma等4人合著的Design Patterns:Elements of Reusable Object-Oriented Software一书,其内列出了23种软件模式,可解决软件设计上的特定问题。StarUML也支持3种常用的EJB模式,分别为EntityEJB、MessageDrivenEJB、SessionEJB
9、StarUML也结合了模式和自动生成代码的功能,方便落实设计
使用教程
1、添加新工程启动程序,弹出“从模板新建”对话框,可选择创建模板、打开文件或打开最近文件
2、打开模板
随意选择任意模板,如“4+1 View Mode”并点击确定
3、添加模块
在“模型”—“添加”可添加模块,模块添加完成在右侧显示
4、添加类图
通过“Model”主菜单,或右击选定模型,可以“Add Diagram/Class Diagram”
5、设置profile
通过“模型/配置文件”菜单去设置工程所需的profile。这决定了工程所使用的规则和约定。一定要包含"Java Porfile"这一项目
6、保存工程
立即就保存工程,这样在出现问题的时候,您就不会丢失信息。从“文件”菜单,选择“保存” ,并选择一个地方以保存工程。你的StarUML项目现在应该看起来的是这样的
7、创造图表
现在,开始真正创造图表,从默认就在屏幕的左边的“Toolbox”选择“类”图标,然后左键单击diagram窗口的某处。这样就使用通用名字创造了一个新的类。双击,将类改名为Circle
8、添加属性
右击图中的目标,在弹出菜单中选择“Add”中的“Attribute”(被标示为绿色),为其添加一个属性(或者域),填入期望的名字“_radius”。
●具体的数据类型,在属性面板(右下侧的窗口) ,由双打字,在"类型"时段。 在窗体右下边的Properties面板中,找到“Type”输入框,输入double作为_radius属性的类型。
●类的内部数据(域/属性)都是私有的,因为他们是严格由类内部使用的。所以,在Properties面板中将_radius设置为“私有”。
9、创造 IShape interface
●从toolbox中,选择“Interface”,并点击图表的某处。将其改名为IShape。创建以后,选中它。
●在顶部工具栏,选择 “Stereotype Display” 下拉按钮,将值改变为“None”。这将改变以往的圆形形状,使其变为成长方形。
还是在顶部工具栏,取消选中" Suppress Operations "。这将使我们能够看到接口所拥有的方法
●向IShape 接口添加返回值为double的getArea方法。
1.可以通过右击interface的图标,在弹出菜单中点击红色的“Operation”按钮,然后输入getArea。
2.设定返回值类型。在“Model Explorer”中展开IShape节点,右击你刚刚创建的getArea方法,并选择“Add Parameter”。在“Properties”框中,将参数的名子变为空,将“DirectionKind”变为“RETURN”,将“Type”变为dboule。
●将IShape和getArea的IsAbstract属性框打上勾,他们在图标上的名字将变为斜体。这是UML的标准,表示这是接口或者其他纯虚实体。
10、添加类和接口的关系
由于Circle和Rectangle类都实现了IShape接口,就必须有同样的行为(方法)
1.在“Model Explorer”面板中,复制getArea法(按Ctrl-C或者右键点击并选择Copy菜单),并粘贴到Circle和Rectangle类
2.这些实现了的方法在Circle和Rectangle类中都不是抽象的,而是具体的。这是因为他们实际上是执行一些特定行为(例如,为一个圆形和长方形分别计算面积) ,所以不要勾选IsAbstract框
11、添加Pizza类
1.向Pizza添加double型的私有域_price
2.添加返回double类型的共有操作getPrice
12、为Pizza类添加IShape 的引用
●从toolbox中选择" DirectedAssociation "箭头,点击Pizza类,并向IShape拖拽
1.选中箭头,在右边的“Properties”框上,将name一栏改为“has-a”,“End1.Aggregation” 一栏改为“AGGREGATE”(这个图示说明Pizza和shape对象是“聚合“的关系)。
2.将“End2.Name”一栏改为_shape 。这样就自动为Pizza添加一个名字为_shape,使用IShape接口的私有域,的所谓_shape型ishape以pizza饼。
3.将“End2.Visibility”改为私有。
●为_shape创建一个“获得者”方法,名字叫做getShape,返回IShape 。这就是创建一个行为,名字是getShape,返回IShape
13、添加Test_Pizza类
为了说明UML类图更多的功能,又增加了一个叫做“Test_Pizza”的类,它用作测试目的,并使用到Pizza和IShape类
●两个类之间的关系有多种形式。举例来说,一个类可以实例化另一个类,而不是将其作为一个成员。又或,一类的方法可能需要另一个类作为输入参数,保留一个引用仅仅是为这个方法的执行。
●通过从toolbox中选择“Dependency”箭头,从一个类拖向他所以来的类,来添加不通类之间的依赖关系。在这个例子中, Test_Pizza 依赖于Pizza,Circle和Rectangle类,因为它实例化了它们。
●从Properties box选择name属性,或者双击图表上的“依赖线”,可以为依赖关系添加标签。特别的是,当一类实例化另一个类,我们会把依赖线叫做“instantiates”。
●你可以选中并拖动依赖线的标签,以达到更美观的效果。
●依赖关系不会影响代码生成。
14、对你的图随意做些修改
你还可以拖动你的类图,并且使箭头以不通的方式展示(使箭头显示为直线,选择一个箭头,右击它,弹出菜单中选择“Line Style”,并选择“Rectilinear” )。你一定要体验这个工具,并去了解它
15、生成Java stub代码
●点击主菜单的“Tools->Java”菜单,选择“Generate Code”
●从对话框中选择你的模块(这里可能Model1),点击“Next”。
●为了使你的模块或者图标的所有类都生成stub code,选择“Select All”然后按“Next”。
●选择一个有效的输出目录,“Next”。
●In the "Options Setup", be sure to check both "Generate the Documentation by JavaDoc" and "Generate empty JavaDoc". All other checkboxes should be unchecked. Then press "Next".在“Options Setup” ,请务必选中“Generate the Documentation by JavaDoc”,“Generate empty JavaDoc”,所有其他复选框不选中,“Next”。
●现在StarUML将从你的图产生代码,点击“Finish”退出对话框。
●现在,您可以编辑生成的代码,以增加应用。
16、添加实现代码
现在就开始定义程序实际做的事情,例如,为你图标中的类描述添加实现代码
●使用DrJava添加代码,为相关的类,.Java文件添加代码。 代码会和你使用HW02是一样的。(注意:为Test_Pizza些代码,最好由DrJava自动生成,而非手工在StarUML里面创建。我们这里只是为了说明。)
●记得那IShape的getArea()方法是抽象的,因此没有代码。
●请您像代码范例一样添加注释。这种注释是“JavaDoc”风格的。 关于JavaDoc您将会在随后学到更多。
画类图
1、打开StarUML软件,选择“Empty Project”,单击OK2、右键单击界面中的“Untitled”,选择“添加”—“Model”,命名为3322软件站
3、右键单击3322软件站,选择“添加图形”—“类图”,创建了一个用例图,命名为“WWW.32r.com”
4、点击左边工具栏中的工具,直接在右边空白处单击即可画出相应图形,并且可以为图形命名
5、右键单击所画图形,可以设置图形的属性
启动时报错解决方法
1、安装完成后启动StarUML,如果出现下图所示的错误(可能有下面两种中的一种错误),关闭打开的starUML2、造成上面的两种错误的原因是一样的。都是因为“Print Spooler”服务没有启动,启动该服务的方法是:Win+R --->在打开的运行框中输入“services.msc"(不包括双引号)后按回车键,打开“服务”窗口
3、在打开的“服务”窗口中找到“Print Spooler”服务,右键单击“启动”即可。服务启动后,再打开StarUML,就会发现原来的错误没有了
展开更多
staruml v5.0绿色中文版下载地址
- 需先下载高速下载器:
- 专用下载:
- 其它下载: