什麼是敏捷開發?它有什麼特點

2021-10-06 04:16:34 字數 2392 閱讀 5713

隨著軟體開發技術的不斷發展,現在出現了很多種不同的開發模式,其實敏捷開發已經成為現在很多企業開發應用程式都想要選擇的開發方案。那麼什麼是敏捷開發呢?下面一起來了解一下相關的知識吧!

常用的 4 種開發模式:

1.瀑布式開發

瀑布式開發是由 ww.royce 在 1970 年提出的軟體開發模型,是一種比較老的計算機軟體開發模式, 也是典型的預見性的開發模式。在瀑布式開發中,開發嚴格遵循預先計畫的需求分析、設計、編碼、整合、測試、維護的步驟進行,步驟的成果作為衡量進度的方法,例如需求規格、設計文件、測試計畫和**審閱等。 瀑布式開發最早強調系統開發應有完整的週期,且 必須完整地經歷每個週期內的每個開發階段,井系統化地考量分析所涉及的技術、時間與資源投入等。

瀑布式開發的主要問題是它的嚴格分級導致自由度降低,專案早期即作出承諾會導致對後 期需求的變化難以調整且代價很大,這在需求不明晰並且在專案進行過程中可能有變化的情況 下基本上是不可行的。

2.迭代式開發

法代式開發也被稱為迭代增量式開發,是一種與傳統的瀑布式開發相反的軟體開發過程, 它彌補了傳統開發方式的一些弱點,有更高的成功率。在迭代式開發中,整個開發工作被組織 為一系列短小的、固定長度的小專案,每次選代都包括需求分析、設計、實現與測試。採用迭代式開發時, 工作可以在需求被完整地確定之前啟動, 並在一次選代中完成系統的一部分功能 或業務,再通過客戶的反饋來細化需求,並開始新一輪的迭代。

迭代式開發有如下特點:

每次只設計和實現產品的一部分;

一步一步地完成;

每次設計和實現乙個階段,這叫作乙個迭代。

3.螺旋式開發

螺旋式開發是由巴利 · 玻姆在 1988 年正式發表的軟體系統開發模型,它兼顧了快速原型的法代特徵及瀑布模型的系統化和嚴格監控,其最大的特點是引入了其他模型不具備的風險分析,使軟體在無法排除重大風險時有機會停止,以減少損失。 同時,在每個法 代階段構建原型是螺旋模型用來減少風險的方法。 螺旋模型更適合大型的昂貴的系統級的軟體開發, 一開始應用的規模很小,當專案被定義得更好、更穩定時逐漸展開。其核心在於不需要 在剛開始時就把所有事情都定義清楚,可以先定義最重要的功能去實現它,然後聽取客戶的意 見,再進入下乙個階段,如此不斷迴圈、重複,直到得到滿意的產品。螺旋模型在很大程度上 是一種風險驅動的方法體系,因為在每個階段及經常發生的迴圈之前,都必須先進行風險評估。

特點:制定計畫:確定軟體目標,選定實施方案,弄清楚專案開發的限制條件。

風險分析: 分析、評估所選方案,考慮如何識別和消除風險。

實施工程:實施軟體開發和驗證。

客戶評估:評價開發工作,提出修正建議,制定下一步計畫。

4.敏捷開發:

敏捷開發(agile)是一種以人為核心、迭代、循序漸進的開發方法。在敏捷開發中,軟體專案的構建被切分成多個子專案,各個子專案的成果都經過測試,具備整合和可執行的特徵。簡單地來說,敏捷開發並不追求前期完美的設計、完美編碼,而是力求在很短的週期內開發出產品的核心功能,盡早發布出可用的版本。然後在後續的生產週期內,按照新需求不斷迭代公升級,完善產品。

敏捷軟體開發特點:

首要任務是盡早地、持續地交付可評價的軟體,以使客戶滿意。

樂於接受需求變更,即使在開發後期也是如此。敏捷軟體開發能夠駕馭需求的變化,從 而為客戶贏得競爭優勢。

頻繁交付可使用的軟體,交付的間隔越短越好,可以從幾個月縮減到幾個星期。

在整個專案開發期間,業務人員和開發人員必須朝夕工作在一起。

圍繞那些有推動力的人們來構建專案,給予他們所需的環境和支援,並且相信他們能夠把工作做好。

開發團隊及在開發團隊內部進行最快速、有效的傳遞資訊的方法是面對面交談。

可使用的軟體是進度的主要衡量指標。

提倡可持續發展。出資人、開發人員及使用者應該共同維持穩定的開發速度。

為了增強敏捷能力,應持續關注技術上的傑出成果和良好的設計。

簡潔,最小化那些沒有必要投入的工作量是至關重要的。

最好的架構、需求和設計都源於自我組織的團隊。

團隊定期反思如何變得更有戰鬥力,然後相應地轉變井調整其行為。

敏捷開發模式的分類

敏捷開發的實現主要包括 scrum、xp(極限程式設計)、crystal methods、fdd(特性驅動開發)等等。其中 scrum 與 xp 最為流行。

同樣是敏捷開發,xp 極限程式設計 更側重於實踐,並力求把實踐做到極限。這一實踐可以是測試先行,也可以是結對程式設計等,關鍵要看具體的應用場景。

敏捷開發與 devops:

devops 是 development 和 operations 的合成詞,其目標是要加強開發人員、測試人員、運維人員之間的溝通協調。如何實現這一目標呢?需要我們的專案做到持續整合、持續交付、持續部署。

敏捷開發是一種快速開發應用程式的方式,以最快的途徑完成應用程式的開發,幫助企業提高應用程式的交付速度。

什麼是Spring, 它有什麼特點?

spring是乙個輕量級的容器框架。輕量 從大小與開銷兩方面而言spring都是輕量的。控制反轉 spring通過ioc促進了松耦合。控制反轉 ioc inversion of control 是一種設計思想。ioc意味著將你設計好的物件交給容器控制,而不是傳統的在你的物件內部直接控制。誰控制誰,控...

預設是什麼 什麼是預設路由?它有什麼特點?

首先我們來看看什麼是預設路由?預設路由也被稱為 預設路由 是目的網路位址及子網掩碼均為 0 的路由,即0.0.0.0 0.0.0.0 這是一條非常特殊的路由,特殊在所有的目的ip位址都能被這條路由匹配。讓我們來一起看看以下例項 gw1 gw2 gw3是企業各個分支站點的網管路由器,它們各自下聯一台乙...

什麼是敏捷開發

本博在很多地方,都有人提出自己的開發方式就是敏捷開發。但本博實際上看到的情況更多的是,以敏捷開發為藉口來避免寫各種各樣的文件,幾乎是什麼事情不想做,就用敏捷開發擋一擋。比如,需求分析沒有做好,就進入編碼階段,說辭是 我們要敏捷開發,快速響應需求的變化,既然能夠快速響應需求的變化,那麼需求做沒做好就不...