UML-状态图

来源:互联网 发布:夏米d5支持电信网络吗 编辑:程序博客网 时间:2024/05/16 07:54

1.什么是状态图:
状态图(statechartdiagram): 用来描述一个特定的对象所有可能的状态,以及由于各种事件的发生而引起的状态之间的转移和变化。 
2.状态图的要素:
椭圆或圆角矩形:表示对象的一种状态,椭圆内部填写状态名
箭头:表示从箭头出发的状态可以转换到箭头指向的状态
事件:引起状态转换的原因。事件名可在箭头线上方标出
条件:事件名后加方括号,括号内写状态转换条件
实心圆:初始状态
内部实心的同心圆:最终状态
3.状态的概念:
状态(state): 是指对象在其生命周期中,满足某些条件、执行某些活动、或等待某些事件时的一个状况。
         状态指的是对象的状态。例如:
           ● 发票(对象)被支付(状态)
           ● 小车(对象)正在停着(状态)
           ● 发动机(对象)正在工作(状态)
           ● 电灯(对象)开着(状态)
4.状态的表示和要素
       ● 状态的表示:用圆角的矩形框表示状态。
       ● 状态的要素:包括状态名,进入、退出、内部转移的动作,子状态等。
5.状态的类型
       ① 初始状态
       ② 中间状态
      ③ 结束状态
6.组合状态和子状态
         子状态:被嵌套在另外一个状态中的状态。
         组合状态:含有子状态的状态。组合状态也可以有初态和终态。
并发状态:指一个对象在同一时刻可以处在多种状态。
并发中的同步:并发状态之间需要通信,或具有确定的时序关系,称为并发中的同步。
7.转移
转移(transition): 是一个状态向另外一个状态的转换。对象处在源状态时,发生一个事件,如果条件满足,则执行相应的动作,对象由源状态转移到目标状态。
转移用箭头表示,如果没有标注事件,则本转移为自动转移。
转移的类型
         ① 自转移: 源状态和目标状态为同一状态的转移。           
         ②  自动转移: 一个状态根据本状态的有关情况,自动触发进入目标状态,在转移上没有事件。           
③  条件转移: 通过分支判断所确定的转移。           
8.事件
事件(event):是指在确定的时间和位置所发生的对对象起作用的事情。事件的发生将引起一些动作,使对象发生状态的转移。
            动作:动作是对象类中一个操作的执行,动作具有中间性和不可中断特性。
事件的描述
           事件名称[参数表]
事件的类型
         调用事件:是表示对操作的调度。                    
变化事件:因满足某种条件而引起的事件,变化条件用when           
9.状态图的作用
状态图: 用来描述一个对象在其生命周期中所表现出来的状态和行为。
        当在系统建模过程中需要描述某个事物或对象的不同状态,以及状态之间转移的事件和动作时,用状态图。
        但状态图并不是对每一个对象都需要的。
                    


0 0