一般功能模塊具有單一入口和單一出口,并作為程序的一部分順序地執(zhí)行,有時(shí),也需要更為復(fù)雜的控制方式,如可重入功能模塊。這種功能模塊不以任何方式修改它自己或它所訪問(wèn)的局部地址,從而這樣的功能模塊就可以同時(shí)被幾個(gè)任務(wù)使用。
4)結(jié)構(gòu)分類
在軟件結(jié)構(gòu)中,功能模塊可以分為以下幾類:
順序功能模塊:它在沒(méi)有明顯中斷情況下被應(yīng)用軟件調(diào)用和執(zhí)行。
增量功能模塊:它在調(diào)用結(jié)束之前可以被應(yīng)用程序中斷,然后在中斷點(diǎn)重新啟動(dòng)。
并行功能模塊:它在并行多處理機(jī)環(huán)境中與別的功能模塊同時(shí)執(zhí)行。
設(shè)計(jì)要素
1.提高功能模塊獨(dú)立性
在得到軟件結(jié)構(gòu)之后,就應(yīng)首先著眼于改善功能模塊的獨(dú)立性,考驗(yàn)是否應(yīng)該把一些功能模塊提取或合并,力求降低耦合提高內(nèi)聚。例如,多個(gè)功能模塊共有的一個(gè)子功能可以獨(dú)立成一個(gè)功能模塊,由這些功能模塊調(diào)用,有時(shí)可以通過(guò)分解或合并功能模塊以減少控制信息的傳遞及對(duì)全局?jǐn)?shù)據(jù)的引用,并且降低接口的復(fù)雜度。