StarUML是一款专业的UML建模工具,能够绘制用例图、类图、序列图、状态图等九种UML图形,帮助用户轻松完成UML建模工作。StarUML能根据类图内容自动生成JAVA、C++和C#代码,还能读取代码反向生成类图,功能非常强大。7起下载站提供StarUML绿色破解版下载,需要UML建模工具的朋友们赶紧下载吧!
staruml(UML建模工具)使用说明
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也结合了模式和自动生成代码的功能,方便落实设计
staruml(UML建模工具)功能介绍
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、生成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”退出对话框。
●现在,您可以编辑生成的代码,以增加应用。
15、添加实现代码
现在就开始定义程序实际做的事情,例如,为你图标中的类描述添加实现代码
●使用DrJava添加代码,为相关的类,.Java文件添加代码。 代码会和你使用HW02是一样的。(注意:为Test_Pizza些代码,最好由DrJava自动生成,而非手工在StarUML里面创建。我们这里只是为了说明。)
●记得那IShape的getArea()方法是抽象的,因此没有代码。
●请您像代码范例一样添加注释。这种注释是;JavaDoc”风格的。 关于JavaDoc您将会在随后学到更多。