UML总结—状态图(State Diagram)

来源:互联网 发布:mac最大化窗口的快捷键 编辑:程序博客网 时间:2024/05/16 06:33

    类定义的是一组对象的抽象,而每个对象时类的一个实例,但对于一个对象而言,它在其整个生命周期中有一系列的状态。状态描绘了对象的动态生命周期。

   “人”就是一个类,而“你”、“我”、“张三” 等都是“人”这个类的一个实例,“站着”、“躺着”等都是对象的一个状态。

   在对象的整个生命周期中,它的状态是会发生变化的,而状态机就是用来表示一个对象在它的生命周期中响应的时间所发生的状态变化以及对事件的响应。

   一、状态及状态表示法

状态:是指在对象生命周期中满足某些条件、执行某些活动或等待某些事件的一个条件和状况。

                   命名状态

             

                  初始状态

             

                终止状态

二、状态机

状态机是一个对象的局部视图、一个将对象与其外部世界分离开来并独立考查其行为的视图。状态机是精确描述行为的一种好办法。

1、简单状态机图

描述烧水器在工作时的详细行为细节

在一张状态机图中,最为核心的元素无外乎有两个:一个是用圆角矩形表示的状态;另一个是在状态之间、包含一些文字描述的有向箭头线,这些箭头成为转换。

       一个转换是两个状态之间的一种关系,表示对象将在第一个状态中执行一定的动作,并在某个特定事件发生时且满足条件时进入第二个状态。

二、如何绘制状态图

绘制状态图的理想步骤:寻找主要的状态、确定状态之间的转换,细化状态内的活动与转换,用复合状态来展开细节

1、寻扎主要状态

在绘制状态机图时,最重要的一个活动就是寻找出主要的状态。对于航班机票预订系统而言,显然包括的状态主要有:

a、在确定飞行计划时,显然是没有任何预订的,并且在有人预订机票之前都将处于这种“无预订”状态

b、对于订座而言,显然有“部分预订”和“预定完”两种状态

c、当航班快要起飞时,显然要“预订关闭”

总结:有四种状态:无预定、部分预订、预定完和预订关闭

2、确定状态之间的关系

确定主状态之后分析状态之间的转换,画出相应的状态机图

 

 

 

 

             

 

     

原创粉丝点击