在SRS中绘制状态机图的更好单元是什么



最近我正在为我的大学项目编写SRS文档。当我画状态机图时,我不知道应该画什么部分。那是组件的吗?还是上课?

很明显,对象的固有状态显示在状态图中。但是,我的问题是,我们如何找到我们应该绘制的状态。这是从组件还是类中得到的?

SRS是一个系统需求规范:您记录的是需求,而不是解决方案。因此,SRS中的状态图应该与需求相关,无论它们是什么。

在UML中,状态机是为分类器定义的。它们可以定义事件驱动的行为(行为状态机(或与分类器的有效交互集(协议状态机(。分类器通常是一个类或一个组件:两者都有可能。

但在SRS中,你并不在乎:你不需要为每个类或每个组件提供SM;只有在有州相关要求的情况下,您才需要提供SM。

伪示例:

  1. 用户可以创建一个shopping basket,并将catalog中的items添加到购物车中。项目也可能被删除。用户可以查看购物车并继续购买。用户可以签出购物车,一旦payment完成,就不可能再对购物车进行任何更改
  2. controller点燃火箭助推器。一旦检测到增压器燃油液位为空,控制器就会启动增压器的解耦,并点燃主发动机。一旦助推器成功解耦,控制器应监测高度的任何变化

您肯定会用类来建模1,并且关于shopping cart上操作有效性的约束很容易在状态机中表达。顺便说一句,这对于任何具有要跟踪的生命周期的对象来说都是典型的。其他类似乎没有任何有趣的状态可以建模。

当然,您可以使用controller组件对2进行建模,并且事件驱动的行为集可以用状态机轻松而清晰地表达。

因此,最终,您不在乎它是一个类还是一个组件。唯一应该在SRS中驱动建模的是,是否存在可以用状态机更精确/容易/清晰地表达的行为或约束。许多SRS甚至没有显示任何状态机,因为状态只在解决方案的设计中出现。

相关内容

最新更新