第三章:类图
概念
- 类图的概念:类图是描述类、接口以及它们之间关系的图,它显示了系统中各个类的静态结构,是一种静态模型。
- 分类可以有效地使复杂问题简化。建立类模型的过程,是把现实世界中与问题有关的各种对象及其相互关系进行抽象和分类的过程。
类图的组成
2类元素(接口、类),4种关系
泛化(Generalization): 抽象化
特化(Specialization): 实例化
- 依赖关系:
- 概念:依赖表示一个类以某种形式依赖于其他类。当两个类处于依赖关系中时,其中一个类的改变可能会影响另一个类。
- 在程序代码中,依赖关系意味着一个类的对象出现在另一个类的操作当中。常见的有两种情况:一个类将另一个类的对象作为自己某个操作的参数(形参),或者是操作的局部变量。
区别:
- 依赖关系VS关联关系
- 区别
- 关联VS聚合(组合)
关联关系所涉及的两个类是处在同一个层次上的。比如学生和课程就是一种关联关系,而不是聚合关系,因为学生不是由课程组成的。聚合关系涉及的两个类处于不平等的层次上,一个代表整体,一个代表部分。比如电脑和显示器、键盘、主板、内存就是聚合关系,因为主板等是电脑的组成部分。 - 聚合VS组合
组合:整体类端的重数必须是1,部分类的重数是任意的
聚合:整体类端的重数可以大于1,部分类的重数是任意的
- 对象图
三个层次的观点
- 概念层:描述应用域中的概念,是对现实世界的直接描述,与实现它们的类有关,但与实现方案和实现语言无关。
- 说明层:描述软件的接口,而不是软件的实现。一个类型描述一个接口,但可能有多种实现。
- 实现层:从实现的角度定义类及其实现,揭示了软件实现体的构成情况。
类图建模分析步骤
(1)寻找出需求中的名词(候选对象)。
(2)合并含义相同的名词,排除范围以外的名词,并寻找隐含的名词。
(3)去掉只能作为类属性的名词。
(4)剩下的名词就是要找的分析类(候选类)。
(5)根据常识、问题域、系统责任确定该类有那些属性。
(6)补充该类动态属性,如状态、对象间联系(如聚合、关联)等属性。
(7)从需求中的动词、功能或系统责任中寻找类的操作(候选操作)。
(8)从状态转换,流程跟踪、系统管理等方面补充类的操作。
(9)对所寻找的操作进行合并、筛选。
(10)对所寻找的操作在类间进行合理分配(职责分配),形成每个类候选操作。
(11)补充每个类的的分析文档,为类的进一步设计打下基础。
小结:
- 类和对象的表示法
(1)名称;(2)属性;(3)行为; - 类之间的各种关系
(1)继承:子类继承了超类的所有属性和行为;
(2)关联:两个不同类之间关联,可以单向或双向;
(3)聚合:强关联关系,整体与部分的生命周期分开;
(4)组合:强聚合,整体与部分的生命周期相同; - 三个概念层次
(1)概念层;(2)说明层;(3)实现层
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!