軟件系統開發的基本問題是如何管理開發過程。SW-CMM的第一個進行目標(即第2級的目標)就是通過建立關鍵的管理過程域,使得開發過程可控且可重復。SW-CMM2級共有6個關鍵過程域(KPA):
·需求管理(RM);
·軟件項目計劃(SPP);
·軟件項目跟蹤與監控(SPTO);
·子合同管理(SSM);
·軟件質量保證(SQA);
·軟件配置管理(SCM)。
在軟件開發中,有3個基本的管理對象:軟件需求、開發活動和產品(包括工作產品和提交給用戶的產品)。這6個KPA正是對這3個對象的管理,管理關系如下圖所示。
需求管理
任何一個軟件產品都應滿足用戶相應的需求。但是這樣同時會存在兩個問題:
一個問題是需求在開發過程中會發生變化,如何控制和管理這些變化?
另一個問題是從需求到產品要經過許多步驟,如系統設計、詳細設計、編碼等。如何保證這些步驟沒有背離軟件的需求?
需求管理關鍵過程域針對這兩個問題提出了相應的目標。
軟件的需求可能是系統需求的一部分(系統工程的一部分)或是全部(單純的軟件工程)。無論是哪種情況,需求管理的第一個目標就是軟件需求應能被控制,并可產生一個可用于軟件工程過程和管理過程的基線。RM的第二個目標是確保軟件項目計劃、開發活動、產品與軟件需求一致。
需求管理的目的是在用戶與實現用戶需求的項目之間達成一種共識。這意味著用戶的需求應該是合理可行的,項目的目標應能滿足用戶的需求。需求管理活動是建立并維護這種共識。
軟件項目計劃
軟件項目計劃常常不能按期完成,主要原因有兩個方面:一個方面是由于計劃執行和管理的能力不夠;另一個方面是計劃本身是否合理和有效,計劃的不合理性和無效性造成了大多數項目拖延,甚至失敗。SPP的目的是建立一個合理有效的軟件項目計劃。軟件項目跟蹤與監督則是如何保證計劃的執行和維護。
建立合理的軟件計劃的基礎是對軟件項目規模、資源要求和風險等要有一個合理的估算。這個估算過程應是規范的,而不是任意的。例如,如果提出一個項目計劃需十個軟件工程師工作六個月的計劃,那么就要問這些數據是如何得到的。用戶提出的時間和費用的要求僅能作為項目計劃約束的條件,而不能作為項目計劃的基礎。
軟件計劃要包括所有項目活動和所有參加方面的責任,這些活動和責任要文檔化,以保證有效地將計劃傳達給項目各個參加方。在項目計劃執行前,各個項目參加方要認同所承擔的項目責任,這種認同是項目計劃有效性的一個基本保證。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/