軟件測試 | 模塊化與模塊獨(dú)立性
1.模塊化
模塊是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?。模塊可以單獨(dú)被命名,而且可通過名字來訪問,例如,過程、函數(shù)、子程序、宏等都可作為模塊。
2.抽象與逐步求精
軟件工程的每一步都是對軟件解法的抽象層次的一次精化。抽象與逐步求精是緊密相關(guān)的。
3.信息隱蔽和局部化
信息隱蔽是指一個(gè)模塊將自身的內(nèi)部信息向其他模塊隱藏,以避免其他模塊不恰當(dāng)?shù)脑L問和修改。只有那些為了完成系統(tǒng)功能不可或缺的數(shù)據(jù)交換才被允許在模塊間進(jìn)行。
4.模塊獨(dú)立性
模塊獨(dú)立性是指軟件系統(tǒng)中每個(gè)模塊只涉及軟件要求的具體子功能。它具有如下優(yōu)點(diǎn)。具有獨(dú)立模塊的軟件比較容易開發(fā)。這是由于能夠分割功能而且接口可以簡化。當(dāng)許多人分工合作開發(fā)同一個(gè)軟件時(shí),這個(gè)優(yōu)點(diǎn)尤其重要。
獨(dú)立的模塊比較容易測試和維護(hù)。這是因?yàn)樾薷脑O(shè)計(jì)和程序的工作量相對較小,錯(cuò)誤傳播范圍小,需要擴(kuò)充功能時(shí)只需調(diào)用模塊。
模塊的獨(dú)立程度可以由耦合和內(nèi)聚兩個(gè)定性標(biāo)準(zhǔn)度量,具體如下所示。
(1)耦合
耦合是對一個(gè)軟件結(jié)構(gòu)內(nèi)各個(gè)模塊之間互連程度的度量。耦合強(qiáng)弱取決于模塊間接口的復(fù)
雜程度、調(diào)用模塊的方式,以及通過接口的信息。
根據(jù)耦合程度由弱到強(qiáng),可以將耦合分為以下幾種:
y 非直接耦合;
y 數(shù)據(jù)耦合;
y 控制耦合;
y 公共環(huán)境耦合;
y 內(nèi)容耦合;
y 標(biāo)記耦合;
y 外部耦合。
總之,耦合是影響軟件復(fù)雜程度的一個(gè)重要因素。通常采用的原則是:盡量使用數(shù)據(jù)耦合,
少用控制耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合。
(2)內(nèi)聚
內(nèi)聚標(biāo)志一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度,它是信息隱蔽和局部化概念的自然擴(kuò)
展。理想內(nèi)聚的模塊只做一件事情。
根據(jù)內(nèi)聚程度由低到高,可以將內(nèi)聚分為以下幾種:
y 偶然內(nèi)聚;
y 邏輯內(nèi)聚;
y 時(shí)間內(nèi)聚;
y 過程內(nèi)聚;
y 通信內(nèi)聚;
y 信息內(nèi)聚;
y 功能內(nèi)聚。