1 目的
本規(guī)程的目的是基于軟件需求產(chǎn)生軟件規(guī)模的估計(jì)。功能點(diǎn)是基于應(yīng)用軟件的外部、內(nèi)部特性以及軟件性能的,一種間接的軟件規(guī)模的測(cè)量。功能點(diǎn)與軟件成本具有重大的成本估計(jì)關(guān)系(CER:Cost Estimating Relationship)。功能點(diǎn)可以作為經(jīng)驗(yàn)統(tǒng)計(jì)參數(shù)化軟件成本估計(jì)公式和模型的輸入,以對(duì)軟件的成本進(jìn)行估計(jì)。功能點(diǎn)方法被廣泛的認(rèn)可在信息系統(tǒng)、數(shù)據(jù)庫(kù)密集型、4GL應(yīng)用系統(tǒng)開發(fā)的規(guī)模測(cè)量。
2 范圍
功能點(diǎn)是對(duì)軟件功能和規(guī)模的間接定量測(cè)量,它基于客觀的外部應(yīng)用接口和主觀的內(nèi)部應(yīng)用復(fù)雜度以及總體的性能特征。該規(guī)程由三個(gè)邏輯部分組成:決定未調(diào)整的功能點(diǎn)計(jì)數(shù)、加權(quán)因子和功能點(diǎn)。
決定未調(diào)整的功能計(jì)數(shù)包括對(duì)外部輸入、外部輸出、外部查詢、內(nèi)部邏輯文件和外部接口文件的計(jì)數(shù)。決定加權(quán)因子包括劃定系統(tǒng)、輸入和輸出、應(yīng)用復(fù)雜度的級(jí)別。決定功能點(diǎn)包括將未調(diào)整的功能點(diǎn)和加權(quán)因子整合在一起。
功能點(diǎn)具有兩個(gè)獨(dú)立的目標(biāo)。第一個(gè)目標(biāo)是作為軟件測(cè)量、對(duì)比和分析(如,軟件度量方法)的基礎(chǔ)。第二個(gè),也是更重要的目標(biāo)是作為軟件成本估計(jì)模型(如,公式)和產(chǎn)出工作量(如,工時(shí))工具的輸入,軟件成本估計(jì)模型和工具則基于功能點(diǎn)和工作量之間的經(jīng)驗(yàn)成本估計(jì)關(guān)系(CER)。
3 角色和職責(zé)
任務(wù)經(jīng)理:任務(wù)經(jīng)理負(fù)責(zé)為軟件成本估計(jì)進(jìn)行對(duì)功能點(diǎn)的估計(jì)。任務(wù)經(jīng)理必須基于外部應(yīng)用接口估計(jì)未調(diào)整功能點(diǎn),和基于應(yīng)用程序的復(fù)雜度和性能對(duì)加權(quán)因子進(jìn)行估計(jì)。 任務(wù)經(jīng)理必須輔助決定功能點(diǎn)以及從技術(shù)人員處獲取輸入。
下列任務(wù)承擔(dān)責(zé)任:
! 6.1 決定未調(diào)整功能點(diǎn)計(jì)數(shù)
! 6.2 決定加權(quán)因子
! 6.3 決定功能點(diǎn)
4 輸入
事務(wù)和文件清單:應(yīng)用軟件功能和規(guī)模的間接的定量測(cè)量基于外部應(yīng)用接口客觀的數(shù)量,如:外部輸入、外部輸出、外部查詢、內(nèi)部邏輯文件和外部接口文件。
! 外部輸入:數(shù)據(jù)由外向內(nèi)跨越邊界的基本處理過(guò)程。數(shù)據(jù)可能來(lái)自于數(shù)據(jù)輸入屏幕、電子輸入或其它應(yīng)用程序。數(shù)據(jù)可以是控制信息或業(yè)務(wù)信息。如果數(shù)據(jù)是業(yè)務(wù)信息,它用于維護(hù)一個(gè)或多個(gè)內(nèi)部邏輯文件。如果數(shù)據(jù)是控制信息,它不必更新內(nèi)部邏輯文件。
! 外部輸出:導(dǎo)出的數(shù)據(jù)由內(nèi)向外跨越邊界的基本處理過(guò)程。數(shù)據(jù)創(chuàng)建發(fā)送給其它應(yīng)用的報(bào)表或輸出文件。這些報(bào)表和文件由一個(gè)或多個(gè)內(nèi)部邏輯文件和外部接口文件所創(chuàng)建。
! 外部查詢:包括輸入和輸出構(gòu)件的基本處理過(guò)程。輸入和輸出構(gòu)件導(dǎo)致一個(gè)或多個(gè)內(nèi)部邏輯文件和外部接口文件的數(shù)據(jù)檢索。該信息被發(fā)送出應(yīng)用程序邊界。輸入過(guò)程不會(huì)更新任何內(nèi)部邏輯文件以及輸出不包含導(dǎo)出的數(shù)據(jù)。
! 內(nèi)部邏輯文件:完全駐留在應(yīng)用程序內(nèi)部的邏輯相關(guān)數(shù)據(jù)的用戶可識(shí)別的組,通過(guò)外部輸入所維護(hù)。
! 外部接口文件:僅用于引用目的的邏輯相關(guān)數(shù)據(jù)的用戶可識(shí)別的組。數(shù)據(jù)完全駐留在應(yīng)用程序外部,由其它應(yīng)用程序所維護(hù)。外部接口文件是其它應(yīng)用程序的內(nèi)部邏輯文件。
下列任務(wù)需要輸入條件:
! 6.1 決定未調(diào)整功能點(diǎn)計(jì)數(shù)
系統(tǒng)的總體特性:間接和主觀的應(yīng)用軟件功能和規(guī)模的測(cè)量基于內(nèi)部應(yīng)用復(fù)雜度和整體性能特性級(jí)別的劃分,如系統(tǒng)、輸入和輸出以及應(yīng)用復(fù)雜度。
以下的任務(wù)需要輸入條件:
! 6.2 決定加權(quán)因子
5 輸出
功能點(diǎn):功能點(diǎn)作為軟件成本估計(jì)基礎(chǔ),是軟件規(guī)模、功能和復(fù)雜度的測(cè)量。
下列任務(wù)需要輸出條件:
! 6.3 決定功能點(diǎn)
6 步驟
6.1 決定未調(diào)整功能點(diǎn):
決定未調(diào)整功能點(diǎn)的數(shù)目包括對(duì)外部輸入、外部輸出、外部查詢、內(nèi)部邏輯文件和外部接口文件的計(jì)數(shù)。
6.1.1 決定外部輸入:
外部輸入是數(shù)據(jù)由外向內(nèi)跨越邊界的基本處理過(guò)程。數(shù)據(jù)可能來(lái)自于數(shù)據(jù)輸入屏幕、電子輸入或其它應(yīng)用程序。數(shù)據(jù)可以是控制信息或業(yè)務(wù)信息。如果數(shù)據(jù)是業(yè)務(wù)信息,它用于維護(hù)一個(gè)或多個(gè)內(nèi)部邏輯文件。如果數(shù)據(jù)是控制信息,它不必更新內(nèi)部邏輯文件。
對(duì)于低、平均或高,將數(shù)目分別乘以3、4或6。
6.1.2 決定外部輸出:
外部輸出是導(dǎo)出的數(shù)據(jù)由內(nèi)向外跨越邊界的基本處理過(guò)程。數(shù)據(jù)創(chuàng)建發(fā)送給其它應(yīng)用的報(bào)表或輸出文件。這些報(bào)表和文件由一個(gè)或多個(gè)內(nèi)部邏輯文件和外部接口文件所創(chuàng)建。
對(duì)于低、平均或高,將數(shù)目分別乘以4、5或7。
6.1.3 決定外部查詢:
外部查詢是包括輸入和輸出構(gòu)件的基本處理過(guò)程。輸入和輸出構(gòu)件導(dǎo)致一個(gè)或多個(gè)內(nèi)部邏輯文件和外部接口文件的數(shù)據(jù)檢索。該信息被發(fā)送出應(yīng)用程序邊界。輸入過(guò)程不會(huì)更新任何內(nèi)部邏輯文件以及輸出不包含導(dǎo)出的數(shù)據(jù)。
對(duì)于低、平均或高,將數(shù)目分別乘以3、4或6。