亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 技術開發 > 正文

敏捷開發方法簡介

2023-06-17 18:00:48
字體:
來源:轉載
供稿:網友

從廣義上來給敏捷開發下定義,敏捷開發(agile development)是一種以人為核心、迭代、循序漸進的開發方法。在敏捷開發中,軟件項目的構建被切分成多個子項目,各個子項目的成果都經過測試,具備集成和可運行的特征。簡言之,就是把一個大項目分為多個相互聯系,但也可獨立運行的小項目,并分別完成,在此過程中軟件一直處于可使用狀態。

下圖這兩個圓圈表示不同的視角上的敏捷實踐,包括開發者視角和項目管理的視角。接下來從里向外進行介紹。

(1)Test-Driven Development,測試驅動開發,它是敏捷開發的最重要的部分。在ThoughtWorks,我們實現任何一個功能都是從測試開始,首先對業務需求進行分析,分解為一個一個的Story,記錄在Story Card上。然后兩個人同時坐在電腦前面,一個人依照Story,從業務需求的角度來編寫測試代碼,另一個人看著他并且進行思考,如果有不同的意見就會提出來進行討論,直到達成共識,這樣寫出來的測試代碼就真實反映了業務功能需求。接著由另一個人控制鍵盤,編寫該測試代碼的實現。如果沒有測試代碼,就不能編寫功能的實現代碼。先寫測試代碼,能夠讓開發人員明確目標,就是讓測試通過。

(2)Continuous Integration,持續集成。在以往的軟件開發過程中,集成是一件很痛苦的事情,通常很長時間才會做一次集成,這樣的話,會引發很多問題,比如build未通過或者單元測試失敗。敏捷開發中提倡持續集成,一天之內集成十幾次甚至幾十次,如此頻繁的集成能盡量減少沖突,由于集成很頻繁,每一次集成的改變也很少,即使集成失敗也容易定位錯誤。一次集成要做哪些事情呢?它至少包括:獲得所有源代碼、編譯源代碼、運行所有測試,包括單元測試、功能測試等;確認編譯和測試是否通過,最后發送報告。當然也會做一些其它的任務,比如說代碼分析、測試覆蓋率分析等等。 在我們公司里,開發人員的桌上有一個火山燈用來標志集成的狀態,如果是黃燈,表示正在集成;如果是綠燈,表示上一次集成通過,開發人員在這時候獲得的代碼是可用而可靠的;如果顯示為紅燈,就要小心了,上一次集成未通過,需要盡快定位失敗原因從而讓燈變綠。

(3)Refactoring,重構。相信大家對它都很熟悉了,有很多很多的書用來介紹重構,最著名的是Martin的《重構》,Joshua的《從重構到模式》等。重構是在不改變系統外部行為下,對內部結構進行整理優化,使得代碼盡量簡單、優美、可擴展。在以往開發中,通常是在有需求過來,現在的系統架構不容易實現,從而對原有系統進行重構;或者在開發過程中有剩余時間了,對現在代碼進行重構整理。但是在敏捷開發中,重構貫穿于整個開發流程,每一次開發者check in代碼之前,都要對所寫代碼進行重構,讓代碼達到clean code that works。值得注意的是,在重構時,每一次改變要盡可能小,用單元測試來保證重構是否引起沖突,并且不只是對實現代碼進行重構,如果測試代碼中有重復,也要對它進行重構。

(4)Pair-Program命,結對編程。在敏捷開發中,做任何事情都是Pair的,包括分析、寫測試、寫實現代碼或者重構。Pair做事有很多好處,兩個人在一起探討很容易產生思想的火花,也不容易走上偏路。在我們公司,還有很多事都是Pair來做,比如Pair學習,Pair翻譯,Pair做PPT,關于這個話題,錢錢同學有一篇很有名的文章對它進行介紹,名為Pair Program命 (結對編程)。

(5)Stand up,站立會議。每天早上,項目組的所有成員都會站立進行一次會議,由于是站立的,所以時間不會很長,一般來說是15-20分鐘。會議的內容并不是需求分析、任務分配等,而是每個人都回答三個問題:1. 你昨天做了什么?2. 你今天要做什么? 3. 你遇到了哪些困難?站立會議讓團隊進行交流,彼此相互熟悉工作內容,如果有人曾經遇到過和你類似的問題,那么在站立會議后,他就會和你進行討論。

(6)Frequent Releases,小版本發布。在敏捷開發中,不會出現這種情況,拿到需求以后就閉門造車,直到最后才將產品交付給客戶,而是盡量多的產品發布,一般以周、月為單位。這樣,客戶每隔一段時間就會拿到發布的產品進行試用,而我們可以從客戶那得到更多的反饋來改進產品。正因為發布頻繁,每一個版本新增的功能簡單,不需要復雜的設計,這樣文檔和設計就在很大程度上簡化了。又因為簡單設計,沒有復雜的架構,所以客戶有新的需求或者需求進行變動,也能很快的適應。

(7)Minimal Documentation,較少的文檔。其實敏捷開發中并不是沒有文檔,而是有大量的文檔,即測試。這些測試代碼真實的反應了客戶的需求以及系統API的用法,如果有新人加入團隊,最快的熟悉項目的方法就是給他看測試代碼,而比一邊看著文檔一邊進行debug要高效。如果用書面文檔或者注釋,某天代碼變化了,需要對這些文檔進行更新。一旦忘記更新文檔,就會出現代碼和文檔不匹配的情況,這更加會讓人迷惑。而在敏捷中并不會出現,因為只有測試變化了,代碼才會變化,測試是真實反應代碼的。 這時有人會問:代碼不寫注釋行嗎?一般來說好的代碼不是需要大量的注釋嗎?其實簡單可讀的代碼才是好的代碼,既然簡單可讀了,別人一看就能夠看懂,這時候根本不需要對代碼進行任何注釋。若你覺得這段代碼不加注釋的話別人可能看不懂,就表示設計還不夠簡單,需要對它進行重構。

(8)Collaborative Focus,以合作為中心,表現為代碼共享。在敏捷開發中,代碼是歸團隊所有而不是哪些模塊的代碼屬于哪些人,每個人都有權利獲得系統任何一部分的代碼然后修改它,如果有人看到某些代碼不爽的話,那他能夠對這部分代碼重構而不需要征求代碼作者的同意,很可能也不知道是誰寫的這部分代碼。這樣每個人都能熟悉系統的代碼,即使團隊的人員變動,也沒有風險。

(9)Customer Engagement ,現場客戶。敏捷開發中,客戶是與開發團隊一起工作的,團隊到客戶現場進行開發或者邀請客戶到團隊公司里來開發。如果開發過程中有什么問題或者產品經過一個迭代后,能夠以最快速度得到客戶的反饋。

(10)Automated Testing ,自動化測試。為了減小人力或者重復勞動,所有的測試包括單元測試、功能測試或集成測試等都是自動化的,這對QA人員提出了更高的要求。他們要熟悉開發語言、自動化測試工具,能夠編寫自動化測試腳本或者用工具錄制。我們公司在自動化測試上做了大量的工作,包括Selenium開源項目。

(11)Adaptive Planning,可調整計劃。敏捷開發中計劃是可調整的,并不是像以往的開發過程中,需求分析->概要設計->詳細設計->開發->測試->交付,每一個階段都是有計劃的進行,一個階段結束便開始下一個階段。而敏捷開發中只有一次一次的迭代,小版本的發布,根據客戶反饋隨時作出相應的調整和變化。

敏捷開發過程與傳統的開發過程有很大不同,在這過程中,團隊是有激情有活力的,能夠適應更大的變化,做出更高質量的軟件。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人h片在线播放免费网站| 91精品国产精品| 日韩av色在线| 中文字幕自拍vr一区二区三区| 亚洲国产精品嫩草影院久久| 亚洲白拍色综合图区| 欧美男插女视频| 国产亚洲精品一区二区| 亚洲欧美国内爽妇网| 精品女厕一区二区三区| 97精品视频在线播放| 欧美一级成年大片在线观看| 日本成熟性欧美| 欧美精品激情blacked18| 亚洲国产精品久久久久秋霞不卡| 国产精品免费一区二区三区都可以| 亚洲影院色在线观看免费| 国产精品久久久久久网站| 日韩中文字幕网站| 亚洲欧洲激情在线| 成人黄色中文字幕| 久久中文精品视频| 欧美性在线视频| 亚洲天堂av高清| 日韩中文第一页| 欧美丝袜一区二区| 日韩视频欧美视频| 亚洲人成电影网站色…| 尤物99国产成人精品视频| 久久久久久高潮国产精品视| 97在线视频免费观看| 麻豆成人在线看| 国产精品视频1区| 亚洲电影中文字幕| 国产精品视频xxxx| 日韩av在线不卡| 亚洲天堂日韩电影| 欧美精品video| 92版电视剧仙鹤神针在线观看| 国产精品黄色av| 国产精品va在线播放我和闺蜜| 久久视频中文字幕| 亚洲精品在线视频| 国产一区二区三区免费视频| 精品日韩美女的视频高清| 狠狠做深爱婷婷久久综合一区| 国产视频久久久| 欧美乱大交xxxxx| 国产成人亚洲综合91| 欧美日韩国产一中文字不卡| 国产精品久久久久久久久久久久久久| 国产综合福利在线| 夜夜嗨av色综合久久久综合网| 国产精品视频免费在线| 国产美女扒开尿口久久久| 91中文字幕在线观看| 国产精品第一第二| 亚洲精品网址在线观看| 中文字幕日韩专区| 奇门遁甲1982国语版免费观看高清| 国产精品永久免费在线| 国产精品久久久久久久久影视| 精品国内产的精品视频在线观看| 欧美日韩一区二区在线| 欧美日韩人人澡狠狠躁视频| 亚洲老头同性xxxxx| 国产色婷婷国产综合在线理论片a| 亚洲精品日韩激情在线电影| 欧美大片va欧美在线播放| 亚洲精品电影网站| 欧美www视频在线观看| 国产精品久久久久999| 97av在线播放| 日韩欧美成人精品| 永久555www成人免费| 中文字幕久热精品视频在线| 日本高清视频一区| 爱福利视频一区| 亚洲日韩欧美视频| 国产xxx69麻豆国语对白| 欧美性xxxx18| 国产精品久久久久久影视| 91免费国产网站| 91高清在线免费观看| 91色p视频在线| 亚洲美女在线视频| 欧美亚洲免费电影| 国产视频亚洲视频| 欧美亚洲成人免费| 91久久久在线| 九九九热精品免费视频观看网站| 欧美视频中文在线看| 国产在线日韩在线| 欧美黑人性猛交| 亚洲区在线播放| 中文字幕欧美专区| 精品亚洲一区二区三区在线播放| 国产噜噜噜噜噜久久久久久久久| 疯狂蹂躏欧美一区二区精品| 亚洲国产高清高潮精品美女| 国产精品免费久久久久久| 国产精品一区二区久久| 欧美成人黄色小视频| 欧美亚洲国产视频| 久久久久久久999| 日韩电影中文字幕| 久久久久久久av| 色在人av网站天堂精品| 久久精品国产久精国产思思| 一本色道久久综合狠狠躁篇怎么玩| 97热在线精品视频在线观看| 亚洲欧洲午夜一线一品| 亚洲成人在线视频播放| 午夜精品美女自拍福到在线| 国产精品自产拍高潮在线观看| 成人免费淫片aa视频免费| 91精品久久久久久久久久| 国产精品美女主播在线观看纯欲| 98午夜经典影视| 久久99国产综合精品女同| 福利视频导航一区| 欧美肥婆姓交大片| 国产精品白丝jk喷水视频一区| 97在线视频免费| 一区二区三区精品99久久| 欧美大尺度在线观看| 92国产精品视频| 亚洲第一级黄色片| 国产精品视频免费在线观看| 久久精品成人欧美大片古装| 在线观看精品国产视频| 97视频在线观看视频免费视频| 亚洲第一区第二区| 国产精品一区二区久久国产| 欧美大片免费观看在线观看网站推荐| 性色av一区二区三区在线观看| 久久久久久999| 国产欧美va欧美va香蕉在线| 热久久免费视频精品| 欧美激情视频在线观看| 超碰97人人做人人爱少妇| 亚洲电影免费观看高清完整版在线观看| 亚洲美女福利视频网站| 欧美午夜精品在线| 国产丝袜精品视频| 国产精品综合不卡av| 色青青草原桃花久久综合| 欧美激情一区二区三区成人| 国产网站欧美日韩免费精品在线观看| 久久综合五月天| 亚洲精品美女网站| 日韩精品免费在线视频| 亚洲最大福利视频| 91久热免费在线视频| 国产精品视频久久| 欧美日在线观看| 国产在线98福利播放视频| 欧美综合在线观看| 国产剧情日韩欧美| 国产亚洲精品高潮| 日韩欧美国产黄色| 亚洲精品av在线| 亚洲国产成人在线播放| 久久久精品一区二区三区|