Title: 物件導向軟體量度方法之研究
Research on Object-Oriented Software Metrics Database
Authors: 李炎松
Yen-Sung Lee
王豐堅
Dr. Feng-Jian Wang
資訊科學與工程研究所
Keywords: 複雜度;耦合力;內聚力;軟體科學;資訊流;Complexity;Coupling;Cohesion;Software Sciencs;Information Flow
Issue Date: 1993
Abstract: 過去在軟體工程方面的研究已發現軟體量度方法的重要性.目前物件導向
方法在程式及計算方面正逐漸普及.然而,很少有量化的技術或方法可用來
驗證物件導向方法在一些性質上所主張的優點.由於傳統的量度方法無法
反應物件導向軟體的特性:包裝,信息傳送,繼承及同名異質,因此傳統的軟
體量度方法不見得適用於量度物件導向軟體.本論文提出兩套量度方法,用
來量度物件導向軟體程式體的複雜度,耦合力與內聚力.物件導向軟體的程
式體包括程序,類別,類別階層與程式.有關複雜度的量度,我們的方法是計
算程式體的內部複雜度以及程式體間的介面複雜度.程式體的內部複雜度
是以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/#NT820392081
http://hdl.handle.net/11536/57892
Appears in Collections:Thesis