电子电气架构 --- 基于ISO 26262的车载电子软件开发流程

news2024/11/15 20:15:21

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节能减排。
无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、焦虑、毁掉你本就不多的热情和定力。

时间不知不觉中,快要来到深秋。马上到了中秋和国庆的假期,成年人的我也不知道去哪里渡自己的灵魂,独自敲击一些文字算是对这段时间做一个记录。

本文主要分享电子电气架构 — 基于ISO 26262的车载电子软件开发流程。

基于ISO 26262的车载电子软件开发流程是一个严谨且系统的过程,旨在确保车辆电子系统在整个生命周期内都具备功能安全性。ISO 26262标准以IEC 61508为基础,针对道路车辆上特定的电子、电气和软件组件组成的安全相关系统进行了详细规定。以下是根据ISO 26262标准的车载电子软件开发流程的主要步骤:

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

软件系统级阶段(SW-SYS):

软件需求分析:识别系统和环境的需求,定义软件组件的功能和安全性能要求。

架构设计和概要设计:定义软件组件和模块的功能、接口和相互关系,以及进一步细化架构设计。

软件单位级阶段(SW-UNIT):

详细设计:定义软件模块的内部实现和算法,包括数据结构、函数和接口等。

软件集成:对软件模块进行集成,确保它们可以协同工作并满足整个系统的安全要求。

在这里插入图片描述

概念阶段

目标设定:基于用户需求和市场分析,设定项目的总体目标和范围。

功能定义:明确车载电子系统需要实现的功能和性能要求。

在这里插入图片描述

需求阶段

需求分析:对系统需求进行详细分析,确保需求的明确性、可追溯性、合理性和完整性。

安全目标确定:根据功能定义和危害分析,确定软件系统的安全目标。

在这里插入图片描述

制定软件安全计划:包括软件安全目标、软件安全策略、软件开发的组织结构、软件验证和测试、软件故障处理以及软件维护等方面的内容。

在这里插入图片描述

确保软件需求明确、可追溯、合理、完整且无歧义。

细化功能安全概念,考虑外部接口、系统限制条件、系统配置需求等。

在这里插入图片描述

设计阶段

逻辑系统架构:基于用户需求制定逻辑系统架构,包括整车或子系统的功能网络、功能接口和功能间通信。

在这里插入图片描述

技术系统架构:定义哪些功能或子功能需要由软件实现,形成软件需求规格说明。

软件架构设计:根据软件需求规格说明,设计软件系统的架构,包括软件系统的边界和接口、所包含的软件组件、层级和运行状态。

在这里插入图片描述

架构设计应满足模块化、足够的颗粒度和简单的原则,避免高复杂性引起的失败。

在这里插入图片描述

软件架构设计应描述合适的抽象等级,确保后续开发流程的正确性和有效性。

实现和集成阶段

在这里插入图片描述

软件组件开发:根据软件架构设计,开发各个软件组件。

在这里插入图片描述

单元测试:对各个软件组件进行单元测试,确保组件的功能正确性和性能达标。

在这里插入图片描述

集成测试:将所有软件组件集成为完整的软件系统,并进行集成测试,评估各组件之间的相互作用和整体性能。

在这里插入图片描述

验证和确认阶段

系统验证:将软件系统嵌入控制器硬件,进行系统集成测试,评估系统和被控对象之间的相互作用。

在这里插入图片描述

安全验证:根据ISO 26262的要求,进行安全验证,确保软件系统满足功能安全性的要求。

在这里插入图片描述

评审和确认:通过评审和确认过程,确保软件开发过程符合ISO 26262标准的要求,并且软件系统达到了预定的安全目标。

在这里插入图片描述

针对每个开发阶段进行验证和确认测试,包括功能测试、故障注入测试、安全性能评估等。

在这里插入图片描述

记录验证结果和文档管理,确保开发过程的透明性和可追溯性。

在这里插入图片描述

维护和更新

在这里插入图片描述
在这里插入图片描述

软件维护:在软件系统的生命周期内,进行定期的软件维护,包括修复漏洞、优化性能等。

在这里插入图片描述

更新和升级:根据技术发展和市场需求,对软件系统进行更新和升级,确保软件系统的持续性和竞争力。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在整个开发流程中,ISO 26262标准强调了对软件开发生命周期中所有阶段的严格规范和要求,包括制定软件安全计划、进行安全性分析和评估、采用适当的软件验证和测试方法、建立软件故障处理机制以及进行定期的软件维护等。这些措施共同确保了车载电子系统在整个生命周期内都具备功能安全性。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者

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

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

相关文章

kettle从入门到精通 第八十五课 ETL之kettle kettle中javascript步骤调用外部javascript/js文件

场景:交流学习群里面有小伙伴咨询kettle中的javascript代码步骤如何调用外部js文件中的函数,觉得有点意思的,于是就抽时间整理了一下。 1、外部js文件为test.js,代码如下: function test(param){return "接收到了…

2024CSP-J初赛全真模拟卷选择题篇(原创,难度偏简单)

注意,本卷由再临TSC原创,禁止转载! 本卷难度偏简单,若想要通过初赛本卷应拿80分左右 查看答案的方法: if(设备"PC") { 把光标移到答案上面,选中答案,就会显示(); } …

计算机的错误计算(九十四)

摘要 探讨 的计算精度问题。 正如其它许多函数或运算一样,以2为底的对数运算,也包含在 IEEE 754-2019 的列表中[1]。 例1. 已知 计算 不妨用Go代码计算: package mainimport ("fmt""math" )func main() {x : 0.…

Java网络编程 TCP通信(Socket 与 ServerSocket)

1.TCP通信原理 TCP通信涉及两个端点:客户端和服务器。服务器端使用 ServerSocket 监听特定端口,等待客户端的连接请求。客户端使用 Socket 连接到服务器的IP地址和端口。一旦连接建立,双方就可以通过输入输出流进行数据交换. ServerSocket是…

PHP泛目录生成源码,可生成长尾关键词页面,带使用方法视频教程

介绍: 真正的好东西,搞网站优化seo从业必备。可以快速提升网站权重,带来的流量哗哗的 PHP泛目录生成源码 可生成新闻页面和关键词页面 带使用方法视频教程 泛目录可以用来提升网站收录和排名 合理运用目录可以达到快速出词和出权重的效果…

福建科立讯通信 指挥调度管理平台 SQL注入漏洞

北峰通信-福建科立讯通信 指挥调度管理平台 SQL注入漏洞 厂商域名和信息收集 域名: 工具sqlmap python sqlmap.py -u "http://ip:端口/api/client/down_file.php?uuid1" --batch 数据包 GET /api/client/down_file.php?uuid1%27%20AND%20(SELECT%20…

MYSQL基础-多表操作-事务-索引

1. 多表设计 概述 项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种: …

云计算服务的底层,虚拟化技术的实现原理

虚拟化技术: 一、 从cpu说起, intel和amd等cpu制造商 为了提高其cpu对 虚拟化程序的运算速度, 给cpu硬件里面 增加了指令集 VMLAUNCH, VMRESUME, VMEXIT, VMXOFF 这些指令集称为硬件辅助虚拟化技术的指令集。 ---------------------…

探索Python的Excel世界:openpyxl的魔法之旅

文章目录 探索Python的Excel世界:openpyxl的魔法之旅背景:为什么选择openpyxl?什么是openpyxl?如何安装openpyxl?简单的库函数使用方法场景应用:openpyxl在实际工作中的应用常见bug及解决方案总结 探索Pyth…

倒序循环(一)

题目描述 输入一个正整数n,输出从 n~ 1 递减的序列。 输入格式 一行一个整数 n 输出格式 n 行,每行一个符合题目要求的整数 样例数据 样例输入#1 5样例输出#1 5 4 3 2 1样例输入#2 6样例输出#2 6 5 4 3 2 1数据范围 对于100%的数据&#xff…

(c++)用取模符%、除运算判断是否是某个数的倍数,判断个位十位是否有某个数

结果易懂&#xff0c;但凡和7有关&#xff0c;都输出相应的关系。关系分为三种&#xff0c;7的倍数&#xff0c;十位是7&#xff0c;个位是7 #include<iostream>using namespace std;int main() {for (int num 1; num < 100; num){if (num % 7 0)//是7的倍数{cout …

51单片机快速入门之按键应用拓展

51单片机快速入门之按键应用拓展 LED的点动控制: 循环检测,当key 为0 时 led 亮 反之为熄灭 while(1){ if(key!1) { led0; }else { led1; } } LED的锁定控制: 当按钮按下,led取反值 while(1) { if(key!1) { led!led; } } LED的4路抢答控制: bz默认为0 !bz 取反值,循环启动…

git快熟

Git版本控制 内容背景集中式与分布式版本控制安装git代码托管服务Git必要配置公钥和私钥注册gitee配置ssh公钥实现远程仓库与本地仓库免密登录git常用命令git|全局设置获取git仓库工作区&#xff0c;暂存区&#xff0c;版本库 概念本地仓库操作远程仓库提交git分支操作idea集成…

<Linux> 进程间通信

目录 一、进程间通信介绍 1. 进程间通信概念 2. 进程间通信目的 3. 进程间通信的本质 4. 进程间通信发展 5. 进程间通信分类 管道&#xff08;文件缓冲区&#xff09; System V IPC POSIX IPC 二、管道 1. 匿名管道 1.1 匿名管道原理 1.2 pipe系统调用 1.3 匿名管道的使用 1.4…

vue3 透传 Attributes

前言 Vue 3 现在正式支持了多根节点的组件&#xff0c;也就是片段&#xff01; Vue 2.x 遵循单根节点组件的规则&#xff0c;即一个组件的模板必须有且仅有一个根元素。 为了满足单根节点的要求&#xff0c;开发者会将原本多根节点的内容包裹在一个<div>元素中&#x…

【MySQL】基础部分——DDL,DML,DQL,DCL,函数,约束,多表查询,事务

个人学习记录&#xff0c;供以后回顾和复习 ubuntu下安装使用1.DDL&#xff0c;DML&#xff0c;DQL&#xff0c;DCLDDL数据库表 DML增改删 DQL条件查询分组查询排序查询分页查询 DCL管理用户权限控制 2.函数字符串函数数值函数日期函数流程函数 3.约束4.多表查询多表关系内连接…

学习大数据DAY58 增量抽取数据表

作业 1 SQL 优化的常见写法有哪些 - 面试经常被问 使用索引&#xff1a;合理创建和使用索引是提高查询效率的关键。索引可以加速数据的检 索速度&#xff0c;但是索引也会占用额外的存储空间&#xff0c;并且在插入、删除和更新操作时会 有额外的开销。 避免全表扫描&…

Git+Jenkins 基本使用(Basic Usage of Git+Jenkins)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

Linux命令分享 四 (ubuntu 16.04)(vi操作文件)

1、su 切换用户 su - 用户名 切换到该用户并将目录切换至该用户的主目录 **注意该语句执行后需要输入密码&#xff0c;输入密码时终端不回显&#xff08;不会显示你输入的密码&#xff09;&#xff0c;输完直接回车即可 su 用户名 切换用户但不切换目录 su - root su root **注…

你可能遗漏的一些C#/.NET/.NET Core知识点

前言 在这个快速发展的技术世界中&#xff0c;时常会有一些重要的知识点、信息或细节被忽略或遗漏。《C#/.NET/.NET Core拾遗补漏》专栏我们将探讨一些可能被忽略或遗漏的重要知识点、信息或细节&#xff0c;以帮助大家更全面地了解这些技术栈的特性和发展方向。 拾遗补漏Git…