面向功能的軟體度量

來源:互聯網
上載者:User
面向功能的度量
轉自:http://www.zxbc.cn/html/rjgc/2019251939768.html

    面向功能的軟體度量是對軟體和軟體開發過程的間接度量。面向功能度量的注意力集中於程式的“功能性”和“實用性”,而不是對LOc計數。該度量是由Albrecht首先提出來的。他提出了一種叫做功能點方法的生產率度量法,該方法利用有關軟體資料域的一些計數度量和軟體複雜性估計的經驗關係式,匯出功能點FPs(Function Points)。

  
    功能點通過填寫圖表格來計算。首先要確定五個資料域的特徵,並在表格中相應位置給出計數。資料域的值以如下方式定義: 
    (1)使用者輸入數:每個使用者輸入應是面向不同應用的輸入資料,對它們都要進行計數。輸入資料應區別於查詢資料,它們應分別汁數。 
    (2)使用者輸出數:各個使用者輸出是為使用者提供的面嚮應用的輸出資訊,它們均應計數。在這裡的“輸出”是指報告、螢幕資訊、錯誤資訊等,在報告中的各個資料項目不應再分別計數。 
    (3)使用者查詢數:查詢是一種聯機輸入,它引發軟體以聯機方式產生某種即時響應。每一個不同的查詢都要計數。 
    (4)檔案數:每一個邏輯主檔案都應計數。這裡的邏輯主檔案,是指邏輯上的一組資料,它們可以是一個大的資料庫的一部分,也可以是一個單獨的檔案。 
    (5)外部介面數:對所有使用來將資訊傳送到另一個系統中的介面(即磁帶、磁碟和可讀寫光碟片上的資料檔案)均應計數。 
    一旦收集到上述資料,就可以計算出與每一個計數相關的加權複雜性值。使用功能點方法的單位要自行擬定一些準則,用以確定一個特定項是簡單的、平均的還是複雜的。儘管如此,複雜性的確定多少還是帶點主觀因素的。計算功能點,使用如下的關係式: 
    FP=總計數×(0.65+O.01×sum(Fi))    (13.1) 
    其中,總計數是所有加權複雜性值的和;Fi(i=1到14)是複雜性校正值,它們應通過逐一回答所提問題來確定。sum(Fi)是求和函數。上述等式中的常數和應用於資料域計數的加權因數可經驗地確定。

    一旦計算出功能點,就可以仿照LOC的方式度量軟體的生產率、品質和其他屬性:
    生產率=FP/PM(人月)
    品質=錯誤數/FP
    成本=元/FP
    文檔=文檔頁數/FP
    功能點度量的擴充稱為特徵點FPs(Feature Points)度量 。它適合於演算法複雜性高的應用。而即時處理、過程式控制制、嵌入式軟體應用的演算法複雜性都偏高,因此適合特種點度量。

    為了計算特徵點,可對資料域值進行如上所述的計數和加權。此外,特徵點度量還要對一個新的軟體特徵“演算法”進行計數。可定義演算法為“在一個特定電腦程式內所包含的一個有界的計算問題”。例如,矩陣求逆、二進位串轉換為十進位數、處理一個中斷等都是演算法。
    計算特徵點可使用表格。對於每一個度量參數只使用一個權值,並且使用等式(13.1)來計算總的特徵點值。

    必須注意,特徵點與功能點表示的是同一件事:由軟體得到的“功能性,,或“實用性”。事實上,對於傳統的工程計算或資訊系統應用,兩種度量會得出相同的FP值。在較複雜的即時系統中,特徵點計數常常比只用功能點確定的計數高出20%到35%。

    與LOC一樣,對功能點(或特徵點)度量也是有爭議的。支援者認為FP與程式設計語言無關,對於使用傳統語言和非過程語言的應用來說,它是比較理想的;而且它所依據的是在項目評估早期就可能知道的資料,因此作為一種估算方法,FP是比較有吸引力的。反對者認為這種方法在其計算中依賴的是主觀因素而不是客觀實際。資料域的資料事後很難收集,而且FP沒有直接的物理意義,它只不過是一個數字。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.