STAR UML 简述<二>

摘要:
这是IShape接口的圆形和矩形之间的实现关系。N如果希望连接器显示为直角,请在连接器上单击鼠标右键,然后选择“格式/线型/矩形”菜单。N在ModelExplorer面板中,复制getArea方法并将其粘贴到Circle和Rectangle类中。这是因为它们实际上正在执行一些特定的操作,所以不要选中IsAbstract框。L添加返回double类型的通用操作getPrice。
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.          你的图现在应该 是这样的:

 STAR UML 简述<二>第1张

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.          你的图现在应该 是这样的:

STAR UML 简述<二>第2张

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”。

STAR UML 简述<二>第3张

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 other checkboxes should be unchecked.  Then press "Next".在“Options Setup” ,请务必选中“Generate the Documentation by JavaDoc”,“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拖动它们即可。

免责声明:文章转载自《STAR UML 简述<二>》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇前端优化网站性能的14条规则C#中进行文本打印下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

UML建模三个工具: StarUML ,Telelogic TAU 和 Rose

UML建模软件目前用的主要有3种: 商业版本:Telelogic TAU 和 RationalRose开源版本:StarUML Telelogic TAU与Rational Rose的功能很强,但是需要买License。 StarUML就是希望能提供和TAU/Rose一样功能的开源版本。 目前使用起来还是不错的。 能熟练使用其中一个是软件设计人员的基本功...

StarUML之九、starUML的一些特殊属性的说明

UML的扩充性机制允许你在控制的方式下扩充UML语言。 这一类的机制包括:stereotype,标记值、约束。 Stereotype扩充了UML的词汇表,允许你创建新的建筑块,这些建筑块从已有的继承而来,但特别针对你的问题。 标记值扩充了UML的建筑块的属性,允许你在元素的规格中创建新的信息。 约束扩充了UML建筑块的语义,允许你添加新的规则或修改已有的。...

startUML破解方式

StarUML官方下载地址:http://staruml.io/download StarUML是一个非常好用的画UML图的工具,但是它是收费软件​,以下是破解方法: ​1.使用Editplus或者Notepad++等特殊的文本编辑器打开%StarUML_HOME%/www/license/node/LicenseManagerDomain.js文件 2....