精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

汽車軟件敏捷開發和分支管理

開發
本文將從持續集成/持續發布角度探討汽車軟件開發過程中的代碼管理和發布流程。

?經過十多年的發展,敏捷軟件開發已經從一種前衛的開發方式轉變成為在各大軟件公司中被廣泛應用的主流技術,變成了互聯網行業的一種潮流。隨著軟件定義汽車等概念的興起,軟件在一輛汽車中的價值正在不斷增加。電動化、網聯化、智能化、共享化的背后都需要強大的軟件能力作為支撐,而軟件能力不僅體現在構建出高質量的軟件產品上,同時還體現在軟件產品的快速迭代以滿足快速變化的市場需求的能力之上。這樣的變化無疑給汽車軟件開發帶來了新的挑戰,同時也帶來了巨大的機遇。新玩家紛紛入場,期望在軟件和用戶體驗上贏得市場,而傳統的汽車制造商則正重新審視組織架構、人才、流程、職責等方方面面以期適應新的變化,成為軟件驅動的公司。

持續集成/持續發布(Continuous Integration andContinuous Delivery)是敏捷軟件開發中的核心過程,本文將從持續集成/持續發布角度探討汽車軟件開發過程中的代碼管理和發布流程。

01 傳統汽車軟件的開發流程

傳統汽車軟件開發大量依賴于供應商,汽車制造商提出需求,由供應商負責軟件編寫和實現。在過去十幾年的時間里,汽車電子器件的數量增長迅速,車內電子控制單元(ECU)從十幾個增長到了上百個,帶來的是軟件復雜度的快速增加。除了汽車功能繁多所帶來的軟件復雜度,汽車電子類產品在軟硬上往往對設備的高可靠性、穩定性有著嚴格的要求。這些要求在消費電子類,甚至是醫療電子類和工業控制類產品上是沒有的。因此,為了滿足功能安全等要求,汽車的軟硬件往往需要做額外設計。面對這樣的復雜系統,汽車行業制定了許多標準及方法論以規范開發過程,而在軟件開發過程中,最有名的是ASPICE(Automotive Software Process Improvement and CapabilitydEtermination)。

Automotive SPICE簡稱ASPICE,是ISO/IEC 15504(SPICE)國際標準在車用領域下的修改版本。其目的是為了評估汽車產業中,電子控制器供應商開發的流程。

ASPICE 建立在 V 模型之上,它需要與每個開發階段相對應的測試階段。這是一個嚴格的模型,需要嚴格評估以確保持續的評估和發展。下圖是ASPICE中定義的典型開發流程:

From: https://www.automotivespice.com

V 模型的左側包括需求分析、系統設計、架構設計、模塊設計、編碼;

V 模型的右側包括單元測試、集成測試、系統測試、驗收測試。

從上面可以看出,V模型是一種類似于瀑布式的開發模型,開發模型是線性的,制造商只有等到整個過程的末期才能見到開發成果。盡管在實際過程中,可以進一步分解成更小的任務進行驗證,但階段的劃分依然比較固定,階段之間會要求大量的文檔。

02 敏捷開發的理念

傳統裝載在汽車上的軟件往往一旦賣出,就不會再變更,升級需要去線下4S店完成。在這樣的情況下,基于V模型進行軟件開發有利于需求和過程管理,明確范圍和進度。不過,這樣的情況正在發生變化,一方面,消費者對新技術越來越感興趣,特別是與用戶有直接交互的信息娛樂系統或者是智能駕駛功能,用戶希望功能不斷完善,獲取新的技術不用換一臺新車;另一方面,隨著車內固件升級(FOTA)和應用軟件升級(SOTA)技術的成熟,汽車制造商已經有可能在遠程完成軟件的更新。軟件和硬件的開發過程正在逐步解耦,軟件需要實現小步快跑,不斷迭代。這個時候,汽車軟件的新老從業者們開始思考如何改變,是否能在汽車行業中應用敏捷開發的理念或者是將敏捷開發與傳統的開發模型進行結合。目標是獲得效率和質量的平衡。

與傳統計劃驅動的開發相比,敏捷開發有兩個核心理念:

1. 自適應而不是預測;

2. 以人為本而不是流程為導向的。

計劃驅動的工程期望在開發之前提出一個預測計劃。該計劃列出了整個項目的人員、資源和進度。軟件設計也是預先完成的,預計實現與此設計一致。成功的衡量標準是這個計劃的遵循程度。

敏捷計劃是用來幫助控制變更的基線。敏捷團隊的計劃與傳統團隊一樣仔細,但計劃會不斷修改以反映在項目中學到的東西。成功取決于軟件提供的價值。

計劃驅動的工程尋求一種結構以將個體差異減少到最低。這樣的工業流程更具可預測性,在人員轉移時能夠更好地應對,并且更容易定義技能。

敏捷工程將軟件開發視為人類活動,其中涉及的人員以及他們如何協作是成功背后的主要驅動力。

03 持續集成

在敏捷開發的理念之下,持續集成和持續交付(CI/CD)軟件產品(有的制造商也同樣在探索硬件產品敏捷開發的可能性)。持續集成和持續交付的重要特點是自動化、不斷構建,下圖是敏捷開發的主要過程:

(From:https://faun.pub/most-popular-ci-cd-pipelines-and-tools-ccfdce429867)

持續集成和持續交付需要快速完成計劃、編碼、測試、發布的循環,持續集成和持續交付并不是畫成“圓”的V模型,自動化的測試和自動化的發布是不可或缺的組成部分。而這一過程應用于每一次提交,意味著每一次代碼的提交、合并都會經過自動化測試,成為一個新的發布版本。為了保障效率,可在提交合并和版本發布時,進行不同程度的測試。重要的是持續獲得版本,為進一步驗證和最終交付給用戶提供有力支持。

為了完成快速發布,CI/CD本身也成為了一個復雜的軟件產品,需要專業的軟件團隊進行維護,編寫大量代碼以實現各個任務的調度,集成多個工具鏈以提高整個過程的效率。而這也是汽車制造商實現敏捷軟件開發轉型的一個挑戰。在過渡期間,往往會因為工具鏈的不成熟而影響產品的開發效率,甚至于忽略必要的自動化測試和反饋,使產品的質量出現問題。

04 代碼分支模型

持續集成和持續交付的落地過程中,需要考量不少因素,包括但不限于工具鏈的選擇、流程的制定、服務器的搭建等等,而代碼分支模型的選擇是持續集成團隊和軟件開發團隊需要在早期進行定義并共同遵守的一項規范,下面將對持續集成過程中代碼分支模型的選擇進行探討。

分支模型是軟件開發團隊通過Git 等版本控制系統編寫、合并和交付代碼時采用的策略。好的分支模型增強了軟件交付過程中的協作、效率和準確性。它定義了團隊如何使用分支來實現并開發。

良好的分支模型往往可以達到以下目標:

1. 對持續集成的良好支持。

2. 確保高頻率的集成。

3. 減少合并沖突和處理沖突的成本(在開發過程中,處理大量合并沖突是開發人員非常頭痛的問題,并且很容易發生錯誤)。

比較常見的分支模型有:Git-flow、GitHub Flow、GitLab Flow和Trunk-based development。

使用Trunk-baseddevelopment是持續集成中常見的選擇,下面簡單介紹一下各個分支模型的特點。

Trunk-based development

Trunk-based development (TBD) 是基于主干開發的一種分支模型,所有開發人員每天都將他們的更改直接集成到共享主干(trunk或master)中。理想情況下,主干始終處于可發布狀態。

下圖說明了 TBD 的基本流程:

(From:https://trunkbaseddevelopment.com/#scaled-trunk-based-development)

基于主干開發的典型策略如下:

1. 開發基于主干,沒有長期存在的功能分支(feature branch)。如果需要功能分支,它應該是本地的或短期的,并在幾天內合并到主干;

2. 主干應保持健康且可發布的狀態;

3. 發布分支(release branch)從主干中“即時”檢出(checkout)(例如發布前 2 周)并在發布之前凍結(例如發布前 1 周);

4. 修復應該首先上傳到主干,然后cherry-pick到發布分支(這有助于確保主干中包含所有修復并避免回退)。

TBD非常適合持續集成,持續集成的流程可以在主干上運行,對每次提交進行驗證,在代碼成功合并后進一步生成交付物。發布分支是為了更好管控產品的質量。因為實際過程中,盡管主干經過驗證,但缺少凍結過程,新的提交容易造成意想不到的問題,發布分支的存在有效控制了這一影響。在發布分支檢出后,同樣可以與主干一起進行持續集成和交付。

使用TBD的主要挑戰是當有體量較大的新特性需要開發時,高頻集成會相對較難,開發人員需要額外的工作(如使用標志位等方式),避免不完整的功能在產品中運行。

Git Flow

Git Flow模型背后的主要思想是將工作隔離到不同類型的分支(main, develop, feature, release, hotfix)。主干分支和開發分支都是長期存在的。下圖是Git Flow的典型流程:

(From:https://docs.gitlab.com/ee/topics/gitlab_flow.html#git-flow-and-its-problems)

雖然Git Flow使開發、修復、發布分支很清晰,但很難在采用Git Flow的工程項目上進行持續集成,main和develop分支都是長期存在的,且隨著時間的增加,兩者可能會有越來越大的差異,難以形成自動化的集成交付閉環。

GitHub Flow

GitHub Flow 對Git Flow進行了改進。開發人員使用功能分支(feature branch)并定期將其功能分支推送到主干。發布通常是直接從主干完成的。每個開發人員都會創建一個新分支,即功能分支。功能分支在功能完成后合并到主干。

GitHub Flow對持續集成提供良好支持,但功能分支可能會存在較長的時間,從而影響軟件集成的頻度。

另外,GitHub Flow的概念中并沒有發布分支,發布直接從主干進行,會對軟件的質量的管控帶來更大的挑戰。

GitLab Flow

GitLab Flow在GitHub Flow的基礎上增加了發布分支(release branch),對持續集成有良好的支持,也可以對需要發布的產品提前進行凍結以便對質量進行更好的管控。它和TBD的主要區別是在模型的理念上,TBD更加鼓勵高頻率的代碼合并和集成。?

責任編輯:張燕妮 來源: 汽車電子與軟件
相關推薦

2021-11-04 10:42:43

汽車軟件技術

2017-03-17 08:15:17

敏捷軟件開發軟件開發

2021-08-24 09:00:00

開發軟件框架

2016-02-23 15:41:08

LeangooSaaS

2013-03-01 10:15:43

敏捷開發敏捷

2010-12-17 09:59:15

敏捷軟件開發聯盟

2009-03-30 16:01:54

敏捷開發需求分析重構

2017-12-13 17:01:41

華為云

2010-12-21 14:13:25

敏捷開發Scrum

2019-03-01 09:00:00

軟件開發AI敏捷管理

2011-09-02 09:16:10

IPD

2011-05-30 15:44:07

敏捷開發

2017-07-18 06:08:41

2010-12-03 11:10:58

互聯網

2009-07-16 09:52:00

Scrum流程

2011-06-23 10:39:43

ibmdw虛擬化敏捷開發

2011-03-27 23:10:37

ibmdw敏捷開發

2010-09-17 08:24:59

敏捷開發

2013-10-29 11:50:11

2009-07-16 16:01:54

WebWork敏捷開發
點贊
收藏

51CTO技術棧公眾號

激情亚洲一区二区三区四区| 日韩成人精品在线观看| 精品国精品国产| 91免费视频大全| 国产成人中文字幕| 一区二区视频免费看| 精品福利一区| 欧美日韩在线免费视频| 国产欧美精品aaaaaa片| 高清av电影在线观看| 国产精品一区二区久久不卡| 羞羞色国产精品| 日韩一卡二卡在线观看| 日本在线中文字幕一区| 欧美日韩亚洲综合一区二区三区| 国产xxxx振车| 在线日本视频| 91亚洲精品一区二区乱码| 国产盗摄视频在线观看| 在线免费看视频| 国产图片一区| 欧美人狂配大交3d怪物一区| 成熟丰满熟妇高潮xxxxx视频| 国产69久久| 成人h精品动漫一区二区三区| 国产精品视频自在线| 在线观看 中文字幕| 国产精品黑丝在线播放| 亚洲欧洲一区二区三区久久| 风韵丰满熟妇啪啪区老熟熟女| 欧美日韩五区| 日韩欧美国产视频| 日韩精品视频在线观看视频 | 亚洲欧美清纯在线制服| 久久综合国产精品台湾中文娱乐网| aa一级黄色片| 91麻豆精品激情在线观看最新| 欧美日韩黄色一区二区| 国产三级日本三级在线播放| 嗯啊主人调教在线播放视频 | 99久久精品99国产精品| av一区二区三区免费| 99热这里只有精品99| 久久精品国产色蜜蜜麻豆| 日本精品久久电影| 久久露脸国语精品国产91| 欧美性色综合| 久久91超碰青草是什么| h色网站在线观看| 久久久久久久久久久9不雅视频| 在线观看亚洲视频| 影音先锋男人在线| 欧美在线电影| 中文字幕精品—区二区| 懂色av粉嫩av浪潮av| 波多野结衣的一区二区三区| 夜夜嗨av色综合久久久综合网| 男女做爰猛烈刺激| 国产一区二区观看| 在线视频一区二区| 久久人妻无码aⅴ毛片a片app| 欧美国产美女| 久久九九有精品国产23| 日日骚一区二区三区| 欧美一区不卡| 欧美国产日本高清在线| 日韩女优在线观看| 久久精选视频| 国产精品视频在线观看| 国产三级伦理片| 岛国一区二区在线观看| 精品视频第一区| 国产午夜在线观看| 国产精品久久久久久久久久免费看| 中文字幕欧美人与畜| 成人看av片| 亚洲成人久久影院| 欧美牲交a欧美牲交aⅴ免费真| 欧美日韩国产v| 欧美日韩一区二区三区四区五区| 亚洲精品午夜在线观看| 911精品国产| 亚洲精品视频免费| 毛片视频免费播放| 黑丝一区二区三区| 欧美在线观看一区二区三区| 久久精品偷拍视频| 国产精品伊人色| 久久综合入口| 伦xxxx在线| 亚洲成人一二三| av污在线观看| 风间由美中文字幕在线看视频国产欧美| 日韩精品免费在线视频观看| 日本伦理一区二区三区| 亚洲免费黄色| 国产乱人伦真实精品视频| 超碰在线观看99| 久久久99免费| 久久久久福利视频| 四虎影视4hu4虎成人| 日韩精品自拍偷拍| 中文字幕第24页| 在线日韩视频| 成人网页在线免费观看| 色视频在线看| 亚洲乱码中文字幕综合| 成人三级视频在线播放| 日韩精品一区二区三区中文字幕 | 免费电影网站在线视频观看福利| 日韩欧美在线视频日韩欧美在线视频 | 国产日产一区二区三区| 欧美日韩国产一区二区三区| 三日本三级少妇三级99| 红桃成人av在线播放| 久久人人爽人人爽人人片av高请| 91国内精品视频| 久久美女艺术照精彩视频福利播放| 亚洲五码在线观看视频| 成人看片在线观看| 日韩精品在线视频| 在线免费观看毛片| 国产一区二区精品久久99| 青娱乐国产91| 成人福利视频| 日韩经典中文字幕在线观看| 久久伊人成人网| 国产在线乱码一区二区三区| 色播五月综合| 九九热线视频只有这里最精品| 日韩精品极品在线观看播放免费视频| 国产在线观看免费av| 国产一区视频网站| 一区二区三区精品国产| 欧美日韩国产网站| 国产亚洲成精品久久| 亚洲三级免费看| 97超碰人人干| 不卡高清视频专区| 免费在线黄网站| aaa级黄色片| 蜜桃视频在线观看免费视频| 色系网站成人免费| 800av在线播放| 亚洲国产日韩在线| 国产精品一区二| 丁香花电影在线观看完整版| 精品国产一二三| 国产精品第108页| 成人福利视频网站| 一本久道高清无码视频| h视频久久久| 午夜精品视频在线| 四虎在线观看| 色综合激情久久| 国产探花视频在线播放| 日本亚洲免费观看| 亚洲一卡二卡三卡| 国产95亚洲| 欧美国产极速在线| 天天色综合av| 在线中文字幕不卡| 国精产品视频一二二区| 国产精品中文欧美| 成人在线观看你懂的| 日韩有码av| 国产福利视频一区二区| 在线观看免费黄色| 日韩欧美在线不卡| 日韩精品久久久久久久| 久久久九九九九| 男操女免费网站| 开心激情五月网| 免费在线观看成人| 日韩视频在线免费播放| xxxx日韩| 蜜桃av噜噜一区二区三区小说| 欧美人在线观看| 污污视频在线观看网站| 91黄色免费网站| 老妇女50岁三级| 久久一区二区三区四区| 最新天堂在线视频| 日韩视频精品在线观看| 亚洲精蜜桃久在线| 1313精品午夜理伦电影| 国产成人精品电影| 亚洲羞羞网站| 精品欧美一区二区久久| 无码人妻精品一区二区三区不卡| 亚洲欧洲性图库| 国模私拍在线观看| 精品一区二区三区在线播放视频| 精品视频在线观看一区| 人人狠狠综合久久亚洲婷| 电影午夜精品一区二区三区| 欧美日韩美女| 欧美激情视频一区二区| 国产黄色片在线观看| 精品日韩一区二区三区免费视频| 国产成人无码一区二区在线播放| 亚洲欧美日韩国产成人精品影院| 国产成人无码一区二区在线观看| 精品一区二区日韩| 欧美牲交a欧美牲交aⅴ免费下载| 亚洲精品久久久| 欧美激情专区| 国产精品视屏| 亚洲一区二区三区xxx视频| 一区二区三区短视频| 九色91av视频| 免费av在线播放| 亚洲一二在线观看| 少妇喷水在线观看| 日韩一区二区免费在线电影| 天天干天天操天天操| 亚洲网友自拍偷拍| 欧美激情精品久久久久久免费| 久久精子c满五个校花| 蜜臀aⅴ国产精品久久久国产老师| 蜜桃视频在线观看一区二区| 黄色动漫在线免费看| 在线观看视频日韩| 青青草综合视频| 91亚洲国产| 亚洲草草视频| 欧美艳星介绍134位艳星| 蜜桃av噜噜一区二区三| 精品国产一区二区三区不卡蜜臂| 147欧美人体大胆444| 国产福利一区二区三区在线播放| 国产精品av电影| 亚洲第一影院| 日av在线播放中文不卡| 毛片在线网站| 69精品小视频| 在线一区av| 日本欧美中文字幕| 欧美xxx网站| 欧洲精品在线视频| 在线日韩影院| 国产精品第一页在线| 三上悠亚国产精品一区二区三区| 57pao国产成人免费| 在线精品亚洲欧美日韩国产| 欧美亚洲成人免费| 亚洲一区站长工具| 国产成人综合精品在线| 99热播精品免费| 国产美女精品视频| av日韩久久| 97人人香蕉| 国内毛片久久| 欧美精品一区二区三区在线看午夜 | 成人在线免费观看黄色| 欧美高清在线观看| 午夜伦理福利在线| 国产精品福利网| 久久久久久久性潮| 91手机视频在线观看| 日韩区一区二| 精品999在线观看| 久久99国产精品视频| 少妇免费毛片久久久久久久久| 色欧美自拍视频| 久久人妻无码一区二区| 在线视频精品| 色噜噜狠狠一区二区| 国产精品亚洲视频| 特级西西人体4444xxxx| 国产无人区一区二区三区| 五月天免费网站| 一二三四社区欧美黄| 久久久久久久久影院| 欧美在线观看18| 国产精品一区二区黑人巨大| 精品国产一二三| 黄色av免费在线看| 久久成年人视频| 国产在线观看www| 国产精品色悠悠| 97成人在线| 日韩在线电影一区| 激情欧美日韩一区| av丝袜天堂网| 成人免费观看视频| 91成人精品一区二区| 一区二区三区高清不卡| 欧美啪啪小视频| 91精品婷婷国产综合久久竹菊| 色窝窝无码一区二区三区| 日韩在线观看网站| 黄色激情在线播放| 成人中文字幕+乱码+中文字幕| 玖玖玖免费嫩草在线影院一区| 亚洲日本精品一区| 亚洲韩日在线| 久久成年人网站| 国产亚洲自拍一区| 国产成人精品av久久| 欧美日韩不卡一区二区| 亚洲av成人无码久久精品老人| 91精产国品一二三产区别沈先生| 亚洲狠狠婷婷| 色www免费视频| 91日韩精品一区| 欧美性x x x| 日韩欧美第一页| 亚洲精品一区二区三区蜜桃| 中文字幕精品久久| 色吧亚洲日本| 成人av播放| 91高清一区| 777视频在线| 久久久三级国产网站| 国产午夜激情视频| 91精品国产福利在线观看| 高清在线观看av| 日本午夜在线亚洲.国产| 成人午夜网址| 黄色一级片av| 国产在线观看免费一区| 中文字幕在线观看二区| 91国偷自产一区二区开放时间| 日本成人动漫在线观看| 欧美精品生活片| 欧美另类中文字幕| 四虎免费在线观看视频| 精品综合久久久久久8888| 毛片久久久久久| 欧洲av一区二区嗯嗯嗯啊| 欧美日韩在线精品一区二区三区激情综| 久久久久久久久电影| 精品久久国产一区| 亚洲免费视频播放| 国产呦精品一区二区三区网站| 久久一级免费视频| 欧美日韩美少妇| 在线中文资源天堂| 国产在线观看一区二区三区| 成人看的羞羞网站| 亚洲天堂国产视频| 成人免费一区二区三区视频 | 精品区一区二区| 91中文在线| 爱情岛论坛亚洲入口| 韩日成人av| 特级西西人体4444xxxx| 欧美网站在线观看| 精品久久久久一区二区三区 | 欧美成人性生活| 欧美大片91| 国产真人做爰毛片视频直播| 成年人国产精品| 啦啦啦免费高清视频在线观看| 亚洲精品中文字幕女同| 久久夜夜操妹子| 正在播放国产精品| 黑人巨大精品欧美一区| 青青草手机视频在线观看| 欧美精品一区二区三区在线| 美女av在线免费看| 日韩福利一区二区三区| 精品一区二区三区免费播放| 极品盗摄国产盗摄合集| 亚洲成人网久久久| 中文av在线全新| 亚洲精品视频一区二区三区| 国产资源在线一区| 国产成人无码精品亚洲| 国产亚洲一级高清| 久久三级毛片| 无码人妻少妇伦在线电影| 久久久不卡网国产精品一区| 97精品人妻一区二区三区在线| 色中色综合影院手机版在线观看| 欧美日韩导航| 污版视频在线观看| 亚洲美女区一区| 色鬼7777久久| 91精品视频在线免费观看| 亚洲美女少妇无套啪啪呻吟| 手机毛片在线观看| 精品久久久久久久久久久久久久久| 无遮挡爽大片在线观看视频| 一本色道久久99精品综合| 成人精品免费看| 欧美性受xxx黑人xyx性爽| 色综合久久88| 欧美美女一区| av天堂一区二区| 欧美视频自拍偷拍| rebdb初裸写真在线观看| 一区二区三区偷拍| 91丨九色porny丨蝌蚪| 97人妻一区二区精品免费视频| 91精品国产高清久久久久久| 婷婷精品进入| 精品人妻无码一区| 日韩av综合中文字幕|