




已阅读5页,还剩207页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象系统分析与设计方法,UML基础,主要内容,面向对象的主要概念UML相关概念UML模型UML的扩展,2,面向对象基本概念对象,1.定义:对象(Object)是系统中一个用来描述客观事物的实体。2.特征:对象具有自己的静态特征和动态特征。其中:静态特征是对象自身所要维护的信息,称为属性,可用值来描述;动态特征是对象所表现的行为或对象所具有的功能,称为操作(方法)。,3,类(Class)是一组具有相同属性和相同操作的对象的抽象集合。类有一个惟一的标识名。一个具体的对象只是类的一个实例。,面向对象基本概念类,4,封装(Encapsulation)是指把对象内部信息对外界是隐蔽的,不允许外界直接存取对象的属性,而只能通过有限的接口与对象发生联系。,面向对象基本概念封装,5,继承(Inheritance)是指子类(特化类、派生类)可以自动拥有父类(基类、泛化类、超类)的全部属性与操作。父类与子类的关系是一般与特殊的关系。,面向对象基本概念继承,6,继承,7,多继承,在有些情况下,一个类可能需要同时使用两个以上的父类的属性和操作,或者一个类包含在两个以上的父类的交集之中,则该类将从两个以上的父类中继承属性和操作,这称为多继承(MultipleInhentance)。如担任领导的教师。,8,多继承,9,消息(Message)是指对象之间在交互中所传送的通信信息。一个消息应当含有消息名、接收消息的对象的标识、调用操作的标识、输入信息、回答信息等内容。,面向对象基本概念消息,10,多态性(Polymorphism)是指在基类中定义的属性和操作为其子类继承后,可以具有不同的数据类型或表现出不同的行为。,面向对象基本概念多态性,11,多态性,12,统一建模语言UML,统一建模语言(UnifiedModelingLanguage,UML)是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。,13,UML简史,14,UML的特点,统一标准面向对象可视化、表示能力强大独立于过程容易掌握使用,15,UML语言内容,UML基本图素UML模型图UML建模规则,16,支持UML的工具,目前有很多支持UML的工具,例如RationalRose、Together、ArgoUML、MagicDRawUML、VisualUML等。UML只是一套可视化的面向对象系统分析与设计的语言,它一定要与一套工具搭配使用。与UML搭配最密切的工具就是RationalRose。,17,RationalRose,Rose提供对工业标准的支持,其中包括统一建模语言UML。Rose具有建立、浏览、修改和保存模型的能力,保证不同模型视图之间、模型与代码之间转化的一致性,它具有支持正反向建模的能力。Rose主要针对企业信息系统建模。,Rose开发环境,启动Rose单击开始程序RationalsuiteEnterpriseRationalRoseEnterpriseEdition,出现如图4l所示的界面。,19,Rose图形界面构成,菜单栏;浏览框(Brower);标准工具栏(standardToolbar);图素工具栏(DiagramToolbar);图形窗口(DiagramWindows);文档窗口(Documentwindow);日志栏(Log);状态栏(Status);规范对话框(Specification)。,20,Rose界面,Rose的四种视图,Rose创建一个新的系统模型时自动生成下列四种视图:(1)用例视图(2)逻辑视图(3)组件视图(4)部署视图Rose把视图看成是模型结构中的第一层次。,UML基本概念公共机制,修饰与扩展是UML语言中有两个重要机制,使用它们可使得UML更加简化。(1)注解是一种最重要的能单独存在的修饰,(2)扩展集则包括构造型、标记值和约束。,23,注解,注解(note)是附加在元素或元素集上用来表示约束或注释的图形符号。在图形上,把注解画成带有把角的矩形,在矩形中填写文字或图形注释。,24,注解,25,UML模型,用例图类图与对象图状态图活动图交互图顺序图,协作图(包图)构件图配置图,26,用例图,用例图(UseCaseDiagrams)是显示一组用例、参与者,以及它们之间关系的图。用于描述系统的功能集。用例图是其它模型的核心和基础。但是,用例图只能静态地描述系统功能,为了描述系统的行为,可以使用活动图、顺序图等。,27,用例图,28,用例图(UseCaseDiagrams)是显示一组用例、参与者,以及它们之间关系的图。用例图用来描述用户的功能需求。用例图一般由参与者和用例构成。,用例图的图形符号,29,用例,用例(UseCase)是对系统的用户需求(主要是功能需求)的描述。用例也称案例,用况等。(1)用例是指一个或多个参与者为达到某个目的与要设计的系统进行的典型交互作用。(2)用例表达了系统的功能,即系统提供的服务。,30,订货系统用例图,31,参与者,参与者(Actor)是指处于系统边界之外的,与系统发生交互作用的外部用户、设备或其他系统。在系统的实际运作中,一个实际用户可能对应系统的多个参与者。不同的用户也可以只对应于一个参与者,从而代表同一参与者的不同实例。在处理参与者时,重要的是角色,而不是人的职务等属性。,32,关系,用例除了与参与者有联系以外,用例之间还存在着一定的关系。参与者之间还存有关系。关系类型包括:关联关系包含关系扩展关系泛化关系,33,关联关系,关联关系用于描述参与者与用例之间的关系。在UML中用实线表示。例如,客户启动系统的取钱功能,表示客户启动与用例的关联。关系方向显示是谁启动了通信。建立通信之后,信息是可以双向流动的。,34,泛化关系,泛化关系(GeneralizationAssociation)是表示一般与特殊的关系。用于共享用例的共同功能行为。用例可以继承父用例的含义和行为,也可以对父用例的行为进行增加和修改。子用例可以出现在父用例出现的任何位置。泛化关系用泛化箭线(带空心三角箭头的实线)表示,从子用例发出,指向父用例。如果需要可以在箭线上标出联系的名称。,35,泛化关系,36,包含关系,包含关系(IncludeAssociation)是指一个基本用例的行为包含了另一个用例的行为。使用时,常常是把公共的行为放到被包含的用例中,被包含的用例通常作为某些包含它的更大的基本用例的一部分。在图形上,用一条从基本用例指向被包含的用例的虚箭线表示,并在箭线上标有构造型。,37,包含关系,38,用例之间的关系,39,扩展关系,扩展关系(ExtendAssociation)表明扩展用例的行为相对于基本用例是在一个给定延伸点上的延伸关系。扩展关系允许一个用例扩展另一个用例所提供的功能。在图形上,扩展关系用一条从扩展用例指向基本用例的虚箭线表示,并在箭线上标有构造型。,40,41,42,43,44,45,用例图的关系,46,关系判断准则,当处理一般行为的某种变化时,采用泛化关系。当处理一般行为的某种异常情况,且希望通过基本用例中的扩展点来加强控制时,则应采用扩展关系。当为了避免在两个或多个用例中出现重复描述时,则采用包含关系。,47,用例的级别,(1)概要级或称系统级用例:可以作为概要来描述更低级别的用例。比如“客户管理”。(2)用户目标级用例:参与者为完成某种工作而具有的目标,通常由某个人在某个地点和某个时间内完成。比如“添加客户”。(3)子功能级用例:执行用户目标级用例时要完成的功能,通常是具体的操作,我们通常不会直接使用,而是通过用户目标级用例间接调用。比如“客户验证”。,48,用例图的层次,49,学校教学管理系统高层用例图,50,学校教学管理系统细化的用例图,51,绘制用例图的步骤,(1)找出系统的参与者,确定系统的边界和范围。(2)确定每一个用户所期望的系统行为。(3)把这些用户所期望的系统行为命名为用例。(4)把一些公共的系统行为单独分解为一些用例,供其他的用例引用。把一些变更的行为分解为扩展用例。(5)绘制出用例图。,52,用例识别,(1)识别用例的一个重要来源是首先需要找出各种可能的参与者,开列出他们的名单,然后通过对这些参与者的调查,为他们描绘出各自要求的用例。(2)识别用例的另一个重要来源是外部事件。考察所有来自外部世界且需要作出反应的事件。一个给定事件可能会引起一个与参与者无关的系统反应,或者一个主要来自参与者的反应。,53,订货系统用例图,54,用例描述,用例描述是对系统响应参与者操作所进行的内部操作顺序的详细描述。事件(Event)是对一个在时间和空间上占有一定位置的有意义的事情的规格说明。对于每个用例,都可以用事件流来规定用例的行为。用例的事件流是对完成用例行为所需的事件的描述。,55,用例描述,在描述事件流时,应该包括下列内容:用例什么时候开始,怎样开始。用例什么时候结束,怎样结束。用例和参与者之间有什么样的交互作用。用例需要什么数据。用例的基本事件流的描述。用例的分支事件流的描述。替代的事件流的描述。,56,用例描述模板,进行用例描述,应使用一个标准模板。X用例XX(用例名)的事件流X1前置条件(PreConditions)X2后置条件(Post-Conditions)X3扩充点(ExtensionPoints)X4事件流X4.1基流(BasicFlow)X4.2分支流(Subflows)(可选)X4.3替代流(AlternativeFlows),57,用例的活动图描述,58,UML模型,用例图类图与对象图状态图活动图交互图顺序图,协作图(包图)构件图配置图,59,类,类(Class)是面向对象模型的最基本的模型元素。一个类描述了此类对象的属性和操作,任何对象都是某个类的实例。,60,类图,类图是静态结构模型。表达一组类和它们的联系。类图一方面描述各个类本身的组成,即类的属性、操作和对对象的约束;另一方面描述系统中类之间的各种静态的联系。,61,类图,62,类的表示,在类图中,类的图标(Icon)用实线矩形框表示,矩形框中含有若干分隔框,主要包含类的名称、属性、操作等。,63,属性,类的属性(Attribute)是描述对象静态特征的一个数据项,属性有在本类中唯一的属性名或标识符,属性名以小写开头。,64,属性可视性属性名多重性:类型初始值,例如:“2,5”表示2或者5姓名0.1:string年龄:integer=18,可视性,可视性(Visibility)用以下可视性标记表示:+public#protected-private,65,操作,操作(Operation)是类的行为特征或动态特征。,操作可视性操作名(参数列表):返回值性质,66,银行注册对话类中的操作,67,类图的特殊表示,类隐藏属性、隐藏操作,68,69,类图的特殊表示,类之间的联系,关联聚集组合泛化依赖,70,类之间的联系,关联聚集组合泛化依赖,71,类的关联,关联(Association)是类之间的一种连接关系。在类图上,关联用一条把类连接在一起的实线表示。关联线旁可以标出关联的名称,以表明关联的真实含意。关联可以是单向的或双向的,如果该关联是双向的,就不必标出方向箭头。关联两头的类都以某种角色参与关联。角色表示被关联的类各自在关联中的特定作用。类的角色名在关联的类图标旁标出。如果在关联上没有标出角色的名称,则隐含地用该角色的目标类的名称作为它的名称。,72,73,雇员与公司之间的关联,74,关系多重性,角色具有多重性,就是说关联中的一个角色可以由多个对象来扮演。其表示方法与类属性的多值性描述方法相同。,75,限定符,限定符(Qualifier)包含在紧靠源类图标处一个小矩形框内。限定符有名称或标识,代表被关联的对象的一个属性或多个属性的列表。限定符的名称可以缺省。带有限定符的关联称为限定关联。限定符的值确定如何划分和标识该关联的目标类的对象。,76,关联类,如果一个关联既是类又是关联,即它是一个关联类。关联类的图标是用一条虚线连接到关联线上。,77,关联类,78,类之间的联系,关联聚集组合泛化依赖,79,聚集(聚合),聚集(Aggregation)表示部分与整体关系的关联。聚集关联用端点带有空菱形的连线表示,空菱形与代表整体的聚集类相连接。连线的另一端连接代表部分事物的类。,80,81,类之间的联系,关联聚集组合泛化依赖,82,组合(组成),组合(Composition)表示更强形式的部分与整体关系。它用一个实菱形附在组合端表示。在组合关系中,整体与部分之间有很强的所有关系和一致的生命周期。,83,泛化,泛化(Generalization)关系是类的一般描述和具体描述之间的关系,具体描述建立在一般描述的基础之上,并对其进行了扩展。表示一般性实体的类称为父类,表示特殊性实体的类称为子类。,84,父类与子类的关系,子类与父类完全一致,父类所具有的的特性,子类也都具有;子类同时可以有自己的特性;泛化用一条带空心三角箭头的实箭线表示,箭线尾端连接子类,箭头指向父类。,85,单继承,多态,多重继承,86,泛化,87,依赖,依赖(Dependency)是指一个类引用另一个类。依赖用一个从客户指向提供者的虚箭头表示。位于虚箭头尾端的类依赖于箭头所指向的类,依赖关系只能是单向的。,88,特殊的类接口,接口(Interface)是一个类或构件提供给另一个类或构件的一组操作。接口可以看作为一种特殊的抽象类,它不含属性。接口用一个圆圈表示,圆旁附有接口的名称,称为棒糖式接口。,89,接口也可以用一个类图标表示,在接口图标的名称分隔框中有构造型和唯一的接口名。接口图标中的属性分隔框无内容,在操作分隔框中列出抽象的公共操作。可以带有或不带有参数说明。,90,实现关系,实现(Implementation)关系表示类和接口之间的关系,其中接口只是行为的说明而不是实现。实现关系可以用一条带封闭空箭头的虚线指向用类图标表示的接口上来表示。,91,对象图对象,对象(Object)是类的实例(Instance),用于模型化特定的实体。对象的表示方法与类的表示方法类似。不同之处是给出具体的对象名,属性给出当前值,类名与对象名之间用冒号分隔,类名与对象名下面加上下划线。,92,93,对象图对象,对象(Object)是类的实例(Instance),用于模型化特定的实体。对象的表示方法与类的表示方法类似。不同之处是给出具体的对象名,属性给出当前值,类名与对象名之间用冒号分隔,类名与对象名下面加上下划线。,对象图,对象图(ObjectDiagram)显示了在某一时刻上一组对象以及它们之间的关系。对象图实质上是类图的实例。,94,类图与对象图,95,图书馆系统类图,96,图书馆系统类图,97,图书馆系统类图,98,图书馆系统类图,99,UML模型,用例图类图与对象图状态图活动图交互图顺序图,协作图(包图)构件图配置图,100,状态图,状态图(StateDiagram)用于描述一个特定对象的所有可能状态,以及由于某些事件的发生,对象所经历的状态序列及对那些事件的反应。,101,客户订单类的状态图,102,状态图,103,状态机,状态机(StateMachine)规定了对象在它的生命周期内响应事件所经历的状态序列以及它们对这些事件的响应。当对象探测到一个事件后,它依照当前的状态做出反应,反应包括执行动作和转移到新状态。状态机由状态、转移、事件、活动和动作等组成。状态机由状态图表示。,104,状态图组成元素,1.事件(Event)指在状态间引起转移的事情。2.转移(Transition)指两个状态之间的关系,它指明在第一种状态下,某个对象执行某个动作,如果特定的事件发生或特定的条件被满足,则对象进入第二种状态。3.活动(Activity)指在状态机中进行的一个非原子的执行,它由一系列的动作组成。4.动作(Action)是引起模型状态改变或值的返回的可执行的原子计算。动作是原子性的,不能被事件中断,将一直运行到完成。,105,状态图,状态图由表示状态的圆角矩形框和表示状态之间转移的弧组成。状态的转移由事件触发。,106,状态图的组成,107,状态图状态,108,入口和出口动作表示进入和退出某个状态所执行的动作。如果有多个执行动作,用逗号分隔。内部转移描述的是一个事件触发了对象的某个响应,但并不改变对象的状态。内部转移的语法是:事件/动作表达式。,状态举例,109,状态图状态初态与终态,110,状态图活动,状态图中还用do转移来描述在入口动作之后,执行的内部的一个动作序列。活动是在一个状态内执行的处理过程。,111,状态图转移,转移(Transition)是两个状态之间的关系。转移用实箭线表示,从源状态连接到目标状态。在箭线上可以标示与该转移有关的选项:事件、监护条件和动作。,112,状态图转移同步,同步可视化地定义了并发工作流的分叉(Fork)与汇合(Join)。同步在状态图中用一条粗短实线表示,称为同步条。在分叉与汇合之间的工作流是并行执行的。,113,分叉:一个源状态分为两个以上的目标状态。表示:汇合:两个以上的源状态连接为一个目标状态。表示:,状态图,114,学生注册,115,状态图调用事件,调用事件表示的一个对象对另一个对象操作的调度的请求。调用事件的格式为:事件名(参数列表)参数的格式为:参数名:类型表达式,116,状态图变化事件,变化事件表示布尔表达式中变量的变化导致的条件满足格式:when(布尔表达式),117,状态图时间事件,时间事件表示满足某一时间表达式的情况的出现。格式:after(事件表达式),118,书的状态图,119,帐户状态图,120,状态图的创建步骤,建立状态图可以参照下列步骤:确定状态机的上下文。确定初始状态和终结状态。从对象的各种状态找出对问题有意义的对象的状态。确定状态可能转移到哪些状态。把必要的动作加到状态或转移上。简化复杂的状态机。分析状态的并发和同步情况。绘制状态图。,121,UML模型,用例图类图与对象图状态图活动图交互图顺序图,协作图(包图)构件图配置图,122,活动图,活动图对逻辑进行建模,活动图可以模拟任何层次上的逻辑。从用例到算法。活动图用于对一个系统的动态方面建模。,123,戏院演出剧目的活动图,124,活动图,1.活动活动图中的活动用带有圆形边线的矩形表示,它含有活动的描述。当活动比较复杂时,用动作做更详细的描述。动作不能被分解。动作是原子的,也就是说事件可以发生,但动作的工作不能被中断。Entry:进入活动时发生的动作Exit:离开活动时发生的动作Do:活动进行时发生的动作3.转移当一个活动结束时,控制流立刻会传递并开始下一个活动。通常用转移说明这个流,显示从一个活动到下一个活动的路径。活动图中的转移用一条箭头表示。4.对象(泳道)泳道(Swimlance)把活动图中的活动划分为若干组,每组是一个泳道,将对象名置于泳道顶部,表示泳道中的活动由该对象负责,泳道关心的是对象的职责。活动图中的泳道用垂直实线划出,垂直线分隔的区域就是泳道。,125,活动图转移分叉与汇合,126,活动图转移分支与合并,127,活动图泳道,128,活动图,129,活动图,130,借阅者的活动图,131,图书管理员活动图,132,系统管理员维护借阅者帐户活动图,133,系统管理员维护书目信息活动图,134,系统管理员维护书籍信息活动图,135,活动图的创建步骤,一般地,建立活动图可以采取以下步骤:确定是为为业务过程建模建立活动图,还是计算过程建立活动图.找出进行活动的业务对象。为每一个重要的业务对象建立一条泳道。确定活动图的初始状态和终结状态,明确边界。从初始状态开始,找出随时间而发生的活动和动作,用模型元素表示。在活动图中绘出重要对象,并用虚线箭头把它们与活动状态或动作状态相连接。,136,活动图与程序流程图区别,传统的程序流程图的主要控制结构是顺序、分支和循环,各个处理之间有严格的顺序和时间关系;而活动图中没有通常的循环控制结构;活动图能够表示并发活动的情形,流程图不能表示并发过程;活动图是面向对象的,流程图则是面向过程的。,137,活动图的用途,活动图主要用于对系统的业务过程建模。,138,活动图的用途,也可以对具体的操作建模,用于描述计算过程的细节。,139,活动图描述计算过程,140,UML模型,用例图类图与对象图状态图活动图交互图顺序图,协作图(包图)构件图配置图,141,交互图,交互图(InteractionDiagram)描述系统中对象之间的交互,由对象与对象之间的关系组成,包含它们之间可能传递的消息。交互图被用于为系统的动态方面建模。交互图包括顺序图(SequenceDiagram)和协作图(CollaborationDiagram)两种类型,包含了共同的模型元素:对象、消息,以及链接等。,142,顺序图与协作图,143,顺序图,顺序图是一种交互图。表示了对象之间传送消息的时间顺序。顺序图由对象、生命线、激活和消息等图形元素组成。生命线和激活用于表现交互与消息的时间范围。,144,顺序图,145,顺序图对象,在顺序图中,对象用矩形框图标表示,它们代表参与交互的对象。在表示对象的矩形框中置有对象的名称,它可以后跟冒号“:”与类名。,146,顺序图生命线,生命线(Lifeline)表示对象存在的时间,在顺序图中生命箭线表示为从对象图标向下延伸的一条虚线。生命线从对象创建时开始到对象销毁时终止,对象存在的时间有多长,表示对象的生命线的虚线就有多长。,147,顺序图激活,激活(Activation)又称为控制焦点(Focusofcontrol),表示对象执行一个动作的持续时间,也即对象激活的时间段。在顺序图中,激活由位于生命线上的一个窄矩形条表示。激活期窄矩形条的上端与动作的开始时间齐平,下端与动作的完成时间齐平。,148,顺序图消息,消息(Message)表示对象间的通信。对象之间的交互通过互发消息来实现。消息一旦发送便使得控制从源对象转移到目标对象。,149,顺序图中的消息图形,在图形上,消息箭线用对象之间的一条带箭头的实线表示。消息箭线从源对象指向目标对象,其上标有消息内容标签。一个对象可以给自己发消息,在这种情况下,消息箭线是从对象符号指向对象本身。,151,简单消息,简单消息(SimpleMessage):表示普通的控制流,它仅表示控制是如何从一个对象传给另一个对象,并不描述通信的任何细节。,152,同步消息,典型情况下同步消息表示操作的调用。调用者发出消息后必须等待消息返回,只有当处理消息的操作执行完毕后,调用者才可以继续执行自己的操作。,153,异步消息,异步消息表示异步控制流,发送者发出消息后不用等待消息处理完即可继续执行自己的操作。,154,返回消息,返回消息表示从过程调用返回。,155,顺序图,156,顺序图交互之前创建对象,157,顺序图交互过程中创建对象,158,顺序图撤销对象,159,系统管理员添加书籍,160,图书管理员处理书籍借阅,系统管理员删除书目,162,借阅者预定书籍,163,顺序图的创建步骤,建立顺序图一般可按下列步骤进行。确定交互的上下文。顺序图y轴显示时间,X轴显示对象。每一个对象均应绘制一条垂直向下的生命线。从初始化交互开始,自顶向下在对象的生命线之间安置消息。在生命线上绘出对象的激活期,164,协作图,协作图用于描述系统的行为是如何由系统的成分合作实现的。协作图是协作的图形表示法。顺序图和协作图都描述交互,但顺序图强调时间,而协作图强调空间。,165,协作图协作,协作(Collaboration)是一组类、接口、和其它元素的群体,系统的行为往往是由它们合作实现的,它们共同工作,提供比各组成部分的功能总和更强的合作行为。,166,协作图的组成,一个协作图由对象、消息和链接等图形元素构成。但是:(1)不能表示对象的创建和撤销;(2)消息需要添加顺序号,用于表示消息的时间顺序和嵌套关系;协作图中消息用置于链接线旁的一条箭线表示,其上有消息内容标签。,167,旅游者修改路线机票协作图,168,买车协作图,169,系统管理员添加书籍协作图,170,图书管理员处理借书协作图,171,借阅者预订书籍协作图,172,协作图的建立步骤,绘制协作图一般可按下列步骤进行:确定对象交互的上下文。找出参与交互的对象,把它们作为节点安置在协作图中时。标明对象之间的链接。标明对象之间传递的消息。,173,协作图与顺序图的相同点,(1)规定责任:都直观地规定了发送对象和接收对象的责任,消息描述成为接收对象的操作特征标记,由发送对象触发该操作;(2)支持消息:都直持所有的消息类型;(3)衡量工具:通过查看两对象间的消息数量及类型,可以衡量两者耦合性,从而调整后增强系统的设计性能;,174,协作图与顺序图的不同点,(1)协作图强调空间,描述了对象之间的关系,有助于发现或添加类之间的关联关系,但时间顺序必须从顺序号获得,并且不能表达对象的创建和撤销情况;(2)顺序图强调时间顺序,但没有明确表达对象之间的关系,不能把链表现出来。,175,UML模型,用例图类图与对象图状态图活动图交互图顺序图,协作图(包图)构件图配置图,176,包图包,包(Package)是用于把模型元素组织成组的通用机制。一个包可以拥有一个或多个模型元素,包括类、接口、构件、节点、用例、包等。包可以拥有其他的包,根包可以拥有子包,子包又可以拥有自己的子包,这样可以构成一个系统的嵌套结构,以表达系统模型元素的静态结构关系。但是,建立模型时包的嵌套不宜过深,包的嵌套层数一般以2-3层为宜。,177,包的表示,包的图标是一个大矩形(内容框)的左上角带一个小矩形(名称框)。,178,179,每个包都必需有一个与其他包相区别的名称。包的名称可以用一个简单名(文字串)表示,或用路径名表示。同一包内的模型元素不能同名,包图可视性标记,可视性标记表示包内模型元素的可见性:(1)公有:标有“”的模型元素表示对于输入(import)该包的任何包的该元素是可视的;(2)保护:标有“”的模型元素表示该元素只能对其子包的元素是可视的。(3)私有:标有“”的模型元素表示该元素对于外包是不可视的。,180,包间关系依赖,两个包之间存在着依赖通常是指这两个包所含的模型元素之间存在着一个或多个依赖。包的依赖关系同样是用一条虚箭线表示,虚箭线从依赖包指向独立包。,181,包间关系泛化,包间的泛化关系与类间的泛化关系十分相似,类间的泛化的概念和表示法在包间大多可以使用。与类的继承相同,特殊包从一般包继承其所含的公共类。特殊包可以代替一般包,用在一般包使用的任何地方。,182,包图的建立,按功能组合包建立包图的步骤:(1)分析系统模型元素(通常是类),以确定将被组织进一个包中的模型元素。通常把概念上相近的模型元素组织进一个包。一个包应当具有高内聚性(2)每一个包均要标出其模型元素的可视性。(3)确定包间的依赖关系,特别是输入依赖。(4)绘制包图。,183,如果开发的是一个大型的复杂的系统,常需要使用包图,把系统设计模型中的大量的模型元素组织成包和子系统(子系统是特殊的包),给出它们之间的关系,以方便理解和处理整个模型。有些专家建议,如果一个类图在一张A4尺寸的纸张上画不下,就可以采用包图。,图书馆管理系统包图,184,UML模型,用例图类图与对象图状态图活动图交互图顺序图,协作图(包图)构件图配置图,185,构件,构件(Component)又称组件,是遵从一组接口并提供其实现的物理的、可替换的部分(软件单元)。构件将驻留在一台或几台计算机上。构件就是一个实际文件,可以是源代码文件、数据文件、动态链接库、可执行文件、数据库表等。,186,构件图,构件图显示一组构件以及它们之间的关系。构件图由构件、接口和构件之间的关系构成。构件的构造型:executable:可以在系统的节点上执行library:对象库table:数据表file:文档(源代码或数据)document:文档(说明),187,构件图构件,构件的图标是一个大矩形的左边嵌2个小矩形。构件必须有名称。,188,构件图关系,构件之间可以有依赖关系。构件之间的依赖是指,一个构件的模型元素使用另一个构件的模型元素。构件图就是用依赖关系把构件连接起来的图。,189,构件图接口,构件也可以通过接口实现依赖关系,通过使用从构件到其他构件上的接口的虚线箭头,可以在图中显示这些接口和构件间的调用依赖。,190,(1)输出接口:构件实现的接口,即该构件向其它构件提供服务的接口。一个构件可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业园区的资源分配与管理
- 工业废水处理技术与环境治理研究
- 工业安全生产管理与预防策略
- 工业废水处理技术的研究与应用
- 工业自动化中新材料技术的趋势分析
- 工业污染防治与环保设备应用
- 工业物联网的远程监控与维护系统设计
- 工业机械自动化系统的可靠性保障
- 工业设计中的智能产品解决方案
- 工作与休息的平衡对残疾人群的特别意义
- 商家拒绝调解协议书
- 秒懂艺术那些事智慧树知到期末考试答案章节答案2024年商丘师范学院
- DZ∕T 0214-2020 矿产地质勘查规范 铜、铅、锌、银、镍、钼(正式版)
- 校车安全行车记录表
- QCSG1204009-2015电力监控系统安全防护技术规范
- 《水电工程水土保持生态修复技术规范》
- 出租车安全教育
- 2024年江西南昌轨道交通集团有限公司招聘笔试参考题库含答案解析
- 胎盘讲解课件
- 2024年山东烟台财金集团招聘笔试参考题库含答案解析
- 中建公路工程10T龙门吊安拆方案
评论
0/150
提交评论