面向对象建模课件.ppt
《面向对象建模课件.ppt》由会员分享,可在线阅读,更多相关《面向对象建模课件.ppt(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象建模第1页,此课件共70页哦第第1 1 1 1节节 面向对象分析面向对象分析复杂总是简单部分的组合 简单部分又是更简单部分的组合简单部分又是更简单部分的组合 简单组成复杂的过程存在层次性简单组成复杂的过程存在层次性 每个最小简单部分独立负责完成一系列相关任务每个最小简单部分独立负责完成一系列相关任务 相比较而言,每个组合内部各部分的关系比其内部与外相比较而言,每个组合内部各部分的关系比其内部与外部的关系都更紧密部的关系都更紧密 各个部分通过一致的接口进行组合,即一个部分对其它各个部分通过一致的接口进行组合,即一个部分对其它部分的所知仅仅是接口部分的所知仅仅是接口(1 1 1 1)现实世
2、界的复杂模型)现实世界的复杂模型)现实世界的复杂模型)现实世界的复杂模型第2页,此课件共70页哦(2 2)映射现实模型的面向对象思想)映射现实模型的面向对象思想 任何系统都是能够完成一系列相关目标和任务的对象任何系统都是能够完成一系列相关目标和任务的对象任何系统都是能够完成一系列相关目标和任务的对象任何系统都是能够完成一系列相关目标和任务的对象 对象完成一个任务时会请求一系列其他对象帮助其完成对象完成一个任务时会请求一系列其他对象帮助其完成对象完成一个任务时会请求一系列其他对象帮助其完成对象完成一个任务时会请求一系列其他对象帮助其完成一些子目标一些子目标一些子目标一些子目标 其他对象为了完成其
3、任务又会请求将子目标更细分为子其他对象为了完成其任务又会请求将子目标更细分为子其他对象为了完成其任务又会请求将子目标更细分为子其他对象为了完成其任务又会请求将子目标更细分为子子目标,并请求其他对象帮助完成子目标,并请求其他对象帮助完成子目标,并请求其他对象帮助完成子目标,并请求其他对象帮助完成 子目标的分解和责任分担一直进行直到最后产生的子部子目标的分解和责任分担一直进行直到最后产生的子部子目标的分解和责任分担一直进行直到最后产生的子部子目标的分解和责任分担一直进行直到最后产生的子部分可以映射到计算实体分可以映射到计算实体分可以映射到计算实体分可以映射到计算实体 计算实体:对象计算实体:对象计
4、算实体:对象计算实体:对象 层次关系:聚合(组合)、继承、关联层次关系:聚合(组合)、继承、关联层次关系:聚合(组合)、继承、关联层次关系:聚合(组合)、继承、关联 组合接口:一个对象暴露的接口组合接口:一个对象暴露的接口组合接口:一个对象暴露的接口组合接口:一个对象暴露的接口第3页,此课件共70页哦(3 3)面向对象建模)面向对象建模面向对象建模:一种用于辨识系统环境中的对象及这些对象之间关系的技术OMT(James Rumbaugh)Booch方法(Grady Booch)UMLOOSE(Ivar Jacobson)Coad-YourdonShlaer-MellorFusion第4页,此课
5、件共70页哦JacobsonJacobsonBoochBoochJacobsonJacobsonRumbaughRumbaugh(4 4)UMLUML第5页,此课件共70页哦UML对象模型Object Model(Domain Model)用例模型Use Case Model行为模型Behavior Model 状态机模型状态机模型对象约束语言OCL第6页,此课件共70页哦2.1 2.1 2.1 2.1 对象模型组成元素对象模型组成元素对象模型组成元素对象模型组成元素(1 1)对象)对象)对象)对象 对象对象对象对象对象是指在一个应用当中具有明确角色的独立可确认的实体对象是指在一个应用当中具有
6、明确角色的独立可确认的实体对象是指在一个应用当中具有明确角色的独立可确认的实体对象是指在一个应用当中具有明确角色的独立可确认的实体 每个对象都要包含每个对象都要包含每个对象都要包含每个对象都要包含标识标识标识标识 唯一的标识自己,引用唯一的标识自己,引用唯一的标识自己,引用唯一的标识自己,引用 状态状态状态状态 对象的特征描述,包括对象的属性和属性的取值对象的特征描述,包括对象的属性和属性的取值对象的特征描述,包括对象的属性和属性的取值对象的特征描述,包括对象的属性和属性的取值 行为行为行为行为 对象在其状态发生改变或者接收到外界消息时所采取的行对象在其状态发生改变或者接收到外界消息时所采取的
7、行对象在其状态发生改变或者接收到外界消息时所采取的行对象在其状态发生改变或者接收到外界消息时所采取的行动动动动 第第2 2节节 对象模型对象模型第7页,此课件共70页哦 常见的事物都可以是对象常见的事物都可以是对象常见的事物都可以是对象常见的事物都可以是对象 和系统存在交互的和系统存在交互的和系统存在交互的和系统存在交互的外部实体外部实体外部实体外部实体,例如人、设备、其他的软件系统等;,例如人、设备、其他的软件系统等;,例如人、设备、其他的软件系统等;,例如人、设备、其他的软件系统等;问题域中存在的问题域中存在的问题域中存在的问题域中存在的事物事物事物事物,例如报表、信息展示、信号等;,例如
8、报表、信息展示、信号等;,例如报表、信息展示、信号等;,例如报表、信息展示、信号等;在系统的上下文环境中发生的在系统的上下文环境中发生的在系统的上下文环境中发生的在系统的上下文环境中发生的事件事件事件事件,例如一次外部控制行为、,例如一次外部控制行为、,例如一次外部控制行为、,例如一次外部控制行为、一次资源变化等;一次资源变化等;一次资源变化等;一次资源变化等;人们在与系统的交互之中所扮演的人们在与系统的交互之中所扮演的人们在与系统的交互之中所扮演的人们在与系统的交互之中所扮演的角色角色角色角色,例如系统管理人员、用,例如系统管理人员、用,例如系统管理人员、用,例如系统管理人员、用户管理人员、
9、普通用户等;户管理人员、普通用户等;户管理人员、普通用户等;户管理人员、普通用户等;和应用相关的和应用相关的和应用相关的和应用相关的组织单位组织单位组织单位组织单位,例如分公司、部门、团队、小组等;,例如分公司、部门、团队、小组等;,例如分公司、部门、团队、小组等;,例如分公司、部门、团队、小组等;问题域中问题发生的问题域中问题发生的问题域中问题发生的问题域中问题发生的地点地点地点地点,例如车间、办公室等;,例如车间、办公室等;,例如车间、办公室等;,例如车间、办公室等;事物组合的事物组合的事物组合的事物组合的结构结构结构结构关系,例如部分与整体的关系等。关系,例如部分与整体的关系等。关系,例
10、如部分与整体的关系等。关系,例如部分与整体的关系等。第8页,此课件共70页哦但是也有事物不是对象无法界定的事物纯粹的值纯粹的行为第9页,此课件共70页哦 一个对象一个对象维护其自身的状态维护其自身的状态需要对外公开一些方法,需要对外公开一些方法,行行使其职能使其职能也要对外公开一些方法,这些方法组合起来定义也要对外公开一些方法,这些方法组合起来定义了该对象了该对象允许外界访问的方法允许外界访问的方法,或者说限定了外界可以期望,或者说限定了外界可以期望的表现,它们是对象需要对外界履行的的表现,它们是对象需要对外界履行的协议(协议(ProtocolProtocol)一个对象的整体协议可能会分为多个
11、一个对象的整体协议可能会分为多个内聚的逻辑行为组内聚的逻辑行为组,划分后的每一个逻辑行为组就描述了对象的一个独立划分后的每一个逻辑行为组就描述了对象的一个独立职责职责,体现了对象的一个独立体现了对象的一个独立角色角色 对象职责对象职责 职责是指对象持有、维护特定知识并基于知识行使固定职职责是指对象持有、维护特定知识并基于知识行使固定职能的能力能的能力 如果一个对象拥有多个行为组,就意味着该对象拥有多如果一个对象拥有多个行为组,就意味着该对象拥有多个不同的职责,需要扮演多个不同的角色。个不同的职责,需要扮演多个不同的角色。理想的单一职责对象应该仅仅扮演一个角色理想的单一职责对象应该仅仅扮演一个角
12、色 第10页,此课件共70页哦(2 2)链接)链接链接链接链接链接对象之间的物理或业务联系对象之间的物理或业务联系 链接通常是单向的,当然也有双向的链接存在链接通常是单向的,当然也有双向的链接存在 如果一个对象如果一个对象如果一个对象如果一个对象a a存在指向存在指向b b的链接,那就意味着的链接,那就意味着a a a a拥有拥有拥有拥有对对对对b b的假设,关于的假设,关于的假设,关于的假设,关于b b的行为和行为效果的假设。也就是的行为和行为效果的假设。也就是的行为和行为效果的假设。也就是的行为和行为效果的假设。也就是说,说,说,说,b b需要满足需要满足需要满足需要满足a a a a的某
13、些行为期望的某些行为期望 第11页,此课件共70页哦 导航和可见性导航和可见性 由由a a指向指向b b的链接除了包含假设和期望因素之外,还意味着的链接除了包含假设和期望因素之外,还意味着a a能够能够在链接的指引下,正确的找到并将消息发送给在链接的指引下,正确的找到并将消息发送给b b,即,即a a可以导航到可以导航到b b 由由a a指向指向b b的链接使得的链接使得b b对对a a可见,或者说可见,或者说a a拥有拥有b b的可见性的可见性(VisibilityVisibility)a a获取获取b的可见性的途径有以下几种:的可见性的途径有以下几种:b b是全局对象,它对系统内的所有其他
14、对象都是可见的;是全局对象,它对系统内的所有其他对象都是可见的;b b是是a a的一部分;的一部分;b b是被是被a a创建的;创建的;b b的引用被作为消息的一部分传递给了的引用被作为消息的一部分传递给了a a 第12页,此课件共70页哦(3 3)类)类类类 类是共享相同属性和行为的对象的集合,它为属于该类的所类是共享相同属性和行为的对象的集合,它为属于该类的所有对象提供统一的抽象描述和生成模板有对象提供统一的抽象描述和生成模板 抽象描述称为接口(抽象描述称为接口(InterfaceInterface),定义了类所含对象对外的(其他类和对象),定义了类所含对象对外的(其他类和对象)的统一协议
15、的统一协议 生成模板称为实现(生成模板称为实现(ImplementationImplementation),说明了类所含对象的生成机制和行),说明了类所含对象的生成机制和行为模式为模式 类的分类类的分类 类产生的关键是进行正确的分类类产生的关键是进行正确的分类 人们认识和处理具体事物时总会有意识或无意识的对它们人们认识和处理具体事物时总会有意识或无意识的对它们进行归类进行归类第13页,此课件共70页哦 数据驱动(数据驱动(Data-DrivenData-Driven)将具有相同属性的对象归为一类将具有相同属性的对象归为一类 产生自哲学上传统的经典分类理论(产生自哲学上传统的经典分类理论(Cla
16、ssical Classical Categorization TheoryCategorization Theory)所有具有一个给定特性或共同特性集的实体组成一个类所有具有一个给定特性或共同特性集的实体组成一个类 职责驱动(职责驱动(Responsibility-DrivenResponsibility-Driven)会依据事物的相似性而不是完全的相同性来进行事物的分类会依据事物的相似性而不是完全的相同性来进行事物的分类 产生自哲学上的产生自哲学上的概念聚类概念聚类(Conceptual ClusteringConceptual Clustering)使用概念描述而不是指定的特征来描述类别
17、和事物,在进行使用概念描述而不是指定的特征来描述类别和事物,在进行事物分类时它会考虑概念之间的相似性,并将事物归入和其事物分类时它会考虑概念之间的相似性,并将事物归入和其概念最为相似的类别概念最为相似的类别 第14页,此课件共70页哦 抽象抽象抽象抽象抽象是指在事物的众多特征当中只注意那些和目标密切相关的抽象是指在事物的众多特征当中只注意那些和目标密切相关的抽象是指在事物的众多特征当中只注意那些和目标密切相关的抽象是指在事物的众多特征当中只注意那些和目标密切相关的特征,同时忽略那些不相关的特征,进而找出事物的本质和共特征,同时忽略那些不相关的特征,进而找出事物的本质和共特征,同时忽略那些不相关
18、的特征,进而找出事物的本质和共特征,同时忽略那些不相关的特征,进而找出事物的本质和共性性性性 抽象是人们在理解事物时常用的手段抽象是人们在理解事物时常用的手段抽象是人们在理解事物时常用的手段抽象是人们在理解事物时常用的手段 对象对象对象对象就是对现实世界就是对现实世界就是对现实世界就是对现实世界事物的抽象结果事物的抽象结果事物的抽象结果事物的抽象结果,它表达了系统所需要的,它表达了系统所需要的,它表达了系统所需要的,它表达了系统所需要的现实世界事物特征,抛弃了那些系统不需要的特征。现实世界事物特征,抛弃了那些系统不需要的特征。现实世界事物特征,抛弃了那些系统不需要的特征。现实世界事物特征,抛弃
19、了那些系统不需要的特征。类类类类则是则是则是则是对象集的抽象结果对象集的抽象结果对象集的抽象结果对象集的抽象结果,它忽略了具体某个对象在特定时间,它忽略了具体某个对象在特定时间,它忽略了具体某个对象在特定时间,它忽略了具体某个对象在特定时间和空间的细节状态,从对象集的全局出发,在一个更高的逻辑层和空间的细节状态,从对象集的全局出发,在一个更高的逻辑层和空间的细节状态,从对象集的全局出发,在一个更高的逻辑层和空间的细节状态,从对象集的全局出发,在一个更高的逻辑层次上,描述了对象集的共性次上,描述了对象集的共性次上,描述了对象集的共性次上,描述了对象集的共性 封装封装封装封装封装是指尽可能隐藏构造
20、单位内部的实现细节,只通过有封装是指尽可能隐藏构造单位内部的实现细节,只通过有封装是指尽可能隐藏构造单位内部的实现细节,只通过有封装是指尽可能隐藏构造单位内部的实现细节,只通过有限的对外接口保持对外联系的一种软件构造策略限的对外接口保持对外联系的一种软件构造策略限的对外接口保持对外联系的一种软件构造策略限的对外接口保持对外联系的一种软件构造策略 绝不是简单的将属性和行为放置在一起绝不是简单的将属性和行为放置在一起绝不是简单的将属性和行为放置在一起绝不是简单的将属性和行为放置在一起第15页,此课件共70页哦(4 4)关联)关联 关联关联 指出了类之间的某种语义联系指出了类之间的某种语义联系 关联
21、是类对其对象实例之间的无数潜在关系的描述关联是类对其对象实例之间的无数潜在关系的描述第16页,此课件共70页哦第17页,此课件共70页哦2.2 2.2 对象模型重要概念对象模型重要概念(1 1)继承)继承如果一个类A继承了对象B,那么A就自然具有B的全部属性和服务,同时A也会拥有一些自己特有的属性和服务,这些特有部分是B所不具备的 结构继承和语义继承第18页,此课件共70页哦第19页,此课件共70页哦(2 2)多态)多态广义多态广义多态 一个对象在相似情景下表现出多个不同形态,或者一个对象在相似情景下表现出多个不同形态,或者多个对象在同一情景中表现出相同形态的现象多个对象在同一情景中表现出相同
22、形态的现象 一个对象在相似情景下表现出不同的形态一个对象在相似情景下表现出不同的形态一个对象在相似情景下表现出不同的形态一个对象在相似情景下表现出不同的形态 重载(重载(重载(重载(OverloadingOverloadingOverloadingOverloading)依据参数或返回值的不同为协议定义不同的版本,每一个版本都可依据参数或返回值的不同为协议定义不同的版本,每一个版本都可依据参数或返回值的不同为协议定义不同的版本,每一个版本都可依据参数或返回值的不同为协议定义不同的版本,每一个版本都可以表现出自己独特的行为以表现出自己独特的行为以表现出自己独特的行为以表现出自己独特的行为 泛型(
23、泛型(泛型(泛型(GeneralityGeneralityGeneralityGenerality)使用同一个通用的实现处理不同的数据类型,然后根据数据类型的使用同一个通用的实现处理不同的数据类型,然后根据数据类型的使用同一个通用的实现处理不同的数据类型,然后根据数据类型的使用同一个通用的实现处理不同的数据类型,然后根据数据类型的不同表现出不同的行为不同表现出不同的行为不同表现出不同的行为不同表现出不同的行为狭义多态狭义多态 多个对象在同一情景中表现出相同形态的现象多个对象在同一情景中表现出相同形态的现象多个对象在同一情景中表现出相同形态的现象多个对象在同一情景中表现出相同形态的现象 第20页
24、,此课件共70页哦2.3 2.3 领域模型领域模型 类大多是概念类(类大多是概念类(类大多是概念类(类大多是概念类(Concept ClassConcept ClassConcept ClassConcept Class),是一个能够代表),是一个能够代表现实世界事物的概念现实世界事物的概念 概念类之间存在指明语义联系的关联,这些关联通常不概念类之间存在指明语义联系的关联,这些关联通常不概念类之间存在指明语义联系的关联,这些关联通常不概念类之间存在指明语义联系的关联,这些关联通常不标记方向,也不标记关联端的可见性标记方向,也不标记关联端的可见性标记方向,也不标记关联端的可见性标记方向,也不标记
25、关联端的可见性 概念类会显式的描述自己的一些重要属性,但不是全概念类会显式的描述自己的一些重要属性,但不是全概念类会显式的描述自己的一些重要属性,但不是全概念类会显式的描述自己的一些重要属性,但不是全部的详细属性,而且概念类的属性通常没有类型的约部的详细属性,而且概念类的属性通常没有类型的约部的详细属性,而且概念类的属性通常没有类型的约部的详细属性,而且概念类的属性通常没有类型的约束束束束 概念类不显式的标记类的行为,即概念类不包含明概念类不显式的标记类的行为,即概念类不包含明确的方法确的方法 第21页,此课件共70页哦SalesLineItemSalesLineItemquantityqua
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 建模 课件
限制150内