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