2023-01-15 汽车软件研发项目管理及发布变更与应用体系
1前言 汽车“新四化”和公司战略对汽车核心竞争力–软件,提出了更高的要求。同时随着整车电子电气的发展,软件定义汽车成为汽车行业的共识与目标,复杂的软件数据管理成为汽车行业新四化的掣肘软。同时提升软件开发管理能力,实现软件开发从研发、制造到服务全流程管理势在必行;目前汽车电子开发多采用V字模型,且国际上已有一些通用开发流程:并需符合ASPICE、ISO26262等标准。 在此背景下,传统车企也在做新四化的转型,软件管理对于相关人员是一个陌生的全新领域,需要从标准、流程和系统等各方面全面对标、全面优化和建立完整的软件数据管理体系(重点包含软件过程开发和发布变更及应用管理两个方面),形成企业级的软件管理标准,助力新四化的企业战略。 本文将全面阐述本公司在车载嵌入式软件数据管理领域的一些实践和创新。 2体系建立背景 新体系建立前公司的嵌入式软件数据管理体系难以满足业务增长的需要,软件产线刷新和售后问题急需解决;难以匹配行业发展趋势和公司战略(软件信息安全、行业标准、国际合作等)要求。 为解决此问题,通过行业对标和技术、业务可行性分析,需要建立企业级的软件过程开发管理平台,同时对现有PLM系统和相关关键业务信息系统进行改造或集成,实现企业级软件数据的全生命周期管理,提升产品质量和效率,提升未来企业的竞争力。 2.1建设前业务现状 2.1.1软件开发过程(ALM)缺乏统一的完备的企业级过程管理 当前公司存在两种软件开发模式:一种是软件自主开发,另一种是委托供应商开发软件。 实现软件自主开发的控制器,当前初步具备部分软件需求定义、建模、代码编写、配置管理、测试验证等能力,已使用部分工具支持软件开发,如Matlab、Rational、SVN等开发管理工具链,但未建立相应的软件过程开发管理平台集成管理整个软件开发过程,同时缺乏相应的标准和流程规范。 委托供应商开发软件的控制器,通过手工文档管理设计及验证功能层级需求。网络诊断部分软件有相对完整设计及相关工具链验证,未开展软件层级需求定义及测试验证,当前测试验证缺陷通过表格文件等形式线下管理;同样未建立相应的软件过程开发管理平台集成管理整个软件开发过程,同时缺乏相应的标准和流程规范。 以上导致如下问题: 1)技术开发层面需求没有条目化,也无法与测试用例关联。 2)协同层面在线下角色分散,协同性低;开发进度管控困难。 3)追溯层面无法精确追溯。 4)法规层面不符合ASPICE等要求。 2.1.2嵌入式软件数据发布、变更(PLM)及应用管理(下游系统)未形成闭环 1)软件仅在PDM系统中管理了数据包,并无软件BOM。 2)与硬件BOM无关联。 3)软件BOM\软件配置字文件\软件包在各自独立的系统中管理,未统一传递至产线。 4)针对OTA\售后系统需要的软件包还是线下传递,无系统统一源头。 以上情况导致以下问题: 1)导致生产/售后软件数据版本出错率较高。 2)软件数据源不统一,上下游信息不互通,一致性和匹配性无法保障。 3)软硬件兼容性关系无法管理。 4)软件随硬件供货,库存多,呆滞件多。 2.2建设前信息化系统现状 1)多头分散管理多种数据,形成烟囱式系统。 2)系统之间无集成,需要人工处理数据后合成。 3)响应不及时、不准确。 3体系建设总体目标 构建贯穿产品规划,研发设计,生产制造,售后服务的软件数据发布变更及应用,如图1蓝图所示。 图1体系建设蓝图 1)实现软件开发技术能力的拓展,搭建软件开发过程管理平台,实现软件全生命周期管理。 2)通过研发-生产-售后等关键业务系统的改造/集成,统一数据源,实现软件数据发布、变更和应用的一体化管理。 3)建立软件全周期的数据管理的系统、方法、标准、流程。 4)实现业务和系统的平稳上线。 4业务体系与流程规范 4.1软件开发过程体系 确定以项目管理为单位来管理整个ECU软件开发过程。从项目启动开始,结合软件工程的行业最佳实践,将整个软件生命周期划分为需求分析,架构设计,详细设计,开发,集成与测试,软件产品验证,版本发布和产品发布8个阶段。将公司当前的软件研发业务分为自主研发和外协两个板块。自主研发涉及上述8个阶段的每一个活动;外协业务是DRE负责向供应商提需求,由供应商完成软件开发,交付最终软件产品和刷写完成的控制器零件。两个板块最终的软件产品验证需要通过测试,然后将可刷写的软件介质发布到PDM系统,与PDM软件数据管理模块对接,为后续控制器软件的生产线刷写和售后刷写提供数据来源。 在整个软件的生命周期当中,引入缺陷和变更管理,以确保所有缺陷得到修复,所有变更相关的受影响对象版本一致,变更过程可控。 图2软件开发过程总体业务流程 由图2的业务流程可知,完成了以下相关内容: 1)定义了开发过程相关过程域的范围和活动要素。 2)明确了软件开发过程中的关键角色和职责定义。 3)理顺了业务流程中的各个业务阶段的活动和输入输出关系。 4)定义了各业务活动的详细子流程和工作内容(本文略)。 5)明确了自主开发软件过程版本发布(ALM)和产品最终版本发布(PDM)的关系和过程。 4.2软件发布变更及应用体系 公司规划了从软件研发过程管理,整车软件实体数据管理,发布/变更管理,软件应用,通过构建涵盖上下游各部门的业务流程和标准,支撑软件相关数据在从研发到生产及售后的全生命周期管理与应用 该流程主体由公司研发部门对软件实体数据和BOM关系数据进行统一的管理,生产工艺部门、制造负责对电检设备参数的维护与应用,售后服务包括(OTA和DMS)负责对于售后相关数据的维护与应用,具体见图3。 图3软件数据发布变更及应用刷写一体化管理解决方案业务流程 由图3的业务流程可知,完成了以下相关内容: 1)定义了软件主数据模型(编码规则、名称定义、层级结构、属性定义等)。…