③共京宽大学 BEDING UNIVERSITY OF POSTS AND TELECOMMUNICATIONS 软件工程模型与方法 TS∈G Models methods of Software Engineering Telecommunications Software Engineering Grou 第八章面向对象基础 肖丁diao@abupt.edu.cn 通软件中心 ⊙2008 BUPTTSEG
© 2008 BUPT TSEG 软件工程模型与方法 Models & Methods of Software Engineering 第八章 面向对象基础 肖丁 dxiao@bupt.edu.cn
共京部電大学 本章内容 ◆8.1面向对象基本思想 ◆8.2面向对象的主要概念和基本原则 ◆8.3几种经典的面向对象的分析和设计方法 ◆8.4统一建模语言UML简介 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 2 本章内容 ◆ 8.1 面向对象基本思想 ◆ 8.2 面向对象的主要概念和基本原则 ◆ 8.3 几种经典的面向对象的分析和设计方法 ◆ 8.4 统一建模语言UML简介
共京部電大学 81面向对象基本思想 ◆面向对象方向20世纪60年代末提出,90年 代得到了广泛的应用,其思路是从现实世 界中的客观对象(如人或事物)出发,尽 曩运用人类的息然维方式(如抽象和分 件系 ◆结构化开发方法将系统划分为功能和数据 两个部分,数据和功能分别设计和实现。 ◆面向对象从现实出发,将系统抽象为一组 交互的对象,每个对象既包含功能,也拥 有数据。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 3 8.1 面向对象基本思想 ◆ 面向对象方向20世纪60年代末提出,90年 代得到了广泛的应用,其思路是从现实世 界中的客观对象(如人或事物)出发,尽 量运用人类的自然思维方式(如抽象和分 类)来构造软件系统。 ◆ 结构化开发方法将系统划分为功能和数据 两个部分,数据和功能分别设计和实现。 ◆ 面向对象从现实出发,将系统抽象为一组 交互的对象,每个对象既包含功能,也拥 有数据
共京部電大学 81面向对象基本思想 ◆以图书管理信息系统为例来比较结构化开 发方法和面向对象方法的思路。 ◆结构化方法: 函数和过程 数据库 管理图书基本信息 办理借阅 办理还书 图书基 查询图书基本信息 查询自己的借阅信息 等 书损幻倡 等 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 4 8.1 面向对象基本思想 ◆ 以图书管理信息系统为例来比较结构化开 发方法和面向对象方法的思路。 ◆ 结构化方法: 图书基本信息 读者基本信息 图书借阅信息 图书预约信息 等 数据库 管理图书基本信息 办理借阅 办理还书 查询图书基本信息 查询自己的借阅信息 等 函数和过程
共京部電大学 81面向对象基本思想 ◆面向对象的方法: ◆从图书借阅的应用中抽象出三类对象: 学生 图书 教师 数据 数据 数据 姓名、学号、班级 书名、ISBN号、出 姓名、工作按证号 入学年份、宿舍 版社、出版日期、 所在、入职年份 电话等 作者等 职称、电话等 功能: 功能 功能: 借书、还书、预约 告知图书状态、查 借书、还书、预约 查询图书信息 询借阅时间、查询 查询图书信息、 查询借阅信息、交 借阅该书读者信息 查询借阅信息、交 罚款等 等 罚款等 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 5
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 5 8.1 面向对象基本思想 ◆ 面向对象的方法: ◆ 从图书借阅的应用中抽象出三类对象: 数据: 姓名、学号、班级 、入学年份、宿舍 、电话等 功能: 借书、还书、预约 、查询图书信息、 查询借阅信息、交 罚款等 学生 数据: 书名、ISBN号、出 版社、出版日期、 作者等 功能: 告知图书状态、查 询借阅时间、查询 借阅该书读者信息 等 图书 数据: 姓名、工作按证号 、所在、入职年份 、职称、电话等 功能: 借书、还书、预约 、查询图书信息、 查询借阅信息、交 罚款等 教师
共京部電大学 81面向对象基本思想 ◆可见,面向对象不仅是一些具体的软件开 发技术与策略,而且是一整套关于如何看 待软件系统与现实世界的关系、用什么观 点来研究问题并进行问题求解、以及如何 进行系统构造的软件方法学。 ◆从这个意义上讲,面向对象方法是一种运 用对象、类、继承、封装、聚合、关联、 消息、多态性等概念来构造系统的软件开 发方法。面向对象基本思想可以概括为: ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 6 8.1 面向对象基本思想 ◆ 可见,面向对象不仅是一些具体的软件开 发技术与策略,而且是一整套关于如何看 待软件系统与现实世界的关系、用什么观 点来研究问题并进行问题求解、以及如何 进行系统构造的软件方法学。 ◆ 从这个意义上讲,面向对象方法是一种运 用对象、类、继承、封装、聚合、关联、 消息、多态性等概念来构造系统的软件开 发方法。面向对象基本思想可以概括为:
共京部電大学 81面向对象基本思想 ◆对象:从现实世界中客观存在的事物出发 来构建软件系统 强调直接以问题域(现实世界)中的事物为中 心来思考和分析 把它们抽象地表示为软件系统中的对象,作为 软件系统的基本构成单位。 这样就可以使软件系统直接映射到问题域,保 持问题域中事物及其相互关系的本来面貌。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 7 8.1 面向对象基本思想 ◆ 对象:从现实世界中客观存在的事物出发 来构建软件系统: ➢ 强调直接以问题域(现实世界)中的事物为中 心来思考和分析 ➢ 把它们抽象地表示为软件系统中的对象,作为 软件系统的基本构成单位。 ➢ 这样就可以使软件系统直接映射到问题域,保 持问题域中事物及其相互关系的本来面貌
共京部電大学 81面向对象基本思想 属性和服务用对象的属性表示事物的静态特征;用对象 关联:通过关联表达类之间的静态关系。 濮秦 息:对象之间通过消息进行通信,实现对象之间的动态 封装:类和对象的属性与服务结合为一体,对外屏蔽其内 部细节,只有公共的服务对外是可见的。 分类:对事物进行分类。 聚合:复杂的对象可以用简单的对象作为其构成部分 继承:通过在不同程度上运用抽象的原则,可以得到较 般的类和较特殊的类。特殊类继承一般类的属性与服务, 众而简化系统的构造过程及文档。 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 8 8.1 面向对象基本思想 ◆ 属性和服务:用对象的属性表示事物的静态特征;用对象 的服务表示事物的动态特征。 ◆ 关联:通过关联表达类之间的静态关系。 ◆ 消息:对象之间通过消息进行通信,实现对象之间的动态 联系。 ◆ 封装:类和对象的属性与服务结合为一体,对外屏蔽其内 部细节,只有公共的服务对外是可见的。 ◆ 分类:对事物进行分类。 ◆ 聚合:复杂的对象可以用简单的对象作为其构成部分。 ◆ 继承:通过在不同程度上运用抽象的原则,可以得到较一 般的类和较特殊的类。特殊类继承一般类的属性与服务, 从而简化系统的构造过程及文档
共京電人8.200的主要概念和基本原则 ◆8.2.1主要概念 ◆82.2基本原贝 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 9
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 9 8.2 OO的主要概念和基本原则 ◆ 8.2.1 主要概念 ◆ 8.2.2 基本原则
共京部電大学 821主要概念 ◆对象 类 ◆关联和链 ◆继承泛化 ◆聚合 ⊙2008 BUPT TSEG 北京邮电大学通信软件工程中心 10
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 10 8.2.1 主要概念 ◆ 对象 ◆ 类 ◆ 关联和链 ◆ 继承/泛化 ◆ 聚合