標題: 物件導向軟體量度方法之研究Research on Object-Oriented Software Metrics Database 作者: 李炎松Yen-Sung Lee王豐堅Dr. Feng-Jian Wang資訊科學與工程研究所 關鍵字: 複雜度;耦合力;內聚力;軟體科學;資訊流;Complexity;Coupling;Cohesion;Software Sciencs;Information Flow 公開日期: 1993 摘要: 過去在軟體工程方面的研究已發現軟體量度方法的重要性.目前物件導向 方法在程式及計算方面正逐漸普及.然而,很少有量化的技術或方法可用來 驗證物件導向方法在一些性質上所主張的優點.由於傳統的量度方法無法 反應物件導向軟體的特性:包裝,信息傳送,繼承及同名異質,因此傳統的軟 體量度方法不見得適用於量度物件導向軟體.本論文提出兩套量度方法,用 來量度物件導向軟體程式體的複雜度,耦合力與內聚力.物件導向軟體的程 式體包括程序,類別,類別階層與程式.有關複雜度的量度,我們的方法是計 算程式體的內部複雜度以及程式體間的介面複雜度.程式體的內部複雜度 是以Halstead的軟體科學為基礎:以程式體的內部所使用的程序及變數的 數量來量度程式程式體的介面複雜度 .介面複雜度包括輸入介面量(流入 此程式體的資訊量)與輸出介面量(流出此程式體的資訊量).有關耦合力與 內聚力的量度,我們的方法是計算兩個程式體間的連結強度.兩個程式體間 有連結存在,是指有資訊由一程式體流到另一程式體.程式體的耦合力用於 量度程式體與其他程式體間的連結強度,內聚力則是用於量度程式體內部 各子程式體間的連結強度. Research in software engineering has shown the importance of oftware metrics. Object-oriented paradigm is getting popular inrogramming and computing. However, there are few quantitativeechniques used to verify the claims of qualitative advantagesupported by object-oriented paradigm. Traditional metrics mayot be appropriate for measuring object-oriented software sincehey do not reflect the object-oriented characteristics: encapsu-ation, message passing, inheritance, and polymorphism. This dis-ertation presents two sets of metrics for measuring the complex-ty, coupling, and cohesion of object-oriented program entities,uch as methods, classes, class hierarchies, and programs. For complexity metrics, we count the internal complexity ofntities and interface complexity among entities. The internalomplexity of an entity is based on Halstead's Software Science:ount the selectors (methods or functions) and variables usedithin an entity to calculate its internal complexity. The inter-ace complexity of an entity is based on information flow: Themount of information flow of an entity E includes input inter-ace count, the amount of information passed into E, and outputnterface count, the amount of information passed to the exter-al other entities. For coupling and cohesion metrics, out app-oach computes the connection strength between two programntities. The coupling of an entity is measure of connectiontrength between the entity and others, and the cohesion of anntity is a measure of connection strength among sub-entitiesithin the entity. URI: http://140.113.39.130/cdrfb3/record/nctu/#NT820392081http://hdl.handle.net/11536/57892 Appears in Collections: Thesis