本文将介绍状态转换设计。
状态转换设计通常作为架构设计的一部分进行,其定义了下表中所列的各项要素。
要素 | 概述 |
---|---|
状态 | 执行功能的定义=执行组件的定义 |
迁移条件(事件) | 定义状态转换的条件 |
状态间接口 | 状态间接口变量的定义 |
状态转换设计作为具体流程,可按照以下步骤进行。
步骤1 状态转换图的创建
状态转换图是用于定义状态与事件之间关系的图表。通过可视化图表,可以更轻松地进行思考,并能一目了然地把握状态的整体结构和流程。此外,对于复杂的状态,通过分层整理可以使其更易于理解。
步骤2 状态转换表的创建
状态转换表是将状态转换图的内容以表格形式整理而成,旨在明确状态与事件之间的关系,并便于验证其完整性。此外,与状态转换图相比,状态转换表以更接近代码的形式进行描述,因此作为软件规格时更易于直接使用。
步骤3 创建各状态的静态变量表 → 设计中容易被忽视的关键点
各状态的静态变量表用于以表格形式整理各状态中使用的静态变量。若存在跨状态共享的变量,必须明确定义该变量在状态转换时是继承前一状态的值,还是重置为初始值。
参考:关于静态变量
我将静态变量分类如下。
用于组件间接口的静态变量:全局变量
仅用于组件内部的静态变量:静态变量
此外,当状态转换时涉及硬件(如微控制器、电路、集成电路等)的设置或通信变更时,建议按照步骤3所述的方法制作表格进行设计。
