您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 项目2动态图(PPT59页)
项目2统一建模语言(UML)用工程化的方法来开发软件任务5动态建模机制2本讲内容5.1顺序图5.2协作图5.3状态图5.4活动图图用例图(usecasediagram)类图(classdiagram)对象图(objectdiagram)构件图(componentdiagram)部署图(deploymentdiagram)顺序图(sequencediagram)协作图(collaborationdiagram)活动图(activitydiagram)状态图(statechartdiagram)动态图静态图交互图Interactiondiagram,是描述对象之间的关系和对象之间的信息传递的图;通常用来描述一个用例的行为,实现一个用例,完成对系统的动态行为建模;包含两种:–顺序图(或时序图,sequencediagram)–协作图(collaborationdiagram)交互图顺序图–面向时间描述对象交互的图协作图–对象间消息的结构化视图5.1顺序图按照时间顺序显式对象之间交互的图5.1.1顺序图的组成活动者(actor)或者对象(object)生命线(lifeline)激活(activation)/控制焦点(focusofcontrol)消息(message)5.1.2活动者或对象活动者和对象按照从左到右的顺序排列一般最多两个活动者,他们分列两端。启动这个用例的活动者往往排在最左边;接收消息的活动者则排在最右端;对象从左到右按照重要性排列或按照消息先后顺序排列。5.1.2活动者或对象对象的命名方式有三种:–包括对象名和类名–类名(匿名对象)–对象名(不关心类)5.1.3生命线生命线(Lifeline):–每个对象都有自己的生命线,用来表示在该用例中一个对象在一段时间内的存在–垂直的虚线–如果对象生命期结束,则用注销符号表示5.1.4激活期激活期(activation)/控制焦点(focusofcontrol)–对象在一段时间内获得了焦点,也称激活期–对象执行某个动作的时期–空心矩形条–激活期的长短意味着对象执行某个动作的时间有多长5.1.5消息面向对象方法中,消息是对象间交互信息的主要方式。顺序图中,尽力保持消息的顺序是从左到右排列的。对象A向对象B发送消息,可以简单地理解为对象A调用对象B的一个操作(operation)。5.1.5消息一个顺序图的消息流开始于左上方,消息2的位置比消息1低,这意味着消息2的顺序比消息1要迟。因为西方的阅读习惯是从左到右。顺序图中消息编号可显示,也可不显示。协作图中必须显示。5.1.5消息UML三种消息:–调用(ProcedureCall)–异步(Asynchronous)–返回(Return)5.1.5消息UML三种消息:–调用(ProcedureCall)发送者把消息发送后,等待直到接收者返回控制,可以表示同步;实心箭头符号5.1.5消息UML三种消息:–异步(Asynchronous)消息发送后,发送者继续操作,不等待,常用于并发;5.1.5消息UML三种消息:–返回(Return)表示消息的返回。5.1.5消息自调用(SelfCall)–某对象自己调用自己的操作–UML标记(嵌套的矩形条)5.1.6案例:存款分析级别的顺序图,粗略,双斜杠忽略消息同步异步类别也无妨5.1.7练习用户打印文件,计算机向打印服务器发送打印命令,打印机如果空闲,则直接打印,否则把打印文件存储在打印队列中。5.2协作图描述系统对象(或活动者)如何共同协作实现用例;强调的是参与交互的对象的组织;一般,顺序图和交互图可以相互转换先画顺序图,再转成协作图更容易5.2.1多对象多对象是多个对象组成的集合,往往是同一个类的对象;如果消息同时发给多个对象,则用多对象表示;在顺序图中仍然显示为单对象一样的图标,协作图中重叠的方框。5.2.2案例:存款265.3状态图1概述状态机–用于描述对象在其生存期间的动态行为,表现对象响应事件所经历的状态序列以及伴随的动作。状态图–用来显示状态机的图,一个状态机可以用多张状态图描述。状态图与交互图的区别–交互图不显示对象所有可能的动态行为,只显示特定交互场景(一个具体的用例)中对象的行为。–状态图可以显示对象所有的动态行为。笔完整折断两种状态,是由谁折断?只能由交互图看出状态图与活动图的区别–状态图只建模一个对象的行为,活动图可以建模多个对象的活动–活动图中也允许建模特定活动中对象的某个状态2基本组成状态state转换/迁移transition事件event事件发生,执行某动作后,状态1转换为状态22.1状态什么是状态(state)–状态是指在对象的生命周期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况。万事俱备,只欠东风学生正在上课网络购物,订单等待处理–理解对象在任何时候都会处于某种状态中,所有对象都有状态对象所处的状态决定了它如何响应所检测到的事件或所接收的消息。清醒-(被批评)-生气醉酒-(被批评)-无反应通常,事件使对象从一个状态转向另一个状态(即状态的转换)CDPlayer需要stop状态吗?2.1状态几种类型–初态–终态–中间状态1.初态和终态初态startstate–显示状态图中状态机执行(execution)的开始–一个状态机只能有一个初态终态endstate–表示最后的或者终端状态;–终态数目可以不确定,也可以没有。2.中间状态中间状态(除初态终态外,最常见的状态)Lightingentry/turnOndo/blinkFivetimeseventpoweroff/powerSupplySelfexit/turnOffeventselfTest/defer名字域转换域,可选当转入该状态时,做开灯动作当转出该状态时,做关灯动作当处于该状态时,灯闪烁5次当电源关闭事件发生时,用自备电源当selfTest事件发生时,对象将延迟响应,到别的状态中再处理,用defer这个特定动作表示延迟3.组合/嵌套状态子状态(substate)–嵌套在另外一个状态中的状态–空调:停止、运行状态,运行状态中可嵌套制冷、制热、除湿等子状态含有子状态的状态被称为组合或嵌套状态2.2转换Transition–转换是两个状态间的一种关系,表示对象将在当前状态中执行动作,并在某个特定事件发生或某个特定的条件满足时进入后继状态。–每个转换只允许有一个事件触发,一个事件只允许有一个动作转换的五要素(注意格式)–源状态–目标状态–触发事件如果箭头上不带任何事件名,表示是一个自动转换,当与源状态相关的活动完成时就会自动触发。–监护条件–动作2.3事件Event–是对一个时间和空间上占有一定位置的有意义的事情的规格说明。–事件触发状态的转换四类主要事件–信号事件–调用事件–变化事件–时间事件3状态图订单处理系统3状态图练习电水壶:on和off两个状态,初态off,烧坏则转换到终态。trunOn事件发生时,判断水壶是否有水,若没有水,则仍处于off状态,若有水,则turnOn事件引起烧水活动,使状态从off转入on,水开,则从on转入off状态练习进程–就绪运行阻塞三个状态–初态就绪;程序运行结束后终态–就绪状态获得CPU时间片转为运行态;运行态时间片用完转为就绪态;运行态不满足所需资源转为阻塞态,阻塞态若资源满足则回到就绪态5.4活动图1活动图ActivityDiagram–用于描述活动流程的图形称为活动图–和结构化方法中的工具-程序流程图-作用基本一致。–是一种特殊的状态图。与状态图的区别–活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程;–状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与。存款1.1基本概念活动转换分支分叉和汇合泳道对象流活动表示工作流过程中命令的执行或活动的进行。活动图符号活动图中也有初态和终态–初态表示一个工作流程的开始,用实心圆点来表示–终态表示了一个活动图的最后和终结状态,用实心圆点外加一个小圆圈来表示分支(Branch)–判断–分支在图形表示上用菱形表示示例:描述打电话活动中的并发事件分叉(fork)和汇合摘机拨号说听挂机分叉汇合53用活动图描述客户在商店中购买物品的过程。对象流(objectstream)–对象流是动作状态或活动状态与对象间的依赖关系。–在UML中,使用矩形表示对象,对象和动作之间使用带箭头的虚线连接,带箭头的虚线表示对象流。用活动图描述客户在商店中购买物品的过程。(使用对象流技术描述购物这个动态过程中系统内对象的状态变化)5758小结状态图显示了状态机。活动图和状态图是对一个对象的生命周期进行建模,是描述对象随时间变化的动态行为。活动图显示的是从活动到活动的控制流,状态图则显示的是从状态到状态的控制流。
本文标题:项目2动态图(PPT59页)
链接地址:https://www.777doc.com/doc-803229 .html