您好,欢迎来到爱够旅游网。
搜索
您的当前位置:首页StarUML使用说明-指导手册

StarUML使用说明-指导手册

来源:爱够旅游网
StarUML使⽤说明-指导⼿册

StarUML使⽤说明-指导⼿册

1.综述

StarUML是⼀种⽣成类图和其他类型的统⼀建模语⾔(UML)图表的⼯具。这是⼀个⽤Java语⾔描述的创建类图的简明⼿册。

StarUML(简称SU),是⼀种创建UML类图,并能够⾃动⽣成Java的“stub code” 的⼯具。SU也可以做JAVA逆向⼯程,以产⽣相应的UML图表。

在本教程中,我们将使⽤SU设计⼀个pizza饼。执⾏下列步骤,可以创建如下⾯所⽰的UML图。SU可以⽣成反映类结构的代码,⽽不是任何对象的具体⾏动。因此,在使⽤SU创建图表后,你会为此stub code添加剩余的功能性代码,填写每种⽅法本来应该做的事。 2.安装3.启动

安装以后就可以启动该程序。4.添加新⼯程

然后,⼀个名叫:New Project By Approach的对话框会弹出。选择“Empty Project”并且按下”确定”。这⾥建议你不要勾选”设置为默认的做法” 复选框。

5.选择模块

在右边的“Model Explorer”框中选定“Untitled”模块。6.添加模块

通过“Model”主菜单,或右击选定的模型,可以” Add/Design Model ”

7.添加类图

通过“Model”主菜单,或右击选定模型,可以“Add Diagram/Class Diagram”:

8.设置profile

通过“Model/Profile…”菜单去设置⼯程所需的profile。这决定了⼯程所使⽤的规则和约定。⼀定要包含“JAVA Porfile”这⼀项⽬。

9.保存⼯程

⽴即就保存⼯程,这样在出现问题的时候,您就不会丢失信息。

从“File ”菜单,选择“Save” ,并选择⼀个地⽅以保存⼯程。你的StarUML项⽬现在应该看起来的是这样的:

10.创造图表

现在,开始真正创造图表,从默认就在屏幕的左边的“Toolbox”选择“类”图标,然后左键单击diagram窗⼝的某处。这样就使⽤通⽤名字创造了⼀个新的类。双击,将类改名为Circle。11.添加属性

右击图中的⽬标,在弹出菜单中选择“Add”中的“Attribute”(被标⽰为绿⾊),为其添加⼀个属性(或者域),填⼊期望的名字“_radius”。l 具体的数据类型,在属性⾯板(右下侧的窗⼝) ,由双打字,在”类型”时段。 在窗体右下边的Properties⾯板中,找到“Type”输⼊框,输⼊double作为_radius属性的类型。

l 类的内部数据(域/属性)都是私有的,因为他们是严格由类内部使⽤的。所以,在Properties⾯板中将_radius设置为“私有”。

12.继续进⾏设计

重复同样的过程,添加所谓的名字叫做Rectangle的类和double型的私有成员_width和_height。 (下⾯者段话是使⽤⽅⾯的主意事项,总感觉翻译部太好,九原⽂搬上来了)You may notice using the “Model Explorer” on the right is faster to add these, but do however note that

adding the classes and interfaces themselves in this toolbox (instead of using the toolbox on the left and clicking on the palette to create theobject) will not create the objects in the diagram.13.创造 IShape interface

l 从toolbox中,选择“Interface”,并点击图表的某处。将其改名为IShape。创建以后,选中它。

l 在顶部⼯具栏,选择 “Stereotype Display” 下拉按钮,将值改变为“None”。这将改变以往的圆形形状,使其变为成长⽅形。还是在顶部⼯具栏,取消选中” Suppress Operations “。这将使我们能够看到接⼝所拥有的⽅法。

l 向IShape 接⼝添加返回值为double的getArea⽅法。

n 可以通过右击interface的图标,在弹出菜单中点击红⾊的“Operation”按钮,然后输⼊getArea。

n 设定返回值类型。在“Model Explorer”中展开IShape节点,右击你刚刚创建的getArea⽅法,并选择“Add Parameter”。在“Properties”框中,将参数的名⼦变为空,将“DirectionKind”变为“RETURN”,将“Type”变为dboule。

l 将IShape和getArea的IsAbstract属性框打上勾,他们在图标上的名字将变为斜体。这是UML的标准,表⽰这是接⼝或者其他纯虚实体。

14.添加类和接⼝的关系

l 可以通过从toolbox中选择表⽰“Realization”的箭头,并从Circle拖拽向IShape,使Circle实现接⼝IShape。重复同样的过程,为Rectangle添加实现关系。这是添加了Circle 和 Rectangle对于IShape接⼝的实现关系。

n 如果想使连接线表现为直⾓的⽅式,右击连接线,并选择” Format/Line Style/Rectilinear”菜单。你通过这种⽅式,使箭头重叠在⼀起,可以使你的图看起来更整洁。15.添加类基于接⼝的⾏为

l 由于Circle和Rectangle类都实现了IShape接⼝,就必须有同样的⾏为(⽅法)。

n 在“Model Explorer”⾯板中,复制getArea法(按Ctrl-C或者右键点击并选择Copy菜单),并粘贴到Circle和Rectangle类。

n 这些实现了的⽅法在Circle和Rectangle类中都不是抽象的,⽽是具体的。这是因为他们实际上是执⾏⼀些特定⾏为(例如,为⼀个圆形和长⽅形分别计算⾯积) ,所以不要勾选IsAbstract框。16.你的图现在应该是这样的:

17.添加Pizza类

l 向Pizza添加double型的私有域_price。l 添加返回double类型的共有操作getPrice。18.为Pizza类添加IShape 的引⽤

l 从toolbox中选择” DirectedAssociation “箭头,点击Pizza类,并向IShape拖拽 。

n 选中箭头,在右边的“Properties”框上,将name⼀栏改为“has-a”,“End1.Aggregation” ⼀栏改为“AGGREGATE”(这个图⽰说明Pizza和shape对象是“聚合“的关系)。

n 将“End2.Name”⼀栏改为_shape 。这样就⾃动为Pizza添加⼀个名字为_shape,使⽤IShape接⼝的私有域,的所谓_shape型ishape以pizza饼。

n 将“End2.Visibility”改为私有。

l 为_shape创建⼀个“获得者”⽅法,名字叫做getShape,返回IShape 。这就是创建⼀个⾏为,名字是getShape,返回IShape 。19.为pizza类添加构造函数

l 为Pizza添加构造函数,右击,在弹出的“Add” 菜单中选择“Operation”。从这⾥,增加⼀个普通的带有dboule型price参数和IShape类型shape参数的操作

l 增加⼀个输⼊参数,就像之前增加了⼀个返回型的输出参数⼀样,你指定的参数的名称,如价格和形状等,以及适当的数据类型。l 为Circle增加⼀个带有double型的radius参数的构造函数。

l 为Rectangle增加⼀个带有double型width和height参数的构造函数。20.你的图现在应该是这样的:

21.添加Test_Pizza类

为了说明UML类图更多的功能,⼜增加了⼀个叫做“Test_Pizza”的类,它⽤作测试⽬的,并使⽤到Pizza和IShape类。

l 两个类之间的关系有多种形式。举例来说,⼀个类可以实例化另⼀个类,⽽不是将其作为⼀个成员。⼜或,⼀类的⽅法可能需要另⼀个类作为输⼊参数,保留⼀个引⽤仅仅是为这个⽅法的执⾏。

l 通过从toolbox中选择“Dependency”箭头,从⼀个类拖向他所以来的类,来添加不通类之间的依赖关系。在这个例⼦中, Test_Pizza 依赖于Pizza,Circle和Rectangle类,因为它实例化了它们。

l 从Properties box选择name属性,或者双击图表上的“依赖线”,可以为依赖关系添加标签。特别的是,当⼀类实例化另⼀个类,我们会把依赖线叫做“instantiates”。

l 你可以选中并拖动依赖线的标签,以达到更美观的效果。l 依赖关系不会影响代码⽣成。22.你的图现在应该像本⽂最开始所⽰。23.对你的图随意做些修改。

你还可以拖动你的类图,并且使箭头以不通的⽅式展⽰(使箭头显⽰为直线,选择⼀个箭头,右击它,弹出菜单中选择“Line Style”,并选择“Rectilinear” )。你⼀定要体验这个⼯具,并去了解它。24.保存项⽬

在“File”菜单中,选择“Save”。 SU的所有资料只有⼀个单⼀的项⽬⽂件,所以你⽬前应该只有⼀个⽂件⽣成。25.导出

将图表导出为其他格式,例如图⽚等,是⾮常有⽤的。您可以通过选择“File”菜单的“Export Diagram” ,并且选择合适的⽂件类型来执⾏改操作。

26.⽣成Java stub代码:

l 点击主菜单的“Tools->Java”菜单,选择“Generate Code”。

l 从对话框中选择你的模块(这⾥可能Model1),点击“Next”。

l 为了使你的模块或者图标的所有类都⽣成stub code,选择“Select All”然后按“Next”。l 选择⼀个有效的输出⽬录,“Next”。

l In the “Options Setup”, be sure to check both “Generate the Documentation by JavaDoc” and “Generate empty JavaDoc”. All othercheckboxes should be unchecked. Then press “Next”.在“Options Setup” ,请务必选中“Generate the Documentation byJavaDoc”,“Generate empty JavaDoc”,所有其他复选框不选中,“Next”。l 现在StarUML将从你的图产⽣代码,点击“Finish”退出对话框。l 现在,您可以编辑⽣成的代码,以增加应⽤。27.添加实现代码

现在就开始定义程序实际做的事情,例如,为你图标中的类描述添加实现代码。

l 使⽤DrJava添加代码,为相关的类,.Java⽂件添加代码。 代码会和你使⽤HW02是⼀样的。(注意:为Test_Pizza些代码,最好由DrJava⾃动⽣成,⽽⾮⼿⼯在StarUML⾥⾯创建。我们这⾥只是为了说明。)l 记得那IShape的getArea()⽅法是抽象的,因此没有代码。

l 请您像代码范例⼀样添加注释。这种注释是“JavaDoc”风格的。 关于JavaDoc您将会在随后学到更多。28.逆向⼯程

StarUML还可以从现有的Java代码创建⼀个类图,这被称为“reverse engineering”,当你想从现有的代码⽣成图表,或者你修改了SU⽣成的代码,并且想在图表中反应出来的时候,逆向⼯程功能就⾮常有⽤了。通过图表或者DrJava这样的⽂本编辑器去反复⼯作的过程,称作“round-trip engineering”。这也是⾯向对象变成中的⼀个基本过程。

l 到主菜单栏中选择“Tools/Java/Reverse Engineer…”,可以将现有的代码逆向⼯程。

l 选择Java代码所在的⽬录,并点击“Add”或“Add All”按钮,将它们包括在逆向⼯程过程中,然后单击“Next” 。l 选择你想将类加⼊的模块,这⾥可能是“Model1”,然后“Next”。l 在Option Setup⾥⾯:

n 确认“public”,“package”,“protected”和“private”是选中的(这是默认设置)。n 同样,在默认情况下,单选按钮“Create the field to the Attribute”也是选中的。

n 除⾮你想SU创建其他东西,例如布局很糟糕的包含所有类的图表,不要选中“Create Overview Diagram”框。n 当你对选项做了检查后,点击“Run”。

n SU will now import the classes in the selected files into your model. Click “Finish” to exit the dialog when it is complete.苏现在进⼝班,在被选定的⽂件到你需要的产品型号,点击”完成”退出对话框时,就完成了。

l SU会向你的模块添加导⼊的类,但不是你的图表。为了将它添加到您的图,只需要简单地从Model Explorer拖动它们即可。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务