《聚集组成接口与实现ppt课件》由会员分享,可在线阅读,更多相关《聚集组成接口与实现ppt课件(18页珍藏版)》请在金锄头文库上搜索。
1、Page 1UML及及软软件建模件建模主主讲人人 :李:李 唯唯clx7000163Page 2n 如何如何对包含其他包含其他类的的类建模建模n 如何如何对接口以及与其相关接口以及与其相关联的的类建模建模n 可可见性的概念性的概念第五章第五章 聚集、聚集、组成、接口和成、接口和实现 Page 3聚集聚集 aggregation一个一个类有有时由几个部分由几个部分类组成的,成的,这种特殊种特殊类型的关系被称型的关系被称为聚集。部分聚集。部分类和由它和由它们组成的成的类之之间是一种整体部分是一种整体部分part-whole关系。关系。 按照聚集关系的表示法,聚集关系构成了一个按照聚集关系的表示法,
2、聚集关系构成了一个层次构造。次构造。“整整体体类位于位于层次构造的最次构造的最顶部,以下依次是各个部,以下依次是各个“部分部分“类。整。整体和部分之体和部分之间用用带空心菱形箭空心菱形箭头的的连线衔接,箭接,箭头指向整体。指向整体。以下以下图表示了家用表示了家用计算机系算机系统的的组成。成。Page 4CPU1个人个人计算机算机音箱音箱主机主机键盘鼠鼠标显示器示器111112磁磁盘驱动器器声卡声卡显卡卡内存内存衔接到接到11*121Page 5n在上个例子中的每个部分都属于一个整体,但聚集的关系在上个例子中的每个部分都属于一个整体,但聚集的关系并不是只需并不是只需这种情况。种情况。n例如:在一
3、个家庭影院系例如:在一个家庭影院系统中,中,电视机和影碟机可以共用机和影碟机可以共用一个遥控器,那么一个遥控器,那么这个遥控器既是个遥控器既是电视机的机的组成部分也是成部分也是影碟机的影碟机的组成部分。成部分。Page 6聚集上的聚集上的约束束 有有时一个聚集体能一个聚集体能够有多种部分体有多种部分体组成,成,这些部分体之些部分体之间是是“Or关系。我关系。我们在两个整体部分关系在两个整体部分关系线之之间加上一花括号加上一花括号括起来的括起来的“Or来表示来表示这个个约束,并用虚束,并用虚线衔接接这两个关系两个关系线,如下如下图。一一顿饭汤沙拉沙拉主食主食甜点甜点11111orPage 7组成
4、成 组成是成是强类型的聚集。聚集型的聚集。聚集(组成成)中的每个部分体只能属于中的每个部分体只能属于一个整体。除了菱形箭一个整体。除了菱形箭头是是实心之外,心之外,组成和聚集的表示法成和聚集的表示法一一样,如下,如下图。咖啡桌咖啡桌桌腿桌腿桌面桌面111Page 8接口是描叙接口是描叙类的部分行的部分行为的一的一组操作,它也是一个操作,它也是一个类提供提供应另另一个一个类的一的一组操作。操作。一个一个类和它的接口之和它的接口之间的关系叫做的关系叫做实现。如洗衣机保。如洗衣机保证了它的了它的部分行部分行为可以可以“实现控制柄的行控制柄的行为。接口的模型表示法和接口的模型表示法和类大致一大致一样,
5、都是用一个矩形,都是用一个矩形图标来代表。来代表。和和类的不同之的不同之处在于,接口只是一在于,接口只是一组操作,没有属性。假操作,没有属性。假设一一个个类表示了省略了属性,那么怎表示了省略了属性,那么怎样区分区分类和接口呢?一种方法和接口呢?一种方法是运用构外型是运用构外型,把它放在矩形框中接口的名字之,把它放在矩形框中接口的名字之上。另一个方法是接口的名字以大写字母上。另一个方法是接口的名字以大写字母“I开开头。表示表示类和接口之和接口之间的的实现关系的符号和承关系的符号和承继关系的符号有些关系的符号有些类似,只不似,只不过它是一个它是一个带空心三角形的箭空心三角形的箭头,箭,箭头的方向指
6、向接的方向指向接口。以下口。以下图表示了洗衣机和控制旋表示了洗衣机和控制旋钮之之间的的实现关系。关系。接口接口interface和和实现realization Page 9洗衣机洗衣机控制旋控制旋钮Page 10n另另一一种种表表示示法法省省略略表表示示法法是是将将接接口口表表示示为一一个个小小圆圈圈,并并和和实现它它的的类用用一一条条线连起起来来,如如下下图。这种种图有有时候候笼统地被称地被称为棒糖棒糖图lollipop diagram。洗衣机洗衣机控制旋控制旋钮Page 11上图表示了销售中的用例关系。Page 12n一个一个类可以可以实现多个接口,一个接口也可以被多个多个接口,一个接口也
7、可以被多个类实现。n由于我由于我们要依托接口要依托接口实现洗衣机的操作,我洗衣机的操作,我们把把经过接口的接口的交互建模交互建模为一种依一种依赖。以下。以下图表示了表示了这种关系。种关系。n留意:留意:图中运用依中运用依赖符号,符号,对经过接口和接口和类的交互来建模。的交互来建模。洗衣机洗衣机控制旋控制旋钮用用户Page 13n实现关系将一种模型元素如类与另一种模型元素如接口衔接起实现关系将一种模型元素如类与另一种模型元素如接口衔接起来,其中接口只是行为的阐明而不是构造或者实现。客户必需至少支持来,其中接口只是行为的阐明而不是构造或者实现。客户必需至少支持提供者的一切操作经过承继或者直接声明。
8、虽然实现关系意味着要提供者的一切操作经过承继或者直接声明。虽然实现关系意味着要有像接口这样的阐明元素,它也可以用一个详细的实现元素来暗示它的有像接口这样的阐明元素,它也可以用一个详细的实现元素来暗示它的阐明而不是它的实现。阐明而不是它的实现。n泛化和实现关系都可以将普通描画与详细描画联络起来。泛化将在同一泛化和实现关系都可以将普通描画与详细描画联络起来。泛化将在同一语义层上的元素衔接起来如,在同一笼统层,并且通常在同一模型语义层上的元素衔接起来如,在同一笼统层,并且通常在同一模型内。实现关系将在不同语义层内的元素衔接起来如,一个分析类和一内。实现关系将在不同语义层内的元素衔接起来如,一个分析类
9、和一个设计类;一个接口与一个类,并且通常建立在不同的模型内。在不个设计类;一个接口与一个类,并且通常建立在不同的模型内。在不同开展阶段能够有两个或更多的类等级,这些类等级的元素经过实现关同开展阶段能够有两个或更多的类等级,这些类等级的元素经过实现关系联络起来。两个等级无需具有一样的方式,由于实现的类能够具有实系联络起来。两个等级无需具有一样的方式,由于实现的类能够具有实现依赖关系,而这种依赖关系与详细类是不相关的。现依赖关系,而这种依赖关系与详细类是不相关的。n实现关系用一条带封锁空箭头的虚线来表示,且与泛化的符号很相像。实现关系用一条带封锁空箭头的虚线来表示,且与泛化的符号很相像。n用一种特
10、殊的折叠符号来表示接口无内容以及实现接口的类或构件用一种特殊的折叠符号来表示接口无内容以及实现接口的类或构件n 。接口用一个圆圈表示,它经过实线附在表示类元的矩形上。接口用一个圆圈表示,它经过实线附在表示类元的矩形上。Page 14接口和端口接口和端口portn鼠鼠标是如何是如何衔接到接到计算机的?沿着鼠算机的?沿着鼠标后面的后面的电缆,在,在计算机的后面,他会看到一个端口,也就是鼠算机的后面,他会看到一个端口,也就是鼠标接入的地方。接入的地方。当然他的当然他的计算机也能算机也能够由一系列端口,包括一个并行端口由一系列端口,包括一个并行端口以及一个或多个以及一个或多个USB端口。端口。计算机正
11、是算机正是经过这些端口和外些端口和外界的界的环境交互。境交互。nUML2.0提供了一个符号用来提供了一个符号用来对这些交互点建模。如下些交互点建模。如下图,端口符号是位于端口符号是位于类符号符号边缘上的一个小方格,上的一个小方格,这个小方格个小方格衔接到接口。接到接口。鼠鼠标口口鼠鼠标计算机算机Page 15可可见性性visibility n可可见性可运用于属性或操作,它性可运用于属性或操作,它阐明在明在给定定类的属性和操作或者的属性和操作或者接口的操作的情况下,其他接口的操作的情况下,其他类可以可以访问到的属性和操作的范到的属性和操作的范围。可可见性由性由3种种层次次级别。n1、在公有、在公
12、有Public层次上其他次上其他类可以直接可以直接访问这个个层次中的属次中的属性和操作。性和操作。n2、在受、在受维护(Protected)层次上,只需承次上,只需承继了了这些属性和操作的子些属性和操作的子类可以可以访问最初最初类的属性和操作。的属性和操作。n3、在私有、在私有(Private)层次上,只需最初的次上,只需最初的类才干才干访问这些属性和操些属性和操作。作。n实现关系意味着接口中的一切操作都是公有的。以下关系意味着接口中的一切操作都是公有的。以下图表示了前面表示了前面提到的提到的电视机机类和汽和汽车类中的公有、受中的公有、受维护的和私有操作。的和私有操作。Page 16 Tele
13、vision+brandName+modeName+changeVolume()+changeChannel()-paintImageOnScreen() Automobile+brandName+modeName+accelerate()+brake()#updateMileageCount()阐明:属性或操作前面有明:属性或操作前面有“号,号,该属性或操作是公有的属性或操作是公有的 属性或操作前面有属性或操作前面有“号,号,该属性或操作是受属性或操作是受维护的的 属性或操作前面有属性或操作前面有“号,号,该属性或操作是私有的属性或操作是私有的Page 17n作用域作用域 scopen作作用
14、用域域是是与与属属性性和和操操作作相相关关的的有有一一个个重重要要概概念念。存存在在两两种种能能够性的作用域。性的作用域。n1、在在实例例instance作作用用域域下下,类的的每每个个实例例对象象都都有有本本人的属性人的属性值和操作。和操作。n2、在在分分类符符classifier作作用用域域下下,一一个个类的的一一切切实例例只只存在一个属性存在一个属性值和操作。和操作。Page 18小小结 n聚集是一个整体部分关聚集是一个整体部分关联:“整体整体类是由是由“部分部分类组成的。成的。组成是一成是一种种强类型的聚集,由于型的聚集,由于组成体的部分体只能属于一个整体。聚集关系成体的部分体只能属于
15、一个整体。聚集关系的菱形箭的菱形箭头是空心的,而是空心的,而组成关系的菱形箭成关系的菱形箭头是是实心的。心的。n组成构造成构造图经过展展现嵌入在一个嵌入在一个类中的那些中的那些类,使得,使得该类的内部构造的内部构造变得可得可见。n实现是是类和接口之和接口之间的一个关的一个关联,接口是可供其他,接口是可供其他类运用的一个操作集。运用的一个操作集。接口用没有属性的接口用没有属性的类表示。表示。实现关系用一条虚关系用一条虚线衔接接类和接口,虚和接口,虚线接近接口的一端接近接口的一端带有一个空心三角形箭有一个空心三角形箭头指向接口。另一种表示指向接口。另一种表示实现的方法是用一条直的方法是用一条直线衔
16、接小接小圆圈,小圈,小圆圈表示接口。圈表示接口。nUML2.0添加了一个符号来表示端口。添加了一个符号来表示端口。类经过端口和它的端口和它的环境交互。境交互。这个符号是一个位于个符号是一个位于类符号符号边缘上的小方格,他和接口相上的小方格,他和接口相连。n在可在可见性性术语中,接口中的一切操作都是公有的,以使任何中,接口中的一切操作都是公有的,以使任何类都可以都可以访问接口中的操作。接口中的操作。n作用域是属性和操作的又一个重要特征。在作用域是属性和操作的又一个重要特征。在实例作用域下,一个例作用域下,一个类的每的每个个对象都有本人各自的属性象都有本人各自的属性值和操作。在分和操作。在分类符作用域,一个符作用域,一个类的一的一切切实例例对象的某些属性或操作共享同一个象的某些属性或操作共享同一个值。不属于。不属于这组对象的其它象的其它对象不能象不能访问分分类符作用域符作用域值。