沈備軍
2014年2月20日,IEEE計(jì)算機(jī)協(xié)會(huì)發(fā)布了軟件工程知識(shí)體系SWEBOK(SoftwareEngineering Body of Knowledge)指南第3版。第3版標(biāo)志著SWEBOK項(xiàng)目達(dá)了一個(gè)新的里程碑。作為本指南的聯(lián)合主編之一,筆者將介紹SWEBOK V3的目標(biāo)、項(xiàng)目組成員、制訂過程以及內(nèi)容上的重大變化。
1 SWEBOK V3的目標(biāo)
軟件工程是一門獨(dú)立的學(xué)科,有自己的職業(yè)體系和教育課程體系。軟件工程職業(yè)化是軟件工程成熟的標(biāo)志。1993年,IEEE計(jì)算機(jī)協(xié)會(huì)和ACM職合發(fā)起為軟件工程職業(yè)化制定相應(yīng)的準(zhǔn)則和規(guī)范,作為產(chǎn)業(yè)決策、職業(yè)認(rèn)證和課程教育的依據(jù),經(jīng)稻草人階段(1994—1996年)、石頭人階段(1998—2001年)和鐵人階段(2003—2004年),先后在2001年推出了SWEBOK第1版和相應(yīng)的軟件工程師認(rèn)證(CSDP),2004年推出了SWEBOK第2版,2008年推出了面向大學(xué)應(yīng)畢業(yè)生的初級(jí)軟件工程師認(rèn)證(CSDA)。SWEBOK的建立極大地推動(dòng)了軟件工程理論研究、工程實(shí)踐和教育的發(fā)展,國內(nèi)大多數(shù)軟件工程專業(yè)在制定本科培養(yǎng)方案時(shí)也都參考了
在SWEBOK V2發(fā)布的第六年(2009年),IEEE計(jì)算機(jī)協(xié)會(huì)啟動(dòng)了SWEBOKV3的版本升級(jí)項(xiàng)目,項(xiàng)目目標(biāo)包括:
(1)增加近年軟件工程研究與實(shí)踐的新成果;
(2)將SWEBOK和CSDA、CSDP、SE2004(軟件工程本科課程大綱)、GSwE2009(軟件工程碩士課程大綱)、SEVOCAB(軟件工程術(shù)語)等標(biāo)準(zhǔn)進(jìn)行統(tǒng)一;
(3)合并和更新以上各標(biāo)準(zhǔn)的參考文獻(xiàn),遴選最重要的文獻(xiàn),減少文獻(xiàn)數(shù)量,以利于讀者的學(xué)習(xí)。
2 SWEBOK V3項(xiàng)目組成員
針對(duì)上述3個(gè)目標(biāo),2009年組建了由加拿大魁北克大學(xué)高等技術(shù)學(xué)院Pierre Bourque副教授領(lǐng)導(dǎo)的編輯小組,成員由5個(gè)不同國家的軟件工程專家組成,除了筆者以外,還有來自美國軟件與系統(tǒng)工程協(xié)會(huì)的Richard E.Fairley、加拿大魁北克大學(xué)高等技術(shù)學(xué)院Alain Abran教授、印度Tata咨詢公司副總裁Garki Keeni女士和西班牙馬德里理工大學(xué)Juan Garbaiosa教授。由上述6位主編推薦,成立了由25名專家組成的知識(shí)域(KA)編輯組,其中來自中國的3名專家擔(dān)任了4個(gè)知識(shí)域的更新,分別是,上海交通大學(xué)的鄒恒明教授負(fù)責(zé)計(jì)算基礎(chǔ)和軟件工程職業(yè)實(shí)踐;北京大學(xué)的孫艷春副教授負(fù)責(zé)軟件設(shè)計(jì);復(fù)旦大學(xué)彭鑫副教授負(fù)責(zé)軟件構(gòu)造。這是中國專家第一次參與SWEBOK的編輯工作。同時(shí)來自33個(gè)國家的約150名專家參與了評(píng)審。
3 SWEBOK V3的制訂過程
整個(gè)SWEBOK V3的版本升級(jí)過程比預(yù)計(jì)更復(fù)雜更費(fèi)時(shí),經(jīng)過了初稿、內(nèi)部評(píng)審、公開評(píng)審和整合4個(gè)階段,歷時(shí)4年多時(shí)間,終于在2014年2月20日發(fā)布(http:∥www.swebok.org)。在制訂過程中,專家們使用一個(gè)基于Web的版本管理系統(tǒng)進(jìn)行各知識(shí)域的更新、評(píng)審、核準(zhǔn)、共享和整合,提交和處理了1 500多個(gè)變更,同時(shí)召開了許多次現(xiàn)場(chǎng)會(huì)議和網(wǎng)上遠(yuǎn)程會(huì)議進(jìn)行溝通和討論,最終形成V3 Beta版。下階段,SWEBOK將被提交ISO/IEC(國際標(biāo)準(zhǔn)化組織/國際電工委員會(huì)),作為其技術(shù)報(bào)告發(fā)表。另一個(gè)任務(wù)是將其翻譯成多國語言出版或發(fā)布。
4 SWEBOK V3的主要變化
SWEBOK V3一共包括15個(gè)知識(shí)域,其中包括11個(gè)軟件工程實(shí)踐知識(shí)域,分別是軟件需求、軟件設(shè)計(jì)、軟件構(gòu)造、軟件測(cè)試、軟件維護(hù)、軟件配置管理、軟件工程管理、軟件工程過程、軟件工程模型和方法、軟件質(zhì)量、軟件工程職業(yè)實(shí)踐;以及4個(gè)軟件工程教育基礎(chǔ)知識(shí)域——軟件工程經(jīng)濟(jì)學(xué)、計(jì)算基礎(chǔ)、數(shù)學(xué)基礎(chǔ)和工程基礎(chǔ)。與SWEBOK V2相比,SWEBOKV3的主要內(nèi)容變化有以下幾個(gè)方面:
(1)更新了所有知識(shí)域的內(nèi)容,反映出軟件工程近10年的新成果,并與CSDA、CSDP、SE2004、GSwE2009和SEVOCAB等標(biāo)準(zhǔn)進(jìn)行了知識(shí)體系的統(tǒng)一。
(2)新增了4個(gè)基礎(chǔ)知識(shí)域(軟件工程經(jīng)濟(jì)學(xué)、計(jì)算基礎(chǔ)、數(shù)學(xué)基礎(chǔ)和工程基礎(chǔ))和一個(gè)軟件工程職業(yè)實(shí)踐知識(shí)域。
(3)在軟件設(shè)計(jì)和軟件測(cè)試中新增了人機(jī)界面的內(nèi)容;把軟件工具的內(nèi)容從原先的“軟件工程工具和方法”中移到其他各知識(shí)域中,并將該知識(shí)域重命名為“軟件工程模型和方法”,使其更關(guān)注方法。
(4)更突出了架構(gòu)設(shè)計(jì)和詳細(xì)設(shè)計(jì)的不同,同時(shí)在軟件設(shè)計(jì)中增加了硬件問題的新主題和面向方面(aspect-oriented)設(shè)計(jì)的討論。
(5)新增了軟件重構(gòu)、遷移和退役的新主題,更多地討論了建模和敏捷方法。
(6)在多個(gè)知識(shí)域中都增加了對(duì)保密安全性(security)的考慮。
(7)合并了多個(gè)標(biāo)準(zhǔn)中的參考文獻(xiàn),并進(jìn)行更新和遴選,減少了參考文獻(xiàn)數(shù)量。
5 結(jié)語
SWEBOK描述的是廣泛共識(shí)的知識(shí),隨著軟件技術(shù)的迅速發(fā)展,當(dāng)前一些學(xué)術(shù)界的研究成果以及產(chǎn)業(yè)開始應(yīng)用的新技術(shù)將逐漸普及,因此SWEBOK V3項(xiàng)目組的最后一個(gè)目標(biāo)是希望能建立SWEBOK每三年周期性更新的制度,持續(xù)改進(jìn)知識(shí)體系。期待SWEBOK能成為持續(xù)推進(jìn)軟件工程走向成熟的重要力量之一。
(編輯:彭遠(yuǎn)紅)