過去,幾乎所有的軟體開發專案都採用瀑布模型。這種程式設計方法酷似工廠裝配線,要求開發人員完成乙個開發階段,之後才能進入到下乙個階段。這種方法高度結構化,但是專案需求有變化時,它就不適用了。
近些年來,開發人員開始青睞更迭代性的流程,因而更容易兼顧專案範圍和需求出現的變化。敏捷軟體開發以及似乎無窮無盡的變種方法已越來越常見。現在它們成了主流的程式設計方法。
我們在本文中介紹了十種最流行的軟體開發方法的功能特性,包括敏捷、scrum、精益、極限程式設計,甚至還有瀑布方法。
2023年,17位軟體開發人員簽署了敏捷宣言(agile manifesto),因此載入史冊。自那以後,敏捷軟體開發迅速流行起來;實際上,在2023年弗雷斯特調研公司的乙份報告中,54%的受訪企業表示,其內部一半以上的開發團隊在使用敏捷方法。敏捷理念基於12個核心原則,這些原則注重簡短迭代、持續交付、簡潔性、回顧以及終端使用者和開發人員之間的協作。
敏捷軟體開發有多種版本,scrum是最受歡迎的版本之一,接受《2023年敏捷現狀》報告調查的受訪者中70%表示,他們採用scrum或scrum混合方法。這是一種協作框架,最先由傑夫·薩瑟蘭(jeff sutherland)在2023年發明。它把複雜專案分成了多個簡短的迭代開發周期(sprint),每個迭代開發周期為期兩到四周,它注重勇氣、專注、承諾、尊重和開放性這五個價值觀。
雖然精益開發通常與敏捷開發聯絡起來,但精益開發的原則實際上源自豐田公司的精益製造流程。這套開發方法依賴七個關鍵的原則:消除浪費、促進反饋、盡量延遲決策、快速交付、融入完整性、授權團隊和著眼整體。2023年,精益首次引起了軟體開發界的注意,當時瑪麗·波彭代克(mary poppendieck)和湯姆·波彭代克(tom poppendieck)出版了《精益軟體開發:敏捷工具包》一書。
看板是敏捷軟體開發的另乙個變種,靈感源自豐田公司。它為開發人員提供了一種直觀的方法,可以檢視什麼工作需要完成,讓他們得以在有精力時可以「拉取」工作,而不是「推送」工作,以完成某些任務。看板依賴三個核心原則:視覺化今天處理的工作,限制在製品,並改進流動。
這些年來,幾種不同的軟體開發方法使用了rad這個名稱。最知名的也許當數詹姆斯·馬丁(james martin)的方法,這套方法於上世紀80年代問世於ibm。它被認為是一種敏捷方法,因為它注重適應不斷變化的需求這種能力,不再強調事先規劃。
測試驅動型開發與敏捷軟體開發和極限程式設計都有關。這種方法由肯特·貝克(kent beck)及其他人首創,需要開發人員先為任何新的功能特性編寫乙個測試,之後開始程式設計工作。它鼓勵開發人員極量少編寫**。
這種敏捷軟體開發高度依賴結對程式設計。與其他敏捷方法一樣,它注重快速迭代和頻繁的需求變化。它由肯特·貝克開發,此人是敏捷宣言的簽署者之一,曾在2023年出版了《極限程式設計詳述:擁抱變化》一書。
這種軟體開發方法以發明它的公司rational software命名,2023年ibm收購了這家公司。一些程式設計方法非常僵硬,統一軟體開發過程卻旨在可以輕鬆適應獨特的情形。它是一種迭代框架,高度依賴視覺化模型。
上世紀80年代中期,巴里·貝姆(barry boehm)最先描述了螺旋模型,這是一種風險驅動型模型,結合了瀑布開發、增量開發、原型開發及其他軟體開發方法的元素。其核心是開發人員應該根據風險大小來做決定,他們應該盡量少編寫**,以便盡量降低風險。
在開發的過程中,你可以採用scrum方式也可以採用xp方式;
scrum和xp的區別是:
scrum偏重於過程,xp則偏重於實踐,但是實際中,兩者是結合一起應用的。
敏捷開發不忍直視的十個原則:
我們的最高目標是,通過盡早和持續地交付有價值的軟體來滿足客戶。
歡迎對需求提出變更——即使是在專案開發後期。要善於利用需求變更,幫助客戶獲得競爭優勢。
要不斷交付可用的軟體,週期從幾周到幾個月不等,且越短越好
專案過程中,業務人員與開發人員必須在一起工作。
要善於激勵專案人員,給他們以所需要的環境和支援,並相信他們能夠完成任務。
無論是團隊內還是團隊間,最有效的溝通方法是面對面的交談。可用的軟體是衡量進度的主要指標。
敏捷過程提倡可持續的開發。專案方、開發人員和使用者應該能夠保持恆久穩定的進展速度。
對技術的精益求精以及對設計的不斷完善將提公升敏捷性。
要做到簡潔,即盡最大可能減少不必要的工作。這是一門藝術。
最佳的架構、需求和設計出自於自組織的團隊。
團隊要定期反省如何能夠做到更有效,並相應地調整團隊的行為。
秦崇文:**編寫
彭勝松:**編寫
儲夢秋:程式除錯
谷濤:對接使用者,調整需求
鄧志豪:撰寫專案文件
第三次作業
2 12有600 mb 兆位元組 的資料,需要從南京傳送到北京。一種方法是將資料寫到磁碟上,然後託人乘火車這 些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率為2.4kb s 傳送此資料。試比較這兩種方法的優劣。若資訊傳送速率為33.6kb s,其結果又如何?解 當傳送速率為2.4k...
第三次作業
1 有600mb 兆位元組 的資料,需要從南京傳送到北京 一種方法是將資料寫到磁碟上,然後託人乘火車將這些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率為2.4kb s 傳送此資料,試比較這兩種方法的優劣。若資訊傳送的速率為33.6kb s,其結果又如何?解 假定連續傳送且不出錯。若...
第三次作業
p67 2 12 有600mb的資料,需要從南京傳送到北京。一種方法是將資料寫到磁碟上,然後託人乘火車將這些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率是2.4kbps 傳送此資料。試比較這兩種方法的優劣。若資訊傳送速率為33.6kbps,其結果又如何?解 1 t 600 1024...