摘 要:隨著現代科學技術的不斷發(fā)展,各種軟件成為了我們工作、生活和學習之中不可或缺的工具,由于軟件工程過程與軟件的開發(fā)和維護之間有著密切的關系,所以,如今的軟件工程成為了人們關注的焦點,本文主要對軟件工程過程模型及其選擇進行了探討,從而,揭示了軟件工程過程在實際工程中的重要作用。
關鍵詞:軟件工程;過程;模型;選擇
中圖分類號:TP311.5
隨著軟件技術的不斷興起,出于各種實際的需要,各種各樣的軟件系統(tǒng)被提出來,因此,軟件工程化管理理念已經應用于了軟件開發(fā)的實踐之中,進而促進了一些軟件工程過程模型的提出,軟件工程模型是一種策略,這種策略往往是由于軟件工程師在實際的工作中,總結和設計中提煉出來的,它不僅能夠都對軟件設計提供相應的幫助而且是軟件工程過程的一種工具,在一個良好的軟件過程中,包括軟件項目的跟蹤監(jiān)控、技術審核、配置管理、質量保證與測試、風險管理等,因此,在一個實際項目中,軟件設計師根據實際要求選取的設計過程、方法及其工具被軟件工程模型,對于模型的選擇應當是根據組織定義的標準軟件過程,參考具體工程項目的特點和資源狀況裁剪來進行的。如今,很多的專業(yè)人士更加的注重軟件工程過程模型的研究,本文重點對這些模型進行了舉例分析。
1 瀑布模型
在實際的軟件開發(fā)過程中,瀑布模型是一種最為基本和最為有效的一種模型,但是,瀑布模型也存在著很多的問題,盡管如此瀑布莫興國憑借其基本和有效的優(yōu)點依然是一種可供選擇的軟件開發(fā)生命周期模型。瀑布模型在實際的軟件開發(fā)中過程如下:
需求→分析→設計→編碼→測試
在以上的過程階段中,每一個階段都會制定相應的產出物和驗證準則,這些產出物和驗證準則是確保其進入下一個階段的關鍵,可以說在瀑布模型中,每一個階段都需要進行驗證和審核,只有相應的產出物全部符合要求,才會進入下一個階段。
采取瀑布模型的優(yōu)點在于,其審核和驗證能力較強,能夠保證軟件產品的較高質量,瀑布模型能夠及時的發(fā)現軟件系統(tǒng)中的問題,方便人們對于問題的解決,這在很大程度上便于軟件系統(tǒng)的拓展和維護工作。但是,在實際操作中如果遇到前期需求不明的情況,而又很難短時間明確清楚的項目則很難很好地利用瀑布模型。另外對于中小型的項目,需求設計和開發(fā)人員往往在項目開始后就會全部投入到項目中,而不是分階段投入,因此采用瀑布模型會導致項目人力資源過多的閑置的情況,這也是采取瀑布模型存在的主要問題。
在實際中我們對于瀑布模型的選擇要根據具體實際情況出發(fā),發(fā)揮其本身的優(yōu)勢,例如在一個新型系統(tǒng)開發(fā)的過程中,如果,系統(tǒng)中存在幾個獨立的功能組成,我們就完全可以把這些獨立的功能進行劃分,獨立的采取小瀑布模式,進而,從點到線的進行系統(tǒng)的規(guī)劃。同時,對于瀑布模式的改進,建議通過討論,會議確定的實現方式執(zhí)導下一個階段的工作而不一定完全等到相關的交付物文檔化出來。
2 螺旋模型
所謂的螺旋模型是遵循瀑布模型的,其運行的階段和瀑布模型是一致的,只不過螺旋模型能夠實現過程的迭代和風險驅動,也就是說其能夠使得瀑布模型的階段實現迭代過程,進而降低項目的風險等級。螺旋模型的迭代過程包含了以下六個步驟:
螺旋模型的優(yōu)點在于,它能夠隨著項目成本的增加而減少項目的風險,進而,能夠實現良好的項目管理和跟蹤,其每一個階段都會實現檢測和驗證過程,如果存在問題,就會及時的終止項目,在螺旋模型中,每一次迭代過程都需要我們制定出一個完善且有明確的信息,可是在這個過程中要想準確的判定風險和檢測交付物并不是一件輕松的過程。在螺旋模型迭代的過程中國,每一次迭代都會包含瀑布模型的一個或者兩個階段,這種過程與RUP過程是不相同的,很多人往往會與兩者進行混淆。所以,我們應當明確著兩種迭代過程。
3 增量和迭代模型
在RUP統(tǒng)一過程采取的軟件開發(fā)生命周期中增量迭代是最為常用的一種模型,這種模型其實包含了兩種過程,一個是增量過程,兩一個則是迭代過程,這兩種過程其實是不相同的,當在實際中我們通常都會把兩種過程合在一起使用。首先我們先解釋一下兩者的概念,例如一個系統(tǒng)中存在四個重要功能,我們分貝命名為甲、乙、丙、丁,在增量過過程中,第一次增量會完成甲、乙兩種功能,第二次增量才會完成丙、丁,也就是說增量過程先完成甲、乙,然后在完成丙、丁,而迭代過程則是甲、乙、丙、丁四項功能一同進行,在RUP中每一次迭代都會包含需求、設計、開發(fā)和測試等各個階段的活動。RUP迭代的目的在于逐步求精而不是僅僅完成瀑布模型某一階段的工作。
增量和迭代模型的優(yōu)勢在于,每一次的迭代過程都是對前一個階段的優(yōu)化過程,因此,能夠保證軟件產品開發(fā)過程中擁有一個質量的保證,而且在項目的一開始就能夠給出較為完善的框架或者原型,然而,這種模式也有其弊端所在,在小項目中,1周可以迭代一次,對于大項目則要2~3周才可迭代以此,而且每一次,迭代都需要制定出精確的目標和計劃,因此,這對于架構師的要求是很高的。因此,建議在使用的過程中先進行架構設計,只有形成完整的設計之后,再進行增量或迭代。進而確保系統(tǒng)的質量和性能的優(yōu)良。
4 原型法
原型法在應用的過程中一般都會采取多種生命周期形式,集合了瀑布模型、增量迭代模型以及螺旋模型等,其優(yōu)點在于能夠快速的挖掘出用戶的需求,并形成理解上的一直,這種模式適用于使用用戶沒有信息系統(tǒng)經驗和系統(tǒng)分析員也沒有過多的需求分析和挖掘經驗。
5 結束語
綜上所述,在進行軟件工程過程模型的選擇過程中應當遵循以下幾點:
(1)在前期使用需求較為明確的時候盡量使用瀑布模型;在用戶沒有使用經驗以及系統(tǒng)分析員沒有經驗的情況下,選擇模型法為益;當前期存在不確定因素較多的時候,選擇增量迭代和螺旋模型為好。
(2)在項目資金不能夠一次性到位的基礎上時,選擇增量迭代法比較合適。因為這種模式是循序漸進的。
(3)對于編碼人員經驗較少情況下,建議不要采用敏捷或迭代等生命周期模型。
(4)增量、迭代和原型可以綜合使用,但每一次增量或迭代都必須有明確的交付和出口準則。
參考文獻:
[1]趙麗珍.計算機在人事管理中的應用[J].包鋼科技,2005(04).
[2]張紅霞.多媒體教學的利與弊[J].包鋼科技,2005(04).
[3]王彬,王葛.軟件開發(fā)的高效率低成本[J].才智,2012(05).
[4]王建國.軟件項目管理之風險?成本管理[J].赤峰學院學報(科學教育版),2011(09).
作者簡介:胡雪婧,女,河南洛陽人,在讀研究生,研究方向:軟件工程。
作者單位:吉林大學 軟件學院,長春 130012