欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    活动图与状态图课件.ppt

    • 资源ID:1345123       资源大小:639.62KB        全文页数:80页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    活动图与状态图课件.ppt

    第10章 状态图与活动图,10.1 动态建模概述 10.2 状态图10.3 活动图10.4 活动图与状态图的比较,UML系统建模基础教程,第10章 状态图与活动图10.1 动态建模概述 UML系统,10.1 动态建模概述,1.状态图与活动图在系统建模中的位置在UML软件开发过程中,是通过建立业务用例模型对系统进行需求分析的,对于某些重要的用例采用活动图来配合描述用例具体实现的流程,在系统分析阶段也经常用活动图来进一步深入描述用例图的具体功能实现流程。在系统分析与系统设计阶段都涉及到对象类的动态建模。对象的动态模型是描述系统的动态行为的,分为状态模型和交互模型。在UML中,用状态图和活动图为状态模型建模,用顺序图和合作图为交互模型建模。,用例建模,对象类建模,对象交互模型:顺序图/协作图,对象状态模型:状态图/活动图,活动图,10章 状态图与活动图,10.1 动态建模概述1.状态图与活动图在系统建模中的位置,10.1 动态建模概述,1.状态图与活动图在系统建模中的位置在系统分析系统阶段用状态图和活动图为对象动态模型中的状态模型建模。在系统设计阶段阶段对已经建立的对象动态模型(状态图、活动图、顺序图和协作图)采用迭代式的方式进一步细化和完善。,用例建模,对象类建模,对象交互模型:顺序图/协作图,对象状态模型:状态图/活动图,活动图,10章 状态图与活动图,10.1 动态建模概述1.状态图与活动图在系统建模中的位置,10.1 动态建模概述,2.系统设计做什么?在UML 的面向对象开发过程,系统设计是在系统分析的基础上,对系统分析阶段建立的对象静态模型、对象的动态模型的进一步细化,是对这些模型的更加详细的设计、补充和完善。系统设计时,从类中导出对象,关注对象的关系、行为和对象间的通信是如何实现的。对每个类的属性和操作出更详细的设计,并设计相关联类间的消息规约。加入接口类对象,建立更完整的对象的静态、动态模型。系统设计包括系统对象设计、系统体系结构设计和系统设计的优化和审查。(需求分析的用例模型 反映系统能做什么?系统分析的对象类建模是关心系统对谁做的问题,而系统设计的动态建模是解决系统如何做的。),10章 状态图与活动图,10.1 动态建模概述2.系统设计做什么?10章 状态图,10.1 动态建模概述,3.顺序图做什么?顺序图(Sequence Diagram)描述了对象之间传送消息的时间顺序,它用来表示用例中的行为顺序,当执行一个用例行为时,顺序图中的每条消息对应了一个类操作中引起转换的触发事件。1)确认和丰富一个使用语境的逻辑表达。一个系统的使用情境就是系统潜在的使用方式的描述,也就是它的名称所要描述的。一个使用情境的逻辑可能是一个用例的一部分,或是一条控制流。2)细化用例的表达。我们前面已经提到,序列图的主要用途之一,就是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的序列图。3)有效地描述如何分配各个类的职责以及各类具有相应职责的原因。我们可以根据对象之间的交互关系来定义类的职责,各个类之间的交互关系构成一个特定的用例。,10章 状态图与活动图,10.1 动态建模概述3.顺序图做什么?10章 状态图与活,10.1 动态建模概述,4.协作图做什么?协作图(Collaboration Diagram)是顺序图之外的另一种表示交互的方法。主要描述协作对象间的交互和链接,强调的是对象结构相关的信息。顺序图和协作图都描述交互,但是顺序图强调的是时间,而协作图强调的是空间。1) 通过描绘对象之间消息的传递情况来反映具体的使用语境的逻辑表达。一个使用情境的逻辑可能是一个用例的一部分,或是一条控制流。这和序列图的作用类似。2 )显示对象及其交互关系的空间组织结构。协作图显示了在交互过程中各个对象之间的组织交互关系以及对象彼此之间的链接。与序列图不同,协作图显示的是对象之间的关系,并不侧重交互的顺序,它没有将时间作为一个单独的维度,而是使用序列号来确定消息及并发线程的顺序。3) 表现一个类操作的实现。协作图可以说明类操作中使用到的参数、局部变量以及返回值等。当使用协作图表现一个系统行为时,消息编号对应了程序中嵌套调用结构和信号传递过程。,10章 状态图与活动图,10.1 动态建模概述4.协作图做什么?10章 状态图与活,10.1 动态建模概述,5.状态图做什么?状态图(State Diagram)主要用来描述对象、子系统、系统的生命周期。通过状态图可以表现系统中一个对象所具有的各种状态和这个对象从一种状态到另一种状态的转换(迁移),以及影响对象这些状态的事件(如收到消息、时间已到、报错、条件为真)等。它主要描述某个对象从一个状态到另一个状态变化迁移的控制流。,10章 状态图与活动图,10.1 动态建模概述5.状态图做什么?10章 状态图与活动,10.1 动态建模概述,6.活动图做什么?活动图(Activity Diagram)主要用于描述系统中对象的一个活动到另一个活动的控制流、一个事务的活动序列、工作的流程和并发的处理能力。需求分析中的活动图主要用来配合描述某个重要的用例,用图型的方式对用例的具体实现的过程进行描述,这样比文字的描述更直观、更准确地说明用例的功能,在系统分析与设计过程中,经常用活动图进一步深入描述用例图的具体实现流程。系统设计中的活动图对系统的业务工作流、操作建模,它描述业务流中从一个活动到另一个活动的控制流。它描述活动的序列,用来分析和验证用例,理解工作流程,描述复杂过程的算法,并具支持带条件的行为和并发行的多程建模。,10章 状态图与活动图,10.1 动态建模概述6.活动图做什么?10章 状态图与活,10.2 状态图,10.2 .1 状态图概述10.2.2 状态图的组成10.2.3 状态图创建案例,10章 状态图与活动图,10.2 状态图10.2 .1 状态图概述10章 状态图与活,10.2 .1 状态图概述,状态图(Statechart Diagram)是软件系统进行面向对象分析的一种常用工具,它通过建立对象、子系统、系统的生命周期模型(状态)来描述对象、子系统随时间变化的动态行为。 状态图详细说明了一个对象生命周期内的可能的状态序列,状态允许发生的迁移,会引起迁移发生的事件,以及为了响应事件而执行的行为。,10章 状态图与活动图,10.2 .1 状态图概述状态图(Statechart,10.2 .1 状态概述,并不是对所有的对象都创建状态图,只有当行为的改变和状态有关时才创建状态图。如图书管理系统中的图书(相关:新书、在架、预订、借出、注销)和读者帐号(有效、挂失、失效)可以创建其状态图,而图书管理员帐号则没有必要建立状态图。 与类图、对象图和用例图不同,状态图只能对单个对象建立模型,而类图、对象图和用例图可以对一个系统或一组类建立模型。,10章 状态图与活动图,10.2 .1 状态概述并不是对所有的对象都创建状态图,,10.2 .1 状态概述,状态图清晰地描述了状态之间的转换顺序,通过状态的转换顺序可以清晰看出事件的执行顺序。清晰的事件顺序有利于程序员在开发程序时避免出现事件错序的情况。状态图清晰地描述了状态转换时所必须触发的事件、监护条件和动作等影响转换的因素。状态图通过判定可以更好地描述工作流因为不同的条件发生的分支。,10章 状态图与活动图,10.2 .1 状态概述状态图清晰地描述了状态之间的转换,10.2.2 状态图的组成,状态图由状态、转换、事件、活动和动作5部分组成: 1 状态指的是对象在其生命周期中的一种状况,处于某个特定状态中的对象必然会满足某些条件、执行某些动作或者是等待某些事件。一个状态的生命周期是一个有限的时间阶段。 2 转换指的是两个不同状态之间的一种关系,表明对象将在第一个状态中执行一定的动作,并且在满足某个特定条件下由某个事件触发进入第二个状态。 3 事件指的是发生在时间和空间上的对状态机来讲有意义的那些事情。事件通常会引起状态的变迁,促使状态机从一种状态切换到另一种状态,如信号、对象额度创建和销毁等。 4 活动指的是状态机中进行的非原子操作。 5 动作指的是状态机中可以执行的那些原子操作,所谓原子操作指的是它们在运行的过程中不能被其他消息所中断,必须一直执行下去,最终导致状态的变更或者返回一个值。,10章 状态图与活动图,10.2.2 状态图的组成状态图由状态、转换、事件、活动和,10.2.2 状态图组成,1起点和终点(起始状态与终止状态,特殊状态节点) 起点代表状态图的一个初始状态,此状态代表状态图的起始位置。起点只能作为转换的源,而不是作为转换的目标。起点在一个状态图中只允许有一个 。 终点代表状态图的最后状态,此状态代表状态图的终止位置。终点只能作为转换的目标,而不是作为转换的源。终点在一个状态图中可以有一个或多个,表示一个活动图的最后和终结状态。,10章 状态图与活动图,10.2.2 状态图组成1起点和终点(起始状态与终止状态,,10.2.2 状态图组成,2. 状态状态是指在对象的生命期中的一个条件或状况,在此期间对象将满足某些条件、执行某些活动或等待某些事件。,10章 状态图与活动图,10.2.2 状态图组成2. 状态10章 状态图与活动图,10.2.2 状态图组成,理解状态的特征状态是一个时间段:在员工下班回家的过程中,经历的状态包括: 到下班时间了,收拾东西准备回家(不考虑加班); 开始等待电梯;乘坐电梯下楼;乘坐电梯到达楼下; (发现没带家里钥匙,上楼拿)乘坐电梯上楼; 去公交车站等车; 乘公共汽车去菜场; 买菜; 回到家。,10章 状态图与活动图,10.2.2 状态图组成理解状态的特征状态是一个时间段,10.2.2 状态图组成,理解状态的特征:(1)进入/退出动作:对象本身的一个操作。如果在电梯里是一个状态的话,那员工进电梯和出电梯就是状态“在电梯里”的进入/退出动作。(2)内部转换:例如员工在去等电梯的时候发现钥匙没带,此时我们不用在“等电梯”以后,而是在“准备回家”的状态中就去拿钥匙了。虽然整体的状态没有发生变化,但对于对象本身来说,前后是不一样的,一个是有钥匙,一个是没有钥匙。(3)子状态:如果需要进一步描述员工对象在电梯里聊天、打电话等状态时,这些状态就是该对象的“在电梯里”状态的子状态。(4)延迟事件:现在不立即产生的事件,该事件是在一段时间以后才产生的事件。员工必须等待到达17:50的时候,才能下班。,10章 状态图与活动图,10.2.2 状态图组成理解状态的特征:10章 状态图与活动,10.2.2 状态图组成,状态图符的三个组成部分:状态名、状态变量、事件。一个状态一般包含三个部分,如图所示。第事件一部分为状态的名称,如空闲、已付、移动、在菜场等。第二部分为可选的状态变量的变量名和变量值。属性(变量)指的是状态图中类的属性。第三部分为可选的活动表,列出有关的事件和活动。,10章 状态图与活动图,10.2.2 状态图组成状态图符的三个组成部分:状态名、状态,10.2.2 状态图组成,3. 事件事件是在某个时刻发生的事情,一个事件是一次激发的产生,激发可以触发一个状态转换。“事件”指的是发生的且引起某些动作执行的事情,即事件表示在某一特定的时间或空间出现的能够引发状态改变的运动变化。 事件是一个时间点,事件种类如下。,10章 状态图与活动图,10.2.2 状态图组成3. 事件10章 状态图与活动图,10.2.2 状态图组成,事件是一个时间点:在员工下班回家的过程中,发生的事件包括: 到下班时间了,收拾东西准备回家(不考虑加班); 开始等待电梯; 电梯到达梯上; 乘坐电梯到达楼下; (发现没带家里钥匙,上楼拿)乘坐电梯上楼; 去公交车站等车;乘坐的公共汽车到了() 乘公共汽车去菜场; 买菜; 回到家。,10章 状态图与活动图,10.2.2 状态图组成事件是一个时间点:10章 状态图与活,10.2.2 状态图组成,事件的种类:事件可以分成明确或隐含的几种,主要包括:状态内部的事件、消息事件和时间事件等。状态内部的事件(又称为动作Activety):主要有入口事件、出口事件和DO事件等。,10章 状态图与活动图,10.2.2 状态图组成事件的种类:10章 状态图与活动图,10.2.2 状态图组成,消息信号事件和调用事件。调用事件:一个对象调用另一个对象的操作,标在迁移线上,调用事件后,引起状态迁移。如,补办借书证(帐号),调用后,帐号由挂失状态迁移到有效状态。信号事件:由发出信号事件和接收信号事件构成。,10章 状态图与活动图,10.2.2 状态图组成消息信号事件和调用事件。发出信号,10.2.2 状态图组成,时间事件:由after事件、when事件和defer事件。其中aftert事件和when事件后跟有动作。,10章 状态图与活动图,10.2.2 状态图组成时间事件:10章 状态图与活动图,10.2.2 状态图组成,4. 迁移(转换)状态的改变转换表示当一个特定事件发生或者某些条件满足时,一个源状态下的对象完成一定的动作后将发生状态转变,转向另一个称之为目标状态的状态。当发生转换时,转换进入的状态为活动状态,转换离开的状态变为非活动状态。,10章 状态图与活动图,10.2.2 状态图组成4. 迁移(转换)状态的改变1,10.2.2 状态图组成,迁移的特征:,10章 状态图与活动图,10.2.2 状态图组成迁移的特征:10章 状态图与活动图,10.2.2 状态图组成,监护条件:转换可能具有一个监护条件,监护条件是一个布尔表达式,它是触发转换必须满足的条件。,10章 状态图与活动图,10.2.2 状态图组成监护条件:转换可能具有一个监护条件,10.2.2 状态图组成,触发器事件:触发器事件就是能够引起状态转换的事件。如果此事件有参数,则这些参数可以被转换所用,也可以被监护条件和动作的表达式所用。动作:动作(Action)通常是一个简短的计算处理过程或一组可执行语句。动作也可以是一个动作序列,即一系列简单的动作。动作有两种情况:附加到相应的迁移线上或对应的状态框内。,10章 状态图与活动图,10.2.2 状态图组成触发器事件:10章 状态图与活动图,10.2.2 状态图组成,外部转换:外部转换是一种改变状态的转换,也是最普通最常见的一种转换。在UML中,它用从源状态到目标状态的带箭头的线段表示,其他属性以文字串附加在箭头旁。,10章 状态图与活动图,10.2.2 状态图组成外部转换:10章 状态图与活动图,10.2.2 状态图组成,内部转换只有源状态,没有目标状态,不会激发入口和出口动作,因此内部转换激发的结果不改变本来的状态。如果一个内部转换带有动作,它也要被执行。内部转换常用于对不改变状态的插入动作建立模型。要注意的是内部转换的激发可能会掩盖使用相同事件的外部转换。 内部转换的表示法与入口动作和出口动作的表示法很相似。他们的区别主要在于入口和出口动作使用了保留字“entry”和“exit”,其它部分两者的表示法相同。,10章 状态图与活动图,10.2.2 状态图组成内部转换只有源状态,没有目标状态,,判定示例,无判定示例,10.2.2 状态图组成,5.判定判定用来表示一个事件依据不同的监护条件有不同的影响。在实际建模的过程中,如果遇到需要使用判定的情况,通常用监护条件来覆盖每种可能,使得一个事件的发生能保证触发一个转换。,10章 状态图与活动图,判定示例 无判定示例10.2.2 状态图组成5.判定10章,10.2.2 状态图组成,6. 分叉与汇合同步条是为了说明并发工作流的分支与汇合。状态图和活动图中都可能用到同步。在UML中,同步用一条线段来表示。,10章 状态图与活动图,10.2.2 状态图组成6. 分叉与汇合10章 状态图与活,10.2.3 状态图创建案例,在UML中,交互模型描述若于对象共同协作完成一项作,而状态图则是描述一个对象穿越若干用例的行为。建立状态图模型的建模步骤如下:1)确定状态图的主体,它可以是一个系统、一个用例、一个对象;2)确定主体的生存期的各种稳定的状态及顺序;3)确定状态迁移的事件;4)附加上必要的动作,把动作附加到相应的迁移线上或对应的状态框内;5)审核状态图,确认所有状态在事件触发下都可到达、死锁状态(无迁移)。,10章 状态图与活动图,10.2.3 状态图创建案例在UML中,交互模型描述若于,10.2.3 状态图创建案例进销存管理系统中“产品”的状态图,1. 确定状态图的主体要创建状态图,首先要标识出哪些实体需要使用状态图进一步建模。虽然我们可以为每一个类、操作、包或用例创建状态图,但是这样做势必浪费很多的精力。一般来说,不需要给所有的类都创建状态图,只有具有重要动态行为的类才需要。 从另一个角度看,状态图应该用于复杂的实体,而不必用于具有复杂行为的实体。使用活动图可能会更加适合那些有复杂行为的实体。具有清晰、有序的状态实体最适合使用状态图进一步建模。 对于产品出入仓库来说,需要建模的实体就是产品。,10章 状态图与活动图,10.2.3 状态图创建案例进销存管理系统中,10.2.3 状态图创建案例进销存管理系统中“产品”的状态图,2. 确定状态图中实体的状态对于一个入库的产品来说,它的状态主要包括: (1) 未入库状态 (2) 入库状态 (3) 被排除状态 (4 )销售出库状态,10章 状态图与活动图,10.2.3 状态图创建案例进销存管理系统中,10.2.3 状态图创建案例进销存管理系统中“产品”的状态图,3.创建相关事件完成状态图当确定了需要建模的实体,并找出了实体的初始状态和终止状态以及其他相关状态后,就可以着手创建状态图。 首先,我们要找出相关的事件和转换。对于企业的产品来说,刚被生产出来的产品可以通过仓库管理员添加成为入库的产品。当入库产品被出售,产品品处于被销售状态。 当产品由于过期、损坏等因素造成的不合格时,产品会被剔除。根据产品的各种状态以及转换规则。,10章 状态图与活动图,10.2.3 状态图创建案例进销存管理系统中,10.2.3 状态图创建案例网上商城中“商品”的状态图,1. 商品对象2. 状态序列3. 转换事件及活动。,10章 状态图与活动图,10.2.3 状态图创建案例网上商城中“商品”的状态,10.2.3 状态图创建案例图书管理系统的图书状态图,1. 图书对象2. 状态序列3. 转换事件及活动。,10章 状态图与活动图,10.2.3 状态图创建案例图书管理系统的图书状态图,10.2.3 状态图创建案例员工下班回家状态图,(1) 确定状态对象:员工。(2)添加状态选择状态图绘图工具栏上的相应按钮,在绘图区域中单击鼠标左键,就可以绘制状态。,10章 状态图与活动图,10.2.3 状态图创建案例员工下班回家状态图(1),10.2.3 状态图创建案例员工下班回家状态图,(3)添加状态之间添加状态转换单击状态图绘制工具栏上的按钮 ,在状态之间添加转换,由此得到的员式下班回家的状态图及其状态转换,10章 状态图与活动图,10.2.3 状态图创建案例员工下班回家状态图 (3,10.2.3 状态图创建案例员工下班回家状态图,(4)设置状态转移事件在不同的状态之间进行转换时,需要指定从一种状态转换到另一种状态的事件。,10章 状态图与活动图,10.2.3 状态图创建案例员工下班回家状态图(4),10.2.3 状态图创建案例员工下班回家状态图,(5)添加活动在绘制状态图时,一般情况下需要指定状态的活动。右键单击对应的状态(如:等待电梯),打开状态属性设置对话框,选择【Actions】选项卡,右键单击中间空白区域,选择【Insert】菜单,完成活动的添加。,10章 状态图与活动图,10.2.3 状态图创建案例员工下班回家状态图(5),10.2.3 状态图创建案例员工下班回家状态图,(6)调整大小和位置遵循美观、实用的原则,调整状态图的大小和位置,得到的员工下班回家的状态图。,10章 状态图与活动图,10.2.3 状态图创建案例员工下班回家状态图(6),课堂实践 1,阅读如图所示的学生选课系统中的课程状态图,试着对不同状态间的转换进行描述。 (1)maxstudents表示选修某一门课程的最多人数。(2)students表示选修了某一门课程的人数。(3)after this term表示学期结束,10章 状态图与活动图,课堂实践 1阅读如图所示的学生选课系统中的课程状态图,试着对,10.3 活动图,10章 状态图与活动图,10.3 活动图10章 状态图与活动图,10.3 活动图,活动图(Activity Diagram)主要用于描述系统中对象的一个活动到另一个活动的控制流、一个事务的活动序列、工作的流程和并发的处理能力。需求分析中的活动图主要用来配合描述某个重要的用例,用图型的方式对用例的具体实现的过程进行描述,这样比文字的描述更直观、更准确地说明用例的功能,在系统分析与设计过程中,经常用活动图进一步深入描述用例图的具体实现流程。系统设计中的活动图对系统的业务工作流、操作建模,它描述业务流中从一个活动到另一个活动的控制流。它描述活动的序列,用来分析和验证用例,理解工作流程,描述复杂过程的算法,并具支持带条件的行为和并发行的多程建模。,10章 状态图与活动图,10.3 活动图活动图(Activity Diagram),10.3.1 活动图概述,活动图的作用:*描述一个操作执行过程中所完成的工作,说明角色、工作流、组织和对象是如何工作的。*活动图对用例描述尤其有用,它可建模用例的工作流、显示用例内部和用例之间的路径。*显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象。*活动图可以画出工作流用以描述业务,有利于与领域专家进行交流。通过活动图可以明确业务处理操作是如何进行的,以及可能产生的变化。*描述复杂过程的算法,在这种情况下使用的活动图和传统的程序流程图的功能是相似的。 活动图与常用的程序流程图相似,它们的主要区别在于程序流程图一般用来表示串行过程,而活动图则可以用来表示并行过程 。,10章 状态图与活动图,10.3.1 活动图概述活动图的作用:10章 状态图与活动,10.3.1 活动图概述,10章 状态图与活动图,10.3.1 活动图概述10章 状态图与活动图,10.3.2 活动图组成,1动作状态动作状态是指执行原子的、不可中断的动作,并在此动作完成后转换到另一个状态。动作状态有如下特点:动作状态是原子的,它是构造活动图的最小单位,无法分解为更小的部分;动作状态是不可中断的,它一旦运行就不能中断,一直运行到结束;动作状态是瞬时的行为,它所占用的处理时间极短,有时甚至可以忽略;动作状态有入转换,入转换可以是动作流,也可以是对象流。动作状态至少有一条出转换,这条转换以内部动作的完成为起点,与外部事件无关;动作状态与状态图中的状态不同,它不能有入口动作和出口动作,也不能有内部转移;动作状态允许多处出现在同一活动图中。,10章 状态图与活动图,10.3.2 活动图组成1动作状态10章 状态图与活动图,10.3.2 活动图组成,2活动状态活动状态是非原子性的,用来表示一个具有子结构的纯粹计算的执行。 活动状态有如下特点:活动状态可以分解成其他子活动或动作状态,由于它是一组不可中断的动作或操作的组合,所以可以被中断;活动状态的内部活动可以用另一个活动图来表示;活动状态可以有入口动作和出口动作,也可以有内部转移;动作状态是活动状态的一个特例,如果某一个活动状态只包括一个动作,那么它就是一个动作状态。,10章 状态图与活动图,10.3.2 活动图组成2活动状态10章 状态图与活动图,10.3.2 活动图组成,3动作流:动作流是指所有动作状态之间的转换。 4. 分支与合并分支是软件系统流程中很常见的一种逻辑,它一般用来表示对象所具有的条件行为,每一部分都有单独的监护条件和不同的结果。 合并包括两个带条件的入转换和一个出转换(即两个入口和一个出口),用来表示从对应的分支开始的条件行为的结束。,10章 状态图与活动图,10.3.2 活动图组成3动作流:动作流是指所有动作状态之,10.3.2 活动图组成,5. 分叉与汇合(结合) 活动图显求了如何协调多个事件,当执行活动时,有可能并行使用这些事件。考虑一对夫妻的餐馆就餐活动,如右图,仅当两盘菜都做好后才会提供这套便餐。,10章 状态图与活动图,10.3.2 活动图组成5. 分叉与汇合(结合)10章 状态,10.3.2 活动图组成,5. 分叉与汇合 分叉用于将动作流分为两个或多个并发运行的分支 汇合则用于将不同的分支汇聚一起汇合有多个入转换和一个出转换,出转换开始于所有并行活动都完成时。活动图主要用于为有多个活动并行执行的业务建模,10章 状态图与活动图,10.3.2 活动图组成5. 分叉与汇合 10章 状态图与,10.3.2 活动图组成,6泳道为了对活动的职责进行组织而在活动图中将活动状态分为不同的组,称为泳道(Swimlane)。每个泳道代表特定含义的状态职责部分。 泳道显示了对象对系统所做的贡献。,10章 状态图与活动图,10.3.2 活动图组成6泳道10章 状态图与活动图,带泳道活动图的特点:-泳道显示了对象对系统所做的贡献。,10章 状态图与活动图,带泳道活动图的特点:-泳道显示了对象对系统所做的贡献,10.3.2 活动图组成,7对象流对象可以在活动图中显示,表示动作状态或者活动状态与对象之间的依赖关系。对象可以作为动作的输入或输出,或简单地表示指定动作对对象的影响。,10章 状态图与活动图,10.3.2 活动图组成7对象流10章 状态图与活动图,10.3.2 活动图组成,在活动图中,对象流描述了动作状态或者活动状态与对象之间的关系,表示了动作使用对象以及动作对对象的影响对象用矩形符号来表示,在矩形的内部有对象名或类名。对象流用带有箭头的虚线表示。,活动图中的对象流,10章 状态图与活动图,10.3.2 活动图组成在活动图中,对象流描述了动作状态或者,活动图中加入对象流更能显示系统的交互:,10章 状态图与活动图,活动图中加入对象流更能显示系统的交互:10章 状态图与活动图,在活动图中添加对象及对象流:,步骤:工具CREATEOBJECT,10章 状态图与活动图,在活动图中添加对象及对象流:步骤:10章 状态图与活动图,10.3.2 活动图组成,8组合活动在UML的活动图中,一个大的活动可以分为若干个动作或子活动,这些动作或子活动本身又可以组成一个活动图。,10章 状态图与活动图,10.3.2 活动图组成8组合活动10章 状态图与活动图,10.3.3 活动图创建案例,活动图建模步骤:(1) 确定对象:找出负责实现工作流的主体对象。对象主要参考与业务工作流相关的用例中的参与者。为重要的对象分配一条泳道。(2)确定范围:明确起始状态和终止状态。(3)确定主要活动序列:建模主要用例路径。(4)处理迁移:分支状态迁移,并发与同步(分叉与结合)迁移。(5)确定工作流中涉及的重要对象:添加对象流。,10章 状态图与活动图,10.3.3 活动图创建案例活动图建模步骤:10章 状态图与,活动图的创建示例:用户购物活动图,10.3.3 活动图创建案例电子商城用户购物活动图,1. 标识活动图的用例用户购物活动中要涉及多个用例,完成工作流的主要对象是购物用户如图。,10章 状态图与活动图,活动图的创建示例:用户购物活动图10.3.3 活动图创建案例,活动图的创建示例:用户购物活动图,10.3.3 活动图创建案例电子商城用户购物活动图,2. 建模用例的路径用户登录,首先选择要查看商品信息,,最后退出系统。,10章 状态图与活动图,活动图的创建示例:用户购物活动图10.3.3 活动图创建案例,活动图的创建示例:用户购物活动图,10.3.3 活动图创建案例电子商城用户购物活动图,3. 创建活动图在创建活动图的过程中,需要注意如下问题:考虑用例其他可能的工作流情况,如执行过程中可能出现的错误或是可能执行其他活动。使用泳道细化活动图。按照时间顺序自上而下的排列泳道内的动作或者状态。 使用并发时,不要漏掉任何的分支,尤其是当分支比较多的时候。,10章 状态图与活动图,活动图的创建示例:用户购物活动图10.3.3 活动图创建案例,10.3.3 活动图创建案例电子商城用户前台购物活动图,4. 在Rose中绘制活动图(1)创建活动图包图(起点的问题)(2)创建新的活动图单击“Logical View”节点,选择【New】【Activity Diagram】,输入新的活动图的名称(如:前台购物),10章 状态图与活动图,10.3.3 活动图创建案例电子商城用户前台购物活动,10.3.3 活动图创建案例电子商城用户前台购物活动图,(3)添加购物用户活动图的起点和终点。(4)添加动作状态或活动状态。基本操作方式同状态图。(5)增加分支与合并。购物用户通过网上系统进行购物时,如果没有登录系统,则需要进行登录才能完成商品的购买操作。,10章 状态图与活动图,10.3.3 活动图创建案例电子商城用户前台购物活动,10.3.3 活动图创建案例电子商城用户购物活动图,(6)增加分叉与汇合。购物用户进入网上系统后,在未登录状态下可以搜索并查看商品,并查询商品的详细情况。用户登录系统后,既可以查看商品信息,购买商品,也可以修改个人信息和查看个人信息。因此,查看并购买商品和修改/查看个人信息属于并行流。,10章 状态图与活动图,10.3.3 活动图创建案例电子商城用户购物活动图,活动图的创建示例:教师查看、修改学生信息,10.3.3 活动图创建案例教师管理学生信息活动图,1. 标识活动图的用例对于“教师查看、修改学生信息”来说,它的参与者是教师,教师在查看、修改学生信息的活动中有以下3个用例:登录;查询学生信息;修改学生信息。,10章 状态图与活动图,活动图的创建示例:教师查看、修改学生信息10.3.3 活动图,活动图的创建示例,10.3.3 活动图创建案例 教师管理学生信息活动图,2. 建模用例的路径教师登录后,首先选择要查看哪位同学的信息,查看之后修改该学生的信息,修改完成后保存修改过的信息,最后退出系统。,10章 状态图与活动图,活动图的创建示例10.3.3 活动图创建案例 教师管理,10.3.3 活动图创建案例教师管理学生信息活动图,3. 创建活动图在创建活动图的过程中,需要注意如下问题:考虑用例其他可能的工作流情况,如执行过程中可能出现的错误或是可能执行其他活动。使用泳道细化活动图。按照时间顺序自上而下的排列泳道内的动作或者状态。 使用并发时,不要漏掉任何的分支,尤其是当分支比较多的时候。,10章 状态图与活动图,10.3.3 活动图创建案例教师管理学生信息活动图3.,10.3.3 活动图创建案例 系统管理员查看修改员工信息活动图,1. 确定需求用例对于“系统管理员查看修改员工信息”来说,参与者是系统管理员,系统管理员在查看修改员工信息的活动中,有3个用例: 1 登录:要进入系统,首先要登录。 2 查询员工信息:进入系统后可以选择查询不同员工的信息。 3 修改员工信息:需要修改某些员工的部分信息,比如员工晋升后需要修改的员工的职务和工资信息。,10章 状态图与活动图,10.3.3 活动图创建案例 系统管理员查看修改员工信,10.3.3 活动图创建案例 系统管理员查看修改员工信息活动图,2. 确定用例路径,10章 状态图与活动图,10.3.3 活动图创建案例 系统管理员查看修改员工信,10.3.3 活动图创建案例 系统管理员查看修改员工信息活动图,3. 绘制完整的活动图,10章 状态图与活动图,10.3.3 活动图创建案例 系统管理员查看修改员工信,10.4 活动图与状态图的比较,状态图描述了一个特定对象的所有可能状态,以及由于各种事件的发生而引起的状态之间的转移;用来描述一个对象在其生命周期的行为,主要强调外部动作的影响。活动图是一种描述工作流的方式,它用来描述采取何种动作、做什么、何时发生以及在何处发生。活动图是由状态图扩展而来的,是状态图的另外一种表现形式,它们之间有联系有区别。,10章 状态图与活动图,10.4 活动图与状态图的比较 状态图描述了一个特定对,10.4 活动图与状态图的比较,状态图和活动图的相同点:1. 描述图符基本一样。2. 都可以描述一个系统和对象在生存期间的状态和行为;3. 都可以描述系统或对象在多线程操作中的同步和并发行为。. 都可以采用分支流描述一个系统或对象的行为控制。总之,活动图是描述一个系统或对象的动态行为的一种方法,它是状态图的另一种形式。,10章 状态图与活动图,10.4 活动图与状态图的比较状态图和活动图的相同点:10章,10.4 活动图与状态图的比较,状态图和活动图的主要区别在于:1. 触发迁移的机制不同:状态图中对象状态的迁移,一般都有一个触发迁移的事件发生。活动图中的活动状态迁移不需要事件触发,一个活动结束可以直接进入下一个活动。2. 描述多个对象共同完成一个操作的机制不同:状态图一般用于描述一个对象生存期内的经历的行为、状态,引起状态转移的事件及因状态转移发生的动作。若活动涉及多个对象,则采用状态嵌套的方式来描述多个对象共同完成的一个操作。而活动图利用泳道将穿越多个对象的操作组织起来,它能清楚的表明动作在哪里(对象)执行。,10章 状态图与活动图,10.4 活动图与状态图的比较状态图和活动图的主要区别在于:,实验五 状态图与活动图,实验目的:理解并掌握状态图和活动图的画法。实验内容:1.使用状态图来描述学生管理系统中学生对象/课程对象状态变化过程;2.绘制学生管理系统中系统管理员查询、更改学生信息的活动图。,10章 状态图与活动图,实验五 状态图与活动图实验目的:10章 状态图与活动图,完,10章 状态图与活动图,完10章 状态图与活动图,课堂实践,(1)阅读图书管理系统的系统管理员维护图书用户信息的活动图,试着对系统管理员的维护读者活动进行描述。 (2)绘制WebShop电子商城系统中订单处理的活动图。,10章 状态图与活动图,课堂实践(1)阅读图书管理系统的系统管理员维护图书用户信息的,10章 状态图与活动图,10章 状态图与活动图,图书管理系统“借书活动图”,10章 状态图与活动图,图书管理系统“借书活动图”10章 状态图与活动图,

    注意事项

    本文(活动图与状态图课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开