ASPICE 追溯性实践分享

news2025/1/19 20:37:51

01前言

接着之前的分享,遗留的追溯性ASPICE 认证实践及个人理解分享-CSDN博客文章浏览阅读961次,点赞22次,收藏17次。ASPICE是Automotive 和SPICE的组合,全英文为(Automotive Software ProcessImprovement and Determination)中文为汽车软件过程能力提升和能力评定。https://blog.csdn.net/weixin_43957681/article/details/137726102?spm=1001.2014.3001.5501我们在实践中应该如何实现各环节的追溯性呢? 本篇文章将做简单的分享,如有不足之处,欢迎批评指正。

如上图所示,追溯性主要体现在:

  • 需求拆分追溯(利益相关方需求拆解,系统需求拆解,软件需求拆解等),
  • 需求和设计的追溯(系统需求和系统架构设计,软件需求和软件架构设计)
  • 需求和测试用例的追溯(系统需求和系统测试,软件需求和软件功能测试)
  • 测试用例和测试结果(Bug)的追溯
  • 设计和测试规范的追溯
  • 需求和变更的追溯

通过解决追溯性问题,ASPICE能够确保软件开发过程中各个阶段和活动之间的关联性和一致性,从而提高软件开发的质量和可靠性。追溯性也有助于提高开发过程的可管理性和可追踪性,减少因开发活动之间的不一致性而导致的风险和问题。

02追溯微观结果示例及介绍

“微观”追溯指的是针对具体的某个需求,下图举例的是SYS.2的一个需求(需求的内容是汽车BCM部件对应的一个简单需求示例,大家无需关注需求内容)。

当建立好完整的需求追溯以后,针对特定的某个需求,直观的效果应该能够达到,需求来源于哪里,需求被拆分成了多少个更详细的需求,需求的设计是怎样的,需求的实现进度如何,需求的测试用例有哪些,需求对应用例的测试结果如何(是否产生了bug)? 

如下将对具体各个部分进行介绍:

  1. 需求的属性内容。如上图第一部分,里面描述了需求的基本内容,所属产品,描述,等属性。 实践中,该环节主要以表格的方式呈现,不同的列定义了需求的不同属性,如优先级、实现团队、时间要求等等。
  2. 需求的拆解追溯。 如上图第二部分,可以看到一个SYS-R1的需求被拆解成为了SR1.1,SR1.2,SR1.3三个软件需求。 用Child 标识了。 其实还应展示需求的上层需求 ,及需求的Parent,但实践中,有时系统需求可能会直接复用利益相关方的需求,需要根据实际情况调整。
  3. 需求的设计追溯。 如上图第三部分,此处展示的的是该需求在具体的设计文档中,被如何设计的,点击链接即进入对应设计文档或其他有引用的文档内,以查看依赖关联关系。
  4. 需求的实现过程追溯。如上图第四部分,该需求共有2个执行的任务,分别是系统需求设计,编码实现,测试用例执行。 并可以看到每一个任务当前都还是TODO的状态,即说明该需求当前还未实现。
  5. 需求的测试用例追溯。如上图第五部分,需求对应六个测试用例,其中3个用例当前未执行(no result),2个执行通过,1个执行失败。
  6. 需求的测试结果追溯。如上图第6部分,需求测试产生了一个bug【BDP-1】,且该bug和第五部分执行失败的用例是有对应关系的。

如上就是特定需求下能清晰的展现该需求的各类依赖关系。

03追溯宏观介绍

如前面的介绍,我们知道各个部分之间都存在依赖,那针对一个产品或系统,的完整需求的追溯应也要能整体追溯并呈现。如下是一个简单的示例,在实际运用中,各个阶段,拆分,产出之间是可以按需进行追溯的。(如系统需求,软件需求 ,任务执行,测试用例,测试结果)

示例一

如下显示了系统需求<--->软件需求<----->需求执行<----->测试产生的bug的关联关系。

我们可以看到SYS被拆分成了3个软件需求,并被分为三个阶段实现,并在测试过程中产生了1个bug.  而SYS-R2,SYS-R3,SYS-R4则为产生bug。 

示例二

展示了各个层级需求之间的依赖关系。

示例三

展示需求和测试结果,测试用例的追溯关系。 可以看到各需求对应的测试用例的执行情况,及产生bug的情况。

04需求基线及变更追溯

需求基线

它指的是在软件项目中确定和记录需求阶段的基准状态。需求基线通常包括了对软件系统功能、性能、界面、安全性等方面的详细描述,以及与利益相关者达成的一致意见。在需求基线确定之后,任何后续的变更都需要经过严格的变更控制流程来管理,以确保变更的有效性和对项目的影响可控。

需求基线的确定具有以下几个重要的作用:

  1. 提供清晰的目标和方向:需求基线为整个团队提供了明确的需求规范和目标,帮助所有利益相关者理解项目的范围和期望。

  2. 作为变更的参考点:一旦需求基线确定,任何后续的变更都需要与基线进行比较,确保变更的合理性和对项目的影响可控。

  3. 降低变更成本:通过严格的变更控制流程,需求基线可以帮助团队避免不必要的变更,从而降低变更引入的成本和风险。

  4. 提高沟通和协作效率:需求基线作为团队间沟通和协作的基础,帮助各个团队成员和利益相关者在项目需求上保持一致,减少误解和偏差。

需求变更对比

需求变更对比,将软件项目中的需求基线与后续发生的需求变更进行比较,以评估变更对项目的影响和可行性。Requirements Yogi提供了这个基线对比的功能。

05需求管理工具

此次使用的工具是Requirement Yogi ,该工具是基于Confluence平台为主的,详细可参考官方文档。Requirement Yogi - Requirements Management for Confluence | Atlassian Marketplace

其他工具推荐:

在Jira平台上的还有:R4J和RTM等,都是比较优秀的工具。 这个主要取决于团队人员的使用习惯,Confluence更适合文档化管理,而Jira则更容易实现条目化,但对需求人员的使用有一定要求。 

R4J : R4J - Requirements Management for Jira | Atlassian Marketplace

RTM:Requirements & Test Management for Jira | Atlassian Marketplace

市面上肯定也有一些比较优秀的其他工具,选择合适自己团队的即可。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1608086.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【全】一文读懂 containerd 中的 NRI 机制

本文内容节选自 《containerd 原理剖析与实战》&#xff0c;本书正参加限时优惠内购&#xff0c;限时 69.9 元购买。 本文介绍 containerd 中的一种可插拔的扩展机制 NRI。 1. NRI 介绍 NRI&#xff08;Node Resource Interface&#xff09;&#xff0c;即节点资源接口。是 c…

汇编语言——输入16位二进制数,存入BX

这是我原先的做法&#xff1a; shl bx,1 ;bx逻辑左移一位 sub dl,30h ;键盘输入的0/1&#xff0c;ASCII码分别为30h/31h&#xff0c;要转换成0/1 add bl,dl ;bl逻辑左移一位后加上现在输入的字符data segment data ends stack segment stackdw 100 dup (?)top label wo…

Oracle数据库 :查询表结构脚本

查询脚本 &#xff1a; SELECT CASE WHEN a.column_id1 THEN a.TABLE_NAME ELSE END AS 表名, a.column_id AS 序号, a.column_name as 列名, REPLACE(comments, CHR(10), ) as 列说明, a.data_type || ( || a.data_length || ) as 数据类型, a.DATA_LENGTH AS 长度, a.DATA_…

【mac】【python】新建项目虚拟环境后,使用命令pip出现错误:zsh: command not found: pip

【mac】【python】新建项目虚拟环境后&#xff0c;使用命令pip出现错误&#xff1a;zsh: command not found: pip 问题描述&#xff1a; 拉取或者创建新的python项目时&#xff0c;为项目添加了新的解释器&#xff0c;创建啦虚拟环境&#xff0c;但是执行pip命令的时候找不到命…

C++修炼之路之继承<一>隐藏,赋值转换规则,继承关系

目录 前言 一&#xff1a;继承的概念和定义 1.概念 2.继承的定义 1.定义格式 2.继承关系和访问限定符 3.继承基类成员访问方式的变化 二&#xff1a;基类和派生类对象赋值转换 规则 三&#xff1a;继承中的作用域 规则 经典举例 经典例题--区分函数重载和隐藏…

【C++航海王:追寻罗杰的编程之路】C++11(上)

目录 1 -> C11简介 2 -> 统一的列表初始化 2.1 -> {}初始化 2.2 -> std::initializer_list 3 -> 声明 3.1 -> auto 3.2 -> decltype 3.3 -> nullptr 1 -> C11简介 在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1)&#xff0c;使得C…

基于51单片机的自行车测速里程码表设计( proteus仿真+程序+设计报告+原理图+讲解视频)

基于51单片机的自行车测速里程码表设计 1. 主要功能&#xff1a;2. 讲解视频&#xff1a;3. 仿真设计4. 程序代码5. 设计报告6. 原理图7. 设计资料内容清单资料下载链接&#xff1a; 基于51单片机的自行车测速里程码表设计( proteus仿真程序设计报告原理图讲解视频&#xff09;…

RUOYI 若依 横向菜单

保留移动端适配 小屏适配 菜单权限等 可轻松进行深度自定义菜单样式 以及分布 仅支持横向布局 如需源码 教程等 ➕ wx 技术支持 wx : 17339827025

数据结构(双链表

目录 1. 讲解&#xff1a;2. C代码实现&#xff1a;小结&#xff1a; 1. 讲解&#xff1a; 2. C代码实现&#xff1a; #include <stdlib.h> #include <iostream> #include <stdio.h>using namespace std;#define ElemType inttypedef struct DLNode {ElemTy…

【MySQL】表的基本约束

文章目录 1、约束类型1.1NOT NULL约束1.2UNIQUE&#xff1a;唯一约束1.3DEFAULT&#xff1a;默认值约束1.4PRIMARY KEY&#xff1a;主键约束1.5FOREIGN KEY&#xff1a;外键约束 2、表的设计2.1一对一2.2一对多2.3多对多 1、约束类型 关键字解释NOT NULL指示某列不能存储NULL值…

【2024-04-19亲测有效】Markdown Pad2 激活

下载地址 链接 密码: 8trb 点击下载好的文件直接安装&#xff0c;安装过程按照提示就好。 安装后打开&#xff0c;会提示输入license 上面的填邮箱地址&#xff1a;Soar360live.com 下面的填密钥&#xff08;注意要鼠标拖动全部复制&#xff0c;双击只能选中部分&#xff09;…

webpack-babel

babel Babel 是一个 JavaScript 编译器&#xff0c;主要用于将高版本的 JavaScript 代码转换为低版本的 JavaScript 代码&#xff0c;从而确保代码在不同浏览器和环境中的兼容性。它可以将 ES6/ES7/ES8 等新特性转换为 ES5 等旧版本的 JavaScript 代码&#xff0c;使得开发人员…

在线编辑器 CodeMirror

如何优雅的在网页显示代码 如果开发在线编辑器 引入资源&#xff1a; <link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.60.0/codemirror.min.css"><script src"https://cdnjs.cloudflare.com/ajax/libs/c…

​面试经典150题——从前序与中序遍历序列构造二叉树

​ 1. 题目描述 2. 题目分析与解析 二叉树的前序、中序和后序遍历 二叉树的前序、中序和后序遍历是树的三种基本遍历方式&#xff0c;它们是通过不同的顺序来访问树中的节点的。 前序遍历&#xff08;Pre-order traversal&#xff09;&#xff1a; 访问根节点 前序遍历左子树…

五种主流数据库:集合运算

关系型数据库中的表与集合理论中的集合类似&#xff0c;表是由行&#xff08;记录&#xff09;组成的集合。因此&#xff0c;SQL 支持基于数据行的各种集合运算&#xff0c;包括并集运算&#xff08;Union&#xff09;、交集运算&#xff08;Intersect&#xff09;和差集运算&a…

本地项目如何设置https——2024-04-19

问题&#xff1a;由于项目引用了html5-qrcode插件&#xff0c;但是该插件在本地移动端调试时只能使用https访问&#xff0c;所有原本的本地地址是http&#xff0c;就需要改成https以方便调试。 解决方法&#xff1a;使用本地https证书 1&#xff09;从项目文件下打开cmd逐步输…

AOP基础

一、AOP概述 AOP&#xff1a;Aspect Oriented Programming&#xff08;面向切面编程、面向方面编程&#xff09;&#xff0c;其实就是面向特定方法编程。 使用场景&#xff1a;①记录操作日志&#xff1b;②权限控制&#xff1b;③事务管理等。 优势&#xff1a;①代码无侵入…

SRS服务接入华为云CDN

一、srs配置 正常的标准配置即可&#xff0c;需打开hls推流即可&#xff0c;一般配置中默认打开 二、华为云cdn配置 1.登录华为云&#xff0c;找内容分发网络cdn 2.点击域名管理&#xff0c;点击添加域名 3.配置加速域名 4.选择点播加速 5.添加源站 配置源站地址&#xf…

2024年【G1工业锅炉司炉】考试及G1工业锅炉司炉考试内容

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年【G1工业锅炉司炉】考试及G1工业锅炉司炉考试内容&#xff0c;包含G1工业锅炉司炉考试答案和解析及G1工业锅炉司炉考试内容练习。安全生产模拟考试一点通结合国家G1工业锅炉司炉考试最新大纲及G1工业锅炉司炉考…

删除顺序表中所有值为X的元素(顺序表,单链表)

目录 时间复杂度为O(1)(顺序表)&#xff1a;代码实现&#xff1a; 运行结果&#xff1a; 时间复杂度为O(n)(顺序表)&#xff1a;代码实现&#xff1a; 运行结果&#xff1a; 单链表&#xff1a;时间复杂度o&#xff08;n&#xff09;:代码实现&#xff1a; 时间复杂度为O(1…