软件安全开发 - 流程规范

2023-05-16

 写一篇软件安全开发流程分享给大家,帮助从事软件开发,测试,管理的人员,规范操作,重视软件工程安全。

      现今社会存在各种网络安全事件,比如勒索病毒导致许多网络系统瘫痪,大量注册用户个人数据泄露导致企业面临破产,银行职员留后门为自己牟利。网络安全形势严峻,各个国家、政府、企业、医院、学校都积极投入到捍卫网络安全,保护公司资产,维护用户合法权益的保卫战当中,网络安全工程师成为新兴和稀缺岗位。

一、优秀软件安全开发流程

       微软为了提升公司研发的操作系统和各类办公软件的安全,提出了SDL security development lifecycle(安全开发生命周期),即从安全角度指导软件开发过程的管理模式。

SDL是一个安全保证的过程,重点是软件开发,它在开发的所有阶段都引入了安全和隐私的原则。

以下是微软SDL流程框架图:

其主要由以下7部分组成:

1、安全培训(training):提升团队安全意识,对齐安全要求

2、需求分析(requirements): 建立安全需求管理、安全质量标准、安全与隐私风险评估

3、系统设计(design): 制定设计规范、攻击面分析、威胁建模

4、实现(implementation):使用优选工具、消减危险函数、对代码进行静态安全检查

5、验证(verification): 动态安全测试、Fuzz测试、攻击面评审

6、发布(release): 制定安全应急响应计划、最终安全审计、发布归档

7、响应(response):执行安全应急响应计划

 根据微软的SDL流程框架,我们看出软件安全开发是软件开发的必然趋势,即必须要将安全纳入到传统软件开发流程的每个环节。

二、总结软件安全开发流程新增的安全活动

传统软件开发流程软件安全开发流程新增项
客户需求收集客户安全需求收集
需求分析与澄清分析客户安全需求,制定安全标准和要求,建立安全需求管理、安全与隐私风险评估
软件设计在特性设计中结合安全设计规范进行安全设计,对模块进行威胁建模和攻击面分析
软件编码
  1. 安全编码:新代码使用安全函数,老代码替换危险函数,对代码进行安全检视;
  2. 使用第三方开源工具或者库,需要使用最好的最新的
版本构建满足安全编译选项的要求
选择安全的构建工具
软件测试对安全设计进行分析与评审,输出安全测试用例
对软件暴露的接口进行Fuzz测试
对软件暴露的攻击面进行攻防渗透测试
对软件进行安全扫描与漏洞挖掘
客户质量验收提供验收的安全交付件,如安全设计说明书、安全测试报告
提供测试环境给客户,让客户进行安全评估
发布与运维制定安全应急响应计划,并在实际运维中落地。
日常运维中做好安全巡检,遇到黑客攻击,及时告警,并快速修复安全漏洞。
 


原文链接:https://blog.csdn.net/white_hats/article/details/88689969

详解自动驾驶安全软件开发流程_自动驾驶软件开发_智能汽车设计的博客-CSDN博客

1 引言

自动驾驶汽车开发越来越重视性能、质量和性价比,自动驾驶口碑成为新技术应用取得市场成功的关键,而口碑的建立依赖于相关软件开发流程、周期、时间和质量。一家汽车企业只有拥有或者其软件开发供应商具有成熟的软件开发团队、软件开发流程、可复用的软件流程资源库,才能在日益激烈的自动驾驶产业竞争中获得一席之地。

目前,国际上应用于汽车行业的软件开发成熟度评估标准主要有:

  1. 能力成熟度模型集成(Capability Ma⁃turity Model Integration,CMMI)
  2. 汽车软件过程改进及能力评定模型框架(Automotive Software Process Im⁃provement and Capacity Determination,ASPICE)

CMMI拥有全球公认的软件、产品和系统开发优良实践过程改进模型,能够帮助组织提升绩效,具有普适性,而ASPICE标准基于软件过程评估国际标准ISO15504,主要针对汽车行业软件开发过程框架,是现今汽车企业主要依据的过程评估标准。与典型传统软件开发过程,例如线性瀑布模型相比,以V开发模式为导向的ASPICE软件过程域,从客户需求、系统架构、软件需求、软件架构、软件详细设计、单元构建到测试验证之间都存在一致性与双向追溯性关系,从最初的系统需求分析开始,测试人员就参与进行对应验证标准的设计,将设计和测试在项目开始初期就关联起来,在整个软件开发生命周期都有着重要的指导意义。

传统软件开发重视业务过程和文档,若软件开发人员完全按照设计文档进行程序开发,经过很长的开发周期后提交软件程序,会导致早期错误可能要等到开发过程后期才能发现,风险与修正成本不可控制。

敏捷软件开发模式强调沟通,通过各子项目的集成和运行,构建成上层软件项目,软件开发成员拥有充分的自主权,可自行寻找最佳工作方式完成工作,不必拘泥于设计文档。

开发过程循环迭代,开发人员针对前期需求,尽可能早地提交一个完整可独立运行的源程序,供测试验证,发现问题后提出需求变更请求,开发人员再次按照新需求开发并提交源程序,如此循环直至软件从整体构架至各个细节完全符合需求,从而实现完美的人机结合。

敏捷方法主包括:Scrum方法,自适应软件开发(Adaptive Software Development,ASD),水晶方法,以及最重要的极限编程(eXtreme Programming,XP)。Scrum偏重于过程,XP则偏重于实践,实际开发中,两者经常结合一起应用。

由于汽车自动驾驶软件的复杂性与专业性,一味遵循敏捷开发,专注市场变化和客户反馈,会对整个软件的架构、开发、测试造成很大的波动。控制不好,会使得项目失控,造成严重的质量问题,比如Bug多,架构不合理,易用性差,性能不佳等。除此之外,汽车软件项目开发周期很长,很难保证开发的人员不更换,而没有规范体系文档就会造成在交接的过程中出现很大的困难。因此,采取有效方法保证过程质量,对于提高产品质量具有十分重要的意义。

为满足自动驾驶车辆的安全性需求,根据ISO PAS 21448标准,智能驾驶系统本身传感器/控制器/执行器的设计不足、性能局限在遇到一定的场景触发条件(如环境干扰或人员误用)时,将可能导致整车级失效危害,进而威胁人身安全。究其根本,应在软件开发阶段充分降低预期功能安全SOTIF危害事件的潜在风险、提高软件安全性能、明确安全边界。因此,本文在结合传统与敏捷开发流程基础上,融入SOTIF对部件软件层级的安全需求与测试验证,合理控制软件已知/未知风险,开发自动驾驶软件流程,促进自动驾驶车辆系统安全提升和顺利发布。

2 汽车安全软件开发流程定义
设计智能驾驶软件产品开发流程如图1所示。主要由8个阶段构成,即包括软件需求分析、软件架构设计、软件敏捷设计、软件详细设计和单元构建、软件单元验证、软件敏捷集成、软件集成和集成测试及软件合格性测试。增加软件敏捷设计与集成活动,以应对实际软件开发项目中开发周期短,软件需求预开发架构的问题。

 图1 汽车自动驾驶安全软件开发流程

第1阶段(Step-01),软件需求分析:

主要工作内容:根据项目目标与计划,承接系统需求,SOTIF危害分析与项目内各专业确认软件需求,进行需求评审。

第2阶段(Step-02),软件架构设计:

主要工作内容:识别软件需求,形成软件架构设计说明,并进行软件架构设计评审。

第3阶段(Step-03),软件敏捷设计:

主要工作内容:识别软件敏捷设计需求,形成软件敏捷设计说明与计划,并进行软件敏捷设计评审。

第4阶段(Step-04),软件详细设计和单元构建:

主要工作内容:结合敏捷设计需求,根据软件需求和软件架构定义软件详细设计,包括任务设置、调度机制、优先级、时序、函数接口关系、数据定义、算法策略说明,根据软件详细设计进行软件单元构建工作,并进行软件详细设计和单元构建评审。

第5阶段(Step-05),软件单元验证:

主要工作内容:完成静态检查,编写软件单元测试需求文档、测试用例,自动或手动进行单元测试工作,并进行软件单元测试评审。

第6阶段(Step-06),软件敏捷集成:

主要工作内容:完成软件敏捷集成计划,形成软件敏捷集成说明,并进行软件敏捷集成评审。

第7阶段(Step-07),软件集成和集成测试:

主要工作内容:按照集成计划,完成软件单元集成,编写软件集成测试需求文档,自动或手动进行集成测试工作,并进行软件集成和集成测试评审。

第8阶段(Step-08),软件合格性测试:

主要工作内容:根据软件需求进行软件合格性测试,并进行软件合格性测试评审。

体现SOTIF分析与开发过程,具体开发活动如图2所示。

图2 汽车自动驾驶安全软件开发过程

3 汽车安全软件开发流程特点
3.1 双向追溯性
本软件开发过程体系具有ASPICE双向追溯[的特点:

(1)纵向/横向双向追溯性

从上到下的追溯,便于确认是否所有需求都执行;

从左到右的追溯,便于确认是否所有需求都被测试

从下到上的追溯,便于发现哪些需求被错误的执行或曲解;

从右到左的追溯,通过测试的过程发现问题或者缺陷来源于哪个需求。

(2)需求变更定位

在出现新的需求或者需求变更时,通过快速追溯便于V模型从上到下、从左到右准确的定位,发现从设计到测试整个工程开发中不同阶段需求变更具体位置。

(3)评估评审

通过需求的纵向和横向的追溯就可以知道该项目是否严格按照ASPICE标准流程执行开发过程。

3.2 敏捷开发与集成
将敏捷开发过程融入软件开发端与软件测试端,软件敏捷集成与软件敏捷设计过程同样具有双向追溯性,并强调以下关键实践:

(1)以人为核心

敏捷开发注重人员与沟通,只有软件开发人员与业务人员达到事件的敏捷处理,整个软件开发过程才能实现敏捷化。

(2)迭代—增量开发

整个软件的开发过程通过迭代式开发分成若干阶段,开发人员根据优先级或风险高低选择需求,对程序进行增量的设计和开发。每次迭代完成对应一个经过测试的最终产品,开发团队通过它获得更多反馈,再继续完善软件产品。

(3)测试驱动开发

基本思想就是在明确要开发某个功能和在开发功能代码之前,先编写测试用例,思考如何进行功能测试,然后编写相关的代码满足这些测试用例,循环进行功能添加。直到完成全部功能开发。

(4)持续集成

持续集成的主要思路是为了增加集成测试效率,将软件开发过程后期的软件集成分摊到软件的全过程灵活进行。

3.3 软件层SOTIF开发
在软件设计与测试阶段,同步进行SOTIF开发活动,对软件开发起到安全约束的作用,对应以下5项活动:

(1)识别和评估SOTIF潜在功能不足和触发条件

通过规范与设计文档的支撑,进一步确认软件设计不足及性能限制、人员误用等及其触发条件。利用FTA故障树分析得出导致软件层面上SOTIF相关整车级危害触发条件,包含感知模块、算法决策模块、执行模块及人员的合理可预见的误用。确认触发条件对SOTIF的可接受性,评审评估严重度(S)、可控性(C)以及触发条件的概率是否满足制定的可接受标准。

(2)功能修改以减少SOTIF相关风险

通过已分析得到的软件层级的设计不足及性能限制之处,制定针对SOTIF相关危害的改善措施,包含功能目标的更改、软件设计限制、改进和降级。将改善措施更新进入规范与设计文档。如果仍不能充分降低安全风险,需要定义接受准则并考虑相应的法规、该功能在目标市场的情况、人员暴露在风险下的可接受性。

(3)定义验证和确认策略

SOTIF的验证和确认过程主要是对未知的不安全场景和已知的不安全场景进行探测和转化的过程,针对软件系统提出验证与确认的要求。制定针对已识别SOTIF相关危害的验证策略,及针对残余风险的确认策略,编写集成测试规范,并说明所选验证和确认方法的基本原理。

(4)验证已知危害场景

针对已识别的SOTIF相关危害场景,基于所选的验证方法,对软件算法进行模拟仿真验证或硬件在环(HiL)验证,并进行集成测试,最终出具危害场景的验证报告。

(5)验证未知危害场景

为评估未知危害场景下的潜在风险,应设计测试用例进行风险测试,识别系统设计可能触发危险的运行情况,减少未知危险区域,以验证目标是否满足安全接受准则为评判依据。

4 应用实践 
随着我国汽车企业智能驾驶产品逐步的自主化,由于缺乏经验,软件团队在实际项目开发中曾暴露出多项问题与流程漏洞,以往车型项目中存在过系统方案选型不合理,缺乏有效评审评估,导致系统方案选型与主流方案存在偏差,导致开发后期无法闭环控制,产生空间车位泊车精度不足等系列问题,项目后期难以解决。特别是由于软件开发系统功能需求规范不完善,在软件开发过程中反复修改需求,导致软件开发效率不高的问题。通过该流程的制定与实施,健全整个软件项目开发测试团队的软件开发流程体系,开展软件开发过程管控,完善软件质量管理和微流程规范化工作,制定软件开发规范和要求文档模板40个,严控评审把关,有效保证软件开发各个环节的规范化与标准化,质量问题明显减少,效率明显提升。

通过该流程实施解决AEB自动刹车辅助系统潜在危害的过程举例如下:

(1)潜在的交通状况:

在交通拥堵的路上行驶(如郊区道路)。

(2)潜在危害:

非预期的紧急制动可能致使与后面的车相撞。

驾驶员对危害不可控。后车驾驶员对危害的控制取决于两车之间的距离。

(3)触发事件:

特殊道路条件(如:井盖,管道,饮料罐)可能会生成雷达回波,有可能被理解为潜在障碍物。

不必要的紧急制动引发的后侧碰撞需要降低严重度,此SOTIF相关风险不可接受。为降低后碰的严重度,功能改进方向为对限制制动介入的时长或强度。

(4)改善后的功能描述:

该功能使用雷达传感器扫描前方障碍物的距离。若检测到即将到来的碰撞,则AEB将会触发。限制制动介入以减少或防止不需要的紧急制动带来的碰撞。

5 结束语
本文结合ASPICE过程模型与敏捷开发的各自优势,考虑了SOTIF安全需求,减少了危害事件,提出了一种融入软件敏捷开发环节的软件开发流程,兼顾了传统汽车软件开发控制、流程、文档和评审的方法,与敏捷开发的灵活主动、快速迭代的特性,以及安全约束。新制定的面向自动驾驶安全软件开发流程是在传统汽车软件开发过程基础上的一种改进和优化,合理平衡软件开发活动,实际项目实施效果证明了新开发的软件流程的有效性,对后续汽车自动驾驶安全软件的开发具有指导意义。
————————————————
版权声明:本文为CSDN博主「智能汽车设计」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/znqcsj/article/details/127460947

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件安全开发 - 流程规范 的相关文章

  • Win10常用快捷键

  • 推荐3篇 如何建立自己的知识体系

    如何构建自己的知识体系 xff1f 看这一篇就够了 xff01 如何把学到的知识系统化 xff1f 怎么才能把知识系统化的学透彻呢 xff1f 这3步可以帮助你 什么是知识体系 xff1f 为什么要搭建知识体系 xff1f 如何搭建知识体系
  • 《富有的习惯》

    目录 关于作者 关于本书 核心内容 前言 第一部分 第二部分 习惯觉察表 结语 富人和穷人的区别是什么 xff1f 富人永远更谨慎 关于作者 本书作者是托马斯 科里 xff0c 他是一位美国著名的会计师和注册理财规划师 xff0c 开办了一
  • 演讲培训——荣耀时刻

    如何用惊艳的开场白引爆项目路演的全场 xff1f 如何用精准而生动的语言表达有力的商务主题 xff1f 如何层层递进环环相扣地展开内容 xff1f 如何打造激励人心激发行动的演讲结尾 xff1f 如何让观点有内在 xff0c 让语言有逻辑
  • QNX的调度算法

    作为一个硬实时操作系统 xff0c QNX是一个基于优先级抢占的系统 这也导致其基本调度算法相对比较简单 因为不需要像别的通用操作系统考虑一些复杂的 公平性 xff0c 只需要保证 优先级最高的线程最优先得到 CPU 就可以了 基本调度算法
  • 葡萄酒品酒的四个步骤

    第一步 xff1a 观色 将酒杯举到白色背景之上 xff0c 然后倾斜约45 xff0c 仔细观察酒液中心的颜色 边缘色泽 澄清度 通常而言 xff0c 红葡萄酒的越浅 xff0c 年份越老 xff1b 白葡萄酒的颜色越浅 xff0c 年份
  • 高通骁龙 8155 到底有什么魔力?

    高通骁龙8155采用安卓系统 xff0c 兼容性更好 xff0c APP的数量也就相当多 xff0c 硬件方面 xff0c 这颗芯片最高支持3个4K屏或4个2K屏 xff0c 4个麦克风6颗摄像头 xff0c 还有WiFi6 5G 蓝牙5
  • 当你遇到Bug该怎么办?

    一 问题复现 稳定复现问题才能正确的对问题进行定位 解决以及验证 一般来说 xff0c 越容易复现的问题越容易解决 1 1 模拟复现条件 有的问题存在于特定的条件下 xff0c 只需要模拟出现问题的条件即可复现 对于依赖外部输入的条件 xf
  • 增加远程访问用户

    http www zhuangjiba com hardware 34023 html http www zhuangjiba com hardware 34023 html 打开管理员权限 xff1a
  • 基于Java的“多功能五子棋”游戏的设计和实现

    源码地址 xff1a http download csdn net detail clx55555 9718406 下载或转载使用请声明原著 xff1a 但求心安 基于 Java的 多功能五子棋 游戏的设计和实现 引言 随着经济社会的迅速发
  • shell 脚本中的注释详解

    单行注释 xff1a 单行注释就比较简单了 xff0c 直接在行最前端加上符号 即可 具体用法如下所示 xff1a this is comment test echo 34 this is comment test 34 运行结果 xff1
  • 《演讲的本质》:如何做好一次公开演讲?

    关于本书 演讲的本质 是一本教你通过演讲最大化自己的影响力 建立信任关系的工具书 xff0c 探讨演讲的本质和价值 本书从视觉 听觉 语言三个角度来分析如何最大程度地打动听众 xff0c 并提供了行之有效的练习方法 核心内容 演讲的本质与价
  • ubuntu系统镜像下载源

    ubuntu 14 04 和16 04 快速下载 由于官网服务器在国外 xff0c 下载速度奇慢 xff0c 所以我们可以利用阿里云镜像下载ubuntu ubuntu 14 04 xff1a ubuntu releases 14 04安装包
  • 每天最重要的2小时

    关于作者 乔西 戴维斯 xff0c 他是哥伦比亚大学的心理学博士 xff0c 主要研究神经学领域 关于本书 从身体效能的角度 xff0c 让我们在面对一件事情时 xff0c 怎么才能把身体调整到一种巅峰状态 xff0c 进而对时间进行高效的
  • 【无标题】

    63张图 xff0c 一步一步带你弄清 Linux 虚拟内存管理 xff0c 厉害 内存管理子系统可谓是 Linux 内核众多子系统中最为复杂最为庞大的一个 xff0c 其中包含了众多繁杂的概念和原理 xff0c 通过内存管理这条主线我们把
  • 面试时不懂得自我介绍的人,最后都被PASS掉了

    做硬件维护的阿润最近后悔得直跳脚 在被公司赔偿清退后 xff0c 他直接开启了HIGH玩模式 xff0c 原计划先玩2个月再做面试准备 xff0c 结果冷不丁接到心仪公司的面试邀约 因为时间紧 邀约急 xff0c 在没做好充分准备的前提下
  • 开发板和电脑可以ping通但是ssh连接不上

    一 问题描述 某集群数据节点服务器频繁无法连接 xff0c 服务器间出现可ping通但ssh无法连接的情况 xff0c 使用带外地址登录后远程控制也无法显示正常界面 xff0c 重启后会短暂恢复 二 排查问题 重启服务器后检查服务器SSH状
  • 你对Linux下的实时性应该多点了解

    本文讲述一些有利于提高xenomai实时性的配置建议 xff0c 部分针对X86架构 xff0c 但它们的底层原理相通 xff0c 同样适用于其他CPU架构和系统 xff0c 希望对你有用 希望能够帮助大家 本文来自于微信公众号嵌入式Lin
  • 怎么保证ECU的“实时性”

    在最近一起有公开报道的辅助驾驶相关事故中 xff0c 由于AEB xff08 自动紧急制动系统 xff09 功能被怀疑没有起作用 xff0c 又有一家车企的高级辅助驾驶功能遭到质疑 其实 xff0c 目前大多数车辆中AEB功能的生效车速区间

随机推荐

  • 重磅成果丨ASAM SOVD 1.0.0正式发布

    重磅成果丨ASAM SOVD 1 0 0正式发布 测试行业动态 汽车测试网 编者寄语 xff1a 2022年6月底 xff0c ASAM SOVD 1 0 0版本正式发布 为了应对智能网联汽车时代井喷的软件诊断需求 xff0c SOVD如何
  • 2016-我在路上

    2016匆匆而过 xff0c 这一年做了很多 xff0c 也错过了很多 有些事情自己感觉很值得 xff0c 有些事情感觉很愧疚 xff0c 一年的酸甜苦辣尽在其中 寒假 xff0c 我加入的acm实验室 xff0c 有个集训 xff0c 但
  • 《复盘高手》

    今天为你介绍的是 复盘高手 xff0c 副标题是 自我认识与自我精进的底层逻辑 复盘 本是围棋的一个术语 xff0c 说的是下完一盘棋后 xff0c 棋手在棋盘上把下棋的过程复现一遍 xff0c 看看哪些地方下得好 xff0c 哪些地方不好
  • Linux 进程间通信(六)共享内存

    可以说 xff0c 共享内存是一种最为高效的进程间通信方式 xff0c 因为进程可以直接读写内存 xff0c 不需要任何数据的复制 为了在多个进程间交换信息 xff0c 内核专门留出了一块内存区 xff0c 这段内存区可以由需要访问的进程将
  • 对ASPICE的理解

    Aspice xff08 Automotive SPICE xff09 中文翻译为汽车软件过程改进及能力评定 是为保证软件质量的规范 xff0c 要求供应商按照Automotive SPICE的要求进行产品的设计与开发 是汽车行业中常用于质
  • 普通人如何改变自己的命运?

    Morty 普通人改变命运的秘密 xff01 我的观点可能会颠覆你的认知 哔哩哔哩 bilibili 非常感谢UP xff0c 你的每个视频我都看了 xff0c 给我启示最大的是 为什么你总是那么穷 xff0c 这些年一直走背运 xff0c
  • 指令流水线

    为提高处理器执行指令的效率 xff0c 把一条指令的操作分成多个细小的步骤 xff0c 每个步骤由专门的电路完成的方式 指令流水线是为提高处理器执行指令的效率 xff0c 把一条指令的操作分成多个细小的步骤 xff0c 每个步骤由专门的电路
  • 何为CPU的亲和性

    CPU的亲和性 xff0c 进程要在某个给定的 CPU 上尽量长时间地运行而不被迁移到其他处理器的倾向性 xff0c 进程迁移的频率小就意味着产生的负载小 亲和性一词是从affinity翻译来的 xff0c 实际可以称为CPU绑定 在多核运
  • Docker 快速入门

    x1f389 Docker 简介和安装 Docker 快速入门 https blog csdn net weixin 45043334 category 11863858 html https blog csdn net weixin 45
  • 如何提高Linux的实时性

    QNX是黑莓旗下的一款微内核实时操作系统 xff0c 是全球第一款通过ISO 26262 ASIL levelD安全认证的车载操作系统 xff0c QNX是一个分布式 嵌入式 可规模扩展的实时操作系统 它遵循POSIX 1 程序接口 和PO
  • 自旋锁和互斥锁的区别

    面试官 xff1a 你说说互斥锁 自旋锁 读写锁 悲观锁 乐观锁的应用场景 百度安全验证 自旋锁和互斥锁的区别 一缕阳光a的博客 CSDN博客 自旋锁和互斥锁的区别 POSIX threads 简称Pthreads 是在多核平台上进行并行编
  • CPU超线程技术到底有什么用?

    什么是超线程技术 前几天的超线程文章引起了不少讨论 xff0c 有些四驱两驱之类留言就不点出来了 今天咱们趁热打铁来聊下CPU超线程的实际用途 超线程的英文名是Hyper Threading Technology xff0c 简称HT 超线
  • 蓝桥杯 生日蜡烛

    某君从某年开始每年都举办一次生日party xff0c 并且每次都要吹熄与年龄相同根数的蜡烛 现在算起来 xff0c 他一共吹熄了236根蜡烛 请问 xff0c 他从多少岁开始过生日party的 xff1f 请填写他开始过生日party的年
  • QNX实时操作系统

    一个实时操作系统 xff08 RTOS xff09 必须是可靠的 xff1b 它必须是快速和响应的 xff0c 管理有限的资源和安排任务 xff0c 使它们按时完成 xff0c 并确保功能是隔离的 xff0c 不受其他功能的干扰 在本节中
  • Makefile教程(绝对经典)

    Makefile教程 xff08 绝对经典 xff0c 所有问题看这一篇足够了 xff09 GUYUEZHICHENG的博客 CSDN博客 makefile 该篇文章为转载 xff0c 是对原作者系列文章的总汇加上标注 支持原创 xff0c
  • 王道考研操作系统笔记

    https mp weixin qq com mp appmsgalbum biz 61 MzI0OTI2MjY2MQ 61 61 amp action 61 getalbum amp album id 61 227777034051051
  • 《管理的常识》:怎么做一个优秀的管理者?

    关于作者 艾伦 默里是 华尔街日报 的副总编 xff0c 华尔街日报 网和市场观察网的执行主编 xff0c 同时也是三次普利策新闻奖的得主 默里先生自己的新闻作品也获得过多次大奖 xff1a 关于亚洲的报道让他两次摘取了海外新闻出版俱乐部奖
  • VLAN 基础知识

    为什么需要VLAN 1 什么是VLAN VLAN Virtual LAN xff0c 翻译成中文是 虚拟局域网 LAN可以是由少数几台家用计算机构成的网络 xff0c 也可以是数以百计的计算机构成的企业网络 VLAN所指的LAN特指使用路由
  • 目标设定的SMART原则

    目标设定的SMART原则来源于管理大师彼得 德鲁克的 管理的实践 xff0c 有五个基本的原则 xff1a 1 目标必须是具体的 xff08 Specific xff09 2 目标必须是可以衡量的 xff08 Measurable xff0
  • 软件安全开发 - 流程规范

    写一篇软件安全开发流程分享给大家 xff0c 帮助从事软件开发 xff0c 测试 xff0c 管理的人员 xff0c 规范操作 xff0c 重视软件工程安全 现今社会存在各种网络安全事件 xff0c 比如勒索病毒导致许多网络系统瘫痪 xff