摘 要: 探討了應用非線性軟件工程思想實現(xiàn)CMM2需求管理過程域的要求和目標的方法,。
關鍵詞: CMM; 非線性軟件工程思想,; 需求管理
1 CMM模型介紹
以Watts Humphrey為首的課題組推出了能力成熟度模型CMM(Capability Maturity Model),,該模型被業(yè)界普遍接受,軟件組織可以用CMM來定義,、實施,、度量、控制和改進自己的軟件過程,。
CMM將軟件組織依據(jù)成熟度分為5個等級,。需求管理是CMM2(可重復級)的一個關鍵過程域,。能否解決需求管理問題是不成熟的軟件組織走向成熟邁出的第一步。
然而,,現(xiàn)有的軟件工程體系均采用了線性增量單向迭代模型,,都是線性思維和簡單科學的產物,而軟件是由開發(fā)團隊和客戶這些非線性的人組成的復雜系統(tǒng)所創(chuàng)造的邏輯思維的產物,,其本身也是一個復雜的,、非線性的系統(tǒng),兩者存在根本性的矛盾,。因此,,采用現(xiàn)有軟件工程體系很難在較高層面實現(xiàn)CMM。
為了在較高層面實現(xiàn)CMM,,必須摒棄傳統(tǒng)的線性軟件工程思想,,取而代之以非線性、整體性,、相關性,、關鍵性、層次性,、目的性,、開放性、動態(tài)性,、適應性等原則和綜合設計,、增量集成、雙向迭代,、主動防錯,、全程評審、協(xié)同開發(fā),、信息共享,、實時溝通等擴展原則的非線性軟件工程思想。
2 非線性軟件工程思想在需求管理中的應用
依據(jù)CMM模型,,需求管理這個關鍵過程域的目標有兩個:(1)對軟件需求加以控制,,以建立軟件工程和管理活動的基線;(2)軟件計劃,、軟件產品和活動均與需求保持一致,。該域的執(zhí)行約定為:項目遵循一書面的、組織上的方針去管理分配給軟件的系統(tǒng)需求,。
針對CMM2需求管理的目標,,依據(jù)非線性軟件工程思想,認為需求管理應按照圖1的流程,,通過軟件組織中的多小組協(xié)同來開展工作,。對此,,從以下六個方面加以論述。
2.1 需求采集的全方位
需求不僅來源于軟件組織外部產品的投資者,、管理者,、使用者等顧客,還來源于組織內部的工程組,、系統(tǒng)組,、銷售組等小組。這體現(xiàn)了非線性軟件工程整體性的思想及協(xié)同開發(fā)的原則,。
2.2 整個生命周期的需求管理
需求管理工作的開展不僅限于傳統(tǒng)線性軟件工程體系中總體設計前的階段,,而是存在于軟件的整個生命周期。
在需求分析前的計劃階段以及之后的總體設計,、詳細設計,、編碼、測試,、集成,、維護等階段,都可能存在需求的提出和變更,。因此,,需求管理必須貫穿整個生命周期,且必須要體現(xiàn)開放性,、動態(tài)性,、適應性的非線性軟件工程思想。
2.3 文檔化
在需求管理中,,文檔化是CMM2需求管理關鍵過程域的執(zhí)行約定,,也是其要求的軟件組織必須具備的重要能力之一。
在需求管理過程中,,共產生5個文檔,,包括需求調查報告、需求建模和分析報告,、需求說明書,、需求變更控制報告、需求跟蹤報告,。這5個文檔產生的時點不同,,起到的作用也不同。但是,,它們都是實現(xiàn)CMM2需求管理關鍵過程域所建立的軟件計劃、軟件產品和活動均與需求保持一致目標的基礎,,也體現(xiàn)了整體性的非線性軟件工程思想,。
2.4 雙向可追溯
需求跟蹤報告包含了需求跟蹤矩陣和需求問題處理等內容,。其中,需求跟蹤矩陣實現(xiàn)了需求文檔,、設計文檔,、代碼、測試用例,、維護記錄等文檔的雙向追溯,,也就是在軟件產品的整個生命周期內實現(xiàn)了雙向可追溯。另外,,需求跟蹤報告還將需求問題的描述,、識別人、日期,、解決措施,、結果等進行了詳細記錄。
從圖1中描述的需求管理的流程看,,需求管理的各個階段建立在需求管理文檔化的基礎之上,,同樣實現(xiàn)了雙向追溯。
上述雙向追溯機制體現(xiàn)了非線性軟件工程思想的雙向迭代的原則,,提高了軟件開發(fā),、維護的效率及產品的質量。
2.5 評估和評審
評估和評審是CMM2需求管理關鍵過程域所要求開展的活動之一,。貫穿于需求管理過程不同階段的評估與評審為實現(xiàn)CMM2需求管理關鍵過程域的對軟件需求加以控制的目標提供了基礎,,也為管理活動的基線提供了基礎,保證了需求活動的質量,,為雙向追溯提供了判斷依據(jù),,是非線性軟件工程思想主動防錯和全程評審原則的體現(xiàn)。
2.6 協(xié)同工作
需求的采集和變更由顧客和軟件組織內的各個小組協(xié)同完成,,建模和規(guī)約由需求管理小組完成,,五個文檔的編寫由文檔小組完成,各階段的評估和評審工作由項目經理領導下的軟件品質保證組完成,。另外,,高層管理人員還要對評審工作負責。
總之,,需求管理是由軟件組織內,、外的多個小組協(xié)同實現(xiàn)的,這是CMM2需求管理過程域的要求,,也是非線性軟件工程思想信息共享,、實時溝通、協(xié)同開發(fā)原則的體現(xiàn),。
非線性軟件工程思想符合軟件自身的復雜的,、非線性系統(tǒng)的特點,,因此應用該思想的原則能夠在較高層次實現(xiàn)CMM2需求管理過程域的要求和目標。
參考文獻
[1] 熊繼光.新一代軟件工程體系與實踐——基于現(xiàn)代系統(tǒng)科學與復雜性科學的非線性整體軟件工程體系及其應用[M]. 北京:清華大學出版社,,2008.
[2] (美)Roger S. Pressman,著. 軟件工程——實踐者的研究方法(第5版)[M]. 梅宏,譯. 北京:機械工業(yè)出版社,,2005.
[3] 鄭人杰, 王緯, 王方德,等. 基于軟件能力成熟度模型(CMM)的軟件過程改進—方法與實施[M]. 北京:清華大學出版社,,2003.
[4] 李偉波,,劉永祥,王慶春. 軟件工程[M]. 武漢:武漢大學出版社,,2006.