迭代,敏捷開發和UP

2021-05-25 08:15:35 字數 1380 閱讀 4632

什麼是軟體開發中的迭代開發?

就是開發被組織成一系列固定的短期小專案,稱為迭代,每次迭代都產生,經過測試、整合並可執行的區域性系統。系統在迭代中持續擴充套件和精化,並以迴圈反饋和調整為核心驅動力,最終成為乙個程式設計系統產品。

迭代開發,又被稱為增量式開發,進化式開發,或者iid(iterative and incremental development)

迭代開發的歷史可以追溯到20世紀50年代末的美國mercury空間專案,在20世紀80年代得到發展,frederick brooks在他的《人月神話》中闡述了瀑布方法的缺陷,以及使用iid的必要性,20世紀90年代iid已經被公認為瀑布方法的後繼者。

那什麼是敏捷開發?

敏捷開發是迭代開發的一種,應用時間定量的迭代和進化式開發,使用自適應計畫,提倡增量交付幷包含其他提倡敏捷性的價值和實踐。

2023年,敏捷聯盟成立,他們發表了敏捷宣言。

敏捷的特點是,增量開發,快速原型,適用於中小型專案。

敏捷有很多門派,xp、scrum、up,dsdm等等……他們都是在20世紀90年代發展起來的。

up是unified process的縮寫(統一過程),他是十分靈活和開放的,只要是其他敏捷方法中有用的實踐,都鼓勵引進,如:xp的測試驅動,重構,持續整合;scrum的公共專案室,日常會議等。

up分為四個階段:

1,初始,inception:大體上的構思,業務案例,範圍和模糊評估

2,細化,elaboration:高風險核心架構的解決,確定大多數需求,更為實際的評估

3,構造,construction:實現風險較低的元素

4,移交,transition:進行beta測試和部署

up的過程:

1,在第一次迭代前,召開需求工作會議,業務和開發人員出席,進行高階需求分析,例如確定用例名稱,關鍵部分功能需求。

選擇具有架構意義的,高風險的10%用例和特性,進行詳細分析。

2,第一次迭代前,召開迭代計畫會議

3,在3-4周完成第一次迭代

4,第一次迭代快結束時,召開第二次需求工作會議,對上一次會議的所有材料進行複查和精化,然後又開始對另外的10%-15%用例進行深入分析。並計畫下一次迭代。

5,四到五次迭代以後可能已經詳細記錄了80-90%的需求,但只實現了系統的10%,這是細化階段

6,此後需求已經基本穩定,一般不再召開需求會議,接下來進入構建階段。

具體來說:

1,初始階段包括的行為:編寫用例,補充性規格說明,詞彙表,設想,業務規則等其他非功能需求。

2,細化階段的每次迭代:領域模型,ssd(系統順序圖),操作契約,確定邏輯架構(巨集觀組織結構),uml包圖,畫互動圖(順序圖,通訊圖),畫類圖,設計可見性,對映為**,應用grasp模式和gof模式,用uml工具逆向工程,從**生成圖形,用4+1檢視模型文件化架構。

UP還是敏捷方法?

目前up或rup軟體開發過程已經被很多企業所採用,敏捷方法也逐漸被很多公司使用,究竟是採用up rup 還是敏捷方法呢?哪個更有效呢?最有效的方法其實是根據企業自身的實際情況,來綜合採用這兩種方法,選擇最適合你的最佳實踐。所謂最佳實踐,是指人們在多年的實踐過程中總結出來的最佳的開發軟體的一些方法。r...

敏捷質疑 迭代開發

迭代在於我們明確的承認資訊和知識的不完備性,不可完備性.而專案的成功,需要某種程度的完備性.這種認知的侷限與成功的條件之間的矛盾,促成了人們解決這類問題的通用方法 漸進的試錯法 試錯法參考一 試錯法參考二 是解決問題 獲得知識常用的方法,即根據已有經驗,採取系統或隨機的方式,去嘗試各種可能的答案。當...

敏捷質疑 迭代開發

迭代在於我們明確的承認資訊和知識的不完備性,不可完備性.而專案的成功,需要某種程度的完備性.這種認知的侷限與成功的條件之間的矛盾,促成了人們解決這類問題的通用方法 漸進的試錯法 試錯法參考一 試錯法參考二 是解決問題 獲得知識常用的方法,即根據已有經驗,採取系統或隨機的方式,去嘗試各種可能的答案。當...