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”。
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 the object) will not create the objects in the diagram.
13. 创造 IShape interfacel 从toolbox中,选择“Interface”, 并点击图表的某处。将其改名为IShape。创建以后,选中它。
l 在顶部工具栏,选择 “Stereotype Display” 下拉按钮,将值改变为“None”。这将改变以往的圆形形状,使其变为成长方形。
l 还是在顶部工具栏,取消选中" 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的标准,表示这是接口或者其他纯虚实体。