一種軟件需求分析量化方法及系統(tǒng)的制作方法
【專利摘要】一種軟件需求分析量化方法及系統(tǒng),包括:樣本獲取模塊以基本過程為分類對象,獲取分類器的樣本,每一樣本中,待分類項的特征屬性值根據歷史數據中一基本過程的特征屬性的取值確定,輸出類別根據歷史數據中該基本過程的開發(fā)時間確定;分類器生成模塊利用獲取的樣本作為訓練樣本訓練分類器模型,生成分類器;分類模塊在確定軟件需求劃分成的基本過程的各項特征屬性取值后,利用所述分類器進行分類,得到相應的輸出類別即開發(fā)時間。本發(fā)明利用歷史數據生成分類器,并引入功能點所屬模塊類型的特征,可以更為準確地估算軟件開發(fā)時間,對量化軟件開發(fā)過程,控制軟件生命周期有良好效果。
【專利說明】一種軟件需求分析量化方法及系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及軟件需求分析量化,更具體地,涉及一種與功能點分析法(FPA:function point analysis)相關的需求分析量化方法及系統(tǒng)。
【背景技術】
[0002]FPA主要解決如何對軟件規(guī)模進行度量的問題。FPA由IBM的工程師Al IanAlbrech于20世紀70年代提出,隨后被國際功能點用戶協(xié)會(IFPUG:The InternationalFunction Point Users’Group)提出的 IFPUG 方法繼承。功能點估算(Function PointEstimation)是FPA演化而來的一種用來估算項目大小的技術。經由ISO組織,已經有多種功能點估算方法成為國際標準,如=Alain Abran等人提出的全面功能點法,英國軟件度量協(xié)會提出的IFPUG功能點法,軟件度量共同協(xié)會提出的C0SMIC-FFP法等等。隨著FPA的廣泛使用,IFPUG成立了認證委員會,對FPA領域專業(yè)技術人員的水平進行認證。
[0003]一個功能點用一定規(guī)模的系統(tǒng)數據(內部邏輯文件(ILF)和外部接口文件(EIF))及其處理(外部輸入(EI )、外部輸出(EO)和外部查詢(EQ))來表征,它囊括了為實現(xiàn)特定功能所固有和必需的需求分析、系統(tǒng)設計、編寫文檔和測試用例、編碼、測試、部署、調優(yōu)、培訓等工作。
[0004]現(xiàn)有的功能點估算方法包括以下步驟:
[0005]a)界定的軟件范圍;
[0006]b)將軟件分解為可以被單獨估算的功能點;
[0007]c)根據功能點的類型、規(guī)模和復雜度計算原始功能點數;
[0008]功能點可以分為兩類:數據功能點和事務功能點。數據功能點的規(guī)??梢杂肐LF和EIF的數量來表征,事務功能點的規(guī)??梢杂忙ウⅵ?和EQ的數量來表征。而ILF和EIF的復雜度根據其包含的數據元素類型(DET)和記錄元素類型(RET)的數目查表得到,ΕΙ、Ε0和EQ的復雜度根據其包含的DET和引用文件類型(FTR)的數目查表得到。每一功能點的原始功能點數FP=S各個復雜度等級的信息域數量X加權值,其中,復雜度等級分為高、中、低三個等級,ILF、EIF、EI, EO和EQ構成5種信息域,某一復雜度等級的信息域的加權值可以查表得到。
[0009]d)確定調整因子;
[0010]e)根據公式計算用調整因子調整后的功能點數。
[0011]然后,用計算出的總功能點數除以估算的每人每月可以完成的功能點數,即可得估算出軟件開發(fā)時間。
[0012]但上述估算方法在計算原始功能點數時,過多依靠專家的項目經驗所得的表格,沒有考慮到功能點所屬模塊類型的影響,也沒有對歷史數據進行適當和充分的利用,以此估算得到的軟件開發(fā)時間不夠準確。
【發(fā)明內容】
[0013]本發(fā)明要解決的技術問題是提供一種更為準確的軟件需求分析量化方法及系統(tǒng)。
[0014]為了解決上述問題,本發(fā)明提供了一種軟件需求分析量化方法,包括:
[0015]以基本過程為分類對象,獲取分類器的樣本,每一樣本中,待分類項的特征屬性值根據歷史數據中一基本過程的特征屬性的取值確定,輸出類別根據歷史數據中該基本過程的開發(fā)時間確定,所述特征屬性包括信息域類型、功能復雜度屬性、所屬模塊屬性和開發(fā)人員屬性;
[0016]利用獲取的樣本作為訓練樣本訓練分類器模型,生成分類器;
[0017]確定軟件需求劃分成的基本過程的各項特征屬性取值,利用所述分類器進行分類,得到相應的輸出類別即開發(fā)時間。
[0018]較佳地,
[0019]所述分類器為樸素貝葉斯分類器;
[0020]所述利用獲取的樣本作為訓練樣本訓練分類器模型,生成分類器,包括:計算出每個輸出類別在訓練樣本中出現(xiàn)的概率,以及對于每一特征屬性,計算出該特征屬性的每一特征屬性值在每一輸出類別下的條件概率。
[0021]較佳地,
[0022]如基本過程的信息域類型為內部邏輯文件ILF或外部接口文件EIF,功能復雜度屬性用數據元素類型DET和記錄元素類型RET的數量表征;如基本過程的信息域類型為外部輸入E1、外部輸出EO或外部查詢EQ,功能復雜度屬性用數據元素類型DET和引用文件類型FTR的數量表征;
[0023]所述所屬模塊屬性根據軟件需求所屬行業(yè)的業(yè)務功能劃分確定;
[0024]所述人員屬性包括如開發(fā)人員的年齡、學歷、性別、開發(fā)經驗、每日或每周工作時間,及使用的語言中的一種或多種。
[0025]較佳地,
[0026]所述待分類項的特征屬性值根據歷史數據中基本過程的特征屬性的取值確定,包括:
[0027]直接將歷史數據中基本過程的特征屬性的取值作為待分類項的特征屬性值,或者,先將歷史數據中基本過程的特征屬性的取值劃分為多個數值區(qū)間,將每一個數值區(qū)間作為待分類項的一特征屬性值。
[0028]較佳地,
[0029]所述利用獲取的樣本作為訓練樣本訓練分類器模型,生成分類器之后,還包括:
[0030]利用獲取的另一部分樣本作為測試樣本,使用生成的分類器對所述測試樣本進行分類并判斷分類結果的錯誤率是否超出設定的閾值,如不超過,則分類器可以使用,如超過,則對所述分類器進行優(yōu)化處理,然后利用測試樣本重新進行測試。
[0031]相應地,本發(fā)明提供了一種軟件需求分析量化系統(tǒng),包括:
[0032]樣本獲取模塊,用于以基本過程為分類對象,獲取分類器的樣本,每一樣本中,待分類項的特征屬性值根據歷史數據中一基本過程的特征屬性的取值確定,輸出類別根據歷史數據中該基本過程的開發(fā)時間確定,所述特征屬性包括信息域類型、功能復雜度屬性、所屬模塊屬性和開發(fā)人員屬性;
[0033]分類器生成模塊,用于利用獲取的樣本作為訓練樣本訓練分類器模型,生成分類器;
[0034]分類模塊,用于確定軟件需求劃分成的基本過程的各項特征屬性取值,利用所述分類器進行分類,得到相應的輸出類別即開發(fā)時間。
[0035]較佳地,
[0036]所述分類器生成模塊生成的是樸素貝葉斯分類器;
[0037]所述分類器生成模塊利用獲取的樣本作為訓練樣本訓練分類器模型,生成分類器,包括:根據所述訓練樣本,計算出每個輸出類別在訓練樣本中出現(xiàn)的概率,以及對于每一特征屬性,計算出該特征屬性的每一特征屬性值在每一輸出類別下的條件概率。
[0038]較佳地,
[0039]所述樣本獲取模塊獲取分類器的樣本時,如基本過程的信息域類型為內部邏輯文件ILF或外部接口文件EIF,功能復雜度屬性用數據元素類型DET和記錄元素類型RET的數量表征;如基本過程的信息域類型為外部輸入E1、外部輸出EO或外部查詢EQ,功能復雜度屬性用數據元素類型DET和引用文件類型FTR的數量表征;
[0040]所述所屬模塊屬性根據軟件需求所屬行業(yè)業(yè)務功能的模塊劃分確定;
[0041]所述人員屬性包括如開發(fā)人員的年齡、學歷、性別、開發(fā)經驗、每日或每周工作時間,及使用的語言中的一種或多種。
[0042]較佳地,
[0043]所述樣本獲取模塊在獲取樣本時,直接采用歷史數據中基本過程的特征屬性的取值作為待分類項的特征屬性值,或者,先將歷史數據中基本過程的特征屬性的取值劃分為多個數值區(qū)間,將每一個數值區(qū)間作為待分類項的一特征屬性值。
[0044]較佳地,
[0045]所述分類器生成模塊利用獲取的樣本作為訓練樣本訓練分類器模型,生成分類器之后,還利用獲取的另一部分樣本作為測試樣本,使用生成的分類器對所述測試樣本進行分類并判斷分類結果的錯誤率是否超出設定的閾值,如不超過,則分類器可以使用,如超過,則對所述分類器進行優(yōu)化處理,然后利用測試樣本重新進行測試。
[0046]上述方案引用數據挖掘技術的分類算法如樸素貝葉斯分類算法,利用歷史數據生成分類器,并引入功能點所屬模塊類型的特征,可以更為準確地估算軟件開發(fā)時間,對量化軟件開發(fā)過程,控制軟件生命周期有良好效果。在生成分類器的過程中,可以通過測試分類器輸出數據并與歷史數據做比較分析,修正選擇的功能點輸入特征,將量化的誤差控制在一定范圍內。
【專利附圖】
【附圖說明】
[0047]圖1是本發(fā)明實施例方法的流程圖;
[0048]圖2是本發(fā)明實施例系統(tǒng)的模塊圖。
【具體實施方式】
[0049]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,下文中將結合附圖對本發(fā)明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。[0050]樸素貝葉斯算法(Naifve Bayesian, NB)是基于貝葉斯定理與特征的條件獨立假設的分類算法,能夠將一個未知類別的樣本歸類到某個預先已知分類中,貝葉斯定理如下式:
【權利要求】
1.一種軟件需求分析量化方法,包括: 以基本過程為分類對象,獲取分類器的樣本,每一樣本中,待分類項的特征屬性值根據歷史數據中一基本過程的特征屬性的取值確定,輸出類別根據歷史數據中該基本過程的開發(fā)時間確定,所述特征屬性包括信息域類型、功能復雜度屬性、所屬模塊屬性和開發(fā)人員屬性; 利用獲取的樣本作為訓練樣本訓練分類器模型,生成分類器; 確定軟件需求劃分成的基本過程的各項特征屬性取值,利用所述分類器進行分類,得到相應的輸出類別即開發(fā)時間。
2.如權利要求1所述的方法,其特征在于: 所述分類器為樸素貝葉斯分類器; 所述利用獲取的樣本作為訓練樣本訓練分類器模型,生成分類器,包括:計算出每個輸出類別在訓練樣本中出現(xiàn)的概率,以及對于每一特征屬性,計算出該特征屬性的每一特征屬性值在每一輸出類別下的條件概率。
3.如權利要求2所述的方法,其特征在于: 如基本過程的信息域類型為內部邏輯文件ILF或外部接口文件EIF,功能復雜度屬性用數據元素類型DET和記錄 元素類型RET的數量表征;如基本過程的信息域類型為外部輸入E1、外部輸出EO或外部查詢EQ,功能復雜度屬性用數據元素類型DET和引用文件類型FTR的數量表征; 所述所屬模塊屬性根據軟件需求所屬行業(yè)的業(yè)務功能劃分確定; 所述人員屬性包括如開發(fā)人員的年齡、學歷、性別、開發(fā)經驗、每日或每周工作時間,及使用的語言中的一種或多種。
4.如權利要求1或2或3所述的方法,其特征在于: 所述待分類項的特征屬性值根據歷史數據中基本過程的特征屬性的取值確定,包括:直接將歷史數據中基本過程的特征屬性的取值作為待分類項的特征屬性值,或者,先將歷史數據中基本過程的特征屬性的取值劃分為多個數值區(qū)間,將每一個數值區(qū)間作為待分類項的一特征屬性值。
5.如權利要求1或2或3所述的方法,其特征在于: 所述利用獲取的樣本作為訓練樣本訓練分類器模型,生成分類器之后,還包括: 利用獲取的另一部分樣本作為測試樣本,使用生成的分類器對所述測試樣本進行分類并判斷分類結果的錯誤率是否超出設定的閾值,如不超過,則分類器可以使用,如超過,則對所述分類器進行優(yōu)化處理,然后利用測試樣本重新進行測試。
6.一種軟件需求分析量化系統(tǒng),其特征在于,包括: 樣本獲取模塊,用于以基本過程為分類對象,獲取分類器的樣本,每一樣本中,待分類項的特征屬性值根據歷史數據中一基本過程的特征屬性的取值確定,輸出類別根據歷史數據中該基本過程的開發(fā)時間確定,所述特征屬性包括信息域類型、功能復雜度屬性、所屬模塊屬性和開發(fā)人員屬性; 分類器生成模塊,用于利用獲取的樣本作為訓練樣本訓練分類器模型,生成分類器; 分類模塊,用于確定軟件需求劃分成的基本過程的各項特征屬性取值,利用所述分類器進行分類,得到相應的輸出類別即開發(fā)時間。
7.如權利要求6所述的系統(tǒng),其特征在于: 所述分類器生成模塊生成的是樸素貝葉斯分類器; 所述分類器生成模塊利用獲取的樣本作為訓練樣本訓練分類器模型,生成分類器,包括:根據所述訓練樣本,計算出每個輸出類別在訓練樣本中出現(xiàn)的概率,以及對于每一特征屬性,計算出該特征屬性的每一特征屬性值在每一輸出類別下的條件概率。
8.如權利要求7述的系統(tǒng),其特征在于: 所述樣本獲取模塊獲取分類器的樣本時,如基本過程的信息域類型為內部邏輯文件ILF或外部接口文件EIF,功能復雜度屬性用數據元素類型DET和記錄元素類型RET的數量表征;如基本過程的信息域類型為外部輸入E1、外部輸出EO或外部查詢EQ,功能復雜度屬性用數據元素類型DET和引用文件類型FTR的數量表征; 所述所屬模塊屬性根據軟件需求所屬行業(yè)業(yè)務功能的模塊劃分確定; 所述人員屬性包括如開發(fā)人員的年齡、學歷、性別、開發(fā)經驗、每日或每周工作時間,及使用的語言中的一種或多種。
9.如權利要求6或7或8述的系統(tǒng),其特征在于: 所述樣本獲取模塊在獲取樣本時,直接采用歷史數據中基本過程的特征屬性的取值作為待分類項的特征屬性值,或者,先將歷史數據中基本過程的特征屬性的取值劃分為多個數值區(qū)間,將每一個數值區(qū)間作為待分類項的一特征屬性值。
10.如權利要求6或7或8述的系統(tǒng),其特征在于: 所述分類器生成模塊利用獲取的樣本作為訓練樣本訓練分類器模型,生成分類器之后,還利用獲取的另一部分樣本作為測試樣本,使用生成的分類器對所述測試樣本進行分類并判斷分類結果的錯誤率是否超出設定的閾值,如不超過,則分類器可以使用,如超過,則對所述分類器進行優(yōu)化處理,然后利用測試樣本重新進行測試。
【文檔編號】G06F9/44GK103577195SQ201310566545
【公開日】2014年2月12日 申請日期:2013年11月14日 優(yōu)先權日:2013年11月14日
【發(fā)明者】董喬, 陳斌, 季文翀, 楊光 申請人:中國聯(lián)合網絡通信集團有限公司, 聯(lián)通系統(tǒng)集成有限公司