面向对象分析与设计优秀PPT.ppt
《面向对象分析与设计优秀PPT.ppt》由会员分享,可在线阅读,更多相关《面向对象分析与设计优秀PPT.ppt(108页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象分析与设计1 1第一页,本课件共有108页第一章第一章 绪论绪论1.1 1.1 面向对象方法基本思想面向对象方法基本思想1.2 1.2 面向对象方法发展简史面向对象方法发展简史1.3 1.3 面向对象方法的基本概念和原则面向对象方法的基本概念和原则1.4 1.4 面向对象软件系统模型面向对象软件系统模型2 2第二页,本课件共有108页1.1 1.1 面向对象方法基本思想面向对象方法基本思想 以以功能为中心功能为中心的软件开发方法(结构化方法)的软件开发方法(结构化方法)以以数据为中心数据为中心的软件开发方法(信息建模方法)的软件开发方法(信息建模方法)低内聚,高耦合,缺乏灵活性和可维护
2、性低内聚,高耦合,缺乏灵活性和可维护性分析与设计阶段采用的概念和表示不一致分析与设计阶段采用的概念和表示不一致对功能的处理较弱,不适合具有复杂功能的系对功能的处理较弱,不适合具有复杂功能的系统统3 3第三页,本课件共有108页n n以事物为中心以事物为中心以事物为中心以事物为中心 将数据与对数据的操作看作一个整体,即对象将数据与对数据的操作看作一个整体,即对象将数据与对数据的操作看作一个整体,即对象将数据与对数据的操作看作一个整体,即对象n n是一种认识论、方法论是一种认识论、方法论n n是一种运用是一种运用对象、类、继承、封装、聚合、关联、消对象、类、继承、封装、聚合、关联、消息和多态性息和
3、多态性等概念和原则来构造系统的软件开发方法,等概念和原则来构造系统的软件开发方法,等概念和原则来构造系统的软件开发方法,等概念和原则来构造系统的软件开发方法,其要点是其要点是其要点是其要点是 (1)认识事物及其相互关系)认识事物及其相互关系 (2)对事物归类,并实现继承)对事物归类,并实现继承 (3 3)强调事物的自主性)强调事物的自主性)强调事物的自主性)强调事物的自主性面向对象方法基本思想面向对象方法基本思想4 4第四页,本课件共有108页n n高可维护性:高可维护性:高可维护性:高可维护性:回避在不稳定的基础上建造系统。寻找可回避在不稳定的基础上建造系统。寻找可回避在不稳定的基础上建造系
4、统。寻找可回避在不稳定的基础上建造系统。寻找可构造的元素作为系统构造的基础,可构造元素的变化不会构造的元素作为系统构造的基础,可构造元素的变化不会构造的元素作为系统构造的基础,可构造元素的变化不会构造的元素作为系统构造的基础,可构造元素的变化不会涉及到系统的其它成分,不会影响到整体。涉及到系统的其它成分,不会影响到整体。涉及到系统的其它成分,不会影响到整体。涉及到系统的其它成分,不会影响到整体。n n可复用性:可复用性:功能复用是代码级的,它基于必要的功能理解,功能复用是代码级的,它基于必要的功能理解,功能复用是代码级的,它基于必要的功能理解,功能复用是代码级的,它基于必要的功能理解,然而功能
5、的语义是不一致的、多义的。软件复用是全方位的,然而功能的语义是不一致的、多义的。软件复用是全方位的,然而功能的语义是不一致的、多义的。软件复用是全方位的,然而功能的语义是不一致的、多义的。软件复用是全方位的,不但是代码级的复用,还应该有源程序级的复用,甚至包括分不但是代码级的复用,还应该有源程序级的复用,甚至包括分不但是代码级的复用,还应该有源程序级的复用,甚至包括分不但是代码级的复用,还应该有源程序级的复用,甚至包括分析和设计文档的复用。析和设计文档的复用。析和设计文档的复用。析和设计文档的复用。n n程序无关性:程序无关性:任何机器环境下,使用任意程序语言所编的任何机器环境下,使用任意程序
6、语言所编的任何机器环境下,使用任意程序语言所编的任何机器环境下,使用任意程序语言所编的程序,程序,程序,程序,都应该是逻辑通用的。与机器相关的成分应该与处都应该是逻辑通用的。与机器相关的成分应该与处都应该是逻辑通用的。与机器相关的成分应该与处都应该是逻辑通用的。与机器相关的成分应该与处理逻辑无关。理逻辑无关。理逻辑无关。理逻辑无关。面向对象软件开发方法的目标面向对象软件开发方法的目标5 5第五页,本课件共有108页1.2 1.2 面向对象方法发展简史面向对象方法发展简史 源于面向对象程序设计语言源于面向对象程序设计语言 1967,Simula67 1970s,Smalltalk,Modula
7、1980s-90s,C+,Objective-C,Eiffel,java 向分析、设计甚至测试、维护等整个软件生命向分析、设计甚至测试、维护等整个软件生命 周期扩展周期扩展 1990s,统一建模语言(,统一建模语言(Unified Modeling Language,UML)诞生)诞生6 6第六页,本课件共有108页1.3 1.3 面向对象方法的基本概念和原则面向对象方法的基本概念和原则 基本概念基本概念 类与对象,属性与操作,继承、聚合和关联类与对象,属性与操作,继承、聚合和关联 基本原则基本原则 抽象,分类,封装,消息,多态性抽象,分类,封装,消息,多态性7 7第七页,本课件共有108页
8、对象(属性与操作,封装与消息)对象(属性与操作,封装与消息)客观存在的事物,包括有形客观存在的事物,包括有形客观存在的事物,包括有形客观存在的事物,包括有形对象和无形对象对象和无形对象 在在面面向向对对象象的的系系统统模模型型中中,对对象象是是描描述述客客观观事事物的一个实体,由属性和操作构成。物的一个实体,由属性和操作构成。属性:描述对象静态特征属性:描述对象静态特征属性:描述对象静态特征属性:描述对象静态特征 操作:描述对象动态特征操作:描述对象动态特征操作:描述对象动态特征操作:描述对象动态特征 体体现现了了封封装装原原则则,目目的的是是实实现现信信息息隐隐蔽蔽(事事物物的的独立自主性)
9、。独立自主性)。可见性:暴露属性和操作的方式可见性:暴露属性和操作的方式可见性:暴露属性和操作的方式可见性:暴露属性和操作的方式 消息:请求其他对象提供服务的方式,如函数调用消息:请求其他对象提供服务的方式,如函数调用消息:请求其他对象提供服务的方式,如函数调用消息:请求其他对象提供服务的方式,如函数调用8 8第八页,本课件共有108页 类(抽象,分类)类(抽象,分类)类类是是具具有有共共同同属属性性和和操操作作的的对对象象的的集集合合,对对象象是类的一个实例,类用于创建对象。是类的一个实例,类用于创建对象。体体现现了了抽抽象象及及分分类类原原则则,是是人人们们分分析析问问题题的的基基本本方方
10、法法 抽象:忽略事物的非本质特征,抽取共同的本质特征抽象:忽略事物的非本质特征,抽取共同的本质特征抽象:忽略事物的非本质特征,抽取共同的本质特征抽象:忽略事物的非本质特征,抽取共同的本质特征 分类:把具有共性的事物划分为一类分类:把具有共性的事物划分为一类分类:把具有共性的事物划分为一类分类:把具有共性的事物划分为一类9 9第九页,本课件共有108页 抽象抽象 类是对象的抽象,一般类是对特殊类的抽象类是对象的抽象,一般类是对特殊类的抽象 数据抽象:数据抽象:数据抽象:数据抽象:根据施加在数据上的操作来定义数据的类型根据施加在数据上的操作来定义数据的类型根据施加在数据上的操作来定义数据的类型根据
11、施加在数据上的操作来定义数据的类型 过过程程抽抽象象:将将将将确确确确定定定定的的的的功功功功能能能能定定定定义义义义为为为为单单单单一一一一实实实实体体体体(确确确确定定定定的的的的功功功功能能能能是是是是由由由由一系列操作完成的)一系列操作完成的)一系列操作完成的)一系列操作完成的)抽象的好处:抽象的好处:1 1 1 1)复杂问题简单化)复杂问题简单化)复杂问题简单化)复杂问题简单化 2 2 2 2)实现可替换性)实现可替换性)实现可替换性)实现可替换性1010第十页,本课件共有108页例例2 2:对下列事物进行分类和抽象:对下列事物进行分类和抽象显微镜、摩天楼、望远镜、飞机、铆钉、显微镜
12、、摩天楼、望远镜、飞机、铆钉、管道、卡车、管道、卡车、单向阀、指数、过滤器、压力器、单向阀、指数、过滤器、压力器、自行车、正旋、自行车、正旋、岩洞、眼镜、车库、岩洞、眼镜、车库、滑翔机、平方根、铁钉、水龙头、滑翔机、平方根、铁钉、水龙头、螺钉、螺钉、余旋、螺栓、余旋、螺栓、帐篷、双筒镜、车棚、杂物堆房、帐篷、双筒镜、车棚、杂物堆房、摩托车、帆船、瞄准器摩托车、帆船、瞄准器例例1 1:数据抽象和过程抽象:数据抽象和过程抽象 数据抽象:数据抽象:学生、客户、电子邮件、汽车学生、客户、电子邮件、汽车过程抽象:交易、答辩、备课、开门过程抽象:交易、答辩、备课、开门1111第十一页,本课件共有108页光
13、学设备类:显微镜、眼镜、望远镜、瞄准器、双筒镜光学设备类:显微镜、眼镜、望远镜、瞄准器、双筒镜管道控制类:管道、单向伐、水龙头、过滤器、压力器管道控制类:管道、单向伐、水龙头、过滤器、压力器交通工具类:自行车、帆船交通工具类:自行车、帆船、卡车、飞机、滑翔机、摩托车、卡车、飞机、滑翔机、摩托车五金类:五金类:铁钉、螺钉、螺栓、铆钉铁钉、螺钉、螺栓、铆钉建筑类:建筑类:帐篷、岩洞、车棚、车库、杂物堆房、摩天楼帐篷、岩洞、车棚、车库、杂物堆房、摩天楼数学概念类:平方根、指数、正旋、余旋数学概念类:平方根、指数、正旋、余旋 光学设备类:聚焦度、变焦长度、单双镜形式、用途功能光学设备类:聚焦度、变焦长
14、度、单双镜形式、用途功能管道控制类:时速、功率,动力资源、消耗、用途、管道控制类:时速、功率,动力资源、消耗、用途、五金类:五金类:材料、直径、长度、硬度、用途材料、直径、长度、硬度、用途建筑类:建筑类:面积、高度、材料、用途面积、高度、材料、用途数学概念类:概念定义、公式内容、用途数学概念类:概念定义、公式内容、用途 抽取同类事物的共同性质:抽取同类事物的共同性质:分类:分类:1212第十二页,本课件共有108页继承继承 在不同程度上运用抽象和分类原则,可以得到较在不同程度上运用抽象和分类原则,可以得到较一般的类和较特殊的类。一般的类和较特殊的类。继承继承继承继承:特殊类自动拥有一般类所具有
15、的全部属性和操作,特殊类自动拥有一般类所具有的全部属性和操作,特殊类自动拥有一般类所具有的全部属性和操作,特殊类自动拥有一般类所具有的全部属性和操作,也可称为一般类对特殊类的泛化。也可称为一般类对特殊类的泛化。也可称为一般类对特殊类的泛化。也可称为一般类对特殊类的泛化。多重继承多重继承多重继承多重继承:一个特殊类同时继承两个以上一般类的属性和一个特殊类同时继承两个以上一般类的属性和一个特殊类同时继承两个以上一般类的属性和一个特殊类同时继承两个以上一般类的属性和操作操作操作操作 继承的继承的继承的继承的重要作用重要作用:1 1 1 1)简化对事物的认识和描述)简化对事物的认识和描述)简化对事物的
16、认识和描述)简化对事物的认识和描述 2 2 2 2)有利于软件复用)有利于软件复用)有利于软件复用)有利于软件复用1313第十三页,本课件共有108页学生学生姓名姓名年龄年龄研究生研究生导师导师研究方向研究方向本科生本科生班级班级专业专业人员人员姓名姓名年龄年龄研究生研究生导师导师研究方向研究方向职工职工部门部门职务职务在职研究生在职研究生运输工具运输工具轮船轮船车辆车辆飞机飞机卡车卡车轿车轿车继承:继承:多继承:多继承:继承层次:继承层次:1414第十四页,本课件共有108页多态性多态性 多态性:多态性:特殊类可以对继承来的属性和特殊类可以对继承来的属性和操作做出自己的解释,即在继承关系的类
17、操作做出自己的解释,即在继承关系的类层次结构中可以定义同名操作或属性,形层次结构中可以定义同名操作或属性,形成同一操作或属性的多种形态,这样可以成同一操作或属性的多种形态,这样可以按不同的行为响应同一个消息。按不同的行为响应同一个消息。多态性进一步体现了信息隐蔽的原则,多态性进一步体现了信息隐蔽的原则,可以实现接口的独立封装。可以实现接口的独立封装。1515第十五页,本课件共有108页关联关联 关联表示类之间的静态联系。关联表示类之间的静态联系。当当类类实实例例化化为为对对象象后后,关关联联实实例例化化为为对对象象之之间间的链。的链。可以通过属性来表达关联。可以通过属性来表达关联。职员职员公司
18、公司关联:关联:工作工作1616第十六页,本课件共有108页聚合聚合 聚聚合合表表示示对对象象之之间间的的整整体体部部分分关关系系,具具有有“有有 一个一个”或或“是一部分是一部分”的语义的语义 聚合也是一种关联。聚合也是一种关联。汽车汽车发动机发动机车轮车轮聚合:聚合:1717第十七页,本课件共有108页系统复杂性控制(包)系统复杂性控制(包)包包用用于于控控制制系系统统的的粒粒度度,将将系系统统组组成成元元素素组组织织到到不不同同的的包包中中,可可以以方方便便系系统统整整体体规规划划,减减小小系系统分析和设计的复杂性。统分析和设计的复杂性。系统行为分析(状态转换与交互)系统行为分析(状态转
19、换与交互)系系统统运运行行中中对对象象的的属属性性值值会会不不断断发发生生变变化化,从从而而形形成成对对象象的的不不同同状状态态。描描述述对对象象状状态态的的转转换换,可可以确定对象的行为完整性;以确定对象的行为完整性;系系统统中中对对象象必必须须相相互互协协作作以以完完成成某某项项功功能能,描描述述对对象象间间的的交交互互,可可以以表表示示系系统统实实现现功功能能的的整整体行为以及对象之间的并行性。体行为以及对象之间的并行性。1818第十八页,本课件共有108页 实现高可维护性:实现高可维护性:实现高可维护性:实现高可维护性:1 1 1 1)类是封装了操作的一个类是封装了操作的一个类是封装了
20、操作的一个类是封装了操作的一个“代码级复用代码级复用代码级复用代码级复用”程序模板程序模板程序模板程序模板 ,类的使用,如同数据变量一,类的使用,如同数据变量一,类的使用,如同数据变量一,类的使用,如同数据变量一样简单。类的对象可成为系统的构造元素。样简单。类的对象可成为系统的构造元素。样简单。类的对象可成为系统的构造元素。样简单。类的对象可成为系统的构造元素。2 2 2 2)对于对于对于对于“对象变量对象变量对象变量对象变量”的操作不同于程序调用,采用了消息,的操作不同于程序调用,采用了消息,的操作不同于程序调用,采用了消息,的操作不同于程序调用,采用了消息,“消息消息消息消息”是并发的机是
21、并发的机是并发的机是并发的机制,回避了功能调用的过程性,使系统成为可构造和高可维护的制,回避了功能调用的过程性,使系统成为可构造和高可维护的制,回避了功能调用的过程性,使系统成为可构造和高可维护的制,回避了功能调用的过程性,使系统成为可构造和高可维护的 实现可复用性:实现可复用性:实现可复用性:实现可复用性:1 1)对象语义的表示唯一,这使得代码级的复用简单且自然。)对象语义的表示唯一,这使得代码级的复用简单且自然。)对象语义的表示唯一,这使得代码级的复用简单且自然。)对象语义的表示唯一,这使得代码级的复用简单且自然。2 2)类继承性是源程序级的复用机制,允许用已有的程序构架,简单地构造新的应
22、)类继承性是源程序级的复用机制,允许用已有的程序构架,简单地构造新的应)类继承性是源程序级的复用机制,允许用已有的程序构架,简单地构造新的应)类继承性是源程序级的复用机制,允许用已有的程序构架,简单地构造新的应用,并仍保持易维护性。用,并仍保持易维护性。用,并仍保持易维护性。用,并仍保持易维护性。实现程序无关性:实现程序无关性:实现程序无关性:实现程序无关性:类的多态性以及动态绑定(动态联编)技术,是面向对象方法有别于结构化方类的多态性以及动态绑定(动态联编)技术,是面向对象方法有别于结构化方类的多态性以及动态绑定(动态联编)技术,是面向对象方法有别于结构化方类的多态性以及动态绑定(动态联编)
23、技术,是面向对象方法有别于结构化方法的实质性突破。它提供独立接口的实现技术,这样可以将与机器相关的成分法的实质性突破。它提供独立接口的实现技术,这样可以将与机器相关的成分法的实质性突破。它提供独立接口的实现技术,这样可以将与机器相关的成分法的实质性突破。它提供独立接口的实现技术,这样可以将与机器相关的成分独立出来,为程序无关性奠定了基础。独立出来,为程序无关性奠定了基础。独立出来,为程序无关性奠定了基础。独立出来,为程序无关性奠定了基础。面向对象方法实现其目标的途径面向对象方法实现其目标的途径1919第十九页,本课件共有108页1.4 1.4 面向对象软件系统模型面向对象软件系统模型系统模型系
24、统模型 为了理解和实现所要建造的软件系统,对系统及其工作为了理解和实现所要建造的软件系统,对系统及其工作 环境的环境的简化和形式化描述。简化和形式化描述。一个完整的软件系统模型通常包括若干不同层次、一个完整的软件系统模型通常包括若干不同层次、不同视角的模型不同视角的模型 层次:系统的抽象程度层次:系统的抽象程度 视角:系统的不同方面(交互、功能、实现、组织视角:系统的不同方面(交互、功能、实现、组织)2020第二十页,本课件共有108页面向对象模型视图面向对象模型视图用况视图用况视图进程视图进程视图部署视图部署视图设计视图设计视图实现视图实现视图结构视图结构视图2121第二十一页,本课件共有1
25、08页结构视图结构视图结构视图结构视图设计视图设计视图设计视图设计视图进程视图进程视图进程视图进程视图实现视图实现视图实现视图实现视图部署视图部署视图部署视图部署视图用况视图用况视图用况视图用况视图静态静态静态静态包图包图包图包图类、对象图类、对象图类、对象图类、对象图构件图构件图构件图构件图部署图部署图部署图部署图用况图用况图用况图用况图动态动态动态动态交互图、状态图、活动图交互图、状态图、活动图交互图、状态图、活动图交互图、状态图、活动图 用况视图:软件系统的内外交互情况用况视图:软件系统的内外交互情况 设计视图:软件系统的功能需求设计视图:软件系统的功能需求 进程视图:软件系统的控制与驱
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 分析 设计 优秀 PPT
限制150内