敬請註冊 ... !    登入
關於本協會
登入
軟體品質資源專區
主選單
最新討論文章
討論區主頁
   軟體工程管理
     有關 KLOC ( 程式碼計算 )
無發表權

樹狀顯示 | 新的在前 前一個主題 | 下一個主題 | 頁尾
發表者 討論內容
liangh
發表時間: 2006-08-07 19:23
Just popping in
註冊日: 2005-10-25
來自: 銀行
發表數: 9
有關 KLOC ( 程式碼計算 )
各位好,

目前敝公司正在準備搜集IR/KLOC值,我知道KLOC的計算各家算法不同,不知是否有人願意談談看KLOC的計算有那些算法.

目前我是用寫程式批次去計算,去除空白 & 註解行後,且只計算程式指令的部分(即不包含變數定義區),不過我想針對某些迴圈運算子或者是判斷運算子給予不同的權數,只是這個權數不知是否有參考值?
eyeball
發表時間: 2006-08-08 20:13
Just popping in
註冊日: 2004-11-22
來自:
發表數: 1
Re: 有關KLOC
建議您不必太在意這些,從頭到尾只要是使用同一標準計算就可以了
多一點時間開發產品比較實際一點
damnit
發表時間: 2006-08-08 21:34
Just popping in
註冊日: 2005-09-25
來自:
發表數: 15
Re: 有關KLOC
Damnit的看法是...
要看您的目標是什麼啦

如果你考慮到維護的問題,那麼程式的註解當然也該算進去,因為寫註解也是要花時間的,如果不算的話,工程師為什麼要寫程式註解呢?

建議您只要是花effort去寫出來的東西,就該被列計吧。

如果你要算實際寫程式所花費的effort,那麼,最好要把reuse,但沒有做任何修改的程式碼排除掉。修改後reuse的部分,只計算修改的程式碼行數。

使用別人家的元件,那麼要把別人家的元件可能的程式碼行數排除。
呼叫開發環境提供的元件或函式,這些也應該被去掉的。

還有在計算程式的品質時,會用到Defect Density Value,以程式規模為分母,Defect數目為分子,因此,為使整個計算有意義,而且不失真,應該最真實地反映出專案人員花費effort所產生的程式規模。
liangh
發表時間: 2006-08-09 13:13
Just popping in
註冊日: 2005-10-25
來自: 銀行
發表數: 9
Re: 有關KLOC
謝謝eyeball的回應,不過之所以要計算KLOC,是為了累積quality的標準值,也就是CMMI要我們做的measurement->metric的功夫.

Damnint,你說到了我問這個問題的root cause,的確是為了計算Defect Density Value,而倒不是為了預估effort用,不過現在問題是出在分母的部分,所謂的<程式規模>,到底是用KLOC 或者是專案"預計effort" ,又或者是最後反應出來的"實際投入effort"呢?
tyrone
發表時間: 2006-08-10 10:23
網站管理員
註冊日: 2003-04-19
來自: CSQA
發表數: 342
Re: 有關KLOC
Liangh 您好:

這個問題應該分兩個部分來說:
其一:為建立程式碼審查(Code Review)離去準則(Exit Criteria)而律定:
在專案前期階段,基於成本、品質與工作規劃三者求取平衡點時考慮。因為專案的預算多半是固定的,配置給V&V的預算不會無限制地擴張(當然如果是「非以軟體開發為營利目的」之組織,其內部自己的團隊在開發軟體,狀況可能又不一樣),而審查的工作卻都是要算成本的,那麼那些程式碼要做審查?要做多少次的審查?找到多少那一類缺陷,達到多少的缺陷密度臨限(threshold)(簡單說,就是可以容忍的DDV)時,就可以將審查結束,而同時可以兼顧到軟體的品質?這時候,由於沒有實際的軟體規模數據(KLOC),所以這個時候,是採用預估的KLOC(或EKLOC),此時的主要目的是要得到DDV,作為程式碼審查工作的離去準則。當然,這個時候最好是能以過去的經驗值來估算,而此時此刻的估算也可以作為以後估算的參考。

其二:在實際進行程式碼審查時:
這個時候,接受審查之程式規模,當然是以實際的KLOC來計算了。

附帶一提:不論是CMMI也好、ISO/IEC 12207、ISO/IEC 15504、ISO 9001......,在這些不論是組織導向(CMMI, ISO/IEC 15504, ISO 9001, CNS 12681, CNS 14785)的軟體品質管理制度框架,或者是軟體本身導向(ISO/IEC 12207, CNS 14837)的軟體品質管理制度框架,所要求的目標,常常是數個項目可以透過一個活動而達到的。所以在工作設計或表單設計上就必須要有技巧,要巧妙地把很多個項目在同一個活動中涵蓋,以免增加人員的負擔。
就以一個程式碼審查來說,可以看到程式碼的缺陷狀況、程式碼的可維護性、可分析性、適用性、正確性的問題,程式碼審查也可以看到生產力的問題、程式設計人員技術水準的問題、審查所花費的Effort、成本效益的問題、......端看組織的需求、對於工程管理的能力及數據解讀的能力了。


----------------
引文:

凡所有相皆是虛妄。見諸相非相。即見如來。

林泰龍
◎軟體品質協會 理事
◎經濟部標準檢驗局資訊及通信國家標準技術委員會(TC21/SC3資訊軟體分組委員會)委員
Youtube Channel: http://www.youtube.com/user/tyrone9304

alexyin
發表時間: 2006-08-11 11:11
Just popping in
註冊日: 2006-04-03
來自: 國防工業發展協會(NDIA-SINO)
發表數: 20
Re: 有關KLOC
(1)KLOC本身並未於相關標準文件中敘述,但如果討論範圍考慮為Source Line of Code,目前一般都接受SEI報告CMU/SEI-92-TR-20 Figure 2-2的計算法:就是不計算Comments以及Nonexecutable部分;
(2)KLOC本身可應用於COCOMO以及COSYSMO的計算,前者可將KLOC轉換為整個計畫所需MAN-MONTH,後者可將KLOC轉換為計畫執行的最小TIME PERIOD,但COCOMO與COSYSMO的計算隨language、domain、CASE tool、project size、project risk factor、team maturality、....而有極大差異因此必須調整眾多factors,我以前參與的專案計算出來的數字是“3 SLOC/per staff/per day”,當時美國國安局公佈的美方標準值是“50 SLOC/per staff/per month”;
(3)以下這一份報告可以提供與KLOC蠻有趣的統計資料,它包括的軍用與商用的眾多doamin的資訊
http://www.softwaretechnews.com/stn7-2/reifer.html
(4)前述KLOC的計算如果專案有使用RE-USE components,必須依據報告之參考文獻[2]與[3]計算出ESLOC (EQUIVALENT SOURCE LINE OF CODE)
樹狀顯示 | 新的在前 前一個主題 | 下一個主題 | 頁首

無發表權
 
-=協會通訊地址:330047 桃園市桃園區大林路100號6樓 =-
電話:(03) 367-8567 電子信箱:register@csqa-tw.org.tw=-
-=本網著作權為中華民國資訊軟體品質協會所有,禁止未經授權轉貼節錄=-
Powered by XOOPS , Twe76.net