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