华为AUTOSAR质量目标与开发实践

一、如何根据特征制定软件质量目标(以华为为例)

1. ​基于ISO/IEC 25010标准分解质量特性

华为等大型企业在制定软件质量目标时,通常会参考国际标准ISO/IEC 25010定义的八大质量特性(功能性、可靠性、性能效率、安全性、兼容性、易用性、可维护性、可移植性)。具体步骤如下:

  • 特性识别​:结合产品需求,从上述特性中选择关键项。例如,自动驾驶软件需优先保障功能性和安全性;
  • 量化指标设计​:为每个特性定义可测量的指标,如:
    • 功能性​:需求覆盖度≥98%,功能正确性测试通过率≥95%;
    • 可靠性​:系统故障率≤0.001次/小时,MTBF(平均无故障时间)≥1000小时;
    • 安全性​:威胁检测率≥99%,漏洞修复周期≤48小时。

2. ​质量目标的分层与过程管理

华为采用V模型开发流程,将质量目标分解到各开发阶段:

  • 需求阶段​:定义需求覆盖度(如100%需求可追溯)、评审缺陷密度(如每千行代码缺陷数≤1);
  • 设计阶段​:通过静态代码分析工具(如Polyspace)确保MISRA-C/C++规范合规性;
  • 测试阶段​: 设置测试通过率(如单元测试≥95%,集成测试≥90%)、缺陷修复率(如关键缺陷修复率≥98%)。

3. ​结合AUTOSAR特性的质量策略

针对AUTOSAR架构,华为可能采用以下方法:

  • 模型验证​:对Simulink生成的AUTOSAR模型进行覆盖率分析(如路径覆盖≥80%);
  • 代码规范性​:确保生成的C/C++代码符合AUTOSAR编码规范(如使用Vector工具链进行静态检查);
  • 集成测试​:通过CANoe等工具验证通信协议栈(如CAN/LIN/Ethernet)的实时性和鲁棒性。

二、AUTOSAR是否全部为模型代码?

1. ​AUTOSAR开发中的模型与代码关系

AUTOSAR开发并非完全依赖模型生成代码,而是采用模型驱动开发(MDD)与手动编码结合的模式:

  • 模型生成代码​:
    • 应用层(SWC)和接口定义通常通过工具(如Matlab/Simulink、DaVinci)生成C代码和ARXML描述文件;
    • 例如,线控制动系统的转矩控制组件可通

    • 过Simulink自动生成C代码及ARXML配置文件。
  • 手动编码部分​:
    • 基础软件层(BSW)​:如微控制器抽象层(MCAL)需针对具体芯片(如英飞凌Aurix)手动配置寄存器驱动;
    • 复杂驱动​:传感器/执行器的底层逻辑可能需手动实现。

2. ​AUTOSAR平台的技术分工

​开发类型

​工具/语言

​典型场景

模型驱动开发

Matlab/Simulink、ETAS ISOLAR

应用层算法设计、接口定义

手动编码与配置

C语言、EB tresos、Vector工具链

MCAL配置、复杂驱动开发

自动化代码生成

RTA工具链、Geny

RTE和BSW代码生成

3. ​华为在AUTOSAR开发中的实践

  • 工具链整合​:可能采用自研工具链(如鸿蒙OS适配的AUTOSAR模块)与第三方工具(如Vector)结合;
  • 质量管控​:通过持续集成(CI)和自动化测试(如Mantis缺陷跟踪系统)确保模型与代码的一致性。

总结

  1. 质量目标制定需基于国际标准、分层量化,并结合AUTOSAR架构特点强化模型验证和集成测试;
  2. AUTOSAR开发是模型生成与手动编码的混合模式,模型代码主要用于应用层和接口,底层驱动仍需手动实现。
    如需具体案例或工具链配置细节,可进一步查阅AUTOSAR官方文档或企业技术白皮书。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值