產(chǎn)地類別 | 進(jìn)口 | 應(yīng)用領(lǐng)域 | 化工,地礦,能源,電子,紡織皮革 |
---|
化是將程序劃分成若干個(gè)功能模塊,每個(gè)功能模塊完成了一個(gè)子功能,再把這些功能模塊總起來組成一個(gè)整體。以滿足所要求的整個(gè)系統(tǒng)
的功能。
參考價(jià) | 面議 |
更新時(shí)間:2021-04-17 13:03:27瀏覽次數(shù):283
聯(lián)系我們時(shí)請(qǐng)說明是化工儀器網(wǎng)上看到的信息,謝謝!
電源模塊具有單一入口和單一出口,并作為程序的一部分順序地執(zhí)行,有時(shí),也需要更為復(fù)雜的控制方式,如可重入功能模塊。這種功能模塊不以任何方式修改它自己或它所訪問的局部地址,從而這樣的功能模塊就可以同時(shí)被幾個(gè)任務(wù)使用。
4)結(jié)構(gòu)分類
在軟件結(jié)構(gòu)中,功能模塊可以分為以下幾類:
順序功能模塊:它在沒有明顯中斷情況下被應(yīng)用軟件調(diào)用和執(zhí)行。
增量功能模塊:它在調(diào)用結(jié)束之前可以被應(yīng)用程序中斷,然后在中斷點(diǎn)重新啟動(dòng)。
并行功能模塊:它在并行多處理機(jī)環(huán)境中與別的功能模塊同時(shí)執(zhí)行。 [2]
設(shè)計(jì)要素編輯
1.提高功能模塊獨(dú)立性
在得到軟件結(jié)構(gòu)之后,就應(yīng)首先著眼于改善功能模塊的獨(dú)立性,考驗(yàn)是否應(yīng)該把一些功能模塊提取或合并,力求降低耦合提高內(nèi)聚。例如,多個(gè)功能模塊共有的一個(gè)子功能可以獨(dú)立成一個(gè)功能模塊,由這些功能模塊調(diào)用,有時(shí)可以通過分解或合并功能模塊以減少控制信息的傳遞及對(duì)全局?jǐn)?shù)據(jù)的引用,并且降低接口的復(fù)雜度。
2.功能模塊規(guī)模適度
經(jīng)驗(yàn)表明,當(dāng)功能模塊過大時(shí),功能模塊的可理解性就會(huì)迅速下降。但是對(duì)過大的功能模塊分解時(shí),也不應(yīng)降低功能模塊的獨(dú)立性。因?yàn)楫?dāng)對(duì)一個(gè)大的功能模塊分解時(shí),有可能增加功能模塊之間的依賴。
3.深度、寬度、扇出和扇入要適當(dāng)
如果深度過大則說明有的控制模塊可能簡(jiǎn)單了。如果寬度過大則說明系統(tǒng)的控制過于集中。而扇出過大則意味著功能模塊過于復(fù)雜,需要控制和協(xié)調(diào)過多的下級(jí)模塊,這時(shí)應(yīng)適當(dāng)?shù)卦黾又虚g層次,扇出太小則可以把下級(jí)模塊進(jìn)一步分解成若干個(gè)子功能模塊,或者合并到上級(jí)功能模塊中去。一個(gè)功能模塊的扇入是表明有多少個(gè)上級(jí)功能模塊直接調(diào)用它,扇入越大則共享該模塊的上級(jí)模塊數(shù)目越多,這是有好處的。
4.要使模塊的作用范圍保持在該模塊的控制范圍內(nèi)
功能模塊的作用范圍是指受該功能模塊內(nèi)一個(gè)判定影響的所有功能模塊的集合。功能模塊的控制范圍是指這個(gè)功能模塊本身以及所有直接或間接從屬于它的功能模塊的集合。在一個(gè)設(shè)計(jì)得很好的系統(tǒng)中,所有受判定影響的功能模塊應(yīng)該都從屬于作出判定的那個(gè)功能模塊,局限于做出判定的那個(gè)功能模塊本身及它的直接下級(jí)模塊。對(duì)于那些不滿足這一條件的軟件結(jié)構(gòu)修改的辦法是:將判定點(diǎn)上移或者將那些在作用范圍內(nèi)但是不在控制范圍內(nèi)的功能模塊移植到控制范圍內(nèi)。
5.應(yīng)減少功能模塊的接口的復(fù)雜性和冗余度,并改善一致性
功能模塊接口復(fù)雜是軟件發(fā)生錯(cuò)誤的一個(gè)主要原因。應(yīng)該仔細(xì)設(shè)計(jì)模塊接口,使得信息傳遞簡(jiǎn)單并且和模塊的功能一致。
6.設(shè)計(jì)成單入口、單出口的功能模塊,避免病態(tài)連接
要防止內(nèi)容耦合性,如果功能模塊都是從頂部入口、從底部出口的話,這樣的軟件也更易于理解和易于維護(hù)。病態(tài)連接關(guān)系是指從中部進(jìn)入或訪問一個(gè)模塊。
7.電源模塊的功能可預(yù)測(cè)
如果一個(gè)功能模塊可以當(dāng)做一個(gè)黑箱,即只要輸入的數(shù)據(jù)相同就產(chǎn)生同樣的輸出,這個(gè)模塊的功能就是可以預(yù)測(cè)的。而那些具有內(nèi)部記憶的功能模塊則可能是不可預(yù)知的,因?yàn)樗赡苡涊d了某個(gè)內(nèi)部標(biāo)志并且利用這個(gè)標(biāo)志去選擇處理方案。由于這個(gè)標(biāo)志對(duì)上級(jí)功能模塊來說是看不見的,因而可能引起混亂。
8.組裝軟件根據(jù)設(shè)計(jì)的約束和移植的需要
組裝是指用來把軟件組合起來,以便把軟件放入特定的處理環(huán)境或送往其他的地方。有時(shí),設(shè)計(jì)約束要求一個(gè)程序要在內(nèi)存中覆蓋自己。如果有這種要求的話,原設(shè)計(jì)結(jié)構(gòu)就可能必須重新組織以便按照重復(fù)的次數(shù)、存取的頻率以及各次調(diào)用之間的間隔來把功能模塊組合起來。