?

基于UML的軟件規模度量

2016-11-14 02:05代余彪
中國科技信息 2016年21期
關鍵詞:模糊化點數度量

基于UML的軟件規模度量

飛速發展的計算機技術使得計算機的應用領域迅速擴大,因此,在各具體應用領域內開發的軟件系統越來越多,規模不斷地增長, 復雜程度增大。分析、評估現有軟件系統的可維護性、可靠性、可修改性和復雜性來降低后續類似系統的開發代價、提高軟件系統的質量提供了依據, 軟件度量是解決該問題的一種有效方法。

通過度量軟件生命周期中各種不同的元素來衡量軟件的規模,為項目管理者提供項目的各種重要信息,也給此后的評估活動的奠定了基礎。功能點分析是一種通用的規模度量方法,但是其需要專業人員的操作,而且復雜度的等級劃分是不連續的,這與實際的情況有較大的不同,因此,本文對其進行研究。

功能點分析及其問題分析

功能點分析

使用功能點分析度量軟件的規模是按照功能特征來進行的,通過需求分析獲得的系統功能及描述功能特征的用例圖和時序圖等來計算該系統的功能點即規模。主要通過外部應用接口和內部應用復雜度以及系統的總體性能特征來完成,由兩個部分組成:即未調整的功能點數及加權因子。未調整的功能點對外部輸入、外部輸出、外部查詢、內部邏輯文件和外部接口文件進行計數。在確定了它們的類型后,就要為其指定級別,事務功能類型(EI,EQ和 EO)的復雜度級別取決于被更新或引用的參考元素類型的個數以及數據元素類型的個數;ILF和EIF的級別取決于記錄元素類型RET和數據元素類型DET的個數。各功能的復雜度等級及其權值的規定參照文獻。

問題分析

功能點分析是一種通用的度量軟件規模的方法,而且已經成為軟件度量的標準,但是它仍然存在以下3個方面的問題,具體表現在:

1) 度量的復雜性

由于采用FPA進行規模度量的規則非常復雜,需要專業的人員進行評估;并且度量的規則是用簡單的自然語言描述的,因此,度量結果很容易受度量者的主觀影響;

2)復雜度分類存在模糊性

根據DET, RET和 FTR的復雜程度將5種功能元素歸類為低,中和高,這樣的復雜度劃分容易實現,但是存在模糊性。例如:表1中的軟件項目有2個ILF:ILF2和ILF3,他們都有2個RET,但是ILF2有50個DET, ILF3有20個DET。依據復雜性權重矩陣,它們具有相同的復雜度并且分配相同的權重值10,然而,ILF2比ILF3多了30個DET,應該更復雜。

3)復雜度分類存在不連續性

兩種不同的復雜度分類的權重值是不連續的,即使他們僅有1DET的差別。表1中的軟件項目有2個ILF:ILF1和ILF2,他們都有2個RET,但是ILF1有51個DET,ILF2有50個DET。依據復雜性權重矩陣,ILF1的復雜度為高分配權重值15,ILF2的復雜度為中分配權重值10,然而,ILF1僅比ILF2多了1個DET,權重值卻多5。

表1

為了解決問題1,本文采用UML來輔助評估過程,借助于系統分析中的類圖來簡化度量規則;采用邊界模糊的的方法來解決問題2和3。

改進的功能點分析

UML是一種通用的分析設計方法,本文用類圖來輔助進行功能規模的計算,功能點分析是一種廣泛應用的軟件規模度量方法,但是度量的結果容易受度量工作者的主觀影響,導致不同的人對同一項目的規模度量可能有很大的產生較大的差距;而且度量過程需要專業的人員實施,代價較大;為了使規模度量簡單易行,將需求的分析的結果作為度量的依據,并分析出規模與分析之間的度量規則,這樣不僅不會增加太多的工作量,而且度量結果不受主觀因素的影響。,所以,本文以此為基礎進行規模度量。具體規則如下:

(1) 計算數據類型的功能點數

計算數據類型功能點主要通過實體類來計算,但并不是每一個實體類都算做一個文件。計算實體類為一個文件依據以下的規則進行:

1) 若該類與其它類僅存在關聯關系不存在組成、聚集和繼承關系,則記為一個文件;

2) 若該類與其它類存在組成關系,則表示整體的類計為一個文件,而每一個部分類分別看作為整體類的一個記錄元素;

3) 若該類與其它類存在繼承關系,且父類是抽象類,則父類計為子類的記錄元素;

4)若該類與其它類存在繼承關系,且父類是具體類,則父類計為一個文件,同時計為子類的一個記錄元素。

(2)計算事務類型的功能點數

事務類型的復雜度由系統時序圖中執行者與邊界類和邊界類與數據庫文件之間的消息交互來計算。

(3)復雜度劃分的處理

針對復雜度在劃分上是分斷的,不是連續的,若該結果在同一項目中出現,可能導致度量結果的不準確。本文采用一定的方法將不同復雜度的權值的邊界進行模糊化解決該問題。下面以ILF的復雜度計算為例來說明這種方法。ILF的功能復雜度評價矩陣如表2所示,各復雜度等級對應的功能點數如表3所示。

表2 ILF的功能復雜度評價矩陣

表3 復雜度等級對應的功能點數

從表中可以看出:影響復雜度等級的因素有RET和DET的數量,首先說明DET的變化對模糊化權值得影響,因為對于相同的RET,DET的數量越多說明越復雜,即功能點數隨著DET的增加而增加,因此,將邊界左右的5個DET進行模糊化,本文采用線性的方法實現模糊化。對RET對復雜度的影響,是用同樣的方式進行,最后將所得的權值進行加權平均得到最終的功能點數。

根據該關系可計算出3個ILF文件對應的功能點數為:ILF1為10.75,ILF2為10.5, ILF3為8.5。

應用舉例

醫院管理系統的規模被計算采用本文的方法,在此以內部邏輯文件的功能點計算為例來說明改進的方法與原始方法的區別,計算結果如表4所示:

表4 內部邏輯文件的功能點

結語

為了解決傳統FPA方法在計算過程中需要專業人員及工作量大的問題,提出了根據UML中的類圖、時序圖、用例圖計算功能點的規則;同時,為了解決功能要素復雜度劃分不連續的問題,提出了利用邊界模糊化的方法來改進的復雜度權值計算方法。

10.3969/j.issn.1001- 8972.2016.21.023

猜你喜歡
模糊化點數度量
([0,1],[0,1])-模糊擬陣的基和秩函數
鮑文慧《度量空間之一》
餐飲娛樂空間的“邊界模糊化”態勢探討——餐飲娛樂空間設計專輯
代數群上由模糊(擬)偽度量誘導的拓撲
突出知識本質 關注知識結構提升思維能力
度 量
畫點數
我國村級環境政策末端執行模糊化問題研究
多核并行的大點數FFT、IFFT設計
巧猜骰子
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合