UML建模(状态图)

作者: 阿里加多 | 来源:发表于2017-05-10 08:17 被阅读401次

阿里巴巴长期招聘Java研发工程师p6,p7,p8等上不封顶级别,有意向的可以发简历给我,注明想去的部门和工作地点:1064454834@qq.com

欢迎关注微信公众号:技术原始积累 获取更多技术干货

8、状态图

状态机图是一种行为图,它通过使用有限的状态转移展示了一个系统中一个模块的一些离散的行为,在UML2.4里面有两种状态机图:行为状态机(behavioral state machine),协议状态机(protocol state machine)。

8.1 元素介绍

__ 行为状态(Behavioral State)__

  • 简单状态(Simple State)
    简单状态没有子状态机和域,UML中使用带拐点的矩形标示简单状态,并且状态名字写在矩形内部。
image.png
  • 组合状态(Composite State)
    组合状态被定义为用用子状态或者嵌套状态的状态行为,子状态可以是顺序发生的也可以是并发发生,组合状态里至少有一个域,如下图含有一个域
image.png

__ 起始状态(Initial Pseudostate),终止状态(Final State),(行为转移)Behavioral Transition
__

image.png

如图黑色实心为起始状态,末端双环圆为终止状态,中间连接线为行为转移,其中isAuthed为一个guard说明满足该条件才会进行状态转移,然后执行函数auidt。

8.2 行为状态机(behavioral state machine)

使用有限状态转移表示一个系统中的离散行为的变换,行为被建模为通过一系列转移线连接起来的状态。
一个简单的行为状态机:

image.png

8.2 协议状态机(Protocol State Machine)

协议状态机是行为状态机的一个子类,是行为状态的扩展,用来描述一个类的生命周期和协议,他描述一个类的哪一个动作可以被哪一个状态下的规定条件下被调用。

image.png

8.3 官方例子

如下图是一个Java线程状态机图(协议状态机图)

image.png

如图 New状态是一个线程被创建但是没有执行start()方法时候状态。
在JVM看来当一个线程在Runnable时候它是在运行,但是在os看来却未必,因为线程可能没有获取到处理器。所以可以考虑把Runnable看为一个内部有两个子状态的组合状态,当一个线程状态进入Runnable时候,首先进入Ready状态(其他资源已经就绪,就差cpu),由线程调度策略决定何时把这个线程从Ready转变为running状态,函数Thread.yield() 则知识线程调度暂定当前线程执行,把线程从running状态转变为Ready状态...

欢迎关注微信公众号:技术原始积累 获取更多技术干货

image.png

相关文章

  • UML建模(状态图)

    阿里巴巴长期招聘Java研发工程师p6,p7,p8等上不封顶级别,有意向的可以发简历给我,注明想去的部门和工作地点...

  • UML建模工具

    1.简介 UMLet是一款简单实用、开源的轻量级UML建模工具,UML中定义了用例图、类图、对象图、状态图、活动图...

  • UML状态图

    【转载】UML状态图,用于显示状态机,即描述一个对象所处的可能状态以及状态之间的转移。用状态图建模可以帮助开发人员...

  • 移动架构<第一篇>:UML建模

    [使用工具] PowerDesigner 16 [UML建模集合] UML建模<第一篇>:基本概念UML建模<第二...

  • 产品概念学习

    最近对于产品的学习更偏向于概念性,UML建模、用例、状态图这些平时不屑的知识,在行业内也是受到推荐的。但是最...

  • UML建模之状态图(Statechart Diagram)

    一、状态图简介(Brief introduction) 状态图(Statechart Diagram)主要用于描述...

  • UML-Activity Diagram

    活动图与状态图,顺序图为行为建模三剑客。活动图是用于表示业务流程很好一种UML工具。 基础语法包括:初始状态,结束...

  • UML统一建模语言介绍

    UML统一建模语言介绍 统一建模语言简介 统一建模语言(Unified Modeling Language,UML...

  • UML基础

    UML基础 统一建模语言(Unified Modeling Language,UML)又称标准建模语言。 模型分类...

  • UML建模工具PlantUML的使用办法

    UML(Unified modeling language) 是统一建模语言或者标准建模语言。通过使用 UML 的...

网友评论

    本文标题:UML建模(状态图)

    本文链接:https://www.haomeiwen.com/subject/tjewtxtx.html