系统开发的确认和验证
确认和验证系统开发的一种方法是使用 V 模型。
系统开发的 V 模型
V 模型是系统开发的一种图形表现形式,它突出了系统开发过程中的验证和确认步骤。V 模型的左侧标识通往代码生成的步骤,包括系统规范和详细的软件设计。V 模型的右侧重点在于对左侧提到的步骤进行验证和确认,包括软件和系统集成。
根据您的应用程序及其在开发过程中的作用,您可以重点关注 V 模型中的一个或多个步骤,或者在 V 模型的多个阶段重复的步骤。代码生成技术及其相关产品还提供了一些工具,可供您在系统开发的 V 模型中应用。有关如何将 MathWorks® 代码生成技术及其相关产品应用于 V 模型开发过程的详细信息,请参阅:
V 模型中的仿真和原型类型
系统开发的 V 模型可应用于不同类型的仿真和原型构建,如快速仿真、系统仿真、快速原型和目标硬件上的快速原型。下表比较了系统开发的 V 模型中显示的 V 模型图左侧标识的仿真和原型类型。
仿真 | 快速仿真 | 系统仿真、快速原型 | 目标硬件上的快速原型 | |
---|---|---|---|---|
目的 | 测试和确认概念模型的功能 | 非实时细化、测试和确认概念模型的功能 | 验证新想法并进行研究 | 在开发过程中细化和标定设计 |
执行硬件 | 开发计算机 | 开发计算机 在 MATLAB® 和 Simulink® 环境外运行的独立的可执行文件 | PC 或非目标硬件 | 嵌入式计算单元 (ECU) 或近似生产环境的硬件 |
代码效率和 I/O 延迟 | 不适用 | 不适用 | 不太重视代码效率和 I/O 延迟 | 较为重视代码效率和 I/O 延迟 |
易用性和成本 | 可以仿真组件(算法或控制器)和环境(或被控对象) Simulink 中的普通模式仿真允许您在验证过程中访问、显示和调优数据 可以加快 Simulink 仿真速度 | 轻松仿真包含组件的混合动力系统的模型和环境模型 适用于运行批量仿真或蒙特卡罗仿真 可以通过使用脚本以交互方式或编程方式用不同的数据集重复仿真,而无需重建模型 可连接 Simulink 以监测信号和调优参数 | 可能需要自定义实时仿真器和硬件 可使用经济实惠的现成 PC 硬件和 I/O 卡完成 | 可使用现有硬件以降低成本和获得更多便利 |
V 模型中的在环测试类型
下表比较了系统开发的 V 模型中 V 模型图右侧标识的验证过程的在环测试类型。
SIL 仿真 | 嵌入式硬件上的 PIL 仿真 | 指令集仿真器上的 PIL 仿真 | HIL 仿真 | |
---|---|---|---|---|
目的 | 验证组件源代码 | 验证组件目标代码 | 验证组件目标代码 | 验证系统功能 |
保真度和精确度 | 两个选项: 以相同的源代码作为目标,但可能存在数值差异 更改源代码以仿真字长,但对定点数学运算为位精确 | 相同的目标代码 对定点数学运算为位精确 周期精确,因为代码在硬件上运行 | 相同的目标代码 对定点数学运算为位精确 可能达不到周期精确 | 相同的可执行代码 对定点数学运算为位精确 周期精确 使用真实和模拟的系统 I/O |
执行平台 | 开发计算机 | 目标硬件 | 开发计算机 | 目标硬件 |
易用性和成本 | 桌面便捷性 仅在 Simulink 中执行 降低了硬件成本 | 在台式计算机或测试平台上执行 使用硬件 - 流程板和电缆 | 桌面便捷性 在具有 Simulink 和集成开发环境 (IDE) 的开发计算机上执行 降低了硬件成本 | 在测试平台上或实验室中执行 使用硬件 - 处理器、嵌入式计算单元 (ECU)、I/O 设备和电缆 |
实时功能 | 非实时 | 非实时(在样本之间) | 非实时(在样本之间) | 硬实时 |