九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
汽車行業(yè)軟件開發(fā)可否借鑒軟件行業(yè)的開發(fā)模式?

汽車產業(yè)經歷百年發(fā)展,已經走過了“機械定義汽車”、“電氣定義汽車”、“電子定義汽車”現(xiàn)在到了“軟件定義汽車”的發(fā)展階段。豐田汽車成立軟件子公司W(wǎng)oven,大眾將成為一家軟件驅動的公司,特斯拉軟件人才密度是傳統(tǒng)主機廠的4到10倍,上汽零束軟件分公司成立,長城設立數(shù)字化中心等,這些行業(yè)的重大調整和布局表明“軟件定義汽車”已成為行業(yè)的戰(zhàn)略共識,軟件將是未來汽車智能化的基礎和競爭力的核心。軟件定義的汽車將通過OTA的方式升級汽車軟件,可以持續(xù)為用戶提供新功能,持續(xù)改善駕乘體驗。為了及時響應用戶對新功能以及功能修復的需求,汽車行業(yè)需要為此建立合適的軟件開發(fā)模式。IT軟件行業(yè)已經相對成熟,因此,本文介紹軟件行業(yè)的三種軟件開發(fā)模式(瀑布型開發(fā)、敏捷開發(fā)和DevOps),希望通過對軟件行業(yè)的軟件開發(fā)模式和發(fā)展規(guī)律的介紹,能為汽車行業(yè)建立軟件開發(fā)模式提供參考。

1
瀑布型開發(fā)模式

瀑布型開發(fā),也就是傳統(tǒng)開發(fā)模式。瀑布型模型式是最典型的預見性的方法,嚴格遵循預先計劃的需求、分析、設計、編碼、測試的步驟順序進行。例如需求規(guī)格,設計文檔,測試計劃和代碼審閱等等。

瀑布型開發(fā)模式具有以下不足:

1).需求分析占比很重,對客戶想要的產品進行詳細分析,明確指定產品結果。但是由于需求人員的考慮的方面可能有疏漏,客戶的需求的變化,行情的變化等等因素存在,需求文檔會不斷變更,開發(fā)人員產生抵觸心理。

2). 開發(fā)人員按照需求文檔嚴格開發(fā),限制思維,參與不到需求的設計。

3). 需求與客戶溝通存在障礙,可能導致最終產物不是客戶想要的。重新開始項目,很費事費力。

所謂的瀑布,很形象的表達了這一開發(fā)模式,就是留下去了,就回不去了。當然程序開發(fā)的時候可以重新開始,但是就相當于之前作廢,重立項目。但是市場在變,科技在變,一切都在不斷改變,擁抱變化才能更快的適應環(huán)境的變化。因此瀑布型開發(fā)模式逐漸被敏捷開發(fā)所取代。

2
敏捷開發(fā)模式

敏捷開發(fā)(Agile Development)是一種以人為核心、迭代、循序漸進的開發(fā)方法。它不是一門技術,它是一種開發(fā)方法,也就是一種軟件開發(fā)的流程,它會指導我們用規(guī)定的環(huán)節(jié)去一步一步完成項目的開發(fā);而這種開發(fā)方式的主要驅動核心是人;它采用的是迭代式開發(fā)。

敏捷開發(fā)只寫有必要的文檔,或盡量少寫文檔,敏捷開發(fā)注重的是人與人之間,面對面的交流,所以它強調以人為核心。而瀑布開發(fā)模型,它是以文檔為驅動的。因為在瀑布型的整個開發(fā)過程中,要寫大量的文檔,把需求文檔寫出來后,開發(fā)人員都是根據(jù)文檔進行開發(fā)的,一切以文檔為依據(jù)。

迭代是指把一個復雜且開發(fā)周期很長的開發(fā)任務,分解為很多小周期可完成的任務,這樣的一個周期就是一次迭代的過程;同時每一次迭代都可以生產或開發(fā)出一個可以交付的軟件產品。

Scrum是一種流行的敏捷開發(fā)流程構架,也可以說是一種套路。Scrum框架中包含三個角色,三個工件,四個會議,聽起來很復雜,其目的是為了有效地完成每一次迭代周期的工作。

Scrum工作流程如下圖所示。在學習Scrum工作流程之前,我們先要了解幾個基本術語:

Sprint:沖刺周期,通俗的講就是實現(xiàn)一個“小目標”的周期。一般需要 2-6 周時間。

User Story:用戶的外在業(yè)務需求。拿銀行系統(tǒng)來舉例的話,一個 Story 可以是用戶的存款行為,或者是查詢余額等等。也就是所謂的小目標本身。

Task:由 User Story 拆分成的具體開發(fā)任務。

Backlog:需求列表,可以看成是小目標的清單。分為 Sprint Backlog 和 Product Backlog。

Daily meeting:每天的站會,用于監(jiān)控項目進度。有些公司直接稱其為 Scrum。

Sprint Review meeting: 沖刺評審會議,讓團隊成員們演示成果。

Sprint burn down:沖刺燃盡圖,說白了就是記錄當前周期的需求完成情況。

Release:開發(fā)周期完成,項目發(fā)布新的可用版本。

如上圖所示,在項目啟動之前,會由團隊的產品負責人(Product owner)按照需求優(yōu)先級來明確出一份 Product Backlog,為項目做出整體排期。

隨后在每一個小的迭代周期里,團隊會根據(jù)計劃(Sprint Plan Meeting)確定本周期的 Sprint Backlog,再細化成一個個 Task,分配給團隊成員,進行具體開發(fā)工作。每一天,團隊成員都會進行 Daily meeting,根據(jù)情況更新自己的 Task 狀態(tài),整個團隊更新 Sprint burn down chart。

當這一周期的 Sprint backlog 全部完成,團隊會進行 Spring review meeting,也就是評審會議。一切順利的話,會發(fā)布出這一版本的 Release,并且進行 Sprint 回顧會議(Sprint Retrospective Meeting),也稱為總結會議,以輪流發(fā)言方式進行,每個人都要發(fā)言,總結并討論改進的地方,放入下一輪Sprint的產品需求中。

從上述工作流程可以看出,敏捷開發(fā)并沒有將運維也納入進來,有可能需求,開發(fā),測試很快做出了很多版本,但是沒有部署,或者部署很慢。也拖延產品的進程。這就需要開發(fā),測試,運維的相互溝通。為了加快這些環(huán)節(jié)的溝通問題,出現(xiàn)了DevOps開發(fā)理念。

3
DevOps開發(fā)模式

DevOps是Development與Operations的縮寫。DevOps就是要打破開發(fā)與運維之間的隔閡,提高了各個團隊的協(xié)作,通過自動化流程來使得軟件構建、測試、發(fā)布更加快捷、頻繁和可靠。

DevOps是為了填補開發(fā)端和運維端之間的信息鴻溝,改善團隊之間的協(xié)作關系。不過需要澄清的一點是,從開發(fā)到運維,中間還有測試環(huán)節(jié)。DevOps其實包含了三個部分:開發(fā)、測試和運維。

DevOps希望做到的是軟件產品交付過程中IT工具鏈的打通,使得各個團隊減少時間損耗,更加高效地協(xié)同工作。專家們總結出了下面這個DevOps能力圖,良好的閉環(huán)可以大大增加整體的產出。

下圖是以Jira為源的DevOps工具鏈。整個DevOps流程包括:需求管理、持續(xù)集成&測試、配置&部署、監(jiān)控&運營,各個環(huán)節(jié)的任務均有相應的工具來完成。

下面給出了一個通用的邏輯流程,在這個流程中所有內容都將自動進行無縫交付。但是此流程也會因不同組織的不同需求而導致一些差異。

1). 開發(fā)人員開發(fā)代碼,源代碼由Git等版本控制系統(tǒng)工具管理。

2). 開發(fā)人員將此代碼提交到Git,并且對代碼所做的任何更改都將提交到此代碼倉庫。

3). Jenkins通過Git插件從倉庫中提取此代碼,并使用Ant或Mave 等工具構建它。

4). 配置管理工具(如Puppet)部署和提供測試環(huán)境,然后Jenkins在使用Selenium等工具進行測試的測試環(huán)境上發(fā)布此代碼。

5). 代碼測試結束后,Jenkins 就會將其發(fā)送到生產服務器上進行部署(甚至生產服務器也由 Puppet 等工具進行配置和維護)。

6). 部署后,Nagios 等工具會進行持續(xù)監(jiān)控。

7). Docker容器提供測試環(huán)境來測試構建功能。

DevOps和敏捷開發(fā)有以下區(qū)別:

4
總結

市場對軟件行業(yè)的開發(fā)需求,促使其軟件開發(fā)模式不斷演進,從瀑布型開發(fā)模型發(fā)展到目前流行的DevOps開發(fā)模式,其核心在于通過自動化工具提高軟件團隊的溝通效率,改善軟件功能可持續(xù)部署和交付的能力。軟件行業(yè)開發(fā)模式的演變必定會給汽車行業(yè)制定軟件開發(fā)模式帶來啟發(fā)。

參考文獻:

1.

1.一篇文全面了解DevOps:從概念、關鍵問題、興起到實現(xiàn)需求,作者:木環(huán).

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
瀑布式開發(fā)、迭代開發(fā)、敏捷開發(fā)、XP與SCRUM的區(qū)別
最流行的軟件開發(fā)模式-敏捷開發(fā)
項目管理--敏捷開發(fā)在項目中使用
Scrum敏捷開發(fā)
從敏捷開發(fā)到DevOps,殊途亦同歸
敏捷迭代已過時,現(xiàn)在大廠都在用DevOps開發(fā)模式
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服