
正如本書其他部分指出的那樣,軟件工程文獻過于依賴含糊不清、不可預測的質(zhì)量定義,比如“軟件產(chǎn)品符合用戶需求”或者滿足一系列“特性”。這些不科學的質(zhì)量定義使軟件質(zhì)最經(jīng)濟價位的研究進展緩慢。其他兩個無效經(jīng)濟度里指標的使用也影響了軟件質(zhì)量經(jīng)濟價值的研究,即:平均缺陷成本和代碼行。平均缺陷成本對質(zhì)量不利,達到最低缺陷成本的軟件卻常常是千瘡百孔。代碼行對高級編程語言不利,它掩蓋了高級編程語言在軟件質(zhì)量和生產(chǎn)力研究方面的應有價值。
這一部分,筆者將嘗試用8個研究案例來展示軟件質(zhì)量的經(jīng)濟研究。由于軟件質(zhì)量的經(jīng)濟價值與應用規(guī)模緊密相關,所以使用4個離散的規(guī)模數(shù)量級來舉例說明:100個功能點、1000個功能點、10000個功能點和100000個功能點。100個功能點量級的應用軟件通常是大型系統(tǒng)的一個小功能模塊而不是一個獨立的應用軟件。但是,這個量級也是較大型應用軟件原型最常見的規(guī)模范圍??赡苡行┬⌒酮毩密浖囊?guī)模也在這個規(guī)模最級,比如貨幣轉(zhuǎn)換器或者手持設備(如iPhone)上的小程序等之類的小型應用軟件。
1000個功能點量級的應用軟件通常是獨立應用軟件,比如燃油噴射控制系統(tǒng)、原子表控制軟件、諸如Java等編程語言的編譯器以及COCOMO之類的軟件估算工具等。10000個功能點盆級的應用軟件通常是業(yè)務控制各個方面的重要系統(tǒng),比如保險理賠處理、機動車登記、兒童支持應用軟件等軟件系統(tǒng)。100000個功能點量級的應用軟件通常是大型國際電話交換系統(tǒng)之類的重大系統(tǒng)、Vista或者IBMMVS之類的操作系統(tǒng)、微軟Office之類相互關聯(lián)協(xié)作的應用套件。一些ERP應用軟件也屬此類規(guī)模的軟件。甚至有可能達到300000個功能點。同樣,諸如全球軍事指揮與控制系統(tǒng)(WWMCCS )等大41國防應用軟件也可能高達100000個功能點。
為減少可變因素數(shù)量。所有8個示例均假定以C語言編寫代碼,且每個功能點包含大約125個代碼語句。由于所有8個應用示例均假定使用相同編程語言編寫,故生產(chǎn)力和質(zhì)量可以用無失真的代碼行指標來表示。注意,將代碼行指標用于不同編程語言之間的比較是無效的。