查看“︁霍爾斯特德複雜度量測”︁的源代码
←
霍爾斯特德複雜度量測
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
'''霍爾斯特德複雜度量測'''({{lang|en|'''Halstead complexity measures'''}})是由霍爾斯特德在1977年提出的一種[[軟體度量]]方法<ref>{{cite book |author=Halstead, Maurice H. |title=Elements of Software Science |url=https://archive.org/details/elementsofsoftwa0000hals |publisher=Elsevier North-Holland, Inc. |location=Amsterdam |year=1977 |isbn=0-444-00205-7}}</ref>,是有關軟體開發經驗科學的論文中的一部份。 霍爾斯特德觀察到軟體度量應該要反映在不同[[程式語言]]中[[演算法]]實現的方式,但又要獨立於使用的平台及語言。這些度量要可以由靜態代碼中計算而得。 霍爾斯特德的目標是識別軟體中可量測的性質,以及各性質之間的關係。有點類似識別物體中可量測的性質(如氣體的體積、質量及壓強),以及各性質之間的關係(如[[理想氣體方程式]]的體積、質量及壓強),因此霍爾斯特德複雜度量測不單單只是一種{{link-en|程式複雜度|Programming complexity}}的度量。 == 計算 == 針對特定的演算法,首先需計算以下的數值: * <math>\,\eta_1</math> 為不同[[運算子]]的個數。 * <math>\,\eta_2</math> 為不同[[運算元]]的個數。 * <math>\,N_1</math> 為所有運算子合計出現的次數。 * <math>\,N_2</math> 為所有運算元合計出現的次數。 上述的運算子包括傳統的運算子及[[保留字]],運算元包括變數及常數。 依上述數值,可以計算以下的量測量: * 程式詞彙數(Program vocabulary):<math>\eta = \eta_1 + \eta_2 \,</math>。 * 程式長度(Program length):<math>N = N_1 + N_2 \,</math>。 * 計算程式長度(Calculated program length):<math>\hat{N} = \eta_1 \log_2 \eta_1 + \eta_2 \log_2 \eta_2 </math>。 * 容量(Volume):<math>V = N \times \log_2 \eta </math>。 * 難度(Difficulty):<math>D = { \eta_1 \over 2 } \times { N_2 \over \eta_2 } </math>。 * 精力(Effort):<math>E = D \times V </math>。 難度量測和撰寫程式或是瞭解程式(例如[[代碼審查]]時)的困難度有關。 精力可以用以下的關係式轉換為實際的程式撰寫時間。 * 程式撰寫時間:<math>T = {E \over 18}</math>秒。 霍爾斯特德交付錯誤(Halstead's delivered bugs)是估計在實現過程中會產生的錯誤。 *交付錯誤數量(Number of delivered bugs):<math>B = {E^{2 \over 3} \over 3000}</math>,或者是<math>B = {V \over 3000}</math>。 ==參考資料== <references /> ==相關條目== * {{link-en|機能點|Function point}} * [[循環複雜度]] ==外部連結== * [http://www.virtualmachinery.com/sidebar2.htm The Halstead metrics] {{Wayback|url=http://www.virtualmachinery.com/sidebar2.htm |date=20210420144840 }} - Extensive discussion on the calculation and use of Halstead Metrics in an object-oriented environment (with specific reference to Java). * [http://www.verifysoft.com/en_halstead_metrics.html Calculation of Halstead metrics] {{Wayback|url=http://www.verifysoft.com/en_halstead_metrics.html |date=20210427111029 }} - Measurement of Halstead Metrics. [[Category:軟體度量]]
该页面使用的模板:
Template:Cite book
(
查看源代码
)
Template:Lang
(
查看源代码
)
Template:Link-en
(
查看源代码
)
Template:Wayback
(
查看源代码
)
返回
霍爾斯特德複雜度量測
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息