【研发日记】Matlab/Simulink开箱报告(十一)——Requirements Toolbox

目录

前言

[Requirements Toolbox](#Requirements Toolbox)

编写需求

需求联接设计

需求跟踪开发进度

追溯性矩阵

分析和应用

总结


前言

见《开箱报告,Simulink Toolbox库模块使用指南(六)------S-Fuction模块(TLC)

见《开箱报告,Simulink Toolbox库模块使用指南(七)------S-Fuction Builder模块

见《研发日记,MatlabSimulink开箱报告(八)------Lookup Table模块

见《研发日记,MatlabSimulink开箱报告(九)------Simulink Test模块

见《【研发日记】Matlab/Simulink开箱报告(十)------Signal Routing模块

Requirements Toolbox

Requirements Toolbox是Matlab中用来编写、链接和追溯需求的一个工具,Mathworks官方Help对该部分内容的说明如下所示:

Requirements Toolbox在Matlab中的位置在App选项卡 -> 验证、确认和测试 -> 需求编辑器,示例如下:

本文选取Requirements Toolbox中几个有代表性的应用为例,详细介绍一下具体的用法。

编写需求

打开需求编辑器后,点击新建需求集创建一个新的需求集。将需求集命名为 ReqrDemo,然后将需求集保存在 ReqrDemoProj工程的文件夹中。示例如下:

选择需求集并点击"添加需求",以向需求集添加需求。在右窗格中,使用需求中的文本向摘要属性和描述属性添加信息。摘要属性是用于标识需求的简短短语。描述属性包含有关所需行为的详细信息。点击保存来保存对需求集的更改。示例如下:

Tip1:除了上述手动编辑需求的方式之外,还可以使用其他文档直接导入需求,例如Microsoft的Word和Excel,IBM的Doors Next等;

Tip2:需求变更时,在需求编辑器里边自动会有红色高亮底纹提示,通过链接快速跳转过去,就能很方便地修改对应的代码;

需求联接设计

在Requirements Toolbox中可以创建需求与设计之间的链接,以此来建立项目开发的可追溯性。本文我们建立的完整需求和整体设计示例如下:

Matlab 复制代码
function y = fen(u,v)

inputs = [u,v];
if min(isfinite(inputs)) == 0
	error("inputs error!");
else
	y = u+ V;
end

if y<0
	y=0;
elseif y > 10
	y= 10;
end

本文中建需求与设计之间建立链接的过程是1、在需求编辑器中,选中第一条需求"输入端口"。2、在MATLAB编辑器中,选择fcn函数的函数定义行。3、右键链接到需求编辑器中的所选内容。4、链接成功后就可以在需求浏览器中查看到对应链接内容,可以用于快速跳转。示例如下:

Tip1:在MATLAB编辑器中,有需求链接的代码行会有黄色高亮底纹,右键也能跳转到对应的需求内容。

Tip2:项目开发迭代的时候,如果需求链接的代码发生了修改,那么在需求编辑器中点击刷新之后,对应的需求就会有红色高亮底纹,可以用于评审代码变更对需求的影响范围。

需求跟踪开发进度

基于需求的设计开发过程中,当一些设计开发出来之后,就可以用上面的方法与需求一一联接起来。在需求编辑器里会自动把这些统计起来,然后以进度条的形式呈现出来,这样就能一目了然地看到设计开发的进度,示例如下:

Tip1:需求的类型有功能性、信息性和容器三种类型,默认是功能性,会正常统计进开发进度中;

Tip2:需求的链接有实现、验证、细化、派生、涉及和确认证六种类型,默认是实现,会正常统计进开发进度中。

追溯性矩阵

需求联接到设计文件中的代码后,Requirements Toolbox会自动分析可追溯性,并以可视化的追溯性矩阵呈现出来,显示全部工件之间存在的链接关系,可以很方便地找到有缺失的地方,指导我们消除缺失。追溯性矩阵的用法示例如下:

Tips:确实的地方补充上链接之后,再回去查看开发进度,所有进度条就都拉满了。

分析和应用

Requirements Toolbox在Simulink模型开发中的作用非常强大,尤其是应用于模块化开发多人协作的大型项目时优势会更加明显,例如一些整车控制系统,车路协同系统等等的开发。项目中把这个工具箱用起来之后,可以自动跟踪开发进度,分析追溯性,指导工程师评审上下游影响范围,消除设计缺失,大大提高设计一致性、完整性和正确性,提高工程师的工作效率。主要适用于配备模块化开发团队的软件项目,可以使团队成员真正地有机结合在一起,提高需求和设计的可控性,减少软件Bug。

总结

以上就是本人在使用Simulink Test时,一些个人理解和分析的总结,首先介绍了Simulink Test的基本知识,然后展示它的使用方法,最后分析了该模块的特点和适用场景。

后续还会分享另外几个最近总结的Simulink Toolbox库模块,欢迎评论区留言、点赞、收藏和关注,这些鼓励和支持都将成文本人持续分享的动力。

另外,上述例程使用的Demo工程,可以到笔者的主页查找和下载。


版权声明:原创文章,转载和引用请注明出处和链接,侵权必究!

相关推荐
F36_9_1 天前
12款项目管理软件对比清单:PingCode、Worktile、Jira、MS Project全覆盖
项目管理
宇钶宇夕1 天前
CoDeSys入门实战一起学习(十一):CoDeSys变量与访问路径——理清数据流转的核心逻辑
运维·自动化·软件工程
罗宇超MS1 天前
如何通过项目管理工具与敏捷开发实现快速响应和灵活性的结合?
项目管理·敏捷流程·alm
宇钶宇夕1 天前
CoDeSys入门实战一起学习(八):CoDeSys库文件详解——从概念到分类,高效编程的基础
运维·自动化·软件工程
宇钶宇夕1 天前
CoDeSys入门实战一起学习(十):CoDeSys库文件详解——从零搭建CoDeSys自定义库
运维·自动化·软件工程
F36_9_1 天前
2026项目管理工具推荐:7款免费版能做什么、卡在哪里
项目管理
Darkbluelr2 天前
[开源发布] Dev-PlayBooks:让 AI 编程不再“抽卡”,面向 Claude/Codex等 的确定性Spec+TDD开发工作流框架
人工智能·软件工程·ai编程
fo安方2 天前
软考~系统规划与管理师考试——真题篇——综合——软考系规综合知识卷2——解析版
项目管理·软考·pmp·系统规划与管理师
小魏每天都学习2 天前
软件工程——习题课【笔记对应】
软件工程
YounGp_oo3 天前
使用 AI 编程工具的一点实践体会:为什么要减少对话轮次、一次把需求说清楚
软件工程·需求分析·开发经验·工程实践·ai 编程