UML视图(四)状态图
以下是一个图书馆管理系统的状态图,非常典型,涵盖状态图的全部元素的使用,由于状态图相对照较简单,直接从看图就能非常好地掌握。假设想对状态图的元素严谨的概念进行了解,在图下方,有仔细的叙述。
看了上面的状态图,相信已经对状态图有了比較宏观的把握,面对接下来的理论知识,你会感觉内容非常少,这个感觉是非常自然的,由于内容确实少。时刻记得UML的重要思想如UML的定义“统一建模语言”,重在“统一”。
状态图显示一个状态机,通常指用于描写叙述单个对象的行为,主要用于描写叙述对象的状态变化一确定何种行为改变了对象状态,以及对象状态变化对系统的影响。一般用于描写叙述实体类对象的整个生命周期内的状态变迁以获得对这个实体的理解,同一时候获得系统和实体对象相互影响的关系。
假设想要描写叙述对象间的交互,最好採用时序图或协作图,效果会更令你惬意。
状态图的组成元素:
- 初始状态
初始状态是状态机的起始位置,它不须要事件的触发。
- 状态
状态是对象运行某项活动或等待某个事件是的条件。
- 复合状态
复合状态是具有子状态(或称为嵌套状态)的状态。其子状态能够是一个局部完整的过程,包含一个初始状态和一个终止状态。
- 转移
转移是两个状态之间的关系,它表示当发生指定事件而且满足指定条件时,第一个状态中的对象将运行某些操作并进入第二个状志。一般来说,转移总是由一个事件来驱动的,只是有时候转移是不须要事件的,没有事件的转移称为"全然转移",它表示某个状态的"默认发生"。比如当图书处于借出状态时,它能够默认的转移为"不可借出"状态。
- 事件
事件是一个特定的动作或行为,有时候也包含系统时钟之类的定时器,假设条件瞒足,事件的发生将触发一个转移。
- 终于状态
终于状态表示状态机运行结束,或者对象生命周期结束。
以下就用机房收费系统的状态图,欢迎不吝赐教!
机房收费系统 是我不久前完毕的一个系统,在学习UML时,因对机房收费系统的业务还比較熟悉,所以总须要用它来练练手。
分析:选取“上机卡”作为状态机所描写叙述的对象(当中“上机卡”是为了描写叙述业务而特意抽象出来的,在现实中,可能根本不用,仅仅须要记住自己的账号和相应password就能够了)。
參考:《Thinking in UML》
UML视图(四)状态图的更多相关文章
- ASP.NET MVC 视图(四)
ASP.NET MVC 视图(四) 前言 上篇对于利用IoC框架对视图的实现进行依赖注入,最后还简单的介绍一下自定义的视图辅助器是怎么定义和使用的,对于Razor语法的细节和辅助器的使用下篇会说讲到, ...
- uml的四种关系
UML的四种常用关系: 泛化关系.关联关系.实现关系.依赖关系 其中泛化关系是指父类与子类之间的继承关系: 实现关系是指接口与实现类之间的关系: 依赖关系和关联关系的区别如下: 只要存在对象间的交互, ...
- Android自定义视图四:定制onMeasure强制显示为方形
这个系列是老外写的,干货!翻译出来一起学习.如有不妥,不吝赐教! Android自定义视图一:扩展现有的视图,添加新的XML属性 Android自定义视图二:如何绘制内容 Android自定义视图三: ...
- <十六>UML核心视图动态视图之状态图
一:状态图 --->状态图显示一个状态机. --->状态机用于对模型元素的动态性进行建模.更具体地说,就是对系统行为中受事件驱动的方面进行建模. --->通常使用状态图来说明业务角色 ...
- UML用法及状态图,活动图介绍
统一建模语言UML(Unified Modeling Language)是非专利的第三代建模和规约语言.UML是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对象的.软件密集系统的制 ...
- UML精粹5 - 状态图,活动图,通信图,组合结构,组件图,协作,交互概述图,时间图
状态机图state machine diagram 下面是状态图的一个例子(一个城堡中的秘密保险箱的控制面板). 转换transition包括3个部分:trigger-signature [guard ...
- 浅谈UML的概念和模型之UML视图
相信大家都知道UML的全称,统一建模语言(UML是 Unified Modeling Language的缩写)是用来对软件系统进行可视化建模的一种语言.UML为面向对象开发系统的产品进行说明.可视化. ...
- UML 之 四种关系
学习过UML的人都知道,UML之中有九种图和四种关系,今天,我们先来介绍一下这四种关系: 对于我们这些初学者来说,UML之中无非是 关联.依赖.泛化和实现,但是其中,关联和依赖又如何区分?泛化又如何 ...
- UML建模之状态图(Statechart Diagram)
状态图目录: 一.状态图简介(Brief introduction) 二.状态图元素(State Diagram Elements) 1.状态(States) 2.转移(Transitions) 3 ...
随机推荐
- PHP MySQL Select 之Select
从数据库表中选取数据 SELECT 语句用于从数据库中选取数据. 语法 SELECT column_name(s) FROM table_name 注释:SQL 语句对大小写不敏感.SELECT 与 ...
- Class对象
(一) 获得Class对象的四种方式 第1种方法:Object.getClass() 第2种方法:.class语法 第3种方法:Class.forName() 第4种方法:包装类的TYPE域 impo ...
- Java程序员面试题集(1-50)(转)
转:http://blog.csdn.net/jackfrued/article/details/17339393 下面的内容是对网上原有的Java面试题集及答案进行了全面修订之后给出的负责任的题目和 ...
- Java有用经验总结--Swing篇
Java有用经验总结--Swing篇 前言 本文前言部分为我的一些感想,假设你仅仅对本文介绍的Java有用技巧感兴趣,能够跳过前言直接看正文的内容. 本文的写作动机来源于近期接给人家帮忙写的一个小程序 ...
- AS3聊天单行输入框图文混排完美实现
几年前刚毕业.第一个游戏模块做的就是聊天.到如今.几个游戏写过几次聊天模块. 之前在4399做的<幻龙骑士>(又名<神骑士>),还有上周六刚上线的<疯狂的子弹>, ...
- Windows Server 2008 R2 IIS重装
背景描述: 在一个刚睡醒午觉后的下午,忽然收到客户反馈,说昨天开始应用特别卡,各种卡各种不好用,忽然想到上次说要优化服务器IIS配置还一直没弄,然后迷迷糊糊的就开始进行客户现场服务器IIS配置优化,涉 ...
- WinForm设置控件焦点(转)
http://blog.csdn.net/zlwzlwzlw/article/details/8573921 winform窗口打开后文本框的默认焦点设置,进入窗口后默认聚焦到某个文本框,两种方法: ...
- hdu2206IP的计算
Problem Description 在网络课程上,我学到了很多有关IP的知识.IP全称叫网际协议,有时我们又用IP来指代我们的IP网络地址,现在IPV4下用一个32位无符号整数来表示,一般用点分方 ...
- C++程序设计实践指导1.8求指定范围内的所有素数改写要求实现
改写要求1:以指针为数据结构动态开辟存储空间 #include <cstdlib> #include <iostream> using namespace std; class ...
- 切记ajax中要带上AntiForgeryToken防止CSRF攻击
在程序项目中经常看到ajax post数据到服务器没有加上防伪标记,导致CSRF被攻击,下面小编通过本篇文章给大家介绍ajax中要带上AntiForgeryToken防止CSRF攻击,感兴趣的朋友一起 ...