技术分享」嵌入式软件如何做FMEA?

  问:嵌入式软件如何做FMEA ?

  答:嵌入式软件FMEA是从硬件或系统FMEA扩展出来的,应用于嵌入式软件的可靠性、安全性风险分析,鲜万世老师总结了软件FMEA实施过程和要点,重点说明了软件FMEA应用的有效性和实用性。

  一、什么是软件FMEA?嵌入式软件能做FMEA吗?

  随着汽车嵌入式软件的日益增加以及

  软件的功能及复杂程序的增加,

  应用FMEA方法进行软件产品可靠性、

  安全性分析,具有重要意义。

  Martin老师对软件FMEA方法和实施过程进行分析

  归纳了汽车嵌入式软件FMEA一般方法和实践。

  那么?什么是软件FMEA?

  软件FMEA是硬件或系统FMEA扩展出来的,

  应用于嵌入式软件的可靠性、

  安全性的风险分析工具。

  是一种以小组为导向,系统的、定性的分析方法。

  以识别软件的薄弱环节,

  并提出改进措施的建议。

  软件FMEA适用于软件产品开发的生命周期过程,

  包括软件需求分析、概念设计说明、详细设计说明等文档。

  二、嵌入式软件如何做FMEA?

  第一步:定义范围

  通过定义范围,确定分析的范围包括什么,

  不包括什么?

  定义分析的软件系统,包括哪些,是操作软件,还是底层的基础软件。

  我们可以使用边界图来定义本次分析的范围,

  案例中,虚线框界定分析范围,导航主机系统的Navi Core

  带有标识的方框表示各类操作软件,Render, Routing, Map Decoder, GPS Decoder, GYRO Decoder, DR等。

  不同的线表示各类操作软件间的信息交流关系,

  箭头的方向表示软件模块间输入输出的信息关系

  Navicore框外面的部分是与外部软件、硬件的接口。详细见下图

  导航主机系统的Navi Core的边界图

  第二步:结构分析

  识别软件的约定层次的结构,并使用结构图表达他们的关系。

  软件的结构不同于硬件,

  不能按零件的物理结构分解。

  汽车车门的结构分析示意图

  汽车制动系统结构分析示意图

  软件的结构按功能流进行结构分析,

  软件由程序、分程序、模块和程序单元组成,

  下图中的软件约定层次划分示例:

  第一层为硬件装备(初始约定层次)

  第二层为一般为硬/软件结合系统(约定层次)

  第三层为软件单元(最低约定层次)

  案例中:

  第一层为硬/软件结合系统,导航主机系统

  第二层为分程序Navi Core

  第三层为模块,包括了Render, Routing, Map Decoder, GPS Decoder, GYRO Decoder, DR等

  第四层为软件单元:读取模块、解析算法、数据校验等。

  第三步:功能分析

  确保软件需求、功能适当地分配给系统元素。

  第一步先进行软件的总体功能流分析,

  如何将输入转化输出,实现软件的功能。

  要进行软件功能流的研究,首先要对分析对象非常了解,

  最好熟悉模块的架构、功能和处理流程,

  可以参考软件需求说明书,规格设计文档。

  上一步确定了整体软件流程,对于软件功能流来说

  还是比较粗的,所以下一步

  就是对确定的分析对象进行流程细化,

  至少细化到软件运行步骤的程度。

  功能分析至少分解为三层

  功能分析应从第一层次(即最高级层次)展开,

  刚才的案例中第一层次为导航主机系统,

  功能描述了分析层次元素的输入和输出的关系,

  其功能是导航路线,

  我们需要将功能进一步具体化,

  要求是与功能性能相关的可测量的特性,如功率。

  那么导航路线的要求是什么呢?

  需要一些可以测量的指标来衡量功能,如:

  -开机响应时间

  -路径规划时间

  -规划路径偏差度

  -语音提示及时XX

  -界面易读性

  -不会黑屏/重启/Reset···

  然后将第一层的功能传送给第二层、第三层。

  我们也可通过功能矩阵图,将上一级的功能分解至下一层次。

  功能矩阵图的横向是软件的模块,

  而纵向是软件的功能描述,

  而Y或X表示,上一层次的软件功能与下一级软件模块的关系。

  也可使用功能网,将各结构层次功能连接起来,

  案例中,是以Routing路径规划为聚集元素,

  Routing功能是路径规划,要求为路径计算时间为小于6s.

  在连接功能网时,从左向右,应问“HOW如何”,

  导航模块的路径规划时间如何小于6s,

  Routing路径计算时间小于6s,

  Routing路径计算时间如何小于6s,

  算法的道路数据分析时间小于2s。

  在连接功能网时,从右向左,应问“WHY为什么”,

  算法为什么道路数据分析时间小于2s,

  因为Routing路径计算时间要小于6s,

  第四步:失效分析

  识别失效原因、模式和影响,并使用失效网

  来显示它们之间的关系以进行风险评估。

  失效不是传统的头脑风暴出来的,

  是由各层次的软件的功能推断出来的,

  也要考虑以下几种潜在的失效模式,

  软件失效模式是软件故障的表现形式,

  针对一个被分析的软件单元找出可能的失效模式,

  按软件失效模式分类,不仅限于以下:

  软件失效原因是软件开发过程的设计错误所引起的,

  包括需求分析缺陷、功能和性能缺陷,软件结构缺陷,

  数据处理缺陷,软件实现和编码缺陷,

  软/硬件接口缺陷等。

  软件失效原因按其缺陷分类具体包括,不局限于:

  运用失效网链接失效模式、失效后果及失效原因,

  并运用失效网可视化,

  将失效原因链接到失效模式,

  应自问,失效模式为什么发生?

  将失效影响链接到失效模式,

  应自问,失效模式发生产生了什么后果。

  案例中,以Routing路径规划为聚焦元素,

  将失效原因路径计算时间大于4s,道路数据分析时间大于2s,

  链接到失效模式,要问路径规划大于6s为什么发生?

  将失效影响导航模块路径规划时间大于6s,

  链接到失效模式,要问Routing路径规划大于6s发生时,产生什么后果。

  第五步:风险分析

  分配现行的预防与探测措施,通过评估严重度、发生度、探测度来评估风险,并得到采取行动的优先级。

  第六步:优化

  根据风险及行动优先级,确定优化措施的可能性。

  嵌入式软件FMEA的注意事项:

  1、明确嵌入式软件FMEA在不同开发阶段的重点,在软件需求分析与概要设计阶段,采用功能流程图的分析找出可能存在与功能和性能有关的错误,以完善需求分析与概要设计。在软件的详细设计与编码中可能存在与功能和性能有关的缺陷,并用自下而上的方法验证软件实现功能的能力。

  2、确定软件分析的范围和对象非常重要,分析对象可以是软件结构树的各个层级,包括软件的系统、分系统、模块,但一般选择最小的分析单元,如软件模块。

  3、目前软件FMEA的经验不足,应积累经验,建立知识库。

  三、总结

  我们这次通过实践总结了软件FMEA实施的要点,

  通过对导航系统的路径规划进行实践应用,

  对导航系统进行结构分析,并建立了功能网、失效网,

  通过失效网将失效模式、失效后果及失效原因,

  有效的链接起来。

  并通过SOD评估,发现了软件模块的薄弱环节,

  制定预防与探测措施,有利于提高软件的可靠性

途傲科技为中小企业提供网站制作、网站建设、微信H5、微信小程序,多商户平台,多级分销系统,APP开发,手机网站,HTML5多端自适应网站,营销型企业站建设,及对技术人才的培养等都积累与沉淀了丰富的心得和实战经验。

如果您有想法,可以将需求提交给我们【免费提交需求,获取解决方案】

免责声明:文章部分内容收集于互联网,不代表本站的观点和立场,如有侵权请联系删除。

发表回复

在线客服
途傲科技
免费获取方案及报价
2024-03-29 00:33:04
您好!欢迎来到途傲科技,我们致力于软件定制开发,核心团队拥有10年以上开发经验,项目案例1000+。 目前已合作客户有【中电金信】【中建土木】【齐鲁壹点】【中软国际】等。为了节省您的时间,您可以留下姓名,手机号(或微信号),产品经理稍后联系您,免费帮您出方案和预算! 全国咨询专线:18678836968(同微信号)。
🔥线🔥
您的留言我们已经收到,现在添加运营微信,我们将会尽快跟您联系!
[运营电话]
18678836968
取消

选择聊天工具: