(6)多态( polymorphism) 指在类的不同层次上可以使用相同的操作名。同 操作名可有不同的实现方式,运行时可动态地选择 哪一个算法 多态性增加了软件的灵活性,可扩充性,通用功 能的操作放在高层,不同地实现这一功能的行为放在 低层,以实现不同的相应。 安交通大学刘海岩
西安交通大学 刘海岩 16 (6)多态(polymorphism) 指在类的不同层次上可以使用相同的操作名。同 一操作名可有不同的实现方式,运行时可动态地选择 哪一个算法。 多态性增加了软件的灵活性,可扩充性,通用功 能的操作放在高层,不同地实现这一功能的行为放在 低层,以实现不同的相应
7.4几种面向对象方法 20世纪80年代以来,出现了几十种面向对象软件开 发方法。每一种都有自己的符号体系和开发过程,都支 持以下基本活动: 标识类及对象 描述类及对象之间的关系 定义类的属性和操作 1、 Booch方法 Booch是面向对象方法最早的提出者之一,提出了面向 对象软件工程的概念。提出了“微开发过程”和“宏开 发过程”的思想。 安交通大学刘海岩
西安交通大学 刘海岩 17 7.4 几种面向对象方法 20世纪80年代以来,出现了几十种面向对象软件开 发方法。每一种都有自己的符号体系和开发过程,都支 持以下基本活动: • 标识类及对象 • 描述类及对象之间的关系 • 定义类的属性和操作 1、Booch方法 Booch是面向对象方法最早的提出者之一,提出了面向 对象软件工程的概念。提出了“微开发过程”和“宏开 发过程”的思想
微开发过程:定义一组分析任务,包括标识类和 对象以及类和对象的语义、定义类和对象间的关系 描述类和对象的动态行为 宏开发过程:将微过程反复应用,并包含了体系 结构设计的计划活动 将相似的对象聚集到独立的模块 描述对象管理、内存管理、错误处理等其它功能 的实施; 可使用原型对上述任务进行精化; 将同时执行的进程分配到不同的处理机 该方法提出建立以下模型: 类图、对象图、状态转移图、时序图、模块图 进程图。 安交通大学刘海岩
西安交通大学 刘海岩 18 微开发过程:定义一组分析任务,包括标识类和 对象以及类和对象的语义、定义类和对象间的关系、 描述类和对象的动态行为。 宏开发过程:将微过程反复应用,并包含了体系 结构设计的计划活动: • 将相似的对象聚集到独立的模块; • 描述对象管理、内存管理、错误处理等其它功能 的实施; • 可使用原型对上述任务进行精化; • 将同时执行的进程分配到不同的处理机。 该方法提出建立以下模型: 类图、对象图、状态转移图、时序图、模块图、 进程图
2、Coad/ Yourdon方法 著名的 OOA/OOD方法,也是最早的面向对象的分析与 设计方法之一。简单、易学。 OOA阶段的任务: 标识类及对象 定义结构(一般一特殊结构、整体一部分结构) 划分主题 定义属性及对象间的实例连接 定义服务及对象间的消息连接 上述任务迭代进行,产生5个层次的问题域模型〈主 题层、类及对象层、结构层、属性层、服务层) 安交通大学刘海岩
西安交通大学 刘海岩 19 2、Coad/Yourdon方法 著名的OOA/OOD方法,也是最早的面向对象的分析与 设计方法之一。简单、易学。 OOA阶段的任务: • 标识类及对象 • 定义结构(一般-特殊结构、整体-部分结构) • 划分主题 • 定义属性及对象间的实例连接 • 定义服务及对象间的消息连接 上述任务迭代进行,产生5个层次的问题域模型(主 题层、类及对象层、结构层、属性层、服务层)
OOD阶段的活动: 问题域部分 人机交互部分 任务管理部分 数据管理部分 3、OMT方法 Rumbaugh等人提出的对象建模技术( Object Model Technology,OMI),该方法强调了三种模型,并将软 件开发过程划分为以下几个阶段: 1)系统分析 问题描述 建立对象模型 产品:对象模型=对象图+数据字典 安交通大学刘海岩
西安交通大学 刘海岩 20 OOD阶段的活动: • 问题域部分 • 人机交互部分 • 任务管理部分 • 数据管理部分 3、OMT方法 Rumbaugh等人提出的对象建模技术(Object Model Technology, OMT),该方法强调了三种模型,并将软 件开发过程划分为以下几个阶段: (1)系统分析 • 问题描述 • 建立对象模型 产品:对象模型=对象图+数据字典