2013-12-13 34 views
3

我在閱讀關於軟件開發模型和生命週期,在那裏我瞭解了瀑布模型和統一過程。然而,這兩個過程都涉及需求收集,設計階段,開發測試和部署(統一流程中的初始,精化,構建和過渡階段)。(理性)統一過程vs瀑布模型

任何人都可以幫我解決兩者之間的區別嗎?

+0

因此,我們可以得出結論:UP與快速應用程序開發模型或分階段開發模型類似嗎? – coolDude

+1

我已在下面回答,但請注意,由於問題的潛在主觀性質,這不是針對SO的問題的良好格式。 – StuartLC

+0

我投票結束這個問題作爲題外話,因爲它不是關於編程。 – EJoshuaS

回答

9

你還沒有指定'哪個'統一過程或'哪個'瀑布過程 - 這兩個過程有很多變種,所以一些比較在泛化中將會丟失。

例如Rational Unified process與WF的不同之處在於學科(分析,設計,編碼,測試等)是迭代地併發地完成的,而在waterfall processes中,學科通常是按順序完成的(例如編碼僅在一旦需求已經完成並且設計已被接受)。

在RUP中,不要將階段(初始,細化,構造,轉換)與單個學科或單個可交付項混淆 - RUP階段全部爲multi disciplinary - 例如雖然初始是,主要是關於要求和分析;還鼓勵一些設計和原型編碼以降低風險並改進未來階段的估算,甚至在施工階段,可能還需要進一步分析。

請注意RUP周圍的「階段」一詞 - RUP使用術語「生成」來表示另一個完整的開發週期,例如,爲一個項目的「版本2」。

另一個主要區別是,RUP推視覺模型(尤其是UML)作爲僞像的概念,而瀑布僞影通常非常文件重(例如,ESA/IEEE processes

另一個區別是在接近商業接合。瀑布通常推動了「合同性」軟件需求或軟件規範文件的概念,該文件定義了可交付物(功能上和非功能上)以及項目預算或固定價格交易的基礎。相反,RUP促進了每個階段的預算,例如,隨着上一階段的交付成果之一已經交付,下一階段的努力/成本將被瞭解/重複/改進。

在許多軟件開發操作中,Agile processes已經取代了Waterfall和RUP,儘管瀑布和RUP的許多工件和學習仍然存在。