新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 基于面向對象程序切片的軟件度量

        基于面向對象程序切片的軟件度量

        作者: 時間:2018-09-12 來源:網絡 收藏

        3.2 技術的研究
        是一個在近幾十年研究非常活躍的工程領域。抽象來講,它是一個函數,其輸入是軟件,輸出是單一的數值,能解釋軟件所具有的一個給定屬性對軟件質量的影響。用于預測、評估和控制軟件開發的過程,促進項目的成功,開發出高質量的產品。
        軟件主要包括復雜性度量、模塊性度量、易修改性度量、易移植性度量、可擴充性度量、可靠性度量、易維護性度量、測試充分性度量等。有些可以用數值表示,稱為“定量度量”;不能用單一數值表達的稱為“定性度量”。研究集中在定量度量方面的內聚度和耦合度的度量,這兩個方面是衡量軟件質量非常重要的標準。二者之間密切相關,模塊之間的強耦合通常意味著弱內聚,而模塊之間的強內聚則意味著弱耦合。

        本文引用地址:http://www.104case.com/article/201809/388955.htm

        4 利用技術進行軟件度量
        軟件開發的目標是開發出高內聚和低耦合的系統。這里研究利用切片技術度量面向程序的內聚度和耦合度,尤其是內聚度量。
        4.1 耦合度量
        耦合度(Coupling Degree)用來測量由兩個或多個模塊連接而引起的聯結程度的強弱。強耦合使模塊連接后的系統變得復雜。因為模塊之間具有高度的關聯,改寫模塊將十分困難。降低模塊間的耦合則可以減少系統的復雜性。因此,在系統設計中應追求盡可能松散的耦合關系。
        4.2 內聚度量
        內聚度(Cohesion Degree)是軟件的內在屬性,反映軟件設計和實現中模塊組件之間結合的緊密程度。高內聚的軟件模塊有著最基本的功能,很難再切割其規模。
        面向程序的基本特征是類。類由屬性和方法組成,屬性和方法間存在3種關系,因此類內聚度也從3個方面度量:屬性問內聚度、方法與屬性問內聚度、方法問內聚度。設類C共有n個屬性,m個方法,其中m,n≥0。V_Union表示所有成員變量。M_Union表示所有成員方法。這里使用數據標記(data token)而非語句作為基本單元來修正切片這個概念。數據切片包含和切片變量存在依賴關系的數據集合,簡寫作DataSlice(L,V),其中L表示程序中的某個點,通常情況下特指某條語句:V表示在L定義或使用的變量的集合;#表示勢操作,表示集合中元素的個數。則屬性間內聚度、方法與屬性間內聚度和方法間內聚度的計算公式分別為式(1)~(3),如下所示:

        4.3 實驗操作
        采用目前最主流的技術,以系統依賴圖為基礎,利用圖的可達性算法獲得切片結果。然后利用將切片結果代入式(1)~(3)進行計算,得到內聚度。
        以下面的程序為例進行切片,計算內聚度,并和基于依賴性分析的類內聚度度量方法相對比。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 宜城市| 峨边| 阳朔县| 闸北区| 新平| 蓝山县| 寿阳县| 察隅县| 虹口区| 仁化县| 乐昌市| 万山特区| 邹城市| 定西市| 伽师县| 澎湖县| 大化| 锦州市| 井陉县| 丰宁| 福海县| 特克斯县| 寻甸| 台江县| 宣恩县| 盐城市| 开化县| 青河县| 云梦县| 新闻| 利津县| 丹寨县| 汾西县| 芦山县| 平湖市| 韶关市| 玉龙| 吉林省| 永兴县| 民勤县| 延庆县|