如何用状态图进行设计04

在BetterState 中,初始/开始状态用一个缺省的符号( )来表示。图6 是一个和图5 相似的状态图,它指定了一个开始状态。

图 6 一个有开始状态的简单状态图


注意:一个简单的FSM可以仅有一个初始状态。但对于扩展状态图,由于要表现层次和并行关系,可能有多个开始状态,并且在任何时候都可能有多个状态机在运行。

条件和动作

要使我们的状态图完整,你可能想增加两个额外的选项:

选项条件 (conditions) 导致状态的改变

选项动作 (actions) 表示系统在改变状态时将做什么。

注意:事件驱动的编程语言,例如在Delphi, Visual Basic, 和 MFC中,事件会引发状态的改变。有关该问题的详细信息,请参见用户指南中的事件驱动编程部分。

转换条件是系统能够检测到的外部环境中的一些条件。它可能是一个信号,一个中断,或者一个到达的数据包。它可能是任何导致系统状态改变的东西,使系统从一个等待状态 x 改变到一个新的等待状态 y,或者从执行活动 x 改变为执行活动 y。

在改变状态过程中,系统可能执行一个或多个动作。它们可能是产生一个输出,或在用户终端上显示一个消息,执行某些计算等等。在状态图中,动作是为了响应外部环境,或执行计算,系统将记录结果以便响应将来发生的某些事件。

图7:有特定条件和动作的简单状态图

注意:在BetterState中,当你在两个状态之间添加一个转换后,会显示一个对话框,在对话框中可以定义转换的条件以及所需的动作。这部分将在BetterState Pro用户指南的第四章详细讨论。

设计第一个状态图

现在,你已经掌握了足够的状态图设计方法的基础知识,可以对系统行为建模了。我们的第一个设计是个小小的挑战,设计冰激凌销售机的逻辑,它应该能够检测到卖了三个蛋卷冰激凌。你可以先用笔和纸来设计,这样可以加深对前面所学东西的理解,当然,你也可以跳过这一步,直接使用BetterState。

注意:请记住教程第二章的目的是告诉你如何设计扩展状态图。我们只用了很少的篇幅介绍BetterState 的用法。这部分将在第三章详细讲述。如果你想使用BetterState 来完成这个设计,建议你先学习第三章,它将引导你逐步完成一个类似的设计。

在这个简单例子中,先添加一个初始状态,命名为Start,然后添加第二个状态,名为One Sold。One Sold状态指你的系统在卖出一个冰激凌后的状态。现在你可以从状态Start 转换到状态One Sold。然而除非真的卖出了一个蛋卷冰激凌,否则你不希望系统发生状态转换(从状态Start 转换到状态One Sold)。因此从状态Start 到状态One Sold 的转换条件为Cone Sold (卖出了一个蛋卷)。该过程将继续,直到三个蛋卷都卖出去了。在这个例子中我们没有使用动作,不过我们可以使用。可以为该设计加上一个动作,如每次卖出冰激凌后在收银机上记录销售额。

基于STM32的循迹避障小车资料源码(高分项目),个人大四的毕业设计、经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(高分项目)基于STM32的循迹避障小车资料源码(
内容概要:本文详细介绍了SSM框架(Spring、SpringMVC、MyBatis)的相关知识,涵盖Maven项目管理工具、前端开发技术、HTTP协议及Tomcat服务器等内容。文章首先讲解了SSM框架的组成,包括Spring的IOC、DI、AOP等功能,SpringMVC的请求处理流程以及MyBatis的数据操作。接着介绍了Maven作为项目管理工具的作用,如依赖管理和项目构建,并详细描述了Maven的配置文件pom.xml的使用方法。此外,还探讨了HTTP协议的特点、请求响应格式,以及Web服务器Tomcat的基本概念和工作原理。最后,文章对前端开发技术进行了概述,包括HTML、CSS、JavaScript等基础知识,并简要介绍了Ajax技术。 适合人群:具备一定编程基础,特别是Java开发经验的研发人员,尤其是那些正在学习或使用SSM框架进行Web开发的工程师。 使用场景及目标:①理解SSM框架的工作原理及其各组成部分的功能;②掌握Maven的使用,包括项目创建、依赖管理、生命周期等;③熟悉HTTP协议的请求响应机制,能够处理常见的HTTP请求和响应;④掌握前端开发技术,如HTML、CSS、JavaScript等,能够进行简单的前端页面开发;⑤了解Tomcat服务器的工作原理及其配置方法。 阅读建议:本文内容丰富,涵盖了从后端到前端的多个方面,建议读者在学习过程中结合实际项目进行实践,尤其是在Maven项目管理和SSM框架的具体应用上,多动手操作,加深理解。同时,对于HTTP协议和前端开发技术,可以通过实际的网络请求和页面开发来巩固所学知识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值