UML统一建模语言
- 定义:是一种基于面向对象的可视化建模语言
UML采用了一组形象化的图形符号作为建模语言,使用这些符号可以形象地描述系统的各个方面
UML通过建立图形之间的各种关系(如类与类之间的关系)来描述模型
2、UML分类
UML的关系主要包括4种
关联关系
依赖关系
泛化关系
UML有10种关系图
1、用例图
2、类图
3、时序图
等等
其中最主要使用的就是类图
下面详细介绍类图的使用
3、类图
类图是面向对象系统建模中最常用的图,是定义其他图的基础
类图主要用来显示系统中的类、接口以及他们之间的关系。
类图包含元素有类、接口和关系,其中关系有泛化关系、关联关系、依赖关系和实现关系,在类图中也可以包含注释和约束。
3.1类之间的关系之泛化关系
UML中泛化关系用来表示类与类,接口与接口之间的继承关系
UML中泛化关系可以用一条实线空心箭头由子类指向父类
3.2 类之间的关系之实现关系
UML中,实现关系用来表示类与接口之间的实现关系
UML实现关系用一条虚线空心箭头由子类指向父类
3.3 类之间的关系之依赖关系
对于两个相对独立的系统,当一个系统负责构造另一个系统的实现,或者依赖另一个系统服务时,这两个系统之间体现为依赖关系。
Person类和Car类,Person需要调用Car类去GoWork(), Person依赖于Car类,类图中用------>表示依赖关系。
上面类图中代码如下:
class Car{
public:
void run()
{
}
};
class Person{
public:
void goWork(Car* car)
{
car->run();
}
};
3.4 类之间的关系之关联关系
对于两个相对独立的系统,当一个系统的实例与另一个系统的一些特定实例存在固定的对应关系时,这两个系统之间为关联关系。
例子如下;Person指定选择某个Car类就是固定使用指定Car, 那么Person类和Car类之间就是关联关系
class Car{
public:
void run()
{
}
};
class Person{
public:
void goWork()
{
car->run();
}
private:
Car *car;
};
3.4 类之间的关系之聚合关系
1.聚合关系是关联关系的一种,是更强的关联关系
2.聚合是整体和部分之间的关系,如汽车有引擎、轮胎以及其他零件组成
3.聚合关系也是通过成员变量来实现的,但是关联关系涉及的两个类处在同一个层次上,而聚合关系,两个类处于不同的层次上,一个代表整体,一个代表部分。
聚合是关联关系的一种特例,它体现的是整体与部分的关系。整体和部分是可以分离的,它们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享,例如下面的电脑和CPU (电脑不存在了 CPU还可以存在)
3.5 类之间的关系之组合
UML类图关系中组合关系是比聚合关系还要强的关系
代表整体的对象负责代表部分对象的生命周期(整体对象不存在了那部分对象就不复存在了)
组合关系是关联关系的一种特例,它体现的是一种Container-a关系,被称为强聚合关系。
如果公司不存在了那部门就也不存在了
4、UML画图是通过startUML软件画图