uml那些事——几类重要的图

根据老师的task记录几个uml的重要图例:


association:


(1)关联关系是类与类之间的联结,它使一个类知道另一个类的属性和方法。

(2)关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

(3)在 Java 或 c++ 中,关联关系是通过使用成员变量来实现的


例如:

class Student{
};

class Teacher{
	protected:
		list<Student> stList;
}; 

一个教师对应多个学生,通过成员变量间的关系实现。

uml图例:


aggregation:

1、聚合关系是关联关系的一种,是强的关联关系。

2、聚合是整体和部分之间的关系,例如汽车由引擎、轮胎以及其它零件组成。

3、聚合关系也是通过成员变量来实现的。但是,关联关系所涉及的两个类处在同一个层次上,而聚合关系中,两个类处于不同的层次上,一个代表整体,一个代表部分。

4、关联与聚合仅仅从 Java 或 C++ 语法上是无法分辨的,必须考察所涉及的类之间的逻辑关系。


class SmartPhone{
    public:
        Screen *screen;
        Key *key;
        Battery *battery;
};

class Screen{
}; 

class Key{
}; 

class Battery{
};

uml图例:


composition:


1、合成关系是关联关系的一种,是比聚合关系还要强的关系。

2、它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。

3,它的部分与整体的关系比aggretion更强,当整体被销毁时,组成整体的成员随即销毁,不能再被运用。


class Person{
	private:
		Arm arms[2];
		Leg legs[4];
};

class Arm{
}; 

class Leg{
}; 

图示:


这表示,一个人挂了之后,他的躯体各部分自然也就没法用了。


dependency:


1、依赖关系也是类与类之间的联结

2、依赖总是单向的。

3、依赖关系在 Java 或 C++ 语言中体现为局部变量、方法的参数或者对静态方法的调用。


public class Car {
}

public class Person {
	public void buy(Car car){
		System.out.println("A person buy a car");
	}
}


图示:



generalization:

1,描述一类继承关系,其中父类是子类的generalization,子类是父类的inheritance

2,父类与子类的定义与c++和java的定义基本相同


class Man{
private:
	int age;
public:
	void work(){
		printf("I can work\n");
	} 
};

class Son{
}; 

图示:



内容简介   本书通过引用UML规格书里的例和定义详细介绍了UML的特色和发展历史,六类UML,元模型的说明,并且以StarUML为示范,讲解UML,工具如何落实UML概念,还介绍了活动、控制节点、交互、生命线、用例等内容。   本书可作为高等院校计算机专业的教材和参考书,也可作为各类希望了解UML的人员的参考书。 目录 前言 第1章 UML概述 1.1 语言与方法 1.2 形语言 1.3 国际标准 1.4 面向对象 第2章 六类UML 2.1 类 2.1.1 类 2.1.2 可见性 2.1.3 关联 2.1.4 多重性 2.1.5 聚合与组合 2.1.6 泛化 2.1.7 依赖 2.1.8 接口 2.1.9 注释 2.2 对象 2.3 包 2.3.1 包 2.3.2 元素导入 2.3.3 包导入 2.3.4 包合并 2.4 活动 2.4.1 动作与控制流 2.4.2 对象节点与对象流 2.4.3 活动参数节点 2.4.4 引脚 2.4.5 起点与终点 2.4.6 合并 2.4.7 判断 2.5 序列 2.5.1 交互 2.5.2 生命线 2.5.3 执行发生 2.5.4 消息 2.5.5 终止 2.5.6 一般次序 2.5.7 状态不变式 2.6 用例 2.6.1 用例与执行者 2.6.2 包含关系 2.6.3 扩展关系 2.6.4 扩展点 第3章 类(一) 3.1 根基 3.1.1 元素 3.1.2 关系 3.1.3 有向关系 3.1.4.注释 3.2 名称空间 3.2.1 具名元素 3.2.2 名称空间 3.2.3 可见性种类 3.2.4 装包元素 3.2.5 元素导入 3.2.6 包导入 3.3 多重性 3.3.1 多重性元素 3.3.2 类型与类型元素 3.4 表达式 3.4.1 值规格 3.4.2 表达式 3.4.3 不透明表达式 3.4.4 文字规格 3.4.5 实例值 3.5 约束 第4章 类(二) 4.1 实例 4.1.1 实例规格 4.1.2 槽 4.2 类元 4.2.1 定义 4.2.2 泛化 4.2.3 可重定义元素 4.3 特征 4.3.1 定义 4.3.2 结构特征 4.3.3 行为特征 4.3.4 参数 4.3.5 参数方向种类 4.4 操作 4.5 类 4.5.1 定义 4.5.2 性质 4.5.3 关联 4.5.4 聚合种类 第5章 类(三) 5.1 数据类型 5.1.1 定义 5.1.2 基本类型 5.1.3 枚举与枚举文字 5.2 包 5.2.1 定义 5.2.2 包合并 5.3 依赖 5.3.1 依赖与具名元素 5.3.2 使用关系 5.3.3 许可 5.3.4 抽象 5.3.5 实现 5.3.6 替代和类元 5.4 接口 5.4.1 实现和行为类元 5.4.2 接口定义 第6章 活动 6.1 流程 6.1.1 活动节点与活动边 6.1.2 控制流 6.1.3 对象流 6.2 节点 6.2.1 活动 6.2.2 执行节点与动作 6.2.3 对象节点 6.2.4.活动参数节点 6.3 动作 6.3.1 引脚 6.3.2 输出引脚与输入引脚 6.3.3 值引脚 6.4 控制节点 6.4.1 定义 6.4.2 起始节点 6.4 _3终止节点与活动终点 6.4.4 合并节点 6.4.5 判断节点 第7章 交互 7.1 交互 7.2 消息 7.2.1 消息与消息端 7.2.2 消息种类与消息性质 7.2.3 件发生与执行发生 7.2.4 一般次序 7.3 生命线 7.3.1 定义 7.3.2 状态不变式 7.3.3 终止 第8章 用例 8.1 用例与类元 8.2 关联与泛化 8.3 执行者 8.4 包含关系 8.5 扩展关系 8.6 扩展点 第9章 杂项 9.1 基本类型 9.2 UML 9.2.1 框 9.2.2 13类 9.3 共同行为 9.3.1 行为 9.3.2 行为类元 9.3.3 活动 9.3.4 不透明表达式 9.4 构造型 9.4.1 辅助与焦点一 9.4.2 元类 9.4.3 类型与实现类 9.4.4 工具 9.4.5 派生 9.4.6 精化 9.4.7 追踪 9.4.8 实例 9.4.9 创建 9.4.10 调用 9.4.11 发送 9.4.12 责任 9.4.13 创建 9.4.14 销毁 9.4.15 框架 9.4.16 模型库 9.4.17 实现 9.4.18 建造组件 9.4.19 脚本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值