说完uml的静态图了,说一下uml的动态的表示吧。

uml的行为图,uml的行为图主要用来设计程序的行为。还是老规矩,先来张图:

行为图包含活动图和状态图两种。

先来说下活动图:活动图是由活动的节点和流程构成的图。比较清晰的表达了各个步骤的流程。

首先是起点和终点,活动图由一个实心圆表示起点,一个实心圆外加一个圆圈来表示终点。

然后是节点,节点这个词比较高大上,其实它很简单,就是说的流程进行的状态,进行到哪一步了。上图的“用户下订单”、“生产送货单”等都是节点。

在用户选择支付方式的节点下边,有个菱形的图形,在这里根据用户是否取消订单的条件,将流程分成了两条路,这就是分支,而这里的条件,也有个高大上的名词:监护条件,感觉就像大人监护孩子一样,根据孩子的表现决定接下啦的动作。

在用户下订单的下面,和供应商供货之前,有个横条(竖条)这就是uml对数据的并发操作的描述。不了解并发是啥?ok我来简单的介绍一下:并发就是两件事情一起进行。比如说,小学的时候,老师经常让我们用“一边、、、一边、、、”造句,我们可能会说:“小明一边看电视,一边吃饭。”这里的“看电视”和“吃饭”就是小明的并发操作。这两个条是同步条,同步条肯定是同步出现的。

泳道,在这张图里,我们把各个活动的负责主体用一条竖线隔离,以便于我们分析系统你给的负责人。这样,每个负责人的下面就形成一个类似游泳时的泳道一样的效果。这就是我们说的泳道。泳道一般是在系统分析后期以及系统设计阶段使用。

活动图一般用作对系统的工作流建模和对系统的操作建模。

描述行为的除了活动图外还有一种图是状态图。

状态图主要强调的是状态,表示的是在某个时间段内,某个对象会保持在某个状态中,在发生某个事件后,状态就会改变。

状态机主要描述的是一个类的实例在接到消息时所作出的响应。如上图所示,描述的就是一个热水器在工作时的行为。是描述一个状态图的局部的对象的行为的视图,可以对状态图里的某个对象的行为精确的描述。

 
         一个状态图包含以下部分:源状态、目标状态、触发事件、监护条件和动作等。在上图中,off就是源状态,turnOn就是触发的事件,当收到这个消息后,监护条件就需要判断是否有水,如果没有,就不执行打开的操作,如果有水就允许操作执行。等进行验证后,变成了On的状态就是目标状态的实现。在turnOn转换完成后,就结束了么?这些都是状态的改变,如果定义了在On的状态,就一直给水加热,那么,在这个状态实现后,就一直给水加热,这就是烧水的动作。

状态图的绘制,状态图的绘制有以下步骤:

                      1.寻找主要状态。
                      2.确定状态之间的转换。
            
         3.细化状态内部的活动与装换。

状态图的作用:

 
         状态图主要对对象的生命周期建模:状态机图是单个对象在整个系统中的行为的建模,主要描述的是对象的能响应的事件,响应事件后对行为的影响。
 
         状态图对反应型对象建模:描述一个对象从一个状态到另一个状态装换时所需的触发事件。以及事件发生时发生的动作。

uml系列(六)——行为图:活动&状态的更多相关文章

  1. [UML]UML系列——活动图activity diagram

    系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...

  2. [UML]UML系列——状态机图statechart diagram

    系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...

  3. [UML]UML系列——时序图(顺序图)sequence diagram

    系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...

  4. [UML]UML系列——协作图(通信图)collaboration diagram

    系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...

  5. UML系列图--用例图

    UML-Unified Model Language 统一建模语言,又称标准建模语言.是用来对软件密集系统进行可视化建模的一种语言. 在UML系统开发中有三个主要的模型: 功能模型: 从用户的角度展示 ...

  6. UML用法及状态图,活动图介绍

    统一建模语言UML(Unified Modeling Language)是非专利的第三代建模和规约语言.UML是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对象的.软件密集系统的制 ...

  7. UML系列图--用例图(转)

    UML-Unified Model Language 统一建模语言,又称标准建模语言.是用来对软件密集系统进行可视化建模的一种语言. 在UML系统开发中有三个主要的模型:  功能模型: 从用户的角度展 ...

  8. [UML]UML系列——类图Class

    相关文章       [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) 一.类图的概念及组成 1.类图的概念 类图是描述类.接 ...

  9. [UML]UML系列——类图class的关联关系(聚合、组合)

    关联的概念 关联用来表示两个或多个类的对象之间的结构关系,它在代码中表现为一个类以属性的形式包含对另一个类的一个或多个对象的应用. 程序演示:关联关系(code/assocation) 假设:一个公司 ...

  10. [UML]UML系列——类图class的依赖关系

    相关文章          [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       [UML]UML系列—— ...

随机推荐

  1. AVR单片机的BOOT区

    BOOT区的由来基于一个简单的道理,即单片机的程序是保存在FLASH中的,要运行程序就必须不停的访问FLASH存储器.对于一般的FLASH存储器,数据的写入需要一定的时间来完成,在数据写入完成之前,存 ...

  2. 苹果App Store开发者帐户从申请,验证,到发布应用(1)

    app store为开发者提供四种类型的申请: 个人ios开发者计划$99/年 公司ios开发者计划$99/年 企业ios开发者计划$299/年 高校ios开发者计划免费 在这里主要介绍一下公司ios ...

  3. 在spring 3.0中的@value

    在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件 中的文件,进行键值对的注入,例子如下: 1 首先在applicationContext.xml中加入:   ...

  4. T4模板使用

    本例使用的数据库是Northwind 1.新建tt文本模板customer.tt 2. 修改customer.tt内容为 <#@ template debug="false" ...

  5. SQL数据库文件修复/用友/金蝶/管家婆/速达/思讯数据库恢复 硬盘恢复

    硬盘的故障情况可以分为以下几类: 1.控制电路故障 大部分外电路的问题是电源芯片或主轴驱动芯片烧坏引起的,由于硬盘电路板质量问题.设计缺陷.市电波动.突然断电.芯片老化或者散热不良.静电等原因造成芯片 ...

  6. iOS 之 支付

    现在广泛应用的是微信支付和支付宝支付,这两种应该覆盖了几乎所有网上消费的用户,所以我们就用这两种支付方式就够了.2014年用过支付宝的网民购物占比有94%. 1. iOS 之 微信支付 2. iOS ...

  7. centos5.5 Apache2 Web 服务器的安装

    # vi /etc/httpd/conf/httpd.conf 把以下虚拟机的配置加在 httpd.conf  文件末尾即可 NameVirtualHost *:80               // ...

  8. Eclipse常见操作

    Eclipse打开Package Explorer Window > Show View > Other Java > Package Explorer 然后可以将其拖拽到Eclip ...

  9. 【翻译】使用Visual Studio在Azure上部署Asp.Net Core Web应用

    配置运行环境 Install the latest Azure SDK for Visual Studio. The SDK installs Visual Studio if you don't a ...

  10. 结合swiper使用图片懒加载

    本人渣渣一枚,技术一般,记录下笔记,大神勿喷,可以留下优化建议,谢谢 最近刚刚做了个展示型的网站,使用swiper搭的框架,因为图片比较多,所 以首次加载稍微有些慢,虽然压缩过了,但是尽可能的优化吧, ...