《面向对象建模》PPT课件.ppt
《《面向对象建模》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《面向对象建模》PPT课件.ppt(138页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 对象对象(object)现实世界中某个具体的物理实体或概念在现实世界中某个具体的物理实体或概念在计算机逻辑中的映射和体现。计算机逻辑中的映射和体现。对象具有的含义:对象具有的含义:q 在现实世界中:在现实世界中:是客观世界中的一个实体是客观世界中的一个实体 面向对象建模面向对象建模 对象对象(object)对象具有的含义:对象具有的含义:q在面向对象程序中:在面向对象程序中:表达成计算机可理解、可操纵、具有一表达成计算机可理解、可操纵、具有一 定定属性属性和和行为行为的对象的对象q 在计算机世界中:在计算机世界中:是一个可标识的存储区域是一个可标识的存储区域面向对象建模面向对象建模 面向对象
2、方法是一种运用对象、面向对象方法是一种运用对象、类、继承、封装、聚合、消息传递、类、继承、封装、聚合、消息传递、多态性等概念来构造系统的多态性等概念来构造系统的软件开软件开发方法发方法。面向对象面向对象面向对象面向对象=对象对象对象对象+类类类类+继承继承继承继承+消息通信消息通信消息通信消息通信面向对象建模面向对象建模 面向对象的主要特征:面向对象的主要特征:q封闭性封闭性(Encapsulation)q 继承性继承性(Inheritance)q 多态性多态性(Polymorphism)面向对象建模面向对象建模 类(类(class)具有共同属性和行为的对象具有共同属性和行为的对象的抽象的抽象
3、类与对象的关系类与对象的关系类是对象的抽象类是对象的抽象对象是类的实例对象是类的实例类类对象对象 对象、实体与类对象、实体与类对象对象实体实体实体实体类类抽象数据类抽象数据类抽象数据类抽象数据类计算机世界计算机世界现实世界现实世界计算机逻辑的实现影射抽象实例化抽象概念世界概念世界 封装封装 封装是软件开发方法的重要原则,有两个封装是软件开发方法的重要原则,有两个涵义:涵义:把对象的全部属性和全部服务结合在一起,把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(对象)。形成一个不可分割的独立单位(对象)。尽可能隐蔽对象的内部细节尽可能隐蔽对象的内部细节(信息隐蔽)(信息隐蔽)面向
4、对象建模面向对象建模 传统方法数据与过程是分离的传统方法数据与过程是分离的过程过程1 1输入输入输入输入输出输出输出输出过程过程2 2过程过程3 3数据实体数据实体属于该对象属于该对象的数据的数据对象对象处理数据的方法处理数据的方法消息消息消息消息消息消息消息消息对象把数据和处理数据的方法封状成一个单元对象把数据和处理数据的方法封状成一个单元对象把数据和处理数据的方法封状成一个单元对象把数据和处理数据的方法封状成一个单元 传统方法和面向对象方法的比较传统方法和面向对象方法的比较传统方法传统方法系统是过程的集合系统是过程的集合系统是过程的集合系统是过程的集合过程与数据实体交互过程与数据实体交互过
5、程与数据实体交互过程与数据实体交互过程接受输入并产生输出过程接受输入并产生输出过程接受输入并产生输出过程接受输入并产生输出面向对象方法面向对象方法系统是交互对象的集合系统是交互对象的集合系统是交互对象的集合系统是交互对象的集合对象与人或其它对象交互对象与人或其它对象交互对象与人或其它对象交互对象与人或其它对象交互对象发送与响应消息对象发送与响应消息对象发送与响应消息对象发送与响应消息面向对象建模面向对象建模 继承继承(继承性(继承性inheritance)继承性是父类和子继承性是父类和子类之间共享数据和类之间共享数据和方法的机制方法的机制继承性具有传递性继承性具有传递性继承性包括单继承继承性包
6、括单继承和多重继承和多重继承 子类子类继承部分继承部分增加部分增加部分父类父类共性部分共性部分 继承性作用继承性作用 使软件系统具有开放性使软件系统具有开放性 更好地进行抽象与分类更好地进行抽象与分类 增强代码的重用率增强代码的重用率面向对象建模面向对象建模 多态(多态性多态(多态性polymorphism)不同的对象收到同一消息可产生完全不同的对象收到同一消息可产生完全 不同的结果,这一现象叫做不同的结果,这一现象叫做多态多态多态的效果多态的效果 用户发送一个通用的消息,而实现用户发送一个通用的消息,而实现的细节则由接收对象自行决定的细节则由接收对象自行决定面向对象建模面向对象建模 消息消息
7、(message)消息消息 对象之间相互请求或相互协作对象之间相互请求或相互协作的途径,是要求某个对象执行某个功能的途径,是要求某个对象执行某个功能操作的规格说明操作的规格说明面向对象建模面向对象建模 消息消息(message)消息内容消息内容 通常包含接收方及请求接通常包含接收方及请求接收方完成的功能信息收方完成的功能信息发送方发送方 发出消息,请求接收方响应发出消息,请求接收方响应接收方接收方 收到消息后,经过解释,激收到消息后,经过解释,激活方法,予以响应活方法,予以响应面向对象建模面向对象建模 面向对象方法的主要优点:面向对象方法的主要优点:自然性自然性 追求软件系统对现实系统的直接模
8、拟,追求软件系统对现实系统的直接模拟,尽量实现将现实世界中的事物直接映射到尽量实现将现实世界中的事物直接映射到软件系统的解空间中。软件系统的解空间中。面向对象建模面向对象建模 面向对象方法的主要优点:面向对象方法的主要优点:可复用性(可重用性)可复用性(可重用性)reusebility reusebility可扩展性可扩展性可管理可管理性性面向对象建模面向对象建模 可复用性(可重用性)面向对象技术允许复用的不仅仅是面向对象技术允许复用的不仅仅是代码代码,通过面向对象技术通过面向对象技术,我们可以复我们可以复用需求、分析、设计、测试计划、用户用需求、分析、设计、测试计划、用户界面以及体系结构等等
9、界面以及体系结构等等,事实上事实上,软件软件工程生存期中的每个部分都可以复用工程生存期中的每个部分都可以复用。面向对象建模面向对象建模 传统系统分析传统系统分析:面向功能面向功能,把系统看成把系统看成 一组功能一组功能OOA:把问题当作一组相互作用把问题当作一组相互作用 的实体,并确定实体间关系的实体,并确定实体间关系面向对象建模面向对象建模 面向对象技术是一个有全新概念的面向对象技术是一个有全新概念的开发模式开发模式,其特点是其特点是:(1)(1)方法是对软件开发过程所有阶段进方法是对软件开发过程所有阶段进 行综合考虑而得到的行综合考虑而得到的;面向对象建模面向对象建模 面向对象技术是一个有
10、全新概念的面向对象技术是一个有全新概念的开发模式开发模式,其特点是其特点是:(2)(2)从生存期的一个阶段到下一个阶段从生存期的一个阶段到下一个阶段 所使用的方法与技术具有高度的连所使用的方法与技术具有高度的连 续性续性;(3)(3)将将OOA、OOD、OOP集成到生存集成到生存 期的相应阶段期的相应阶段.面向对象建模面向对象建模 OO方法的开发过程方法的开发过程 OOOO方方法法改改进进了了在在生生存存期期各各个个阶阶段段间间的的界界面面,因为生存期各个阶段开发出来的因为生存期各个阶段开发出来的“部件部件”都是都是类类.在在面面向向对对象象生生存存期期的的各各个个阶阶段段对对各各个个类类的的
11、信信息息进进行行细细化化,类类成成为为分分析析、设设计计和和实实现现的的基基本本单单元元。面向对象建模面向对象建模 类的生存期模型类的生存期模型类的规类的规格说明格说明从废弃从废弃型开发型开发既存类既存类的复用的复用渐增式渐增式的实现的实现渐增式渐增式的测试的测试求精和求精和 维护维护 测试用测试用例和测试例和测试 的开发的开发实现实现从既存从既存类演变类演变 类的设计与实现类的设计与实现类类的的规规格格说说明明指指导导对对存存放放现现存存类类的的软软件库进行查找件库进行查找现存类提供当前应用所需功能现存类提供当前应用所需功能三种可能利用现存类的方向三种可能利用现存类的方向:现存类的复用现存类
12、的复用 从现存类进行演变从现存类进行演变 从废弃类进行开发从废弃类进行开发 对象之间的联系与对象模型对象之间的联系与对象模型面向对象建模面向对象建模 面向对象方法开发软件面向对象方法开发软件通常建立的三种形式的模型通常建立的三种形式的模型 描述系统数据结构的描述系统数据结构的对象模型对象模型 描述系统控制结构的描述系统控制结构的动态模型动态模型 描述系统功能的描述系统功能的功能模型功能模型 面向对象建模面向对象建模 面向对象方法开发软件面向对象方法开发软件通常建立的三种形式的模型通常建立的三种形式的模型 三种模型从三个不同但由密切三种模型从三个不同但由密切相关的角度模拟目标系统。相关的角度模拟
13、目标系统。对象模型对象模型是最重要、最基本、最核是最重要、最基本、最核心的。心的。面向对象建模面向对象建模 对象模型对象模型 对象模型表示静态的、结构的系统数对象模型表示静态的、结构的系统数据的性质。据的性质。对模拟客观世界实体的对象以及对象对模拟客观世界实体的对象以及对象彼此之间的关系的映射,描述了系统的静彼此之间的关系的映射,描述了系统的静态结构。态结构。OO方法强调围绕对象而不是功能方法强调围绕对象而不是功能来构造系统。来构造系统。面向对象建模面向对象建模 类及对象间常见的联系类及对象间常见的联系 分类关系分类关系 (归纳关系、一般与特殊的关系)(归纳关系、一般与特殊的关系)组成关系组成
14、关系 (组合关系、整体(组合关系、整体/部分的关系)部分的关系)对象属性之间的静态的联系对象属性之间的静态的联系 对象行为的动态联系对象行为的动态联系 面向对象建模面向对象建模 分类关系分类关系(一般与特殊的关系一般与特殊的关系)示例示例学生学生学生学生本科生本科生本科生本科生研究生研究生研究生研究生面向对象建模面向对象建模 组成关系组成关系(整体与部分的关系整体与部分的关系)示例示例学科部学科部办公室办公室学院学院实验室实验室面向对象建模面向对象建模 对象模型中表现对象模型中表现上述联系的结构和连接上述联系的结构和连接面向对象建模面向对象建模 (1)(1)分类结构(一般分类结构(一般/特殊结
15、构)特殊结构)分类是对象抽象的基础分类是对象抽象的基础 分类结构表现的是事物的一般与特殊分类结构表现的是事物的一般与特殊的关系,即的关系,即“is-ais-a”关系。关系。面向对象建模面向对象建模 (1)(1)分类结构(一般分类结构(一般/特殊结构)特殊结构)面向对象术语中常把一般与特殊的关面向对象术语中常把一般与特殊的关系称为系称为泛化(泛化(GeneralizationGeneralization)与与特化特化(SpecializationSpecialization)联系联系面向对象建模面向对象建模 存户存户一般一般/特殊结构举例特殊结构举例 一般类一般类(父类、基类、超类父类、基类、超
16、类)特殊类特殊类(子类、具体类子类、具体类)继承继承一个特殊类中的所有对象可继承一般类中的属一个特殊类中的所有对象可继承一般类中的属性性、服务服务、关系关系账号账号姓名姓名余额余额存款存款取款取款 支票存户支票存户 储蓄存户储蓄存户利息率利息率 (2)(2)组装结构(整体组装结构(整体/部分结构)部分结构)组装结构表示对象类之间的组成关系,组装结构表示对象类之间的组成关系,即整体与部分的关系。即整体与部分的关系。整体对于部分是整体对于部分是“has-ahas-a”关系。关系。(部分对于整体是部分对于整体是“a-part-of”“a-part-of”关系关系)组装结构体现了面向对象方法的组装结构
17、体现了面向对象方法的 聚合(也叫聚集聚合(也叫聚集 Aggregation)原则。原则。整体整体/部分结构表示法举例部分结构表示法举例 微机微机1+电源电源主机箱主机箱键盘键盘监视器监视器鼠标鼠标内存内存CPU硬盘硬盘o (3)(3)实例连接实例连接(Instance Connection)(Instance Connection)实例连接表现了对象之间的静态实例连接表现了对象之间的静态联系,通过对象的属性来表现对象之联系,通过对象的属性来表现对象之间的依赖关系。间的依赖关系。面向对象术语中把对象之间的实面向对象术语中把对象之间的实例连接称为例连接称为链接链接(Link)(Link),把类之间
18、的,把类之间的实例连接称为实例连接称为关联关联(Association)(Association)实例连接实例连接示例及表示示例及表示教师教师 指导论文指导论文0,m 1学生学生教师为学生教师为学生指导论文:指导论文:教师教师 教学教学0,m 0,n 学生学生教师为学生教师为学生授课:授课:关联关系关联关系(链属性链属性)的表示的表示 允许实例连接带有一组属性,这些属性允许实例连接带有一组属性,这些属性通过关联来描述通过关联来描述 类类 1 连接名称连接名称m n类类 1连接连接属性属性 关联关系关联关系 (链属性链属性)为之工作为之工作工资工资职务职务雇主雇主雇员雇员 个人个人名字名字身份证
19、号身份证号公司公司名字名字地址地址题目题目答辩时间答辩时间成绩成绩 教师教师学生学生 指导论文指导论文0,m 1 (4)(4)消息连接消息连接 (Message Connection)Connection)对象之间的对象之间的通信通信联系。联系。一需要另一个对象的服务,便向它发出个一需要另一个对象的服务,便向它发出个对象请求服务的消息,接收消息的对象响对象请求服务的消息,接收消息的对象响应消息,触发所要求的服务操作。应消息,触发所要求的服务操作。消息连接体现了对象行为的消息连接体现了对象行为的动态联系动态联系。面向对象建模面向对象建模 一家公司的对象模型(一家公司的对象模型(OMT)示例示例为
20、之工作为之工作为之工作为之工作管理管理 0,1姓名姓名身份证号码身份证号码地址地址员工员工名字名字电话号码电话号码主要产品主要产品地址地址公司公司职务职务雇用雇用解雇解雇项目名项目名预算预算优先级优先级项目项目产品名产品名成本成本重量重量产品产品工人工人经理经理部门部门部门名部门名主持主持参加参加1+1+1+1+1+生产生产 网上商店对象模型网上商店对象模型(部分部分)示例示例(UML)销售代表销售代表 0.1定货定货nameaddress顾客顾客creditRating():String产品产品雇员雇员1dataReceivedisPrepaidnumber:Stringprice:Mone
21、y协作顾客协作顾客contactNamecreditRatingcreditLimitcreditCard#个人顾客个人顾客creditRating()=“poor”定货作业线定货作业线dispatch()close()remind()billForMonth()Quantity:Integerprice:MoneyisSatisfied:Boolean1 1*1 1物品物品 面向对象的方法论面向对象的方法论 方法论是如何对复杂系统方法论是如何对复杂系统进行进行“抽象抽象”的工作,以及的工作,以及如何建立抽象模型。如何建立抽象模型。面向对象建模面向对象建模 面向对象分析方法使得软件工程师能面向
22、对象分析方法使得软件工程师能够通过对象、属性和操作(作为主要的建够通过对象、属性和操作(作为主要的建模成分)的表示来对问题建模。模成分)的表示来对问题建模。建立分析模型5个基本原则:(1 1)建模信息域;建模信息域;(2 2)描述模块功能;描述模块功能;(3 3)表示模型行为;表示模型行为;(4 4)分解以模型显示更多细节;分解以模型显示更多细节;(5 5)早期)早期模型表示问题的本质,而后期模型表示问题的本质,而后期 模型提供实现细节。模型提供实现细节。面向对象建模面向对象建模 OOA的意图的意图是定义所有与被求解的问题相关的类是定义所有与被求解的问题相关的类(及同类关联的关系和行为),为了
23、达到这个目(及同类关联的关系和行为),为了达到这个目标,必须完成以下任务:标,必须完成以下任务:(1 1)必须在客户和软件工程师之间沟)必须在客户和软件工程师之间沟 通了解基本的用户需求;通了解基本的用户需求;(2 2)必须标识类)必须标识类(定义属性和方法定义属性和方法);(3 3)必须刻划类层次;)必须刻划类层次;(4 4)表示对象与对象之间的关系(对象连接);)表示对象与对象之间的关系(对象连接);(5 5)必须对对象行为进行建模;)必须对对象行为进行建模;(6 6)任务)任务(1)1)到到(5)(5)递进地反复使用,直至递进地反复使用,直至 完成建模完成建模面向对象建模面向对象建模 目
24、前流行的目前流行的OOA方法概述方法概述Coad-Yourdon方法方法Coad-Yourdon的的OOA过程概述:过程概述:使用使用“寻找什么寻找什么”标准来标识对象标准来标识对象定义一般定义一般/特殊结构特殊结构定义整体定义整体/部分结构部分结构标识主题(子系统构件的表示)标识主题(子系统构件的表示)定义属性定义属性定义服务定义服务 目前流行的目前流行的OOA方法概述方法概述Booch方法方法Booch的的OOA宏观开发过程概述:宏观开发过程概述:标识类和对象标识类和对象标识类和对象的语义标识类和对象的语义标识类和对象间的关系标识类和对象间的关系进行精化进行精化 目前流行的目前流行的OOA
25、方法概述方法概述Rumbaugh方法方法(简称简称OMT)Rumbaugh的的OOA过程概述:过程概述:开发对问题的范围陈述开发对问题的范围陈述建造对象模型建造对象模型开发动态模型开发动态模型构造系统的功能模型构造系统的功能模型 不同面向对象分析方法的相似步骤:(1 1)使用基本需求作为指南选择)使用基本需求作为指南选择类类 和对象;和对象;(2 2)为对象标识属性和操作;为对象标识属性和操作;(3 3)定义组织)定义组织类的结构和层次;类的结构和层次;(4 4)建造对象建造对象-关系模型;关系模型;(5 5)建造)建造对象对象-行为模型。行为模型。对象模型技术对象模型技术 (OMT,Obje
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象建模 面向 对象 建模 PPT 课件
限制150内