西安交通大学现代远程教育课程 软件工程概论 (5)继承( inheritance) 是子类自动的共享其父类中定义的属性和操作的 机制,该机制构成了类的层次结构。较高层的父类称 为基类、超类、一般类。子类称为派生类、特殊类。 子类除了继承父类的特征,还可有自己的特征。继承 有传递性,子类能继承上层的全部特征 继承性使得相似的对象可以共享程序代码和数据 结构,从而简化了创建类及对象的工作量,基类解决 般性问题,派生类解决特殊问题,提高了软件的可 重用性。继承性还使得软件便于维护,当需要扩充软 件原有功能时,从要修改的类中派生出一个子类,在 该子类中添加新的代码。 16 主讲教师:刘海岩副教授
16 (5)继承(inheritance) 是子类自动的共享其父类中定义的属性和操作的 机制,该机制构成了类的层次结构。较高层的父类称 为基类、超类、一般类。子类称为派生类、特殊类。 子类除了继承父类的特征,还可有自己的特征。继承 有传递性,子类能继承上层的全部特征。 继承性使得相似的对象可以共享程序代码和数据 结构,从而简化了创建类及对象的工作量,基类解决 一般性问题,派生类解决特殊问题,提高了软件的可 重用性。继承性还使得软件便于维护,当需要扩充软 件原有功能时,从要修改的类中派生出一个子类,在 该子类中添加新的代码
西安交通大学现代远程教育课程 软件工程概论 (6)多态( polymorphism) 指在类的不同层次上可以使用相同的操作名。同 操作名可有不同的实现方式,运行时可动态地选择 哪一个算法。 多态性增加了软件的灵活性,可扩充性,通用功 能的操作放在高层,不同地实现这一功能的行为放在 低层,以实现不同的相应。 主讲教师:刘海岩副教授
17 (6)多态(polymorphism) 指在类的不同层次上可以使用相同的操作名。同 一操作名可有不同的实现方式,运行时可动态地选择 哪一个算法。 多态性增加了软件的灵活性,可扩充性,通用功 能的操作放在高层,不同地实现这一功能的行为放在 低层,以实现不同的相应
西安交通大学现代远程教育课程 软件工程概论 7.4几种面向对象方法 20世纪80年代以来,出现了几十种面向对象软件开 发方法。每一种都有自己的符号体系和开发过程,都支 持以下基本活动 标识类及对象 描述类及对象之间的关系 ·定义类的属性和操作 1、 Booch方法 Booch是面向对象方法最早的提出者之一,提出了面 向对象软件工程的概念。提出了“微开发过程”和“宏 开发过程”的思想。 18 主讲教师:刘海岩副教授
18 7.4 几种面向对象方法 20世纪80年代以来,出现了几十种面向对象软件开 发方法。每一种都有自己的符号体系和开发过程,都支 持以下基本活动: • 标识类及对象 • 描述类及对象之间的关系 • 定义类的属性和操作 1、Booch方法 Booch是面向对象方法最早的提出者之一,提出了面 向对象软件工程的概念。提出了“微开发过程”和“宏 开发过程”的思想
西安交通大学现代远程教育课程 软件工程概论 微开发过程:定义一组分析任务,包括标识类和 对象以及类和对象的语义、定义类和对象间的关系、 描述类和对象的动态行为 宏开发过程:将微过程反复应用,并包含了体系 结构设计的计划活动: ·将相似的对象聚集到独立的模块; 描述对象管理、内存管理、错误处理等其它功能 的实施 可使用原型对上述任务进行精化; 将同时执行的进程分配到不同的处理机 该方法提出建立以下模型: 类图、对象图、状态转移图、时序图、模块图 进程图。 19 主讲教师:刘海岩副教授
19 微开发过程:定义一组分析任务,包括标识类和 对象以及类和对象的语义、定义类和对象间的关系、 描述类和对象的动态行为。 宏开发过程:将微过程反复应用,并包含了体系 结构设计的计划活动: • 将相似的对象聚集到独立的模块; • 描述对象管理、内存管理、错误处理等其它功能 的实施; • 可使用原型对上述任务进行精化; • 将同时执行的进程分配到不同的处理机。 该方法提出建立以下模型: 类图、对象图、状态转移图、时序图、模块图、 进程图
西安交通大学现代远程教育课程 软件工程概论 2、coad/ Yourdon方法 著名的 OOA/OOD方法,也是最早的面向对象的分析与 设计方法之一。简单、易学。 OOA阶段的任务 标识类及对象 定义结构(一般一特殊结构、整体一部分结构) 划分主题 定义属性及对象间的实例连接 定义服务及对象间的消息连接 上述任务迭代进行,产生5个层次的问题域模型(主题 层、类及对象层、结构层、属性层、服务层) 主讲教师:刘海岩副教授
20 2、Coad/Yourdon方法 著名的OOA/OOD方法,也是最早的面向对象的分析与 设计方法之一。简单、易学。 OOA阶段的任务: • 标识类及对象 • 定义结构(一般-特殊结构、整体-部分结构) • 划分主题 • 定义属性及对象间的实例连接 • 定义服务及对象间的消息连接 上述任务迭代进行,产生5个层次的问题域模型(主题 层、类及对象层、结构层、属性层、服务层)