StarUML使用说明-指导手册
- 格式:doc
- 大小:1.73 MB
- 文档页数:12
2.接着,单击“交互设计”项目,执行【Add DiagramSequence Diagram 】来新建序列图,可以更名为“计算资产计算资产计算资产”,如图8-2所示。
3. 在新建序列图之后,我们会以类图8-1为基础,说明如何绘制出序列图8-3,并且最后一小节中,还会根据此序列图,说明输出通信图的操作步骤。
图8-3 序列图第8 章 使用StarUML 绘制序列图 169▲▲▲图8-2 新建序列图8.3 建立对象及消息现在,我们要来建立对象及消息,步骤如下所述。
1. 在模型浏览器(Model Explorer )中,单击“交互设计”项目,执行【Add Actor 】来添加执行者的类,并请更名为“user ”,如图8-4所示。
图8-4添加执行者类图8-5 新建执行者对象图8-6 新建Account 对象170C++程序员UML 实务手册▲第8 章 使用StarUML绘制序列图 1714. 单击工具箱里的带实心箭头实线Stimulus(消息)图标,如图8-7所示。
5. 随后,单击user对象生命线并拖曳至Account对象生命线处放开,建立两者之间的消息线,如图8-8所示。
图8-7 单击Stimulus图8-8 新建消息图8-9 添加操作图8-10 更新图面8. 单击1号消息图标,打开它的属性表,并于Stereoytpe空格处填入“create”,如图8-11所示。
172C++程序员UML实务手册9. 随后,您会发现StarUML已经更新图面,加上《create》,如图8-12所示。
图8-11 消息的属性表图8-12 <<create>>图8-13 添加另一个对象及消息图8-15 Fund()第8 章 使用StarUML绘制序列图 17313. 单击图面空白处,打开序列图的属性表,并在MessageSignature处选取“NAMEANDTYPE”,如图8-16所示。
图8-18 3号消息16. 单击BidItem对象图标,打开它的属性表,并勾取IsMultiInstance,如图8-19所示。
staruml使用方法StarUML是一款流行的UML建模工具,它可以帮助开发人员更好地设计和管理软件项目。
下面是关于StarUML使用方法的详细介绍。
一、安装StarUML1. 下载StarUML安装包,可以从官方网站或其他可信的下载站点下载。
2. 双击安装包,按照提示完成安装过程。
二、创建新项目1. 打开StarUML,点击“File”菜单,选择“New Project”。
2. 在弹出的对话框中输入项目名称和存储路径,点击“OK”按钮。
三、创建类图1. 在左侧的工具栏中选择“Class Diagram”工具。
2. 在右侧的“Model Explorer”中选择新建的项目,右键点击“AddDiagram”菜单,选择“Class Diagram”。
3. 在新建的类图中,可以使用工具栏中的各种工具创建类、接口、枚举等元素。
4. 双击类图中的元素,可以编辑其属性和方法。
四、创建时序图1. 在左侧的工具栏中选择“Sequence Diagram”工具。
2. 在右侧的“Model Explorer”中选择新建的项目,右键点击“Add Diag ram”菜单,选择“Sequence Diagram”。
3. 在新建的时序图中,可以使用工具栏中的各种工具创建对象、消息等元素。
4. 双击时序图中的元素,可以编辑其属性和方法。
五、创建用例图1. 在左侧的工具栏中选择“Use Case Diagram”工具。
2. 在右侧的“Model Explorer”中选择新建的项目,右键点击“Add Diagram”菜单,选择“Use Case Diagram”。
3. 在新建的用例图中,可以使用工具栏中的各种工具创建用例、参与者等元素。
4. 双击用例图中的元素,可以编辑其属性和方法。
六、导出项目1. 点击“File”菜单,选择“Export”菜单。
2. 在弹出的对话框中选择要导出的文件类型和存储路径,点击“OK”按钮。
以上就是关于StarUML使用方法的详细介绍。
staruml建模指南StarUML建模指南模型浏览区,分为用例模型、分析模型、设计模型、实现模型、部署模型五部分建模区,相当于一张图纸,从左侧区域选择建模符号,在此绘制模型即可。
建模符号区,1.启动,建立projecto选择default即可。
2.进入主界面,各部分功能如下所示:是构成UML模属性浏览区,当选中某一模型或型的基本要素模型元素时,它的 所有属性都在这里展示,可以修改3. 首先创建用例模型。
在模型浏览区的«useCaseModel»树节点上点击右 键,选择AddDiagram^ Use Case Diagram,并为新建立的图命名。
4. 此时,左侧建模符号区展现了用例模型的基本要素用例参与者通讯关联(双向)通讯关联(单向)泛化关系(actor 之间、用例之间)Include 关系(用例之间)云兴-二2JS」=9・I ittrtrtnExtend关系(用例之间)5.选中某种建模符号,在绘图区单击,即可建立相应的模型要素。
对其进行命名,并可在右下角的属性区修改属性。
A 3 11 .4 • < e6.接下来建立分析类图。
在模型浏览区的《analysisModel»节点上点击右键,选择AddDiagram^ Robustness Diagram,并为新建立的图形命名。
此时左侧符号区展示了分析类图的要素。
从用例模型实体类的菜单里,控制类可以将已有边界类的actor拖拽关联关系进建模区选中某个类,可以在这里修改它的版型(边界类、控制类、实体类)7.建立领域类图。
在模型浏览区的《analysisModel»节点上点击右键,选择Add Diagram^Class Diagram,并为新建立的图形命名。
此时左侧符号区展示了领域类图的9.建立时序图。
在模型浏览区的«analysisModel»节点上点击右键,选择Add Diagram^Sequence Diagram,并为新建立的图形命名。
使⽤starUML⼀步⼀步画顺序图顺序图:是UML中能表现出⼀个过程中各个详细步骤的模型图,过程可以理解为⼀个功能的执⾏过程。
下⾯我们以⼀个简单的影院管理系统中售票功能为例来⼀步⼀步完成顺序图的构建。
建模⼯具:starUML版本:5.0.2.1570(新版本下⾯也适⽤)1:⾸先确定功能的主功能场景如下所⽰。
(1)顾客向售票员提供剧⽬名称,和场次要求(时间)。
(2)售票员查询⽤户提供的剧⽬所在演出厅票务和位置信息。
(3)系统显⽰剧⽬信息和演出厅信息。
(4)顾客查看票价和演出厅所剩位置信息,并提供⾃⼰想要的位置。
(5)售票员选择位置,并确认。
(6)系统显⽰座位信息和交易⾦额。
(7)⽤户选择⽀付⽅式,并⽀付。
(8)系统更新演出厅信息,⽣成交易票据并将交易信息发送到外部的账务系统。
(9)系统打印票据。
(10)顾客携带票据离开。
2:找出系统中的参与者顾客系统售票员数据库3:建⽴项⽬打开starUML,选择默认⼯程然后新建⽴顺序图:在项⽬的最右边栏:Analysis Model -> ADD Diagram -> Sequence Diagram之后项⽬的最左端如下:select :选中某个元素object:对象Stimulus:对象与对象间消息SelfStimulus:对象间⾃调⽤的消息Combined Fragment:结合⽚段,⽐如循环⽚段等,分⽀⽚段Interaction Operand:交互操作Frame :框架,主题(图最外⾯的边界)4:加⼊相应元素,如下图所⽰,最外⾯添加的是⼀个Frame。
要是想更改Frame或者Object的名称,我们在最右边属性修改即可。
5:添加消息的过程如下所⽰:⿏标左击 Stimulus,然后松开,之后将⿏标移⾄源Object⽣命线上,⿏标左击不松开,拉⾄⽬的Object上即可。
6:按照主功能场景画出的图⼀步步画出来的图就是这样啦:。
StarUML用户手册第一章StarUML概述 (3)StarUML是什么 (3)适合用户的UML工具 (3)真正的UMD支持 (3)高可扩充及适应性 (3)主要特征 (3)系统需求 (4)第二章基本概念 (6)模型、视与图(Model, View and Diagram) (6)项目与单元 (6)项目 (6)单元 (7)模块 (7)方法(approaches) (8)框架(Frameworks) (8)UML 轮廓(profile) (9)第三章管理项目 (11)管理项目 (11)建立新项目 (11)打开项目 (12)保存项目 (12)关闭项目 (13)用模型、子系统和包管理元素 (14)使用模型片段(Fragments) (19)创建模型片段 (19)导入模型片段 (20)导入框架(Framework) (20)使用UML轮廓 (23)包含UML轮廓 (23)排除UML轮廓 (23)创建新图 (24)可用图的类型 (24)在图中创建元素 (26)在图中创建视图元素 (27)在图中编辑元素 (28)配置属性 (33)第五章用图建立模型 (39)用UseCase图建模 (39)参与者(Actor) (39)用例UseCase (40)关联/直接关联 (42)泛化Generalization (44)创建多个继承自参与者的子参与者 (44)依赖Dependency (45)包含Include (45)扩展Extend (46)系统边界System Boundary (47)包Package (48)附录 (49)第一章StarUML概述本章包含StarUML™概述,StarUML™ and UML 的简要介绍和StarUML™新特征及总体组织的纲要。
•什么是StarUML•主要特征•系统需求StarUML™是支持UML (Unified Modeling Language(统一模型语言))的建模平台软件。
1、界面介绍:主要是四个方面:工具栏、工作区、浏览区和属性区。
结构如下图:2、建立模型图:UML有很多的图,大概有九种,不过并不是所有的图都是必须的,所以我们只要画出几种就可以了。
介于篇幅和时间原因,这里只介绍两种图的画法,用例图和类图。
这两种图使用的是最多的。
建立用例图:右击浏览区的USECaseModel,选择ADD Diagram,在弹出的菜单中选择Use Case Diagram,就会建立一个用例图,默认名字为UseCaseDiagram1,这时候默认就会在工作区打开用例图的画板,在这上面就可以建立模型了。
可以看到用例图的工作区:建立类图:建立类图的方法和建立用例图的方法是一样的,这里将不再赘述。
3、添加对象:添加对象有两种方法第一种:点击工具栏中的对象,然后在工作区中拖动。
输入对象的名称,可以到属性区修改属性。
用例的添加也是一样的。
第二种:右击UseCaseModel,选择ADD,在弹出的菜单中选择Actor或者UseCase等,在浏览区就会出现对应的对象,编辑好属性后把对象拖动到工作区就可以了。
对象会添加到这里,把对象直接拖到工作区:添加完对象就可以建立联系,联系常有的是直接联系,DirectedAssociation和继承,Generalization。
在工具栏中选中后,点在Actor上,然后拖动到用例上就可以了,继承的联系是点在父用例上,拖到子用例就可以了。
这样基本上就可以满足建立用例图的需要了。
对于类图,方法基本是相同的,不同的是类图里面有不同的对象。
双击浏览区中的Class Diagram,就会看到类图的工作区,可以用上述方法添加对象了,基本上都是一样的。
2. StarUML建模基本过程(1)添加新项目新建“New Project By Approach”项目,在弹出的对话框中,选择“Empty Project”(空项目)选项并且单击OK按钮,如图9.22所示。
图9.22新建项目方式(2)添加模型在右边的模型资源管理器(Model Explore r)框中选定“无标题”(Untitled)模型。
通过“Model”主菜单或在“无标题”上右击,在快捷菜单中选择“Add Mode l”选项,如图9.23所示。
图9.23添加模型(3)添加类图在“Model”主菜单或右击快捷菜单添加类图选择“Add Diagram”菜单的“Class Diagram”选项,如图9.24所示。
图9.24 添加类图(4)设置Profile通过“Model”菜单中的“Profiles”子菜单去设置工程所需的Profile。
这决定了工程所使用的规则和约定。
其中UML Standard Profde必选,然后根据要生成的代码类型,选择C++ Profile、C# Profile或者Java Profil e选项,如图9.25所示。
图9.25设置Profile(5)创建图在StarUML中提供了常用的9种图,包括类图、用例图、顺序图、协作图、状态图、活动图、组件图、部署图、组合结构图。
(6)保存项目这时保存项目到物理文件,这样在出现问题时,就不会丢失信息,也可以随时加载项目文件。
从“File”菜单,选择“Save”,并选择保存项目的路径和保存的项目文件格式为“*.uml”。
现在,StarUML中新建好的空项目如图9.26所示。
图9.26新建好的空项目3.正向工程,生成C#或Java代码例如,生成JA V A代码,单击主菜单的“Tools”,选择“JA V A”子菜单中“Generate Code”菜单项,如图9.27所示。
(1)从对话框中选择相应模块(这里可能是“Modell”),单击Next按钮;(2)为了使所选模块或者图标的所有类都生成代码,选择“Select All”选项然后单击Next按钮;(3)选择一个有效的输出目录,然后单击Next按钮;(4)现在StarUML将从图产生代码,点击“Finish”退出对话框;(5)生成.java的代码文件,可以编辑生成的代码,以增加应用。
StarUML使⽤简明教程最近了解到StarUML⽐较多,所以写⼀篇教程供⼤家参考,不⾜⽀持,请见谅。
StarUML(简称SU),是⼀种创建UML类图,⽣成类图和其他类型的统⼀建模语⾔(UML)图表的⼯具。
StarUML是⼀个开源项⽬之⼀发展快、灵活、可扩展性强(zj). StarUML官⽅下载地址:安装教程:安装步骤很简单,省略。
注意:付费软件,如需破解⽹上很多教程,不破解不影响使⽤安装之后的主界⾯简介如图所⽰:2.创建⼯程在启动star UML时,系统会默认帮我们创建⼀个⼯程如果这个⼯程不是你想要的⼯程,你可以点击File–》new from template中修改为你需要的⼯程类型。
如图所⽰。
3.介绍类与类之间的关系既然介绍类图,我们⾸先了解,什么是类?类图: 类图是⾯向对象系统建模中最常⽤和最重要的图,是定义其它图的基础。
类图主要是⽤来显⽰系统中的类、接⼝以及它们之间的静态结构和关系的⼀种静态模型。
类图的3个基本组件:类名、属性、⽅法。
类的⼏个主要关系:实现,关联,泛化,聚合,组合,依赖在StarUML中默认打开的“toolbox”⼯具中就是类相关的⼀下基础功能组件,以及组件的功能简介基础组件中有类实例,以及描述类的各个功能组件。
如图所⽰。
类组件的基本操作介绍:单击选择Class,⾄⼯作区域内单机左键,即可创建⼀个class实例。
创建实例后,周围会出现⼀堆,功能按钮,去描述这个类,如图所⽰。
图后会有介绍各个租价功能的介绍。
功能介绍:1. ⽤来标识Class的可见性(默认为public)2. ⽤来添加note的,⽐如:类的说明3. 增加类的属性4. 增加类的操作⽅法。
5. 增加Reception6. 增加⼦类7. 增加⽗类8. 添加已有的接⼝9. 添加需要的接⼝10. 添加关联11. 添加聚合12. 添加组合13. 添加端⼝14. 添加部件1. 泛化(继承)泛化关系是类元的⼀般描述和具体描述之间的关系,具体描述建⽴在⼀般描述的基础之上,并对其进⾏了扩展。
StarUML详解(Copy)UML(Unified Modeling Language) -- 早期笔记37⼈收藏此⽂章,发表于5天前(2012-08-16 18:42) , 已有541次阅读共个评论UML学习笔记系统的创建步骤:分析、设计与实现⽐例在分析阶段,需向⾏业专家请教,需要问问⾃⼰,谁是系统的最终⽤户UML(统⼀建模语⾔)是⼀种系统建模⽅法,有两个主要构件 -- 结构图和⾏为图⼯具:⼀、⽤例图1、说明1.1 ⽤例图说明的事谁要使⽤系统以及他们使⽤该系统可以做些什么?<业务需求>1.2 解析⼀个⽤例图,我们可以发现它包含4个基本组件:系统参与者⽤例(功能)关系另外可以通过在⽤例前⾯加上包名和两个冒号来确定该⽤例是属于哪个包的。
如:staff::mechanic。
如果⽤多个参与者与⽤例之间有同⼀关系,可以重新考虑为⽤户选择的在系统中扮演的⾓⾊的名称。
使名称更为⼴泛化,以⼀个参与者取代重复的参与者。
2、包含⽤例图⽤虚线和箭头连接,起始处为包含⽤例,终⽌处为被包含⽤例。
包含关系⽤于表⽰⽤例为执⾏其功能从其他⽤例引⼊功能。
(重⽤某些功能)教师必须记录成绩,更新成绩。
这两个⽤例都从⼀个⽤例包含了⼀项为save grades的公⽤功能,成绩总会被保存。
3、扩展关系(继承)表⽰⽤例可以通过其他⽤例得到扩展Notify guardians ⽤例是添加到save grades 功能中的⼀项功能。
与包含关系相⽐,⽤例必须包含被包含⽤例,⽽扩展关系则有是否使⽤被扩展功能的选择权。
4、创建⽤例图步骤找出系统中的参与者和⽤例区分⽤例的优先次序细分每个⽤例(描述)建⽴⽤例模型结构建⽴⽤户界⾯的原型PS:软件开发过程泛化⼆、活动图⽤于⾯向对象的系统的不同组件之间建模⼯作流1、作⽤进⼀步规划⽤例标识⽤例的前后条件发现新⽤例2、组件:活动,指⽰动作状态,指⽰系统当前状态(在StarUML⾥⾯,状态和活动是同⼀个标识,其实状态图应该是⼀个矩形四个⾓为⼩圆弧)转意,显⽰从⼀种状态到另⼀种状态的控制流UML描述了两个特殊状态,即开始状态和结束状态。
12345Star UML中文指导说明6789原著:Stephen Wong 翻译:火猴整理:miaoyi10111213目录141.综述:155162.安装:175183.启动196204.添加新工程216225.选择模块236246.添加模块256267.添加类图277288.设置profile 298309.保存工程9313210.创造图表9333411.添加属性35103612.继续进行设计37103813.创造IShape interface10394014.添加类和接口的关系411115.添加类基于接口的行为4243124416.你的图现在应该是这样的:45134617.添加Pizza类47134818.为Pizza类添加IShape 的引用49135019.为pizza类添加构造函数511420.你的图现在应该是这样的:52531521.添加Test_Pizza类5455155622.你的图现在应该像本文最开始所示。
16575823.对你的图随意做些修改。
59166024.保存项目61166225.导出16636426.生成Java stub代码:65166627.添加实现代码67176828.逆向工程69187071StarUML是一种生成类图和其他类型的统一建模语言(UML)图表的工具。
这是一7374个用Java语言描述的创建类图的简明手册。
75StarUML(简称SU),是一种创建UML类图,并能够自动生成Java的“stub code”的工具。
SU也可以做JAVA逆向工程,以产生相应的UML图表。
7677在本教程中,我们将使用SU设计一个pizza饼。
执行下列步骤,可以创建如下78面所示的UML图。
SU可以生成反映类结构的代码,而不是任何对象的具体行动。
因79此,在使用SU创建图表后,你会为此stub code添加剩余的功能性代码,填写每种80方法本来应该做的事。
812.安装:8283首先,我们必须先安装将要使用的软件。
STARUML帮助手册StarUML 是一个开源项目。
特点:快速、灵活、易扩展、免费、功能强大支持UML/MDA方法,可运行在32位windows 平台。
StarUML是一个软件模型设计工具,支持UML语言和MDA(模型驱动架构)主要特点标准的UML模型开源模型风格支持MDA易扩展模型、视图、图表➢模型:是一个包含软件模型信息的元素➢视图:是一个可视化的用于展示一个模型的信息,包含在模型中➢图表:是一个视图元素集合,用于表现用户的设计思路项目和单元项目是一个基本管理单元在starUML中。
一个项目可以管理一个或多个软件模型。
在顶级包中总是存在多个软件模型。
广义上来说,一个项目保存为一个文件。
一个项目包含并管理如下子元素:➢模型:用于管理软件模型➢子系统:管理子系统➢包:映射被管理的元素项目文件被保存为一个xml格式文件,扩展名为".uml"。
大部分所有的模型是、视图、图表都将保存在一个项目文件中。
一个项目文件也可以被分解为多个单元。
项目文件中包含如下信息:➢UML预配置文件,项目中将使用➢单元文件,项目中被引用➢项目中所有模块的信息➢项目中所有视图和图表信息一个项目通常情况是保存在一个文件中,但有时一个项目需要被保存在多个小的文件中,以便开发人员能协同工作。
在这种情况下,项目可用被划分为多个单元。
每个单元都拥有一个层次结构,每个单元内部还可以包括子单元。
单元文件也被保存为一个UML文件并且被一个项目文件所引用或是被其他单元文件(.unt)引用。
只包括包、子系统、模型元素可以组成一个单元。
所有元素都将被包含在这个unt文件中。
一个项目可以包含多个单元一个单元可以包含多个子单元以此类推...所有单元形成了一个单元层次结构一个模型片段是一个项目的一部分,可以保存为一个分离文件。
只包含模型、子系统或者包的元素可以包装成一个模型片段。
模型片段文件扩展名是“MFG”.模型片段和单元的最大区别是,单元只属于一个项目,而模型片段可以属于多个项目。
idea staruml 使用使用Idea StarUML进行软件建模Idea StarUML是一款功能强大的软件建模工具,它能够帮助软件开发人员更加高效地进行软件设计和建模。
在这篇文章中,我们将介绍如何使用Idea StarUML进行软件建模的基本步骤和常用功能。
一、概述软件建模是软件开发过程中非常重要的一环,它可以帮助开发人员更好地理解需求、设计系统结构和编写代码。
Idea StarUML是一款基于UML(统一建模语言)的建模工具,它提供了丰富的功能和工具,可以帮助开发人员进行各种类型的软件建模。
二、安装和配置我们需要下载和安装Idea StarUML。
它支持多个操作系统,包括Windows、Mac和Linux。
安装完成后,我们可以根据需要进行配置,例如设置默认语言、界面风格等。
三、创建项目在使用Idea StarUML之前,我们需要创建一个新项目。
在Idea StarUML的主界面上,我们可以选择创建一个新项目或者打开一个已有的项目。
创建新项目时,我们需要指定项目的名称、路径和类型等信息。
四、绘制用例图用例图是软件建模中最常用的一种图表,它可以帮助开发人员识别系统的功能需求和行为。
在Idea StarUML中,我们可以通过简单的拖拽和连接操作来创建用例图。
首先,我们可以从工具栏中选择用例图的图标,然后在绘图区域中绘制用例的形状,最后使用连线工具连接用例之间的关系。
五、设计类图类图是软件建模中另一个重要的图表,它可以帮助开发人员分析系统的静态结构和类之间的关系。
在Idea StarUML中,我们可以通过拖拽类图的元素(例如类、接口、属性和方法等)来创建类图。
另外,我们还可以使用关系工具来表示类之间的继承、关联和依赖关系。
六、生成代码在完成软件建模后,我们可以使用Idea StarUML生成相应的代码。
Idea StarUML支持多种编程语言,包括Java、C++、C#等。
我们可以根据项目的需求选择适合的语言,并指定代码生成的目标路径。
staruml教程
StarUML的简单明了教程
StarUML 是一种生成类图和其他类型的统一建模语言(UML)图表的工具。
首先,我们必须先安装将要使用的软件。
StarUML ,是一个开放源码软件,遵
循GPL 协议许可(GNU 公共许可证),并免费提供下载。
安装以后就可以启动该程序。
然后,一个名叫:New Project By Approach 的对话框会弹出。
选择“Empty Project”并且按下"确定"。
这里建议你不要勾选"设置为默认的做法" 复选框。
在右边的“Model Explorer”框中选定“Untitled”模块。
通过“Model”主菜单,或右击选定的模型,可以" Add/Design Model "
通过“Model”主菜单,或右击选定模型,可以“Add Diagram/Class Diagram”:
通过“Model/Profile...”菜单去设置工程所需的profile。
这决定了工程所使
用的规则和约定。
一定要包含"JAVA Porfile"这一项目。
Design Pattern 实验指导手册1环境配置StarUML5.0MyEclipse6.52使用StarUML建立模型2.1 创建Modeling project打开StarUML,然后新建项目:选择Default Approach,然后点击OK:给模型添加外廓:添加Java外廓支持:选择Java Profile,然后点击Include,再Close:2.2 建模展开Model Explorer中的Design Model:选中Design Model,然后右键点击:新建Package:在Package中添加类图:如下:选择Tools菜单,然后点击Apply Pattern…:在向导框中展开Pattern Repository,选择GoF中的Singleton模式,然后Next,再Apply:自动生成的类图如下:自动生成的模型如下:接下来手工添加一个Client类到模型中:把模型中的Client类拖到类图中,同时调整如下:接下来根据模型自动生成骨架代码,首先选择Tools菜单,然后点击Java,再点击Generate Code…选择Design Model,Next:勾上需要生成的Package和类,Next:选择源代码需要放置的位置(在这里,把源代码放置在MyEclipse6.5建立的Java Project下),Next:按照你的偏好,对生成的代码格式做下设置,Next:最后就能在MyEclipse6.5的工作台中看到StarUML根据模型做正向工程后生成的代码:3使用MyEclipse编写代码3.1编写具体代码切换到MyEclipse6.5,编写具体的代码:Singleton:Client:3.2运行测试,体会模式的真正用意。
StarUML使用说明-指导手册原著:Stephen Wong 翻译:火猴1.综述StarUML是一种生成类图和其他类型的统一建模语言(UML)图表的工具。
这是一个用Java语言描述的创建类图的简明手册。
StarUML(简称SU),是一种创建UML类图,并能够自动生成Java的“stub code”的工具。
SU也可以做JAVA逆向工程,以产生相应的UML图表。
在本教程中,我们将使用SU设计一个pizza饼。
执行下列步骤,可以创建如下面所示的UML图。
SU可以生成反映类结构的代码,而不是任何对象的具体行动。
因此,在使用SU创建图表后,你会为此stub code添加剩余的功能性代码,填写每种方法本来应该做的事。
2.安装首先,我们必须先安装将要使用的软件。
StarUML ,是一个开放源码软件,遵循GPL协议许可(GNU公共许可证),并免费提供下载。
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”。
●具体的数据类型,在属性面板(右下侧的窗口),由双打字,在"类型"时段。
在窗体右下边的Properties面板中,找到“Type”输入框,输入double作为_radius属性的类型。
●类的内部数据(域/属性)都是私有的,因为他们是严格由类内部使用的。
所以,在Properties面板中将_radius设置为“私有”。
12.继续进行设计重复同样的过程,添加所谓的名字叫做Rectangle的类和double型的私有成员_width和_height。
(下面者段话是使用方面的主意事项,总感觉翻译部太好,九原文搬上来了)You may notice using the "ModelExplorer" on the right is faster to add these, but do however note that addingthe classes and interfaces themselves in this toolbox (instead of using thetoolbox on the left and clicking on the palette to create the object) will notcreate the objects in the diagram.13.创造IShape interface●从toolbox中,选择“Interface”,并点击图表的某处。
将其改名为IShape。
创建以后,选中它。
●在顶部工具栏,选择“Stereotype Display”下拉按钮,将值改变为“None”。
这将改变以往的圆形形状,使其变为成长方形。
还是在顶部工具栏,取消选中" Suppress Operations "。
这将使我们能够看到接口所拥有的方法。
●向IShape 接口添加返回值为double的getArea方法。
⏹可以通过右击interface的图标,在弹出菜单中点击红色的“Operation”按钮,然后输入getArea。
⏹设定返回值类型。
在“Model Explorer”中展开IShape节点,右击你刚刚创建的getArea方法,并选择“Add Parameter”。
在“Properties”框中,将参数的名子变为空,将“DirectionKind”变为“RETURN”,将“Type”变为dboule。
●将IShape和getArea的IsAbstract属性框打上勾,他们在图标上的名字将变为斜体。
这是UML的标准,表示这是接口或者其他纯虚实体。
14.添加类和接口的关系●可以通过从toolbox中选择表示“Realization”的箭头,并从Circle拖拽向IShape,使Circle实现接口IShape。
重复同样的过程,为Rectangle添加实现关系。
这是添加了Circle 和 Rectangle对于IShape接口的实现关系。
⏹如果想使连接线表现为直角的方式,右击连接线,并选择"Format/Line Style/Rectilinear"菜单。
你通过这种方式,使箭头重叠在一起,可以使你的图看起来更整洁。
15.添加类基于接口的行为●由于Circle和Rectangle类都实现了IShape接口,就必须有同样的行为(方法)。
⏹在“Model Explorer”面板中,复制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”框上,将name一栏改为“has-a”,“End1.Aggregation”一栏改为“AGGREGATE”(这个图示说明Pizza和shape对象是“聚合“的关系)。
⏹将“”一栏改为_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中选择“Dependency”箭头,从一个类拖向他所以来的类,来添加不通类之间的依赖关系。
在这个例子中,Test_Pizza 依赖于Pizza,Circle和Rectangle类,因为它实例化了它们。
●从Properties box选择name属性,或者双击图表上的“依赖线”,可以为依赖关系添加标签。
特别的是,当一类实例化另一个类,我们会把依赖线叫做“instantiates”。
●你可以选中并拖动依赖线的标签,以达到更美观的效果。
●依赖关系不会影响代码生成。
22.你的图现在应该像本文最开始所示。
23.对你的图随意做些修改。
你还可以拖动你的类图,并且使箭头以不通的方式展示(使箭头显示为直线,选择一个箭头,右击它,弹出菜单中选择“Line Style”,并选择“Rectilinear” )。
你一定要体验这个工具,并去了解它。
24.保存项目在“File”菜单中,选择“Save”。
SU的所有资料只有一个单一的项目文件,所以你目前应该只有一个文件生成。
25.导出将图表导出为其他格式,例如图片等,是非常有用的。
您可以通过选择“File”菜单的“Export Diagram”,并且选择合适的文件类型来执行改操作。
26.生成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 Documentationby JavaDoc" and "Generate empty JavaDoc". All other checkboxes shouldbe unchecked. Then press "Next".在“Options Setup”,请务必选中“Generate the Documentation by JavaDoc”,“Generate empty JavaDoc”,所有其他复选框不选中,“Next”。