主要内容

规范模型是什么?

自从R2022b

系统地验证模型与需求时,为每个需求生成测试用例。这些测试验证模型,您可以使用它来生成生产代码和模型满足需求的建立信心。创建测试,满足您的需求,您可以构建一个规范模型。是一个可执行的实体规范模型,您可以使用来执行基于需求的测试通过万博1manbetx®设计验证器™和需求的工具箱™。

如果你有一组需求写在自然语言文本,你可以表达正式的需求通过使用需求表(需求工具箱)块。定义需求后在一个或多个块,块和成为规范的信号模型。与您想要测试的模型,称为设计模型,只规范模型指定了要做什么,而不是如何去做。

您可以使用一个规范模型:

  • 验证的需求系统和定量的方式。

  • 基于需求的测试自动化。

  • 确定问题与你的设计模型和需求。

使用规范模型在基于需求的测试

创建和部署一个规范模型,遵循这些步骤:

  1. 作者的要求,把你的要求写在自然语言文本描述系统的行为下的设计。作者直接的要求编辑器(需求工具箱)或导入它们。进口需求的更多信息,请参阅从第三方进口需求的应用程序(需求工具箱)

  2. 构建规范模型——设计的规范模型作为一个正式表示需求通过使用至少一个需求表块。

  3. 链接要求,您创建的每个需求需求表块创建一个等价的要求要求编辑器。看到正式的需求配置属性(需求工具箱)。链接的高级需求规范的正式的需求模型。

  4. 完整性和一致性分析的正式要求,识别不完整的和不一致的要求设置手动很难做。的需求表块可以自动分析这些问题的要求。看到识别不一致和不完整的正式需求集(需求工具箱)

  5. 为规范模型生成测试每要求生成至少一个测试演示了它的一致性要求。在生成测试的更多信息,参见为一个子系统生成测试用例万博1manbetx仿真软件设计验证器自动创建测试从需求中定义的目标需求表块。

  6. 接口规范模型与设计模型——规范和设计模型通常不使用相同的输入和输出信号。将您在步骤5中生成的测试用例开发两种模型之间的一个接口。

  7. 开发设计模型,开发设计模型通过使用需求。需求与设计模型。

  8. 验证设计和分析报道——在步骤5中运行测试生成的设计模型并验证结果是否同意规范模型和需求。生成一个覆盖报告来识别丢失的覆盖率和细化需求,如果需要。

这个流程图说明了这个过程。

这张图片显示了流程图,说明了在前面描述的步骤列表。要求通过第一个迭代化开发的四个步骤,模型和设计模型和规范

构建一个规范模型

考虑到自动驾驶仪控制器模型中描述使用规范模型基于需求的测试。在本例中,您开发需求,包含逻辑和时态定义输出的条件。

识别规范模型接口

规范模型的输入和输出信号列表相关的您想要测试的需求。忽略的信号,没有指定要求,不影响测试的输出。在这个例子中,要求指定5个输入和两个输出。规范模型的输入信号:

  1. 自动驾驶仪进行开关,一个开关启用或禁用自动控制器

  2. 标题接触开关,一个开关指定的模式自动切换时自动控制器

  3. 卷参考目标旋钮,旋钮,feed所需的横摇角值自动控制器

  4. 标题参考转旋钮,旋钮,使标题的设定点值模式

  5. 飞机横摇角——当前飞机的横摇角

输出信号:

  1. 副翼命令——副翼致动器的输出

  2. 卷参考命令,输出的显示窗口显示的设定点值副翼致动器

识别前提条件、后置条件和行动为每个需求

对于你想验证的需求,将原文需求转换为逻辑表达式可以表示为先决条件,后置条件,和行动。你正式的需求定义为先决条件,后置条件,和行动:

  • 前提条件,必须适用于指定的时间之前评估的其他要求

  • 后置条件,条件是必须是真实的如果关联的前提是真的为指定的持续时间

  • 行动——必须执行一个行为,如果相关的前提是真的为指定的持续时间

你会发现一些需求可以交换使用后置条件或一个动作,或后置条件和动作。指定您想要使用基于设计模型的配置。

例如考虑这个高水平要求指定自动控制器的模式:

自动驾驶仪控制器模式是由以下几点:

  • 自动驾驶仪控制器自动进行切换时没订婚。

  • 自动驾驶仪控制器ROLL_HOLD_MODE时自动进行切换和标题进行开关不是订婚了。

  • 自动驾驶仪控制器HDG_HOLD_MODE时自动进行切换和标题进行开关都订婚了。

你可以写这些需求,因为这些逻辑表达式:

要求 先决条件 行动
1 AP_Engage_Switch = =假 模式=了
2 AP_Engage_Switch = = true & & HDG_Engage_Switch = = false 模式= ROLL_HOLD_MODE
3 AP_Eng_Switch = = true & & HDG_Engage_Switch = = true 模式= HDG_Hold_Mode

重复这个过程剩余的需求。

识别设计值表示在需求

您的需求可以指定范围的值必须满足您的设计模型,或者你可能需要参数化的值在每个评估要求。这些值与文字值不能总是容易描述。您可以使用需求表块值的表达式表示为常数或参数数据。看到需求表中定义数据块(需求工具箱)。你可以改变数据在模拟。除了分配数值数据,支持其他数据块类型,如字符串、枚举或范围。万博1manbetx使用的表示值符合您的需求。

在自动驾驶仪控制器模型,需求为飞机横摇角指定阈值。这个图表说明了阈值的数值和口头的等价物。

这张图片显示了对应的横摇角值和范围的高层表示设计值。

创建需求表

识别信号表征后,价值观,和您想要使用的表达式的正式要求,编写逻辑表达式的先决条件,后置条件,和行动先决条件后置条件,行动列分别为每一个需求。如果你的需求有孩子或依赖关系,可以包括那些关系。看到需求表中建立层次结构(需求工具箱)

您创建的每一个需求需求表块创建一个等价的要求要求编辑器。更新的附加文本属性需求,比如描述,在编辑器中。看到正式的需求配置属性(需求工具箱)

在自动驾驶仪控制器模型,模型包括两个规范需求表块。AP_Mode_Determination自动驾驶仪控制器模式定义了正式的要求。

这张图片显示了自动驾驶仪控制器的需求模式。它包含三个需求来自示例中的纯文本需求模型。

另一个需求表块,Cmd_Determination描述所需的副翼命令和辊引用命令的输出。

这张图片显示了自动驾驶仪的命令要求。它包含需求来自于纯文本的需求在示例模型。

最终规范模型

连接后需求表块的输入、输出和对方,最终规范模型是:

这张图片显示了最终的规范模式。

准备测试生成的规范模型

万博1manbetx仿真软件设计验证器自动创建测试从需求中定义的目标需求表块。如果你需要约束的值测试目标,您可以指定它们的信号来源,或包括在假设表的块。看到添加假设需求(需求工具箱)。准备测试生成的规范模型,该模型覆盖的目标。在设计验证器选项卡,准备部分中,点击测试生成的设置。在配置参数窗口中,展开设计验证器列表并点击测试生成。集模型覆盖目标最好的选项捕获所需的报道。

迭代的步骤

当你开发规范模型和测试设计模型,您通常需要更新需求,规范模型,设计模型。这是一个反复的过程。继续迭代,直到你达到所需的测试结果,这样的模型输出和测试覆盖率。

另请参阅

(需求工具箱)

相关的话题