正文从这里开始,请您鉴赏: |
第一步:定义范围
通过定义范围,确定分析的范围包括什么,
不包括什么?
定义分析的软件系统,包括哪些,是操作软件,还是底层的基础软件。
我们可以使用边界图来定义本次分析的范围,
案例中,虚线框界定分析范围,导航主机系统的Navi Core
带有标识的方框表示各类操作软件,Render, Routing, Map Decoder, GPS Decoder, GYRO Decoder, DR等。
不同的线表示各类操作软件间的信息交流关系,
箭头的方向表示软件模块间输入输出的信息关系
虚框外面的部分是与外部软件、硬件的接口。详细见下图
导航主机系统的Navi Core的边界图
第二步:结构分析
识别软件的约定层次的结构,并使用结构图表达他们的关系。
软件由程序、分程序、模块和程序单元组成,
下图中的软件约定层次划分示例:
第一层为硬件装备(初始约定层次)
第二层为一般为硬/软件结合系统(约定层次)
第三层为软件单元(最低约定层次)
案例中:
第一层为硬/软件结合系统,导航主机系统
第二层为分程序Navi Core
第三层为模块,包括了Render, Routing, Map Decoder, GPS Decoder, GYRO Decoder, DR等
第四层为软件单元:读取模块、解析算法、数据校验等。
第三步:功能分析
确保软件需求、功能适当地分配给系统元素。
第一步先进行软件的总体功能流分析,
如何将输入转化输出,实现软件的功能。
要进行软件功能流的研究,首先要对分析对象非常了解,
最好熟悉模块的架构、功能和处理流程,
可以参考软件需求说明书,规格设计文档。
上一步确定了整体软件流程,对于软件功能流来说
还是比较粗的,所以下一步
就是对确定的分析对象进行流程细化,
至少细化到软件运行步骤的程度。
功能分析至少分解为三层
功能分析应从第一层次(即最高级层次)展开,
刚才的案例中第一层次为导航主机系统,
功能描述了分析层次元素的输入和输出的关系,
其功能是导航路线,
我们需要将功能进一步具体化,
要求是与功能性能相关的可测量的特性,如功率。
那么导般路线的要求是什么呢?
需要一些可以测量的指标来衡量功能,如:
-开机响应时间<20s
-路径规划时间<5s
-规划路径偏差度<XX
-语音提示及时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
下一篇:新版FMEA发布了