1. 什么是軟件項目開發過程模型
項目開發過程模型就是對于項目開發過程的概念建模,從而能夠實現在理論上對于軟件項目開發過程進行量化分析。
軟件開發過程模型以 Rational Unified PRocess (簡稱 RUP )為代表,如下圖
圖 1 、 Rational Unified Process
但是也并不是只有 RUP 一種,比如 Agile Unified Process ( 簡稱 AUP)
圖 2 、 Agile Unified Process
總體來說, RUP 是最細化的項目開發過程模型,不管你采用什么樣的開發方式,整個開發過程的每一個過程你都是無法逃掉的(我們后面會討論這個),因為這代表了整個軟件開發實踐的客觀規律,只是在定義上有所不同,側重點上有所不同,對于迭代的看法有所不同罷了。
如同它的概念所示,軟件項目開發過程就是對軟件項目開發過程的概念建模,從而能夠實現在理論上對于軟件項目開發過程進行量化分析。
那么,這種量化的分析到底有能有什么好處呢?
我們在引子里說過:任何的軟件項目都有它存在的目的,都是為了解決一些現實中的問題。可以把這個成為這個項目的目的,可以把需要解決的問題的需求稱作這個項目的需求。
而對于商用(尤其是企業級應用)軟件項目開發而言,最基本也是最重要的目的就是以最小的成本,在項目交付的期限內,提供穩定的、可靠的軟件,用以解決用戶提交的所需要解決的問題,并且如有可能,必須為現實生活中問題的變更引起的用戶需要解決的問題的變更從而要求的軟件功能的變更做好預備。
l 為了能夠把客戶的問題描述清楚,必須進行業務建模和需求收集;
l 為了能夠把收集完的問題需求轉變成為可以信息化解決的問題并且解決,必須對其進行軟件化設計并進行實現;
l 為了保證軟件產品的質量,必須進行足夠多的測試(看看硬件廠商是怎么測試的?);
l 為了能夠讓軟件產品正常運轉,必須進行軟件的部署;
l 而在軟件開發的過程當中,對于項目的治理、代碼的治理、還有資源的治理,在哪一個軟件項目開發中能缺少?
綜上,對這些過程的建模和定量的分析,并且確定在整個開發過程中各個階段所占的份額和所擁有的重要性,對于保證項目(尤其是大項目)的平穩開發和增強項目開發治理有著重要的作用。
并且,確定了項目開發過程模型,對于確定項目治理方式和提供技術、工具支持有著非常重要的作用。
既然我們已經有了一個明確的定義,并且能夠把它分解成為幾個部分(當然,我們將會看到,這些部分本身也是十分復雜的)。那么,看上去下一步,我們的任務就是一步一步的分析每一個部分。
但是,且慢,這些部分有些是沒法討論的(比如業務建模,它與用戶的域專家有關,或者跟一些國家、國際標準有關,跟計算機軟件開發沒太多的關系——除非是 IDE 之類的),有些是仁者見仁、智者見智的部分(比如設計和實現),有一些可以不必花太多口舌去討論(比如軟件項目的部署和資源治理),這一點 AUP 給我們開了個好頭,我們現在需要討論的就是:
l 需求分析
l 測試
l 配置治理
l 項目治理
新聞熱點
疑難解答