1. 什么是类图
类图以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态建模方法。
类图中的“类”与面向对象语言中的“类”的概念是对应的,是对现实世界中的事物的抽象。
类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。
类图是以类为中心来组织的,类图中的其他元素或属于某个类或与类相关联。
2. 类图作用
类图一般在详细设计的过程中出现,用于描述系统中各个模块中类之间的关系,包括类或者类与接口的继承关系,类之间的依赖、聚合等关系。用来指导我们的编码。
3. 类图中的事物
4. 类图中的关系
1). 关联关系 带普通箭头的实心线,指向被拥有者。代码中的体现成员变量的关系。
当然也可以认为老师和学生是相互关联的。
2). 聚合:带空心菱形的实心线,菱形指向整体。代码中的体现成员变量的关系(和组合关系的区别是可以脱离整体存在的)
rational rose工具画聚合关系:
1. 工具栏点击右键,在弹出的菜单中选择 Customize…(最后一项)。
2. 弹出框中左边选择Creates an aggregation 添加到右边,在关闭。这样工具栏中就有了聚合关系的线。
3). 组合:带实心菱形的实线,菱形指向整体。代码中的体现成员变量的关系(同生命周期)
rational rose工具画组合关系:
1. 先话聚合关系的线,双击聚合关系线。
2. 选择by value。这样组合关系的线就画出来了。入下图
4). 泛化关系: 带三角箭头的实线,箭头指向父类。代码中的体现extends
5). 实现关系: 带三角箭头的虚线,箭头指向接口。代码中的体现implements
6). 依赖关系: 带箭头的虚线,指向被使用者,代码中的体现为局部变量、方法的参数或者对静态方法的调用
5. 类图建模过程
1). 研究分析问题领域,确定系统需求。
2). 确定类,明确类的含义和职责,确定类的属性和操作。
3). 确定类之间的关系(当然也包括接口了)。
4). 调整和细化类及类之间的关系。
5). 绘制类图并且添加相应的说明。
5. 例子
一个图形编辑器(画基本图形和组合图形)的简单类图。