UML之状态图
状态图,英文名曰-Statechart Diagram,她是系统的动态方面建模的五种图之一,一个状态图显示了一个状态机,在为对象的生命期建模中,她发挥着重要的作用,展示了单个对象内从状态到状态的控制流。
从实质上来讲,她是一种由于状态、变迁、时间和活动组成的状态机。一般而言,状态图是对类所描述设施的补充说明,描述了类的所有对象可能具有的状态以及引起状态变化的事件。举个简单的例子,灯有两种状态,开着的状态,关闭着的状态,现在我们一起来学习一下状态图的有关知识,首先,看一下知识概览:
在了解状态图之前,我们首先要弄明白一个问题,那就是状态机,她是什么呢?跟我们的状态图有什么不一样的地方呢?让我们拭目以待:
有了 对状态机的初步了解,能够更好地帮帮助我们理解状态图,接下来,一起来学习一下状态图的相关知识:
状态图的状态到底是什么意思呢,是否像是我们之前理解的那样,灯有两种状态,开着的状态,关闭着的状态,看下图:
接下来,转换的概念:
前面介绍过,状态图用来对一个对象按事件排序的行为建模,以及状态图的一些基本知识,那么建模步骤又是怎样的,以及我们又该如何学以致用,绘制状态图呢?如下图:
学习完状态图的理论知识,我们来应用一下,大家都有乘坐电梯的经历,那么小小的电梯之中,蕴藏着怎样的状态图呢,让我们拭目以待:
生活处处皆学问,编程来自生活,却高于生活,需要的就是我们会发现的眼睛,以及善于思考的大脑,接下来,以机房收费系统为例,从登录系统开始,到退出系统,这个过程之间的状态图又是如何体现的:
机房收费系统中,涉及到的状态比较多,有卡的状态,表的状态,等等,需要我们慢慢去挖掘。初次接触状态图,自己浅浅的理解,比如说有一个投资者,为一座大厦的建造提供资金。投资者未必对建造过程的细节感兴趣。什么材料的选择、贸易计划以及一些细节的问题,投资者都没有必要一一去过问,这些都是建造者的工作。
投资者感兴趣的是对投资的良好回报,投资者真正感兴趣的是大厦的最终状态,对于投资者来说,跟踪大厦状态的变化比跟踪活动流更为重要。UML之旅,未完,待续......
UML之状态图的更多相关文章
- UML-状态图,顺序图,活动图
一.编写用例文档 1.用例的内容: 用例编号 用例名 执行者 前置条件 后置条件 基本路径 扩展路径 字段列表 业务规则 ...
- 【UML】状态图Statechart diagram(转)
前言 UML由动态图和静态图组成,状态图就是属于动态图中较为重要的一张图. 定义 用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移. 目的 ...
- UML学习-状态图
1.状态图概述 状态图(Statechart Diagram)主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件(Event),以及因状态转移而伴随的动作( ...
- 【UML】状态图介绍
1.Statechart Diagram 即状态图,主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列.引起状态转移的事件(Event).因状态转移而伴随的动作(Action) ...
- (八)UML之状态图
一.概念 状态图(Statechart Diagram)主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件(Event),以及因状态转移而伴随的动作(Act ...
- UML的9种图例解析
摘自: http://blog.csdn.net/fatherican/article/details/44966891 UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 类与类图 1) 类 ...
- 【转】UML的9种图例解析
UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中, ...
- UML的9种图例解析(转)
原帖已经不知道是哪一个,特在此感谢原作者.如有侵权,请私信联系.看到后即可删除. UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 类与类图 1) 类(Class)封装了数据和行为,是面向对 ...
- DDD:建模原语 之 四象图(转载的神文)
“模型.状态和行为特征.场景”和“四象图”,建模观的命名与立象. 建模原语:四象图 作者:achieveidea@gmail.com 命名:模型.结构特征.行为特征.场景(及其规约). 释义:模型,描 ...
随机推荐
- 20160211.CCPP体系详解(0021天)
程序片段(01):01.指针数组.c+02.动态数组.c 内容概要:指针数组 ///01.指针数组.c #include <stdio.h> #include <stdlib.h&g ...
- Android图表库MPAndroidChart(十三)——简约的底部柱状图
Android图表库MPAndroidChart(十三)--简约的底部柱状图 我们继续上一讲,今天还是说下柱状图,这个图的话应该是用的比较多的,所有拿出来溜溜,先看下效果 我们还是来看下基本实现 一. ...
- XML之SAX解析模型
DOM解析会把整个XML文件全部映射成Document里的树形结构,当遇到比较大的文件时,它的内存占用很大,查找很慢 SAX就是针对这种情况出现的解决方案,SAX解析器会从XML文件的起始位置起进行解 ...
- RocketMQ,JStorm与Tair使用笔记
关于RocketMQ 启动mq nohup sh mqnamesrv -n 10.150.0.94:9876 & nohup sh mqbroker -n 10.150.0.94:9876 ...
- Android View框架总结(四)View布局流程之Measure
View树的measure流程 View的measures时序图 View布局流程之measure measure过程 View的measure过程 ViewGroup的measure过程 Frame ...
- UNIX网络编程——select函数的并发限制和 poll 函数应用举例
一.用select实现的并发服务器,能达到的并发数,受两方面限制 1.一个进程能打开的最大文件描述符限制.这可以通过调整内核参数.可以通过ulimit -n来调整或者使用setrlimit函数设置, ...
- Android四大组件之一Service介绍-android学习之旅(十二)
基本概念: service是android四大组件之一,运行在后台执行耗时操作,并不提供用户界面.其他组件如acticity可以通过startService启动该组件,也可以通过bindService ...
- Eclipse中pydev开发,python重载__init__报错,是可以正常执行
python支持函数重载 而在使用Eclipse的pydev开发时,重载函数__init__时,却出现了错误duplicated 我想不到解决办法,但是居然能正常执行. pydev报错是编译错误,而p ...
- Android学习之Animation(一)
3.0以前,android支持两种动画模式,Tween Animation,Frame Animation,在android3.0中又引入了一个新的动画系统:Property Animation,这三 ...
- JSP +MySQL实现网站的登录与注册小案例
为了练手,我就自己试着做了一个网站的登录与注册的小案例.由于没有做美化处理,所以界面并不是很好看. 网站实现的功能如下: 用户首次注册功能 用户登录功能 项目目录展示: 下面我将会分模块展示 注册模块 ...