StarUML是一款开放源代码的UML开发工具,StarUML支持UML语法规则检验,正反向Java、C++、C#工程,并且支持多种图片格式导出。同时它支持23种GOF(Gang of Four)模式以及3种EJB(Enterprise JavaBean)模式。
StarUML的开发界面主要由工具箱、绘图区、模型资源管理器和属性区等构成。具体结构如图3.14所示。
图3.14 StarUML界面结构图
StarUML中清晰地区分了模型(Model)、视(View)与图(Diagram)的概念。模型是包含软件模式信息的元素。视则是模型中信息的可视表达法,图则是表示用户特定设计思想的可视元素的集合。
UML 2.0包含了13种图:类图、组合结构图、构件图、部署图、对象图、包图、活动图、顺序图、通信图、交互概览图、计时图、用例图和状态机图。
在StarUML开发中通过 “ Add Diagram”可以弹出如图3.15所示的菜单以供设计时选择。
图3.15 StarUML图
1. 创建或打开项目(工程)
在StarUML中,项目是基本的管理单位。一个项目可以管理一个或多个软件模型,它是在任何软件模型中都存在的顶级的包。一般地说,一个项目保存在一个文件中。一个项目包含并管理如表3.1所示的三种子元素。
表3.1 项目结构表
(1)创建新项目
启动StarUML或在设计窗口中选择“File→New Project By Approach ” 菜单,弹出如图3.16所示的 “ New Project By Approach ” 对话框。从项目列表中选择合适的方法后单击单击 “ OK ” 按钮(建议不要选“Set As Default Approach ” 复选框),即可打开StarUML窗口,如图3.4所示。
另外还可以选择“File→New Project ” 菜单,采用默认的方法创建项目。如果之前在环境中修改过默认方法,则以最后一次修改为准。
图3.16 “New Project By Approach”对话框
(2)打开项目
为了继续保存的项目,必须先打开项目文件。
选择“File→Open ” 菜单,在打开项目对话框,选择一个项目文件(.UML),单击 “ Open ” 按钮即可打开。
2. 设置profile
为了与Java语言交互,设置profile属性,界面如图3.13所示。
3. 创建模块
模块是一种包,它提供了对StarUML功能与特征的扩充。模块的创建可以是几种新扩充元素的结合。不但可以为某用途对一个独立的模块配置扩充元素,而且还可以在同一模块中创建同一类型的扩充元素。
StarUML的模块有下列功能:
① 扩展主菜单或弹出菜单。
② 添加新方法(approach)。
③ 添加新轮廓(profile)。
④ 通过构造型(stereotype)或表示法(notation)的扩充添加新元素。
⑤ 通过(COM服务器或简单的脚本文件)实现新的功能。
⑥ 与其他应用程序集成。
⑦ 其他的插件(Add-In)功能。
在项目中创建三个元素的方法相同,如果添加模块,需要选择图3.4窗口中右侧的 “ Model Explorer”小窗口中的 “ Untitled ” 模块。通过 “ Model ” 主菜单或右击选定的模型,可以选择 “ Add/Model ” ,默认名称为 “ Model1 ” ,在其属性区可以修改所需要的名称,如 “ tsgl ” 。
4. 创建参与者和用例
(1)创建参与者
参与者定义了在与实体交互时该实体的用户可以发挥作用的一套清楚的角色。参与者可以被认为是对于每个用来交流的用例而言的独立角色。
如果在创建用例图之前创建参与者,则需要经过以下步骤进行:
通过“Model”主菜单或右击选定模型,选择 “ Add/Actor”;
在模型资源管理器中就会出现 图标; 相关属性可以在属性区设置和修改。
例如 “ 借阅者 ” 的浏览窗口和属性窗口如图3.17所示。
图3.17 “借阅者”的“Model Explorer” 和“Properties”窗口
如果在用例图中创建参与者,则只需要选择工具箱中的 元素即可,具体操作同其他元素的添加相同。
(2)创建用例
用例构造用于定义系统行为或者其他的语义实体而不展示其内部结构。每个用例指定一系列行为,包括变体、可执行的实体,与参与者实体交互。
其创建过程与参与者类似,不再赘述。
5. 创建类
根据需要,同创建参与者的方式一样创建类。在创建类时需要为其创建属性及操作,也就是Java语言中类体中的变量和方法。具体操作步骤如下:
(1)对类创建属性或操作
在设计图中,右击图中的类目标,在弹出菜单中选择“Add ” 中的 “ Attribute ” (被标示为绿色)或 “ Operation ” (被标示为红色),为其创建属性或操作,也可以通过其属性窗口的Attributes或Operation后的按钮进行创建。
(2)对属性或操作设置数据类型
在窗体右下角的Properties窗口中,找到 “ Type ” 输入框,输入属性或操作的类型。其中由于类的封装性和类内部使用的规范性,其内部数据(属性)都是私有的。所以,在Properties面板中将属性设置为 “ Private ” 。
在属性区中常见的属性类型及描述形式如表3.2所示。
表3.2 常见属性
6. 创建图
在StarUML中提供了常用的11种图,其类型及描述如表3.3所示。
表3.3 StarUML的11种图
其中还有UML中的对象图就是类图的一个实例,没有单独的设计图形,在第5章中会有详细介绍。
(1)创建图
从模型资源管理器选择相应的模型;
右键单击选择 “ Add Diagram ” 菜单,选择对应的图的类型后图就创建出来了。
例如在模型“tsgl ” 中创建了一个包“tsg ” ,该包中一个主要的参与者“图书管理员 ” 的用例图如图3.18所示。
图3.18 图书管理员用例图
(2)图中添加元素
为了在图中创建新元素,必须先打开图。不同类型的图,工具箱中包含的元素不同。每种图中可用的图元素也彼此不同。
从工具箱中选择要创建的元素类型;
在图中单击要创建元素的位置。可以通过拖动鼠标选择一区域确定新元素的大小,如果两个元素之间需要连接到一起,要认真、准确的操作,否则可能会弹出如图3.19所示的错误提示。
图3.19 元素连接提示错误
另外,也可以一次创建多个元素:
从工具箱中双击要创建的元素类型;
在工具箱对应的元素类型后会出现一个红色的 图标,表明被锁住( Lock )住了; 在绘图区可以连续创建多个元素;
创建完多个元素后,在工具箱中选 ,则消除该功能。
7. 保存项目
单击 “ File→Save ” 菜单,打开的保存对话框如图3.20所示。所有资料只有一个单一的项目文件(*.uml),所以目前应该只有一个文件生成。
图3.20 保存项目
8. 导出
选择“File→Export Diagram ” 菜单可以将图表导出通过选择合适的文件类型保存为其他格式,例如图片等,如图3.21所示。
图3.21 导出图书管理员用例图