单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2019-7-19,谢谢观赏,*,UML,总结,第一节,UML,的构成,第二节,UML,的视图及,UML,图的类别,第三节 模型元素,第四节 通用机制,第五节,UML,的扩展组件和,UML,建模的简单流程,1,谢谢观赏,2019-7-19,UML总结第一节 UML的构成第二节 UML的视图及UM,UML,总结,第一节,UML,的构成,本节要求掌握,UML,的构成,1.UML,的构成,(,1,)视图:一个系统应从不同的角度进行描述,从一个角度观察到的系统称为一个视图(,view,)。,(,2,)图:一种形象化的表示符号,.UML,有,9,种基本图,采用符号化形式表示。,(,3,)模型元素:构成模型的基本单位。如类、对象、接口、消息、组件等。,(,4,)通用机制:为模型元素提供特别的注释、信息或语义。,UML,同时还提供扩展机制。,本章重点是:,UML,中的事物类别和关系、,UML,的通用机制,2,谢谢观赏,2019-7-19,UML总结第一节 UML的构成本章重点是:UML中的事物类,UML,总结,第二节,UML,的视图及,UML,图的类别,逻辑视图,组件视图,配置视图,并发视图,Use case,视图,从参与者(用户或另一个系统)的角度描述系统所需功能。用例视图是其他视图的核心,并直接影响着其他视图的建立。,组件是不同类型的代码模块。是构造应用的软件单元。组件视图描述系统的实现模块以及模块之间的依赖关系。其使用者主要是开发人员。,如何从系统的静态结构(类、对象以及他们之间的关系)和动态行为(对象之间的协作等),2,个角度实现系统功能。其使用者主要是设计人员和开发人员。,关注系统的并发性。主要考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理,线程之间的通信和同步。其使用者主要是开发人员和系统集成人员。,将软件系统的各个部分合理地配置到计算机及其他相关设备上。主要描述位于各个节点上的运行实例的部署情况。其使用者主要是开发人员、系统集成人员和测试人员。,3,谢谢观赏,2019-7-19,UML总结第二节 UML的视图及UML图的类别逻辑视图组件,UML,总结,用例图,(Use case diagram),从用户角度描述系统功能,并指出各功能的操作者。,静态图,(Static diagram),表示系统的静态结构。包括,类图、对象图、包图。,行为图,(Behavior diagram),,描述系统的动态模型和组成对象间的交互关系。包括,状态图、活动图,。,交互图,(Interactive diagram),描述对象间的交互关系。包括,顺序图、合作图,。,实现图,(Implementation diagram),用于描述系统的物理实现。包括,构件图、部件图,。,UML,语言定义了,5,种类型,,9,种不同的图,把它们有机的结合起来就可以描述系统的所有视图。,4,谢谢观赏,2019-7-19,UML总结用例图(Use case diagram)从用户,UML,总结,UML,的,9,种图,(,1,)用例图:,Use Case Diagram.,显示多个外部参与者以及他们与用例之间的连接。其用途是列出系统中的用例和参与者,并指出二者之间的对应关系。一个用例代表着系统的一个功能。,(,2,)类图:,Class Diagram.,类图以类为中心组织。,(,3,)对象图:,Object Diagram.,与类图类似。,(,4,)状态图:,State Diagram.,显示类的对象可能具备的所有状态以及引起状态改变的事件。,(,5,)顺序图:,Sequence Diagram.,显示对象之间发送的消息的时间顺序。,(,6,)协作图:,Collaboration Diagram.,显示消息的交换,对象以及他们之间的关系。,(,7,)活动图:,Activity Diagram.,描述执行算法的工作流程中涉及的活动。,(,8,)组件图:,Component Diagram.,用代码组件来显示代码物理结构,组件可以是源代码组件、二进制组件或一个可以执行的组件。组件图一般用于实际的编程工作中。,(,9,)部署图:,Deployment Diagram.,用于显示系统中的硬件和软件的物理结构。,5,谢谢观赏,2019-7-19,UML总结UML的9种图5谢谢观赏2019-7-19,UML,总结,UML,的,9,种图,(,1,)用例图,:,Use Case Diagram.,显示多个外部参与者以及他们与用例之间的连接。其用途是列出系统中的用例和参与者,并指出二者之间的对应关系。一个用例代表着系统的一个功能。,用户,插卡,输入密码,单个用例,-ATM,取款,自动售货机系统,购货,取货款,供货,顾客,供货人,收银员,自动售货机系统用例,6,谢谢观赏,2019-7-19,UML总结UML的9种图(1)用例图:Use Case Di,用例图,用例间的关系:将参与者与用例之间、用例与用例之间联系起来。,用例间的关系分为,关联关系、包含关系、扩展关系和泛化关系四种,关联关系:体现参与者与用例之间的通信(两者之间的对应)。两者之间存在着,1:1,、,1:m,、,m:1,或,m:n,共,4,类对应。在,UML,中,关联关系用带箭头的确实线表示。,银行一般客户用例图,7,谢谢观赏,2019-7-19,用例图用例间的关系:将参与者与用例之间、用例与用例之间联系起,用例图,包含关系:公共用例与其他用例之间的关系;复杂用例与其划分为简单用例之间的关系。,在,UML,中,包含关系表示为在虚线箭头加,include,表示。从客户用例指向提供者用例。,8,谢谢观赏,2019-7-19,用例图包含关系:公共用例与其他用例之间的关系;复杂用例与其划,用例图,扩展关系:将新的行为插入到已有用例中的方法。在,UML,中,扩展关系表示为虚线箭头加,extend,表示,箭头指向基础用例。在一般情况下,基础用例的执行不会涉及到扩展用例,只有特定的条件发生,扩展用例才被执行。,9,谢谢观赏,2019-7-19,用例图扩展关系:将新的行为插入到已有用例中的方法。在UML中,用例图,泛化关系:一个用例可以被特别列举为一个或多个子用例。当父用例能够被使用时,任何子用例也可以被使用。在,UML,中,泛化关系用一个三角箭头从子用例指向父用例。,10,谢谢观赏,2019-7-19,用例图泛化关系:一个用例可以被特别列举为一个或多个子用例。当,UML,总结,(,2,)类图,:,Class Diagram.,类图以类为中心组织,由系统中使用的类以及它们之间的关系组成,.,11,谢谢观赏,2019-7-19,UML总结(2)类图:Class Diagram.类图以类为,类图和对象图,1,依赖关系,在,UML,中,依赖用从客户指向提供者的虚箭头表示。,客户,提供者,依赖关系,依赖体现的意思是:提供者的变化会影响到客户的行为,.,Tv,color,Change(c:channel),turn on(),turn off(),channel,电视机类与其频道类之间的依赖关系,12,谢谢观赏,2019-7-19,类图和对象图1依赖关系 在UML中,依赖用从客户指向提供者,类图和对象图,2,泛化关系,泛化关系是一种存在于一般元素和特殊元素之间的分类关系。在,UML,中,泛化关系用一条从子类指向父类的空心三角箭头表示。泛化用途:支持多态;支持继承。,一般类,特殊,人员,教师,学生,电视,彩色电视,黑白电视,多态泛化,多重继承,(,泛化,),汽车,船,水陆两栖车,13,谢谢观赏,2019-7-19,类图和对象图2泛化关系 泛化关系是一种存在于,类图和对象图,3.,关联关系,关联是类之间的连结。,关联的修饰:名称、角色、多重性、聚合、组合和导航性。,(,1,)名称:动词或动词短语。表明源对象在目标对象上执行的动作。,用户,计算机,使用,关联的名称,(,2,)角色:关联关系中一个类对另一个类所表现出来的职责。角色名称是名词或名词短语。,学生,学校,+,学习者,+,教学者,关联的角色,14,谢谢观赏,2019-7-19,类图和对象图3.关联关系关联是类之间的连结。关联的修饰:名,第六章 类图和对象图,(,3,)多重性:有多少对象可以参与该关联。在,UML,中,用,.,分隔开的区间,格式为,minimum.maximum,、,、,1+,(,4,)聚合关系:表示整体与部分关系的关联。在,UML,中,聚合关系用一个带空心菱形头的实线表示。头部指向整体。,15,谢谢观赏,2019-7-19,第六章 类图和对象图(3)多重性:有多少对象可以参与该关联,第六章 类图和对象图,(,5,)组合关系:强聚合。在,UML,中,组合关系用一个带实心菱形头的实线表示。头部指向整体。,(,6,)导航性:导航性描述的是一个对象通过链进行导航访问另一个对象,在关联关系上加箭头表示导航方向。单向关联和双向关联。,整体与部分同时存在。,16,谢谢观赏,2019-7-19,第六章 类图和对象图(5)组合关系:强聚合。在UML中,组,(7),关联类,公司,人,雇佣,雇员,雇主,1,*,雇佣,雇佣期,合同约束,关联类,17,谢谢观赏,2019-7-19,(7)关联类 公司 人 雇佣雇员雇主1,(8),关联的种类,一元关联,二元关联,多元关联,学生,同舍,1,*,教师,管理,1,*,公司,人,雇佣,雇员,雇主,1,*,学生,教师,课程,学生,关联类,18,谢谢观赏,2019-7-19,(8)关联的种类 学生同舍1*教师管理1*公司,类图和对象图,4,实现关系,实现是规格说明和其实现之间的关系。泛化将同一语义层上的元素连接起来,并且通常在同一模型内。实现关系将不同语义层内的元素连接起来,通常建立在不同的模型内。,19,谢谢观赏,2019-7-19,类图和对象图4实现关系 实现是规格说明和其实现之间的,UML,总结,(,3,)对象图,:,Object Diagram.,与类图类似。,:,Button,:,Dialer,1:digit(n),1.1:displayDigit(n),:,screen,:,speaker,2.1connect(port),:,Radio,1.2:tone(n),3 inuse(info),打电话的对象图,20,谢谢观赏,2019-7-19,UML总结(3)对象图:Object Diagram.与类图,UML,总结,(,4,)状态图,:,State Diagram.,显示类的对象可能具备的所有状态以及引起状态改变的事件。,21,谢谢观赏,2019-7-19,UML总结(4)状态图:State Diagram.显示类的,状态图,状态的类型,初始状态,原子状态,(,简单状态,),结束状态,组合状态和子状态,子状态:被嵌套在另外一个状态中的状态。,组合状态:含有子状态的状态。组合状态也可以有初态和终态。,组合状态,子状态,22,谢谢观赏,2019-7-19,状态图状态的类型 组合状态和子状态组合状态子状态22谢谢,状态图,组合状态中的子状态分类,:,(1),顺序子状态,:,子状态之间具有互斥性,子状态不能同时存在,.,(2),并发子状态,:,指一个对象在同一时刻可以处在多种状态。,向前,向后,行驶,顺序子状态,运行,后退,前进,低速,高速,并发子状态,23,谢谢观赏,2019-7-19,状态图组合状态中的子状态分类:向前向后行驶顺序子状态运行后退,记录组合状态退出时所处的子状态,以便再次进入从这个状态开始工作。,状态图,历史状态,24,谢谢观赏,2019-7-19,状态图历史状态24谢谢观赏2019-7-19,状态图,25,谢谢观赏,2019-7-19,状态图25谢谢观赏2019-7-19,状态图,转移的类型,自转移,:,源状态和目标状态为同一状态的转移。,自转移,自动转移,:,一个 状态根据本状态的有关情况,自动触发进入目标状态,在转移上没有事件。,自动转