東軟成功案例:用 Parasoft 的 C++ Test 改善軟件開發(fā)過程
東軟軟件股份有限公司(以下稱東軟)是中國國內(nèi)最大的軟件公司之一,是中國國內(nèi)領(lǐng)先的軟件供應(yīng)商。在中國國內(nèi)取得一系列輝煌成就后,開始在國際市場嶄露頭角,已經(jīng)進入汽車電子、DVD 等嵌入式軟件開發(fā)領(lǐng)域以及其他開發(fā)領(lǐng)域,客戶遍及日本、美國、歐洲等國家,客戶包括 ALPINE、TOSHIBA、SONY Ericsson 等知名企業(yè)。目前國際業(yè)務(wù)發(fā)展迅速、新的領(lǐng)域被不斷擴展,構(gòu)成了有影響力的客戶群,國際影響日益擴大。
東軟嵌入式業(yè)務(wù)發(fā)展很快,業(yè)務(wù)量增加迅速;如何在快速的發(fā)展中,改善開發(fā)過程、提高開發(fā)效率、保證產(chǎn)品品質(zhì)的問題顯得日益重要。為此 Neusoft 分析了原有的開發(fā)過程后認為:編碼階段、測試階段的花費時間很大,并且問題也比較多,改善的潛力比較大。在編碼階段,東軟盡管制定了詳細的編碼規(guī)范,要求工程師在編碼時候遵守,但由于代碼的規(guī)模大、人員較多,Review 基本采用人工的方式,致使 Coding Review 花費了相當多的工作量,而且效果不是很顯著。
在測試階段,單體測試投入很多工作量編寫 Test Cases,測試也花費了大量時間;從測試的結(jié)果,東軟發(fā)現(xiàn) Test Cases 不能保證覆蓋代碼中所有的 Case。盡管東軟加強了Test Cases 的Review,但效果沒有明顯的改善。
C++ Test 的 Coding Standard 提供了 Effective C++/ More Effective C++/ MISRA 等16 類規(guī)則(總計 500 多條)供我們選擇,它提供 MISRA(汽車工業(yè)軟件編碼標準), 這是東軟嵌入式軟件開發(fā)所遵從的編碼規(guī)范,對東軟開發(fā)非常適用。另外由于東軟具有很多的客戶,每個客戶都對編碼規(guī)范有各自的要求,并且要求的非常細致具體。C++ Test 的Coding Standard 除了提供的 500 多條規(guī)則外,C++ Test 還具有 Rule Wizard 的功能,用戶可以根據(jù)自己需求原型化定制自己的 Coding Rules,可以說 C++ Test 的 Rule Wizard 完美地滿足了東軟的需求。
例如:
1.東軟的編碼規(guī)范對變量、函數(shù)的名字要加類型前綴;如結(jié)構(gòu)體指針數(shù)組的命名要這樣描述 apstXXXX(XXXX 為結(jié)構(gòu)體名稱,a 代表數(shù)組,p 代表指針,st 代表結(jié)構(gòu)體)。用Rule Wizard 可以方便定義如下規(guī)則(如圖 1)2.東軟的編碼規(guī)范對對判斷語句規(guī)定,將變量寫在“==“的后邊,常量放在“==”的前邊。用Rule Wizard 可以方便定義如下規(guī)則(如圖 2)
【圖 1: 變量命名的規(guī)范 】
目前有 2 個項目應(yīng)用了 C++ Test 工具,從項目的過程數(shù)據(jù)來,編碼階段和測試階段的效率得到一定的改善,各個階段輸出的產(chǎn)品質(zhì)量也有一定的提高,客戶對開發(fā)的效率和產(chǎn)品的質(zhì)量非常滿意。從目前的使用效果看,可以說應(yīng)用 C++ Test 有效的改善了東軟的開發(fā)過程、提高了開發(fā)效率、提高了產(chǎn)品品質(zhì)。相信隨著使用經(jīng)驗的積累、使用范圍(更多項目)的擴大,將根本改善東軟的開發(fā)過程,產(chǎn)生巨大的生產(chǎn)力,并且不斷促進產(chǎn)品品質(zhì)的提高。