0
点赞
收藏
分享

微信扫一扫

【软件工程】3.UML类图


UML和建模软件Rose的使用已在上一篇介绍过了,这一篇我们继续介绍画图方法。
我们介绍“ 类图”:

用于描述系统中的类与类之间的各种关系。

继承:父子类关系;

实现:类与接口关系;


关联(全局变量, 组合/聚合): 值、引用;


依赖:局部变量(非Spring中 依赖注入)。




1.类图举例


我们在Rose中创建类图的方法:


【软件工程】3.UML类图_类图




创建一个实体:


【软件工程】3.UML类图_类图_02



然后鼠标放在实体上面,单击鼠标右键,可以添加这个实体类的属性和方法:

【软件工程】3.UML类图_类图_03

添加一个属性,然后双击属性,点检attribute可以设置属性的详细:


【软件工程】3.UML类图_软件工程_04



然后我们再添加一个name的属性。



之后我们按照上面类似的方法,给实体类添加一个方法:


【软件工程】3.UML类图_关联关系_05




然后我们给它设置一个参数(String name),无返回(void)


【软件工程】3.UML类图_关联关系_06



然后用同样的方法我们添加getName()方法:


【软件工程】3.UML类图_类图_07




如果不显示方法的参数,可以勾选“显示原型”:


【软件工程】3.UML类图_rose_08




之后我们添加一个接口:


【软件工程】3.UML类图_rose_09



接口图形如果是圆的,不想用圆的:


【软件工程】3.UML类图_类图_10




想改成方的,就在这里更改:


【软件工程】3.UML类图_关联关系_11




好了,我们的类图的例子和设置方法给大家了,我们将使用这种画图方法来画一个完整的类图。


我们画一个用户管理模块的类图:


【软件工程】3.UML类图_类图_12


其中图中的"关联"和"依赖"的不同:


关联:全局性


依赖:局部性



然后我们解释一下图中的各种关系:


(1)继承关系


public abstract class BaseDaoImpl{

public void save(Object entity){
}

public Object findObject(Object id){
}


}


public class UserDaoImpl extends BaseDaoImpl{
}

【软件工程】3.UML类图_软件工程_13




(2)实现关系


public interface UserDao {
}
public class UserDaoImpl
implements UserDao {
}

【软件工程】3.UML类图_类图_14




(3)关联关系


关联关系实际上就是类与类之间的联系;


关联具有导航性:即双向关系或单向关系。


【软件工程】3.UML类图_软件工程_15




(4)关联之聚合关系(By ref)


聚合关系,表示的是整体和部分的关系,整体与部分可以分开。



使用带空心菱形的实线来表示:


【软件工程】3.UML类图_uml_16



(5)组合关系(By value)


也是整体与部分的关系,但是整体与部分不可以分开;部分离开整体没有实际意义。


使用带实心菱形的实线来表示:


【软件工程】3.UML类图_类图_17



(6)依赖关系


A类使用到了另一个B类型。



关系具有:临时性的、偶然性,但是B类的变


会影响到A。代码层面,为类B作为参数被类A在某个method方法中使用。



举报

相关推荐

0 条评论