当前位置: 首页 > news >正文

【研发日记】Matlab/Simulink开箱报告(十一)——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中可以创建需求与设计之间的链接,以此来建立项目开发的可追溯性。本文我们建立的完整需求和整体设计示例如下:

function y = fen(u,v)inputs = [u,v];
if min(isfinite(inputs)) == 0error("inputs error!");
elsey = u+ V;
endif y<0y=0;
elseif y > 10y= 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工程,可以到笔者的主页查找和下载。


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

相关文章:

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

目录 前言 Requirements Toolbox 编写需求 需求联接设计 需求跟踪开发进度 追溯性矩阵 分析和应用 总结 前言 见《开箱报告&#xff0c;Simulink Toolbox库模块使用指南&#xff08;六&#xff09;——S-Fuction模块&#xff08;TLC&#xff09;》 见《开箱报告&#x…...

Elastic 8.13:Elastic AI 助手中 Amazon Bedrock 的正式发布 (GA) 用于可观测性

作者&#xff1a;来自 Elastic Brian Bergholm 今天&#xff0c;我们很高兴地宣布 Elastic 8.13 的正式发布。 有什么新特性&#xff1f; 8.13 版本的三个最重要的组件包括 Elastic AI 助手中 Amazon Bedrock 支持的正式发布 (general availability - GA)&#xff0c;新的向量…...

MFC 截取对话框生成图片、截取整个屏幕(可取黑白反色或者整体图片取反色)

HWND hwnd ::GetDesktopWindow();//截整个屏幕&#xff0c;用从这往下4句HDC hdc ::GetDC(hwnd);CDC dc;dc.Attach(hdc);CRect rc,rcw;GetWindowRect(&rcw);GetClientRect(&rc);//只截对话框&#xff0c;用这句//rc.SetRect(0, 0, GetSystemMetrics(SM_CXSCREEN), Ge…...

【LeetCode: 331. 验证二叉树的前序序列化 + DFS】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…...

【Consul】Linux安装Consul保姆级教程

【Consul】Linux安装Consul保姆级教程 大家好 我是寸铁&#x1f44a; 总结了一篇【Consul】Linux安装Consul保姆级教程✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 前言 今天要把编写的go程序放到linux上进行测试Consul服务注册与发现&#xff0c;那怎么样才能实现这一过程&am…...

pytorch常用的模块函数汇总(1)

目录 torch&#xff1a;核心库&#xff0c;包含张量操作、数学函数等基本功能 torch.nn&#xff1a;神经网络模块&#xff0c;包括各种层、损失函数和优化器等 torch.optim&#xff1a;优化算法模块&#xff0c;提供了各种优化器&#xff0c;如随机梯度下降 (SGD)、Adam、RMS…...

素数的计数律:Π函数、歪斜数

相当多的数字&#xff01; 一、说明 自从人类开始掌握最起码的算术概念以来&#xff0c;有一类数字一直处于最前沿——素数。素数定义简单&#xff0c;但难以捕捉&#xff0c;众所周知&#xff0c;素数是数学中一些最困难问题的罪魁祸首&#xff0c;让几代最优秀的数学家感到…...

图像识别在农业领域的应用

图像识别技术在农业领域的应用正在逐渐成熟&#xff0c;它通过分析处理拍摄的植物或农田的图像&#xff0c;为农业生产提供决策支持。以下是图像识别在农业中的一些关键应用&#xff1a; 病虫害检测&#xff1a;图像识别技术能够识别作物上的病斑、虫害或异常状况。通过比较高…...

【JavaSE】java刷题--数组练习

前言 本篇讲解了一些数组相关题目&#xff08;主要以代码的形式呈现&#xff09;&#xff0c;主要目的在于巩固数组相关知识。 上一篇 数组 讲解了一维数组和二维数组的基础知识~ 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎…...

预处理、编译、汇编、链接过程

预处理、编译、汇编、链接过程 预处理 引入头文件 #include 展开宏定义 #define 处理条件编译指令 #ifdef 删除注释 添加行号 在Linux下可以使用gcc -E命令把hello.c文件预处理成hello.i文件。windows这些操作都集成在编译器visual studio这些里面了。 编译 进行语法分…...

3、Cocos Creator 节点和组件

目录 1、 节点和组件 2、 节点层级和显示顺序 3、坐标系和节点变换属性 坐标系 锚点 旋转 缩放 尺寸 4、 常用技巧 5、参考 1、 节点和组件 Cocos Creator 的工作流程是以组件式开发为核心的&#xff0c;组件式架构也称作 组件 — 实体系统&#xff08;或 Entity-C…...

【js刷题:数据结构数组篇之长度最小的子数组】

长度最小的子数组 一、题目二、方法1.暴力解法2.滑动窗口是什么滑动窗口的起始位置滑动窗口的结束位置代码展示 3.力扣刷题水果成篮题目思路代码 一、题目 给定一个含有 n 个正整数的数组和一个正整数 s &#xff0c;找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组&…...

大话设计模式之装饰模式

装饰模式&#xff08;Decorator Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许向现有对象动态地添加新功能&#xff0c;同时又不改变其结构。装饰模式通过将对象放入包装器中来实现&#xff0c;在包装器中可以动态地添加功能。 在装饰模式中&#xff0c;通常会有…...

国赛大纲解读

1. 第一部分,是针对5G基础知识的掌握,第二部分是人工智能基本算法的掌握,就是人工智能的应用,用5G+人工智能(AI算法)进行网络优化的问题,要有网络优化的基础知识,比如说:某个区域的覆盖问题,覆盖特别差,但有数据,覆盖电频,srp值这些数据给你,根据数据来判断是…...

设计模式(5):原型模式

一.原型模式 通过 n e w 产生一个对象需要非常繁琐的数据准备或访问权限&#xff0c;则可以使用原型模式。 \color{red}{通过new产生一个对象需要非常繁琐的数据准备或访问权限&#xff0c;则可以使用原型模式。} 通过new产生一个对象需要非常繁琐的数据准备或访问权限&#xf…...

【React】vite + react 项目,进行配置 eslint

安装与配置 eslint 1 安装 eslint babel/eslint-parser2 初始化配置 eslint3 安装 vite-plugin-eslint4 配置 vite.config.js 文件5 修改 eslint 默认配置 1 安装 eslint babel/eslint-parser npm i -D eslint babel/eslint-parser2 初始化配置 eslint npx eslint --init相关…...

Windows入侵排查

目录 0x00 前言 0x01 入侵排查思路 1.1 检查系统账号安全 1.2 检查异常端口、进程 1.3 检查启动项、计划任务、服务 0x00 前言 当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时&#xff0c;急需第一时间进行处理&#xff0c;使企业的网络信息系统在最短时…...

C语言每日一题

1.题目 二.分析 本题有两点需要注意的&#xff1a; do-while循环 &#xff1a;在判断while条件前先执行一次do循环static变量 &#xff1a;程序再次调用时static变量的值不会重新初始化&#xff0c;而是在上一次退出时的基础上继续执行。for( i 1; i < 3; i )将调用两次…...

TheMoon 恶意软件短时间感染 6,000 台华硕路由器以获取代理服务

文章目录 针对华硕路由器Faceless代理服务预防措施 一种名为"TheMoon"的新变种恶意软件僵尸网络已经被发现正在侵入全球88个国家数千台过时的小型办公室与家庭办公室(SOHO)路由器以及物联网设备。 "TheMoon"与“Faceless”代理服务有关联&#xff0c;该服务…...

人脸68关键点与K210疲劳检测

目录 人脸68关键点检测 检测闭眼睁眼 双眼关键点检测 计算眼睛的闭合程度&#xff1a; 原理: 设置阈值进行判断 实时监测和更新 拓展&#xff1a;通过判断上下眼皮重合程度去判断是否闭眼 检测嘴巴是否闭合 提取嘴唇上下轮廓的关键点 计算嘴唇上下轮廓关键点之间的距…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

从零开始了解数据采集(二十八)——制造业数字孪生

近年来&#xff0c;我国的工业领域正经历一场前所未有的数字化变革&#xff0c;从“双碳目标”到工业互联网平台的推广&#xff0c;国家政策和市场需求共同推动了制造业的升级。在这场变革中&#xff0c;数字孪生技术成为备受关注的关键工具&#xff0c;它不仅让企业“看见”设…...

Vue 3 + WebSocket 实战:公司通知实时推送功能详解

&#x1f4e2; Vue 3 WebSocket 实战&#xff1a;公司通知实时推送功能详解 &#x1f4cc; 收藏 点赞 关注&#xff0c;项目中要用到推送功能时就不怕找不到了&#xff01; 实时通知是企业系统中常见的功能&#xff0c;比如&#xff1a;管理员发布通知后&#xff0c;所有用户…...

对象回调初步研究

_OBJECT_TYPE结构分析 在介绍什么是对象回调前&#xff0c;首先要熟悉下结构 以我们上篇线程回调介绍过的导出的PsProcessType 结构为例&#xff0c;用_OBJECT_TYPE这个结构来解析它&#xff0c;0x80处就是今天要介绍的回调链表&#xff0c;但是先不着急&#xff0c;先把目光…...