2、危害分析与风险评估(HARA):HARA的目的与流程、运行场景与模式定义、危害识别方法、危害事件定义

好,咱们进入正题。HARA,全称是 Hazard Analysis and Risk Assessment。说白了,它就是功能安全的“地基”。

我见过不少项目,上来就急着写安全需求,结果做到一半发现场景没覆盖全,又回头补HARA。那感觉,就像盖楼时发现地基没打牢,你说难受不难受?

所以,咱们今天就把这块地基夯实了。我会把HARA的目的、流程,以及怎么定义场景、识别危害,一步步拆开来讲。

2.1 HARA的目的与流程

HARA到底要干嘛?其实就三件事:

  • 找出危害:这车在什么情况下会出危险?
  • 评估风险:这个危险有多严重?发生的概率大不大?
  • 定下等级:给它定个ASIL等级,A、B、C、D,或者QM。

流程上,我习惯分成五步走:

  1. 定义功能:先搞清楚这个系统是干嘛的。比如“电子助力转向系统”。
  2. 定义运行场景与模式:车在什么路上开?什么速度?什么天气?
  3. 识别危害:功能失效了会怎样?比如“转向助力突然丢失”。
  4. 定义危害事件:把危害和场景结合起来。比如“在高速上以120km/h行驶时,转向助力突然丢失”。
  5. 评估与定级:根据严重度(S)、暴露率(E)、可控性(C),算出ASIL等级。

核心要点:HARA不是一次性的工作。项目后期如果功能变了,或者发现了新场景,一定要回头更新HARA。我吃过这个亏,希望大家别重蹈覆辙。

2.2 运行场景与模式定义

这一步,很多人容易忽略。你想想看,一个功能在“地下车库”和“高速公路”上失效,后果能一样吗?

所以,定义场景要尽可能全面。我个人习惯从这几个维度去考虑:

  • 道路类型:城市道路、高速公路、乡村小路、停车场。
  • 环境条件:白天/黑夜、晴天/雨天/雪天、路面湿滑/干燥。
  • 车辆状态:静止、低速、中速、高速、转弯、变道。
  • 驾驶员行为:正常驾驶、紧急制动、分心驾驶。

举个例子,对于“自动紧急制动(AEB)”功能,它的运行模式可能包括:

模式 描述
城市模式 车速0-50km/h,检测前方车辆或行人
高速模式 车速50-120km/h,主要检测前方车辆
倒车模式 车速低于10km/h,检测后方障碍物

我的小技巧:做场景定义时,拉上系统工程师和测试工程师一起 brainstorm。一个人想,总有遗漏。我记得有一次,我们漏掉了“隧道内突然变暗”的场景,后来在评审时被揪了出来,差点酿成大错。

2.3 危害识别方法

危害识别,就是找“茬”。怎么找?常用的方法有这几种:

  • 头脑风暴:团队坐在一起,天马行空地想。但要注意,别跑偏了。
  • 检查表法:基于以往项目的经验,列出一张常见危害清单。新手用这个最保险。
  • HAZOP分析:这是化工行业传过来的方法。通过引导词(如“无”、“多”、“少”、“相反”)来触发思考。

我比较推荐HAZOP,因为它系统性强。比如,针对“转向系统”,我们可以这样分析:

引导词 偏差 可能的危害
无转向助力 驾驶员无法转向
转向助力过大 车辆过度转向,失控
相反 转向方向相反 车辆向反方向转向

注意:危害识别时,不要只盯着“功能失效”。也要考虑“非功能”的,比如电磁干扰、软件bug、传感器脏污等。我曾经遇到过一个案例,因为摄像头被泥巴糊住了,导致车道保持功能误激活,差点出了事故。

2.4 危害事件定义

危害事件,就是把“危害”和“场景”结合起来。这一步很关键,因为同样的危害,在不同场景下,ASIL等级可能完全不同。

举个例子,同样是“转向助力丢失”:

  • 场景A:车辆在停车场,车速5km/h。驾驶员很容易控制,风险低。
  • 场景B:车辆在高速上,车速120km/h。驾驶员需要用力打方向,风险极高。

所以,定义危害事件时,要写清楚:

  • 什么功能:转向系统
  • 什么失效:助力丢失
  • 什么场景:高速行驶,120km/h
  • 什么后果:驾驶员无法及时转向,车辆偏离车道,可能发生碰撞

一个完整的危害事件描述,应该是这样的:

危害事件:在高速公路上以120km/h行驶时,电子助力转向系统因软件故障导致助力完全丢失,驾驶员需要施加远大于正常值的力才能转动方向盘,导致车辆无法及时避让前方障碍物,存在碰撞风险。

嗯,到这里,HARA的核心内容就讲完了。记住,HARA不是走过场,它是后续所有安全工作的输入。你花在HARA上的每一分钟,都会在后面的开发中省下十倍的时间。

下一章,咱们聊聊怎么给这些危害事件定ASIL等级,以及怎么分解它。到时候见。