2018.4.15 Mac系统下如何使用StartUml画好需求分析的类图 (同样适用于windows)
Mac如何使用StartUml (同样适用于windows)
左侧边栏的英文含义及其用法
关联(Association)
【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
【代码体现】:成员变量
【箭头及指向】:单向关联为带普通箭头的实心线,箭头指向被拥有者,
关联关系中默认的是双向关联,directed Association是单向关联 只有一个箭头。Association是双向关联,有两个箭头或者没有箭头都是可以的
聚合(Aggregation)
【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。
【代码体现】:成员变量
【箭头及指向】:带空心菱形的实心线,菱形指向整体
组合(Composition)
【组合关系】:是整体与部分的关系,但部分不能离开整体而单独存在。如线段和点是整体和部分的关系,没有点就不存在线段。 组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。
【代码体现】:成员变量
【箭头及指向】:带实心菱形的实线,菱形指向整体
依赖(Dependency)
【依赖关系】:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖.,依赖总是单向的
【代码表现】:局部变量、方法的参数或者对静态方法的调用
【箭头及指向】:带箭头的虚线,指向被使用者
实现(Realization)
【实现关系】:是一种类与接口的关系,它表示不继承结构而只继承行为,是类与接口之间最常见的关系。准确的说,类不是继承(inherit)接口,而是实现(implement)接口。
【箭头指向】:UML中用带三角箭头的虚线,箭头指向接口
泛化(Generalization)
【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。例如:桃树是树的一种,桃树的特性也有树的特性
【箭头指向】:带三角箭头的实线,箭头指向父类
如何画接口类?Interface
在UML类图中,接口有2种表示方法
(1)分为两层,第一层接口名,顶端有<>标识,第二层是接口方法,也就是俗称的两层矩形框表示;
(2)和类图表示一样,区别为第二层为空,在矩形框上有一个棒棒糖的标识,俗称棒棒糖表示法;
下面我们就详细讲解下如何把接口变成两层矩形框表示
1、选中需要修改的接口图,右键“Format”→“Stereotype Display”→“Textual”
(Mac下是没有Textual 但是可以转化为Icon或者Decration..... 这两种模式是有区别的,前者当一个类去实现接口的时候会显示实线,后者则会显示虚线跟我们平时看的结果一样)
经过上面的设置,可以发现接口的表示方法已经由棒棒糖表示法变成两层矩形框表示了,但还有一个问题,就是方法名和属性不显示,让接口显示方法名和属性,请按照以下步骤设置:“Format”去掉“Suppress Attributes”和“Suppress Operations”。然后接口哪里会显示两行矩形出来,还有在接口哪里写方法的时候注意只需要写出方法名就行了,不需要写 + - 这些只需要前面的下拉框选择就行了。void 在这里表示的是type最终,进过设置,接口的表示如下图所示,成功的把接口由棒棒糖表示法变成两层矩形框表示法
拓展
添加类和接口的关系
可以通过从toolbox中选择表示“Realization”的箭头,并从Circle拖拽向IShape,使Circle实现接口IShape。重复同样的过程,为Rectangle添加实现关系。这是添加了Circle 和 Rectangle对于IShape接口的实现关系。
如果想使连接线表现为直角的方式,右击连接线,并选择" Format/Line Style/Rectilinear"菜单。你通过这种方式,使箭头重叠在一起,可以使你的图看起来更整洁。
如何通过StartUml生成Java代码
生成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 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”。
现在StarUML将从你的图产生代码,点击“Finish”退出对话框。
现在,您可以编辑生成的代码,以增加应用。
如何画时序图
创建时序图步骤如下:Model–》Add Diagram–》Sequence Diagram
如何画抽象类
在Class 类的基础上在右边选择isAbstract 。接着他的类名就会变成了斜体字