StarUML使用说明doc.docx

上传人:b****8 文档编号:28901048 上传时间:2023-07-20 格式:DOCX 页数:13 大小:678.17KB
下载 相关 举报
StarUML使用说明doc.docx_第1页
第1页 / 共13页
StarUML使用说明doc.docx_第2页
第2页 / 共13页
StarUML使用说明doc.docx_第3页
第3页 / 共13页
StarUML使用说明doc.docx_第4页
第4页 / 共13页
StarUML使用说明doc.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

StarUML使用说明doc.docx

《StarUML使用说明doc.docx》由会员分享,可在线阅读,更多相关《StarUML使用说明doc.docx(13页珍藏版)》请在冰豆网上搜索。

StarUML使用说明doc.docx

StarUML使用说明doc

StarUML使用说明■指导手册

原著:

StephenWong翻译:

火猴

1.综述

StarUML是一种生成类图和其他类型的统一建模语言(UML)图表的工具。

这是一个用Java语言描述的创建类图的简明手册。

StarUML(简称SU),是一种创建UML类图,并能够自动生成Java的“stubcode的工具。

SU也可以做JAVA逆向工程,以产生相应的UML图表。

在本教程中,我们将使用SU设计一个pizza饼。

执行下列步骤,可以创建如下面所示的UML图。

SU可以生成反映类结构的代码,而不是任何对象的具体行动。

因此,在使用SU创建图表后,你会为此stubcode添加剩余的功能性代码,填写每种方法本来应该做的事。

2•安装

首先,我们必须先安装将要使用的软件。

StarUML,是一个开放源码软件,遵循GPL协议许可(GNU公共许可证),并免费提供下载。

3启动

安装以后就可以启动该程序。

4•添加新工程

然后,一个名叫:

NewProjectByApproach的对话框会弹出。

选择“EmptyProjec并且按下"

确定"。

这里建议你不要勾选"设置为默认的做法"复选框。

5•选择模块

在右边的“ModelExplorer框中选定“Untitled模块。

6•添加模块

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

 

 

7•添加类图

C$UfUML

Qte4E却卄

□3P•工飪广■穽3「

1UT,

■[AJI>|

.京4

祈*诸##

;・丄^

tpqtea**

Q戶1>

JkddIft"PitTc-r九?

:

]rfrrlt-;Jsr^t}

Add-In"RflWAdWlfl*rrwrxjh叶护佔曲.

Add-In"Stmdvdtncnx■Hmm阪,

AM-lrn"WtAddin'menu居refletpr*dWKt™fi>/

C:

\DocurT*en

IfTJlrtl.LrrtlHeU^ngcnnipKf

Souwj

0輯电n|

出EWVH口

MtffM

[UMtMcHw:

8•设置profile

通过“Model/Profile...菜单去设置工程所需的profile。

这决定了工程所使用的规则和约定。

一定要包含

"JAVAPorfile"这一项目。

ProfileManagtr

tl注

9•保存工程

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

从“File菜单,选择“Save”并选择一个地方以保存工程。

你的StarUML项目现在应该看起来的是这样的:

10创造图表

现在,开始真正创造图表,从默认就在屏幕的左边的“Toolbox选择类”图标,然后左键

单击diagram窗口的某处。

这样就使用通用名字创造了一个新的类。

双击,将类改名为Circle。

11•添加属性

右击图中的目标,在弹出菜单中选择“Add中的“Attribute被标示为绿色),为其添加一个

属性(或者域),填入期望的名字“_radiuso”

具体的数据类型,在属性面板(右下侧的窗口),由双打字,在"类型"时段。

在窗体

右下边的Properties面板中,找到“Type输入框,输入double作为_radius属性的类型。

类的内部数据(域/属性)都是私有的,因为他们是严格由类内部使用的。

所以,在Properties面板中将_radius设置为私有”。

12.继续进行设计

重复同样的过程,添加所谓的名字叫做Rectangle的类和double型的私有成员_width和

_height。

(下面者段话是使用方面的主意事项,总感觉翻译部太好,九原文搬上来了)Youmay

noticeusingthe"ModelExplorer"ontherightisfastertoaddthese,butdohowevernotethataddingtheclassesandinterfacesthemselvesinthistoolbox(insteadofusingthetoolboxontheleftandclickingonthepalettetocreatetheobject)willnotcreatetheobjectsinthediagram.

IShapeinterface

从toolbox中,选择“Interface,并点击图表的某处。

将其改名为IShapa创建以后,选中它。

在顶部工具栏,选择“StereotypeDisplay下拉按钮,将值改变为“Non6'这将改变以往的圆形形状,使其变为成长方形。

向IShape接口添加返回值为double的getArea方法。

可以通过右击interface的图标,在弹出菜单中点击红色的“Operation按钮,然后输入

getArea。

设定返回值类型。

在“ModelExplore冲展开IShape节点,右击你刚刚创建的getArea

方法,并选择“AddParameter”在“Propertie框中,将参数的名子变为空,将

“DirectionKind变为“RETURN,将“Type变为dboule。

将IShape和getArea的IsAbstract属性框打上勾,他们在图标上的名字将变为斜体。

这是UML的标准,表示这是接口或者其他纯虚实体。

14•添加类和接口的关系

可以通过从toolbox中选择表示“Realization的箭头,并从Circle拖拽向IShape,使Circle实现接口IShapes重复同样的过程,为Rectangle添加实现关系。

这是添加了Circle和Rectangle对于IShape接口的实现关系。

如果想使连接线表现为直角的方式,右击连接线,并选择"Format/Line

Style/Rectilinear"菜单。

你通过这种方式,使箭头重叠在一起,可以使你的图看起来更整洁。

15添加类基于接口的行为

由于Circle和Rectangle类都实现了IShape接口,就必须有同样的行为(方法)。

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

这些实现了的方法在Circle和Rectangle类中都不是抽象的,而是具体的。

这是因为他们实际上是执行一些特定行为(例如,为一个圆形和长方形分别计算面积),所以不要勾

选IsAbstract框。

16•你的图现在应该是这样的:

17.添加Pizza类

向Pizza添加double型的私有域_price。

添加返回double类型的共有操作getPrice。

18.为Pizza类添加IShape的引用

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

选中箭头,在右边的“Properties”框上,将nam「栏改为“hasa”,

“End1.Aggregation”一栏改为“AGGREGATE这个图示说明Pizza和shape对象是

“聚合“的关系)。

将“End2.Nam6'—栏改为_shape。

这样就自动为Pizza添加一个名字为_shape,使用IShape接口的私有域,的所谓_shape型ishape以pizza饼。

将“End2.Visibility”改为私有。

为_shape创建一个“获得者”方法,名字叫做getShape,返回IShape。

这就是创建一个行为,名字是getShape,返回IShape。

19.为pizza类添加构造函数

为Pizza添加构造函数,右击,在弹出的“Add”菜单中选择“Operation”。

从这里,增加

一个普通的带有dboule型price参数和IShape类型shape参数的操作

增加一个输入参数,就像之前增加了一个返回型的输出参数一样,你指定的参数的名称,如价格和形状等,以及适当的数据类型。

为Circle增加一个带有double型的radius参数的构造函数。

为Rectangle增加一个带有double型width和height参数的构造函数。

20.你的图现在应该是这样的:

21•添加Test_Pizza类

为了说明UML类图更多的功能,又增加了一个叫做“Test_Pizza勺类,它用作测试目的,

并使用到Pizza和IShape类。

两个类之间的关系有多种形式。

举例来说,一个类可以实例化另一个类,而不是将其作为一个成员。

又或,一类的方法可能需要另一个类作为输入参数,保留一个引用仅仅是为这个方法的执行。

通过从toolbox中选择“Dependencf”头,从一个类拖向他所以来的类,来添加不通类之间的依赖关系。

在这个例子中,Test_Pizza依赖于Pizza,Circle和Rectangle类,因为它实例化了它们。

从Propertiesbox选择name属性,或者双击图表上的依赖线”,可以为依赖关系添加标签。

特别的是,当一类实例化另一个类,我们会把依赖线叫做“instantiates”

你可以选中并拖动依赖线的标签,以达到更美观的效果。

依赖关系不会影响代码生成。

22•你的图现在应该像本文最开始所示。

23对你的图随意做些修改。

你还可以拖动你的类图,并且使箭头以不通的方式展示(使箭头显示为直线,选择一个箭

头,右击它,弹出菜单中选择“LineStyle,并选择“Rectilinear。

'你一定要体验这个工具,

并去了解它。

24保存项目

在“File菜单中,选择该只有一个文件生成。

“Save”SU的所有资料只有一个单一的项目文件,所以你目前应

25•导出

将图表导出为其他格式,例如图片等,是非常有用的。

您可以通过选择“File菜单的“ExportDiagram”,并且选择合适的文件类型来执行改操作。

26•生成Javastub代码:

点击主菜单的“TooQJava菜单,选择“GenerateCode

StarUML-1abO3.uml

100^

WC-EnManogcr...

Annotaboft

CteaJCtess

-_jinterfatfl

訂Enumefation

SSignal

TException

二]Port

』Pirt

IAeertfTiFwMHi

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

为了使你的模块或者图标的所有类都生成stubcode选择“SelectAl然后按“Next。

选择一个有效的输出目录,“Nex””

Inthe"OptionsSetup",besuretocheckboth"GeneratetheDocumentationbyJavaDoc"and

"GenerateemptyJavaDoc".Allothercheckboxesshouldbeunchecked.Thenpress"Next"在

“OptionsSetup,请务必选中“GeneratetheDocumentationbyJavaDqc“Generateempty

JavaDoc”,所有其他复选框不选中,“Next。

现在StarUML将从你的图产生代码,点击“Finish退'出对话框。

现在,您可以编辑生成的代码,以增加应用

27添加实现代码

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

使用DrJava添加代码,为相关的类,.Java文件添加代码。

代码会和你使用HW02是一样的。

(注意:

为Test_Pizza些代码,最好由DrJava自动生成,而非手工在StarUML里面创建。

我们这里只是为了说明。

记得那IShape的getArea()方法是抽象的,因此没有代码。

请您像代码范例一样添加注释。

这种注释是“JavaDo风格的。

关于JavaDoc您将会在随后

学到更多。

28逆向工程

StarUML还可以从现有的Java代码创建一个类图,这被称为“reverseengineering当你

想从现有的代码生成图表,或者你修改了SU生成的代码,并且想在图表中反应出来的时候,

逆向工程功能就非常有用了。

通过图表或者DrJava这样的文本编辑器去反复工作的过程,称

作“roundripengineering。

这也是面向对象变成中的一个基本过程。

到主菜单栏中选择“Tools/Java/ReverseEngineer,可以将现有的代码逆向工程。

选择Java代码所在的目录,并点击“Add或“AddAll按钮,将它们包括在逆向工程过程中,

然后单击“Next”。

选择你想将类加入的模块,这里可能是“Model1,然后“Next。

在OptionSetup里面:

确认“public,”“package”“protecte(和”“private是选中的(这是默认设置)。

同样,在默认情况下,单选按钮“CreatethefieldtotheAttribute也是选中的。

除非你想SU创建其他东西,例如布局很糟糕的包含所有类的图表,不要选中“Create

OverviewDiagram框。

当你对选项做了检查后,点击“Run;'

SUwillnowimporttheclassesintheselectedfilesintoyourmodel.Click"Finish"toexitthedialogwhenitiscomplete苏现在进口班,在被选定的文件到你需要的产品型号,点击"完成"退出对话框时,就完成了。

SU会向你的模块添加导入的类,但不是你的图表。

为了将它添加到您的图,只需要简单地从

ModelExplorer拖动它们即可。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1