以下是一个图书馆管理系统的状态图,非常典型,涵盖状态图的全部元素的使用,由于状态图相对照较简单,直接从看图就能非常好地掌握。假设想对状态图的元素严谨的概念进行了解,在图下方,有仔细的叙述。
看了上面的状态图,相信已经对状态图有了比較宏观的把握,面对接下来的理论知识,你会感觉内容非常少,这个感觉是非常自然的,由于内容确实少。时刻记得UML的重要思想如UML的定义“统一建模语言”,重在“统一”。
状态图显示一个状态机,通常指用于描写叙述单个对象的行为,主要用于描写叙述对象的状态变化一确定何种行为改变了对象状态,以及对象状态变化对系统的影响。一般用于描写叙述实体类对象的整个生命周期内的状态变迁以获得对这个实体的理解,同一时候获得系统和实体对象相互影响的关系。
假设想要描写叙述对象间的交互,最好採用时序图或协作图,效果会更令你惬意。
状态图的组成元素:
- 初始状态
初始状态是状态机的起始位置,它不须要事件的触发。
- 状态
状态是对象运行某项活动或等待某个事件是的条件。
- 复合状态
复合状态是具有子状态(或称为嵌套状态)的状态。其子状态能够是一个局部完整的过程,包含一个初始状态和一个终止状态。
- 转移
转移是两个状态之间的关系,它表示当发生指定事件而且满足指定条件时,第一个状态中的对象将运行某些操作并进入第二个状志。一般来说,转移总是由一个事件来驱动的,只是有时候转移是不须要事件的,没有事件的转移称为"全然转移",它表示某个状态的"默认发生"。比如当图书处于借出状态时,它能够默认的转移为"不可借出"状态。
- 事件
事件是一个特定的动作或行为,有时候也包含系统时钟之类的定时器,假设条件瞒足,事件的发生将触发一个转移。
- 终于状态
终于状态表示状态机运行结束,或者对象生命周期结束。
以下就用机房收费系统的状态图,欢迎不吝赐教!
机房收费系统 是我不久前完毕的一个系统,在学习UML时,因对机房收费系统的业务还比較熟悉,所以总须要用它来练练手。
分析:选取“上机卡”作为状态机所描写叙述的对象(当中“上机卡”是为了描写叙述业务而特意抽象出来的,在现实中,可能根本不用,仅仅须要记住自己的账号和相应password就能够了)。
參考:《Thinking in UML》