ASPICE4.0之软件开发流程(SWE)牛喀网

ASPICE是AutomotiveSPICE的缩写,是一种用于评估和改进汽车软件开发过程的国际标准;ASPICE定义了一组标准化的软件开发过程和最佳实践,适用于整个软件生命周期,包括需求工程、软件设计、编码、测试和维护等各个领域。

通过规范化开发过程,ASPICE有助于提高软件产品的质量和可维护性,确保软件符合质量要求;同时对于开发者来讲,ASPICE的实施要求团队具备一定的技能和知识,这促进了团队技能和专业知识的提升,同时也促进了组织内的知识和经验的共享。

各家OEM与Tire1等可以去花费一定成本去做ASPICE评审,以彰显自家公司对于软件开发过程管理和实施能力水平。

评审的等级是基于ISO/IEC15504的能力成熟度模型,对汽车软件开发过程的成熟度进行划分的。

ASPICE评审等级通常划分为以下六个等级,每个等级代表了不同的水平层次,目前行业内达到L1~L2的较多:

Level0-未实施;

Level1-执行;提供基本的项目管理和开发活动,但缺乏系统的管理;

Level3-定义了过程的执行;软件开发过程在组织范围内得到了定义和标准化,符合需求和目标;

Level4-量化了过程的执行;软件开发过程的绩效进行了量化,通过数据分析和评估改进;

Level5-优化了过程的执行;软件开发过程持续改进,并与组织的业务目标和策略相一致。

02SWE介绍

ASPICE过程参考模型

作为汽车软件开发工程师,应该了解并尽量遵循SWE过程,不仅有助于提高软件质量,还能够降低开发成本、缩短开发周期,并增强软件的可维护性和可扩展性。

ASPICESWE(SoftwareEngineeringProcessGroup,软件工程过程组)是ASPICE中的一个关键部分,它涵盖了软件开发的多个阶段和流程。SWE过程组的主要目标是确保软件开发过程中的各个阶段都遵循最佳实践,以提高软件质量、减少开发风险,并满足汽车行业的严格要求。

03SWE.1

软件需求分析;目的是建立一套与系统需求和系统架构一致的结构化和分析的软件需求。

对应这一部分的开发者,应该接收来自SYS.2、SYS.3的输入,即系统需求和系统架构设计。

需要完成六项BP(BasePractices基础实践;ASPICE各项流程均定义了不同的BP,需要开发者遵守并完成):

1)Specifysoftwarerequirements.定义软件需求

2)Structuresoftwarerequirements.结构化软件需求

3)Analyzesoftwarerequirements.分析软件需求

4)Analyzetheimpactontheoperatingenvironment.分析需求在操作环境中的影响

5)Ensureconsistencyandestablishbidirectionaltraceability.确保一致性和双向可追溯性

举例说明,以车身控制中外灯系统中的近光灯部分需求点为例,SWE1对应描述如下:

SW_REQ-10001若整车电源模式是ON,车辆应在打开近光灯开关被按下时打开近光灯;

SW_REQ-10002若整车电源模式是ON,车辆应在关闭所有灯光被按下时关闭近光灯;

SW_REQ-10003车辆应为用户提供信息(近光指示灯)以提示近光灯的工作状态。

架构化需求及环境模块影响分析:

04SWE.2

软件架构设计;目的是建立一个与软件需求一致的且分析过的软件架构,包括静态和动态方面。

5个BP说明如下:

1)Specifystaticaspectsofthesoftwarearchitecture.定义静态的软件架构

2)Specifydynamicaspectsofthesoftwarearchitecture.定义动态的软件架构

3)Analyzesoftwarearchitecture.分析软件架构

4)Ensureconsistencyandestablishbidirectionaltraceability.确保一致性并建立双向可追溯性

5)Communicateagreedsoftwarearchitecture.沟通商定的系统架构

静态架构示意:

定义软件模块的静态信息,如接口名、信号名、模块名等;

继续以上述SW_REQ-10001~SW_REQ-10003需求为例

动态架构示意:重点在于模块的动态交互、时序等逻辑体现

05SWE.3

软件详细设计和单元构建;目的是建立与软件体系结构一致的软件详细设计,包括静态和动态方面,并构建与软件详细设计一致的软件单元。

同样包含5个BP:

1)Specifythestaticaspectsofthedetaileddesign.定义软件详细配置

2)Specifydynamicaspectsofthedetaileddesign.定义软件详细模块交互

3)Developsoftwareunits.开发并配置模块单元

5)Communicateagreedsoftwaredetaileddesignanddevelopedsoftwareunits.沟通商定的软件详细设计和开发的软件单元

这一环节是对软件架构设计中的SWComponent的进一步设计,同样的也包含了动态详细设计与静态详细设计两个方面;通常需要识别出SWE.2环节中设定的软件模块SWC中包含哪些子模块,不过,在通常的正向开发过程中,SWE.2执行过程已经完成这一步分析,如LoBeamSWC中包含了SWunit:电源判断模块与SWunit:灯光判断模块两个软件子模块;

对SWuint进行更详细的设计:定义操作函数、设定或理解交互接口;

如果涉及到复杂的数据类型或者算法,也需要在这个环节完成;

06SWE.4

软件单元验证;目的是验证软件单元是否与软件详细设计一致,提供证据证明软件单元符合软件详细设计和非功能软件需求;

该流程含有5个BP:

1)Specifysoftwareunitverificationmeasures.规定软件单元验证措施

2)Selectsoftwareunitverificationmeasures.选择软件单元验证措施

3)Verifysoftwareunits.验证软件单元

4)Ensureconsistencyandestablishbidirectionaltraceability.确保一致性,建立双向可追溯性

5)Summarizeandcommunicateresults.总结并交流结果

所要验证的对象来自于SWE.3的输出;

根据BP,实际操作流程可以如下:

1)收齐输入物(被测模型/代码),即SWE.1需求,与SWE.3代码/模型

2)搭建测试环境

在代码模型里模拟输入,观测输出;如在代码simulink模型中搭建测试module;

3)导入测试用例

首先要制定测试用例,以SWE.3中的模块为例,制定测试case;

4)执行测试

按照测试case执行测试代码+功能代码,记录测试结果;

5)针对测试结果及覆盖度结果补充测试用例

分析测试结果,同步的检查测试用例制定的完整性

6)回归测试

反馈测试NG项,待代码修改后回归测试

完整的流程过程物/输出物应该还包含详细的测试计划、测试报告分析等内容。

07SWE.5

软件组件验证和集成验证;这一环节目的是验证软件组件与软件架构设计一致,并集成软件元素,验证集成的软件元素与软件架构和软件详细设计一致

该流程含有7个BP:

BP1:Specifysoftwareintegrationverificationmeasures指定软件集成验证措施

BP2:Specifyverificationmeasuresforverifyingsoftwarecomponentbehavior指定验证软件组件行为的验证措施

BP3:Selectverificationmeasures选择验证措施

BP4:Integratesoftwareelementsandperformintegrationverification集成软件元素并执行集成验证

BP5:Performsoftwarecomponentverification执行软件组件验证

BP6:Ensureconsistencyandestablishbidirectionaltraceability确保一致性并建立双向可追溯性

BP7:Summarizeandcommunicateresults总结和交流结果

SWE.5参考流程

08SWE.6

软件验证;确保集成的软件与软件需求一致,也叫软件合格性测试

BP1:Specifyverificationmeasuresforsoftwareverification规定软件验证的验证措施

BP2:Selectverificationmeasures选择验证措施

BP3:Verifytheintegratedsoftware验证集成软件

BP4:Ensureconsistencyandestablishbidirectionaltraceability确保一致性并建立双向可追溯性。

BP5:Summarizeandcommunicateresults总结并沟通结果

SWE.6与SWE.4、SWE.5同属测试范畴,为了更好的区分,特意做出如下对比:

SWE.6参考执行流程

以SWE.1中软件需求SW_REQ-10001为例,验证用例和测试结果记录表格可参考如下:

09总结

遵循ASPICE开发流程,既要有专业化知识,还要有标准化流程,专业化知识包含了专业的汽车电子技术、编程能力、专业工具使用能力等;标准化流程即是各家主机厂或者供应商根据ASPICE流程制定各家专属的开发流程及各个流程对应产出物;

有一点贯穿整个软件开发过程,并且在评审过程中也会相当注重的,就是追溯性;

双向追溯

1)V模型左边的需求、设计和实现之间

2)V模型左边的需求设计实现与V模型右边的测试规范(或测试用例)之间

3)测试用例与测试结果之间

4)变更与变更影响的工作产品之间

因此,除了功能实现,体现追溯性的各环节文档与工具等要做好记录与管控,实现符合ASPICE流程的标准化开发。

THE END
1.Studio谷歌当你在 Google I/O 大会上推出自家全新的官方安卓软件集成开发工具 Android Studio 就引起了一片欢呼。这是 Google 基于IntelliJ IDEA (一款优秀的 Java 开发工具) 二次开发修改而来。 谷歌称 Android Studio 能让开发者更具生产力!它完全免费,跨平台支持 Win / Mac / Linux,是替代 Eclipse 的最佳安卓开发https://www.iplaysoft.com/android-studio.html
2.开发工具(编程语言程序设计软件电脑编程)开发工具下载提供编程语言|程序设计软件|电脑编程等相关下载软件,开发工具用户热评软件排行,新鲜软件排行等向您推荐最受关注和最新的开发工具工具。更多开发工具尽在中关村在线下载频道。https://xiazai.zol.com.cn/download_cate_biancheng/biancheng_page_1.html
3.西安AS400软件开发招聘网猎聘2025年西安AS400软件开发招聘信息,海量高薪猎头职位等你来选,了解西安AS400软件开发岗位要求、薪资待遇等真实招聘信息,找高薪职位,上猎聘!https://www.liepin.com/city-xian/zpas400ruanjiankaifa/
4.什么是NortekWinADV?(NortekAS开发)最新版本: 2024 软件类别: 其它 软件子类别: 其它 操作系统: Windows软件概述诺泰克WinADV是由挪威公司诺泰克AS开发的速度测量软件。 ADV代表声学多普勒流速仪。它被用于捕获颗粒,水,和其他物质的速度的测量。它在科研用于研究在实验室或海洋急剧电流变化。最后发布的版本是在2007年就已经停产了。软件https://www.solvusoft.com/zh-cn/file-extensions/software/nortek-as/nortek-winadv/
5.[转]AS语言基础飞鸟无痕6.2.3 封装让整个软件开发的复杂度大大降低 模块化,降低复杂度才是封装这个思想产生的最真实的原因,代码易于修改、替换、复用等只是这一点附带的好处而已。 6.3 ActionScript3中封装的几个层次 包外-> 包 -> 类 -> 包外类 (由外层到内层的结构,越靠近内近,访问权限越严格) https://www.cnblogs.com/tianlanliao/archive/2012/03/30/2425475.html
6.软件开发工具软件开发工具 储存到myST Complex programmable silicon components require a full complementary Ecosystem. ST and its partners provide an extensive range of Software Development Tools that are increasingly becoming an important criterion in the selection of semiconductor devices. https://www.st.com/zh/development-tools/software-development-tools.html
7.引领“数智时代”发展,打通“智变质变”正循环迁移完成之后,在后续版本迭代及新功能开发过程中,通过ARM架构配套的开发工具,帮助开发人员便捷获取和使用ARM架构优势特性,开发出高性能软件,同时自动完成典型场景下的应用包构建和执行,提升开发效率和体验,引导开发人员持续基于ARM架构原生开发行业应用,深入构建行业软件生态。 https://developer.aliyun.com/article/1150750
8.PracticeITIL 4软件开发和管理中文版介绍 Practice_Software development and management ITIL 4软件开发和管理 中文版【初译】.pdf 一般信息 2.1 目的和描述 软件开发和管理实践专注于应用程序软件的开发和管理。但是,许多原理也适用于作为开发和管理应用程序的基础结构的一部分的软件。 https://www.itilchina.cn/achotsao/vip_doc/16881760.html
9.关于软件开发英语作文软件开发的英语翻译phpSoftware development is often translated into English as \"software engineering.\" This term refers to the systematic process of creating and maintaining software applications. It involves the use of programming languages, software tools, and databases to create applications that can meet the needs ofhttps://www.yyzq.team/post/342645.html
10.ASP.NETCore适用于.NET的开源Web框架.NET 是一个开发人员平台,由工具、编程语言、库组成,用于构建许多不同类型的应用程序。 ASP.NET Core 通过专门用于生成 web 应用的工具和库扩展了.NET 开发人员平台。 更深入发掘: 什么是 ASP.NET Core? 了解ASP.NET Core 通过我们的教程、视频课程和文档,了解 ASP.NET Core 提供的所有功能。 https://asp.net/
11.开放的软件合作开发社区,分享互动和群体智能成为软件开发的[translate] a出现各种各样开源、开放的软件合作开发社区,分享、互动和群体智能成为软件开发的常态。 Appears opens the source, the opening software cooperation development community variously, the share, the interaction and the community intelligence becomes the habit which the software develops. [translate] http://eyu.zaixian-fanyi.com/fan_yi_1615023
12.有限元软件开发致力于国产大型通用商业有限元计算软件的开发当很多年前很多人一直怀疑这样一个由一大群“散户”开发出来的操作系统值不值得信赖,linux本身却在无声无息中迅速发展。走自己的路,让别人去说,也是一个很好的诠释。博主一直有发展我们自己的国产有限元计算软件的想法,但是对于如何有效的开展工作,是一个大大的难题。对于我们为什么至今还拿不出一个像样的有限元分析https://cfem2nli.wordpress.com/
13.您需要软件检测GJB 438B-2009 军用软件开发文档通用要求 GJB 439A-2013 军用软件质量保证通用要求 GJB 2115A-2013 军用软件研制项目管理要求 GJB 2226.8-1994 舰载雷达情报系统通用要求 软件要求 GJB 2434-1995 军用软件测试与评估通用要求 GJB 3982.4-2001 电子对抗装备软件通用要求 第4部分:电子对抗专用计算机支撑平台软硬件要求 https://a.bjhgyjs.cn/xiangmu/other/248697.html
14.Top9汽车HMI设计及软件开发公司4.Intellias(https://www.intellias.com/) 位置:乌克兰里沃夫,基辅,奥德萨;德国柏林 成立时间:2002 公司规模:1100+ Intellias是乌克兰最好的软件外包公司之一,主要提供HMI软件开发服务。这家公司有一个知名的投资组合,因为当它进入汽车HMI设计开发领域时,创造了TopGear路测“最卓越的无压力导航软件”。Intellias的汽车https://www.yoojia.com/ask/17-11719584628157500369.html
15.DGUSV7624T5L屏开发软件DWINDGUSV7642资源"DGUS_V7624_T5L屏开发软件DWIN_"涉及的核心知识点是基于迪文科技(DWIN)的T5L液晶显示屏的开发,利用DWIN提供的专用开发工具进行屏幕设计和程序编写。这个软件适用于将T5L屏作为DGUS2系统的一部分来使用的情况。 中提到的"DWIN迪文T5L屏开发软件"是指DWIN公司为开发者设计的一款专业工具,用于创建和调试T5L显示屏的https://download.csdn.net/download/weixin_42681774/27255701
16.2024校园招聘思特沃克软件技术(西安)有限公司招聘软件开发工程师与业务分析师和质量分析师、设计师、项目经理等合作设计软件解决方案,为我们的客户带来有意义的改变。他们仔细聆听以了解业务问题的上下文,并编写干净且迭代的代码以提供强大的最终结果。通过平衡强烈的意见和寻找正确答案的意愿,软件开发人员为技术带来完整性,确保所有声音都能被听到。 我们的初级顾问的职业https://xyzp.haitou.cc/article/3143288.html
17.对vb软件系统进行CAD二次开发.doc对vb软件系统进行CAD二次开发 关键词:标准零件、AutoCADVBA语言、AutoCAD的二次开发计算机辅助制图是现代企业生产和设计的重要工具,AutoCAD是计算机辅助设计工具的一种,VB是AutoCAD软件的重要组成部分。它是AutoCAD软件二次开发的重要工具。它可使一些常用的机械零件能很快的调用,简捷方便,很大的提高了工作效率缩短了新产品https://m.renrendoc.com/paper/303026186.html