e-works数字化企业网  »  文章频道  »  产品创新数字化(PLM)  »  PLM综合

基于ALM的统一软件开发平台设计与实现

2021/12/3    来源:e-works    作者:成君昭  郭秋华  严锦伟      
关键字:ALM  软件开发管理平台  
本文主要介绍了构建软件开发环境的背景、可借鉴的实施技术方案、构建统一管理平台所取得的效果和遗留问题对策。
       随着汽车电子技术在汽车产业的广泛应用,汽车电控系统和网络日益复杂,而汽车产品更新越来越快,要求电控单元开发周期越来越短,汽车电子软件开发管理难度增大,复用性和移植性变差,因此,采用规范的软件开发平台,提高软件开发效率和质量已迫在眉睫。本文主要介绍了构建软件开发环境的背景、可借鉴的实施技术方案、构建统一管理平台所取得的效果和遗留问题对策。

1、引言

       进入21世纪,特别是最近十年,智能网联和新能源车型的开发进入快车道,汽车行业软件开发在整车开发中的占比越来越高,软件开发不再是一个小部门完成零部件类开发,而是需要从整车需求定义开始,整合电子电气架构开发,到系统架构、软件架构、软件代码开发、单元测试、系统测试直到整车测试一整套完整的V-model模型开发流程支持。由于软件开发对团队作战、质量控制提出了更高的要求,因此构建一个全价值链软件开发环境成为汽车研发产品开发管理中的重要一环。

       随着电子技术的发展,商用车电子电气系统越来越复杂,整车的安全性、舒适性、娱乐性包括发动机控制及排放升级,任何一项新技术的应用和提升都离不开电子技术。整车上的各种ECU(Electronic Control Unit)越来越多,相互之间交互的信号越来越多、网络的通信方式越来越复杂,如此复杂的电控系统对整车的功能、性能、成本、开发周期都有更高的要求,很多时候它决定了整车产品的性能和竞争力达成。电控系统开发大部分工作集中在嵌入式软件开发和测试阶段,针对软件开发和测试的管理,要求建立一套完善的软件开发管理平台。

2、软件开发环境建设必要性和紧迫性

       企业对业务需求梳理后认为,建立软件开发环境已经刻不容缓,迫在眉睫。

       1)电控和智能网联软件开发在动力总成及整车产品中占据越来越重要的地位,决定着产品性能和竞争力达成;

       2)软件开发是多部门、多任务、多地点的协同开发模式,提升软件开发质量、效率,保证数据安全;

       3)软件开发目前不受控,各个项目组内部管控,数据存放在个人手中,存在信息安全风险。

       4)软件开发涉及开发经验和技术能力的积累,需要软件开发环境项目提供技术支持,将企业软件开发知识资产积累和沉淀。

       5)当前企业多个产品开发项目已进入全面铺开阶段,项目之间急需协同开发,并对需求和代码、测试进行有效管控,急需一个成熟的系统平台支持。

3、软件开发环境建设技术方案

       在项目预研究阶段,项目组调研获悉国内软件开发行业已大部分建立了完整的开发体系,并通过了高等级的标准认证。汽车行业部分企业已建立完成标准的开发环境。部分汽车企业也通过了A-SPICE(Automotive Software Process Improvement and Capacity Determination)成熟度认证。某企业在构建软件开发环境前,电控软件开发环境处于空白,仅仅使用了部分开发工具软件,没有完整的软件开发流程环境,软件开发数据存放在个人计算机内,软件需求、代码、测试未建立关联关系,没有版本管理和配置管理,软件发放和交换靠人工拷贝或邮件,无系统追踪记录。与国内同行业开发水平存在较大差距,不利于核心数据的信息安全和可靠性。

       在制定软件开发环境技术方案过程中,首先考虑导入一款成熟的工程控制系统,其主要功能包含如下几点:

       ●配置管理:梳理配置管理流程,配置管理包括代码,模型以及相关文件,实现版本、分支、合并、变更以及对比等功能,利用项目变型支持并行软件的开发。

       ●变更管理:定义变更管理、缺陷管理、质量管理流程。定义变更的涉及范围,定义变更流程,实现变更的可控和追踪记录。实现缺陷追踪管理,实现测试结果和缺陷的追溯,结合质量管理,将质量和缺陷流程数据作为变更原因驱动变更流程。

       ●检查验证:测试用例管理、测试计划管理、测试目标管理、测试任务和测试结果。实现测试用例分级分类,实现需求和测试的双向追溯,提供需求覆盖度计算,测试执行率计算等。

       ●软件质量:支持产品测试、评审等质量活动中产品缺陷的提出,缺陷具有分析、追溯流程。

       ●需求追朔性:所有工程文件必须关联,需求与代码、测试文件等建立关联关系,具备可追溯性,能够实现需求与子需求之间的追溯。

       ●需求分解:定义需求结构,需求管理流程。实施需求过程管理,包括:系统需求、软件需求、硬件需求,同时在系统需求层面实现ISO26262功能安全部分。

       ●版本控制:软件项目和软件代码的版本管理, 基线管理以及软件代码的权限控制, 主流IDE的集成。

       ●文档管理:软件开发环境中所有文档具备树形结构化管理方案,文档创建核发布有审批流程和生命周期状态定义。

       导入系统平台同时,需要同步制定企业软件管理各种规范标准,具体包括项目管理、需求管理、软件代码、测试文档等开发文档的命名规范、评审规范,版本管理规范等。

       为了保证软件代码和相关文档的信息安全,除了系统中设定相关权限管理外,利用当前云桌面技术,所有应用都在云桌面上运行,包括软件开发环境平台、软件开发工具等,所有涉及到的开发和测试数据都保存在云服务器上,并进行适当的加密处理。确保软件数据的完整性和安全性。

软件开发环境基础平台业务流程示意图

图1 软件开发环境基础平台业务流程示意图

       经过项目组大量的评审和测试,最终确定应用一款成熟的ALM(Application Lifecycle Management)系统作为软件开发环境基础平台,在平台上实现软件项目全过程的管理,包括需求分析、设计、开发、测试、代码编译发布等,并能够按照业界实践对其过程进行管控和各过程间的连接,能够充分满足汽车行业客户对于车载软件研发管理系统平台的功能诉求,过程示意如图1。

       在软件开发的全生命周期管理的全过程,能够与常规应用的工具进行集成,包括matlab、Microsoft Word、Microsoft Excel、Eclipse、Visual Studio等,如图2。

ALM与常规应用工具集成

图2 ALM与常规应用工具集成

4、软件开发环境平台构建实现效果

       1)完成需求过程管理,包括:系统需求、软件需求、硬件需求,同时在系统需求层面实现ISO26262功能安全部分。

       2)完成测试管理:测试用例管理、测试计划管理、测试目标管理、测试任务和测试结果。实现测试用例分级分类,实现需求和测试的双向追溯,提供需求测试覆盖度计算,测试执行率计算等。

       3)管理缺陷的追踪流程,对缺陷、变更、质量等问题提供状态分布图、趋势图、分类图、延误图,实现测试结果和缺陷的追溯。

       4)追溯关系,建立需求、测试、缺陷、模型、代码之间的关联关系,以及可追溯性管理。

       5)根据现有开发流程,定义配置库结构,定义主线和分支管理规则,软件项目和软件代码的版本管理, 基线管理以及软件代码的权限控制, 主流IDE(Integrated Development Environment)的集成。

       6)建设变更管理标准体系,实现数据过程版本管理,修改留有痕迹和记录,避免犯同一错误或同一错误重复出现,借助系统进行变更受影响范围快速分析,对变更进行的实时监控。

       7)系统的集成,打通整个软件开发工具链,整合电子电气架构开发工具到一体化的电控软件开发环境平台中,并实现与测试平台集成,将电控软件开发环境中测试计划、测试报告传递到测试平台。

       8)建立知识共享库、集中共享企业和各专业的业务规范、将知识转化为可以应用的形式。

       9)实现产品数据的有效性和安全性控制,保证数据的准确性、完整性和一致性,实现对知识资产的有效保护。

       10)标准合规性的支持,遵循国际和国内标准,作为汽车行业A-SPICE HIS2级部分流程的编写和管理工具,管理部分活动和交付物。

5、软件开发环境平台建设主要创新点和价值贡献

       1)建立起一整套符合企业业务模式的软件产品生命周期管理流程,并在搭建的电控软件开发环境系统中落地。借助软件开发环境,支持多项目开发,实现V-Model开发模式,对软件的配置项进行过程管理,利用系统集成实现跨专业的协同。

       2)借助软件开发环境平台建设,企业实现软件代码开发全面云上运行,一方面保证软件代码数据安全,另一方面,实现云上办公,充分利用云上办公资源,实现硬件资源的灵活部署和分配。同时,可以实现远程办公,实时处理开发过程中遇到的各种问题,大大提高了软件开发效率和质量。

       3)通过软件开发环境搭建,对软件开发过程进行全面规范化,按照A-SPICE 成熟度模型进行完善软件开发流程,并借助软件开发环境固化流程,达到开发过程质量受控,开发测试全过程可追溯、可审计,有力保证了软件开发质量,提高汽车产品可靠性。

6、遗留问题与对策

       软件开发环境构建完成后,软件代码在ALM系统中管理,企业产品数据变更管理在PDM(Product Data Management)系统中管控,如何将软件代码作为零部件进行发布和变更,带来另外一个问题。即软件代码与产品变更单之间的关联关系需要建立并管控。

       因此,企业需要在构建软件开发环境平台同时,考虑建立ALM与PDM之间的接口集成,并监控控制规范和校验流程,确保软件代码在准确的时间,搭载到准确的产品车型上,同步刷写到下线产品车辆中,实现从产品开发到生产制造的一条龙管理。
 
责任编辑:程玥
本文为e-works原创投稿文章,未经e-works书面许可,任何人不得复制、转载、摘编等任何方式进行使用。如已是e-works授权合作伙伴,应在授权范围内使用。e-works内容合作伙伴申请热线:editor@e-works.net.cn tel:027-87592219/20/21。
兴趣阅读
相关资料
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐