軟件開發的幾個關鍵過程
一.軟件項目管理(Software Project Management)
SW-CMM將項目管理分為兩個部分,即軟件項目計劃(Software Project Planning)和軟件項目跟蹤及監控(Software Project Tracking and Oversighting)。
軟件項目計劃的目的是為完成軟件工程和管理軟件項目制定合理的計劃。
軟件項目計劃包含估計待完成的工作,建立必要的約定和確定進行該工作的計劃。
軟件計劃計劃首先作出有關待完成的工作和其它定義及界定軟件項目的約束和目標(由需求管理關鍵過程區域的實踐所建立的)的陳述。軟件計劃過程包括以下步驟:估計軟件工作產品規模及所需的資源,制定時間表,鑒別和評估軟件風險和協商約定。為了制定軟件計劃(即軟件開發計劃),可能需要重復地通過這些步驟。
該計劃提供完成和管理軟件項目活動的基礎,并按照軟件項目的資源、約束和能力,闡述對軟件項目的顧客作的約定。
軟件項目跟蹤和監控的目的是建立對實際進展的適當的可視性,使管理者能在軟件項目性能明顯偏離軟件計劃時采取有效措施。
軟件項目跟蹤和監控包括對照已文檔化的估計、約定、和計劃評審和跟蹤軟件完成情況和結果?;趯嶋H的完成情況和結果調整這些計劃。
軟件項目的已文檔化的計劃(即軟件開發計劃,正如在軟件項目計劃關鍵過程區域中所描述的)用作跟蹤軟件活動、傳送狀態和修訂計劃的基礎。管理者監控軟件活動。主要通過在所選出的軟件工作產品完成時和在所選擇的里程碑處,將實際的軟件規模。工作量、成本和時間表與計劃相比較,來確定進展情況。當確定未實現軟件項目計劃時,采取糾正措施。這些措施可以包括修訂軟件開發計劃以反映實際的完成情況和重新計劃遺留的工作或者采取改進性能的措施。
二.軟件需求(Software Requirement) 需求管理的目的是在顧客和將處理顧客需求的軟件項目之間建立對顧客需求的共同理解。
需求管理包括和顧客一起建立和維護有關軟件項目需求的協議,該協議稱作“分配給軟件的系統需求”?!邦櫩汀笨山忉尀橄到y工程組、銷售組、另一個內部組織、或者一個外部顧客。協議既包括技術需求、又包括非技術需求(例如交付日期)。該協議形成估計、策劃和跟蹤整個軟件生存周期內軟件項目活動的基礎。
將系統需求分配給軟件、硬件和其它系統成分的工作可能由軟件工程組之外的組測如系統工程組)完成,軟件工程組可能對此分配無直接控制。在項目約束范圍內,軟件工程組采取恰當步驟以保證對分配給軟件的需求建檔、并加以控制,該組負責處理分配給軟件的系統需求。
為實現此控制,軟件工程組評審初始的和經修改的分配給軟件的系統需求,以便在它們被納入軟件項目之前使問題得以解決。每當改變分配給軟件的系統需求時,都要調整受到影響的軟件計劃,工作產品和活動,使其與更新后的需求保持一致。
三.軟件度量(Software Measurement)
軟件度量(Software Measurement)通過各種不同的量度(metric)對軟件生命周期中的各個元素進行度量(Measure),它能夠為項目管理者提供有關項目的各種重要信息,同時也是進行大多評估活動的基礎。
SW-CMM中并沒有一個專門的軟件度量的關鍵過程域,而是將其貫穿于其他關鍵過程域中,不過在SW-CMM的繼承者--CMMI中定義了一個專門的關鍵過程域:度量與分析。
四.軟件配置管理(Software Configuartion Management)
軟件配置管理的目的是建立和維護在項目的整個軟件生存周期中軟件項目產品的完整性。
軟件配置管理包括標識在給定時間點上軟件的配置(即選定的軟件工作產品及其描述),系統地控制對配置的更改、并維護在整個軟件生存周期中配置的完整性和可銀踝性。置于軟件配置管理之下的工作產品包括交付給顧客的軟件產品(例如軟件需求文檔和代碼),以及與這些軟件產品等同的產品項或生成這些軟件產品所要求的產品項(例如編譯程序)建立一個軟件基線庫,當軟件基線形成時就將它們納入該庫。通過軟件配置管理的更改控制和配置審計功能,系統地控制基線的更改和那些利用軟件基線庫構造成的軟件產品的發行。
這個關鍵過程區域僅包括實施軟件配置管理功能的實踐。而標識具體的配置項或單元的實踐則包含在描述每個配置項或單元的開發和維護的關鍵過程區域中。
五.軟件質量保證(Software Quality Assurece)
軟件質量保證的目的是向管理者提供適當的對軟件項目正使用的過程和正構造產品的可視性。
軟件質量保證包括評審和審計軟件產品和活動以驗證它們符合適用的規程和標準,給項目和其它有關的經理提供這些評審和審計的結果。
在軟件項目的早期階段,軟件質量保證組與軟件項目一起工作制定計劃、標準和規程等,這些計劃、標準、和規程將增加軟件項目的價值并將滿足項目和組織方針上的限制。通過參與制定計劃、標準和規程,軟件質量保證組幫助確保它們適合項目的需要,并且幫助驗證它們對完成整個軟件生存周期中的評審和審計將是適用的。軟件質量保證組在整個生存周期評審項目活動,審計軟件工作產品,并就軟件項目是否正遵守已制定的計劃、標準和規程等給管理者提供可視性。
首先在軟件項目內部處理符合性問題,如可能的話就地解決它。對于那些無法在軟件項目內部解決的問題,軟件質量保證組逐級上遞該問題到管理者的恰當層次以求得解決。
這個關鍵過程區域只包括該組履行軟件質量保證功能的實踐。而識別軟件質量保證組要評審和(或)審計的具體的活動和工作產品的實踐一般包含在其它關鍵過程區域的驗證實施共同特點中。
六.軟件測試(Software Testing)
軟件測試(Software Testing)是發現軟件中錯誤和缺陷的主要手段。在一般情況下,軟件測試過程與整個軟件開發過程基本上是平行進行的。測試計劃早在需求分析階段即應開始制定。其它相關工作,包括測試大綱的制定、測試數據的生成、測試工具的選擇和開發等也應在測試階段之前進行。充分的準備工作可以有效地克服測試的盲目性,縮短測試周期,提高測試效率,并且起到測試文檔與開發文檔互查的作用。
在CMM1.1的標準中沒有單獨的軟件測試關鍵過程域,而是作為軟件產品工程(SMM三級的KPA)的一部分,SEI原計劃在CMM2.0的版本增加軟件測試相關的獨立KPA,但后來因為CMM2.0的計劃被CMMI所取代,因此將軟件測試相關的內容在納入CMMI三級標準中的兩個KPA:Validation和Verification。
SW-CMM將項目管理分為兩個部分,即軟件項目計劃(Software Project Planning)和軟件項目跟蹤及監控(Software Project Tracking and Oversighting)。
軟件項目計劃的目的是為完成軟件工程和管理軟件項目制定合理的計劃。
軟件項目計劃包含估計待完成的工作,建立必要的約定和確定進行該工作的計劃。
軟件計劃計劃首先作出有關待完成的工作和其它定義及界定軟件項目的約束和目標(由需求管理關鍵過程區域的實踐所建立的)的陳述。軟件計劃過程包括以下步驟:估計軟件工作產品規模及所需的資源,制定時間表,鑒別和評估軟件風險和協商約定。為了制定軟件計劃(即軟件開發計劃),可能需要重復地通過這些步驟。
該計劃提供完成和管理軟件項目活動的基礎,并按照軟件項目的資源、約束和能力,闡述對軟件項目的顧客作的約定。
軟件項目跟蹤和監控的目的是建立對實際進展的適當的可視性,使管理者能在軟件項目性能明顯偏離軟件計劃時采取有效措施。
軟件項目跟蹤和監控包括對照已文檔化的估計、約定、和計劃評審和跟蹤軟件完成情況和結果?;趯嶋H的完成情況和結果調整這些計劃。
軟件項目的已文檔化的計劃(即軟件開發計劃,正如在軟件項目計劃關鍵過程區域中所描述的)用作跟蹤軟件活動、傳送狀態和修訂計劃的基礎。管理者監控軟件活動。主要通過在所選出的軟件工作產品完成時和在所選擇的里程碑處,將實際的軟件規模。工作量、成本和時間表與計劃相比較,來確定進展情況。當確定未實現軟件項目計劃時,采取糾正措施。這些措施可以包括修訂軟件開發計劃以反映實際的完成情況和重新計劃遺留的工作或者采取改進性能的措施。
二.軟件需求(Software Requirement) 需求管理的目的是在顧客和將處理顧客需求的軟件項目之間建立對顧客需求的共同理解。
需求管理包括和顧客一起建立和維護有關軟件項目需求的協議,該協議稱作“分配給軟件的系統需求”?!邦櫩汀笨山忉尀橄到y工程組、銷售組、另一個內部組織、或者一個外部顧客。協議既包括技術需求、又包括非技術需求(例如交付日期)。該協議形成估計、策劃和跟蹤整個軟件生存周期內軟件項目活動的基礎。
將系統需求分配給軟件、硬件和其它系統成分的工作可能由軟件工程組之外的組測如系統工程組)完成,軟件工程組可能對此分配無直接控制。在項目約束范圍內,軟件工程組采取恰當步驟以保證對分配給軟件的需求建檔、并加以控制,該組負責處理分配給軟件的系統需求。
為實現此控制,軟件工程組評審初始的和經修改的分配給軟件的系統需求,以便在它們被納入軟件項目之前使問題得以解決。每當改變分配給軟件的系統需求時,都要調整受到影響的軟件計劃,工作產品和活動,使其與更新后的需求保持一致。
三.軟件度量(Software Measurement)
軟件度量(Software Measurement)通過各種不同的量度(metric)對軟件生命周期中的各個元素進行度量(Measure),它能夠為項目管理者提供有關項目的各種重要信息,同時也是進行大多評估活動的基礎。
SW-CMM中并沒有一個專門的軟件度量的關鍵過程域,而是將其貫穿于其他關鍵過程域中,不過在SW-CMM的繼承者--CMMI中定義了一個專門的關鍵過程域:度量與分析。
四.軟件配置管理(Software Configuartion Management)
軟件配置管理的目的是建立和維護在項目的整個軟件生存周期中軟件項目產品的完整性。
軟件配置管理包括標識在給定時間點上軟件的配置(即選定的軟件工作產品及其描述),系統地控制對配置的更改、并維護在整個軟件生存周期中配置的完整性和可銀踝性。置于軟件配置管理之下的工作產品包括交付給顧客的軟件產品(例如軟件需求文檔和代碼),以及與這些軟件產品等同的產品項或生成這些軟件產品所要求的產品項(例如編譯程序)建立一個軟件基線庫,當軟件基線形成時就將它們納入該庫。通過軟件配置管理的更改控制和配置審計功能,系統地控制基線的更改和那些利用軟件基線庫構造成的軟件產品的發行。
這個關鍵過程區域僅包括實施軟件配置管理功能的實踐。而標識具體的配置項或單元的實踐則包含在描述每個配置項或單元的開發和維護的關鍵過程區域中。
五.軟件質量保證(Software Quality Assurece)
軟件質量保證的目的是向管理者提供適當的對軟件項目正使用的過程和正構造產品的可視性。
軟件質量保證包括評審和審計軟件產品和活動以驗證它們符合適用的規程和標準,給項目和其它有關的經理提供這些評審和審計的結果。
在軟件項目的早期階段,軟件質量保證組與軟件項目一起工作制定計劃、標準和規程等,這些計劃、標準、和規程將增加軟件項目的價值并將滿足項目和組織方針上的限制。通過參與制定計劃、標準和規程,軟件質量保證組幫助確保它們適合項目的需要,并且幫助驗證它們對完成整個軟件生存周期中的評審和審計將是適用的。軟件質量保證組在整個生存周期評審項目活動,審計軟件工作產品,并就軟件項目是否正遵守已制定的計劃、標準和規程等給管理者提供可視性。
首先在軟件項目內部處理符合性問題,如可能的話就地解決它。對于那些無法在軟件項目內部解決的問題,軟件質量保證組逐級上遞該問題到管理者的恰當層次以求得解決。
這個關鍵過程區域只包括該組履行軟件質量保證功能的實踐。而識別軟件質量保證組要評審和(或)審計的具體的活動和工作產品的實踐一般包含在其它關鍵過程區域的驗證實施共同特點中。
六.軟件測試(Software Testing)
軟件測試(Software Testing)是發現軟件中錯誤和缺陷的主要手段。在一般情況下,軟件測試過程與整個軟件開發過程基本上是平行進行的。測試計劃早在需求分析階段即應開始制定。其它相關工作,包括測試大綱的制定、測試數據的生成、測試工具的選擇和開發等也應在測試階段之前進行。充分的準備工作可以有效地克服測試的盲目性,縮短測試周期,提高測試效率,并且起到測試文檔與開發文檔互查的作用。
在CMM1.1的標準中沒有單獨的軟件測試關鍵過程域,而是作為軟件產品工程(SMM三級的KPA)的一部分,SEI原計劃在CMM2.0的版本增加軟件測試相關的獨立KPA,但后來因為CMM2.0的計劃被CMMI所取代,因此將軟件測試相關的內容在納入CMMI三級標準中的兩個KPA:Validation和Verification。
本文標簽:軟件開發的幾個關鍵過程
* 由于無法獲得聯系方式等原因,本網使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《軟件開發的幾個關鍵過程》相關權利人與機電之家網取得聯系。










