• 713查看
  • 0回复

[软件质量] ASPICE(Automotive SPICE)入门

[复制链接]


该用户从未签到

发表于 29-8-2023 13:41:24 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


1.介绍

Q:什么是ASPICE?

A:Automotive Software Process Improvement and Capacity dEtermination,中文名是汽车软件过程改进及能力评定。

Q:那我想学习ASPICE的话,首先要看什么?官网上的文档吗?

A:是的,可以去官网下载最新版本的ASPICE文档,有英、日、韩、中四个版本。文档的名字是Automotive SPICE PRM/PAM。建议大家沉下心先看一遍ASPICE PRM/PAM的中文版本,形成一个完整的知识框架。

Q:什么是PRM和PAM?

A:PRM是Process Reference Model的缩写,即过程参考模型;PAM是Process Assessment Model的缩写,即过程评估模型。如下图所示,过程参考模型其实可以看做过程评估模型的一个维度。

ASPICE(Automotive SPICE)入门w1.jpg
过程评估模型与过程参考模型,官方文档p27
还是上面这个图,过程评估模型是一个二维框架,X轴是过程参考模型里的一堆过程(Process),Y轴是度量框架里的过程属性(PA)。
2.过程参考模型与过程的概念

Q:什么是过程?

A:过程,即Process。首先我们将一个完整的汽车软件开发项目切割成8个组(Group)。然后对每个组再次切分成若干个子模块,即过程(Process)。每个过程都有自己的过程ID,过程名称,过程目的和过程成果。ASPICE将汽车软件开发项目分为8组32个过程,如下图所示是软件工程组里面的6个过程。SWE.1是过程ID,软件需求分析是过程名字,其对应的过程目的是将系统需求中与软件相关的部分转化为一组软件需求,其过程成果请自行去文档第四章查找。

总之,过程是一件“高标准、严要求、必须要去完成的事儿”,过程与过程之间可能还存在着执行先后顺序的约束,比如你不能在软件架构设计没有冻结时,开始写代码(行话叫:单元构建)。

ASPICE(Automotive SPICE)入门w2.jpg
软件工程组里头的6个过程
Q:一共32个过程?那ASPICE评审的时候,所有的过程都会审核吗?

A:不,通常我们会根据VDA Scope进行评审,这样只剩下16个过程了。即ACQ.4, SYS.2-5, SWE.1-6, SUP1, SUP.8, SUP.9, SUP.10, MAN.3。根据实际的项目情况,ACQ.4可以不进行评审。

ASPICE(Automotive SPICE)入门w3.jpg
摘自Kugler Maag官网,详见参考文献63.度量框架与过程属性的概念

Q:那度量框架和过程属性又是什么?

A:ASPICE使用的是ISO/IEC 33020:2015中定义的度量框架。我们既然有了过程,当然需要有针对过程的评判标准,比如给你的软件架构打“90分”,但软件详细设计和代码给“60分”。ASPICE采用的不是百分制,而是等级制,即能力级别(Capability Level,简称CL)。针对一个软件项目的评级,总共分为6级。


    5级(CL5)指 创新 的过程。Innovating Process.

    4级(CL4)指 可预测 的过程。Predictable Process.

    3级(CL3)指 已建立 的过程。Established Process.

    2级(CL2)指 已管理 的过程。Managed Process.

    1级(CL1)指 已执行 的过程。Performed Process.

    0级(CL0)指 不完整 的过程。Incomplete Process.

这还没完,CL2-CL5还各有2个维度的“高标准视角”,用于衡量过程的完成情况。再加上CL1也需要勉强有一个“低标准要求”,我们一共有9个不同视角的“要求”。是的,过程属性(PA)可以理解为“要求”。

过程属性(PA)是过程能力的可度量特性。

当然,如果你达到了CL3,那你需要无条件满足CL1和CL2的“要求”。
能力等级 CL过程属性 PA
CL0没有PA
CL1PA1.1 过程实施PA
CL2PA2.1 实施管理PA
CL2PA2.2 工作产品管理PA
CL3PA3.1 过程定义PA
CL3PA3.2 过程部署PA
CL4PA4.1 定量分析PA
CL4PA4.2 定量控制PA
CL5PA5.1 过程创新PA
CL5PA5.2 过程创新实施PA

我们举个例子,你开了一家面包店,CL0就是面包好不好吃,要看今天上班的师傅手艺怎么样。CL2的PA2.1和PA2.2达成后,面包制作流程和最终质量得到了有效管控,作为老板再也不用担心大师傅跳槽了。

Q:如何来评定过程属性呢(PA)?

A:ISO/IEC 33020(Information Technology — Process assessment )里面定义的评定尺度分为4种。


    N(Not Implemented)未达成,指达成预期性能的(0%,15%]。

    P(Partially Implemented)部分实现,达成预期性能(15%,50%]。

    L(Largely Implemented)基本达成,达成预期性能(50%,85%]。

    F(Fully Implemented)完全达成,达成预期性能(85%,100%]。

其中的P和L还可以二分为P-、P+、L-、L+。对应的范围请参考原版文档。

Q:怎么样算是达成能力等级2级?达成PA2.1和PA2.2的L即可吗?

A:达成某等级需要主要达成(L)该等级对应的过程属性,并且完全达成(F)更低等级的过程属性。

所以达成CL2,需要满足PA1.1达到F,PA2.1和PA2.2达到L。

如果要达成CL3,需要满足P1.1、P2.1、P2.2达到F,P3.1和P3.2达到L。
4.过程评估模型和指标的概念

Q:如何来判定过程评估模型?

A:过程评估模型提供了指标(indicators),用以识别过程成果和过程属性成果(成就)在项目和组织单位的实例化过程中是存在还是缺失的。

ASPICE(Automotive SPICE)入门w4.jpg
过程评估模型的四大指标类型
ASPICE(Automotive SPICE)入门w5.jpg
BP、WP、WPC、GP、GR在过程参考模型中的位置,官方文档p27
ASPICE(Automotive SPICE)入门w6.jpg
上图的英文版
从上面的二维图中可以看到,BP们和WP们都是和每个过程的过程成果相关的。每个过程,都有自己独有的基本实践(BP,Base practices)和工作产品(WP,Work products)。GP们和GR们则是和过程属性(PA)的达成相关。每个PA,都有自己独有的通用实践(GP,Generic Practice)和通用资源(GR,Generic Resource)。比如PA3.2自己的GP,名字就叫GP3.2.1、GP3.2.2等等。

Q:过程评估模型和我们每天做的工作有什么关系呢?

A:一个项目从kick-off到EOL,必然经历很多道工序,不同的公司在实施/doing的过程中肯定会产生很多方法,即如何做/How to do。我们采用这些方法肯定是为了达到一个目标,止于至善嘛,自然就形成了指标,去指导我们追求完美的产品。就这样,我们把软件产品的生产过程切割为若干个独立单元,再为这些独立单元创建评价体系,就得到了过程评估模型。

Q:GP是过程能力指标,而原版文件中说,过程能力指标是适用于CL2-CL5的,那CL1咋办?

A:按照过程评估模型的两个维度,即便是CL1也是需要有过程属性PA的。有PA必然有GP。

PA1.1的名称是过程实施PA,它有一个单一的通用实践(GP1.1.1),作为对各个过程性能指标的编辑参考(editorial reference)。这句话的言外之意是,既然X轴上有BP和WP,CL1-PA1.1这个Y轴上也需要派出一位选手,即GP1.1.1。这GP1.1.1讲了什么呢?两句话:
GP1.1.1 实现过程成果:实现BP的意图。生成证明过程成果的WP。
完美呼应X轴。所以,说能力级别1级(CL1)没有GP,是不正确的说法。
5.过程参考模型和实施指标

Q:ASPICE中常会遇见的过程组是什么?

A:对研发来说常见的四个组分别是SYS、SWE、SUP和MAN。SYS(System)指系统工程过程组,SWE(Software)指软件工程过程组,SUP(Support)指支持过程组,MAN(Management)指管理过程组。

系统流程分5部分,软件流程分6部分。这11个部分的先后顺序是:SYS.1 需求挖掘,SYS.2 系统需求分析,SYS.3 系统架构设计,SWE.1 软件需求分析,SWE.2 软件架构设计,SWE.3 软件详细设计和编码,SWE.4 软件单元验证,SWE.5 软件集成和软件集成测试,SWE.6 软件合格性测试,SYS.4 系统集成和系统集成测试,SYS.5 系统合格性测试。其中后10个部分是镜像水平对应的。

ASPICE(Automotive SPICE)入门w7.jpg
V模型示意图,官方文档p141
SUP需要重点学习的四个过程是:SUP.1质量保证,SUP.8 配置管理,SUP.9 问题解决管理,SUP.10 变更需求管理。其中,配置管理(Configuration Management)需要解决文档化的工作产品(Work Product),存储在哪里的问题,如何打基线、访问权限、命名规则、合并和分支策略等问题。通常需要一个配置管理工具,配合一套配置管理策略来完成。
6.工作产品

Q:怎么来理解Work Product?软件的产品不就是最后的hex或s19文件吗?

A:Work Product在ASPICE中代表面向结果的指标。比如SWE.2需要输出的Work Product有软件架构设计、沟通记录、评审记录、追溯记录、接口需求规范这五项,即这些文档都会作为“呈堂证供”参与评审,审核员以此为证据来打分。对于软件部分,显然hex/s19文件不再是唯一的输出物,软件需求规范、接口需求规范、软件详细设计、代码、测试规范等都是同等重要的输出物,并需要保证双向可追溯性和一致性。
7.双向可追溯性和一致性

Q:什么是追溯性?什么是一致性?什么又是双向可追溯性?

A:追溯性(Traceability)指工作产品之间存在引用或者链接(Reference),比如某条需求与某条测试用例之间存在引用关系。一致性(Consistency)关注的则是内容和语义。官方文档中在一致性下有这么一句话,“一致性由双向可追溯性支持”。那如何理解这里的“双向可追溯性(Bidirectional traceability)”呢?这里我们举个软件架构设计阶段的例子。SWE.2 BP7里面要求针对软件需求和SWC(软件组件)建立双向可追溯,也就是说,对于100条系统工程师发布的软件需求,每条软件需求都至少要有一个“孩子”——SWC;而对于10个软件架构师设计出的SWC,每个SWC都必须至少有一个“妈”——软件需求。这很容易理解,如果某条软件需求没“孩子”,那说明你漏需求了。如果某个SWC没有“妈”,那你干吗要设计它呢?这两点若都能提供覆盖率报告,即说明我们建立了双向可追溯性。

对于一致性,我的理解是评审时需要检查追溯性链接的合理性、真实性。实际工作中如果我们刻意去满足双向可追溯100%覆盖的要求,可能会出现“驴唇不对马嘴”的情况。比如软件架构师将一条可随音乐律动的氛围灯需求分配给了网络管理模块。当然这种低级失误应该会在评审阶段被发现并被纠正。

ASPICE(Automotive SPICE)入门w8.jpg

双向可追溯性和一致性,官方文档p142

版权声明:本文为知乎「心机之花」的原创文章,已获作者发表许可。

后台回复:“ECU008获取ASPICE中文版标准!


该用户从未签到

发表于 18-3-2025 02:57:02 | 显示全部楼层
ASPICE是汽车软件过程改进及能力评定的标准,旨在提高汽车软件的质量和可靠性。要入门ASPICE,首先建议阅读官网上的最新文档,包括英文、日文、韩文以及中文版。特别是ASPICE PRM/PAM文档,它详细描述了ASPICE的核心要求和流程。所谓“P”,在ASPICE文档中通常代表Process(过程),强调在汽车软件的开发过程中遵循标准的流程和要求。建议您首先通过阅读中文版本建立起对整个ASPICE知识框架的基础理解。
回复 支持 反对

使用道具 举报



该用户从未签到

 楼主| 发表于 18-3-2025 02:57:02 | 显示全部楼层
ASPICE代表汽车软件过程改进及能力评定,是一个在汽车行业中广泛应用的软件开发标准。关于您的提问,“什么是P”,在此没有给出具体的“P”代表什么。若您指的是ASPICE中的某个具体部分或术语,建议您查阅相关文档或资料以获取准确信息。若您想深入学习ASPICE,建议首先阅读官方文档,形成完整的知识框架,进而深入学习各个部分。官方文档有多个语言版本,您可以根据个人需求选择。学习初期可以着重了解基本概念、原理和应用实例。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 18-3-2025 02:57:02 | 显示全部楼层
ASPICE(Automotive Software Process Improvement and Capacity dEtermination)是一种针对汽车软件过程改进及能力评定的标准。对于初学者入门ASPICE,首先建议阅读官方发布的最新版本的ASPICE文档,特别是其中的PRM(基础要求和原则)和PAM(能力评估方法)。通过阅读中文版本可以更好地理解其内容,并逐步建立起一个完整的知识框架。其中,P代表了汽车软件过程改进的某些重要原则和方法论,在深入学习中将逐渐展开和解释。此外,参与相关的培训课程和实践项目也能帮助你更快地掌握ASPICE。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 18-3-2025 02:57:02 | 显示全部楼层
ASPICE(Automotive Software Process Improvement and Capacity dEtermination)是一种针对汽车软件过程改进及能力评定的标准。对于初学者入门ASPICE,首先建议阅读官网上的最新版本的ASPICE文档,包括中文版本。其中,PRM/PAM(基础过程和测量方法)是非常重要的部分。初学者应当先看PRM/PAM的中文版本,形成一个整体的知识框架,并逐步深入理解。对于你提到的“P”,需要结合上下文进一步判断其具体含义。一般来说,“P”可能指代的过程(Process)或者性能(Performance)。建议先整体理解并掌握基本概念,再逐步深入研究。
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 19-8-2025 05:48 , Processed in 0.410293 second(s), 40 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.