提到软件开发质量控制,非常容易让人联想到敏捷开发、 ASPICE等概念如果放开思路,不局限于CMMI等既有体系,那么软件开发的质量控制和提升还有多种工具,例如:专家经验类:依靠核心专家的经验,全面把控设计方案和测试过程的合理性,从而对整个设计进行控制体系推进类:体系推进类是经常被讨论的,涵盖了各种标准化的方法论,如各级review、测试体系、失效库的建立和分析等FMEA也是其中之一管理监督类:从结果导向的角度,对软件产品的进度和质量进行考核,从而推动软件开发质量提升不同的产品与市场,不同的团队特点下,适合灵活采取各种方案当然,方案间不是互斥的,相信每个软件团队都有符合自身特点的工具组合嵌入式软件如何做FMEA?1. 必要性软件FMEA是一个相对特殊的主题谈到FMEA,被检查对象更多涉及系统、硬件或生产过程,软件似乎并不太常见而谈到软件质量控制,虽然有各种体系和审核,FMEA却常常不是强制要求然而正是这个相对冷门的方法,在汽车行业的软件开发中却孕育着独特价值根据个人经验,以下是一些特殊要素,可说明其在汽车行业中的重要性:● 系统整合性:汽车行业的软件需在一个完整系统中工作,因此不能孤立地检查软件例如,在设计驱动程序时,必须考虑到车辆可能出现的电压波动、温度变化等因素只有从系统角度来检查软件设计,才能提供更为全面的视角● 软硬件协同:软件行为需要与硬件紧密结合,并可能受到批量一致性的影响例如软件需要与一个外围器件进行SPI通信,单个样品测试多次都是好的,但批量后的少数个体偶发失效也客观存在,不能因此影响客户体验● 可靠性和可维护性:整体对可靠性和可维护性要求很高,功能丧失或系统重启等问题可能对客户影响极大有些与可靠性关联的故障工况,可能在研发阶段难以预见或模拟而可维护性虽与FMEA关系并不显著,却容易在常规软件review中被忽略通过对比经典的软件质量控制工具箱,我们可以发现,虽然其中的专家经验或管理监督方法能全方位覆盖各种问题,但ASPICE等经典体系对于上述特殊要素的聚焦却相对不足软件FMEA以其天然的系统观点、关注环节间关联性的特点,以及对衡量标准(如可维护性、关注程度等)的人为调整能力,在汽车行业软件设计中成为一种实用且有效的工具这一方法的价值不应被忽视,反而应当作为软件质量控制的重要组成部分加以重视和推广2. 边界与方法当然,虽然软件FMEA是一项有力的工具,但在实际应用中必须明智地选取适用范围和关注点不是每个子系统设计都需要进行一轮FMEA分析,也不是软件设计中的每个部分都需要全部检查以下是结合个人经验,对有关软件FMEA适用范围和关键焦点的一些理解适用范围:软硬结合的复杂子系统● 在FMEA的体系下去检查coding级别的错误,投入大且基本难有什么产出,那是ASPICE等工具的长项;● FMEA体系还是更适合概念性/体系性/失效模式为导向的检查检查目标为软件产品所实现的功能,而不是软件本身失效模式非常体现软件FMEA特色● 需要考虑失效对软件的影响:例如系统FMEA关注晶振的偏差影响,软件FMEA中就需要关注偏差范围内频率变化是否能被各模块容错处理● 需要考虑软件特有的失效类型:例如时序问题、资源抢占、数据一致性等,这些软件特殊的失效类型在软件FMEA中可能会受到重点关注,而在系统FMEA中可能会被忽略● 特别考虑失效定位的便捷性:软件失效处理和更新所占的时间不容忽视,因此“失效是否方便被快速定位”是高价值功能,前期提前考虑能节省后期大量人力物力经典软件流程与FMEA的不同关注项:软件开发的质量和可靠性设计是一个综合话题,对此的追求应从设计阶段就需要保证,而不是单纯依靠测试多种工具和方法都可以为研发过程提供支撑,软件FMEA方法虽被较少提及,但却具有特殊意义更多专业质量文章,请访问QualityIn质量学院官网www.quality-in.comOne More Thing「全价值链质量工具实操知识」明星家族产品每个人都值得拥有的质量知识宝典随时学习,指导工作
▼▼▼
(图片来源网络,侵删)
0 评论