UML--状态图

一、 概述

状态图(State Diagram)用来描述一个特定对象在其生命周期中的各种状态以及状态之间的转换。这些对象可以是类、接口等等

二、作用

-状态图清晰地描述了状态之间的转换顺序,通过状态的转换顺序可以清晰看出事件的执行顺序。如果没有状态图就不可避免的要使用大量的文字来描述外部事件的合法顺序。
-清晰的事件顺序有利于程序员在开发程序时避免出现事件错序的情况,例如对于一个网上销售系统,在用户处于登录状态前是不允许购买商品的,这就需要程序员在开发程序的过程中加以限制。
-状态图清晰地描述了状态转换时所必须触发的事件、监护条件和动作等影响转换的因素,有利于程序员避免程序中非法事件的进入,例如当飞机起飞前半小时不允许售票,在状态图中就可以清晰的看到,可以提醒程序员不要遗漏这些限制条件。

三、常用元素

名称解释
初始状态状态图用初始状态(Initial State)表示对象创建时的状态,每一个状态图都要有且只有一个初始状态,用实心的圆点表示
终止状态每一个状态图可能有多个终止状态或者没有(Final State),用一个实心圆外加一个圆圈表示
状态框指在对象的生命周期中的某个条件或者状况,在此期间对象将满足某些条件、执行某些活动或等待某些事件。所有对象都有状态,状态是对象执行了一系列活动的结果,当某个事件发生后,对象的状态将发生变化。状态用圆角矩形表示,每个状态框中有两格:上格放置状态名称,下格说明处于该状态时,系统或对象要进行的活动(Action)
转移从一个状态到另一个状态之间的连线称为转移(Transition)转移上标出触发转移的事件表达式。如果转移上未标明事件,则表示在源状态的内部活动执行完毕后自动触发,用带有标记事件的箭头表示。

没有终止状态的例子

               

四、状态图简单状态与高级技巧

 

状态:不包含其他状态的状态称为简单状态。

        

内部行为与状态:

输入:   表示进入该状态时执行的动作。

执行:  表示处于该状态时执行的动作。

退出:  表示退出该状态时执行的动作。

              

 

 

复合状态:又称为组合状态,可以将若干状态组织在一起可以得到一个复合状态,包含在一个复合状态中的状态称为子状态。

          

 

并发状态+子状态 :

          

 

五、案例

1、某信用卡系统账户具有使用状态和冻结状态,其中使用状态又包括正常状态和透支状态两种子状态。如果账户余额小于零则进入透支状态,透支状态时既可以存款又可以取款,但是透支金额不能超过5000元;如果余额大于零则进入正常状态,正常状态时既可以存款又可以取款;如果连续透支100天,则进入冻结状态,冻结状态下既不能存款又不能取款,必须要求银行工作人员解冻。用户可以在使用状态或冻结状态下请求注销账户。根据上述要求,绘制账户类的状态图。

                

 

2、画出ATM取款过程的完整的ATM机的状态机图。

(1)插卡登录:客户登陆ATM系统,入口动作为输入密码,密码错误时,重新输入密码。

(2)业务选择界面:客户登陆ATM系统后系统显示的主界面,以供选择操作类型,入口动作为选择业务操作。

(3)存款:存款动作,入口动作为输入密码,密码错误时,重新输入密码,中间动作为放入现金,出口动作为发送存款交易记录。

(4)取款:取款动作,入口动作为输入密码,密码错误时,重新输入密码,中间动作为取出现金,出口动作为发送取款交易记录。

(5)转账:转账动作,入口动作为输入密码,密码错误时,重新输入密码,中间动作为转账,出口动作为发送转账交易记录。

(6)修改密码:修改密码动作,入口动作为输入旧密码,密码错误时,重新输入密码,中间动作为验证密码,出口动作为发送修改账户信息。

(7)打印凭条:打印凭条动作,入口动作为打印,出口动作为生成凭条。

(8)查询账户信息:查询账户信息动作,入口动作为显示余额。

(9)退卡:退卡动作,入口动作为退卡。

                           

  • 60
    点赞
  • 497
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
UML(Unified Modeling Language,统一建模语言)是一种广泛应用于软件工程领域的图形化建模语言,可以用来描述系统中的各种结构和行为。其中,状态图UML中的一种图表,用于描述对象的状态以及状态之间的转换。 状态图是一种特殊的图表,它主要由状态、转移以及事件组成。状态表示了系统或者对象的当前情境,而转移则定义了状态之间的变迁,在特定事件发生时,系统或对象将从一个状态转移到另一个状态。 而有限状态机(Finite State Machine,FSM)是状态图的一种具体实现方式,它用有限个状态以及状态之间的转移来描述对象的行为。有限状态机的特点在于,每个状态都是离散且互斥的,对象只能处于其中一个状态,并在不同事件触发后,根据转移规则执行状态转换。 有限状态机的应用广泛,可以用来描述各种系统,例如自动售货机、电梯控制系统等。它们通常包括多个状态,如待机、运行、出错等,并且根据不同的输入事件和条件,可以在这些状态之间进行转换。 有限状态机的建模方法可以帮助开发人员更好地理解和设计系统的行为。通过将系统的行为转化为状态和转移来描述,有限状态机提供了清晰的视图,使得开发人员可以更好地实现和测试系统。 总之,UML状态图和有限状态机是软件工程领域中常用的建模工具,可以帮助开发人员更好地理解和描述系统的状态和行为,进而实现系统的要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一棵小白菜#

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值