精华内容
下载资源
问答
  • 活动图

    千次阅读 2018-11-26 20:57:51
    活动图的基本概念 活动图是状态机的一个特殊例子,他强调计算过程中的顺序和并发步骤。活动图所有或多数状态都是活动状态或动作状态,所有或大部分的转换都由原状态中完成的活动触发。 含义:活动图是一种用于描述...

    活动图的基本概念

    活动图是状态机的一个特殊例子,他强调计算过程中的顺序和并发步骤。活动图所有或多数状态都是活动状态或动作状态,所有或大部分的转换都由原状态中完成的活动触发。

    含义:活动图是一种用于描述系统行为的模型视图,它可用来描述动作和动作导致对象状态改变的结果,而不用考虑引发状态改变的事件。通常,活动图记录单个操作或方法的逻辑、单个用例或商业过程中的逻辑流程。

            在UML中,活动的起点用来描述活动图的开始状态,用黑的实心圆表示。活动的终止点描述活动图的终止状态,用一个含有实心圆的同心圆表示。活动图中的活动既可以是手动执行是任务,也可以是自动执行的任务,用圆角矩形表示。状态图中的状态也可以用矩形表示,不过与状态的矩形比较起来,活动的矩形更加柔和,更加接近椭圆。活动图中的转换描述了一个活动转向另一个活动,用带箭头的实线段表示,箭头指向转向的活动,可以在转换上用文字标识转换发生的条件。活动图还包括分支与合并、分叉与汇合等模型元素。分支与合并的图标和状态图中判定的图标相同,分叉与汇合则用一条加粗的线段表示。

    作用:活动图是模型中的完整单元,表示一个程序或工作流,常用于计算流程和工作流程的建模。活动图着重描述用例实例或对象的活动,以及操作实现中完成的工作。活动图通常出现在设计的前期,即在所有实现决定前出现,特别是在对象被指定执行所有活动前。活动图的作用主要体现在以下几点:描述一个操作执行过程中所完成的工作;活动图对用例描述尤其有用,它可对用例的工作流建模,显示用例内部和用例之间的路径;显示如何执行一组相关的动作,以及这些动作如何影响他们周围的对象;活动图对理解业务处理过程十分有用;描述复杂过程的算法,在这种情况下使用的活动图和传统的程序流程图的功能是差不多的。

    活动图的组成

    UML活动图中包含的图形元素有动作状态、活动状态、组合状态、分叉与结合、分支和合并、泳道、对象流。

    动作状态:动作状态是原子性的动作或操作的执行状态,他不能被外部事件的转换中断。动作状态的原子性决定了动作状态要么不执行,要么完全执行,不能中断。

    活动状态:活动状态是非原子性的,用来表示一个具有子结构的纯粹计算的执行。活动状态可以分解成其他子活动或动作状态,可以被使转换离开转态的事件从外部中断。活动状态可以有内部转换,可以有入口动作和出口动作。活动状态具有至少一个输出完成转换,当状态中的活动完成时该转换被激发。

    组合活动:组合活动是一种内嵌活动图的状态。我们把不含内嵌活动或动作的活动称为简单活动,把嵌套了若干活动或动作的活动成为组合活动。

    分叉与结合:并发指的是在同一时间间隔内,有两个或两个以上的活动执行。对于一些复杂的大型系统而言,对象在运行时往往不止存在一个控制流,而是存在两个或多个并发运行的控制流。为了对并发的控制流建模,在UML中引入了分叉和结合的概念。分叉用来表示将一个控制流分成两个或多个并发运行的分支,结合用来表示并行分支在此得到同步。

    分支与合并:分支在活动糊涂中很常见,它是转换的一部分,它将转换路径分成多个部分,每一部分都有单独的监护条件和不同的结果。当动作流遇到分支时,会根据监护条件的真假来判定动作的流向。分支的每个路径的监护条件应该都是互斥的,这样可以保证只有一条路径的转换被激发。在活动图中,离开一个活动状态的分支通常是完成转换,它们是在状态内活动完成时隐含触发的。要注意的是,分支应该尽可能的包含所有的功能,否则可能会有一些转换无法被触发。这样最终会因为输出转换不在重新激发而是活动图冻结。

          合并指的是两个或多个控制路径在此汇合的情况。合并是一种便利的表示法,省略它不会丢失信息。合并与分支常常成对使用,合并表示从对应分支开始的条件行为的结束。

    泳道:为了对活动的职责进行组织而在活动图中将活动状态分为不同的组,称为泳道。每个泳道代表了特定含义的状态职责的部分。在活动图中,每个活动只能明确的属于一个泳道,泳道明确的表示了哪些活动是由哪些对象进行的。每个泳道都有与其他泳道不一样的名称。

    对象流:活动图中交互的简单元素是活动和对象,控制流就是活动和对象之间的关系的描述。详细的说,控制流表示动作与其参与者和猴急动作之间以及动作与其输入对象和输出对象之间的关系,而对象流就是一种特殊的控制流。

            对象流是将对象流状态作为输入或输出的控制流。在活动图中,对象流描述了动作状态或者动作状态与对象之间的关系,表示动作使用对象以及动作对对象的影响。

            对象流的几个重要概念:动作状态、活动状态、对象流状态。

     

     

    展开全文
  • UML活动图

    万次阅读 多人点赞 2019-05-23 09:20:54
    --使用活动图 转载:https://www.cnblogs.com/xiaolongbao-lzh/p/4591953.html 活动图概述 •活动图和交互图是UML中对系统动态方面建模的两种主要形式 •交互图强调的是对象到对象的控制流,而活动图则强调的是...

    面向对象的软件开发方法的第一步:业务建模<--使用活动图

    转载:https://www.cnblogs.com/xiaolongbao-lzh/p/4591953.html

    活动图概述

    •活动图和交互图是UML中对系统动态方面建模的两种主要形式

    •交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流

    •活动图是一种表述过程基理、业务过程以及工作流的技术。它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模

    •UML 2.0而言,去除了“活动图是状态图的一种特例”这一规定

    【用途】活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流。

    活动图在本质上是一种流程图。活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。

    一、活动图的组成元素 Activity Diagram Element

    1、活动状态图(Activity)——活动状态用于表达状态机中的非原子的运行

      活动状态图特点如下:

      (1)、活动状态可以分解成其他子活动或者动作状态。

      (2)、活动状态的内部活动可以用另一个活动图来表示。

      (3)、和动作状态不同,活动状态可以有入口动作出口动作,也可以有内部转移

      (4)、动作状态是活动状态的一个特例,如果某个活动状态只包括一个动作,那么它就是一个动作状态

      UML中活动状态和动作状态的图标相同,但是活动状态可以在图标中给出入口动作和出口动作等信息

      【图形】平滑的圆角矩形

                              

    2、动作状态(Actions)—— 动作状态是指原子的,不可中断的动作,并在此动作完成后通过完成转换转向另一个状态。

      动作状态有如下特点:

      (1)、动作状态是原子的,它是构造活动图的最小单位

      (2)、动作状态是不可中断的。

      (3)、动作状态是瞬时的行为。

      (4)、动作状态可以有入转换,入转换既可以是动作流,也可以是对象流。动作状态至少有一条出转换,这条转换以内部的完成为起点,与外部事件无关

      (5)、动作状态与状态图中的状态不同,它不能有入口动作和出口动作,更不能有内部转移

      (6)、在一张活动图中,动作状态允许多处出现。

      【图形】平滑的圆角矩形

                               

    3、动作状态约束(Action Constraints)——动作状态约束:用来约束动作状态

      【图形】如下图展示了动作状态的前置条件和后置条件

                         

    4、动作流(Control Flow)——动作之间的转换称之为动作流活动图的转换

      【图形】用带箭头的直线表示,箭头的方向指向转入的方向。

                        

    5、开始节点(Initial Node)——活动开始节点
      【图形】实心黑色圆点

                       

    6、终止节点(Final Node)——分为活动终止节点(activity final nodes流程终止节点(flow final nodes)

      (1)、活动终止节点表示整个活动的结束

      【图形】圆圈+内部实心黑色圆点

                                    

      (2)、而流程终止节点表示是子流程的结束。

      【图形】圆圈+内部十字叉

                                   

    7、对象(Objects)

      【图形】矩形方框  

                 

    8、数据存储对象(DataStore) ——使用关键字«datastore»

       【图形】矩形方框,内含关键字

                                    

    9、对象流(Object Flows)——对象流是动作状态或者活动状态对象之间的依赖关系,表示动作使用对象或动作对对象的影响

      用活动图描述某个对象时,可以把涉及到的对象放置在活动图中并用一个依赖将其连接到进行创建、修改和撤销的动作状态或者活动状态上,对象的这种使用方法就构成了对象流。

      对象流中的对象有以下特点:

      (1)、一个对象可以由多个动作操作

      (2)、一个动作输出的对象可以作为另一个动作输入的对象。

      (3)、在活动图中,同一个对象可以多次出现,它的每一次出现表面该对象正处于对象生存期的不同时间点。

      【图形】用带有箭头的虚线表示。如果箭头是从动作状态出发指向对象,则表示动作对对象施加了一定的影响。施加的影响包括创建、修改和撤销等。如果箭头从对象指向动作状态,则表示该动作使用对象流所指向的对象。

      状态图中的对象用矩形表示矩形内是该对象的名称名称下的方括号表明对象此时的状态

                  

    10、分支与合并(Decision and Merge Nodes)——选择分支
      【图形】分支与合并用菱形表示,它有一个进入转换(箭头从外指向分支符号),一个或多个离开转换(箭头从分支符号指向外)。而每个离开转换上都会有一个监护条件,用来表示满足什么条件的时候执行该转换。

                                             

    11、分叉与汇合(Fork and Join Nodes)——分叉用于将动作流分为两个或多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。

      对象在运行时可能会存在两个或多个并发运行的控制流,为了对并发的控制流建模,UML中引入了分叉与汇合的概念。

      【图形】分为水平风向和垂直方向。

    12、时间信号

                                 

    13、发送信号

                             

    14、接收信号

                           

    14、泳道(Partition)——泳道将活动图中的活动划分为若干组,并把每一组指定给负责这组活动的业务组织,即对象。
    在活动图中,泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。在包含泳道的活动图中,每个活动只能明确地属于一个泳道。

    泳道是用垂直实线绘出,垂直线分隔的区域就是泳道。在泳道的上方可以给出泳道的名字或对象的名字,该对象负责泳道内的全部活动。泳道没有顺序,不同泳道中的活动既可以顺序进行也可以并发进行,动作流和对象流允许穿越分隔线

                   

    二、活动图案例分析

    例1.购物用例图

    1、  泳道分为:会员泳道和系统泳道。会员选择商品并加入购物车,系统完成订单生成及其支付完毕。

    2、  开始节点:会员添加商品到购物车,点击【订单确认】,开始交于系统处理订单流程

    3、  结束节点:商品发送完毕和付款成功,订单处理流程结束

    4、  活动状态:产生订单、Check Credit Cart核对信用卡、Check Stock 核对库存量、Deliver Goods 发送商品、Process Credit Cart付款

    5、  分叉与汇合:【产生订单】份叉为检查库存量和会员支付金额是否足够,如果不足,取消订单,如过库存量和支付金额足够,发送商品和付款,最后汇合为订单完成。

     

    例2. 带有发送信号与接收信号的活动图

    image

     

    例3.带对象流的活动图

    image

     

     

    例4.辅助活动图

    image

    展开全文
  • 行为建模(状态图-活动图)

    千次阅读 2020-05-19 11:40:09
    行为建模--状态图状态机(State Machine)状态(State)转移状态机图的建模技术用户绘制用例机图新增运动员报名修改运动员报名管理员什么是活动图活动图的用途活动图的组成元素活动图的建模技术 采用方法:面向对象...

    采用方法:面向对象的设计方法(OOD)
    静态结构设计:类和对象的设计,架构设计(设计模式),数据库设计、静态结构设计建模技术:类的建模(系统类图),对象的建模,组件图,配置图,数据库设计类图
    动态结构设计:状态、行为的设计、动态结构设计建模技术:状态建模(状态机图),行为建模(顺序图、通讯图)

    状态机图:状态机图展示了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移

    1. 状态机
    2. 状态
    3. 转移
    4. 状态机图的建模技术

    状态机(State Machine)

    1.状态机用于对具有事件驱动的特性的动态行为建模。
    2.状态机由状态组成,各状态由转移链接在一起。
    状态是对象执行某项活动或等待某个事件时的条件。
    转移是两个状态之间的关系,它由某个事件触发,然后执行特定的操作或者评估,并导致特定结束状态。

    状态机图的内容
    1.状态机图通常包括如下内容:(1)状态(2)转换
    2.在UML中,图形上每一个状态图都有一个初始状态(实心圆),用来表示状态机的开始还有一个终止状态(半实心圆),用来表示状态机的终止,其他的状态用一个圆角的矩形表示。
    在这里插入图片描述
    状态机的各种元素
    在这里插入图片描述

    状态(State)

    状态是状态机的重要组成部分,它描述了状态机在对象动态行为的执行所产生的结果。一个完整的状态有5个组成部分:
    (1)名字(name)
    (2)入口/出口动作(entry/exit action)
    (3)内部转换(Internal Transition)
    (4)延迟事件(Deferred Event)
    (5)子状态(Substate)

    在这里插入图片描述

    转移

    转换是状态间的关联。它们用于对一个实体的不同状态间的关系建模:转换由5个部分组成,它们分别是:源状态、目标状态、触发事件、监护条件和动作
    触发事件:用来为转换定义一个事件,包括调用、改变、信号、时间四类事件。

    状态机图例子
    在这里插入图片描述
    电话机的状态机图
    在这里插入图片描述
    复杂的状态机图
    在这里插入图片描述

    状态机图的建模技术

    使用状态机图一般是对系统中反映型对象建模,特别是对类、用例和系统的实例的行为建模。
    在使用状态图对系统反映型对象建模时,参照以下步骤进行:
    (1)识别一个要对其生命周期进行描述的参与行为的类;
    (2)对状态建模,即确定对象可能存在的状态;
    (3)对事件建模,即确定对象可能存在的事件;
    (4)对动作建模,即确定当转变被激活时,相应被执行的动作;
    (5)对建模结果进行精化和细化。

    绘图习惯提示:
    根据阅读习惯,在绘制状态图的时候,把初始状态放置在左上角,把最终状态放置在右下角。

    系统状态图的绘制步骤:
    1.阅读需求规格说明书
    2.读懂系统用例图
    3.阅读用例描述文档
    4.根据用例描述文档画出状态转换图

    用户
    绘制用例机图

    阅读登录用例
    在这里插入图片描述
    根据“登录”用例描述,画出状态机图,如下:
    在这里插入图片描述

    新增运动员报名

    新增运动员报名”用例描述
    在这里插入图片描述
    在已有的状态图上加入新的状态和转换
    在这里插入图片描述

    修改运动员报名

    阅读“修改运动员报名”用例描述
    在这里插入图片描述
    在已有的状态图上加入新的状态和转换
    在这里插入图片描述

    管理员

    阅读“新增用户”用例描述
    在这里插入图片描述
    在已有的状态图上加入新的状态和转换
    在这里插入图片描述
    阅读”修改用户”用例描述
    在这里插入图片描述
    在已有的状态图上加入新的状态和转换
    在这里插入图片描述
    以此类推………………
    依次对“单位管理”、“运动员管理”、“报名管理”、 “竞赛项目管理” 、“赛事管理” 的用例描述进行阅读, 然后添加“状态”、“转换”。

    最后得到完整的系统状态图

    活动图(Activity Diagram)
    1.什么是活动图
    2.活动图的用途
    3.活动图的组成元素
    4.活动图的建模技术

    什么是活动图

    活动图是UML中描述系统动态行为的图之一,是描述系统或业务的一序列活动构成的控制流,它描述了系统从一种活动转换到另一种活动的整个过程。在本质上是一种流程图。

    按照活动图表示的信息不同,将活动图分为:简单活动图、标识泳道的活动图、标识对象流的活动图、复合活动图。

    活动图的用途

    活动图用于对系统的动态行为建模,常用来描述业务或软件系统的活动轨迹。清晰而正确的活动图,可以帮助设计程序内部的结构,确定类之间的关系,函数或方法之间的关系。
    主要应用于两个方面建模:
    在业务分析阶段,对工作流程进行建模;
    在系统分析和设计阶段,对操作流程进行建模。

    活动图的组成元素

    活动图的元素:初始节点、终点、活动节点、转换、分支、分岔与汇合。
    其中,转换、分支、分岔与汇合把多个活动节点连接在一起。
    在这里插入图片描述
    活动图的表示
    (1)初始节点和终点
    初始节点表示活动的起点;终点表示活动的终结点。在活动图中,可能包含多个活动终点。
    在这里插入图片描述
    (2)活动节点
    活动节点是活动图中最主要的元素之一,它用来表示一个活动,一个活动表示多个动作的集合。
    在这里插入图片描述
    可用文字,表达式,消息等描述活动节点。
    在这里插入图片描述
    (3)转换
    当一个活动结束时,活动控制流就会马上传递给下一个活动节点,在活动图中称之为“转换”。
    在这里插入图片描述
    (4)分支与监护条件
    在实际应用中,有三种活动控制流,它们是顺序结构、分支结构、循环结构。当从一个活动节点到另一个活动节点的转换需要条件时,常用分支与监护条件来表示活动的分支结构。
    分支是用菱形表示的,它有一个进入转换(箭头从外指向分支符号),一个或多个离开转换(箭头从分支符号指向外)。而每个离开转换上都会有一个监护条件,用来表示满足某种条件时才执行该转换。
    在这里插入图片描述
    (5)分岔与汇合
    在实际应用中,如果一些活动是并发执行的,我们就用分岔和汇合来表示并发活动
    分岔线和汇合线都使用加粗的水平线或垂直线段表示。
    在这里插入图片描述
    分岔
    每个分叉可以有一个输入转换和两个或多个输出转换,每个转换都可以是独立的控制流。分岔用来表示两个或者多个并发活动的分支。
    汇合
    当两个或多个并发控制流都达到汇合点后,活动流程才能进入下一个活动节点。汇合则用于同步这些并发活动的分支,当且仅当所有的并发分支(活动)都到达汇合点后,活动流程才能进入下一个活动节点。

    与流程图的区别就是:
    活动图描述的是对象活动的顺序关系所遵循的规则,表现的是系统的行为,能够表示并发活动的情形,是面向对象的,而流程图是面向过程的,描述的是处理过程
    (6)对象流
    反映活动与对象之间的依赖关系,表示对象对活动的作用或活动对对象的影响,用依赖关系表示。
    在这里插入图片描述
    如果箭头从活动指向对象,表示活动对对象的创建、修改或撤销等的影响。
    如果箭头从对象指向活动,表示该活动将使用所指向的对象。

    活动图的建模技术

    1.选择将要绘制活动图的用例,确定活动图的层面,是顶层活动图还是某个方法的活动图。
    2.确定活动图中使用的每个对象,用泳道分开。
    3.确定用例的边界范围,并绘制活动的开始节点和终止节点。
    4.确定本用例中所有的活动,并绘制出来。
    5.分析分支或分叉,并绘制出来。
    6.确定动作流,并绘制出来。

    注意:确定活动流,就是要思考活动与活动之间的关系,活动与对象之间的关系,以及活动流所传递的参数。
    有时候还需要对活动图进行一定的补充,可以用表格的形式把每个活动中所操作的对象和参数给予补充说明。

    一个活动图的例子:
    一个考试的过程:
    1.开始
    2.学生进入考场。
    3.监考教师核对检查证件。
    4.学生对号入座。
    5.监考教师发试卷
    6.学生开始答题。
    7.学生交卷。
    8.监考教师收取试卷。
    9.结束
    活动图的表示
    在这里插入图片描述

    标识泳道的活动图
    为了有效地表示各个活动由谁负责的信息,可以通过**泳道(Swimlane)**来实现。
    每个泳道用一条垂直的线将它们分开,并且每个泳道都必须有一个唯一的名称。
    例如本例中的监考教师和考生。
    加入泳道的考试
    从图中可以看出,每个活动节点,分支必须只属于一个泳道,而转换,分岔与汇合是可以跨泳道的。
    通过泳道,不仅体现了整个活动控制流,还体现出了每个活动的实施者。
    在这里插入图片描述
    活动图的筛选
    活动图的绘制也是在解读需求分析报告的基础上进行的,活动图的设计需要进行筛选和分析。
    并不是所有的用例都需要绘制活动图,分析的要素包括:
    对象数量
    活动数量
    事件流数量
    判断频率
    多项选择
    不要画没必要的图。简单的不用画,代码级别的细节不要画,能够在类设计层面上起到指导作用就可以了。对于一些复杂的用例,最细是画到方法层面上,不要过多的把精力花费在细节方面。

    在这里插入图片描述
    学生教材购销系统的活动图
    在这里插入图片描述
    状态机图和活动图的区别
    状态机图:用来描述对象,子系统,系统的生命周期。通过状态机图可以了解一个对象所能达到的所有状态,以及对象收到的事件对对象状态的影响。
    活动图:显示动作及其结果。着重描述操作(方法)实现中所完成的工作以及用例实例或对象中的活动,它是状态图的一个变种。

    状态机图与活动图的区别:活动图主要描述动作及对象状态改变的结果。状态机图主要描述的是事件对对象状态的影响

    展开全文
  • UML活动图、状态图

    万次阅读 多人点赞 2018-10-13 13:55:27
    本文主要介绍状态图和活动图。 一.状态图  状态(state)是指在对象的生命期中的某个条件或状况,在此期间对象将满足某些条件、执行某些活动或等待某些事件。所有对象都具有状态,状态是对象执行了一系列活动的...

     本文主要介绍状态图和活动图。

    一.状态图


          状态(state)是指在对象的生命期中的某个条件或状况,在此期间对象将满足某些条件、执行某些活动或等待某些事件。所有对象都具有状态,状态是对象执行了一系列活动的结果,当某个事件发生后,对象的状态发生变化。

         状态图(statechart diagram): 
         用来描述一个特定的对象所有可能的状态,以及由于各种事件的发生而引起的状态之间的转移和变化。
    并不是所有的类都需要画状态图,有明确意义的状态,在不同状态下行为有所不同的类才需要画状态图。如下,
    一个机器的状态图

    image

     

    再如,CD Player的状态图

    image

    1.状态
    一个状态有以下几个部分:状态名(name)、进入/退出动作(entry/exit action)、内部转移(internal transttion)、子状态(substate)、延迟事件(dferred event)。
    状态可以细分为不同的类型,例如初态、终态、中间状态、组合状态、历史状态等。一个状态图只能有一个初态,但终态可以有一个或多个,也可以没有终态。
    中间状态包括两个区域:名字域和内部转移域,如图所示。其中内部转移域是可选的。

    image

    横线上面是名字域,下面是转换域(可选)。

    ntry/turnOn:当转入该状态时,做开灯动作。
    do/blinkFivetimes:当处于该状态时,灯闪烁5次。do活动是只在状态内出现的活动,不能附加到转换上。
    event poweroff/powerSupplySelf:当电源关闭事件发生时,用自备电源。
    exit/turnOff:当转出该状态时,做关灯动作。
    event selfTest/defer:当selfTest事件发生时,对象将延迟响应,到别的状态中再处理,用defer这个特定动作表示延迟。

    2.状态图的要素


    椭圆或圆角矩形:表示对象的一种状态,椭圆内部填写状态名
    箭头:表示从箭头出发的状态可以转换到箭头指向的状态
    事件:引起状态转换的原因。事件名可在箭头线上方标出
    条件:事件名后加方括号,括号内写状态转换条件
    实心圆:初始状态
    内部实心的同心圆:最终状态

    3.状态的类型

    ①按状态过程分:

    image

    ②含有子状态的状态被称为组合或嵌套状态

    image

    组合状态可以使用“与”关系分解为并发子状态,或者通过“或”关系分解为互相排斥的顺序子状态。两种表示方法:
    顺序子状态
    如果一个组成状态的子状态对应的对象在其生命期内的任何时刻都只能处于一个子状态,即多个子状态之间是互斥的,不能同时存在,这种子状态称为顺序子状态。

    image
    并发子状态
    有时组合状态有两个或者多个并发的子状态机,此时称组成状态的子状态为并发子状态。

    image

    历史状态是伪状态, 其目的是记住从组合状态中退出时所处的子状态, 当再次进入组合状态时, 可以直接进入这个子状态, 而不是再从组合状态的初态开始。

    image浅(shallow)历史状态, 只记住最外层组合状态的历史。


    image深(deep)历史状态, 可以记住任意深度的组合状态的历史。

    CD Player,running状态被打断到power on状态,再转回到running状态时,希望直接进入历史状态

    image

    4.转移(Transition)
    转移是两个状态间的一种关系,表示对象将在当前状态中执行动作,并在某个特定事件发生或某个特定的条件满足时进入后继状态。 每个转移只允许有一个事件触发,一个事件只允许有一个动作。

    ①转移的五要素(注意格式)

    格式:事件(参数)[条件]/动作
    ▪源状态
    ▪目标状态
    ▪触发事件
          -如果箭头上不带任何事件名,表示是一个自动转换,当与源状态相关的活动完成时就会自动触发。
    ▪监护条件
    ▪动作

    image

    ②转换的类型

    内部转移:不导致状态改变的转移,不会执行entry和exit动作

    image
    外部转移
    自转移

    image

    5.事件(Event)
    事件是对一个时间和空间上占有一定位置的有意义的事情的规格说明。事件触发状态的转移。


    四类主要事件:
    ▪信号事件
    ▪调用事件
    ▪变化事件
    ▪时间事件

    ①信号signer事件
    对象之间通过发送信号和接收信号实现通信。信号是一种异步机制。在计算机中,鼠标和键盘的操作均属于此类事件。对于一个信号而言,对象一般都有相应的事件处理器,如onMouseClick()等。

    ②调用call事件
    表示一个操作的调度。一个对象请求调用另一个对象的操作
    信号是一个异步事件,而调用事件一般是同步的。也就是说,当对象调用另一对象的操作时,控制就从发送者传送到接收者,该事件触发转换,完成操作后,接收者转换到一个新的状态,控制返还给发送者。

    image

    ③变化change事件
    用关键字When,后面跟布尔表达式
    When(temperature>120)/alerm()
    变化事件的意图是要频繁测试表达式,只要表达式由假变为真,事件就会发生。

    image

    注意: 变化事件与监护条件的区别

    ④时间(time)事件
    时间事件是指在绝对时间或在某个时间间隔内发生的事情所引起的事件。
    例如到达某一时间或经过了某一时间段。用关键字When 或After表示。

    image

    6.状态图建模技术

    建模步骤:
    ①找出适合用模型描述其行为的类。
    ②确定对象可能存在的状态。
    ③确定引起状态转换的事件。
    ④确定转换进行时对象执行的相应动作。
    ⑤对建模的结果进行相应的精化和细化。

    二.活动图

    1. 活动图的概念
           活动图(activity diagram)是UML的动态视图之一,用来描述事物或对象的活动变化流程。活动图可看作状态图的特殊形式。特殊性在于活动图中的一个活动结束后将立即进入下一个活动而不需要事件触发活动的转移。

          活动图用于描述系统的工作流程和并发行为。活动图被设计用于简化描述一个过程或操作的工作步骤。例如,可以用活动图对一个软件的开发过程建模;还可以对诸如求Fibnacci数列第n个数的数值之类的操作进行建模。

    活动图示例:

    image

    2.活动图的组成元素:


    ▪活动(Activity)
    ▪动作流(Action Flow)
    ▪分支(Branch)与合并(Merge)
    ▪分叉(Fork)和汇合(Join)
    ▪泳道(Swimlane)
    ▪对象流(Object Flow)

    3.活动

    活动(activity)表示的是某流程中的任务的执行,它可以表示某算法过程中语句的执行。活动在活动图中表现为一个由一系列动作组成的非原子的执行过程。


    动作状态(Action State)
    活动状态(Activity State)

    ①动作状态

    动作状态是指执行原子的、不可中断的动作,并在此动作完成后通过完成转换转向另一个状态的状态。 
    动作状态使用平滑的圆角矩形表示,动作状态所表示的动作写在圆角矩形内部。

    image

    ②活动状态

    活动状态是可分解的,不是原子的,其工作的完成需要一定的时间。
    可把动作状态看作活动状态的特例。 
    活动状态的表示图标也是平滑的圆角矩形,并可以在图标中给出入口动作和出口动作等信息。

    image

    4.动作流

    所有动作状态之间的转换流称之为动作流。 
    活动图的转换不需要特定事件的激发,一个动作状态执行完后自动转换到另外一个状态。
    活动图的转换用带箭头的直线表示。
    可用条件限制转换。

    image

    5.分支与合并

    分支一般用于表示对象类所具有的条件行为。
    条件行为用分支和合并表达。 
    一个分支有一个入转换和两个带条件的出转换,出转换的条件应当是互斥的。
    一个合并有两个带条件的入转换和一个出转换,合并表示从对应的分支开始的条件行为的结束。

    image

    6.分叉与汇合

    分叉用于将动作流分为两个或者多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。
    分叉可以用来描述并发线程。
    汇合代表两个或多个并发控制流同步发生,当所有的控制流都达到汇合点后,控制才能继续往下进行。

    image

    7.泳道

    泳道将活动图中的活动化分为若干组,并把每一组指定给负责这组活动的业务组织,通常为对象。
    泳道区分了负责活动的对象,明确地表示了哪些活动是由哪些对象进行的。
    每个活动只能明确地属于一个泳道。
    泳道用垂直实线绘出,垂直线分隔的区域就是泳道。在泳道上方可以给出泳道的名字或对象(对象类)的名字,该对象(对象类)负责泳道内的全部活动。
    泳道没有顺序,不同泳道中的活动既可以顺序进行也可以并发进行,动作流和对象流允许穿越分隔线。

    image

    8.活动的分解

    一个活动可以分为若干个动作或子活动,这些动作和子活动本身可以组成一个活动图。
    一个不含内嵌活动或动作的活动称之为简单活动;一个嵌套了若干活动或动作的活动称之
    为组合活动,组合活动有自己的名字和相应的子活动图。

    image

    一个包含子活动的活动和嵌套了子状态的组合状态类似,概念上也相对统一。

    image

    9.活动图的用途

    ▪对系统工作流程建模
      工作流:是一个良好定义的动作序列,执行时将产生一个可观察的值,或者产生一个个体或实体的对象。 
    ▪对工程组织过程建模
    ▪对算法流程建模

    ①对系统工作流的建模

    image
    ②对工程组织过程建模

    image
    ③对算法流程建模

    image

    10.活动图建模技术


    ①识别要对其工作流描述的类或对象。
    ②确定工作流的初始状态和终止状态,明确工作流的边界。
    ③对动作状态或活动状态建模。
    ④对动作流建模。
    ⑤对对象流建模。
    ⑥对建立的模型进行精化和细化

    三.活动图与状态图的比较

    1.活动图与状态图的相同点
       都是对系统的动态行为建模。

    2.活动图与状态图的区别:
    ①描述对象不同


           状态图:描述对象状态及状态之间的转移;
           活动图:描述从活动到活动的控制流。


    ②使用场合不同


           状态图:描述对象在其生命期中的行为状态变化;
           活动图:描述过程的流程变化。

     

    展开全文
  • 图书管理系统活动图

    热门讨论 2011-11-21 10:34:41
    uml活动图顺序图 1) 借阅者的活动图 2) 图书管理员的活动图 3) 系统管理员的活动图
  • UML--活动图详解

    万次阅读 2019-10-23 20:41:29
    活动图 活动图是状态机的一个特殊例子,它强调计算过程中的顺序和并发步骤。活动图所有或多数状态都是活动状态或动作状态,所有或大部分的转换都由原状态中完成的活动触发。 活动图的含义 活动图是一种用于描述系统...
  • ATM取款机 UML活动图 时序图 顺序图 用例图 类图

    千次下载 热门讨论 2011-07-22 18:15:29
    ATM取款机 UML活动图 时序图 顺序图 用例图 类图 ATM取款机 UML活动图 时序图 顺序图 用例图 类图 ATM取款机 UML活动图 时序图 顺序图 用例图 类图 ATM取款机 UML活动图 时序图 顺序图 用例图 类图 ATM取款机 UML...
  • UML网上购物活动图和状态图

    热门讨论 2011-12-29 19:21:17
    面向对象技术与UML实验课的内容,拿出来与大家分享一下,请大家多多指教。
  • 需要绘制用例图 活动图 类图的看过来 很全的网上书店的各个模块的用例图 活动图 类图 使用rational rose 哦 在UML建模时 有必要!赶快来拿吧
  • UML——活动图和状态图

    千次阅读 2020-05-28 10:34:44
    活动图 活动图的基本要素 状态图 状态图的基本要素 状态图与活动图之间的区别 活动图 概念:活动图本质上是一种流程图,它描述活动的序列,即系统从一个活动到另一个活动的控制流。 作用 描述一个操作的...
  • UML图:活动图详细介绍

    万次阅读 多人点赞 2021-01-05 16:53:48
    活动图简介 什么是活动图(Activity Diagram) 活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流,活动图在本质上是一种流程图;活动图着重表现从一个...
  • UML建模——活动图(Activity Diagram)

    千次阅读 2019-04-12 12:03:09
    活动图概述 •活动图和交互图是UML中对系统动态方面建模的两种主要形式 •交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流 •活动图是一种表述过程基理、业务过程以及工作流的技术。...
  • 银行ATM活动图

    千次阅读 2018-06-08 18:50:23
    取款活动图3. 存款活动图4. 转账活动图5. 查询活动图6. 改密活动图7. ATM管理员操作活动图二、 文字说明1、密码验证活动图 描述银行主机密码验证的过程,包含的动作有:插卡、提示输入密码、输入密码、密码验证、...
  • 掌握如何使用Rose绘制活动图的方法

    万次阅读 2019-12-09 17:42:15
    (1)熟悉活动图的基本功能和使用方法。 (2)掌握如何使用Rose绘制活动图的方法。 二、实验要求 (1)4学时; (2)每组1人; (3)设计性实验; 三、实验主要设备 台式或笔记本电脑 四、实验内容 1.案例...
  • 用例图+活动图+状态图

    千次阅读 2020-12-17 19:38:12
    订餐过程 活动图 顾客请求查看菜单; 系统显示菜单和今日特价; 顾客选菜; 系统显示订单和价格; 顾客确认订单; 系统显示可送餐时间; 顾客指定送餐时间、地点和支付方式; 系统确认接受订单,然后发送Email给...
  • 菜鸟实战UML——活动图

    千次阅读 多人点赞 2018-10-04 15:03:55
    活动图 活动图(activity diagram)是阐明了业务用例实现的工作流程。业务工作流程说明了业务为向所服务的业务主角提供其所需要的价值而必须完成的工作,业务用例由一系列活动组成,他们共同为业务主角生成某些工件...
  • 好歹还上过一学期的UML课 整理一下笔记吧 UML:统一建模语言(Unified Modeling Language) UML是非专利的第三代建模和规约语言 是用于说明 可视化 构建和编写一个正在开发的 ...模型的分类: 1、用例 从用户的角...
  • 《软件工程》活动图

    千次阅读 2018-10-31 11:35:03
    描述了活动活动间依赖关系的,其中节点表示项目的里程碑(活动结束) ,线表示活动,线对应的时间表示活动的持续时间。 如图例中 ,A-&gt;B 的这条线代表的这个活动从 A 开始,需要做 3天,才能结束,到达 ...
  • 项目活动图 - 举例说明

    千次阅读 2019-06-18 14:16:43
    2、活动 EH 和 IJ 的松弛时间分别是: 第一种方法: EH 的松弛时间:H 的最晚开始时间 - H 的最早开始时间 = 16 - 11 = 5 天; IJ 的松弛时间:J 的最晚开始时间 - J 的最早开始时间 = 21 - 18 = 3 天; ...
  • 活动图、泳道【图1】--☆☆

    千次阅读 2018-11-12 14:21:00
    活动图概述 •活动图和交互图是UML中对系统动态方面建模的两种主要形式 •交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流 •活动图是一种表述过程基理、业务过程以及工作流的技术。它...
  • 活动图: 可以用来表述业务用例的流程(工作过程) 顺序图: 可以用来表述系统用例的实现过程(也就是说该系统用例涉及的各个对象间如何进行通信的) 业务用例表示一个业务的流程,是业务系统(业务所在的组织机构)...
  • 活动图案例解析

    千次阅读 2019-05-28 11:03:35
    但是活动图是用来描述流程的,一般情况下,活动图比时序图复杂。有时候有时序图描述不了的流程,但是没有活动图无法描述的场景。在实际的工作中,建议优先考虑时序图,如果时序图描述不了,那么就考虑使用活动图来...
  • 我一直以为,在软件设计中,各种要比文档重要的多。可以更加直接的反应软件的构造。尤其是在面向对象的软件设计中。可以让我们直观的了解各个类和对象直接的交互和关系。 1、用例 定义:展示系统中参与...
  • UML图绘制(三)-----活动图的画法 一

    万次阅读 多人点赞 2019-05-28 19:31:37
    什么是活动图 活动图(activity diagram)是阐明了业务用例实现的工作流程。 业务工作流程说明了业务为向所服务的业务主角提供其所需要的价值而必须完成的工作, 业务用例由一系列活动组成,他们共同为业务主角...
  • 银行ATM系统——活动图及文档

    千次阅读 2018-05-18 13:26:51
    活动图(activity diagram)是描述动作、动作的执行次序以及动作的输入与输出的图,它由动作结点和边构成. 针对银行ATM系统,我设计了五个主要功能的活动图: 1.验证密码活动图 2.查询账户信息活动图 3.存款...
  • 活动图描述用例“创建课程目录”。 二、实验分析 1、确定泳道。 创建课程目录需要两个对象,管理员Manager和教师Teacher。 2、确定流程。 开始——》管理员创建课表(CreateCourseCatalogue)——》教师选课...
  • 面向对象设计与分析 在线购物系统 活动图 ** 博客地址: 实验一: http://202.116.161.68/moodle/blog/index.php?entryid=1605 实验二: https://blog.csdn.net/qq_36313105/article/details/89442088 实验三...
  • 活动图求最少时间和松弛时间

    万次阅读 多人点赞 2019-05-05 09:08:04
    一、介绍 ...构造PERT,需要明确四个概念:事件、活动、松弛时间和关键路线。 1、事件(Events)表示主要活动结束的那一点; 2、活动(Activities)表示从一个事件到另一个事件之间的过程; 3...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 593,394
精华内容 237,357
关键字:

活动图