UML基本介绍1) UML——Unified modeling language UML
- (统一建模语言),是一种用于软件系统
分析和设计的语言工具,它用于帮助软
件开发人员进行思考和记录思路的结果
UML本身是一套符号的规定,就像数学
符号和化学符号一样,这些符号用于描
述软件模型中的各个元素和他们之间的
关系,比如类、接口、实现、泛化、依
赖、组合、聚合等,如右图:
使用UML来建模,常用的工具有 Rational
Rose , 也可以使用一些插件来建模
UML类图
1) 用于描述系统中的类(对象)本身的组成和类(对象)之间的各种静态关系。
2) 类之间的关系: 依赖、泛化(继承)、实现、关联、聚合与组合
依赖
只要是类中用到了对方,那么他们之间就存在依赖关系(dependence)
其中PersionDao 也可以使用聚合来标
小结
- 类中使用到了对方
- 如果是类的成员属性
- 如果是方法的返回类型
- 是方法接受的参数类型
- 方法中使用到
A依赖B A指向B
泛化(generalization) 依赖的特例,实际上就是继承关系
PersionServiceBean 继承 DaoSupport , PersionServiceBean 指向 DaoSupport
实现关系 (implementation/ realization) 依赖关系的特例
PersionServiceBean 实现 PersionService, PersionServiceBean 指向 PersionService
关联关系(assocation)
实际上就是类与类之间的联系,它是依赖关系的特例
关联关系具有导航性:即双向关系 或者是单向关系
关系具有多重性:如
“1”表示有且仅有一个
“0”表示0~多个
“0,1”表示0个或者一个
“n,m”表示n~m个之间
“m…*” 表示m个以上
聚合关系
表示的是整体和部分的关系,整体与部分可以分开。
聚合关系是关联关系的特例
成员变量
如:一台电脑由键盘(keyboard)、显示器(monitor),鼠标等组成,组成电脑的各个配件是可以从电脑上分离出来的,使用带有空心菱形的实现来表示
public class Computer {
private Mouse mouse; //鼠标可以和computer分离
private Moniter moniter;//显示器可以和Computer分离
public void setMouse(Mouse mouse) {
this.mouse = mouse;
}
public void setMoniter(Moniter moniter) {
this.moniter = moniter;
}
}
组合关系(composition)
不可分离 共生
public class Computer {
private Mouse mouse = new Mouse(); //鼠标可以和computer不能分离
private Moniter moniter = new Moniter();//显示器可以和Computer不能分离
public void setMouse(Mouse mouse) {
this.mouse = mouse;
}
public void setMoniter(Moniter moniter) {
this.moniter = moniter;
}
}
public class Person {
private IDCard card; //聚合关系
private Head head = new Head(); //组合关系
}