西南民族大学 UML复习参考.doc_第1页
西南民族大学 UML复习参考.doc_第2页
西南民族大学 UML复习参考.doc_第3页
西南民族大学 UML复习参考.doc_第4页
西南民族大学 UML复习参考.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

第一部分 “UML相关”内容1、UML是统一建模语言;建模语言是建模中的一个非常关键的因素。2、OO开发的每个阶段都可以用UML模型对系统建模,从系统不同的角度可以分为:(UML中的图形标记非常适用于面向对象的软件设计) 类模型(提供数据模型):包图、对象图、类图 状态模型(各对象的控制结构):状态图 交互模型(对象间信息交换,系统的整体视图):用例、顺序图、活动图针对系统构架: 构件图、配置图3、UML的重要内容九种图形4、UML六大关系判断题:不是一种可视化编程语言,而是一种可视化建模语言;不是工具或知识库的规格说明,而是建模语言的规格说明,是一种表示的标准;不是过程,也不是方法,但是允许任何一种过程和方法使用它 关联关系(Association) 聚合关系(Aggregation) 组合关系(Composition) 依赖关系(Dependency) 实现关系(Realization) 泛化关系(Generalization) 5、工具RoseUse Case视图包括系统中所有的角色、用例和用例图 可能包括:序列图、协作图和活动图 6、UML特点:工程化、规范化、可视化、系统化、文档化和智能化。第二部分 “面向对象”相关内容1、继承:如果类B继承类A,那么类A中描述的操作和信息结构将成为类B的一部分。 借助继承,可以表示类之间的类似性,并且在其他类能继承的一个类中描述这些相似性。因此,就能够复用公共的描述。继承还有利于软件维护。 通过抽取和共享公共特性就能够通用化一些类,并且把它们放在继承层次的更高位置。同样,如果希望增加新类,可以寻找这样一个类,它已经提供了适用于该新类的某些操作和信息结构。然后,让新类继承这个类,只需增加该新类所独有的那些内容。然后,使这个类专用化。2、多态:指同一个实体同时具有多种形式(相同的操作会产生不同的动作)。 在面向对象语言中,接口的多种不同的实现方式即为多态(同样的函数在不同的类上有不同的行为或动作)。分为静态动态(同一个类中同名方法在功能上的重载)和动态动态(子类方法对父类相同声明的方法的覆盖)。多态性:是指同一个消息为不同的对象接收时,可产生不同的动作或执行结果。3、接口 接口是一种约束形式,其中只包括成员定义,不包含成员实现的内容。 接口的主要目的是为不相关的类提供通用的处理服务。 当类实现一个接口,它就许诺实现在那个接口中执行所有的方法。 4、信息隐蔽和局部化封装5、继承与派生6、可视性:(类的属性与代码实现中可能用到) 若可视性标记为“+”或“public”,则为公共属性,可以被外部对象访问。 若可视性标记为“#或“ protected”,则为保护属性,可以被本类或子类的对象访问。 若可视性标记为“-”或“ private”,则为私用属性,不可以被外部对象访问,只能为本类的对象使用。 可视性可以缺省,表示该属性不可视。第三部分 “类模型”相关内容1、类的定义:类是具有相似结构、行为和关系的一组对象的描述符。使用出现在系统中的不同类来描述系统的静态结构,类图用来描述不同的类和它们的关系。2、类的表示和对象图的表示。类名(首字母大写)属性(属性列表:类型=默认值)操作(操作列表:参数、结果)对象名:类名属性值操作3、对象图: 对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。4、类之间的关系: 类之间的关系包括关联关系、依赖关系、泛化关系和实现关系,其中关联关系又包括双向关联、单向关联、自关联、多重性关联、聚合关系和组合关系。5、类的关联关系:关联关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有 (has a)联系。 public class Personprivate Bicycle bicycle; /* 骑自行车去上班 */public void goToWork() bicycle.run();(1)单向关联:(2)双向关联: (3)多重关联:(4)自关联:一个类的两个对象间的关联。 (5)关联的约束:关联可加上一些约束,以加强关联的含义; 排序:用ordered表示类的对象需要排序,不允许重复值 对于一对对象,二元关联通常至多有一个链接,在关联端标注bag、sequence,允许在一对对象上有多重链接。 包(bag):无序,可重复(允许重复值的元素集合) 序列(sequence):有序,可重复(允许重复值的有序元素集合) 序列关联是一个有序包,而有序关联是一个有序集合。(6)链接是关联的实例。6、类的限定关系(限定符):将有效的多重性从“多”降为“一”。7、类的泛化关系:泛化关系也就是继承关系,也称为“is-a”关系,泛化关系用于描述父类与子类之间的关系。泛化关系用带空心三角形的直线来表示。箭头指向父类。8、类的实现关系:接口之间也可以有与类之间关系类似的继承关系和依赖关系,但是接口和类之间还存在一种实现关系,在这种关系中,类实现了接口,类中的操作实现了接口中所声明的操作。类与接口之间的实现关系用带空心三角形的虚线来表示。 9、将一个类的对象作为另一个类的属性。关键字枚举名枚举值第四部分 “高级对象”相关内容1、本章包含(类图建立系统模型时可以添加的细节):枚举、多重性(属性多重性方向)、作用域、可见性、关联终端、N元关联、抽象类、多重继承、聚合、组合、元数据、具体化、约束、派生数据和包。2、枚举:由有限取值集合组成的一种数据类型。 枚举是指同一类中具有共同属性和行为的对象,只是值不同; 泛化则是指具有一些相同属性和行为的对象,但是有一些重要属性或行为不能完全相同。 枚举与泛化的不同(语义和UML表达):不构成继承关系为枚举,枚举只是一列值。3、多重性:属性多重性为属性的每个实例确定可能取值的数目。4、作用域:在类作用域里使用属性来保持类的范围。属性作用域需要有下划线,不能修改;对象作用域没有下划线,可以修改。5、聚合:是一种强类型的关联,其中一个聚集对象由多个部件构成。两个对象部分-整体关系紧致绑定的话,这种关系就是一个聚合。表示方法为一个小菱形指整体。一般聚合其实指的就是has a的关联模式。6、组合:在聚合的基础上,有更多的限制则为组合。一个组成部件至多属于一个装配件。表示方法为一个实心菱形。7、抽象类:指没有直接实例的类,但其子孙类有直接的实例。具体类是指可以实例化的类。8、多重继承:允许某个类有多个父类,并继承所有父类的特征。9、元数据:描述其他数据的数据,类的定义就是元数据。10、具体化:把不是对象的实体提升为对象的过程。11、派生数据:(从多重性导出属性值) 派生元素是可以从其它元素计算出来的元素 不增加语义信息,但是有了派生元素可以更清楚或者更有利于设计 其表示法是在派生元素的名字前加一条斜线“”12、shape类和三角形、矩形、圆形等,父类不具有之类的特征,而不仅仅是值不同。第五部分 “状态模型”相关内容1、状态图概述:主要由起点、终点和状态组成,各状态由转移连接在一起 。适合于描述跨越多个用例的单个对象的行为。由状态、事件和转换三个主要元素构成。2、事件:是指在某个时刻发生的事情。可以是内部的事件或外部的事件 外部事件是在系统和参与者之间传送的事件。 内部事件是在系统内部的对象之间传送的事件。 3、事件的分类:信号事件(发送或接收信号)、调用事件、变更事件和时间事件。 调用事件:是指一个对象对操作调用的接收,是表示对操作的调度。 接收的类可以选择将操作实现为一个方法或实现为状态机里的一个调用事件触发器。 信号是一个异步事件,而调用事件一般来说是同步的。也就是说,当对象调用另一对象的操作时,控制就从发送者传送到接收者,该事件触发转换,完成操后,接收者转换到一个新的状态,控制返还给发送者。 变更事件:因满足某种条件而引起的事件,变化条件用when表示。(如:When sum10)时间事件:满足某一时间表达式而引起的事件,时间事件用after,when表示(when后面仅跟时间表达式,after后面跟时间间隔或时间段)。(如:after( 10 seconds ) ).4、状态:是可识别的情况,能够存在一段时间。表示连续两个时间之间的间隔。事件和时间之间有某种对称性。事件表示时间点,状态表示时间段。5、迁移:指从一个状态到另一个状态的瞬时变化。第六部分 “交互模型”相关内容一、用例图1、参与者:是系统的外部用户,直接与系统通信的一个对象或一组对象,但并不是系统的一部分。每个参与者都表示以某种方式对系统起作用的那些对象。2、用例:代表系统提供的服务;是系统通过与参与者的交互可以提供的一段连贯的功能。3、关系:关联关系(Association)、泛化关系(Generalization)、包含关系(Include)、扩展关系(Extend)等参与者与用例之间:关联关系(描述参与者与使用用例之间的关系。在UML中,关系用实线表示,实线可以有箭头,也可以没有箭头。)用例与用例之间:泛化关系(Generalization)、包含关系(Include)、扩展关系(Extend)包含关系(Include):指两个用例之间的关系,其中一个用例(即基本用例)的行为包含了另一个用例(即包含用例)的行为。包含关系中箭头的方向是从基本用例到包含用例处理等候队列预订座位 扩展关系(Extend):扩展关系允许一个用例(可选)扩展另一个用例的功能。扩展只能发生在基本用例的序列中某个特定的点上,这个点叫扩展点。扩展关系中基本用例本身是完整的。扩展关系中,箭头的方向是从扩展用例到基本用例。(用来表示一个用例的行为扩展了另一个用例的行为;使用带虚线箭头表示,并在线上标有构造型)包含关联与扩展关联的区别:存在包含关联的两个用例,用例必须包含被包含用例;存在扩展关联的两个用例则有使用被扩展用例的选择权。泛化关系(Generalization):泛华关系其实是子类与父类的关系。和类之间的泛化关系一样,用例和参与者也可以继承另一个用例和参与者。参与者与参与者之间:泛化关系(Generalization)4、所有的用例都放置在系统边界内,表明它属于一个系统。角色则放在系统边界的外面,表明角色并不属于系统。但是角色负责直接(或间接地)驱动与之关联的用例的执行。5、用例图描述了一组用例、参与者以及它们之间的关系。参与者用人形图形表示,用例用椭圆形符号表示,连线表示它们之间的关系。 二、顺序图1、生命线是对象图标向下延伸的虚线, 表示对象生存时间。2、控制焦点(Focus of Control)又称为激活期(Activation), 用生命线上的小矩形表示, 在这个时间段内, 对象执行相应的操作。对象执行某个动作的时期。 3、建立顺序的步骤:确定交互的范围 识别参与交互的对象和活动者 设置对象生命线的开始和结束设置消息 细化消息三、活动图1、显示了组成复杂过程的步骤序列;主要用于描述算法和工作流;在设计算法和工作流的早期阶段最为有用 ;活动图的目标 ;显示复杂过程内部的各个步骤以及它们之间的顺序约束。注意: 1)活动图可以显示控制流,但专注于操作而不是对象 2)活动图中的各项活动要有相同的细节层次2、例子:处理股票交易定单1)拉长了的椭圆:活动 ;2)箭头:活动的顺序;3)菱形:决策点;4)粗线条:并发线程的分流和合并.3、活动图的元素:泳道:为组织活动图而对活动进行的分组,用来划分状态图的状态;每个泳道代表整个活动的部分高级职责;整个活动可能最后由一到多个泳道实现;使用泳道可以把活动按照功能或所属对象的不同来进行组织;属于一个对象的所有活动都放在同一个泳道内,对象的名字放在泳道的顶部。业务模型中了解哪个组织负责某项活动时使用;把一项活动放在某条泳道中表明它会由组织内的某个人或某些人执行。主要要素:起点和终点、活动、转移、接收信号和发送信号、决策点和汇合点、分叉和汇合、控制流终点、泳道。第七部分 “系统构架”相关内容1、组件图从报告工具组件指向歌曲排行、ASP .NET API和ADO .NET组件的带箭头的线段,表示报告工具依赖于那三个组件。比如”歌曲排行“这个框属于软件构件,而虚线箭头表示依赖关系。2、部署图 部署图用来描述系统的硬件配置、硬件部署以及软件构件和模块在不同节点上分布的模型图。 描述了系统运行时的硬件节点,以及在这些节点上运行的软件构件的静态视图。 显示了系统中的硬件、安装在硬件上的软件,以及用于连接异构的机器之间的中间件。 部署图中通常包含2个元素 节点(Node) 关联关系(Association) 部署图可以显示节点以及它们之间的必要连接,也可以显示这些连接的类型,还可以显示构件和构件之间的依赖关系,但是每个构件必须存在于某些节点上。 第八部分 “领域类模型”相关内容1、分析需求的第一步是构造领域模型领域模型主要包括类模型、状态模型,少有交互模型,是系统的静态模型 领域模型显示了真实系统的静态结构,并把系统划分成可工作的片段 领域模型描述真实世界的类以及它们之间的相互关系 在分析过程中,类模型的优先级要高于状态和交互模型,这是因为静态结构容易更好地定义,而且会较少地依赖应用程序的细节,并且当解决方案发生演化的时候会更加稳定 领域模型的信息来自于问题陈述、其他相关系统的制品、专家对应用领域的了解以及对真实世界的总的认识2、创建领域类模型,必须要经过下面几个步骤: 寻找类.2节 准备数据字典12.2.3节 寻找关联12.2.412.2.5节 寻找对象和链接的属性12.2.612.2.7节 使用继承组织和简化类12.2.8节 验证可能查

温馨提示

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

评论

0/150

提交评论