UML培训教材PPT课件.ppt_第1页
UML培训教材PPT课件.ppt_第2页
UML培训教材PPT课件.ppt_第3页
UML培训教材PPT课件.ppt_第4页
UML培训教材PPT课件.ppt_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

.,1,UML培训教材,Frank,.,2,UML概览,统一建模语言(UML:UnifiedModelingLanguage)是一种绘制软件蓝图的标准语言,可以用UML对软件密集型的制品进行可视化、详述、构造和文档化。UML由面向对象领域的三位大师GradyBooch、JimRumbaugh和IvarJacobson于1996年发布,已被OMG(对象管理集团)接纳为工业标准,目前的版本是V1.3。,.,3,UML概览(继续),UML仅仅是一种语言,独立于过程,适用于以用况为驱动,以体系结构为核心,迭代及增量的RUP(RationalUnifiedProcess)统一过程中。UML捕捉系统的静态结构和动态行为信息。,.,4,UML概念模型,一:事物(thing)二:关系(relation)三:图(diagram)四:扩展机制(extensibilitymechanism)其中,前三种称为UML的基本构造块。,.,5,UML的事物,事物是对模型中最具代表性的成分的抽象。1)结构事物(structuralthing):用例、类、主动类、接口、构件、节点、协作7种2)行为事物(behavioralthing):交互、状态机2种3)分组事物(groupingthing):包4)注释事物(annotationalthing):注解,.,6,UML的关系,关系把事物结合在一起1)依赖(dependency)2)关联(association)3)泛化(generalization)4)实现(realization),.,7,UML的图,图聚集了相关的事物1)类图(classdiagram)2)对象图(objectdiagram)3)构件图(componentdiagram)4)实施图(deploymentdiagram)5)用况图(usecasediagram)6)顺序图(sequencediagram)7)协作图(collaborationdiagram)8)状态图(statechartdiagram)9)活动图(activitydiagram),.,8,扩展机制:UML提供的用以增加新的构造块,创建新的特性以及详述新的语义的机制。1)构造型(stereotype)2)标记值(taggedvalue)3)约束(constraint),UML扩展机制,.,9,用例是对一组动作序列的描述,系统执行这些动作将产生一个对特定参与者有价值且可观察的结果。用况画成一个实线椭圆。从本质上讲,一个用例是用户与计算机之间的一次典型交互作用。用例描述系统要实现的行为,而不是说明这些行为如何实现。,结构事物之一:用例(UseCase),.,10,通过对用例的分析,可提取用户需求,并可以确定测试用例。用例与需求的区别:用例的本质是一次用户与计算机的交互活动,一个用例可分析出多个需求;而需求是一个系统必须完成的功能,需求可笼统地分为用户需求和实现需求。比如:EMS中建立Socket连接是一个实现上的需求,但不是一个用例。,结构事物之一:用例(续),.,11,结构事物之二:类(class),类是对一组具有相同属性、相同操作、相同关系和相同语义的对象的描述。一个类实现了一个或多个接口。类画成一个矩形。一个类有如下内容:1)属性(attribute):是已被命名的类的特性,描述了该特性的实例可以取值的范围。2)操作(oparation):一个服务的实现,该服务可以由类的任何对象请求以影响其行为。,.,12,3)属性与操作的可见性:(1)公有(public):一个给定的类元,任何带有可见性的外部类元都可以使用这个特性,用+做前缀表示。(2)受保护(protected):类元的任何子孙都可以使用这个特性,用#号做前缀表示。(3)私有(private):只有类元本身能够使用这个特性,用-号做前缀表示。,结构事物之二:类(继一),.,13,结构事物之二:类(继二),例如:一个人的名字谁都可以叫(name);但只有他的孩子可以继承他的模样(face_like);有多少钱只有他一个人知道(how_much_money)。,.,14,结构事物之三:主动类(activeclass),主动类的对象至少拥有一个进程或线程,它能够启动控制活动。主动类对象所描述的元素行为与其他元素行为并发,此外,主动类与类一样。主动类画成粗线外框的类。,.,15,在UML中,用接口对系统模块的接缝建模。接口描述了一个类或构件的一个服务的操作集,描述元素的外部可见行为,而不是操作的实现。接口通常依附与实现接口的类或构件。接口画成一个带有名称的圆。接口没有属性,名称前通常加前缀I。如下是一个打印服务提供的接口:提交打印工作。,结构事物之四:接口(interface),.,16,项目类型定结构事物之五:构件(component)义,构件是系统中物理的、可代替的部件,它遵循且提供一组接口的实现。构件画成一个带有2个小方块的矩形。,.,17,结构事物之六:节点(node),节点是在运行时存在的物理元素,表示了一种可计算的资源,通常拥有记忆和处理功能。节点画成一个立方体。处理器(processor)和设备(device)是节点的2种标准构造型。1)处理器:一个具有处理能力的节点,可执行构件。2)设备:没有处理能力的节点,如打印机、告警箱等。,.,18,结构事物之七:协作(collaboration),协作定义了一个交互,是由一组共同工作以提供某协作行为的角色和其他元素构成的一个群体。,.,19,行为事物之一:交互(interaction),交互由在特定语境中共同完成一定任务的一组对象之间交换的消息组成。交互画成一条有向直线。,.,20,行为事物之二:状态机(statemachine),状态机描述了一个对象或一个交互在生命期内响应事件所经历的状态序列。状态画成一个圆角矩形。,.,21,分组事物:包(package),包是把元素组织成组的机制,有多种用途。包画成一个左上角带有一个小矩形的大矩形。,.,22,注释事物:注解(note),注解是一个依附于一个或一组元素之上,对它进行约束或解释的简单符号。它通常描述象需求,观察资料,评论和解释之类的事物。注解画成一个右上角是折角的矩形。,.,23,关系之一:依赖,依赖是两个事物间的语义关系,其中一个事物发生变化会影响另一个事物的语义,但反之未必。依赖画成带有方向的虚线。,.,24,CMM流程,关系之二:关联,关联是一种结构关系,指明一个事物的对象与另一个事物的对象之间的联系。关联画成可能有方向的实线。,.,25,关系之二:关联(续一),关联的内容:1)角色:角色是关联中靠近它的一端的类对另一端的类呈现的职责。当一个类处于关联的某一端时,该类就在这个关系中扮演了一个特定的角色。2)多重性:在关联的另一端的类的每个对象要求在本端的类必须有多少个对象。,.,26,关系之二:关联(续二),例如下图:一个人对公司来讲的角色是employer,而公司对于人来讲的角色是employee;一个人只能就职于一家公司,但一家公司会有很多人。,.,27,关系之二:关联(续三),关联的类型以及生成C+代码样例:1)双向关联2)单向关联3)聚合4)组合,.,28,关系之二:关联(续四),双向关联:在类中各自生成对端类指针作为属性classClassAClassB*the_class_b;classClassBClassA*the_class_a;,.,29,关系之二:关联(续五),单向关联:在类中单向生成类指针作为属性classClassAClassB*the_class_b;classClassB;,.,30,关系之二:关联(续六),聚合是一种强关联,它描述了整体和部分之间的结构关系,画成一端为空心菱形的实线。聚合类包含另一个类的指针。classClassAClassB*the_class_b;classClassBClassA*the_class_a;,.,31,关系之二:关联(续七),组合是一种更强形式的关联,整体与部分之间具有强的拥有关系,整体与部分的生命周期是一致的。画成一端为实心菱形的实线。组合类包含另一个类实例。classClassAClassBthe_class_b;classClassBClassA*the_class_a;,.,32,关系之三:泛化,泛化是一种特殊/一般关系(父子关系),特殊元素对象可代替一般元素对象,子元素继承了父元素的结构和行为,泛化画成带有空心箭头的实线。泛化生成的代码为类的继承:classAnimalclassHuman:publicAnimal,.,33,关系之四:实现,类元之间的语义关系,其中一个类元指定了由另一个类元保证执行的契约。实现画成带空心箭头的虚线。实现用在:1)接口和实现它们的类或构件之间2)用况和实现它们的协作之间,.,34,关系之四:实现(续),接口和实现接口的类与构件:接口用一个圆圈表示,它通过实线(实现的简化形式)附在表示类的矩形上。,.,35,静态结构图之一:类图,显示一组类、接口、协作以及它们之间的关系。类图说明系统的静态设计视图,是UML的核心。内容:类、接口、协作、依赖、泛化和关联关系。,.,36,显示在某一时间点上一组对象以及它们之间的关系。用对象图说明在类图中所发现的事物实例的数据结构和静态快照。对象图从现实和原型方面来透视。,静态结构图之二:对象图,.,37,显示了一组构件以及它们之间的关系。内容:构件、接口、依赖、泛化、关联和实现关系。,静态结构图之三:构件图(ComponentView),.,38,显示了一组节点以及它们之间的关系。内容:节点、依赖和关联关系。,静态结构图之四:部署图(DeploymentView),.,39,描述了一组用例和参与者以及它们之间的关系,用例图组织系统的行为。通过定义系统必须为用户做的事情来界定系统的边界。用例图有如下内容:1)参与者(actor)2)用例之间的关系3)事件流,动态行为图之一:用例图(UseCaseDiagram),.,40,参与者是处于系统之外与系统进行相互作用的人或物,参与者定义系统外的一切,用例定义系统内的一切。典型的参与者有用户、系统的外部设备和系统、时间。参与者与用例之间只能是关联关系(单向或双向)。参与者实际上是构造型为actor的类,画成一个小人。,动态行为图之一:用例图(续一),.,41,动态行为图之一:用例图(续二),用例之间的关系:用例必须由参与者启动,一个用例不能启动另一个用例。用例之间有以下三种关系:1)泛化(generalization)2)包含(include)3)扩展(extend),.,42,用例之间的泛化象类之间的泛化一样,子用例继承父用例的行为和含义,子用例可以增加或覆盖父用例的行为,子用例可以出现在父用例出现的任何位置。,动态行为图之一:用例图(续三),.,43,动态行为图之一:用例图(续四),用例之间的包含关系表示基础用例在它内部说明的某一位置上显式的合并了另一个用例的行为。被包含的用例从不孤立存在,仅作为某些包含它的更大基础用例的一部分出现。包含关系表示为构造型为include的依赖关系。,.,44,动态行为图之一:用例图(续五),用例之间的延伸关系表示基础用例在由延伸用例间接说明的一个位置上,隐式的合并另一个用例的行为。延伸用例只是在某一条件下发生。基础用例可单独存在,延伸关系表示为构造型为extend的依赖关系。,.,45,用例表示一个系统做什么(what),而不是怎么做(how)。可以用足够清晰的、外部人员容易理解的文字描述一个事件流,来说明一个用例的行为。事件流应包含用例合适开始和结束,用例何时与参与者交互,以及该行为的主事件流和可选事件流。每一个事件流用一个顺序图来描述。,动态行为图之一:用例图(续六),.,46,强调消息的时间顺序的交互图1)对象:参与一个用况的类的实例2)对象生命线:是一条垂直的虚线,表示一个对象在一段时间内存在3)控制焦点:是一个瘦高的矩形,表示一个对象执行一个动作所经历的时间,矩形顶部表示动作的开始,底部表示动作的结束4)消息:两个对象之间的通讯,动态行为图之二:顺序图,.,47,(1)简单消息(simple):消息在单个控制线程中运行(2)同步消息(synchronous):发出消息后等待回应(3)阻止消息(balking):发出消息后如果不能立刻得到,则放弃(4)超时消息(timeout):发出消息后在规定时间内如果不能得到回应,则放弃(5)异步消息(asynchronous):发出消息后继续其他处理,动态行为图之二:顺序图(续一),.,48,一个增加设备的顺序图:,动态行为图之二:顺序图(续二),.,49,动态行为图之三:协作图,强调收发消息的对象的结构组织的交互图,按对象本身组织,显示数据流。顺序图与协作图在语义上是等价的,即为同构,可以从一种形式的图转换为另一种形式,而不丢失任何信息。,.,50,这是上一个增加拓扑设备的协作图:,动态行为图之三:协作图(续),.,51,显示了一个由状态、转换、事件和活动组成的状态机,强调从状态到状态的控制流。有如下内容:1)状态机(statemachine)2)状态(state)3)转换(transition)4)事件(event)5)活动(activity)6)动作(action),动态行为图之四:状态图,.,52,状态机是一个行为,说明对象在它的生命周期中响应事件所经历的状态序列以及它们对事件的响应。状态是指在对象的生命周期中的一个条件或状况,在此期间对象将满足某些条件,执行某些活动或等待某些事件。画成圆角矩形。,动态行为图之四:状态图(续一),.,53,与状态有关的内容:(1)进入/退出动作(entry/exitaction):进入和退出这个状态所执行的动作。(2)内部转换(internaltransition):不导致状态改变的转换,不执行状态的退出和进入动作。与自身转换不同,自身转换先执行状态的退出动作,接着执行自身转换动作,最后执行状态的进入动作。(3)子状态(substate):状态的嵌套结构,包括不相交的的顺序活动或并发子状态。,动态行为图之四:状态图(续二),.,54,有2种特殊状态:(1)初态:表示该状态机或子状态的缺省开始位置,画成一个实心圆。一个状态图只能有一个初态。(2)终态:表示该状态机或外围状态的执行已完成,画成含有一个实心圆的圆圈。一个状态图可以有0个或多个状态。,动态行为图之四:状态图(续三),.,55,转换:两个状态之间的关系,它指明对象在第一个状态中执行一定的动作,并当特定事件发生或特定条件满足时进入第二个状态。一个转换的组成:(1)源状态(2)事件触发(3)监护条件:控制过渡何时发生或不发生,放在事件后的方括号中(4)动作(5)目标状态,动态行为图之四:状态图(续四),.,56,事件:是对一个在时间和空间上占有一定位置的有意义的事情的规格说明。在状态机的语境中,一个事件是一次激发的产生,激发能够触发一个状态的转换。活动:是状态机中进行的非原子操作。动作:一个引起模型状态改变或值的返回的可执行的原子计算。,动态行为图之四:状态图(续五),.,57,类的状态转换图:,动态行为图之四:状态图(续六),.,58,动态行为图之五:活动图,活动图显示了系统中从活动到活动的顺序流或分支流,以及发生动作的对象或动作所施加的对象。如果删除并发性,活动图很象流程图。有如下内容:1)动作状态2)活动状态3)转换4)分支5)分叉和汇合6)泳道(swimlane),.,59,动态行为图之五:活动图(续一),动作状态:可执行的原子操作称为动作状态,代表一个动作的执行。该动作是不可分解的,执行动作的时间一般可以忽略。画成上下为水平线,左右为弧型的菱形。,.,60,动态行为图之五:活动图(续二),活动状态:能够进一步被分解,它们的活动由其他活动图表示。活动状态可以有附加部分,如进入和退出动作。动作状态和活动状态是状态机中状态的特殊种类。,.,61,动态行为图之五:活动图(续三),转换:当一个状态的动作或活动结束时,控制流会马上传递到下一个动作或活动状态。可以用转换说明这个流。分支:表示条件判断,用一个小菱形表示。,.,62,动态行为图之五:活动图(续四),分叉和汇合:用一个同步棒(一条粗的水平或垂直线)来说明并发控制流的分叉和汇合。汇合和分叉应该是平衡的,即离开一个分叉的流的数目应该和进入它的对应的汇合的流的数目相匹配。,.,63,动态行为图之五:活动图(续五),如下是一个包含各种内容的活动图:,.,64,动态行为图之五:活动图(续六),泳道:泳道将一个活动图中的活动内容分组,每一组表示负责那些活动的业务组织。泳道没有内在的语义,可以根据建模者的意愿使用。在业务建模中应用广泛。,.,65,动态行为图的使用,一个对象跨越多个用况的行为,用状态图表示;单个用况表示几个对象的行为,用交互图。交互图是对共同工作的对象群体的行为建模,而状态图是对一个单独的对象在它的生命周期中的行为建模,活动图是从活动到活动的控制流建模,状态图是从状态到状态的控

温馨提示

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

评论

0/150

提交评论