UML复习重点--必过!!!.docx_第1页
UML复习重点--必过!!!.docx_第2页
UML复习重点--必过!!!.docx_第3页
UML复习重点--必过!!!.docx_第4页
UML复习重点--必过!!!.docx_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. OO的主题:抽象、封装、组合数据和行为、共享、强调对象的本质、协同2. 建模的作用:在构建物理实体之前先测试、与客户交流、可视化、降低复杂度3. 三种模型:类模型(系统静态的、结构化的“数据”层面,描述系统中对象的结构-它们的标识、与其他对象的关系、属性和操作)、状态模型(系统时序的、行为的“控制”层面,描述了与操作的时间和顺序相关的对象层面-标记变化的时间,界定事件上下文的状态,以及事件和状态的组织)、交互模型(表示独立对象的协作,系统的“交互”层面,描述对象之间的交互-独立对象如何协作,来从整体上完成系统的行为)4. UML9种图:类图、对象图、(类模型-静态模型);状态图(状态模型-动态模型);用例图、协作图、活动图(交互模型);组件图、部署图(实现模型);具体分类如下:静态图:类图、对象图、部署图、组件图、用例图动态图:状态图、活动图、协作图、时序图5. UML的三个特征:UML是一种语言,是用来建模的,是统一的标准6. 软件过程中使用UML的好处:软件开发是一个很复杂的工程,而采用统一的建模语言来对软件进行描述能够使客户、涉众、开发人员对软件能够有更好地共识,也能够有效地降低复杂性。7. 两者关系:面向对象开发是一种软件开发思想,UML则是用于表达这种思想的语言。UML不是方法论,只是一门描述模型的语言,虽然渗透了许多方法论的基础概念,但是却没有在标准中给出完整的方法指南。8. 关联的多重性:0.1:0或1; 0.n,0.*,n:0或多; 1; 1.n:1到n; *:0到多9. 审查泛化:是否在系统责任范围之内;是否同处一个领域;是否符合常识;是否在结构上真正构成泛化关系;子类之间的差别能否由超类的属性值改变来实现;子类是否有自己特有的属性和操作;超类下面是否只有一个子类10. 识别类之间的泛化:根据领域知识;自上而下;自下而上;考虑领域内的复用11. 识别类之间的聚合组合:物理上的整体事物和他的组成部分;组织机构和它的下级组织;团队(组织)和成员;空间上得包容;抽象事物的整体和部分;具体事物和它的某个抽象方面12. 审查聚合组合:是否属于问题域和系统责任的范围内;部分对象的属性有多少;是否有明显的聚合关系13. 聚合的进一步讨论:简化对象的定义;支持软件复用;表示数量不定的组成部分;表示动态变化的对象特征;取代泛化以利于实现14. 类之间的各种关系:关联、泛化、依赖、聚合、组合、接口与实现以下绝对正版!一、多项选择(2 * 18)二、填空(2 * 22)三、作图(10 * 2)1、OO1)类:是对一组对象的描述,这些对象具有相似的属性、操作、关系和行为。是对某种类型的对象定义属性和方法的原型,表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。具有相同数据结构和行为的对象被分组为一个类。2)对象:对象是人们进行研究的任何事物,不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象可以改变自身的状态,对象具有对世界作出决定和反应的能力,对象具有一定的特征和行为3)OO特色:继承、封装、多态。4)不同视角描述系统的三种模型:类模型(描述系统内部对象及其关系。系统静态的、结构化的“数据”层面,描述系统中对象的结构-它们的标识、与其他对象的关系、属性和操作)、状态模型(描述对象生命历史。系统时序的、行为的“控制”层面,描述了与操作的时间和顺序相关的对象层面-标记变化的时间,界定事件上下文的状态,以及事件和状态的组织)、交互模型(描述对象之间交互。表示独立对象的协作,系统的“交互”层面,描述对象之间的交互-独立对象如何协作,来从整体上完成系统的行为)5)三种模型的关系:类模型描述状态模型和交互模型操作的数据结构。类模型中的操作对应于事件和动作。状态模型描述对象的控制结构。它显示了依赖于对象取值的决策,并引发动作来改变对象取值和状态。交互模型专注于对象之间的信息交互,并提供了系统操作的整体视图。6) OO和UML关系: UML和面向对象软件开发之间有很强的关联关系,甚至可以说是面向对象软件开发催生了UML。UML的标准化和发展过程,有机地吸纳了业务建模、工作流建模、数据库建模等领域的标准规范,形成了一个适用性很强的标准。面向对象是一种软件开发思想,UML则是用于表达这种思想的语言UML是对描述面向对象的系统分析和设计工作所用符号进行标准化尝试的一种语言其目的是建立一套不依赖于完成设计所用方法的符号 UML 的开发意图是用于所有面向对象的开发方法、生命循环阶段、应用程序 UML 未定义标准过程,而是为迭代开发过程提供帮助2、UML概念等1)UML9种图:类图、对象图、(类模型-静态模型);状态图(状态模型-动态模型);顺序图、用例图、协作图、活动图(交互模型);组件图、部署图(实现模型);具体分类如下:静态图:类图、对象图、部署图、组件图、用例图动态图:状态图、活动图、协作图、顺序图。动态模型:描述了系统与操作时间和顺序有关的系统方面、影响更改的事件,事件的序列,事件的环境以及事件的组织。2)UML概念:统一建模语言,为面向对象开发系统的产品进行说明、可视化和编制文档的一种标准语言。为面向对象软件设计提供统一的、可视化、标准的建模语言。3) UML的三个特征:UML是一种语言,是用来建模的,是统一的标准4)面向对象建模过程是通过应用面向对象的思维,分析、设计和实现系统的过程 分析:通过构造模型来更加深入地理解需求。分析的目标就是要确定应该完成哪些内容,而不是确定如何完成这些内容。在尝试解决问题之前必须先理解问题。分析分为领域分析和应用分析两个子阶段。设计:系统设计和类设计,系统设计是为了解决应用问题而设计一个高层策略架构,制定政策以后指导后续的类设计。类设计扩充并调整从分析当中得到的真实模型,以使它们易于进行计算机实现,其次决定实现这些操作的算法。3、类建模1)类图:类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图是以类为中心来组织的,类图中的其他元素或属于某个类或与类相关联 2)对象图:对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类 3)类之间的关系:关联、聚合、组合、泛化与继承、依赖、接口与实现(1)关联:通过属性来表示一个对象对另一个对象的静态依赖关系,所谓的静态,即指只要两个对象存在,他们的关联关系即存在,不会因对象状态的不同而有所变化。关联具有多重性,表示多少个对象参与了某个关联。P24页好好看书。注意和多重关联区别:多重关联举例,学生和导师既可以是老师关系也可是朋友关系。关联终端名:关联的两端需要名字来加以识别,特别是对于同一个类的两个对象之间的关联是必须的,他们可以区分一对类之间的多重关联。如何避免多重关联:将关联上升为关联类。注意理解关联类和普通类。(2)聚合:特殊的关联,更强的一种聚合,关联两端不但存在整体和部分的关系,而且整体和部分是具有相同的生命周期,而且一个部件只能属于一个装配件,如车窗户-玻璃。聚合具有传递性和反对称性。(3)组合:特殊的关联,关联两端存在整体和部分的关系,如 书房-书桌(4)泛化和继承:泛化具有“代码复用”、“支持多态”“结构化描述对象”泛化出现了父类,继承出现了子类。泛化和特化是相反的过程。多重继承种类:独立类的多重继承、重叠类的多重继承如何消除多重继承:使用部件组合的委托、继承最重要的类并委托其余的类、嵌套泛化看书(P59-P60)(5)依赖:如果一个类依靠另一个类的服务来完成其角色,则他们之间的关系成为依赖关系。一个类的变化会导致另一个类的变化。依赖的表现形式:一个类作为另一个类的方法参数或者返回类型,或者方法中使用到了另一个类的对象。(6)接口与实现:类接口用于描述类的外部可见行为。类的实现是其内部视图,涵盖了其行为的秘密。类的接口提供了其外部视图,因此在隐藏其行为以及其结构的秘密时,强调了抽象。4)元数据,元模型:4、状态模型:描述响应外部激励而发生的操作序列。1)状态图:每个类对应一个状态图,状态图是一个类所有实例所可能经历的所有历程的模型图。状态图由对象的各个状态和连接这些状态的转换组成,即状态图联系起状态和事件,事件表示外部激励,状态表示对象的取值。描述了单个事物如何为响应发生的事件而更改状态和生成响应,并通过此方式与其环境进行交互。显示对象在生命周期内响应外部事件和消息时所经历的状态序列。对一个类的生命循环建模,对复杂的动态行为有用。2)什么是事件:某个时刻发生的事情。包括信号事件、变更事件、时间事件。(1)信号:是指从一个对象到另一个对象的明确的单向流动信息。信号事件:指发送或接收信号的事件。变更事件:由满足布尔表达式而引起的事件。When(a b)时间事件:在绝对时间上或在某个时间间隔内发生的事情所引起的事件。When(date=*)3)状态:对象取值和链接的抽象。状态表示某个对象的状态,状态和事件之间有某种对称性,事件表示时间点,状态表示时间段,状态对应着对象接收的两次事件之间的时间间隔。4)迁移:指从一个状态到另一个状态的瞬时变化。从源状态到目标状态一发生变化,就说是触发了迁移。5)警戒条件:为了要让迁移发生而必须为真的布尔表达式。6)状态建模步骤:找出适合用模型描述其行为的类确定对象可能存在的状态确定引起状态转换的事件确定转换进行时对对象执行的相应动作7)状态图包括:状态、事件、迁移、状态图、迁移条件、效应(活动)8)效应:为响应某事件而执行的行为的引用。 活动:为了相应某事件而执行的行为。效应触发的实际行为。do活动:持续了一段时间的活动,绑定到某个状态上,不能依附于迁移。进入和退出动作:把活动绑定到某状态的入口和出口。9)如果某状态有多个活动,则执行顺序为:到达迁移上的活动、进入活动、do活动、退出活动、输出迁移上的活动。10)自迁移会引起进入和退出活动,但是状态内部的事件却不能。5、交互模型1)用例图:用例图是从用户角度描述系统功能,是用户所能观察到的系统功能的模型图,用例是系统中的一个功能单元。(1)用例描述:用例(系统通过与参与者交互提供的一段连贯的功能,把与一段程序功能相关的所有行为组织在一起)、小结、参与者、前置条件、描述、异常、后置条件。(2)用例模型的准则:确定系统边界、确保关注参与者、每个用例必须给用户提供功能、关联用例与参与者、记住用例是非形式化的、用例可以结构化。2)顺序图:顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互。以时间为中心,描述对象间的交互,焦点是消息的时间顺序。(1)顺序图的一个用途是用来表示用例中的行为顺序,显示特定的用例或者特定用例中的某部分的详细流程。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或引起状态转换的触发事件。(2)顺序模型(场景和顺序图)的准则:至少为每个用例编写一种场景,把场景抽象成顺序图,划分复杂的交互,为每种错误的条件(异常场景)绘制一张顺序图。3)协作图:协作图描述对象间的协作关系,协作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系。协作图的一个用途是表示一个类操作的实现。收发消息的对象结构组织,利用工具可以由顺序图生成。4)活动图:活动图是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动。活动图描述了一组顺序的或并发的活动。 5) 描述对象不同:状态图:描述对象状态及状态之间的转移,以状态为中心;活动图:描述从活动到活动的控制流,以活动为中心。使用场合不同:状态图:描述对象在其生命期中的行为状态变化;活动图:描述过程的流程变化。6、1)组件图:组件图为系统的组件建模型,组件即构造应用的软件单元,还包括各组件之间的依赖关系,以便通过这些依赖关系来估计对系统组件的修改给系统可能带来的影响。2)部署图:部署视图描述位于节点实例上的运行构件实例的安排。节点是一组运行资源,如计算机、设备或存储器。这个视图允许评估分配结果和资源分配。三、简答题:1、简述用例之间的扩展、泛化、包含三种关系有什么异同,请分别举例说明。n 扩展关系:基用例是可以独立于扩展用例存在的,只是在特定的条件下,它的行为可以被另一个用例的行为所扩展n 包含关系:包含的用例不是孤立存在的,它必须通过包含其他用例才是一个完整的行为n 泛化关系:用来表示参与者与参与者之间,用例与用例之间的特殊/一般化关系2、在类的关联关系中,聚合关系与组合关系有什么区别?试举例说明。组合:特殊的关联,更强的一种聚合,关联两端不但存在整体和部分的关系,而且整体和部分是具有相同的生命周期,而且一个部件只能属于一个装配件,如车窗户-玻璃。聚合具有传递性和反对称性。聚合:特殊的关联,更强的关联两端存在整体和部分的关系,不具有相同的生命周期。如书房-书桌3、试举例说明活动图与状态图之间的区别(1)描述对象不同:状态图:描述对象状态及状态之间的转移,以状态为中心;活动图:描述从活动到活动的控制流,以活动为中心。(2)使用场合不同:状态图:描述对象在其生命期中的行为状态变化;活动图:描述过程的流程变化。活动图中一个活动结束后将立即进入下一个活动,在状态图中状态的转移可能需要事件的触发。4、在类图中,主要的类间关系有哪几种,各代表什么含义,使用什么图符来表示?答:关联、聚合、组合、泛化与继承、依赖、接口与实现(1)关联:通过属性来表示一个对象对另一个对象的静态依赖关系,所谓的静态,即指只要两个对象存在,他们的关联关系即存在,不会因对象状态的不同而有所变化。关联具有多重性,表示多少个对象参与了某个关联。P24页好好看书。注意和多重关联区别:多重关联举例,学生和导师既可以是老师关系也可是朋友关系。关联终端名:关联的两端需要名字来加以识别,特别是对于同一个类的两个对象之间的关联是必须的,他们可以区分一对类之间的多重关联。如何避免多重关联:将关联上升为关联类。注意理解关联类和普通类。(2)聚合:特殊的关联,更强的一种聚合,关联两端不但存在整体和部分的关系,而且整体和部分是具有相同的生命周期,而且一个部件只能属于一个装配件,如车窗户-玻璃。聚合具有传递性和反对称性。(3)组合:特殊的关联,关联两端存在整体和部分的关系,如 书房-书桌(4)泛化和继承:泛化具有“代码复用”、“支持多态”“结构化描述对象”泛化出现了父类,继承出现了子类。泛化和特化是相反的过程。多重继承种类:独立类的多重继承、重叠类的多重继承如何消除多重继承:使用部件组合的委托、继承最重要的类并委托其余的类、嵌套泛化看书(P59-P60)(5)依赖:如果一个类依靠另一个类的服务来完成其角色,则他们之

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论