135 2295 6919
135 2295 6919
公司主站Website:
www.sdfoef.cn
電子郵箱:
qykh2009@163.com
公司地址:
北京市朝陽區亞運村天創世緣B2座30整層
Software 軟件百科
類別:軟件開發訪問量:1911編輯:admin 日期:2024-11-01 20:58:00
隨著用戶需求的多樣化,軟件系統開始越來越復雜了,而復雜性帶來的結果是軟件開發管理越來越困難。然而,許多軟件開發團隊卻沒有適時地改變其管理模式。因此,越來越多的軟件開發項目呈現出管理失控和混亂的跡象,軟件開發的整個生命周期已經越來越成為人們關注的焦點。
為什么軟件開發項目的管理是這么困難呢?原因在于許多軟件開發團隊沒有選擇合適的管理工具。一般來說,在軟件開發過程中會有許多不確定的、經常變化的因素,如果在軟件開發過程中缺乏合適的管理工具,這將會導致開發人員無法統一開發行為和思路。例如,在實現項目的各階段和各種角色(架構師、項目經理、開發人員、測試人員等)的方法和思路并不一致,不但會對設計、質量、代碼管理和部署產生負面影響,而且還會導致開發成本增加。
那么,我們應該怎樣管理好軟件開發的各種因素呢?就像教科書上經常所說的一樣,如果我們能夠很好的管理軟件生命周期每一個階段的質量,也就很好的管理了整個軟件開發的整個過程。因此,如何最大程度地管理好開發過程成為目前業界討論的焦點。本文介紹了在軟件開發過程中一種常用的管理工具:軟件生命周期模式,以及其概念和選擇方法。
什么是軟件開發生命周期模式?
軟件開發工作本身是需要一個周期來完成的,而在周期的內部則包含了很多因素。一個因素的不穩定,在周期推移的過程中都很可能會造成類似生物學領域的蝴蝶效應----非洲的一只蝴蝶扇動翅膀可能會造成美洲大陸的一場龍卷風。這說明每一個事情都可能會對其它的事情產生連鎖反應。因此,任何軟件開發項目都必須進行適當的組織和管理,然后才能按預期計劃成功地執行項目。也說是說,規劃良好的軟件開發生命周期將能夠實現在更短的開發周期內構建軟件的愿景。
(1)什么是軟件開發生命周期?
同任何事物一樣,一個軟件產品或軟件系統也要經歷孕育、誕生、成長、成熟、衰亡等階段,這一般稱為軟件生命周期。軟件開發生命周期(SDLC)是指軟件開發的全部過程、活動和任務的結構框架。許多軟件開發工具廠商都提出過各種軟件生命周期方法論,它們有人將SDLC解釋為一組步驟或者里程標(Milestone)。但無論是誰的解釋,SDLC的一般步驟包括:確定問題、可行性分析與開發計劃、收集需求、分析與設計、編碼開發、測試、安裝、維護。
生命周期法也稱結構化系統開發方法,是目前國內外較流行的軟件系統開發方法。尤其在開發復雜的大系統時,顯示出無比的優越性。它的基本思想是:將軟件工程學和系統工程的理論和方法引入到軟件系統的開發中,按照用戶至上的原則,采用結構化、模塊化自頂向下對系統進行分析和設計。具體的說,是通過把整個軟件生命周期劃分為若干階段,使得每個階段有明確的任務,使規模大、結構復雜和管理復雜的軟件開發變的容易控制和管理。它的優點是強調系統開發過程的整體性和全局性,強調在整體優化的前提下考慮具體的分析設計問題,即自頂向下的觀點。它從時間角度把軟件開發和維護分解為若干階段,每個階段有各自相對獨立的任務和目標,從而降低了系統開發的復雜性,提高了可操作性。
(2)軟件生命周期模式
對于不同的軟件系統,可以采用不同的開發方法、以及運用不同的管理方法和手段。實際上,軟件生命周期法在開始的時候只是一個概念。因此,在應用軟件開發生命周期法時,許多開發團隊會把這一個概念進行工具化,這一個工具化就是軟件開發生命周期模式。通過軟件開發生命周期模式,我們能清晰、直觀地看到軟件開發的全過程。
在過去的10年中,軟件生命周期模式及其許多變體獲得了廣泛的認可。在各種軟件開發方法和過程改進模式中的技術革新也得到了承認,如Rational Unified Process(RUP)、Capability Maturity Model(CMM)、ISO 9000-3 等。典型的幾種生命周期模式包括:瀑布模式、演化模式、螺旋模式、快速原型模式、噴泉模式和混合模式等。在這里只介紹其中最常用的幾種模式:
①瀑布模式:它首先是由Royce提出,該模式由于酷似瀑布聞名。在該模式中首先確定需求,然后擬定規格說明,在通過驗證后方可進入計劃階段。因此,瀑布模式中至關重要的一點是只有當一個階段的文檔獲得認可才可以進入下一個階段。瀑布模式通過強制性規約來確保每個階段都能很好的完成任務,但是實際上卻往往難以辦到。因為整個瀑布模式幾乎都是以文檔驅動的,這對于非專業的用戶來說是難以閱讀和理解的。雖然瀑布模式有很多很好的思想可以借鑒,但是在過程能力上有天生的缺陷。
②演化模式:它主要是針對事先不能完整定義需求的軟件開發。它的方法是用戶先給出待開發系統的核心需求,并且在核心需求實現后,再提出反饋以支持系統的最終設計和實現。也就是說:開發人員首先會根據用戶的需求開發核心系統,然后提供給用戶試用;用戶試用后再提出增強系統能力的需求;最后開發人員再根據用戶的反饋,實施迭代開發。實際上,這個模式可看作是重復執行的多個瀑布模式。演化模式要求開發人員把項目的產品需求分解為不同組,以便分批循環開發。但這種分組并不是隨意性的,而是要根據功能的重要性及對總體設計的基礎結構的影響而作出判斷。
③螺旋模式:它是瀑布模式與演化模式相結合,并加入兩者所忽略的風險分析所建立的一種軟件開發模式。螺旋模式基本的做法是在瀑布模式的每一個開發階段之前,引入非常嚴格的風險識別、風險分析和風險控制。直到采取了消除風險的措施之后,才開始計劃下一階段的開發工作。否則,項目就很可能被暫停。另外,如果有充足的把握判斷遺留的風險已降低到一定的程度,項目管理人員還可作出決定讓余下的開發工作采用另外的生命周期模式,如演化模式,瀑布模式或自定的混合模式。
④過程開發模式:它又叫混合模式或元模式,是指把幾種不同模式組合成一種混合模式,它允許一個項目能沿著最有效的路徑發展。因為上述的模式中都有自己獨特的思想,現在的軟件開發團隊中很少說標準的采用那一種模式的,因為模式和實際應用還是有很大的區別的。實際上,許多軟件開發團隊都是在使用幾種不同的開發方法組成他們自己的混合模式。
最后,我們來總結一下。螺旋模式是典型的迭代式生命周期模式,而RUP則是近代迭代式生命周期的代表。與螺旋模式相比,RUP將風險管理放在更重要的地位。最新的迭代式生命周期模式的代表是模式驅動架構(MDA)和敏捷(Agile)軟件開發。MDA模式是基于可執行規格說明的思想,是現代轉換模式的代表,其核心技術是組件技術。而敏捷開發生命周期的典型代表是XP編程,是把傳統的系統設計和實現由敏捷軟件開發過程中的驗收測試、重構和測試驅動所取代;把傳統的集成和部署由敏捷軟件開發中的持續集成和短周期所取代。
其實上,無論是瀑布開發模式還是螺旋開發模式,軟件生命周期模式的發展實際上是體現了軟件工程理論的發展。在最早的時候,軟件的生命周期處于無序、混亂的情況。一些人為了能夠管理和控制軟件的開發過程,就把軟件開發嚴格的區分為多個不同的階段,并在階段間加上嚴格的審查,這就是軟件開發模式產生的起因。它們體現了人們對軟件過程的一個希望:嚴格控制、確保質量。
如何選擇合適的生命周期模式?
眾所周知,在軟件開發過程中如果缺乏適當的管理,最終開發出來的軟件產品質量是難以保證的。那么,在軟件開發管理過程中,應該如何選擇合適的軟件開發生命模式工具呢?建議可參考以下幾個步驟:
(1)評估軟件開發范圍和需求
當軟件所有參與人員都能理解軟件開發的范圍和需求時,就能為軟件開發可能遇到的突發事情和未來變化建立一個技術基線。這個技術基線、基礎規則和假設應該包含識別和評估軟件的功能性。一般來說,在前期需求明確的情況下可盡量采用瀑布模式或改進型的瀑布模式。而在不確定性因素很多時或很多需求無法計劃的情況下,應該盡量采用增量迭代模式或螺旋模式。
(2)確定軟件開發規模和階段劃分
確定軟件的開發規模是決定開發管理工具的重要一步,也是最為關鍵的步驟。因為確定開發規模和階段劃分是明確軟件開發生命周期的驅動動力,它可用來約束在開發過程中所采用的行動和資源,以及限制可以提供的選項。例如,對于規模小的建議采用瀑布模式;而在資金和成本無法一次到位情況下可以采用增量模式;而對于完全多個獨立功能的開發可以在需求階段就分功能并行,但每個功能內可以遵循瀑布模式原則;而其他項目一般可采用迭代模式。
(3)選擇合適的軟件生命周期模式
一個定義良好的軟件生命周期模式,可以很好的指導我們的開發工作,使漫長的開發工作易于控制。事實上,我們也可以任意定義自己喜歡的軟件生命周期模式。但是,如果生命周期模式定義不合理,卻會制約我們的開發過程。因此,選擇一個軟件開發模式不應當將其作為一次性的活動來考慮。因為隨著開發項目的進展,未知內容會逐漸變為已知內容,并且新的和意料之外的問題和風險都會隨之出現。所以,選擇開發模式應該要根據實際情況來進行,然后在此基礎上再加以裁減以作出適當的修改和改良。
(4)跟蹤和度量開發模式的效率
在軟件開發模式選定后,應該要定時跟蹤和度量開發模式的效率。例如,記錄那些相關的信息和得到的經驗教訓。通過這樣做的目的是為了記錄一個"最佳開發模式"的選擇過程,以獲得選擇開發模式的經驗性。因此,跟蹤信息應當被不斷的收集起來,并且同原始模式和基線進行比較。如果執行情況出現效率低下或者明顯的不同,那么校正開發模式就應當被考慮進來并加以實施,從而將項目開發拉回到正確的軌道上來。
來源:北京乾元坤和,北京軟件開發公司,北京網站建設公司,OA系統開發,ERP系統開發 ,CRM系統制作 QQ號:2725110947 聯系電話:010-51246210 ; 15699913471
【上一條】 重慶隧道裝設備放勁爆音樂
【下一條】 沒有下一條