第5章面向对象的设计方法PPT课件.ppt
《第5章面向对象的设计方法PPT课件.ppt》由会员分享,可在线阅读,更多相关《第5章面向对象的设计方法PPT课件.ppt(57页珍藏版)》请在咨信网上搜索。
1、第五 章面向对象的设计方法 面向对象的思想最初出现于挪威奥斯陆大学和挪威计算机中心共同研制的Simula 67语言中,随着的Smalltalk-76和80语言推出,面向对象的的程序设计方法得到了比较完善的实现。此后,面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统,交互式界面,分布式系统,网络管理结构和人工智能等领域。面向对象的技术已成为软件开发的一种新方法,新技术。5.1 面向对象的基本概念5.1.1 什么是面向对象的开发方法 OOSD OOSD(Object-Oriented Software Development)法是一种 把面向对象的思想应用于软件开发过程,指导开发
2、活动的系统方法。问题空间问题空间软件系统所涉及到的应用领域和业务范软件系统所涉及到的应用领域和业务范 围(现实世界)。围(现实世界)。解空间解空间 用于解决某些问题的软件系统。用于解决某些问题的软件系统。一、软件开发过程一、软件开发过程问题空间问题空间(现实世界现实世界)解空间解空间(软件系统软件系统)映射映射映射映射二、传统软件开发方法存在的问题二、传统软件开发方法存在的问题1.1.传统软件开发方法无法实现从问题空间到解空间传统软件开发方法无法实现从问题空间到解空间的直接映射。的直接映射。问题空间问题空间(现实世界现实世界)解空间解空间(软件系统软件系统)复杂映射复杂映射2.2.传统软件开发
3、方法无法实现高效的软件复用。传统软件开发方法无法实现高效的软件复用。原因是:传统软件开发方法数据与代码(操作)原因是:传统软件开发方法数据与代码(操作)分离。分离。3.3.传统软件开发方法难以实现从分析到设计的直接过传统软件开发方法难以实现从分析到设计的直接过渡。渡。复杂转换复杂转换分析文档分析文档分析文档分析文档(DFDDFD)设计文档设计文档(SC)(SC)三、面向对象技术的特点三、面向对象技术的特点 1.对软件开发过程所有阶段进行综合考虑。使问题空间与解空间具有一致性,降低复杂性。2.软件生存期各阶段所使用的方法、技术具有高 度的连续性,用符合人类认识世界的思维方式 来分析、解决问题。自
4、然、连续自然、连续自然、连续自然、连续问题空间问题空间问题空间问题空间(现实世界现实世界现实世界现实世界)解空间解空间解空间解空间(软件系统软件系统软件系统软件系统)实体实体1实体实体2实体实体n对象对象1对象对象n对象对象23.将OOA、OOD、OOP有机地集成在一起。有利于系统的稳定性.OOA(Object-Oriented Analysis)OOD(Object-Oriented Design)OOP(Object-Oriented Program)以对象为中心各种构造系统,而不是以功能为中心,能很好地适应需求变化.4.具有良好的可重用性 由于对象所具有的封装性和信息隐蔽,具有很强的独立
5、性。理解面向对象的基本概念对于学习和掌握面向对象的开发方法是十分重要的。5.1.2 面向对象的基本概念 类类(ClassClass)对象对象(Object)Object)消息消息(Information)Information)多态性多态性多态性多态性(Polymorphism)Polymorphism)继承继承(InheritanceInheritance)永久对象永久对象永久对象永久对象(Persistent Persistent object)object)1 1.对象对象(ObjectObject)对对象象(ObjectObject)是是客客观观事事物物或或概概念念的的抽抽象象表表述述
6、,即即对客观存在的事物的描述统称为对象。对象可以是事、物、或抽象概念,是将一组数据和使用该数据的一组基本操作或过程封装在一起的实体。属性属性(attributeattribute)对象本身的性质。对象本身的性质。操作(操作(operationoperation)给对象定义给对象定义一组运算。一组运算。对对象象将将它它自自身身的的属属性性及及运运算算“包包装装起起来来”,称称为为“封装封装”(encapsulationencapsulation).对象的最基本的特征是封装性和继承性。对象的最基本的特征是封装性和继承性。2 2.类(类(ClassClass)类又称对象类(Object Object
7、 ClassClass),是是一组具有相同属性和相同操作的对象的集合。在一个类中,每个对象都是类的实例(instance),它们都可以使用类中提供的函数。类具有属性,用数据结构来描述类的属性,类具有操作,它是对象的行为的抽象,操作实现的过程称为方法(method),方法有方法名,方法体和参数。由于对象是类的实例,在进行分析和设计时,由于对象是类的实例,在进行分析和设计时,通常把注意力集中在类上,而不是具体的对象上。通常把注意力集中在类上,而不是具体的对象上。几何对象几何对象颜色颜色位置位置移动(移动(delta:矢量)矢量)选择(选择(P:指针型)指针型):布尔型布尔型旋转旋转(角度角度)图5
8、.1 对象类的描述人人姓姓 名名:字符串字符串年年 龄龄:整整 型型改换工作改换工作改换地址改换地址文件文件文件名文件名文件大小文件大小最近更新日期最近更新日期打印打印(人人)张红兵张红兵28绘图员绘图员人民路人民路8号号(人人)李军李军24程序员程序员无无图5.2 对象的描述对象和类的描述对象和类的描述类类和和对对象象一一般般采采用用“名名字字”、“属属性性”和和“运运算算”来来描描述。述。类名类名属性属性运算运算 对象 类3 3.继承继承 (InheritanceInheritance)继承是使用现存的定义作为基础,建立新定义的技术。是父类和子类之间共享数据结构和方法的机制,这是类之间的一
9、种关系。继承性分:单重继承:一个子类只有一个父类。即子类只继承一个父类的数据结构和方法。多重继承:一个子类可有多个父类。继承多个父类的数据结构和方法。基类基类子类子类A子类子类B图 5.4 继承性描述现存类定义父类(基类)新类定义子类(派生类)继 承图 5.3 继承性4 4.消息消息(Message)Message)消消息息就就是是向向对对象象发发出出的的服服务务请请求求(互相联系、协同工作等)。对象之间的联系可表示为对象间的消息传递,即对象间的通讯机制。一个消息应该包含以下信息:消息名、接收消息对象的标识、服务标识、消息和方法、输入信息、回答信息。在对象的操作中当一个消息发送给某个对象时,消
10、息包含接收对象去执行某种操作的消息。5 5.多态性和动态绑定多态性和动态绑定 多多态态性性(Polymorphism)Polymorphism)是是指指相相同同的的操操作作或或函函数、过程作用于不同的对象上并获得不同的结果。数、过程作用于不同的对象上并获得不同的结果。即即相相同同的的操操作作的的消消息息发发送送给给不不同同的的对对象象时时,每每个个对对象象将将根根据据自自己己所所属属类类中中定定义义的的操操作作去去执执行行,产产生生不同的结果。不同的结果。例如:“绘图”操作,作用在“椭圆”和“矩形”上,画出不同的图形。动动态态绑绑定定(dynamic dynamic binding)bindi
11、ng)是是在在运运行行时时根根据据对象接收的消息动态地确定要连接的服务代码。对象接收的消息动态地确定要连接的服务代码。使用虚函数可实现动态联编,不同联编可以选择不同的实现,这便是多态性。继承是动态联编的基础,虚函数是动态联编的关键。多态性的实现举例 实现多态性的基本步骤实现多态性的基本步骤(以以VCVC为例为例):(1)在基类中,定义成员函数为虚函数(virtual);(2)定义基类的公有(public)派生类;(3)在基类的公有派生类中“重载”该虚函数;(4)定义指向基类的指针变量,它指向基类的公有派生类的对象。注注意意:重载虚函数不是一般的重载函数,它要求函数名、返回类型、参数个数、参数类
12、型和顺序完全相同。6 6.永久对象永久对象(Persistent object)Persistent object)所谓永久对象永久对象是指生存期可以超越程序的执行时间而长期存在的对象。目前,大多数OOPL不支持永久对象,如果一个对象要长期保存,必须依靠于文件系统或数据库管理系统实现,程序员需要作对象与文件系统或数据库之间数据格式的转换,以及保存和恢复所需的操作等烦琐的工作。为了实现永久对象,使上述烦琐工作由系统自动完成,需要较强的技术支持;需要一个基于永久对象管理系统OMS(object management system),能够描述和处理永久对象的编程语言。5.3 面向对象的分析 面向对象
13、分析OOA(Object-Oriented Analysis)的目标是完成对所求解问题的分析,确定系统“作什么”,并建立系统的模型。基本概念:问题域(problem domain)被开发系统的应用领域。系统责任(system responsibilities)所开发的系统应具备的职能。5.3.1 5.3.1 面向对象分析的特点面向对象分析的特点 一、需求中存在的问题一、需求中存在的问题 1.确定问题域和系统责任困难 2.充分交流的问题解决得不好 3.很难适应需求的不断变化 4.难以满足复用要求二、二、OOAOOA的特点的特点1.1.有利于对问题及系统责任的理解;有利于对问题及系统责任的理解;2
14、.2.有利于人员之间的交流;有利于人员之间的交流;3.3.对需求变化有较强的适应性;对需求变化有较强的适应性;4.4.支持软件复用。支持软件复用。运用面向对象的方法,对问题域和系统责任进行分析和理解,建立分析模型。1.分析问题域,确定类和对象;2.定义类或对象属性和操作,确定其结构;3.建立系统中类或对象之间的静态联系和动态联系。5.3.2 5.3.2 OOAOOA的基本任务的基本任务5.3.3 OOA5.3.3 OOA的分析过程的分析过程获取用户基本需求获取用户基本需求获取用户基本需求获取用户基本需求标识类和对象标识类和对象标识类和对象标识类和对象定义类的结构和层次定义类的结构和层次定义类的
15、结构和层次定义类的结构和层次表示类表示类表示类表示类(对象对象对象对象)间的关系间的关系间的关系间的关系为对象行为建模为对象行为建模为对象行为建模为对象行为建模图5.7 OOA分析过程5.3.4 OOA5.3.4 OOA模型模型对象层对象层特征层特征层关系层关系层交交互互图图主主题题图图详详 细细 说说 明明基本模型基本模型(类图)(类图)图5.8 OOA模型与详细说明基 本 模 型 是 一 个 类 图(class diagram),是以直观的方式表达系统最重要的信息。OOA基本模型的三个层次分别描述了:系统中应设哪几类对象,每类对象的内部构成,对象与外部的关系。5.3.4 OOA5.3.4
16、OOA模型模型对象层对象层特征层特征层关系层关系层交交互互图图主主题题图图详详 细细 说说 明明基本模型基本模型(类图)(类图)主 题(subject)又 称 为 子 系 统(subsystem)是将一些联系密切的类组织在一起的类的集合。按照粒度控制原则,将系统组成几个主题,便于理解。5.3.4 OOA5.3.4 OOA模型模型对象层对象层特征层特征层关系层关系层交交互互图图主主题题图图详详 细细 说说 明明基本模型基本模型(类图)(类图)交互图(interaction diagram)是Use case与系统成分之间的对照图。主题图和交互图又称为补充模型。主题图和交互图又称为补充模型。5.3
17、.4 OOA5.3.4 OOA模型模型对象层对象层特征层特征层关系层关系层交交互互图图主主题题图图详详 细细 说说 明明基本模型基本模型(类图)(类图)详细说明按照分析方法所要求的格式,对分析模型进行说明和解释。主要以文字为主。面向对象的设计面向对象的设计OOD(Object-Oriented Design)是面向对象方法在软件设计阶段应是面向对象方法在软件设计阶段应用与扩展的结果。用与扩展的结果。是将是将OOAOOA所创建的分析模型转换为设计模所创建的分析模型转换为设计模型,解决如何作的问题。型,解决如何作的问题。OODOOD与与OOAOOA没有明没有明显的分界,采用相同的符号。显的分界,采
18、用相同的符号。5.4 面向对象的设计5.4.1 OOD5.4.1 OOD基本任务基本任务1 1.系统设计系统设计 将分析模型划分为若干子系统,子系统应该具有良好的接口,子系统内的类相互协作。标识问题本身的并发性,为子系统分配处理器。保险单保险单填写界面填写界面系统内部系统内部保险单保险单客户客户数据库界面数据库界面(abstract)Oracle 界面界面Sybasec界面界面子系统的分解是关键,可以有分层和分块:分层:分层:将软件系统组织为层次结构,每层是一个子系统。分层结构又分为封闭式和开放式。分块:分块:垂直分块是将系统分解为若干个相对独立的、弱耦合的子系统。每个子系统相当于一个块,每块
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 设计 方法 PPT 课件
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。