成功编码:加强制造业的软件生命周期

news2024/11/14 12:14:49

从简化工作流程、提高性能到符合法规要求,架构验证与软件质量保证流程的整合站在了创新的最前沿。了解如何在工业自动化领域保持竞争力。

软件分析和测试在工业自动化中发挥着至关重要的作用。虽然手动测试对于解决微妙问题,尤其是与人类安全相关的问题,仍然至关重要,但自动化测试在速度、可扩展性和成本效益方面具有明显优势,可确保自动化系统的可靠性。

整合自动化分析和测试协议使行业有能力提高生产力和产品质量,同时降低与人为错误相关的风险,因为纠正人为错误既耗时又成本高昂。

拥有稳健的架构验证流程是完善代码的基石,可使自动化变得高效、合规。它通过识别代码合规性偏差、潜在瓶颈和漏洞,帮助简化工作流程、改善数据流并提高整体性能。

通过架构验证和静态代码分析缩小创新差距

麦肯锡的一份报告强调,制造商在推出工业 4.0 解决方案之前往往会陷入 "分析瘫痪"。当他们等待一个成熟的、理想状态的数据和 IT/OT(信息技术/运营技术) 架构被定义和实施时,他们就会错过一个经验证的且实用的最小可行架构所带来的更短的影响时间。

"互操作性和集成是关键考虑因素。自动化系统应与各种 IT 系统无缝集成,以促进数据传输、转换和协调,"数据与分析咨询、研究和教育公司 DBP Institute 的创始人兼管理负责人Prashanth H. Southekal说道。

Qt Group质量保证客户服务部门的Daniel Simon博士也表达了同样观点,他强调了维护软件架构的重要性:"如果不追踪软件架构,就会失去对复杂性的总体把握,从而遇到麻烦。由于软件会随着时间的推移而退化,可维护性也会降低,因此您有可能无法及时将产品推向市场。我们称之为'创新差距' —— 在某些时候,软件会达到无法处理的复杂程度。软件无法再更改。这是一种风险;您的竞争对手会向市场推出新系统,而您却被甩在了后面"。

架构验证和静态代码分析可以解决由于架构和软件侵蚀造成的差距,并加强控制以管理高级系统的复杂性。将架构验证与其他代码分析功能(如早期的指南检查和克隆检测与管理)相结合,可以大大减少在开发过程后期纠正样式和编码违规所需的时间和费用。Simon 解释说,由于软件错误不可避免,因此除了验证之外,及时更新对于保持系统平稳运行也至关重要。"两者结合在一起,可以帮助制造商管理整个软件生命周期"。

用动态测试和代码覆盖率补充静态分析

当静态代码分析与动态测试和代码覆盖率相结合时,测试策略就会演变成为仔细检查系统运行时并提供可量化数据的强大工具。正如 Qt Group质量保证工具高级业务开发负责人Jan Aarsaether 解释的那样:"代码覆盖率决定了测试覆盖源代码的哪些特定部分,更重要的是,决定了测试没有覆盖哪些部分。

它能提高测试策略的效率,优化资源分配,消除误报,最大限度地提高测试效果。

"归根结底,就是要更智能地进行测试,而不仅仅是更困难地进行测试。随着机器数量的增加和敏捷的DevOps工作方式,发布周期正在缩短,竞争变得越来越激烈,问题也在不断升级。如果不更聪明地工作,就无法做到这一点"。

常见的挑战包括集成在各种硬件上运行的更丰富的应用程序,处理不同硬件和平台供应商提供的多种操作系统和屏幕,以及由于敏捷DevOps风格的技术和流程而始终处于发布就绪状态。

图形用户界面(GUI)测试的力量

数字化和流程自动化程度的增长导致了可见和不可见应用程序的激增,从而导致了行业内屏幕数量的激增。这些屏幕以前是机械按钮,现在已成为传感器或机器人的监控界面,工人通过与之交互来控制操作的各个方面。

引入新功能意味着在这些界面背后引入新软件,例如扩展用于监控生产流程的图形用户界面(GUI)。这种扩展增加了软件和屏幕的多样性,扩大了确保系统效率和可靠性所需的工作范围。

Aarsaether 说:"大多数进行自动测试的人都采用了工作方法。然而,功能测试也需要自动化,因为问题的范围(而不仅仅是工作量)正在成倍增加。手动测试作为自动化功能测试的替代方案已不再可行,因为您会在流程后期才发现问题,而此时解决问题的难度和成本都会增加。”

优先考虑合规性

静态代码分析、代码覆盖率分析和GUI测试等方法不仅有助于提高企业生产力,还能评估并确保法规和标准的合规性。

这些流程可共同提供符合监管要求的书面证明,如测试报告和可追溯性矩阵,这对审计和调查至关重要。它们还能帮助制造商验证软件系统、妥善管理变更并支持持续改进措施。

"监管方式,尤其是有关可能对生命或健康构成风险的软件系统安全性的监管方法,已经很完善。例如,ISO 26262 适用于汽车领域;ISO 62304 适用于医疗领域。总的来说,ISO 61508 是一个指南,强调了确保软件正常运行的重要性。它还强调在实施前进行仔细规划的必要性,而这一步骤往往会被忽视,"Simon 说。

未来之路

行业专家表示,随着时代的进步,对验证、测试和监管合规性的需求将会增加。2024 年,Gartner 对 84 个国家的 2,400 名首席信息官进行了全行业调查发现,提高运营利润(65%)、创造收入(46%)、确保合规性和最大限度降低风险(45%)是数字技术投资最关键的成果。

“我认为从工业 4.0 到 5.0,我们将看到的是对更精细化的关注。但这也带来了挑战,即管理复杂性。”弗吉尼亚联邦大学副教授Peter Aiken预测说,“未来将更加困难。”

"我们还需要承认这样一个事实:当然,所有这些都是由人类编程的。人类会犯错,因此软件也会犯错。"

专家们一致认为,工业自动化中的人工监督对于实现无缝操作至关重要。在以人类安全为首要考虑、人与机器人是同事的混合环境中,这一点尤为重要。他们的结论是,让人类专注于自己最擅长的领域,并将重复性任务自动化,才是理想的发展方向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1814906.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SAP CO01创建BAPI增强 COXT_BAPI_ORDER_CREATE

生产订单BAPI:COXT_BAPI_ORDER_CREATE不包含EXTENSIONIN参数,考虑到事务提交一致性,故对此BAPI进行增强,使其支持增强字段的更新。 1.对传入参数IS_HEADER进行扩张。 2.添加以下代码: 以上,即可调用BAPI时同…

Source Insight 4.0软件使用记录

目录 工程创建 个人使用 Source Insight 4.0 软件的一些记录。 工程创建 建议起名和自己工程名相同,不能有中文,否则一定会出错 这一步直接点ok即可: 添加所有文件 勾上: 随后便可在右边,打开文件进行阅读

CANable USB转CAN适配器固件的安装(ubuntu20.04)

CANable USB转CAN适配器固件和驱动的安装(以candlelight和pcan为例)ubuntu20.04 candlelight candlelight是什么 Candlelight是CANable设备的固件之一,用于将CANable设备转换为本机CAN设备,无需使用slcand。它允许CANable设备直接在Linux系统上以本机C…

springboot宠物领养管理系统计算机毕业设计源码46534

摘 要 网络发布信息有其突出的优点,即信息量大,资源丰富,更新速度快等,很符合人们希望以捷、便利的方式获得最多最有效信息的要求。本系统就是一个网上宠物领用的系统,为宠物爱好者提供一个信息发布的平台&#xff0c…

使用C#快速搭建一个在windows运行的exe应用

文章目录 一、前言1.1 编写语言需要工具1.2 选择自己需要的组件进行安装 二、新建项目1.1 新建一个 .NET4.x 的项目1.2 添加一个小案例1.3 对界面进行美化1.3.1、配置Form属性1.3.2、配置Button按钮 1.4 查看组将的相关代码 三、后记 一、前言 这是一个比较旧的内容&#xff0…

Linux下生成包含bash命令的文件名的文件

关于如何绕过Linux限制的其他方式请查看: https://book.hacktricks.xyz/linux-hardening/bypass-bash-restrictions 我只是为了生成/创建包含bash命令的文件名而不是详细介绍Linux系统的文件命名规范,所以只需要考虑Linux系统文件命名的部分要求&#xf…

上海媒体宣传:上海展览展会媒体邀约宣传怎么做?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 作为首屈一指的城市,上海成为国内国际活动会议的首选地,而且每年官方举办的活动会议也是多不胜数,在上海举办活动,不仅可以提高品牌的知名…

RAG 进阶 LlamaIndex多文档

前言 我们一起来学习LlamaIndex功能更完善的多文档RAG,大家可以参照官方文档来对比学习。 Advanced RAG - LlamaIndex Multi-Doc Agent 单个文档RAG Agent流程 我们结合上图来理解一下文档的处理流程。Document就是文档,它会被解析成多个数据节点(Node),类似RAG …

在矩池云使用GLM-4的详细指南(无感连GitHubHuggingFace)

GLM-4-9B 是智谱 AI 推出的最新一代预训练模型 GLM-4 系列中的开源版本,在多项测试中表现出超越已有同等规模开源模型的性能,它能兼顾多轮对话、网页浏览、代码执行、多语言、长文本推理等多种功能,性能更加强大。其多模态语言模型GLM-4V-9B在…

字符串介绍

String package com.ithema; import java.util.Random; public class StringDemo01 {public static void main(String[] args) {//1.使用直接赋值的方式获取一个字符串对象String s1"abc";System.out.println(s1);//2.使用new的方式来获取一个字符串对象//空参构造:可…

178.二叉树:最大二叉树(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* Tre…

Spring AI 大模型返回内容格式化源码分析及简单使用

为什么需要格式化输出 对于依赖可靠解析输出值的下游应用程序来说,生成结构化输出是LLMs非常重要的能力。开发人员希望快速将 AI 模型的结果转换为数据类型,例如 JSON、XML 或 Java 类,这些数据类型可以传递给其他应用程序函数和方法。 特别…

【数据分享】中国价格统计年鉴(2013-2022)

大家好!今天我要向大家介绍一份重要的中国价格统计数据资源——《中国价格统计年鉴》。这份年鉴涵盖了从2013年到2022年中国价格统计全面数据,并提供限时免费下载。(无需分享朋友圈即可获取) 数据介绍 在过去的十年里&#xff0…

解决While loop问题 - Python

当我们在使用 while 循环时,需要确保循环的终止条件最终会被满足,否则循环将会无限执行下去。通常情况下,我们可以在循环内部修改循环控制变量,使得终止条件得以满足。 1、问题背景 一位开发者在使用 Python 开发一个基于文本的游…

NI USB-6009 DAQ采集卡拆解

所需设备: 1、NI USB-6009采集卡; 2、逻辑分析仪; NI USB-6009采集卡全貌: 性能参数: 内部照片: ADC芯片指标: 接线图: 差分模式采样: 采集过程中的SPI总线数据监控&a…

Laravel 6 - 第十九章 模型文件

​ 文章目录 Laravel 6 - 第一章 简介 Laravel 6 - 第二章 项目搭建 Laravel 6 - 第三章 文件夹结构 Laravel 6 - 第四章 生命周期 Laravel 6 - 第五章 控制反转和依赖注入 Laravel 6 - 第六章 服务容器 Laravel 6 - 第七章 服务提供者 Laravel 6 - 第八章 门面 Laravel 6 - …

不谈AI能替代什么,就聊能帮我们干活的AI客服机器人!

最近在直播群里有老板在找客服外包,因为客服压力大,接不过来了,想找找外包支援一下。据了解电商客服除了压力大,还会遇到过量的重复劳动,比如我们问一个产品,同一天可能就有几百上千客户问同样的问题&#…

如何把视频的声音转换成音频?干货分享

在数字时代,我们常常需要处理视频文件,而有时候我们只对视频中的音频部分感兴趣。无论是提取影片中的音乐、制作声音效果,还是其他音频处理需求,将视频的声音转换成音频是一个常见而有用的技能。如何把视频的声音转换成音频&#…

css实现优惠券样式

实现优惠券效果: 实现思路: 需要三个盒子元素,使用 css 剪裁,利用 ellipse 属性,将两个盒子分别裁剪成两个半圆,位置固定在另一个盒子元素左右两边适当位置上。为另一个盒子设置想要的样式,圆角…

Tailwind CSS 实战指南:快速构建响应式网页设计

title: Tailwind CSS 实战指南:快速构建响应式网页设计 date: 2024/6/12 updated: 2024/6/12 author: cmdragon excerpt: 这篇文章介绍了Tailwind CSS框架的特点与优势,包括其作为实用性的CSS框架如何通过预设的样式类实现快速布局和设计,…